From 2d4cc64cead0bd0c85157463263717d864dc62cd Mon Sep 17 00:00:00 2001 From: Greg Leonard <45019882+greg-el@users.noreply.github.com> Date: Wed, 19 Jan 2022 18:34:29 +0000 Subject: [PATCH 001/449] Fix YouTube plugin throwing errors on calling player methods (close #1043) --- .github/workflows/build.yml | 1 + .github/workflows/change_check.yml | 3 ++ .github/workflows/publish.yml | 1 + .github/workflows/publish_prerelease.yml | 1 + ...steners-from-onready_2022-01-24-12-36.json | 10 ++++ ...steners-from-onready_2022-01-24-12-36.json | 10 ++++ .../src/constants.ts | 2 - .../src/index.ts | 52 +++++++++++-------- .../test/youtube.test.ts | 11 +--- .../test/integration/youtube.test.ts | 4 +- 10 files changed, 59 insertions(+), 36 deletions(-) create mode 100644 common/changes/@snowplow/browser-plugin-youtube-tracking/add-listeners-from-onready_2022-01-24-12-36.json create mode 100644 common/changes/@snowplow/javascript-tracker/add-listeners-from-onready_2022-01-24-12-36.json diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4f7307a6a..9c451789d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -12,6 +12,7 @@ jobs: env: SAUCE_USERNAME: ${{ secrets.SAUCE_USERNAME }} SAUCE_ACCESS_KEY: ${{ secrets.SAUCE_ACCESS_KEY }} + BROWSERSLIST_IGNORE_OLD_DATA: true steps: - name: Checkout diff --git a/.github/workflows/change_check.yml b/.github/workflows/change_check.yml index f2a68595a..0f2f7e31c 100644 --- a/.github/workflows/change_check.yml +++ b/.github/workflows/change_check.yml @@ -6,6 +6,9 @@ jobs: check: runs-on: ubuntu-20.04 + env: + BROWSERSLIST_IGNORE_OLD_DATA: true + steps: - name: Checkout uses: actions/checkout@v2 diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index ddb8c116c..72acc66e8 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -13,6 +13,7 @@ jobs: env: NPM_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} + BROWSERSLIST_IGNORE_OLD_DATA: true steps: - name: Checkout diff --git a/.github/workflows/publish_prerelease.yml b/.github/workflows/publish_prerelease.yml index 50057d177..1249ca270 100644 --- a/.github/workflows/publish_prerelease.yml +++ b/.github/workflows/publish_prerelease.yml @@ -13,6 +13,7 @@ jobs: env: NPM_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} + BROWSERSLIST_IGNORE_OLD_DATA: true steps: - name: Checkout diff --git a/common/changes/@snowplow/browser-plugin-youtube-tracking/add-listeners-from-onready_2022-01-24-12-36.json b/common/changes/@snowplow/browser-plugin-youtube-tracking/add-listeners-from-onready_2022-01-24-12-36.json new file mode 100644 index 000000000..821c8f781 --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-youtube-tracking/add-listeners-from-onready_2022-01-24-12-36.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-youtube-tracking", + "comment": "Fix YouTube plugin throwing errors on calling player methods (#1043)", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-youtube-tracking" +} \ No newline at end of file diff --git a/common/changes/@snowplow/javascript-tracker/add-listeners-from-onready_2022-01-24-12-36.json b/common/changes/@snowplow/javascript-tracker/add-listeners-from-onready_2022-01-24-12-36.json new file mode 100644 index 000000000..fad1a1da3 --- /dev/null +++ b/common/changes/@snowplow/javascript-tracker/add-listeners-from-onready_2022-01-24-12-36.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/javascript-tracker", + "comment": "Fix YouTube plugin throwing errors on calling player methods (#1043)", + "type": "none" + } + ], + "packageName": "@snowplow/javascript-tracker" +} \ No newline at end of file diff --git a/plugins/browser-plugin-youtube-tracking/src/constants.ts b/plugins/browser-plugin-youtube-tracking/src/constants.ts index a72fe7cde..c9c131aa8 100644 --- a/plugins/browser-plugin-youtube-tracking/src/constants.ts +++ b/plugins/browser-plugin-youtube-tracking/src/constants.ts @@ -9,7 +9,6 @@ export enum YTPlayerEvent { ONERROR = 'onError', ONAPICHANGE = 'onApiChange', ONPLAYBACKRATECHANGE = 'onPlaybackRateChange', - ONREADY = 'onReady', } export const YTStateEvent: Record = { @@ -22,7 +21,6 @@ export const YTStateEvent: Record = { }; export const CaptureEventToYouTubeEvent: Record = { - ready: YTPlayerEvent.ONREADY, playbackratechange: YTPlayerEvent.ONPLAYBACKRATECHANGE, playbackqualitychange: YTPlayerEvent.ONPLAYBACKQUALITYCHANGE, error: YTPlayerEvent.ONERROR, diff --git a/plugins/browser-plugin-youtube-tracking/src/index.ts b/plugins/browser-plugin-youtube-tracking/src/index.ts index 4ed5bb875..0dea694be 100644 --- a/plugins/browser-plugin-youtube-tracking/src/index.ts +++ b/plugins/browser-plugin-youtube-tracking/src/index.ts @@ -80,17 +80,17 @@ export function enableYouTubeTracking(args: { id: string; options?: MediaTrackin // If the API is ready, we can immediately add the listeners if (typeof YT !== 'undefined' && typeof YT.Player !== 'undefined') { - addListeners(conf); + initialisePlayer(conf); } else { // If not, we put them into a queue that will have listeners added once the API is ready // and start trying to load the iframe API trackingQueue.push(conf); - handleYouTubeIframeAPI(); + handleYouTubeIframeAPI(conf); } } let iframeAPIRetryWait = 100; -function handleYouTubeIframeAPI() { +function handleYouTubeIframeAPI(conf: TrackingOptions) { // First we check if the script tag exists in the DOM, and enable the API if not const scriptTags = Array.prototype.slice.call(document.getElementsByTagName('script')); if (!scriptTags.some((s) => s.src === YouTubeIFrameAPIURL)) { @@ -107,7 +107,9 @@ function handleYouTubeIframeAPI() { // so we need to wait until 'YT' is defined to then check 'YT.Player' if (typeof YT === 'undefined' || typeof YT.Player === 'undefined') { if (iframeAPIRetryWait <= 6400) { - setTimeout(handleYouTubeIframeAPI, iframeAPIRetryWait); + setTimeout(() => { + handleYouTubeIframeAPI(conf); + }, iframeAPIRetryWait); iframeAPIRetryWait *= 2; } else { LOG.error('YouTube iframe API failed to load.'); @@ -115,14 +117,30 @@ function handleYouTubeIframeAPI() { } else { // Once the API is avaliable, listeners are attached to anything sitting in the queue while (trackingQueue.length) { - addListeners(trackingQueue.pop()!); + initialisePlayer(trackingQueue.pop()!); } } } -function addListeners(conf: TrackingOptions) { +function initialisePlayer(conf: TrackingOptions) { + trackedPlayers[conf.mediaId] = { + player: new YT.Player(conf.mediaId, { events: { onReady: (e: YT.PlayerEvent) => playerReady(e, conf) } }), + conf: conf, + seekTracking: { + prevTime: 0, + enabled: false, + }, + volumeTracking: { + prevVolume: 0, + enabled: false, + }, + }; +} + +function playerReady(event: YT.PlayerEvent, conf: TrackingOptions) { + const player: YT.Player = event.target; + const builtInEvents: Record = { - [YTPlayerEvent.ONREADY]: () => youtubeEvent(trackedPlayers[conf.mediaId].player, YTEvent.READY, conf), [YTPlayerEvent.ONSTATECHANGE]: (e: YT.OnStateChangeEvent) => { if (conf.captureEvents.indexOf(YTStateEvent[e.data.toString()]) !== -1) { youtubeEvent(trackedPlayers[conf.mediaId].player, YTStateEvent[e.data], conf); @@ -137,23 +155,11 @@ function addListeners(conf: TrackingOptions) { youtubeEvent(trackedPlayers[conf.mediaId].player, YTEvent.PLAYBACKRATECHANGE, conf), }; - const playerEvents: Record = {}; - conf.youtubeEvents.forEach((e) => { - playerEvents[e] = builtInEvents[e]; + conf.youtubeEvents.forEach((youtubeEventName) => { + player.addEventListener(youtubeEventName, (eventData: YT.PlayerEvent) => + builtInEvents[youtubeEventName](eventData) + ); }); - - trackedPlayers[conf.mediaId] = { - player: new YT.Player(conf.mediaId, { events: { ...playerEvents } }), - conf: conf, - seekTracking: { - prevTime: 0, - enabled: false, - }, - volumeTracking: { - prevVolume: 0, - enabled: false, - }, - }; } function youtubeEvent(player: YT.Player, eventName: string, conf: TrackingOptions, eventData?: EventData) { diff --git a/plugins/browser-plugin-youtube-tracking/test/youtube.test.ts b/plugins/browser-plugin-youtube-tracking/test/youtube.test.ts index d7e0f0d63..2c307a8d0 100644 --- a/plugins/browser-plugin-youtube-tracking/test/youtube.test.ts +++ b/plugins/browser-plugin-youtube-tracking/test/youtube.test.ts @@ -84,17 +84,10 @@ describe('config parser', () => { it('parses youtube events', () => { let trackingOptions: MediaTrackingOptions = { - captureEvents: ['play', 'ready', 'error', 'playbackratechange', 'playbackqualitychange', 'apichange'], + captureEvents: ['play', 'error', 'playbackratechange', 'playbackqualitychange', 'apichange'], }; - let expectedOutput = [ - 'onStateChange', - 'onPlaybackQualityChange', - 'onError', - 'onPlaybackRateChange', - 'onReady', - 'onApiChange', - ]; + let expectedOutput = ['onStateChange', 'onPlaybackQualityChange', 'onError', 'onPlaybackRateChange', 'onApiChange']; expect(trackingOptionsParser(id, trackingOptions).youtubeEvents).toEqual(expectedOutput); }); diff --git a/trackers/javascript-tracker/test/integration/youtube.test.ts b/trackers/javascript-tracker/test/integration/youtube.test.ts index 080fffde6..92a1eafb6 100644 --- a/trackers/javascript-tracker/test/integration/youtube.test.ts +++ b/trackers/javascript-tracker/test/integration/youtube.test.ts @@ -156,14 +156,14 @@ describe('YouTube Tracker', () => { }, { interval: 5000, - timeout: 40000, + timeout: 60000, timeoutMsg: "No 'playbackqualitychange' event received", } ); function increaseSpeedIE() { if (browser.capabilities.browserName === 'internet explorer') { - let actions = Array(11).fill('Tab'); + let actions = Array(12).fill('Tab'); actions = actions.concat(['Space', 'ArrowDown', 'Space', 'ArrowDown', 'Space', 'Escape']); actions.forEach((a) => { browser.keys(a); From 4e8f0fc92e01865e19d8454ee4c773f4096db6da Mon Sep 17 00:00:00 2001 From: Greg Leonard <45019882+greg-el@users.noreply.github.com> Date: Wed, 26 Jan 2022 13:29:24 +0000 Subject: [PATCH 002/449] Fix 'paused' property never being true (close #1047) --- .../issue-1047_2022-01-27-12-22.json | 10 ++++++ .../issue-1047_2022-01-27-12-22.json | 10 ++++++ .../src/buildYouTubeEvent.ts | 33 +++++++++---------- .../test/integration/youtube.test.ts | 24 +++++--------- 4 files changed, 45 insertions(+), 32 deletions(-) create mode 100644 common/changes/@snowplow/browser-plugin-youtube-tracking/issue-1047_2022-01-27-12-22.json create mode 100644 common/changes/@snowplow/javascript-tracker/issue-1047_2022-01-27-12-22.json diff --git a/common/changes/@snowplow/browser-plugin-youtube-tracking/issue-1047_2022-01-27-12-22.json b/common/changes/@snowplow/browser-plugin-youtube-tracking/issue-1047_2022-01-27-12-22.json new file mode 100644 index 000000000..fda5ad983 --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-youtube-tracking/issue-1047_2022-01-27-12-22.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-youtube-tracking", + "comment": "Fix 'paused' property never being true (#1047)", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-youtube-tracking" +} \ No newline at end of file diff --git a/common/changes/@snowplow/javascript-tracker/issue-1047_2022-01-27-12-22.json b/common/changes/@snowplow/javascript-tracker/issue-1047_2022-01-27-12-22.json new file mode 100644 index 000000000..b2c2c21ad --- /dev/null +++ b/common/changes/@snowplow/javascript-tracker/issue-1047_2022-01-27-12-22.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/javascript-tracker", + "comment": "Fix 'paused' property never being true (#1047)", + "type": "none" + } + ], + "packageName": "@snowplow/javascript-tracker" +} \ No newline at end of file diff --git a/plugins/browser-plugin-youtube-tracking/src/buildYouTubeEvent.ts b/plugins/browser-plugin-youtube-tracking/src/buildYouTubeEvent.ts index 63c4bc1c9..1050ae494 100644 --- a/plugins/browser-plugin-youtube-tracking/src/buildYouTubeEvent.ts +++ b/plugins/browser-plugin-youtube-tracking/src/buildYouTubeEvent.ts @@ -1,7 +1,6 @@ import { MediaPlayerEvent, YouTube } from './contexts'; import { SnowplowEvent } from './snowplowEvents'; import { EventData, MediaEntities, SnowplowMediaPlayer, TrackingOptions, UrlParameters } from './types'; -import { YTStateEvent } from './constants'; export function buildYouTubeEvent(player: YT.Player, eventName: string, conf: TrackingOptions, eventData?: EventData) { const data: MediaPlayerEvent = { type: eventName }; @@ -21,27 +20,27 @@ export function buildYouTubeEvent(player: YT.Player, eventName: string, conf: Tr function getYouTubeEntities(player: YT.Player, urlParameters: UrlParameters, eventData?: EventData): MediaEntities { const spherical: YT.SphericalProperties = player.getSphericalProperties(); - const playerStates: Record = { - buffering: false, - cued: false, - unstarted: false, + const playerStates: Record = { + [YT.PlayerState.BUFFERING]: false, + [YT.PlayerState.CUED]: false, + [YT.PlayerState.UNSTARTED]: false, }; const state = player.getPlayerState(); - if (playerStates.hasOwnProperty(YTStateEvent[state])) { - playerStates[YTStateEvent[state]] = true; + if (state in playerStates) { + playerStates[state] = true; } let data: YouTube = { autoPlay: urlParameters.autoplay === '1', avaliablePlaybackRates: player.getAvailablePlaybackRates(), - buffering: playerStates.buffering, + buffering: playerStates[YT.PlayerState.BUFFERING], controls: urlParameters.controls !== '0', - cued: playerStates.cued, + cued: playerStates[YT.PlayerState.CUED], loaded: parseInt(String(player.getVideoLoadedFraction() * 100)), playbackQuality: player.getPlaybackQuality(), playerId: player.getIframe().id, - unstarted: playerStates.unstarted, + unstarted: playerStates[YT.PlayerState.UNSTARTED], url: player.getVideoUrl(), }; @@ -72,23 +71,23 @@ function getMediaPlayerEntities( urlParameters: UrlParameters, eventData?: EventData ): MediaEntities { - const playerStates: Record = { - ended: false, - paused: false, + const playerStates: Record = { + [YT.PlayerState.ENDED]: false, + [YT.PlayerState.PAUSED]: false, }; const state = player.getPlayerState(); - if (playerStates.hasOwnProperty(YTStateEvent[state])) { - playerStates[YTStateEvent[state]] = true; + if (state in playerStates) { + playerStates[state] = true; } const data: SnowplowMediaPlayer = { currentTime: player.getCurrentTime(), duration: player.getDuration(), - ended: playerStates.ended, + ended: playerStates[YT.PlayerState.ENDED], loop: urlParameters.loop === '1', muted: player.isMuted(), - paused: playerStates.paused, + paused: playerStates[YT.PlayerState.PAUSED], playbackRate: player.getPlaybackRate(), volume: player.getVolume(), }; diff --git a/trackers/javascript-tracker/test/integration/youtube.test.ts b/trackers/javascript-tracker/test/integration/youtube.test.ts index 92a1eafb6..307f78db0 100644 --- a/trackers/javascript-tracker/test/integration/youtube.test.ts +++ b/trackers/javascript-tracker/test/integration/youtube.test.ts @@ -161,20 +161,8 @@ describe('YouTube Tracker', () => { } ); - function increaseSpeedIE() { - if (browser.capabilities.browserName === 'internet explorer') { - let actions = Array(12).fill('Tab'); - actions = actions.concat(['Space', 'ArrowDown', 'Space', 'ArrowDown', 'Space', 'Escape']); - actions.forEach((a) => { - browser.keys(a); - browser.pause(100); - }); - } - } - const events = [ () => player.keys(['Shift', '.', 'Shift']), // Increase playback rate - increaseSpeedIE, () => player.keys(['ArrowRight']), // Seek () => player.keys(['ArrowDown']), // Volume down () => player.keys(['k']), // Pause @@ -217,13 +205,19 @@ describe('YouTube Tracker', () => { playbackqualitychange: {}, play: {}, playbackratechange: {}, - seek: {}, - volumechange: { mediaPlayer: {} }, - pause: { mediaPlayer: {} }, + seek: { mediaPlayer: { paused: jasmine.any(Boolean) } }, + volumechange: { mediaPlayer: { paused: jasmine.any(Boolean) } }, + pause: { mediaPlayer: { paused: true } }, ended: { mediaPlayer: { ended: true } }, }; Object.entries(expected).forEach(([name, properties]) => { + if (browser.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 + } it('tracks ' + name, () => { const expected = makeExpectedEvent(name, properties); const received = getFirstEventOfEventType(name); From 456d67f9f8a5866e39bacb832255c114e33578f0 Mon Sep 17 00:00:00 2001 From: Greg Leonard <45019882+greg-el@users.noreply.github.com> Date: Thu, 27 Jan 2022 11:17:10 +0000 Subject: [PATCH 003/449] Add ready to DefaultEvents (close #1049) --- .../issue-1049_2022-01-27-12-57.json | 10 ++++++++++ .../issue-1049_2022-01-27-12-57.json | 10 ++++++++++ .../browser-plugin-youtube-tracking/src/eventGroups.ts | 1 + plugins/browser-plugin-youtube-tracking/src/index.ts | 4 ++++ .../test/integration/youtube.test.ts | 3 ++- 5 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 common/changes/@snowplow/browser-plugin-youtube-tracking/issue-1049_2022-01-27-12-57.json create mode 100644 common/changes/@snowplow/javascript-tracker/issue-1049_2022-01-27-12-57.json diff --git a/common/changes/@snowplow/browser-plugin-youtube-tracking/issue-1049_2022-01-27-12-57.json b/common/changes/@snowplow/browser-plugin-youtube-tracking/issue-1049_2022-01-27-12-57.json new file mode 100644 index 000000000..5f5c970ad --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-youtube-tracking/issue-1049_2022-01-27-12-57.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-youtube-tracking", + "comment": "Add `ready` to YouTube Plugin DefaultEvents (#1049)", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-youtube-tracking" +} \ No newline at end of file diff --git a/common/changes/@snowplow/javascript-tracker/issue-1049_2022-01-27-12-57.json b/common/changes/@snowplow/javascript-tracker/issue-1049_2022-01-27-12-57.json new file mode 100644 index 000000000..c0a6a783c --- /dev/null +++ b/common/changes/@snowplow/javascript-tracker/issue-1049_2022-01-27-12-57.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/javascript-tracker", + "comment": "Add `ready` to YouTube Plugin DefaultEvents (#1049)", + "type": "none" + } + ], + "packageName": "@snowplow/javascript-tracker" +} \ No newline at end of file diff --git a/plugins/browser-plugin-youtube-tracking/src/eventGroups.ts b/plugins/browser-plugin-youtube-tracking/src/eventGroups.ts index 3fd4451ba..b94d7d118 100644 --- a/plugins/browser-plugin-youtube-tracking/src/eventGroups.ts +++ b/plugins/browser-plugin-youtube-tracking/src/eventGroups.ts @@ -10,6 +10,7 @@ export const AllEvents: EventGroup = [ ]; export const DefaultEvents: EventGroup = [ + YTEvent.READY, YTState.PAUSED, YTState.PLAYING, YTState.ENDED, diff --git a/plugins/browser-plugin-youtube-tracking/src/index.ts b/plugins/browser-plugin-youtube-tracking/src/index.ts index 0dea694be..c81de33a4 100644 --- a/plugins/browser-plugin-youtube-tracking/src/index.ts +++ b/plugins/browser-plugin-youtube-tracking/src/index.ts @@ -160,6 +160,10 @@ function playerReady(event: YT.PlayerEvent, conf: TrackingOptions) { builtInEvents[youtubeEventName](eventData) ); }); + + if (conf.captureEvents.indexOf(YTEvent.READY) !== -1) { + youtubeEvent(player, YTEvent.READY, conf); + } } function youtubeEvent(player: YT.Player, eventName: string, conf: TrackingOptions, eventData?: EventData) { diff --git a/trackers/javascript-tracker/test/integration/youtube.test.ts b/trackers/javascript-tracker/test/integration/youtube.test.ts index 307f78db0..544743712 100644 --- a/trackers/javascript-tracker/test/integration/youtube.test.ts +++ b/trackers/javascript-tracker/test/integration/youtube.test.ts @@ -40,7 +40,7 @@ const makeExpectedEvent = ( { schema: 'iglu:com.youtube/youtube/jsonschema/1-0-0', data: { - playbackQuality: jasmine.stringMatching(/small|medium|large|hd720|hd1080|highres|auto/), + playbackQuality: jasmine.stringMatching(/small|medium|large|hd720|hd1080|highres|auto|unknown/), cued: false, playerId: playerId, autoPlay: false, @@ -202,6 +202,7 @@ describe('YouTube Tracker', () => { }); const expected = { + ready: { youtube: { cued: true } }, playbackqualitychange: {}, play: {}, playbackratechange: {}, From 0f9c8e9f33a4f48f816d26aef456e7183b10e34c Mon Sep 17 00:00:00 2001 From: Greg Leonard <45019882+greg-el@users.noreply.github.com> Date: Thu, 27 Jan 2022 17:55:18 +0000 Subject: [PATCH 004/449] Add ready Media Plugin DefaultEvents (close #1053) --- .../issue-1053_2022-01-28-11-17.json | 10 ++++++++++ .../issue-1053_2022-01-28-11-17.json | 10 ++++++++++ .../browser-plugin-media-tracking/src/eventGroups.ts | 1 + plugins/browser-plugin-media-tracking/src/index.ts | 3 +++ .../browser-plugin-media-tracking/src/mediaEvents.ts | 1 + .../javascript-tracker/test/integration/media.test.ts | 4 ++++ 6 files changed, 29 insertions(+) create mode 100644 common/changes/@snowplow/browser-plugin-media-tracking/issue-1053_2022-01-28-11-17.json create mode 100644 common/changes/@snowplow/javascript-tracker/issue-1053_2022-01-28-11-17.json diff --git a/common/changes/@snowplow/browser-plugin-media-tracking/issue-1053_2022-01-28-11-17.json b/common/changes/@snowplow/browser-plugin-media-tracking/issue-1053_2022-01-28-11-17.json new file mode 100644 index 000000000..93b903ecf --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-media-tracking/issue-1053_2022-01-28-11-17.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-media-tracking", + "comment": "Add ready to Media Plugin DefaultEvents (#1053)", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-media-tracking" +} \ No newline at end of file diff --git a/common/changes/@snowplow/javascript-tracker/issue-1053_2022-01-28-11-17.json b/common/changes/@snowplow/javascript-tracker/issue-1053_2022-01-28-11-17.json new file mode 100644 index 000000000..ac9d1e5bb --- /dev/null +++ b/common/changes/@snowplow/javascript-tracker/issue-1053_2022-01-28-11-17.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/javascript-tracker", + "comment": "Add ready to Media Plugin DefaultEvents (#1053)", + "type": "none" + } + ], + "packageName": "@snowplow/javascript-tracker" +} \ No newline at end of file diff --git a/plugins/browser-plugin-media-tracking/src/eventGroups.ts b/plugins/browser-plugin-media-tracking/src/eventGroups.ts index 19253e895..df5fdcc6e 100644 --- a/plugins/browser-plugin-media-tracking/src/eventGroups.ts +++ b/plugins/browser-plugin-media-tracking/src/eventGroups.ts @@ -12,6 +12,7 @@ export const AllEvents: EventGroup = [ ]; export const DefaultEvents: EventGroup = [ + SnowplowEvent.READY, MediaEvent.PAUSE, MediaEvent.PLAY, MediaEvent.SEEKED, diff --git a/plugins/browser-plugin-media-tracking/src/index.ts b/plugins/browser-plugin-media-tracking/src/index.ts index eddbd9d4e..f23f94246 100644 --- a/plugins/browser-plugin-media-tracking/src/index.ts +++ b/plugins/browser-plugin-media-tracking/src/index.ts @@ -146,6 +146,9 @@ function addCaptureEventListeners( conf: TrackingOptions, eventHandlers: Record ): void { + if (conf.captureEvents.indexOf(SnowplowEvent.READY) !== -1) { + mediaPlayerEvent(SnowplowEvent.READY, el, conf); + } conf.captureEvents.forEach((e) => { if (isType(e, TextTrackEvent)) { // IE10 doesn't support addEventListener for TextTrack objects diff --git a/plugins/browser-plugin-media-tracking/src/mediaEvents.ts b/plugins/browser-plugin-media-tracking/src/mediaEvents.ts index a44628957..cc951fca6 100644 --- a/plugins/browser-plugin-media-tracking/src/mediaEvents.ts +++ b/plugins/browser-plugin-media-tracking/src/mediaEvents.ts @@ -44,4 +44,5 @@ export const DocumentEvent = { export const SnowplowEvent = { PERCENTPROGRESS: 'percentprogress', + READY: 'ready', }; diff --git a/trackers/javascript-tracker/test/integration/media.test.ts b/trackers/javascript-tracker/test/integration/media.test.ts index eee88eb5d..f4796be0d 100644 --- a/trackers/javascript-tracker/test/integration/media.test.ts +++ b/trackers/javascript-tracker/test/integration/media.test.ts @@ -221,6 +221,10 @@ describe('Media Tracker', () => { }); const expected = { + ready: { + mediaPlayer: { paused: true, duration: jasmine.any(Number) }, + videoElement: { videoHeight: jasmine.any(Number), videoWidth: jasmine.any(Number) }, + }, play: {}, pause: { mediaPlayer: { paused: true } }, volumechange: { mediaPlayer: { paused: true, volume: 50 } }, From 7c44f049ac0b50c65a06d92ca0346612574b9799 Mon Sep 17 00:00:00 2001 From: Greg Leonard <45019882+greg-el@users.noreply.github.com> Date: Fri, 21 Jan 2022 15:24:57 +0000 Subject: [PATCH 005/449] Fix options.boundaries not being respected (close #1044) --- .../issue-1044_2022-01-28-11-28.json | 10 +++ .../issue-1044_2022-01-28-11-28.json | 10 +++ .../src/helperFunctions.ts | 59 ------------ .../src/index.ts | 89 ++++++++++++++++--- .../test/youtube.test.ts | 5 +- .../test/integration/youtube.test.ts | 8 +- .../test/pages/youtube/tracking.html | 1 + 7 files changed, 105 insertions(+), 77 deletions(-) create mode 100644 common/changes/@snowplow/browser-plugin-youtube-tracking/issue-1044_2022-01-28-11-28.json create mode 100644 common/changes/@snowplow/javascript-tracker/issue-1044_2022-01-28-11-28.json diff --git a/common/changes/@snowplow/browser-plugin-youtube-tracking/issue-1044_2022-01-28-11-28.json b/common/changes/@snowplow/browser-plugin-youtube-tracking/issue-1044_2022-01-28-11-28.json new file mode 100644 index 000000000..2956832d9 --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-youtube-tracking/issue-1044_2022-01-28-11-28.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-youtube-tracking", + "comment": "Fix options.boundaries not being respected (#1044)", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-youtube-tracking" +} \ No newline at end of file diff --git a/common/changes/@snowplow/javascript-tracker/issue-1044_2022-01-28-11-28.json b/common/changes/@snowplow/javascript-tracker/issue-1044_2022-01-28-11-28.json new file mode 100644 index 000000000..cc14bfce8 --- /dev/null +++ b/common/changes/@snowplow/javascript-tracker/issue-1044_2022-01-28-11-28.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/javascript-tracker", + "comment": "Fix options.boundaries not being respected (#1044)", + "type": "none" + } + ], + "packageName": "@snowplow/javascript-tracker" +} \ No newline at end of file diff --git a/plugins/browser-plugin-youtube-tracking/src/helperFunctions.ts b/plugins/browser-plugin-youtube-tracking/src/helperFunctions.ts index 36d41a60f..3ba92ce33 100644 --- a/plugins/browser-plugin-youtube-tracking/src/helperFunctions.ts +++ b/plugins/browser-plugin-youtube-tracking/src/helperFunctions.ts @@ -1,8 +1,3 @@ -import { AllEvents, DefaultEvents, EventGroups } from './eventGroups'; -import { SnowplowEvent } from './snowplowEvents'; -import { EventGroup, MediaTrackingOptions, TrackingOptions } from './types'; -import { CaptureEventToYouTubeEvent, YTPlayerEvent } from './constants'; - export function isElementFullScreen(mediaId: string): boolean { if (document.fullscreenElement) { return document.fullscreenElement.id === mediaId; @@ -10,60 +5,6 @@ export function isElementFullScreen(mediaId: string): boolean { return false; } -export function trackingOptionsParser(mediaId: string, conf?: MediaTrackingOptions): TrackingOptions { - const defaults: TrackingOptions = { - mediaId: mediaId, - captureEvents: DefaultEvents, - youtubeEvents: [ - YTPlayerEvent.ONSTATECHANGE, - YTPlayerEvent.ONPLAYBACKQUALITYCHANGE, - YTPlayerEvent.ONERROR, - YTPlayerEvent.ONPLAYBACKRATECHANGE, - ], - updateRate: 500, - progress: { - boundaries: [10, 25, 50, 75], - boundaryTimeoutIds: [], - }, - }; - - if (!conf) return defaults; - - if (conf.updateRate) defaults.updateRate = conf.updateRate; - - if (conf.captureEvents) { - let parsedEvents: EventGroup = []; - for (let ev of conf.captureEvents) { - // If an event is an EventGroup, get the events from that group - if (EventGroups.hasOwnProperty(ev)) { - parsedEvents = parsedEvents.concat(EventGroups[ev]); - } else if (!Object.keys(AllEvents).filter((k) => k === ev)) { - console.warn(`'${ev}' is not a valid event.`); - } else { - parsedEvents.push(ev); - } - } - - conf.captureEvents = parsedEvents; - - for (let ev of conf.captureEvents) { - const youtubeEvent = CaptureEventToYouTubeEvent[ev]; - if (CaptureEventToYouTubeEvent.hasOwnProperty(ev) && defaults.youtubeEvents.indexOf(youtubeEvent) === -1) { - defaults.youtubeEvents.push(youtubeEvent); - } - } - - if (conf.captureEvents.indexOf(SnowplowEvent.PERCENTPROGRESS) !== -1) { - defaults.progress = { - boundaries: conf?.boundaries || defaults.progress!.boundaries, - boundaryTimeoutIds: [], - }; - } - } - - return { ...defaults, ...conf }; -} - // URLSearchParams is not supported in IE // https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams diff --git a/plugins/browser-plugin-youtube-tracking/src/index.ts b/plugins/browser-plugin-youtube-tracking/src/index.ts index c81de33a4..1475c9d6a 100644 --- a/plugins/browser-plugin-youtube-tracking/src/index.ts +++ b/plugins/browser-plugin-youtube-tracking/src/index.ts @@ -27,15 +27,23 @@ * 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 { trackingOptionsParser, addUrlParam, parseUrlParams } from './helperFunctions'; -import { YouTubeIFrameAPIURL, YTError, YTPlayerEvent, YTState, YTStateEvent } from './constants'; -import { EventData, MediaTrackingOptions, TrackedPlayer, TrackingOptions } from './types'; +import { addUrlParam, parseUrlParams } from './helperFunctions'; +import { + CaptureEventToYouTubeEvent, + YouTubeIFrameAPIURL, + YTError, + YTPlayerEvent, + YTState, + YTStateEvent, +} from './constants'; +import { EventData, EventGroup, MediaTrackingOptions, TrackedPlayer, TrackingOptions } from './types'; import { BrowserPlugin, BrowserTracker, dispatchToTrackersInCollection } from '@snowplow/browser-tracker-core'; import { buildSelfDescribingEvent, CommonEventProperties, Logger, SelfDescribingJson } from '@snowplow/tracker-core'; import { SnowplowEvent } from './snowplowEvents'; import { MediaPlayerEvent } from './contexts'; import { buildYouTubeEvent } from './buildYouTubeEvent'; import { YTEvent } from './youtubeEvents'; +import { DefaultEvents, EventGroups, AllEvents } from './eventGroups'; const _trackers: Record = {}; const trackedPlayers: Record = {}; @@ -62,6 +70,61 @@ function trackEvent( }); } +export function trackingOptionsParser(mediaId: string, conf?: MediaTrackingOptions): TrackingOptions { + const defaults: TrackingOptions = { + mediaId: mediaId, + captureEvents: DefaultEvents, + youtubeEvents: [ + YTPlayerEvent.ONSTATECHANGE, + YTPlayerEvent.ONPLAYBACKQUALITYCHANGE, + YTPlayerEvent.ONERROR, + YTPlayerEvent.ONPLAYBACKRATECHANGE, + ], + updateRate: 500, + progress: { + boundaries: [10, 25, 50, 75], + boundaryTimeoutIds: [], + }, + }; + + if (!conf) return defaults; + if (conf.label) defaults.label = conf.label; + defaults.updateRate = conf.updateRate || defaults.updateRate; + defaults.captureEvents = conf.captureEvents || defaults.captureEvents; + + let parsedEvents: EventGroup = []; + for (let ev of defaults.captureEvents) { + // If an event is an EventGroup, get the events from that group + if (EventGroups.hasOwnProperty(ev)) { + parsedEvents = parsedEvents.concat(EventGroups[ev]); + } else if (!Object.keys(AllEvents).filter((k) => k === ev)) { + LOG.warn(`'${ev}' is not a valid event.`); + } else { + parsedEvents.push(ev); + } + } + + defaults.captureEvents = parsedEvents; + + for (let ev of defaults.captureEvents) { + if ( + CaptureEventToYouTubeEvent.hasOwnProperty(ev) && + defaults.youtubeEvents.indexOf(CaptureEventToYouTubeEvent[ev]) === -1 + ) { + defaults.youtubeEvents.push(CaptureEventToYouTubeEvent[ev]); + } + } + + if (defaults.captureEvents.indexOf(SnowplowEvent.PERCENTPROGRESS) !== -1) { + defaults.progress = { + boundaries: conf.boundaries || defaults.progress!.boundaries, + boundaryTimeoutIds: [], + }; + } + + return defaults; +} + export function enableYouTubeTracking(args: { id: string; options?: MediaTrackingOptions }) { const conf: TrackingOptions = trackingOptionsParser(args.id, args.options); const el: HTMLIFrameElement = document.getElementById(args.id) as HTMLIFrameElement; @@ -175,7 +238,7 @@ function youtubeEvent(player: YT.Player, eventName: string, conf: TrackingOption enableVolumeTracking(player, conf, eventData); } - if (conf.hasOwnProperty('boundaries')) { + if (conf.captureEvents.indexOf(SnowplowEvent.PERCENTPROGRESS) !== -1) { progressHandler(player, eventName, conf); } @@ -198,15 +261,15 @@ function progressHandler(player: YT.Player, eventName: string, conf: TrackingOpt } function setPercentageBoundTimeouts(player: YT.Player, conf: TrackingOptions) { - const currentTime = player.getCurrentTime(); - conf.progress?.boundaries!.forEach((p) => { - let percentTime = player.getDuration() * 1000 * (p / 100); - if (currentTime !== 0) { - percentTime -= currentTime * 1000; - } - if (p < percentTime) { - conf.progress?.boundaryTimeoutIds.push( - setTimeout(() => waitAnyRemainingTimeAfterTimeout(player, conf, percentTime, p), percentTime) + conf.progress?.boundaries!.forEach((boundary) => { + const absoluteBoundaryTimeMs = player.getDuration() * (boundary / 100) * 1000; + const timeUntilBoundaryEvent = absoluteBoundaryTimeMs - player.getCurrentTime() * 1000; + if (0 < timeUntilBoundaryEvent) { + conf.progress!.boundaryTimeoutIds.push( + setTimeout( + () => waitAnyRemainingTimeAfterTimeout(player, conf, absoluteBoundaryTimeMs, boundary), + timeUntilBoundaryEvent + ) ); } }); diff --git a/plugins/browser-plugin-youtube-tracking/test/youtube.test.ts b/plugins/browser-plugin-youtube-tracking/test/youtube.test.ts index 2c307a8d0..9fb66f0a4 100644 --- a/plugins/browser-plugin-youtube-tracking/test/youtube.test.ts +++ b/plugins/browser-plugin-youtube-tracking/test/youtube.test.ts @@ -29,9 +29,10 @@ */ import { AllEvents, DefaultEvents } from '../src/eventGroups'; -import { addUrlParam, parseUrlParams, trackingOptionsParser } from '../src/helperFunctions'; +import { addUrlParam, parseUrlParams } from '../src/helperFunctions'; import { MediaTrackingOptions, TrackingOptions } from '../src/types'; import { YTPlayerEvent } from '../src/constants'; +import { trackingOptionsParser } from '../src'; describe('config parser', () => { const id = 'youtube'; @@ -56,7 +57,7 @@ describe('config parser', () => { expect(test).toEqual(default_output); }); - it('parses boundries', () => { + it('parses boundaries', () => { let trackingOptions: MediaTrackingOptions = { captureEvents: DefaultEvents, boundaries: [1, 4, 7, 9, 99], diff --git a/trackers/javascript-tracker/test/integration/youtube.test.ts b/trackers/javascript-tracker/test/integration/youtube.test.ts index 544743712..fcdde17dd 100644 --- a/trackers/javascript-tracker/test/integration/youtube.test.ts +++ b/trackers/javascript-tracker/test/integration/youtube.test.ts @@ -145,19 +145,20 @@ describe('YouTube Tracker', () => { const player = $('#youtube'); player.click(); // emits 'playbackqualitychange' and 'play'; + player.keys(Array(3).fill('ArrowRight')); // Skips to the point just before 'percentprogress' fires browser.waitUntil( () => { return browser.call(() => fetchResults(docker.url).then((result) => { - return result.length; + return result.some((r: any) => r.event.unstruct_event.data.data.type === 'percentprogress'); }) ); }, { interval: 5000, - timeout: 60000, - timeoutMsg: "No 'playbackqualitychange' event received", + timeout: 40000, + timeoutMsg: "No 'percentprogress' event received", } ); @@ -203,6 +204,7 @@ describe('YouTube Tracker', () => { const expected = { ready: { youtube: { cued: true } }, + percentprogress: {}, playbackqualitychange: {}, play: {}, playbackratechange: {}, diff --git a/trackers/javascript-tracker/test/pages/youtube/tracking.html b/trackers/javascript-tracker/test/pages/youtube/tracking.html index e9e111a8a..1aca8ce48 100644 --- a/trackers/javascript-tracker/test/pages/youtube/tracking.html +++ b/trackers/javascript-tracker/test/pages/youtube/tracking.html @@ -35,6 +35,7 @@ options: { label: 'test-label', captureEvents: ['DefaultEvents'], + boundaries: [1], }, }); From 5d71bea13d32ebf0768d5c669b714d2dcf144666 Mon Sep 17 00:00:00 2001 From: Greg Leonard <45019882+greg-el@users.noreply.github.com> Date: Mon, 31 Jan 2022 12:59:14 +0000 Subject: [PATCH 006/449] Fix YouTube Plugin enabling of seek/volume events (close #1058) --- .../issue-1058_2022-01-31-13-00.json | 10 ++++++++++ .../issue-1058_2022-01-31-13-00.json | 10 ++++++++++ plugins/browser-plugin-youtube-tracking/src/index.ts | 4 ++-- 3 files changed, 22 insertions(+), 2 deletions(-) create mode 100644 common/changes/@snowplow/browser-plugin-youtube-tracking/issue-1058_2022-01-31-13-00.json create mode 100644 common/changes/@snowplow/javascript-tracker/issue-1058_2022-01-31-13-00.json diff --git a/common/changes/@snowplow/browser-plugin-youtube-tracking/issue-1058_2022-01-31-13-00.json b/common/changes/@snowplow/browser-plugin-youtube-tracking/issue-1058_2022-01-31-13-00.json new file mode 100644 index 000000000..f5d9e382a --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-youtube-tracking/issue-1058_2022-01-31-13-00.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-youtube-tracking", + "comment": "Fix YouTube Plugin enabling of seek/volume events (#1058)", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-youtube-tracking" +} \ No newline at end of file diff --git a/common/changes/@snowplow/javascript-tracker/issue-1058_2022-01-31-13-00.json b/common/changes/@snowplow/javascript-tracker/issue-1058_2022-01-31-13-00.json new file mode 100644 index 000000000..b98ade3ec --- /dev/null +++ b/common/changes/@snowplow/javascript-tracker/issue-1058_2022-01-31-13-00.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/javascript-tracker", + "comment": "Fix YouTube Plugin enabling of seek/volume events (#1058)", + "type": "none" + } + ], + "packageName": "@snowplow/javascript-tracker" +} \ No newline at end of file diff --git a/plugins/browser-plugin-youtube-tracking/src/index.ts b/plugins/browser-plugin-youtube-tracking/src/index.ts index 1475c9d6a..4c88b50a9 100644 --- a/plugins/browser-plugin-youtube-tracking/src/index.ts +++ b/plugins/browser-plugin-youtube-tracking/src/index.ts @@ -231,10 +231,10 @@ function playerReady(event: YT.PlayerEvent, conf: TrackingOptions) { function youtubeEvent(player: YT.Player, eventName: string, conf: TrackingOptions, eventData?: EventData) { const playerInstance = trackedPlayers[conf.mediaId]; - if (!playerInstance.seekTracking.enabled && conf.captureEvents.indexOf('seek') !== 1) { + if (!playerInstance.seekTracking.enabled && conf.captureEvents.indexOf(SnowplowEvent.SEEK) !== -1) { enableSeekTracking(player, conf, eventData); } - if (!playerInstance.volumeTracking.enabled && conf.captureEvents.indexOf('volume') !== 1) { + if (!playerInstance.volumeTracking.enabled && conf.captureEvents.indexOf(SnowplowEvent.VOLUMECHANGE) !== -1) { enableVolumeTracking(player, conf, eventData); } From 4462b5fba3080e314c41893de09d38b4d673027d Mon Sep 17 00:00:00 2001 From: Greg Leonard <45019882+greg-el@users.noreply.github.com> Date: Fri, 28 Jan 2022 17:34:48 +0000 Subject: [PATCH 007/449] 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 3cf4f6c12..f2cdbc0f9 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 939e7b60be5faa489e462b20d8410e401f415593 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 31 Jan 2022 15:58:10 +0000 Subject: [PATCH 008/449] Deleting change files and updating change logs for package updates. --- .../issue-1053_2022-01-28-11-17.json | 10 ------- ...steners-from-onready_2022-01-24-12-36.json | 10 ------- .../issue-1044_2022-01-28-11-28.json | 10 ------- .../issue-1047_2022-01-27-12-22.json | 10 ------- .../issue-1049_2022-01-27-12-57.json | 10 ------- .../issue-1058_2022-01-31-13-00.json | 10 ------- ...steners-from-onready_2022-01-24-12-36.json | 10 ------- .../issue-1044_2022-01-28-11-28.json | 10 ------- .../issue-1047_2022-01-27-12-22.json | 10 ------- .../issue-1049_2022-01-27-12-57.json | 10 ------- .../issue-1053_2022-01-28-11-17.json | 10 ------- .../issue-1058_2022-01-31-13-00.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 ++++- .../browser-plugin-ad-tracking/CHANGELOG.json | 6 +++++ .../browser-plugin-ad-tracking/CHANGELOG.md | 7 ++++- .../CHANGELOG.json | 6 +++++ .../CHANGELOG.md | 7 ++++- .../CHANGELOG.json | 6 +++++ .../browser-plugin-client-hints/CHANGELOG.md | 7 ++++- plugins/browser-plugin-consent/CHANGELOG.json | 6 +++++ plugins/browser-plugin-consent/CHANGELOG.md | 7 ++++- .../browser-plugin-debugger/CHANGELOG.json | 6 +++++ plugins/browser-plugin-debugger/CHANGELOG.md | 7 ++++- .../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-form-tracking/CHANGELOG.md | 7 ++++- .../browser-plugin-ga-cookies/CHANGELOG.json | 6 +++++ .../browser-plugin-ga-cookies/CHANGELOG.md | 7 ++++- .../browser-plugin-geolocation/CHANGELOG.json | 6 +++++ .../browser-plugin-geolocation/CHANGELOG.md | 7 ++++- .../CHANGELOG.json | 6 +++++ .../CHANGELOG.md | 7 ++++- .../CHANGELOG.json | 12 +++++++++ .../CHANGELOG.md | 9 ++++++- .../CHANGELOG.json | 6 +++++ .../browser-plugin-optimizely-x/CHANGELOG.md | 7 ++++- .../browser-plugin-optimizely/CHANGELOG.json | 6 +++++ .../browser-plugin-optimizely/CHANGELOG.md | 7 ++++- .../CHANGELOG.json | 6 +++++ .../CHANGELOG.md | 7 ++++- .../CHANGELOG.json | 6 +++++ .../browser-plugin-site-tracking/CHANGELOG.md | 7 ++++- .../browser-plugin-timezone/CHANGELOG.json | 6 +++++ plugins/browser-plugin-timezone/CHANGELOG.md | 7 ++++- .../CHANGELOG.json | 24 +++++++++++++++++ .../CHANGELOG.md | 13 ++++++++- trackers/browser-tracker/CHANGELOG.json | 6 +++++ trackers/browser-tracker/CHANGELOG.md | 7 ++++- trackers/javascript-tracker/CHANGELOG.json | 27 +++++++++++++++++++ trackers/javascript-tracker/CHANGELOG.md | 14 +++++++++- trackers/node-tracker/CHANGELOG.json | 6 +++++ trackers/node-tracker/CHANGELOG.md | 7 ++++- 60 files changed, 348 insertions(+), 144 deletions(-) delete mode 100644 common/changes/@snowplow/browser-plugin-media-tracking/issue-1053_2022-01-28-11-17.json delete mode 100644 common/changes/@snowplow/browser-plugin-youtube-tracking/add-listeners-from-onready_2022-01-24-12-36.json delete mode 100644 common/changes/@snowplow/browser-plugin-youtube-tracking/issue-1044_2022-01-28-11-28.json delete mode 100644 common/changes/@snowplow/browser-plugin-youtube-tracking/issue-1047_2022-01-27-12-22.json delete mode 100644 common/changes/@snowplow/browser-plugin-youtube-tracking/issue-1049_2022-01-27-12-57.json delete mode 100644 common/changes/@snowplow/browser-plugin-youtube-tracking/issue-1058_2022-01-31-13-00.json delete mode 100644 common/changes/@snowplow/javascript-tracker/add-listeners-from-onready_2022-01-24-12-36.json delete mode 100644 common/changes/@snowplow/javascript-tracker/issue-1044_2022-01-28-11-28.json delete mode 100644 common/changes/@snowplow/javascript-tracker/issue-1047_2022-01-27-12-22.json delete mode 100644 common/changes/@snowplow/javascript-tracker/issue-1049_2022-01-27-12-57.json delete mode 100644 common/changes/@snowplow/javascript-tracker/issue-1053_2022-01-28-11-17.json delete mode 100644 common/changes/@snowplow/javascript-tracker/issue-1058_2022-01-31-13-00.json diff --git a/common/changes/@snowplow/browser-plugin-media-tracking/issue-1053_2022-01-28-11-17.json b/common/changes/@snowplow/browser-plugin-media-tracking/issue-1053_2022-01-28-11-17.json deleted file mode 100644 index 93b903ecf..000000000 --- a/common/changes/@snowplow/browser-plugin-media-tracking/issue-1053_2022-01-28-11-17.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-plugin-media-tracking", - "comment": "Add ready to Media Plugin DefaultEvents (#1053)", - "type": "none" - } - ], - "packageName": "@snowplow/browser-plugin-media-tracking" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-youtube-tracking/add-listeners-from-onready_2022-01-24-12-36.json b/common/changes/@snowplow/browser-plugin-youtube-tracking/add-listeners-from-onready_2022-01-24-12-36.json deleted file mode 100644 index 821c8f781..000000000 --- a/common/changes/@snowplow/browser-plugin-youtube-tracking/add-listeners-from-onready_2022-01-24-12-36.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-plugin-youtube-tracking", - "comment": "Fix YouTube plugin throwing errors on calling player methods (#1043)", - "type": "none" - } - ], - "packageName": "@snowplow/browser-plugin-youtube-tracking" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-youtube-tracking/issue-1044_2022-01-28-11-28.json b/common/changes/@snowplow/browser-plugin-youtube-tracking/issue-1044_2022-01-28-11-28.json deleted file mode 100644 index 2956832d9..000000000 --- a/common/changes/@snowplow/browser-plugin-youtube-tracking/issue-1044_2022-01-28-11-28.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-plugin-youtube-tracking", - "comment": "Fix options.boundaries not being respected (#1044)", - "type": "none" - } - ], - "packageName": "@snowplow/browser-plugin-youtube-tracking" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-youtube-tracking/issue-1047_2022-01-27-12-22.json b/common/changes/@snowplow/browser-plugin-youtube-tracking/issue-1047_2022-01-27-12-22.json deleted file mode 100644 index fda5ad983..000000000 --- a/common/changes/@snowplow/browser-plugin-youtube-tracking/issue-1047_2022-01-27-12-22.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-plugin-youtube-tracking", - "comment": "Fix 'paused' property never being true (#1047)", - "type": "none" - } - ], - "packageName": "@snowplow/browser-plugin-youtube-tracking" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-youtube-tracking/issue-1049_2022-01-27-12-57.json b/common/changes/@snowplow/browser-plugin-youtube-tracking/issue-1049_2022-01-27-12-57.json deleted file mode 100644 index 5f5c970ad..000000000 --- a/common/changes/@snowplow/browser-plugin-youtube-tracking/issue-1049_2022-01-27-12-57.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-plugin-youtube-tracking", - "comment": "Add `ready` to YouTube Plugin DefaultEvents (#1049)", - "type": "none" - } - ], - "packageName": "@snowplow/browser-plugin-youtube-tracking" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-youtube-tracking/issue-1058_2022-01-31-13-00.json b/common/changes/@snowplow/browser-plugin-youtube-tracking/issue-1058_2022-01-31-13-00.json deleted file mode 100644 index f5d9e382a..000000000 --- a/common/changes/@snowplow/browser-plugin-youtube-tracking/issue-1058_2022-01-31-13-00.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-plugin-youtube-tracking", - "comment": "Fix YouTube Plugin enabling of seek/volume events (#1058)", - "type": "none" - } - ], - "packageName": "@snowplow/browser-plugin-youtube-tracking" -} \ No newline at end of file diff --git a/common/changes/@snowplow/javascript-tracker/add-listeners-from-onready_2022-01-24-12-36.json b/common/changes/@snowplow/javascript-tracker/add-listeners-from-onready_2022-01-24-12-36.json deleted file mode 100644 index fad1a1da3..000000000 --- a/common/changes/@snowplow/javascript-tracker/add-listeners-from-onready_2022-01-24-12-36.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/javascript-tracker", - "comment": "Fix YouTube plugin throwing errors on calling player methods (#1043)", - "type": "none" - } - ], - "packageName": "@snowplow/javascript-tracker" -} \ No newline at end of file diff --git a/common/changes/@snowplow/javascript-tracker/issue-1044_2022-01-28-11-28.json b/common/changes/@snowplow/javascript-tracker/issue-1044_2022-01-28-11-28.json deleted file mode 100644 index cc14bfce8..000000000 --- a/common/changes/@snowplow/javascript-tracker/issue-1044_2022-01-28-11-28.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/javascript-tracker", - "comment": "Fix options.boundaries not being respected (#1044)", - "type": "none" - } - ], - "packageName": "@snowplow/javascript-tracker" -} \ No newline at end of file diff --git a/common/changes/@snowplow/javascript-tracker/issue-1047_2022-01-27-12-22.json b/common/changes/@snowplow/javascript-tracker/issue-1047_2022-01-27-12-22.json deleted file mode 100644 index b2c2c21ad..000000000 --- a/common/changes/@snowplow/javascript-tracker/issue-1047_2022-01-27-12-22.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/javascript-tracker", - "comment": "Fix 'paused' property never being true (#1047)", - "type": "none" - } - ], - "packageName": "@snowplow/javascript-tracker" -} \ No newline at end of file diff --git a/common/changes/@snowplow/javascript-tracker/issue-1049_2022-01-27-12-57.json b/common/changes/@snowplow/javascript-tracker/issue-1049_2022-01-27-12-57.json deleted file mode 100644 index c0a6a783c..000000000 --- a/common/changes/@snowplow/javascript-tracker/issue-1049_2022-01-27-12-57.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/javascript-tracker", - "comment": "Add `ready` to YouTube Plugin DefaultEvents (#1049)", - "type": "none" - } - ], - "packageName": "@snowplow/javascript-tracker" -} \ No newline at end of file diff --git a/common/changes/@snowplow/javascript-tracker/issue-1053_2022-01-28-11-17.json b/common/changes/@snowplow/javascript-tracker/issue-1053_2022-01-28-11-17.json deleted file mode 100644 index ac9d1e5bb..000000000 --- a/common/changes/@snowplow/javascript-tracker/issue-1053_2022-01-28-11-17.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/javascript-tracker", - "comment": "Add ready to Media Plugin DefaultEvents (#1053)", - "type": "none" - } - ], - "packageName": "@snowplow/javascript-tracker" -} \ No newline at end of file diff --git a/common/changes/@snowplow/javascript-tracker/issue-1058_2022-01-31-13-00.json b/common/changes/@snowplow/javascript-tracker/issue-1058_2022-01-31-13-00.json deleted file mode 100644 index b98ade3ec..000000000 --- a/common/changes/@snowplow/javascript-tracker/issue-1058_2022-01-31-13-00.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/javascript-tracker", - "comment": "Fix YouTube Plugin enabling of seek/volume events (#1058)", - "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 fd18236b9..f337d181b 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.3.0", + "tag": "@snowplow/browser-tracker-core_v3.3.0", + "date": "Mon, 31 Jan 2022 15:58:10 GMT", + "comments": {} + }, { "version": "3.2.3", "tag": "@snowplow/browser-tracker-core_v3.2.3", diff --git a/libraries/browser-tracker-core/CHANGELOG.md b/libraries/browser-tracker-core/CHANGELOG.md index 65a7d89a3..1b2b8c8d4 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, 18 Jan 2022 16:23:52 GMT and should not be manually modified. +This log was last generated on Mon, 31 Jan 2022 15:58:10 GMT and should not be manually modified. + +## 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 diff --git a/libraries/tracker-core/CHANGELOG.json b/libraries/tracker-core/CHANGELOG.json index dd1d1c1bc..2fc016105 100644 --- a/libraries/tracker-core/CHANGELOG.json +++ b/libraries/tracker-core/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/tracker-core", "entries": [ + { + "version": "3.3.0", + "tag": "@snowplow/tracker-core_v3.3.0", + "date": "Mon, 31 Jan 2022 15:58:10 GMT", + "comments": {} + }, { "version": "3.2.3", "tag": "@snowplow/tracker-core_v3.2.3", diff --git a/libraries/tracker-core/CHANGELOG.md b/libraries/tracker-core/CHANGELOG.md index 63fed3831..8aacadaff 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, 18 Jan 2022 16:23:52 GMT and should not be manually modified. +This log was last generated on Mon, 31 Jan 2022 15:58:10 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-ad-tracking/CHANGELOG.json b/plugins/browser-plugin-ad-tracking/CHANGELOG.json index 419d0d0af..6c2e4a267 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.3.0", + "tag": "@snowplow/browser-plugin-ad-tracking_v3.3.0", + "date": "Mon, 31 Jan 2022 15:58:10 GMT", + "comments": {} + }, { "version": "3.2.3", "tag": "@snowplow/browser-plugin-ad-tracking_v3.2.3", diff --git a/plugins/browser-plugin-ad-tracking/CHANGELOG.md b/plugins/browser-plugin-ad-tracking/CHANGELOG.md index 03a985612..6d48d5ced 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, 18 Jan 2022 16:23:52 GMT and should not be manually modified. +This log was last generated on Mon, 31 Jan 2022 15:58:10 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-browser-features/CHANGELOG.json b/plugins/browser-plugin-browser-features/CHANGELOG.json index b26536b7e..659091d36 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.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", diff --git a/plugins/browser-plugin-browser-features/CHANGELOG.md b/plugins/browser-plugin-browser-features/CHANGELOG.md index 2c684a3fb..2a0fc0d81 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, 18 Jan 2022 16:23:52 GMT and should not be manually modified. +This log was last generated on Mon, 31 Jan 2022 15:58:10 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-client-hints/CHANGELOG.json b/plugins/browser-plugin-client-hints/CHANGELOG.json index 06ee34dd1..9f6603105 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.3.0", + "tag": "@snowplow/browser-plugin-client-hints_v3.3.0", + "date": "Mon, 31 Jan 2022 15:58:10 GMT", + "comments": {} + }, { "version": "3.2.3", "tag": "@snowplow/browser-plugin-client-hints_v3.2.3", diff --git a/plugins/browser-plugin-client-hints/CHANGELOG.md b/plugins/browser-plugin-client-hints/CHANGELOG.md index 63d8d1450..23130c717 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, 18 Jan 2022 16:23:52 GMT and should not be manually modified. +This log was last generated on Mon, 31 Jan 2022 15:58:10 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-consent/CHANGELOG.json b/plugins/browser-plugin-consent/CHANGELOG.json index ecb0a56ac..768a27c68 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.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", diff --git a/plugins/browser-plugin-consent/CHANGELOG.md b/plugins/browser-plugin-consent/CHANGELOG.md index 69a415cbd..3bc26b272 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, 18 Jan 2022 16:23:52 GMT and should not be manually modified. +This log was last generated on Mon, 31 Jan 2022 15:58:10 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-debugger/CHANGELOG.json b/plugins/browser-plugin-debugger/CHANGELOG.json index 0af35b9c6..48b53d41f 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.3.0", + "tag": "@snowplow/browser-plugin-debugger_v3.3.0", + "date": "Mon, 31 Jan 2022 15:58:10 GMT", + "comments": {} + }, { "version": "3.2.3", "tag": "@snowplow/browser-plugin-debugger_v3.2.3", diff --git a/plugins/browser-plugin-debugger/CHANGELOG.md b/plugins/browser-plugin-debugger/CHANGELOG.md index 34ff1279e..c7c8d0671 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, 18 Jan 2022 16:23:52 GMT and should not be manually modified. +This log was last generated on Mon, 31 Jan 2022 15:58:10 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-ecommerce/CHANGELOG.json b/plugins/browser-plugin-ecommerce/CHANGELOG.json index ad7377569..4fd57c598 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.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", diff --git a/plugins/browser-plugin-ecommerce/CHANGELOG.md b/plugins/browser-plugin-ecommerce/CHANGELOG.md index c0cf5204f..2c1301822 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, 18 Jan 2022 16:23:52 GMT and should not be manually modified. +This log was last generated on Mon, 31 Jan 2022 15:58:10 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.json b/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.json index a974f9673..49cdeaf5b 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.3.0", + "tag": "@snowplow/browser-plugin-enhanced-ecommerce_v3.3.0", + "date": "Mon, 31 Jan 2022 15:58:10 GMT", + "comments": {} + }, { "version": "3.2.3", "tag": "@snowplow/browser-plugin-enhanced-ecommerce_v3.2.3", diff --git a/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.md b/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.md index 27433cb3c..bbf2e6aa4 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, 18 Jan 2022 16:23:52 GMT and should not be manually modified. +This log was last generated on Mon, 31 Jan 2022 15:58:10 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-error-tracking/CHANGELOG.json b/plugins/browser-plugin-error-tracking/CHANGELOG.json index a96d6fbe9..13e78e481 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.3.0", + "tag": "@snowplow/browser-plugin-error-tracking_v3.3.0", + "date": "Mon, 31 Jan 2022 15:58:10 GMT", + "comments": {} + }, { "version": "3.2.3", "tag": "@snowplow/browser-plugin-error-tracking_v3.2.3", diff --git a/plugins/browser-plugin-error-tracking/CHANGELOG.md b/plugins/browser-plugin-error-tracking/CHANGELOG.md index 494b2f438..f9887eac6 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, 18 Jan 2022 16:23:52 GMT and should not be manually modified. +This log was last generated on Mon, 31 Jan 2022 15:58:10 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-form-tracking/CHANGELOG.json b/plugins/browser-plugin-form-tracking/CHANGELOG.json index ccf6c944d..7f72e0056 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.3.0", + "tag": "@snowplow/browser-plugin-form-tracking_v3.3.0", + "date": "Mon, 31 Jan 2022 15:58:10 GMT", + "comments": {} + }, { "version": "3.2.3", "tag": "@snowplow/browser-plugin-form-tracking_v3.2.3", diff --git a/plugins/browser-plugin-form-tracking/CHANGELOG.md b/plugins/browser-plugin-form-tracking/CHANGELOG.md index e3bbbc908..93424f4fa 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, 18 Jan 2022 16:23:52 GMT and should not be manually modified. +This log was last generated on Mon, 31 Jan 2022 15:58:10 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-ga-cookies/CHANGELOG.json b/plugins/browser-plugin-ga-cookies/CHANGELOG.json index 11add7718..fc543101c 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.3.0", + "tag": "@snowplow/browser-plugin-ga-cookies_v3.3.0", + "date": "Mon, 31 Jan 2022 15:58:10 GMT", + "comments": {} + }, { "version": "3.2.3", "tag": "@snowplow/browser-plugin-ga-cookies_v3.2.3", diff --git a/plugins/browser-plugin-ga-cookies/CHANGELOG.md b/plugins/browser-plugin-ga-cookies/CHANGELOG.md index 753590bc2..f51242b01 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, 18 Jan 2022 16:23:52 GMT and should not be manually modified. +This log was last generated on Mon, 31 Jan 2022 15:58:10 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-geolocation/CHANGELOG.json b/plugins/browser-plugin-geolocation/CHANGELOG.json index a22abe92b..82c93fd2a 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.3.0", + "tag": "@snowplow/browser-plugin-geolocation_v3.3.0", + "date": "Mon, 31 Jan 2022 15:58:10 GMT", + "comments": {} + }, { "version": "3.2.3", "tag": "@snowplow/browser-plugin-geolocation_v3.2.3", diff --git a/plugins/browser-plugin-geolocation/CHANGELOG.md b/plugins/browser-plugin-geolocation/CHANGELOG.md index 72b201d99..769256aa5 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, 18 Jan 2022 16:23:52 GMT and should not be manually modified. +This log was last generated on Mon, 31 Jan 2022 15:58:10 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-link-click-tracking/CHANGELOG.json b/plugins/browser-plugin-link-click-tracking/CHANGELOG.json index f58c6e59f..9123ab06b 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.3.0", + "tag": "@snowplow/browser-plugin-link-click-tracking_v3.3.0", + "date": "Mon, 31 Jan 2022 15:58:10 GMT", + "comments": {} + }, { "version": "3.2.3", "tag": "@snowplow/browser-plugin-link-click-tracking_v3.2.3", diff --git a/plugins/browser-plugin-link-click-tracking/CHANGELOG.md b/plugins/browser-plugin-link-click-tracking/CHANGELOG.md index 7bbe3fd40..197655d04 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, 18 Jan 2022 16:23:52 GMT and should not be manually modified. +This log was last generated on Mon, 31 Jan 2022 15:58:10 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-media-tracking/CHANGELOG.json b/plugins/browser-plugin-media-tracking/CHANGELOG.json index 3296c6ac2..1736e8f53 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.3.0", + "tag": "@snowplow/browser-plugin-media-tracking_v3.3.0", + "date": "Mon, 31 Jan 2022 15:58:10 GMT", + "comments": { + "none": [ + { + "comment": "Add ready to Media Plugin DefaultEvents (#1053)" + } + ] + } + }, { "version": "3.2.3", "tag": "@snowplow/browser-plugin-media-tracking_v3.2.3", diff --git a/plugins/browser-plugin-media-tracking/CHANGELOG.md b/plugins/browser-plugin-media-tracking/CHANGELOG.md index 6c0d9837b..eba9d0e3f 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, 18 Jan 2022 16:23:52 GMT and should not be manually modified. +This log was last generated on Mon, 31 Jan 2022 15:58:10 GMT and should not be manually modified. + +## 3.3.0 +Mon, 31 Jan 2022 15:58:10 GMT + +### Updates + +- Add ready to Media Plugin DefaultEvents (#1053) ## 3.2.3 Tue, 18 Jan 2022 16:23:52 GMT diff --git a/plugins/browser-plugin-optimizely-x/CHANGELOG.json b/plugins/browser-plugin-optimizely-x/CHANGELOG.json index 1b30e3129..ba063a35e 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.3.0", + "tag": "@snowplow/browser-plugin-optimizely-x_v3.3.0", + "date": "Mon, 31 Jan 2022 15:58:10 GMT", + "comments": {} + }, { "version": "3.2.3", "tag": "@snowplow/browser-plugin-optimizely-x_v3.2.3", diff --git a/plugins/browser-plugin-optimizely-x/CHANGELOG.md b/plugins/browser-plugin-optimizely-x/CHANGELOG.md index 97694ef11..96b10a4fc 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, 18 Jan 2022 16:23:52 GMT and should not be manually modified. +This log was last generated on Mon, 31 Jan 2022 15:58:10 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-optimizely/CHANGELOG.json b/plugins/browser-plugin-optimizely/CHANGELOG.json index b9f7da07c..8dcfea861 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.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", diff --git a/plugins/browser-plugin-optimizely/CHANGELOG.md b/plugins/browser-plugin-optimizely/CHANGELOG.md index fb3c15f6a..a6e6a4fc1 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, 18 Jan 2022 16:23:52 GMT and should not be manually modified. +This log was last generated on Mon, 31 Jan 2022 15:58:10 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-performance-timing/CHANGELOG.json b/plugins/browser-plugin-performance-timing/CHANGELOG.json index f779331f1..cbcb700aa 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.3.0", + "tag": "@snowplow/browser-plugin-performance-timing_v3.3.0", + "date": "Mon, 31 Jan 2022 15:58:10 GMT", + "comments": {} + }, { "version": "3.2.3", "tag": "@snowplow/browser-plugin-performance-timing_v3.2.3", diff --git a/plugins/browser-plugin-performance-timing/CHANGELOG.md b/plugins/browser-plugin-performance-timing/CHANGELOG.md index 08812ffd6..c147a0c40 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, 18 Jan 2022 16:23:52 GMT and should not be manually modified. +This log was last generated on Mon, 31 Jan 2022 15:58:10 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-site-tracking/CHANGELOG.json b/plugins/browser-plugin-site-tracking/CHANGELOG.json index 108d74e9b..58312f59f 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.3.0", + "tag": "@snowplow/browser-plugin-site-tracking_v3.3.0", + "date": "Mon, 31 Jan 2022 15:58:10 GMT", + "comments": {} + }, { "version": "3.2.3", "tag": "@snowplow/browser-plugin-site-tracking_v3.2.3", diff --git a/plugins/browser-plugin-site-tracking/CHANGELOG.md b/plugins/browser-plugin-site-tracking/CHANGELOG.md index 2cb56ac1a..3f2bfe35a 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, 18 Jan 2022 16:23:52 GMT and should not be manually modified. +This log was last generated on Mon, 31 Jan 2022 15:58:10 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-timezone/CHANGELOG.json b/plugins/browser-plugin-timezone/CHANGELOG.json index deb0d14dc..dbeff5991 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.3.0", + "tag": "@snowplow/browser-plugin-timezone_v3.3.0", + "date": "Mon, 31 Jan 2022 15:58:10 GMT", + "comments": {} + }, { "version": "3.2.3", "tag": "@snowplow/browser-plugin-timezone_v3.2.3", diff --git a/plugins/browser-plugin-timezone/CHANGELOG.md b/plugins/browser-plugin-timezone/CHANGELOG.md index 3781100d6..8cacb979a 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, 18 Jan 2022 16:23:52 GMT and should not be manually modified. +This log was last generated on Mon, 31 Jan 2022 15:58:10 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-youtube-tracking/CHANGELOG.json b/plugins/browser-plugin-youtube-tracking/CHANGELOG.json index 3358cc3b3..567883a41 100644 --- a/plugins/browser-plugin-youtube-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-youtube-tracking/CHANGELOG.json @@ -1,6 +1,30 @@ { "name": "@snowplow/browser-plugin-youtube-tracking", "entries": [ + { + "version": "3.3.0", + "tag": "@snowplow/browser-plugin-youtube-tracking_v3.3.0", + "date": "Mon, 31 Jan 2022 15:58:10 GMT", + "comments": { + "none": [ + { + "comment": "Fix YouTube plugin throwing errors on calling player methods (#1043)" + }, + { + "comment": "Fix options.boundaries not being respected (#1044)" + }, + { + "comment": "Fix 'paused' property never being true (#1047)" + }, + { + "comment": "Add `ready` to YouTube Plugin DefaultEvents (#1049)" + }, + { + "comment": "Fix YouTube Plugin enabling of seek/volume events (#1058)" + } + ] + } + }, { "version": "3.2.3", "tag": "@snowplow/browser-plugin-youtube-tracking_v3.2.3", diff --git a/plugins/browser-plugin-youtube-tracking/CHANGELOG.md b/plugins/browser-plugin-youtube-tracking/CHANGELOG.md index 9c9c5249a..585257b40 100644 --- a/plugins/browser-plugin-youtube-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-youtube-tracking/CHANGELOG.md @@ -1,6 +1,17 @@ # Change Log - @snowplow/browser-plugin-youtube-tracking -This log was last generated on Tue, 18 Jan 2022 16:23:52 GMT and should not be manually modified. +This log was last generated on Mon, 31 Jan 2022 15:58:10 GMT and should not be manually modified. + +## 3.3.0 +Mon, 31 Jan 2022 15:58:10 GMT + +### Updates + +- Fix YouTube plugin throwing errors on calling player methods (#1043) +- Fix options.boundaries not being respected (#1044) +- Fix 'paused' property never being true (#1047) +- Add `ready` to YouTube Plugin DefaultEvents (#1049) +- Fix YouTube Plugin enabling of seek/volume events (#1058) ## 3.2.3 Tue, 18 Jan 2022 16:23:52 GMT diff --git a/trackers/browser-tracker/CHANGELOG.json b/trackers/browser-tracker/CHANGELOG.json index 8328d8016..e98bec191 100644 --- a/trackers/browser-tracker/CHANGELOG.json +++ b/trackers/browser-tracker/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-tracker", "entries": [ + { + "version": "3.3.0", + "tag": "@snowplow/browser-tracker_v3.3.0", + "date": "Mon, 31 Jan 2022 15:58:10 GMT", + "comments": {} + }, { "version": "3.2.3", "tag": "@snowplow/browser-tracker_v3.2.3", diff --git a/trackers/browser-tracker/CHANGELOG.md b/trackers/browser-tracker/CHANGELOG.md index f90f1b89d..70270c490 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, 18 Jan 2022 16:23:52 GMT and should not be manually modified. +This log was last generated on Mon, 31 Jan 2022 15:58:10 GMT and should not be manually modified. + +## 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 diff --git a/trackers/javascript-tracker/CHANGELOG.json b/trackers/javascript-tracker/CHANGELOG.json index 9e939cc7b..cc513763e 100644 --- a/trackers/javascript-tracker/CHANGELOG.json +++ b/trackers/javascript-tracker/CHANGELOG.json @@ -1,6 +1,33 @@ { "name": "@snowplow/javascript-tracker", "entries": [ + { + "version": "3.3.0", + "tag": "@snowplow/javascript-tracker_v3.3.0", + "date": "Mon, 31 Jan 2022 15:58:10 GMT", + "comments": { + "none": [ + { + "comment": "Fix YouTube plugin throwing errors on calling player methods (#1043)" + }, + { + "comment": "Fix options.boundaries not being respected (#1044)" + }, + { + "comment": "Fix 'paused' property never being true (#1047)" + }, + { + "comment": "Add `ready` to YouTube Plugin DefaultEvents (#1049)" + }, + { + "comment": "Add ready to Media Plugin DefaultEvents (#1053)" + }, + { + "comment": "Fix YouTube Plugin enabling of seek/volume events (#1058)" + } + ] + } + }, { "version": "3.2.3", "tag": "@snowplow/javascript-tracker_v3.2.3", diff --git a/trackers/javascript-tracker/CHANGELOG.md b/trackers/javascript-tracker/CHANGELOG.md index 37a89a1db..623272417 100644 --- a/trackers/javascript-tracker/CHANGELOG.md +++ b/trackers/javascript-tracker/CHANGELOG.md @@ -1,6 +1,18 @@ # Change Log - @snowplow/javascript-tracker -This log was last generated on Tue, 18 Jan 2022 16:23:52 GMT and should not be manually modified. +This log was last generated on Mon, 31 Jan 2022 15:58:10 GMT and should not be manually modified. + +## 3.3.0 +Mon, 31 Jan 2022 15:58:10 GMT + +### Updates + +- Fix YouTube plugin throwing errors on calling player methods (#1043) +- Fix options.boundaries not being respected (#1044) +- Fix 'paused' property never being true (#1047) +- Add `ready` to YouTube Plugin DefaultEvents (#1049) +- Add ready to Media Plugin DefaultEvents (#1053) +- Fix YouTube Plugin enabling of seek/volume events (#1058) ## 3.2.3 Tue, 18 Jan 2022 16:23:52 GMT diff --git a/trackers/node-tracker/CHANGELOG.json b/trackers/node-tracker/CHANGELOG.json index e1aae8316..93b419192 100644 --- a/trackers/node-tracker/CHANGELOG.json +++ b/trackers/node-tracker/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/node-tracker", "entries": [ + { + "version": "3.3.0", + "tag": "@snowplow/node-tracker_v3.3.0", + "date": "Mon, 31 Jan 2022 15:58:10 GMT", + "comments": {} + }, { "version": "3.2.3", "tag": "@snowplow/node-tracker_v3.2.3", diff --git a/trackers/node-tracker/CHANGELOG.md b/trackers/node-tracker/CHANGELOG.md index 65e5d0372..b9b87d17e 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, 18 Jan 2022 16:23:52 GMT and should not be manually modified. +This log was last generated on Mon, 31 Jan 2022 15:58:10 GMT and should not be manually modified. + +## 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 From 70fb65935d3b18aeb413b173e16f694a89eb81e1 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 31 Jan 2022 15:58:10 +0000 Subject: [PATCH 009/449] Applying package updates. --- 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-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-ecommerce/package.json | 4 ++-- plugins/browser-plugin-error-tracking/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-optimizely-x/package.json | 4 ++-- plugins/browser-plugin-optimizely/package.json | 4 ++-- plugins/browser-plugin-performance-timing/package.json | 4 ++-- plugins/browser-plugin-site-tracking/package.json | 4 ++-- plugins/browser-plugin-timezone/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 +- 25 files changed, 44 insertions(+), 44 deletions(-) diff --git a/common/config/rush/version-policies.json b/common/config/rush/version-policies.json index f2cdbc0f9..db21e08e6 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.2.3", + "version": "3.3.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 3242267b8..6b8df7a6a 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.2.3", + "version": "3.3.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 1958c924f..7c26866d7 100644 --- a/libraries/tracker-core/package.json +++ b/libraries/tracker-core/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/tracker-core", - "version": "3.2.3", + "version": "3.3.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 4b9d3c859..71eba7af9 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.2.3", + "version": "3.3.0", "description": "Ad tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -47,6 +47,6 @@ "typescript": "^4.3.5" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.2.3" + "@snowplow/browser-tracker": "~3.3.0" } } diff --git a/plugins/browser-plugin-browser-features/package.json b/plugins/browser-plugin-browser-features/package.json index df1cde4c1..215e4a1e5 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.2.3", + "version": "3.3.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.3.5" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.2.3" + "@snowplow/browser-tracker": "~3.3.0" } } diff --git a/plugins/browser-plugin-client-hints/package.json b/plugins/browser-plugin-client-hints/package.json index 26f0ab9c3..7d7720f09 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.2.3", + "version": "3.3.0", "description": "Attaches Client Hints to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -44,6 +44,6 @@ "typescript": "^4.3.5" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.2.3" + "@snowplow/browser-tracker": "~3.3.0" } } diff --git a/plugins/browser-plugin-consent/package.json b/plugins/browser-plugin-consent/package.json index 586f80384..b2c2261d7 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.2.3", + "version": "3.3.0", "description": "Consent and GDPR data for Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -47,6 +47,6 @@ "typescript": "^4.3.5" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.2.3" + "@snowplow/browser-tracker": "~3.3.0" } } diff --git a/plugins/browser-plugin-debugger/package.json b/plugins/browser-plugin-debugger/package.json index f11abd626..3c488cdbf 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.2.3", + "version": "3.3.0", "description": "Debugger for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -47,6 +47,6 @@ "typescript": "^4.3.5" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.2.3" + "@snowplow/browser-tracker": "~3.3.0" } } diff --git a/plugins/browser-plugin-ecommerce/package.json b/plugins/browser-plugin-ecommerce/package.json index ba9e0bd8d..737ac59ac 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.2.3", + "version": "3.3.0", "description": "Ecommerce tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -47,6 +47,6 @@ "typescript": "^4.3.5" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.2.3" + "@snowplow/browser-tracker": "~3.3.0" } } diff --git a/plugins/browser-plugin-enhanced-ecommerce/package.json b/plugins/browser-plugin-enhanced-ecommerce/package.json index 4e7ad0fb8..f92d2e323 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.2.3", + "version": "3.3.0", "description": "Enhanced Ecommerce tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -47,6 +47,6 @@ "typescript": "^4.3.5" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.2.3" + "@snowplow/browser-tracker": "~3.3.0" } } diff --git a/plugins/browser-plugin-error-tracking/package.json b/plugins/browser-plugin-error-tracking/package.json index 3af6f03eb..695524c53 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.2.3", + "version": "3.3.0", "description": "Error tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -47,6 +47,6 @@ "typescript": "^4.3.5" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.2.3" + "@snowplow/browser-tracker": "~3.3.0" } } diff --git a/plugins/browser-plugin-form-tracking/package.json b/plugins/browser-plugin-form-tracking/package.json index 834151999..94893efc9 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.2.3", + "version": "3.3.0", "description": "Form tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -45,6 +45,6 @@ "typescript": "^4.3.5" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.2.3" + "@snowplow/browser-tracker": "~3.3.0" } } diff --git a/plugins/browser-plugin-ga-cookies/package.json b/plugins/browser-plugin-ga-cookies/package.json index 192dcea23..c6b759626 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.2.3", + "version": "3.3.0", "description": "Attaches GA cookie data to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -45,6 +45,6 @@ "typescript": "^4.3.5" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.2.3" + "@snowplow/browser-tracker": "~3.3.0" } } diff --git a/plugins/browser-plugin-geolocation/package.json b/plugins/browser-plugin-geolocation/package.json index 0bb36f5df..627137a32 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.2.3", + "version": "3.3.0", "description": "Attaches Geolocation data to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -45,6 +45,6 @@ "typescript": "^4.3.5" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.2.3" + "@snowplow/browser-tracker": "~3.3.0" } } diff --git a/plugins/browser-plugin-link-click-tracking/package.json b/plugins/browser-plugin-link-click-tracking/package.json index c4f86b16e..be5c7b3f4 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.2.3", + "version": "3.3.0", "description": "Link Click tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -47,6 +47,6 @@ "typescript": "^4.3.5" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.2.3" + "@snowplow/browser-tracker": "~3.3.0" } } diff --git a/plugins/browser-plugin-media-tracking/package.json b/plugins/browser-plugin-media-tracking/package.json index 7cf68ba7e..3894d67b4 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.2.3", + "version": "3.3.0", "description": "Audio/Video tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -44,6 +44,6 @@ "typescript": "^4.3.5" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.2.3" + "@snowplow/browser-tracker": "~3.3.0" } } diff --git a/plugins/browser-plugin-optimizely-x/package.json b/plugins/browser-plugin-optimizely-x/package.json index d56dbb9f2..a77770b92 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.2.3", + "version": "3.3.0", "description": "Attaches OptimizelyX data to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -45,6 +45,6 @@ "typescript": "^4.3.5" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.2.3" + "@snowplow/browser-tracker": "~3.3.0" } } diff --git a/plugins/browser-plugin-optimizely/package.json b/plugins/browser-plugin-optimizely/package.json index 80b75de14..ee9641ee0 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.2.3", + "version": "3.3.0", "description": "Attaches Optimizely data to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -45,6 +45,6 @@ "typescript": "^4.3.5" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.2.3" + "@snowplow/browser-tracker": "~3.3.0" } } diff --git a/plugins/browser-plugin-performance-timing/package.json b/plugins/browser-plugin-performance-timing/package.json index b71b24b4c..0c47796b0 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.2.3", + "version": "3.3.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.3.5" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.2.3" + "@snowplow/browser-tracker": "~3.3.0" } } diff --git a/plugins/browser-plugin-site-tracking/package.json b/plugins/browser-plugin-site-tracking/package.json index 35ae02d8d..78d687e4d 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.2.3", + "version": "3.3.0", "description": "Site tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -47,6 +47,6 @@ "typescript": "^4.3.5" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.2.3" + "@snowplow/browser-tracker": "~3.3.0" } } diff --git a/plugins/browser-plugin-timezone/package.json b/plugins/browser-plugin-timezone/package.json index d976e9647..f197f1730 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.2.3", + "version": "3.3.0", "description": "Attaches timezone to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -49,6 +49,6 @@ "typescript": "^4.3.5" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.2.3" + "@snowplow/browser-tracker": "~3.3.0" } } diff --git a/plugins/browser-plugin-youtube-tracking/package.json b/plugins/browser-plugin-youtube-tracking/package.json index 2c4e7e5a4..6033692ba 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.2.3", + "version": "3.3.0", "description": "YouTube tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -45,6 +45,6 @@ "@types/youtube": "^0.0.46" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.2.3" + "@snowplow/browser-tracker": "~3.3.0" } } diff --git a/trackers/browser-tracker/package.json b/trackers/browser-tracker/package.json index f186636fa..e2af95abd 100644 --- a/trackers/browser-tracker/package.json +++ b/trackers/browser-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-tracker", - "version": "3.2.3", + "version": "3.3.0", "description": "Browser tracker for Snowplow", "keywords": [ "tracking", diff --git a/trackers/javascript-tracker/package.json b/trackers/javascript-tracker/package.json index 541a53a1d..fb764de1c 100644 --- a/trackers/javascript-tracker/package.json +++ b/trackers/javascript-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/javascript-tracker", - "version": "3.2.3", + "version": "3.3.0", "description": "Web analytics for Snowplow", "keywords": [ "tracking", diff --git a/trackers/node-tracker/package.json b/trackers/node-tracker/package.json index f2145d2dd..33023a6ff 100644 --- a/trackers/node-tracker/package.json +++ b/trackers/node-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/node-tracker", - "version": "3.2.3", + "version": "3.3.0", "description": "Node tracker for Snowplow", "keywords": [ "snowplow", From c107b57c9cef18b6cdeacfe8f7d21c7d3c5dc1ac Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 31 Jan 2022 16:02:23 +0000 Subject: [PATCH 010/449] Applying documentation updates. From 449817ff7151336d2956ee6b885073285c710d07 Mon Sep 17 00:00:00 2001 From: Paul Boocock Date: Tue, 22 Feb 2022 12:10:33 +0000 Subject: [PATCH 011/449] Stop mutating context array with additional plugin contexts (close #1061) --- ...cate_webPage_context_2022-02-22-12-12.json | 10 +++ libraries/tracker-core/src/contexts.ts | 2 +- libraries/tracker-core/test/contexts.ts | 70 +++++++++++++++++++ 3 files changed, 81 insertions(+), 1 deletion(-) create mode 100644 common/changes/@snowplow/tracker-core/fix_duplicate_webPage_context_2022-02-22-12-12.json diff --git a/common/changes/@snowplow/tracker-core/fix_duplicate_webPage_context_2022-02-22-12-12.json b/common/changes/@snowplow/tracker-core/fix_duplicate_webPage_context_2022-02-22-12-12.json new file mode 100644 index 000000000..40364d6c4 --- /dev/null +++ b/common/changes/@snowplow/tracker-core/fix_duplicate_webPage_context_2022-02-22-12-12.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/tracker-core", + "comment": "Stop mutating context array with additional plugin contexts (#1061)", + "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 1aba283e6..03074ad77 100644 --- a/libraries/tracker-core/src/contexts.ts +++ b/libraries/tracker-core/src/contexts.ts @@ -223,7 +223,7 @@ export function pluginContexts(plugins: Array): PluginContexts { */ return { addPluginContexts: (additionalContexts?: SelfDescribingJson[] | null): SelfDescribingJson[] => { - const combinedContexts: SelfDescribingJson[] = additionalContexts ?? []; + const combinedContexts: SelfDescribingJson[] = additionalContexts ? [...additionalContexts] : []; plugins.forEach((plugin) => { try { diff --git a/libraries/tracker-core/test/contexts.ts b/libraries/tracker-core/test/contexts.ts index a10d8756a..fb8c0f4ec 100644 --- a/libraries/tracker-core/test/contexts.ts +++ b/libraries/tracker-core/test/contexts.ts @@ -459,3 +459,73 @@ test('Context generators which return empty are ignored', (t) => { const actual = contexts.resolveDynamicContext([contextGenerator, staticContext]); t.deepEqual(actual, expected); }); + +test('Plugins context should be combined with the passed context', (t) => { + const initialContextArray = [ + { + schema: 'iglu:com.snowplowanalytics.snowplow/geolocation_context/jsonschema/1-1-0', + data: { + latitude: 40.0, + longitude: 55.1, + }, + }, + ]; + + const webPageContext = { + schema: 'iglu:org.schema/WebPage/jsonschema/1-0-0', + data: { + genre: 'test', + }, + }; + + const webPagePlugin = { + contexts: () => { + return [webPageContext]; + }, + }; + + const pluginContexts = contexts.pluginContexts([webPagePlugin]); + const result = pluginContexts.addPluginContexts(initialContextArray); + + t.is(result.length, 2); + t.deepEqual(result, [...initialContextArray, webPageContext]); +}); + +test('Do not mutate context when adding plugin context', (t) => { + const initialContextArray = [ + { + schema: 'iglu:com.snowplowanalytics.snowplow/geolocation_context/jsonschema/1-1-0', + data: { + latitude: 40.0, + longitude: 55.1, + }, + }, + ]; + + const webPageContext = { + schema: 'iglu:org.schema/WebPage/jsonschema/1-0-0', + data: { + genre: 'test', + }, + }; + + const webPagePlugin = { + contexts: () => { + return [webPageContext]; + }, + }; + + const pluginContexts = contexts.pluginContexts([webPagePlugin]); + pluginContexts.addPluginContexts(initialContextArray); + + t.is(initialContextArray.length, 1); + t.deepEqual(initialContextArray, [ + { + schema: 'iglu:com.snowplowanalytics.snowplow/geolocation_context/jsonschema/1-1-0', + data: { + latitude: 40.0, + longitude: 55.1, + }, + }, + ]); +}); From c1291b8a411313486f5b2fb3d273e851daa110f0 Mon Sep 17 00:00:00 2001 From: Paul Boocock Date: Wed, 23 Feb 2022 07:46:59 +0000 Subject: [PATCH 012/449] Pin Browser integration tests to specific versions (close #1063) --- .../release-3.3.1_2022-02-23-18-57.json | 10 ++++++++++ trackers/javascript-tracker/test/wdio.sauce.conf.js | 8 ++++---- 2 files changed, 14 insertions(+), 4 deletions(-) create mode 100644 common/changes/@snowplow/javascript-tracker/release-3.3.1_2022-02-23-18-57.json diff --git a/common/changes/@snowplow/javascript-tracker/release-3.3.1_2022-02-23-18-57.json b/common/changes/@snowplow/javascript-tracker/release-3.3.1_2022-02-23-18-57.json new file mode 100644 index 000000000..701d574eb --- /dev/null +++ b/common/changes/@snowplow/javascript-tracker/release-3.3.1_2022-02-23-18-57.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/javascript-tracker", + "comment": "Pin Browser integration tests to specific versions (#1063)", + "type": "none" + } + ], + "packageName": "@snowplow/javascript-tracker" +} \ No newline at end of file diff --git a/trackers/javascript-tracker/test/wdio.sauce.conf.js b/trackers/javascript-tracker/test/wdio.sauce.conf.js index f02a76134..8adf7d123 100644 --- a/trackers/javascript-tracker/test/wdio.sauce.conf.js +++ b/trackers/javascript-tracker/test/wdio.sauce.conf.js @@ -13,7 +13,7 @@ exports.config = { { browserName: 'firefox', platformName: 'Windows 10', - browserVersion: 'latest', + browserVersion: '96', 'sauce:options': { build: buildName, }, @@ -21,7 +21,7 @@ exports.config = { { browserName: 'firefox', platformName: 'macOS 10.15', - browserVersion: 'latest', + browserVersion: '96', 'sauce:options': { build: buildName, }, @@ -29,7 +29,7 @@ exports.config = { { browserName: 'chrome', platformName: 'Windows 10', - browserVersion: 'latest', + browserVersion: '95', 'sauce:options': { build: buildName, }, @@ -45,7 +45,7 @@ exports.config = { { browserName: 'MicrosoftEdge', platformName: 'Windows 10', - browserVersion: 'latest', + browserVersion: '97', 'sauce:options': { build: buildName, }, From ed13b9e23c9fd38679d9132d8e88c215aca5b16f Mon Sep 17 00:00:00 2001 From: Paul Boocock Date: Tue, 22 Feb 2022 13:20:06 +0000 Subject: [PATCH 013/449] Prepare for 3.3.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 db21e08e6..09daa3cfa 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 0c56db566281fe62572f25740a42443230a2747a Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 23 Feb 2022 19:27:40 +0000 Subject: [PATCH 014/449] Deleting change files and updating change logs for package updates. --- .../release-3.3.1_2022-02-23-18-57.json | 10 ---------- ...x_duplicate_webPage_context_2022-02-22-12-12.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 ++++++- 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-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-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-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 ++++++- .../browser-plugin-performance-timing/CHANGELOG.json | 6 ++++++ .../browser-plugin-performance-timing/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-site-tracking/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-site-tracking/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-timezone/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-timezone/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 ++++++- 50 files changed, 304 insertions(+), 44 deletions(-) delete mode 100644 common/changes/@snowplow/javascript-tracker/release-3.3.1_2022-02-23-18-57.json delete mode 100644 common/changes/@snowplow/tracker-core/fix_duplicate_webPage_context_2022-02-22-12-12.json diff --git a/common/changes/@snowplow/javascript-tracker/release-3.3.1_2022-02-23-18-57.json b/common/changes/@snowplow/javascript-tracker/release-3.3.1_2022-02-23-18-57.json deleted file mode 100644 index 701d574eb..000000000 --- a/common/changes/@snowplow/javascript-tracker/release-3.3.1_2022-02-23-18-57.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/javascript-tracker", - "comment": "Pin Browser integration tests to specific versions (#1063)", - "type": "none" - } - ], - "packageName": "@snowplow/javascript-tracker" -} \ No newline at end of file diff --git a/common/changes/@snowplow/tracker-core/fix_duplicate_webPage_context_2022-02-22-12-12.json b/common/changes/@snowplow/tracker-core/fix_duplicate_webPage_context_2022-02-22-12-12.json deleted file mode 100644 index 40364d6c4..000000000 --- a/common/changes/@snowplow/tracker-core/fix_duplicate_webPage_context_2022-02-22-12-12.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/tracker-core", - "comment": "Stop mutating context array with additional plugin contexts (#1061)", - "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 f337d181b..c1ce4f115 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.3.1", + "tag": "@snowplow/browser-tracker-core_v3.3.1", + "date": "Wed, 23 Feb 2022 19:27:40 GMT", + "comments": {} + }, { "version": "3.3.0", "tag": "@snowplow/browser-tracker-core_v3.3.0", diff --git a/libraries/browser-tracker-core/CHANGELOG.md b/libraries/browser-tracker-core/CHANGELOG.md index 1b2b8c8d4..f4dbf610d 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 Mon, 31 Jan 2022 15:58:10 GMT and should not be manually modified. +This log was last generated on Wed, 23 Feb 2022 19:27:40 GMT and should not be manually modified. + +## 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 diff --git a/libraries/tracker-core/CHANGELOG.json b/libraries/tracker-core/CHANGELOG.json index 2fc016105..cb06cd7e2 100644 --- a/libraries/tracker-core/CHANGELOG.json +++ b/libraries/tracker-core/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@snowplow/tracker-core", "entries": [ + { + "version": "3.3.1", + "tag": "@snowplow/tracker-core_v3.3.1", + "date": "Wed, 23 Feb 2022 19:27:40 GMT", + "comments": { + "none": [ + { + "comment": "Stop mutating context array with additional plugin contexts (#1061)" + } + ] + } + }, { "version": "3.3.0", "tag": "@snowplow/tracker-core_v3.3.0", diff --git a/libraries/tracker-core/CHANGELOG.md b/libraries/tracker-core/CHANGELOG.md index 8aacadaff..54164161f 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 Mon, 31 Jan 2022 15:58:10 GMT and should not be manually modified. +This log was last generated on Wed, 23 Feb 2022 19:27:40 GMT and should not be manually modified. + +## 3.3.1 +Wed, 23 Feb 2022 19:27:40 GMT + +### Updates + +- Stop mutating context array with additional plugin contexts (#1061) ## 3.3.0 Mon, 31 Jan 2022 15:58:10 GMT diff --git a/plugins/browser-plugin-ad-tracking/CHANGELOG.json b/plugins/browser-plugin-ad-tracking/CHANGELOG.json index 6c2e4a267..5baff15d9 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.3.1", + "tag": "@snowplow/browser-plugin-ad-tracking_v3.3.1", + "date": "Wed, 23 Feb 2022 19:27:40 GMT", + "comments": {} + }, { "version": "3.3.0", "tag": "@snowplow/browser-plugin-ad-tracking_v3.3.0", diff --git a/plugins/browser-plugin-ad-tracking/CHANGELOG.md b/plugins/browser-plugin-ad-tracking/CHANGELOG.md index 6d48d5ced..010aaaebc 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, 31 Jan 2022 15:58:10 GMT and should not be manually modified. +This log was last generated on Wed, 23 Feb 2022 19:27:40 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-browser-features/CHANGELOG.json b/plugins/browser-plugin-browser-features/CHANGELOG.json index 659091d36..1afc65cd3 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.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", diff --git a/plugins/browser-plugin-browser-features/CHANGELOG.md b/plugins/browser-plugin-browser-features/CHANGELOG.md index 2a0fc0d81..76d8a0734 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, 31 Jan 2022 15:58:10 GMT and should not be manually modified. +This log was last generated on Wed, 23 Feb 2022 19:27:40 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-client-hints/CHANGELOG.json b/plugins/browser-plugin-client-hints/CHANGELOG.json index 9f6603105..dd4540c58 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.3.1", + "tag": "@snowplow/browser-plugin-client-hints_v3.3.1", + "date": "Wed, 23 Feb 2022 19:27:40 GMT", + "comments": {} + }, { "version": "3.3.0", "tag": "@snowplow/browser-plugin-client-hints_v3.3.0", diff --git a/plugins/browser-plugin-client-hints/CHANGELOG.md b/plugins/browser-plugin-client-hints/CHANGELOG.md index 23130c717..81668e714 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, 31 Jan 2022 15:58:10 GMT and should not be manually modified. +This log was last generated on Wed, 23 Feb 2022 19:27:40 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-consent/CHANGELOG.json b/plugins/browser-plugin-consent/CHANGELOG.json index 768a27c68..2161166c3 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.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", diff --git a/plugins/browser-plugin-consent/CHANGELOG.md b/plugins/browser-plugin-consent/CHANGELOG.md index 3bc26b272..3cb79cc49 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, 31 Jan 2022 15:58:10 GMT and should not be manually modified. +This log was last generated on Wed, 23 Feb 2022 19:27:40 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-debugger/CHANGELOG.json b/plugins/browser-plugin-debugger/CHANGELOG.json index 48b53d41f..4d65e84ba 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.3.1", + "tag": "@snowplow/browser-plugin-debugger_v3.3.1", + "date": "Wed, 23 Feb 2022 19:27:40 GMT", + "comments": {} + }, { "version": "3.3.0", "tag": "@snowplow/browser-plugin-debugger_v3.3.0", diff --git a/plugins/browser-plugin-debugger/CHANGELOG.md b/plugins/browser-plugin-debugger/CHANGELOG.md index c7c8d0671..fffe8d1ac 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, 31 Jan 2022 15:58:10 GMT and should not be manually modified. +This log was last generated on Wed, 23 Feb 2022 19:27:40 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-ecommerce/CHANGELOG.json b/plugins/browser-plugin-ecommerce/CHANGELOG.json index 4fd57c598..f33271da0 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.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", diff --git a/plugins/browser-plugin-ecommerce/CHANGELOG.md b/plugins/browser-plugin-ecommerce/CHANGELOG.md index 2c1301822..5b3cd1f44 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, 31 Jan 2022 15:58:10 GMT and should not be manually modified. +This log was last generated on Wed, 23 Feb 2022 19:27:40 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.json b/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.json index 49cdeaf5b..a6be97c61 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.3.1", + "tag": "@snowplow/browser-plugin-enhanced-ecommerce_v3.3.1", + "date": "Wed, 23 Feb 2022 19:27:40 GMT", + "comments": {} + }, { "version": "3.3.0", "tag": "@snowplow/browser-plugin-enhanced-ecommerce_v3.3.0", diff --git a/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.md b/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.md index bbf2e6aa4..014ef4554 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, 31 Jan 2022 15:58:10 GMT and should not be manually modified. +This log was last generated on Wed, 23 Feb 2022 19:27:40 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-error-tracking/CHANGELOG.json b/plugins/browser-plugin-error-tracking/CHANGELOG.json index 13e78e481..45685291f 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.3.1", + "tag": "@snowplow/browser-plugin-error-tracking_v3.3.1", + "date": "Wed, 23 Feb 2022 19:27:40 GMT", + "comments": {} + }, { "version": "3.3.0", "tag": "@snowplow/browser-plugin-error-tracking_v3.3.0", diff --git a/plugins/browser-plugin-error-tracking/CHANGELOG.md b/plugins/browser-plugin-error-tracking/CHANGELOG.md index f9887eac6..ef0104917 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, 31 Jan 2022 15:58:10 GMT and should not be manually modified. +This log was last generated on Wed, 23 Feb 2022 19:27:40 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-form-tracking/CHANGELOG.json b/plugins/browser-plugin-form-tracking/CHANGELOG.json index 7f72e0056..de2f0c354 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.3.1", + "tag": "@snowplow/browser-plugin-form-tracking_v3.3.1", + "date": "Wed, 23 Feb 2022 19:27:40 GMT", + "comments": {} + }, { "version": "3.3.0", "tag": "@snowplow/browser-plugin-form-tracking_v3.3.0", diff --git a/plugins/browser-plugin-form-tracking/CHANGELOG.md b/plugins/browser-plugin-form-tracking/CHANGELOG.md index 93424f4fa..6bd67ac4e 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, 31 Jan 2022 15:58:10 GMT and should not be manually modified. +This log was last generated on Wed, 23 Feb 2022 19:27:40 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-ga-cookies/CHANGELOG.json b/plugins/browser-plugin-ga-cookies/CHANGELOG.json index fc543101c..de4d703a8 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.3.1", + "tag": "@snowplow/browser-plugin-ga-cookies_v3.3.1", + "date": "Wed, 23 Feb 2022 19:27:40 GMT", + "comments": {} + }, { "version": "3.3.0", "tag": "@snowplow/browser-plugin-ga-cookies_v3.3.0", diff --git a/plugins/browser-plugin-ga-cookies/CHANGELOG.md b/plugins/browser-plugin-ga-cookies/CHANGELOG.md index f51242b01..cde514507 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, 31 Jan 2022 15:58:10 GMT and should not be manually modified. +This log was last generated on Wed, 23 Feb 2022 19:27:40 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-geolocation/CHANGELOG.json b/plugins/browser-plugin-geolocation/CHANGELOG.json index 82c93fd2a..d3978ddf0 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.3.1", + "tag": "@snowplow/browser-plugin-geolocation_v3.3.1", + "date": "Wed, 23 Feb 2022 19:27:40 GMT", + "comments": {} + }, { "version": "3.3.0", "tag": "@snowplow/browser-plugin-geolocation_v3.3.0", diff --git a/plugins/browser-plugin-geolocation/CHANGELOG.md b/plugins/browser-plugin-geolocation/CHANGELOG.md index 769256aa5..a5dd368e8 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, 31 Jan 2022 15:58:10 GMT and should not be manually modified. +This log was last generated on Wed, 23 Feb 2022 19:27:40 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-link-click-tracking/CHANGELOG.json b/plugins/browser-plugin-link-click-tracking/CHANGELOG.json index 9123ab06b..89c6b342f 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.3.1", + "tag": "@snowplow/browser-plugin-link-click-tracking_v3.3.1", + "date": "Wed, 23 Feb 2022 19:27:40 GMT", + "comments": {} + }, { "version": "3.3.0", "tag": "@snowplow/browser-plugin-link-click-tracking_v3.3.0", diff --git a/plugins/browser-plugin-link-click-tracking/CHANGELOG.md b/plugins/browser-plugin-link-click-tracking/CHANGELOG.md index 197655d04..d763b3900 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, 31 Jan 2022 15:58:10 GMT and should not be manually modified. +This log was last generated on Wed, 23 Feb 2022 19:27:40 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-media-tracking/CHANGELOG.json b/plugins/browser-plugin-media-tracking/CHANGELOG.json index 1736e8f53..99e7e0881 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.3.1", + "tag": "@snowplow/browser-plugin-media-tracking_v3.3.1", + "date": "Wed, 23 Feb 2022 19:27:40 GMT", + "comments": {} + }, { "version": "3.3.0", "tag": "@snowplow/browser-plugin-media-tracking_v3.3.0", diff --git a/plugins/browser-plugin-media-tracking/CHANGELOG.md b/plugins/browser-plugin-media-tracking/CHANGELOG.md index eba9d0e3f..fb3f20821 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, 31 Jan 2022 15:58:10 GMT and should not be manually modified. +This log was last generated on Wed, 23 Feb 2022 19:27:40 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-optimizely-x/CHANGELOG.json b/plugins/browser-plugin-optimizely-x/CHANGELOG.json index ba063a35e..5cd174c4c 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.3.1", + "tag": "@snowplow/browser-plugin-optimizely-x_v3.3.1", + "date": "Wed, 23 Feb 2022 19:27:40 GMT", + "comments": {} + }, { "version": "3.3.0", "tag": "@snowplow/browser-plugin-optimizely-x_v3.3.0", diff --git a/plugins/browser-plugin-optimizely-x/CHANGELOG.md b/plugins/browser-plugin-optimizely-x/CHANGELOG.md index 96b10a4fc..e8654fd96 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, 31 Jan 2022 15:58:10 GMT and should not be manually modified. +This log was last generated on Wed, 23 Feb 2022 19:27:40 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-optimizely/CHANGELOG.json b/plugins/browser-plugin-optimizely/CHANGELOG.json index 8dcfea861..e564d366d 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.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", diff --git a/plugins/browser-plugin-optimizely/CHANGELOG.md b/plugins/browser-plugin-optimizely/CHANGELOG.md index a6e6a4fc1..3eca36b59 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, 31 Jan 2022 15:58:10 GMT and should not be manually modified. +This log was last generated on Wed, 23 Feb 2022 19:27:40 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-performance-timing/CHANGELOG.json b/plugins/browser-plugin-performance-timing/CHANGELOG.json index cbcb700aa..741d42ddf 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.3.1", + "tag": "@snowplow/browser-plugin-performance-timing_v3.3.1", + "date": "Wed, 23 Feb 2022 19:27:40 GMT", + "comments": {} + }, { "version": "3.3.0", "tag": "@snowplow/browser-plugin-performance-timing_v3.3.0", diff --git a/plugins/browser-plugin-performance-timing/CHANGELOG.md b/plugins/browser-plugin-performance-timing/CHANGELOG.md index c147a0c40..efd40d197 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, 31 Jan 2022 15:58:10 GMT and should not be manually modified. +This log was last generated on Wed, 23 Feb 2022 19:27:40 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-site-tracking/CHANGELOG.json b/plugins/browser-plugin-site-tracking/CHANGELOG.json index 58312f59f..a2f3e82e4 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.3.1", + "tag": "@snowplow/browser-plugin-site-tracking_v3.3.1", + "date": "Wed, 23 Feb 2022 19:27:40 GMT", + "comments": {} + }, { "version": "3.3.0", "tag": "@snowplow/browser-plugin-site-tracking_v3.3.0", diff --git a/plugins/browser-plugin-site-tracking/CHANGELOG.md b/plugins/browser-plugin-site-tracking/CHANGELOG.md index 3f2bfe35a..00b9b053c 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, 31 Jan 2022 15:58:10 GMT and should not be manually modified. +This log was last generated on Wed, 23 Feb 2022 19:27:40 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-timezone/CHANGELOG.json b/plugins/browser-plugin-timezone/CHANGELOG.json index dbeff5991..0c73974d9 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.3.1", + "tag": "@snowplow/browser-plugin-timezone_v3.3.1", + "date": "Wed, 23 Feb 2022 19:27:40 GMT", + "comments": {} + }, { "version": "3.3.0", "tag": "@snowplow/browser-plugin-timezone_v3.3.0", diff --git a/plugins/browser-plugin-timezone/CHANGELOG.md b/plugins/browser-plugin-timezone/CHANGELOG.md index 8cacb979a..b8f2dc73d 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, 31 Jan 2022 15:58:10 GMT and should not be manually modified. +This log was last generated on Wed, 23 Feb 2022 19:27:40 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-youtube-tracking/CHANGELOG.json b/plugins/browser-plugin-youtube-tracking/CHANGELOG.json index 567883a41..12a396fbe 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.3.1", + "tag": "@snowplow/browser-plugin-youtube-tracking_v3.3.1", + "date": "Wed, 23 Feb 2022 19:27:40 GMT", + "comments": {} + }, { "version": "3.3.0", "tag": "@snowplow/browser-plugin-youtube-tracking_v3.3.0", diff --git a/plugins/browser-plugin-youtube-tracking/CHANGELOG.md b/plugins/browser-plugin-youtube-tracking/CHANGELOG.md index 585257b40..72696ba6c 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, 31 Jan 2022 15:58:10 GMT and should not be manually modified. +This log was last generated on Wed, 23 Feb 2022 19:27:40 GMT and should not be manually modified. + +## 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 diff --git a/trackers/browser-tracker/CHANGELOG.json b/trackers/browser-tracker/CHANGELOG.json index e98bec191..a4b22f1d1 100644 --- a/trackers/browser-tracker/CHANGELOG.json +++ b/trackers/browser-tracker/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-tracker", "entries": [ + { + "version": "3.3.1", + "tag": "@snowplow/browser-tracker_v3.3.1", + "date": "Wed, 23 Feb 2022 19:27:40 GMT", + "comments": {} + }, { "version": "3.3.0", "tag": "@snowplow/browser-tracker_v3.3.0", diff --git a/trackers/browser-tracker/CHANGELOG.md b/trackers/browser-tracker/CHANGELOG.md index 70270c490..4901d7a23 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, 31 Jan 2022 15:58:10 GMT and should not be manually modified. +This log was last generated on Wed, 23 Feb 2022 19:27:40 GMT and should not be manually modified. + +## 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 diff --git a/trackers/javascript-tracker/CHANGELOG.json b/trackers/javascript-tracker/CHANGELOG.json index cc513763e..7d5414e66 100644 --- a/trackers/javascript-tracker/CHANGELOG.json +++ b/trackers/javascript-tracker/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@snowplow/javascript-tracker", "entries": [ + { + "version": "3.3.1", + "tag": "@snowplow/javascript-tracker_v3.3.1", + "date": "Wed, 23 Feb 2022 19:27:40 GMT", + "comments": { + "none": [ + { + "comment": "Pin Browser integration tests to specific versions (#1063)" + } + ] + } + }, { "version": "3.3.0", "tag": "@snowplow/javascript-tracker_v3.3.0", diff --git a/trackers/javascript-tracker/CHANGELOG.md b/trackers/javascript-tracker/CHANGELOG.md index 623272417..cb68c80ca 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 Mon, 31 Jan 2022 15:58:10 GMT and should not be manually modified. +This log was last generated on Wed, 23 Feb 2022 19:27:40 GMT and should not be manually modified. + +## 3.3.1 +Wed, 23 Feb 2022 19:27:40 GMT + +### Updates + +- Pin Browser integration tests to specific versions (#1063) ## 3.3.0 Mon, 31 Jan 2022 15:58:10 GMT diff --git a/trackers/node-tracker/CHANGELOG.json b/trackers/node-tracker/CHANGELOG.json index 93b419192..dab5025a3 100644 --- a/trackers/node-tracker/CHANGELOG.json +++ b/trackers/node-tracker/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/node-tracker", "entries": [ + { + "version": "3.3.1", + "tag": "@snowplow/node-tracker_v3.3.1", + "date": "Wed, 23 Feb 2022 19:27:40 GMT", + "comments": {} + }, { "version": "3.3.0", "tag": "@snowplow/node-tracker_v3.3.0", diff --git a/trackers/node-tracker/CHANGELOG.md b/trackers/node-tracker/CHANGELOG.md index b9b87d17e..17e8eef84 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, 31 Jan 2022 15:58:10 GMT and should not be manually modified. +This log was last generated on Wed, 23 Feb 2022 19:27:40 GMT and should not be manually modified. + +## 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 From 772b3da3619bca007fb77197294395ad81985f65 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 23 Feb 2022 19:27:40 +0000 Subject: [PATCH 015/449] Applying package updates. --- 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-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-ecommerce/package.json | 4 ++-- plugins/browser-plugin-error-tracking/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-optimizely-x/package.json | 4 ++-- plugins/browser-plugin-optimizely/package.json | 4 ++-- plugins/browser-plugin-performance-timing/package.json | 4 ++-- plugins/browser-plugin-site-tracking/package.json | 4 ++-- plugins/browser-plugin-timezone/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 +- 25 files changed, 44 insertions(+), 44 deletions(-) diff --git a/common/config/rush/version-policies.json b/common/config/rush/version-policies.json index 09daa3cfa..b421b0dd6 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.3.0", + "version": "3.3.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 6b8df7a6a..8a195567a 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.3.0", + "version": "3.3.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 7c26866d7..590fbe0a6 100644 --- a/libraries/tracker-core/package.json +++ b/libraries/tracker-core/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/tracker-core", - "version": "3.3.0", + "version": "3.3.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 71eba7af9..91e3898a3 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.3.0", + "version": "3.3.1", "description": "Ad tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -47,6 +47,6 @@ "typescript": "^4.3.5" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.3.0" + "@snowplow/browser-tracker": "~3.3.1" } } diff --git a/plugins/browser-plugin-browser-features/package.json b/plugins/browser-plugin-browser-features/package.json index 215e4a1e5..e8b70f785 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.3.0", + "version": "3.3.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.3.5" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.3.0" + "@snowplow/browser-tracker": "~3.3.1" } } diff --git a/plugins/browser-plugin-client-hints/package.json b/plugins/browser-plugin-client-hints/package.json index 7d7720f09..7d133fb7b 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.3.0", + "version": "3.3.1", "description": "Attaches Client Hints to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -44,6 +44,6 @@ "typescript": "^4.3.5" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.3.0" + "@snowplow/browser-tracker": "~3.3.1" } } diff --git a/plugins/browser-plugin-consent/package.json b/plugins/browser-plugin-consent/package.json index b2c2261d7..40ca1370e 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.3.0", + "version": "3.3.1", "description": "Consent and GDPR data for Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -47,6 +47,6 @@ "typescript": "^4.3.5" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.3.0" + "@snowplow/browser-tracker": "~3.3.1" } } diff --git a/plugins/browser-plugin-debugger/package.json b/plugins/browser-plugin-debugger/package.json index 3c488cdbf..708fd4a39 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.3.0", + "version": "3.3.1", "description": "Debugger for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -47,6 +47,6 @@ "typescript": "^4.3.5" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.3.0" + "@snowplow/browser-tracker": "~3.3.1" } } diff --git a/plugins/browser-plugin-ecommerce/package.json b/plugins/browser-plugin-ecommerce/package.json index 737ac59ac..0e3a68d4f 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.3.0", + "version": "3.3.1", "description": "Ecommerce tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -47,6 +47,6 @@ "typescript": "^4.3.5" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.3.0" + "@snowplow/browser-tracker": "~3.3.1" } } diff --git a/plugins/browser-plugin-enhanced-ecommerce/package.json b/plugins/browser-plugin-enhanced-ecommerce/package.json index f92d2e323..2bf15f9bf 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.3.0", + "version": "3.3.1", "description": "Enhanced Ecommerce tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -47,6 +47,6 @@ "typescript": "^4.3.5" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.3.0" + "@snowplow/browser-tracker": "~3.3.1" } } diff --git a/plugins/browser-plugin-error-tracking/package.json b/plugins/browser-plugin-error-tracking/package.json index 695524c53..3b081226d 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.3.0", + "version": "3.3.1", "description": "Error tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -47,6 +47,6 @@ "typescript": "^4.3.5" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.3.0" + "@snowplow/browser-tracker": "~3.3.1" } } diff --git a/plugins/browser-plugin-form-tracking/package.json b/plugins/browser-plugin-form-tracking/package.json index 94893efc9..2fdc0072f 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.3.0", + "version": "3.3.1", "description": "Form tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -45,6 +45,6 @@ "typescript": "^4.3.5" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.3.0" + "@snowplow/browser-tracker": "~3.3.1" } } diff --git a/plugins/browser-plugin-ga-cookies/package.json b/plugins/browser-plugin-ga-cookies/package.json index c6b759626..9cae74719 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.3.0", + "version": "3.3.1", "description": "Attaches GA cookie data to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -45,6 +45,6 @@ "typescript": "^4.3.5" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.3.0" + "@snowplow/browser-tracker": "~3.3.1" } } diff --git a/plugins/browser-plugin-geolocation/package.json b/plugins/browser-plugin-geolocation/package.json index 627137a32..e8eaf9b36 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.3.0", + "version": "3.3.1", "description": "Attaches Geolocation data to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -45,6 +45,6 @@ "typescript": "^4.3.5" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.3.0" + "@snowplow/browser-tracker": "~3.3.1" } } diff --git a/plugins/browser-plugin-link-click-tracking/package.json b/plugins/browser-plugin-link-click-tracking/package.json index be5c7b3f4..8783cdce5 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.3.0", + "version": "3.3.1", "description": "Link Click tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -47,6 +47,6 @@ "typescript": "^4.3.5" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.3.0" + "@snowplow/browser-tracker": "~3.3.1" } } diff --git a/plugins/browser-plugin-media-tracking/package.json b/plugins/browser-plugin-media-tracking/package.json index 3894d67b4..f73f8c3ed 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.3.0", + "version": "3.3.1", "description": "Audio/Video tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -44,6 +44,6 @@ "typescript": "^4.3.5" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.3.0" + "@snowplow/browser-tracker": "~3.3.1" } } diff --git a/plugins/browser-plugin-optimizely-x/package.json b/plugins/browser-plugin-optimizely-x/package.json index a77770b92..0e696185e 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.3.0", + "version": "3.3.1", "description": "Attaches OptimizelyX data to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -45,6 +45,6 @@ "typescript": "^4.3.5" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.3.0" + "@snowplow/browser-tracker": "~3.3.1" } } diff --git a/plugins/browser-plugin-optimizely/package.json b/plugins/browser-plugin-optimizely/package.json index ee9641ee0..0be51c131 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.3.0", + "version": "3.3.1", "description": "Attaches Optimizely data to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -45,6 +45,6 @@ "typescript": "^4.3.5" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.3.0" + "@snowplow/browser-tracker": "~3.3.1" } } diff --git a/plugins/browser-plugin-performance-timing/package.json b/plugins/browser-plugin-performance-timing/package.json index 0c47796b0..4c8d14a62 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.3.0", + "version": "3.3.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.3.5" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.3.0" + "@snowplow/browser-tracker": "~3.3.1" } } diff --git a/plugins/browser-plugin-site-tracking/package.json b/plugins/browser-plugin-site-tracking/package.json index 78d687e4d..bce9d6163 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.3.0", + "version": "3.3.1", "description": "Site tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -47,6 +47,6 @@ "typescript": "^4.3.5" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.3.0" + "@snowplow/browser-tracker": "~3.3.1" } } diff --git a/plugins/browser-plugin-timezone/package.json b/plugins/browser-plugin-timezone/package.json index f197f1730..79ee83172 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.3.0", + "version": "3.3.1", "description": "Attaches timezone to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -49,6 +49,6 @@ "typescript": "^4.3.5" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.3.0" + "@snowplow/browser-tracker": "~3.3.1" } } diff --git a/plugins/browser-plugin-youtube-tracking/package.json b/plugins/browser-plugin-youtube-tracking/package.json index 6033692ba..2dba67942 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.3.0", + "version": "3.3.1", "description": "YouTube tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -45,6 +45,6 @@ "@types/youtube": "^0.0.46" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.3.0" + "@snowplow/browser-tracker": "~3.3.1" } } diff --git a/trackers/browser-tracker/package.json b/trackers/browser-tracker/package.json index e2af95abd..cb80c7edb 100644 --- a/trackers/browser-tracker/package.json +++ b/trackers/browser-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-tracker", - "version": "3.3.0", + "version": "3.3.1", "description": "Browser tracker for Snowplow", "keywords": [ "tracking", diff --git a/trackers/javascript-tracker/package.json b/trackers/javascript-tracker/package.json index fb764de1c..8127ff594 100644 --- a/trackers/javascript-tracker/package.json +++ b/trackers/javascript-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/javascript-tracker", - "version": "3.3.0", + "version": "3.3.1", "description": "Web analytics for Snowplow", "keywords": [ "tracking", diff --git a/trackers/node-tracker/package.json b/trackers/node-tracker/package.json index 33023a6ff..373367151 100644 --- a/trackers/node-tracker/package.json +++ b/trackers/node-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/node-tracker", - "version": "3.3.0", + "version": "3.3.1", "description": "Node tracker for Snowplow", "keywords": [ "snowplow", From 62e839d2464db7625d9091f8b6e94c35fed29a59 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 23 Feb 2022 19:30:51 +0000 Subject: [PATCH 016/449] Applying documentation updates. From 00fb2b922e19ef66512d96b78ac81011ebe6899f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mat=C3=BA=C5=A1=20Tomlein?= Date: Wed, 23 Mar 2022 12:35:36 +0100 Subject: [PATCH 017/449] Bump dependencies (close #1067) PR #1068 Bumped: - saucelabs (7.1.3) - @types/sha1 (1.1.2) - @types/dockerode (3.3.5) - @types/lodash (4.14.180) - sinon (10.0.11) - nock (13.2.4) - ts-node (10.7.0) - ava (4.1.0) - jest (27.5.1) - eslint (8.11.0) - typescript (4.6.2) - rollup (2.70.1) - chromedriver to 99.0.0 - prettier to 2.5.1 - pnpm to 6.27.1 - dockerode to 3.3.1 - snowplow-micro to 1.2.1 - Rush to 5.61.1 - webdriverio to 7.19.3 Co-authored-by: Paul Boocock --- .../autoinstallers/rush-prettier/package.json | 5 +- .../rush-prettier/pnpm-lock.yaml | 576 +- ...67-bump_dependencies_2022-03-22-14-35.json | 10 + ...67-bump_dependencies_2022-03-22-14-35.json | 10 + ...67-bump_dependencies_2022-03-22-14-35.json | 10 + ...67-bump_dependencies_2022-03-22-14-35.json | 10 + ...67-bump_dependencies_2022-03-22-14-35.json | 10 + ...67-bump_dependencies_2022-03-22-14-35.json | 10 + ...67-bump_dependencies_2022-03-22-14-35.json | 10 + ...67-bump_dependencies_2022-03-22-14-35.json | 10 + ...67-bump_dependencies_2022-03-22-14-35.json | 10 + ...67-bump_dependencies_2022-03-22-14-35.json | 10 + ...67-bump_dependencies_2022-03-22-14-35.json | 10 + ...67-bump_dependencies_2022-03-22-14-35.json | 10 + ...67-bump_dependencies_2022-03-22-14-35.json | 10 + ...67-bump_dependencies_2022-03-22-14-35.json | 10 + ...67-bump_dependencies_2022-03-22-14-35.json | 10 + ...67-bump_dependencies_2022-03-22-14-35.json | 10 + ...67-bump_dependencies_2022-03-22-14-35.json | 10 + ...67-bump_dependencies_2022-03-22-14-35.json | 10 + ...67-bump_dependencies_2022-03-22-14-35.json | 10 + ...67-bump_dependencies_2022-03-22-14-35.json | 10 + ...67-bump_dependencies_2022-03-22-14-35.json | 10 + ...67-bump_dependencies_2022-03-22-14-35.json | 10 + ...67-bump_dependencies_2022-03-22-14-35.json | 10 + ...67-bump_dependencies_2022-03-22-14-35.json | 10 + .../rush/browser-approved-packages.json | 10 +- common/config/rush/command-line.json | 3 +- common/config/rush/pnpm-lock.yaml | 8819 +++++++---------- common/config/rush/repo-state.json | 2 +- common/scripts/install-run-rush.js | 8 +- common/scripts/install-run.js | 2 +- libraries/browser-tracker-core/package.json | 46 +- libraries/browser-tracker-core/src/helpers.ts | 21 +- .../browser-tracker-core/src/tracker/index.ts | 11 +- .../test/out_queue.test.ts | 19 +- libraries/tracker-core/package.json | 38 +- libraries/tracker-core/src/logger.ts | 8 +- .../browser-plugin-ad-tracking/jest.config.js | 1 + .../browser-plugin-ad-tracking/package.json | 43 +- .../package.json | 42 +- .../browser-plugin-client-hints/package.json | 37 +- plugins/browser-plugin-consent/jest.config.js | 1 + plugins/browser-plugin-consent/package.json | 43 +- plugins/browser-plugin-debugger/package.json | 39 +- .../browser-plugin-ecommerce/jest.config.js | 1 + plugins/browser-plugin-ecommerce/package.json | 43 +- .../jest.config.js | 2 +- .../package.json | 43 +- .../jest.config.js | 1 + .../package.json | 43 +- .../browser-plugin-form-tracking/package.json | 37 +- .../browser-plugin-ga-cookies/package.json | 37 +- .../browser-plugin-geolocation/package.json | 37 +- .../jest.config.js | 1 + .../package.json | 43 +- .../.prettierignore | 84 - .../browser-plugin-media-tracking/.prettierrc | 7 - .../jest.config.js | 2 +- .../package.json | 37 +- .../browser-plugin-optimizely-x/package.json | 37 +- .../browser-plugin-optimizely/package.json | 37 +- .../package.json | 42 +- .../jest.config.js | 1 + .../browser-plugin-site-tracking/package.json | 43 +- .../browser-plugin-timezone/jest.config.js | 2 +- plugins/browser-plugin-timezone/package.json | 42 +- .../.prettierignore | 84 - .../.prettierrc | 7 - .../jest.config.js | 2 +- .../package.json | 39 +- rush.json | 7 +- trackers/browser-tracker/package.json | 46 +- trackers/javascript-tracker/jest.config.js | 2 +- trackers/javascript-tracker/package.json | 84 +- trackers/javascript-tracker/rollup.config.js | 2 +- .../javascript-tracker/rollup.config.test.js | 2 +- trackers/javascript-tracker/src/features.ts | 2 +- .../test/functional/activityCallback.test.ts | 63 +- .../test/functional/cookies.test.ts | 20 +- .../test/integration/autoTracking.test.ts | 138 +- .../test/integration/cookieless.test.ts | 34 +- .../test/integration/helpers.ts | 67 + .../test/integration/integration.test.ts | 54 +- .../test/integration/media.test.ts | 250 +- .../test/integration/sessionStorage.test.ts | 28 +- .../test/integration/youtube.test.ts | 180 +- trackers/javascript-tracker/test/micro.ts | 12 +- .../test/pages/activity-callback.html | 9 +- .../javascript-tracker/test/tsconfig.json | 7 + ...o.default.conf.js => wdio.default.conf.ts} | 9 +- ...{wdio.local.conf.js => wdio.local.conf.ts} | 6 +- ...{wdio.sauce.conf.js => wdio.sauce.conf.ts} | 30 +- trackers/javascript-tracker/tracker.config.ts | 38 +- .../javascript-tracker/tracker.lite.config.ts | 38 +- .../javascript-tracker/tracker.test.config.ts | 38 +- trackers/javascript-tracker/tsconfig.json | 8 +- .../javascript-tracker/tsconfig.prod.json | 7 - trackers/node-tracker/package.json | 32 +- trackers/node-tracker/test/got_emitter.ts | 396 +- trackers/node-tracker/test/tracker.ts | 583 +- trackers/node-tracker/tsconfig.json | 1 + 102 files changed, 5657 insertions(+), 7304 deletions(-) create mode 100644 common/changes/@snowplow/browser-plugin-ad-tracking/issue-1067-bump_dependencies_2022-03-22-14-35.json create mode 100644 common/changes/@snowplow/browser-plugin-browser-features/issue-1067-bump_dependencies_2022-03-22-14-35.json create mode 100644 common/changes/@snowplow/browser-plugin-client-hints/issue-1067-bump_dependencies_2022-03-22-14-35.json create mode 100644 common/changes/@snowplow/browser-plugin-consent/issue-1067-bump_dependencies_2022-03-22-14-35.json create mode 100644 common/changes/@snowplow/browser-plugin-debugger/issue-1067-bump_dependencies_2022-03-22-14-35.json create mode 100644 common/changes/@snowplow/browser-plugin-ecommerce/issue-1067-bump_dependencies_2022-03-22-14-35.json create mode 100644 common/changes/@snowplow/browser-plugin-enhanced-ecommerce/issue-1067-bump_dependencies_2022-03-22-14-35.json create mode 100644 common/changes/@snowplow/browser-plugin-error-tracking/issue-1067-bump_dependencies_2022-03-22-14-35.json create mode 100644 common/changes/@snowplow/browser-plugin-form-tracking/issue-1067-bump_dependencies_2022-03-22-14-35.json create mode 100644 common/changes/@snowplow/browser-plugin-ga-cookies/issue-1067-bump_dependencies_2022-03-22-14-35.json create mode 100644 common/changes/@snowplow/browser-plugin-geolocation/issue-1067-bump_dependencies_2022-03-22-14-35.json create mode 100644 common/changes/@snowplow/browser-plugin-link-click-tracking/issue-1067-bump_dependencies_2022-03-22-14-35.json create mode 100644 common/changes/@snowplow/browser-plugin-media-tracking/issue-1067-bump_dependencies_2022-03-22-14-35.json create mode 100644 common/changes/@snowplow/browser-plugin-optimizely-x/issue-1067-bump_dependencies_2022-03-22-14-35.json create mode 100644 common/changes/@snowplow/browser-plugin-optimizely/issue-1067-bump_dependencies_2022-03-22-14-35.json create mode 100644 common/changes/@snowplow/browser-plugin-performance-timing/issue-1067-bump_dependencies_2022-03-22-14-35.json create mode 100644 common/changes/@snowplow/browser-plugin-site-tracking/issue-1067-bump_dependencies_2022-03-22-14-35.json create mode 100644 common/changes/@snowplow/browser-plugin-timezone/issue-1067-bump_dependencies_2022-03-22-14-35.json create mode 100644 common/changes/@snowplow/browser-plugin-youtube-tracking/issue-1067-bump_dependencies_2022-03-22-14-35.json create mode 100644 common/changes/@snowplow/browser-tracker-core/issue-1067-bump_dependencies_2022-03-22-14-35.json create mode 100644 common/changes/@snowplow/browser-tracker/issue-1067-bump_dependencies_2022-03-22-14-35.json create mode 100644 common/changes/@snowplow/javascript-tracker/issue-1067-bump_dependencies_2022-03-22-14-35.json create mode 100644 common/changes/@snowplow/node-tracker/issue-1067-bump_dependencies_2022-03-22-14-35.json create mode 100644 common/changes/@snowplow/tracker-core/issue-1067-bump_dependencies_2022-03-22-14-35.json delete mode 100644 plugins/browser-plugin-media-tracking/.prettierignore delete mode 100644 plugins/browser-plugin-media-tracking/.prettierrc delete mode 100644 plugins/browser-plugin-youtube-tracking/.prettierignore delete mode 100644 plugins/browser-plugin-youtube-tracking/.prettierrc create mode 100644 trackers/javascript-tracker/test/integration/helpers.ts create mode 100644 trackers/javascript-tracker/test/tsconfig.json rename trackers/javascript-tracker/test/{wdio.default.conf.js => wdio.default.conf.ts} (52%) rename trackers/javascript-tracker/test/{wdio.local.conf.js => wdio.local.conf.ts} (79%) rename trackers/javascript-tracker/test/{wdio.sauce.conf.js => wdio.sauce.conf.ts} (83%) delete mode 100644 trackers/javascript-tracker/tsconfig.prod.json diff --git a/common/autoinstallers/rush-prettier/package.json b/common/autoinstallers/rush-prettier/package.json index c93c7f198..bcd2c466b 100644 --- a/common/autoinstallers/rush-prettier/package.json +++ b/common/autoinstallers/rush-prettier/package.json @@ -3,8 +3,7 @@ "version": "1.0.0", "private": true, "dependencies": { - "prettier": "^2.3.2", - "prettier-plugin-packagejson": "^2.2.11", - "pretty-quick": "^3.1.1" + "prettier": "^2.5.1", + "pretty-quick": "^3.1.3" } } diff --git a/common/autoinstallers/rush-prettier/pnpm-lock.yaml b/common/autoinstallers/rush-prettier/pnpm-lock.yaml index 0334ee491..d0e063911 100644 --- a/common/autoinstallers/rush-prettier/pnpm-lock.yaml +++ b/common/autoinstallers/rush-prettier/pnpm-lock.yaml @@ -1,155 +1,93 @@ +lockfileVersion: 5.3 + +specifiers: + prettier: ^2.5.1 + pretty-quick: ^3.1.3 + dependencies: - prettier: 2.3.2 - prettier-plugin-packagejson: 2.2.11_prettier@2.3.2 - pretty-quick: 3.1.1_prettier@2.3.2 -lockfileVersion: 5.2 + prettier: 2.5.1 + pretty-quick: 3.1.3_prettier@2.5.1 + packages: - /@nodelib/fs.scandir/2.1.5: - dependencies: - '@nodelib/fs.stat': 2.0.5 - run-parallel: 1.2.0 - dev: false - engines: - node: '>= 8' - resolution: - integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== - /@nodelib/fs.stat/2.0.5: - dev: false - engines: - node: '>= 8' - resolution: - integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== - /@nodelib/fs.walk/1.2.8: - dependencies: - '@nodelib/fs.scandir': 2.1.5 - fastq: 1.11.1 - dev: false - engines: - node: '>= 8' - resolution: - integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== - /@types/glob/7.1.4: - dependencies: - '@types/minimatch': 3.0.5 - '@types/node': 16.4.10 - dev: false - resolution: - integrity: sha512-w+LsMxKyYQm347Otw+IfBXOv9UWVjpHpCDdbBMt8Kz/xbvCYNjP+0qPh91Km3iKfSRLBB0P7fAMf0KHrPu+MyA== + /@types/minimatch/3.0.5: + resolution: {integrity: sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==} dev: false - resolution: - integrity: sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ== - /@types/node/16.4.10: - dev: false - resolution: - integrity: sha512-TmVHsm43br64js9BqHWqiDZA+xMtbUpI1MBIA0EyiBmoV9pcEYFOSdj5fr6enZNfh4fChh+AGOLIzGwJnkshyQ== + /ansi-styles/4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} dependencies: color-convert: 2.0.1 dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + /array-differ/3.0.0: + resolution: {integrity: sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==} + engines: {node: '>=8'} dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg== + /array-union/2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== + /arrify/2.0.1: + resolution: {integrity: sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==} + engines: {node: '>=8'} dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug== + /balanced-match/1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} dev: false - resolution: - integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + /brace-expansion/1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} dependencies: balanced-match: 1.0.2 concat-map: 0.0.1 dev: false - resolution: - integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - /braces/3.0.2: - dependencies: - fill-range: 7.0.1 - dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + /chalk/3.0.0: + resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==} + engines: {node: '>=8'} dependencies: ansi-styles: 4.3.0 supports-color: 7.2.0 dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== + /color-convert/2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} dependencies: color-name: 1.1.4 dev: false - engines: - node: '>=7.0.0' - resolution: - integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + /color-name/1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} dev: false - resolution: - integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + /concat-map/0.0.1: + resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=} dev: false - resolution: - integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + /cross-spawn/7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} dependencies: path-key: 3.1.1 shebang-command: 2.0.0 which: 2.0.2 dev: false - engines: - node: '>= 8' - resolution: - integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== - /detect-indent/6.1.0: - dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA== - /detect-newline/3.1.0: - dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== - /dir-glob/3.0.1: - dependencies: - path-type: 4.0.0 - dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== + /end-of-stream/1.4.4: + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} dependencies: once: 1.4.0 dev: false - resolution: - integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== + /execa/4.1.0: + resolution: {integrity: sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==} + engines: {node: '>=10'} dependencies: cross-spawn: 7.0.3 get-stream: 5.2.0 @@ -158,209 +96,79 @@ packages: merge-stream: 2.0.0 npm-run-path: 4.0.1 onetime: 5.1.2 - signal-exit: 3.0.3 + signal-exit: 3.0.6 strip-final-newline: 2.0.0 dev: false - engines: - node: '>=10' - resolution: - integrity: sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA== - /fast-glob/3.2.7: - dependencies: - '@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: false - engines: - node: '>=8' - resolution: - integrity: sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q== - /fastq/1.11.1: - dependencies: - reusify: 1.0.4 - dev: false - resolution: - integrity: sha512-HOnr8Mc60eNYl1gzwp6r5RoUyAn5/glBolUzP/Ez6IFVPMPirxn/9phgL6zhOtaTy7ISwPvQ+wT+hfcRZh/bzw== - /fill-range/7.0.1: - dependencies: - to-regex-range: 5.0.1 - dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + /find-up/4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} dependencies: locate-path: 5.0.0 path-exists: 4.0.0 dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== - /fs.realpath/1.0.0: - dev: false - resolution: - integrity: sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + /get-stream/5.2.0: + resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} + engines: {node: '>=8'} dependencies: pump: 3.0.0 dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== - /git-hooks-list/1.0.3: - dev: false - resolution: - integrity: sha512-Y7wLWcrLUXwk2noSka166byGCvhMtDRpgHdzCno1UQv/n/Hegp++a2xBWJL1lJarnKD3SWaljD+0z1ztqxuKyQ== - /glob-parent/5.1.2: - dependencies: - is-glob: 4.0.1 - dev: false - engines: - node: '>= 6' - resolution: - integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== - /glob/7.1.7: - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.0.4 - once: 1.4.0 - path-is-absolute: 1.0.1 - dev: false - resolution: - integrity: sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== - /globby/10.0.0: - dependencies: - '@types/glob': 7.1.4 - array-union: 2.1.0 - dir-glob: 3.0.1 - fast-glob: 3.2.7 - glob: 7.1.7 - ignore: 5.1.8 - merge2: 1.4.1 - slash: 3.0.0 - dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-3LifW9M4joGZasyYPz2A1U74zbC/45fvpXUvO/9KbSa+VV0aGZarWkfdgKyR9sExNP0t0x0ss/UMJpNpcaTspw== + /has-flag/4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + /human-signals/1.1.1: + resolution: {integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==} + engines: {node: '>=8.12.0'} dev: false - engines: - node: '>=8.12.0' - resolution: - integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== - /ignore/5.1.8: - dev: false - engines: - node: '>= 4' - resolution: - integrity: sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== - /inflight/1.0.6: - dependencies: - once: 1.4.0 - wrappy: 1.0.2 - dev: false - resolution: - integrity: sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= - /inherits/2.0.4: + + /ignore/5.2.0: + resolution: {integrity: sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==} + engines: {node: '>= 4'} dev: false - resolution: - integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - /is-extglob/2.1.1: - dev: false - engines: - node: '>=0.10.0' - resolution: - integrity: sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= - /is-glob/4.0.1: - dependencies: - is-extglob: 2.1.1 - dev: false - engines: - node: '>=0.10.0' - resolution: - integrity: sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== - /is-number/7.0.0: - dev: false - engines: - node: '>=0.12.0' - resolution: - integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - /is-plain-obj/2.1.0: - dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== + /is-stream/2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== + /isexe/2.0.0: + resolution: {integrity: sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=} dev: false - resolution: - integrity: sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= + /locate-path/5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} dependencies: p-locate: 4.1.0 dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + /merge-stream/2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} dev: false - resolution: - integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== - /merge2/1.4.1: - dev: false - engines: - node: '>= 8' - resolution: - integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== - /micromatch/4.0.4: - dependencies: - braces: 3.0.2 - picomatch: 2.3.0 - dev: false - engines: - node: '>=8.6' - resolution: - integrity: sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== + /mimic-fn/2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} dev: false - engines: - node: '>=6' - resolution: - integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + /minimatch/3.0.4: + resolution: {integrity: sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==} dependencies: brace-expansion: 1.1.11 dev: false - resolution: - integrity: sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== - /mri/1.1.6: + + /mri/1.2.0: + resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} + engines: {node: '>=4'} dev: false - engines: - node: '>=4' - resolution: - integrity: sha512-oi1b3MfbyGa7FJMP9GmLTttni5JoICpYBRlq+x5V16fZbLsnL9N3wFqqIm/nIG43FjUFkFh9Epzp/kzUGUnJxQ== + /multimatch/4.0.0: + resolution: {integrity: sha512-lDmx79y1z6i7RNx0ZGCPq1bzJ6ZoDDKbvh7jxr9SJcWLkShMzXrHbYVpTdnhNM5MXpDUxCQ4DgqVttVXlBgiBQ==} + engines: {node: '>=8'} dependencies: '@types/minimatch': 3.0.5 array-differ: 3.0.0 @@ -368,217 +176,121 @@ packages: arrify: 2.0.1 minimatch: 3.0.4 dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-lDmx79y1z6i7RNx0ZGCPq1bzJ6ZoDDKbvh7jxr9SJcWLkShMzXrHbYVpTdnhNM5MXpDUxCQ4DgqVttVXlBgiBQ== + /npm-run-path/4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} dependencies: path-key: 3.1.1 dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== + /once/1.4.0: + resolution: {integrity: sha1-WDsap3WWHUsROsF9nFC6753Xa9E=} dependencies: wrappy: 1.0.2 dev: false - resolution: - integrity: sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + /onetime/5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} dependencies: mimic-fn: 2.1.0 dev: false - engines: - node: '>=6' - resolution: - integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== + /p-limit/2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} dependencies: p-try: 2.2.0 dev: false - engines: - node: '>=6' - resolution: - integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + /p-locate/4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} dependencies: p-limit: 2.3.0 dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== + /p-try/2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} dev: false - engines: - node: '>=6' - resolution: - integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + /path-exists/4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - /path-is-absolute/1.0.1: - dev: false - engines: - node: '>=0.10.0' - resolution: - integrity: sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + /path-key/3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== - /path-type/4.0.0: - dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== - /picomatch/2.3.0: - dev: false - engines: - node: '>=8.6' - resolution: - integrity: sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== - /prettier-plugin-packagejson/2.2.11_prettier@2.3.2: - dependencies: - prettier: 2.3.2 - sort-package-json: 1.50.0 - dev: false - peerDependencies: - prettier: '>= 1.16.0' - resolution: - integrity: sha512-oJCBCEkHIKScEv6qNQC47S39NXlevbzwvoJE3gflmBB8/3BEsC6ZRi+hwFVajw32b4tDI9hFXPIzmVd/T8Rm9w== - /prettier/2.3.2: + + /prettier/2.5.1: + resolution: {integrity: sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg==} + engines: {node: '>=10.13.0'} + hasBin: true dev: false - engines: - node: '>=10.13.0' + + /pretty-quick/3.1.3_prettier@2.5.1: + resolution: {integrity: sha512-kOCi2FJabvuh1as9enxYmrnBC6tVMoVOenMaBqRfsvBHB0cbpYHjdQEpSglpASDFEXVwplpcGR4CLEaisYAFcA==} + engines: {node: '>=10.13'} hasBin: true - resolution: - integrity: sha512-lnJzDfJ66zkMy58OL5/NY5zp70S7Nz6KqcKkXYzn2tMVrNxvbqaBpg7H3qHaLxCJ5lNMsGuM8+ohS7cZrthdLQ== - /pretty-quick/3.1.1_prettier@2.3.2: + peerDependencies: + prettier: '>=2.0.0' dependencies: chalk: 3.0.0 execa: 4.1.0 find-up: 4.1.0 - ignore: 5.1.8 - mri: 1.1.6 + ignore: 5.2.0 + mri: 1.2.0 multimatch: 4.0.0 - prettier: 2.3.2 + prettier: 2.5.1 dev: false - engines: - node: '>=10.13' - hasBin: true - peerDependencies: - prettier: '>=2.0.0' - resolution: - integrity: sha512-ZYLGiMoV2jcaas3vTJrLvKAYsxDoXQBUn8OSTxkl67Fyov9lyXivJTl0+2WVh+y6EovGcw7Lm5ThYpH+Sh3XxQ== + /pump/3.0.0: + resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} dependencies: end-of-stream: 1.4.4 once: 1.4.0 dev: false - resolution: - integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== - /queue-microtask/1.2.3: - dev: false - resolution: - integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== - /reusify/1.0.4: - dev: false - engines: - iojs: '>=1.0.0' - node: '>=0.10.0' - resolution: - integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== - /run-parallel/1.2.0: - dependencies: - queue-microtask: 1.2.3 - dev: false - resolution: - integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + /shebang-command/2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} dependencies: shebang-regex: 3.0.0 dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + /shebang-regex/3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== - /signal-exit/3.0.3: - dev: false - resolution: - integrity: sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== - /slash/3.0.0: - dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - /sort-object-keys/1.1.3: - dev: false - resolution: - integrity: sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg== - /sort-package-json/1.50.0: - dependencies: - detect-indent: 6.1.0 - detect-newline: 3.1.0 - git-hooks-list: 1.0.3 - globby: 10.0.0 - is-plain-obj: 2.1.0 - sort-object-keys: 1.1.3 + + /signal-exit/3.0.6: + resolution: {integrity: sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==} dev: false - hasBin: true - resolution: - integrity: sha512-qZpqhMU9XTntebgAgc4hv/D6Fzhh7kFnwvV6a7+q8y8J5JoaDqPYQnvXPf7BBqG95tdE8X6JVNo7/jDzcbdfUg== + /strip-final-newline/2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} dev: false - engines: - node: '>=6' - resolution: - integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== + /supports-color/7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} dependencies: has-flag: 4.0.0 dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== - /to-regex-range/5.0.1: - dependencies: - is-number: 7.0.0 - dev: false - engines: - node: '>=8.0' - resolution: - integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + /which/2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true dependencies: isexe: 2.0.0 dev: false - engines: - node: '>= 8' - hasBin: true - resolution: - integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + /wrappy/1.0.2: + resolution: {integrity: sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=} dev: false - resolution: - integrity: sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= -specifiers: - prettier: ^2.3.2 - prettier-plugin-packagejson: ^2.2.11 - pretty-quick: ^3.1.1 diff --git a/common/changes/@snowplow/browser-plugin-ad-tracking/issue-1067-bump_dependencies_2022-03-22-14-35.json b/common/changes/@snowplow/browser-plugin-ad-tracking/issue-1067-bump_dependencies_2022-03-22-14-35.json new file mode 100644 index 000000000..63c552aa7 --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-ad-tracking/issue-1067-bump_dependencies_2022-03-22-14-35.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-ad-tracking", + "comment": "Bump dependencies (#1067)", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-ad-tracking" +} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-browser-features/issue-1067-bump_dependencies_2022-03-22-14-35.json b/common/changes/@snowplow/browser-plugin-browser-features/issue-1067-bump_dependencies_2022-03-22-14-35.json new file mode 100644 index 000000000..909508ff2 --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-browser-features/issue-1067-bump_dependencies_2022-03-22-14-35.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-browser-features", + "comment": "Bump dependencies (#1067)", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-browser-features" +} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-client-hints/issue-1067-bump_dependencies_2022-03-22-14-35.json b/common/changes/@snowplow/browser-plugin-client-hints/issue-1067-bump_dependencies_2022-03-22-14-35.json new file mode 100644 index 000000000..cee8be04a --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-client-hints/issue-1067-bump_dependencies_2022-03-22-14-35.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-client-hints", + "comment": "Bump dependencies (#1067)", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-client-hints" +} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-consent/issue-1067-bump_dependencies_2022-03-22-14-35.json b/common/changes/@snowplow/browser-plugin-consent/issue-1067-bump_dependencies_2022-03-22-14-35.json new file mode 100644 index 000000000..34f5d6716 --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-consent/issue-1067-bump_dependencies_2022-03-22-14-35.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-consent", + "comment": "Bump dependencies (#1067)", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-consent" +} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-debugger/issue-1067-bump_dependencies_2022-03-22-14-35.json b/common/changes/@snowplow/browser-plugin-debugger/issue-1067-bump_dependencies_2022-03-22-14-35.json new file mode 100644 index 000000000..aa9a63cc8 --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-debugger/issue-1067-bump_dependencies_2022-03-22-14-35.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-debugger", + "comment": "Bump dependencies (#1067)", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-debugger" +} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-ecommerce/issue-1067-bump_dependencies_2022-03-22-14-35.json b/common/changes/@snowplow/browser-plugin-ecommerce/issue-1067-bump_dependencies_2022-03-22-14-35.json new file mode 100644 index 000000000..d586fabac --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-ecommerce/issue-1067-bump_dependencies_2022-03-22-14-35.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-ecommerce", + "comment": "Bump dependencies (#1067)", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-ecommerce" +} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-enhanced-ecommerce/issue-1067-bump_dependencies_2022-03-22-14-35.json b/common/changes/@snowplow/browser-plugin-enhanced-ecommerce/issue-1067-bump_dependencies_2022-03-22-14-35.json new file mode 100644 index 000000000..f6658104e --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-enhanced-ecommerce/issue-1067-bump_dependencies_2022-03-22-14-35.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-enhanced-ecommerce", + "comment": "Bump dependencies (#1067)", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-enhanced-ecommerce" +} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-error-tracking/issue-1067-bump_dependencies_2022-03-22-14-35.json b/common/changes/@snowplow/browser-plugin-error-tracking/issue-1067-bump_dependencies_2022-03-22-14-35.json new file mode 100644 index 000000000..5718a95bd --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-error-tracking/issue-1067-bump_dependencies_2022-03-22-14-35.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-error-tracking", + "comment": "Bump dependencies (#1067)", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-error-tracking" +} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-form-tracking/issue-1067-bump_dependencies_2022-03-22-14-35.json b/common/changes/@snowplow/browser-plugin-form-tracking/issue-1067-bump_dependencies_2022-03-22-14-35.json new file mode 100644 index 000000000..559150e0b --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-form-tracking/issue-1067-bump_dependencies_2022-03-22-14-35.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-form-tracking", + "comment": "Bump dependencies (#1067)", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-form-tracking" +} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-ga-cookies/issue-1067-bump_dependencies_2022-03-22-14-35.json b/common/changes/@snowplow/browser-plugin-ga-cookies/issue-1067-bump_dependencies_2022-03-22-14-35.json new file mode 100644 index 000000000..fe80cb13b --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-ga-cookies/issue-1067-bump_dependencies_2022-03-22-14-35.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-ga-cookies", + "comment": "Bump dependencies (#1067)", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-ga-cookies" +} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-geolocation/issue-1067-bump_dependencies_2022-03-22-14-35.json b/common/changes/@snowplow/browser-plugin-geolocation/issue-1067-bump_dependencies_2022-03-22-14-35.json new file mode 100644 index 000000000..db09f2d8d --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-geolocation/issue-1067-bump_dependencies_2022-03-22-14-35.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-geolocation", + "comment": "Bump dependencies (#1067)", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-geolocation" +} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-link-click-tracking/issue-1067-bump_dependencies_2022-03-22-14-35.json b/common/changes/@snowplow/browser-plugin-link-click-tracking/issue-1067-bump_dependencies_2022-03-22-14-35.json new file mode 100644 index 000000000..bafcb41d3 --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-link-click-tracking/issue-1067-bump_dependencies_2022-03-22-14-35.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-link-click-tracking", + "comment": "Bump dependencies (#1067)", + "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/issue-1067-bump_dependencies_2022-03-22-14-35.json b/common/changes/@snowplow/browser-plugin-media-tracking/issue-1067-bump_dependencies_2022-03-22-14-35.json new file mode 100644 index 000000000..1bc1503be --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-media-tracking/issue-1067-bump_dependencies_2022-03-22-14-35.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-media-tracking", + "comment": "Bump dependencies (#1067)", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-media-tracking" +} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-optimizely-x/issue-1067-bump_dependencies_2022-03-22-14-35.json b/common/changes/@snowplow/browser-plugin-optimizely-x/issue-1067-bump_dependencies_2022-03-22-14-35.json new file mode 100644 index 000000000..65c6984e3 --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-optimizely-x/issue-1067-bump_dependencies_2022-03-22-14-35.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-optimizely-x", + "comment": "Bump dependencies (#1067)", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-optimizely-x" +} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-optimizely/issue-1067-bump_dependencies_2022-03-22-14-35.json b/common/changes/@snowplow/browser-plugin-optimizely/issue-1067-bump_dependencies_2022-03-22-14-35.json new file mode 100644 index 000000000..99e812383 --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-optimizely/issue-1067-bump_dependencies_2022-03-22-14-35.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-optimizely", + "comment": "Bump dependencies (#1067)", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-optimizely" +} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-performance-timing/issue-1067-bump_dependencies_2022-03-22-14-35.json b/common/changes/@snowplow/browser-plugin-performance-timing/issue-1067-bump_dependencies_2022-03-22-14-35.json new file mode 100644 index 000000000..59d07b041 --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-performance-timing/issue-1067-bump_dependencies_2022-03-22-14-35.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-performance-timing", + "comment": "Bump dependencies (#1067)", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-performance-timing" +} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-site-tracking/issue-1067-bump_dependencies_2022-03-22-14-35.json b/common/changes/@snowplow/browser-plugin-site-tracking/issue-1067-bump_dependencies_2022-03-22-14-35.json new file mode 100644 index 000000000..0fde10633 --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-site-tracking/issue-1067-bump_dependencies_2022-03-22-14-35.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-site-tracking", + "comment": "Bump dependencies (#1067)", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-site-tracking" +} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-timezone/issue-1067-bump_dependencies_2022-03-22-14-35.json b/common/changes/@snowplow/browser-plugin-timezone/issue-1067-bump_dependencies_2022-03-22-14-35.json new file mode 100644 index 000000000..4d8ea0ca5 --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-timezone/issue-1067-bump_dependencies_2022-03-22-14-35.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-timezone", + "comment": "Bump dependencies (#1067)", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-timezone" +} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-youtube-tracking/issue-1067-bump_dependencies_2022-03-22-14-35.json b/common/changes/@snowplow/browser-plugin-youtube-tracking/issue-1067-bump_dependencies_2022-03-22-14-35.json new file mode 100644 index 000000000..589a47282 --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-youtube-tracking/issue-1067-bump_dependencies_2022-03-22-14-35.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-youtube-tracking", + "comment": "Bump dependencies (#1067)", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-youtube-tracking" +} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-tracker-core/issue-1067-bump_dependencies_2022-03-22-14-35.json b/common/changes/@snowplow/browser-tracker-core/issue-1067-bump_dependencies_2022-03-22-14-35.json new file mode 100644 index 000000000..03bd0b570 --- /dev/null +++ b/common/changes/@snowplow/browser-tracker-core/issue-1067-bump_dependencies_2022-03-22-14-35.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-tracker-core", + "comment": "Bump dependencies (#1067)", + "type": "none" + } + ], + "packageName": "@snowplow/browser-tracker-core" +} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-tracker/issue-1067-bump_dependencies_2022-03-22-14-35.json b/common/changes/@snowplow/browser-tracker/issue-1067-bump_dependencies_2022-03-22-14-35.json new file mode 100644 index 000000000..d0485ae29 --- /dev/null +++ b/common/changes/@snowplow/browser-tracker/issue-1067-bump_dependencies_2022-03-22-14-35.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-tracker", + "comment": "Bump dependencies (#1067)", + "type": "none" + } + ], + "packageName": "@snowplow/browser-tracker" +} \ No newline at end of file diff --git a/common/changes/@snowplow/javascript-tracker/issue-1067-bump_dependencies_2022-03-22-14-35.json b/common/changes/@snowplow/javascript-tracker/issue-1067-bump_dependencies_2022-03-22-14-35.json new file mode 100644 index 000000000..47baf5004 --- /dev/null +++ b/common/changes/@snowplow/javascript-tracker/issue-1067-bump_dependencies_2022-03-22-14-35.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/javascript-tracker", + "comment": "Bump dependencies (#1067)", + "type": "none" + } + ], + "packageName": "@snowplow/javascript-tracker" +} \ No newline at end of file diff --git a/common/changes/@snowplow/node-tracker/issue-1067-bump_dependencies_2022-03-22-14-35.json b/common/changes/@snowplow/node-tracker/issue-1067-bump_dependencies_2022-03-22-14-35.json new file mode 100644 index 000000000..61d855887 --- /dev/null +++ b/common/changes/@snowplow/node-tracker/issue-1067-bump_dependencies_2022-03-22-14-35.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/node-tracker", + "comment": "Bump dependencies (#1067)", + "type": "none" + } + ], + "packageName": "@snowplow/node-tracker" +} \ No newline at end of file diff --git a/common/changes/@snowplow/tracker-core/issue-1067-bump_dependencies_2022-03-22-14-35.json b/common/changes/@snowplow/tracker-core/issue-1067-bump_dependencies_2022-03-22-14-35.json new file mode 100644 index 000000000..dfe26a22c --- /dev/null +++ b/common/changes/@snowplow/tracker-core/issue-1067-bump_dependencies_2022-03-22-14-35.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/tracker-core", + "comment": "Bump dependencies (#1067)", + "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 aa7eacdad..e879fe6cb 100644 --- a/common/config/rush/browser-approved-packages.json +++ b/common/config/rush/browser-approved-packages.json @@ -154,6 +154,10 @@ "name": "@types/lodash", "allowedCategories": [ "libraries", "plugins", "trackers" ] }, + { + "name": "@types/nock", + "allowedCategories": [ "trackers" ] + }, { "name": "@types/node", "allowedCategories": [ "libraries", "plugins", "trackers" ] @@ -211,7 +215,7 @@ "allowedCategories": [ "trackers" ] }, { - "name": "@wdio/sync", + "name": "@wdio/types", "allowedCategories": [ "trackers" ] }, { @@ -353,6 +357,10 @@ { "name": "wdio-chromedriver-service", "allowedCategories": [ "trackers" ] + }, + { + "name": "webdriverio", + "allowedCategories": [ "trackers" ] } ] } diff --git a/common/config/rush/command-line.json b/common/config/rush/command-line.json index 92e3abc26..cad1c1787 100644 --- a/common/config/rush/command-line.json +++ b/common/config/rush/command-line.json @@ -157,7 +157,8 @@ "description": "Runs the 'test' script within each project.json", "enableParallelism": true, "ignoreDependencyOrder": true, - "incremental": false + "incremental": false, + "disableBuildCache": true }, { "name": "prettier", diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index 052bc4d48..5a3024fa3 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -7,1033 +7,1133 @@ importers: ../../libraries/browser-tracker-core: specifiers: - '@ampproject/rollup-plugin-closure-compiler': ^0.27.0 - '@rollup/plugin-commonjs': ^17.1.0 - '@rollup/plugin-node-resolve': ^11.2.0 + '@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': ^26.0.20 - '@types/jsdom': ^16.2.6 - '@types/sha1': ^1.1.2 - '@types/uuid': ^3.4.6 - '@typescript-eslint/eslint-plugin': ^4.9.0 - '@typescript-eslint/parser': ^4.9.0 - eslint: ^7.7.0 - jest: ^26.6.3 - jest-environment-jsdom: ^26.6.2 - jest-environment-jsdom-global: ^2.0.4 - jest-standard-reporter: ^2.0.0 - rollup: ^2.41.1 - rollup-plugin-cleanup: ^3.2.1 - rollup-plugin-license: ^2.2.0 - rollup-plugin-terser: ^7.0.2 - rollup-plugin-ts: ^1.4.0 + '@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: ^26.5.0 - tslib: ^2.3.0 - typescript: ^4.3.5 + 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.0 + tslib: 2.3.1 uuid: 3.4.0 devDependencies: - '@ampproject/rollup-plugin-closure-compiler': 0.27.0_rollup@2.41.1 - '@rollup/plugin-commonjs': 17.1.0_rollup@2.41.1 - '@rollup/plugin-node-resolve': 11.2.0_rollup@2.41.1 - '@types/jest': 26.0.20 - '@types/jsdom': 16.2.6 - '@types/sha1': 1.1.2 + '@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/sha1': 1.1.3 '@types/uuid': 3.4.9 - '@typescript-eslint/eslint-plugin': 4.11.0_03dc75c18e96dfbc156c58d5a8cd7146 - '@typescript-eslint/parser': 4.11.0_eslint@7.16.0+typescript@4.3.5 - eslint: 7.16.0 - jest: 26.6.3 - jest-environment-jsdom: 26.6.2 - jest-environment-jsdom-global: 2.0.4_jest-environment-jsdom@26.6.2 + '@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.41.1 - rollup-plugin-cleanup: 3.2.1_rollup@2.41.1 - rollup-plugin-license: 2.2.0_rollup@2.41.1 - rollup-plugin-terser: 7.0.2_rollup@2.41.1 - rollup-plugin-ts: 1.4.0_rollup@2.41.1+typescript@4.3.5 - ts-jest: 26.5.0_jest@26.6.3+typescript@4.3.5 - typescript: 4.3.5 + 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 ../../libraries/tracker-core: specifiers: - '@ampproject/rollup-plugin-closure-compiler': ^0.27.0 - '@rollup/plugin-commonjs': ^17.1.0 - '@rollup/plugin-json': ^4.1.0 - '@rollup/plugin-node-resolve': ^11.2.0 - '@types/node': ^14.6.0 - '@types/uuid': ^3.4.6 - '@typescript-eslint/eslint-plugin': ^4.9.0 - '@typescript-eslint/parser': ^4.9.0 - ava: ^3.13.0 - eslint: ^7.7.0 - jest-standard-reporter: ^2.0.0 - rollup: ^2.41.1 - rollup-plugin-cleanup: ^3.2.1 - rollup-plugin-license: ^2.2.0 - rollup-plugin-terser: ^7.0.2 - rollup-plugin-ts: ^1.4.0 - ts-node: ^9.1.1 - tslib: ^2.3.0 - typescript: ^4.3.5 + '@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.7.0 + tslib: ^2.3.1 + typescript: ~4.6.2 uuid: ^3.4.0 dependencies: - tslib: 2.3.0 + tslib: 2.3.1 uuid: 3.4.0 devDependencies: - '@ampproject/rollup-plugin-closure-compiler': 0.27.0_rollup@2.41.1 - '@rollup/plugin-commonjs': 17.1.0_rollup@2.41.1 - '@rollup/plugin-json': 4.1.0_rollup@2.41.1 - '@rollup/plugin-node-resolve': 11.2.0_rollup@2.41.1 - '@types/node': 14.14.14 + '@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': 4.11.0_03dc75c18e96dfbc156c58d5a8cd7146 - '@typescript-eslint/parser': 4.11.0_eslint@7.16.0+typescript@4.3.5 - ava: 3.14.0 - eslint: 7.16.0 + '@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.41.1 - rollup-plugin-cleanup: 3.2.1_rollup@2.41.1 - rollup-plugin-license: 2.2.0_rollup@2.41.1 - rollup-plugin-terser: 7.0.2_rollup@2.41.1 - rollup-plugin-ts: 1.4.0_rollup@2.41.1+typescript@4.3.5 - ts-node: 9.1.1_typescript@4.3.5 - typescript: 4.3.5 + 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.7.0_3a45c3db8dee5edcd277f201fb244988 + typescript: 4.6.2 ../../plugins/browser-plugin-ad-tracking: specifiers: - '@ampproject/rollup-plugin-closure-compiler': ^0.27.0 - '@rollup/plugin-commonjs': ^17.1.0 - '@rollup/plugin-node-resolve': ^11.2.0 + '@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': ^26.0.20 - '@types/lodash': ^4.14.168 - '@typescript-eslint/eslint-plugin': ^4.9.0 - '@typescript-eslint/parser': ^4.9.0 - eslint: ^7.7.0 - jest: ^26.6.3 - jest-standard-reporter: ^2.0.0 - lodash: ^4.17.21 - rollup: ^2.41.1 - rollup-plugin-cleanup: ^3.2.1 - rollup-plugin-license: ^2.2.0 - rollup-plugin-terser: ^7.0.2 - rollup-plugin-ts: ^1.4.0 - ts-jest: ^26.5.0 - tslib: ^2.3.0 - typescript: ^4.3.5 + '@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.0 + tslib: 2.3.1 devDependencies: - '@ampproject/rollup-plugin-closure-compiler': 0.27.0_rollup@2.41.1 - '@rollup/plugin-commonjs': 17.1.0_rollup@2.41.1 - '@rollup/plugin-node-resolve': 11.2.0_rollup@2.41.1 - '@types/jest': 26.0.20 - '@types/lodash': 4.14.168 - '@typescript-eslint/eslint-plugin': 4.11.0_03dc75c18e96dfbc156c58d5a8cd7146 - '@typescript-eslint/parser': 4.11.0_eslint@7.16.0+typescript@4.3.5 - eslint: 7.16.0 - jest: 26.6.3 + '@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.41.1 - rollup-plugin-cleanup: 3.2.1_rollup@2.41.1 - rollup-plugin-license: 2.2.0_rollup@2.41.1 - rollup-plugin-terser: 7.0.2_rollup@2.41.1 - rollup-plugin-ts: 1.4.0_rollup@2.41.1+typescript@4.3.5 - ts-jest: 26.5.0_jest@26.6.3+typescript@4.3.5 - typescript: 4.3.5 + 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-browser-features: specifiers: - '@ampproject/rollup-plugin-closure-compiler': ^0.27.0 - '@rollup/plugin-commonjs': ^17.1.0 - '@rollup/plugin-node-resolve': ^11.2.0 + '@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': ^26.0.20 - '@types/jsdom': ^16.2.6 - '@typescript-eslint/eslint-plugin': ^4.9.0 - '@typescript-eslint/parser': ^4.9.0 - eslint: ^7.7.0 - jest: ^26.6.3 - jest-environment-jsdom: ^26.6.2 - jest-environment-jsdom-global: ^2.0.4 - jest-standard-reporter: ^2.0.0 - rollup: ^2.41.1 - rollup-plugin-cleanup: ^3.2.1 - rollup-plugin-license: ^2.2.0 - rollup-plugin-terser: ^7.0.2 - rollup-plugin-ts: ^1.4.0 - ts-jest: ^26.5.0 - tslib: ^2.3.0 - typescript: ^4.3.5 + '@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.0 + tslib: 2.3.1 devDependencies: - '@ampproject/rollup-plugin-closure-compiler': 0.27.0_rollup@2.41.1 - '@rollup/plugin-commonjs': 17.1.0_rollup@2.41.1 - '@rollup/plugin-node-resolve': 11.2.0_rollup@2.41.1 + '@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': 26.0.20 - '@types/jsdom': 16.2.6 - '@typescript-eslint/eslint-plugin': 4.11.0_03dc75c18e96dfbc156c58d5a8cd7146 - '@typescript-eslint/parser': 4.11.0_eslint@7.16.0+typescript@4.3.5 - eslint: 7.16.0 - jest: 26.6.3 - jest-environment-jsdom: 26.6.2 - jest-environment-jsdom-global: 2.0.4_jest-environment-jsdom@26.6.2 + '@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.41.1 - rollup-plugin-cleanup: 3.2.1_rollup@2.41.1 - rollup-plugin-license: 2.2.0_rollup@2.41.1 - rollup-plugin-terser: 7.0.2_rollup@2.41.1 - rollup-plugin-ts: 1.4.0_rollup@2.41.1+typescript@4.3.5 - ts-jest: 26.5.0_jest@26.6.3+typescript@4.3.5 - typescript: 4.3.5 + 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-client-hints: specifiers: - '@ampproject/rollup-plugin-closure-compiler': ^0.27.0 - '@rollup/plugin-commonjs': ^17.1.0 - '@rollup/plugin-node-resolve': ^11.2.0 + '@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:* - '@types/jest': ^26.0.20 - '@typescript-eslint/eslint-plugin': ^4.9.0 - '@typescript-eslint/parser': ^4.9.0 - eslint: ^7.7.0 - jest: ^26.6.3 - jest-standard-reporter: ^2.0.0 - rollup: ^2.41.1 - rollup-plugin-cleanup: ^3.2.1 - rollup-plugin-license: ^2.2.0 - rollup-plugin-terser: ^7.0.2 - rollup-plugin-ts: ^1.4.0 - ts-jest: ^26.5.0 - tslib: ^2.3.0 - typescript: ^4.3.5 + '@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.0 + tslib: 2.3.1 devDependencies: - '@ampproject/rollup-plugin-closure-compiler': 0.27.0_rollup@2.41.1 - '@rollup/plugin-commonjs': 17.1.0_rollup@2.41.1 - '@rollup/plugin-node-resolve': 11.2.0_rollup@2.41.1 - '@types/jest': 26.0.20 - '@typescript-eslint/eslint-plugin': 4.11.0_03dc75c18e96dfbc156c58d5a8cd7146 - '@typescript-eslint/parser': 4.11.0_eslint@7.16.0+typescript@4.3.5 - eslint: 7.16.0 - jest: 26.6.3 + '@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.41.1 - rollup-plugin-cleanup: 3.2.1_rollup@2.41.1 - rollup-plugin-license: 2.2.0_rollup@2.41.1 - rollup-plugin-terser: 7.0.2_rollup@2.41.1 - rollup-plugin-ts: 1.4.0_rollup@2.41.1+typescript@4.3.5 - ts-jest: 26.5.0_jest@26.6.3+typescript@4.3.5 - typescript: 4.3.5 + 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-consent: specifiers: - '@ampproject/rollup-plugin-closure-compiler': ^0.27.0 - '@rollup/plugin-commonjs': ^17.1.0 - '@rollup/plugin-node-resolve': ^11.2.0 + '@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': ^26.0.20 - '@types/lodash': ^4.14.168 - '@typescript-eslint/eslint-plugin': ^4.9.0 - '@typescript-eslint/parser': ^4.9.0 - eslint: ^7.7.0 - jest: ^26.6.3 - jest-standard-reporter: ^2.0.0 - lodash: ^4.17.21 - rollup: ^2.41.1 - rollup-plugin-cleanup: ^3.2.1 - rollup-plugin-license: ^2.2.0 - rollup-plugin-terser: ^7.0.2 - rollup-plugin-ts: ^1.4.0 - ts-jest: ^26.5.0 - tslib: ^2.3.0 - typescript: ^4.3.5 + '@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.0 + tslib: 2.3.1 devDependencies: - '@ampproject/rollup-plugin-closure-compiler': 0.27.0_rollup@2.41.1 - '@rollup/plugin-commonjs': 17.1.0_rollup@2.41.1 - '@rollup/plugin-node-resolve': 11.2.0_rollup@2.41.1 - '@types/jest': 26.0.20 - '@types/lodash': 4.14.168 - '@typescript-eslint/eslint-plugin': 4.11.0_03dc75c18e96dfbc156c58d5a8cd7146 - '@typescript-eslint/parser': 4.11.0_eslint@7.16.0+typescript@4.3.5 - eslint: 7.16.0 - jest: 26.6.3 + '@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.41.1 - rollup-plugin-cleanup: 3.2.1_rollup@2.41.1 - rollup-plugin-license: 2.2.0_rollup@2.41.1 - rollup-plugin-terser: 7.0.2_rollup@2.41.1 - rollup-plugin-ts: 1.4.0_rollup@2.41.1+typescript@4.3.5 - ts-jest: 26.5.0_jest@26.6.3+typescript@4.3.5 - typescript: 4.3.5 + 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-debugger: specifiers: - '@ampproject/rollup-plugin-closure-compiler': ^0.27.0 - '@rollup/plugin-commonjs': ^17.1.0 - '@rollup/plugin-node-resolve': ^11.2.0 + '@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': ^26.0.20 - '@types/randomcolor': ^0.5.5 - '@typescript-eslint/eslint-plugin': ^4.9.0 - '@typescript-eslint/parser': ^4.9.0 - eslint: ^7.7.0 - jest: ^26.6.3 - jest-standard-reporter: ^2.0.0 + '@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.41.1 - rollup-plugin-cleanup: ^3.2.1 - rollup-plugin-license: ^2.2.0 - rollup-plugin-terser: ^7.0.2 - rollup-plugin-ts: ^1.4.0 - ts-jest: ^26.5.0 - tslib: ^2.3.0 - typescript: ^4.3.5 + 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.0 + tslib: 2.3.1 devDependencies: - '@ampproject/rollup-plugin-closure-compiler': 0.27.0_rollup@2.41.1 - '@rollup/plugin-commonjs': 17.1.0_rollup@2.41.1 - '@rollup/plugin-node-resolve': 11.2.0_rollup@2.41.1 - '@types/jest': 26.0.20 + '@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': 4.11.0_03dc75c18e96dfbc156c58d5a8cd7146 - '@typescript-eslint/parser': 4.11.0_eslint@7.16.0+typescript@4.3.5 - eslint: 7.16.0 - jest: 26.6.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.41.1 - rollup-plugin-cleanup: 3.2.1_rollup@2.41.1 - rollup-plugin-license: 2.2.0_rollup@2.41.1 - rollup-plugin-terser: 7.0.2_rollup@2.41.1 - rollup-plugin-ts: 1.4.0_rollup@2.41.1+typescript@4.3.5 - ts-jest: 26.5.0_jest@26.6.3+typescript@4.3.5 - typescript: 4.3.5 + 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-ecommerce: specifiers: - '@ampproject/rollup-plugin-closure-compiler': ^0.27.0 - '@rollup/plugin-commonjs': ^17.1.0 - '@rollup/plugin-node-resolve': ^11.2.0 + '@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': ^26.0.20 - '@types/lodash': ^4.14.168 - '@typescript-eslint/eslint-plugin': ^4.9.0 - '@typescript-eslint/parser': ^4.9.0 - eslint: ^7.7.0 - jest: ^26.6.3 - jest-standard-reporter: ^2.0.0 - lodash: ^4.17.21 - rollup: ^2.41.1 - rollup-plugin-cleanup: ^3.2.1 - rollup-plugin-license: ^2.2.0 - rollup-plugin-terser: ^7.0.2 - rollup-plugin-ts: ^1.4.0 - ts-jest: ^26.5.0 - tslib: ^2.3.0 - typescript: ^4.3.5 + '@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.0 + tslib: 2.3.1 devDependencies: - '@ampproject/rollup-plugin-closure-compiler': 0.27.0_rollup@2.41.1 - '@rollup/plugin-commonjs': 17.1.0_rollup@2.41.1 - '@rollup/plugin-node-resolve': 11.2.0_rollup@2.41.1 - '@types/jest': 26.0.20 - '@types/lodash': 4.14.168 - '@typescript-eslint/eslint-plugin': 4.11.0_03dc75c18e96dfbc156c58d5a8cd7146 - '@typescript-eslint/parser': 4.11.0_eslint@7.16.0+typescript@4.3.5 - eslint: 7.16.0 - jest: 26.6.3 + '@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.41.1 - rollup-plugin-cleanup: 3.2.1_rollup@2.41.1 - rollup-plugin-license: 2.2.0_rollup@2.41.1 - rollup-plugin-terser: 7.0.2_rollup@2.41.1 - rollup-plugin-ts: 1.4.0_rollup@2.41.1+typescript@4.3.5 - ts-jest: 26.5.0_jest@26.6.3+typescript@4.3.5 - typescript: 4.3.5 + 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-enhanced-ecommerce: specifiers: - '@ampproject/rollup-plugin-closure-compiler': ^0.27.0 - '@rollup/plugin-commonjs': ^17.1.0 - '@rollup/plugin-node-resolve': ^11.2.0 + '@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': ^26.0.20 - '@types/lodash': ^4.14.168 - '@typescript-eslint/eslint-plugin': ^4.9.0 - '@typescript-eslint/parser': ^4.9.0 - eslint: ^7.7.0 - jest: ^26.6.3 - jest-standard-reporter: ^2.0.0 - lodash: ^4.17.21 - rollup: ^2.41.1 - rollup-plugin-cleanup: ^3.2.1 - rollup-plugin-license: ^2.2.0 - rollup-plugin-terser: ^7.0.2 - rollup-plugin-ts: ^1.4.0 - ts-jest: ^26.5.0 - tslib: ^2.3.0 - typescript: ^4.3.5 + '@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.0 + tslib: 2.3.1 devDependencies: - '@ampproject/rollup-plugin-closure-compiler': 0.27.0_rollup@2.41.1 - '@rollup/plugin-commonjs': 17.1.0_rollup@2.41.1 - '@rollup/plugin-node-resolve': 11.2.0_rollup@2.41.1 - '@types/jest': 26.0.20 - '@types/lodash': 4.14.168 - '@typescript-eslint/eslint-plugin': 4.11.0_03dc75c18e96dfbc156c58d5a8cd7146 - '@typescript-eslint/parser': 4.11.0_eslint@7.16.0+typescript@4.3.5 - eslint: 7.16.0 - jest: 26.6.3 + '@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.41.1 - rollup-plugin-cleanup: 3.2.1_rollup@2.41.1 - rollup-plugin-license: 2.2.0_rollup@2.41.1 - rollup-plugin-terser: 7.0.2_rollup@2.41.1 - rollup-plugin-ts: 1.4.0_rollup@2.41.1+typescript@4.3.5 - ts-jest: 26.5.0_jest@26.6.3+typescript@4.3.5 - typescript: 4.3.5 + 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-error-tracking: specifiers: - '@ampproject/rollup-plugin-closure-compiler': ^0.27.0 - '@rollup/plugin-commonjs': ^17.1.0 - '@rollup/plugin-node-resolve': ^11.2.0 + '@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': ^26.0.20 - '@types/lodash': ^4.14.168 - '@typescript-eslint/eslint-plugin': ^4.9.0 - '@typescript-eslint/parser': ^4.9.0 - eslint: ^7.7.0 - jest: ^26.6.3 - jest-standard-reporter: ^2.0.0 - lodash: ^4.17.21 - rollup: ^2.41.1 - rollup-plugin-cleanup: ^3.2.1 - rollup-plugin-license: ^2.2.0 - rollup-plugin-terser: ^7.0.2 - rollup-plugin-ts: ^1.4.0 - ts-jest: ^26.5.0 - tslib: ^2.3.0 - typescript: ^4.3.5 + '@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.0 + tslib: 2.3.1 devDependencies: - '@ampproject/rollup-plugin-closure-compiler': 0.27.0_rollup@2.41.1 - '@rollup/plugin-commonjs': 17.1.0_rollup@2.41.1 - '@rollup/plugin-node-resolve': 11.2.0_rollup@2.41.1 - '@types/jest': 26.0.20 - '@types/lodash': 4.14.168 - '@typescript-eslint/eslint-plugin': 4.11.0_03dc75c18e96dfbc156c58d5a8cd7146 - '@typescript-eslint/parser': 4.11.0_eslint@7.16.0+typescript@4.3.5 - eslint: 7.16.0 - jest: 26.6.3 + '@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.41.1 - rollup-plugin-cleanup: 3.2.1_rollup@2.41.1 - rollup-plugin-license: 2.2.0_rollup@2.41.1 - rollup-plugin-terser: 7.0.2_rollup@2.41.1 - rollup-plugin-ts: 1.4.0_rollup@2.41.1+typescript@4.3.5 - ts-jest: 26.5.0_jest@26.6.3+typescript@4.3.5 - typescript: 4.3.5 + 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-form-tracking: specifiers: - '@ampproject/rollup-plugin-closure-compiler': ^0.27.0 - '@rollup/plugin-commonjs': ^17.1.0 - '@rollup/plugin-node-resolve': ^11.2.0 + '@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': ^26.0.20 - '@typescript-eslint/eslint-plugin': ^4.9.0 - '@typescript-eslint/parser': ^4.9.0 - eslint: ^7.7.0 - jest: ^26.6.3 - jest-standard-reporter: ^2.0.0 - rollup: ^2.41.1 - rollup-plugin-cleanup: ^3.2.1 - rollup-plugin-license: ^2.2.0 - rollup-plugin-terser: ^7.0.2 - rollup-plugin-ts: ^1.4.0 - ts-jest: ^26.5.0 - tslib: ^2.3.0 - typescript: ^4.3.5 + '@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.0 + tslib: 2.3.1 devDependencies: - '@ampproject/rollup-plugin-closure-compiler': 0.27.0_rollup@2.41.1 - '@rollup/plugin-commonjs': 17.1.0_rollup@2.41.1 - '@rollup/plugin-node-resolve': 11.2.0_rollup@2.41.1 - '@types/jest': 26.0.20 - '@typescript-eslint/eslint-plugin': 4.11.0_03dc75c18e96dfbc156c58d5a8cd7146 - '@typescript-eslint/parser': 4.11.0_eslint@7.16.0+typescript@4.3.5 - eslint: 7.16.0 - jest: 26.6.3 + '@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.41.1 - rollup-plugin-cleanup: 3.2.1_rollup@2.41.1 - rollup-plugin-license: 2.2.0_rollup@2.41.1 - rollup-plugin-terser: 7.0.2_rollup@2.41.1 - rollup-plugin-ts: 1.4.0_rollup@2.41.1+typescript@4.3.5 - ts-jest: 26.5.0_jest@26.6.3+typescript@4.3.5 - typescript: 4.3.5 + 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-ga-cookies: specifiers: - '@ampproject/rollup-plugin-closure-compiler': ^0.27.0 - '@rollup/plugin-commonjs': ^17.1.0 - '@rollup/plugin-node-resolve': ^11.2.0 + '@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': ^26.0.20 - '@typescript-eslint/eslint-plugin': ^4.9.0 - '@typescript-eslint/parser': ^4.9.0 - eslint: ^7.7.0 - jest: ^26.6.3 - jest-standard-reporter: ^2.0.0 - rollup: ^2.41.1 - rollup-plugin-cleanup: ^3.2.1 - rollup-plugin-license: ^2.2.0 - rollup-plugin-terser: ^7.0.2 - rollup-plugin-ts: ^1.4.0 - ts-jest: ^26.5.0 - tslib: ^2.3.0 - typescript: ^4.3.5 + '@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.0 + tslib: 2.3.1 devDependencies: - '@ampproject/rollup-plugin-closure-compiler': 0.27.0_rollup@2.41.1 - '@rollup/plugin-commonjs': 17.1.0_rollup@2.41.1 - '@rollup/plugin-node-resolve': 11.2.0_rollup@2.41.1 - '@types/jest': 26.0.20 - '@typescript-eslint/eslint-plugin': 4.11.0_03dc75c18e96dfbc156c58d5a8cd7146 - '@typescript-eslint/parser': 4.11.0_eslint@7.16.0+typescript@4.3.5 - eslint: 7.16.0 - jest: 26.6.3 + '@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.41.1 - rollup-plugin-cleanup: 3.2.1_rollup@2.41.1 - rollup-plugin-license: 2.2.0_rollup@2.41.1 - rollup-plugin-terser: 7.0.2_rollup@2.41.1 - rollup-plugin-ts: 1.4.0_rollup@2.41.1+typescript@4.3.5 - ts-jest: 26.5.0_jest@26.6.3+typescript@4.3.5 - typescript: 4.3.5 + 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-geolocation: specifiers: - '@ampproject/rollup-plugin-closure-compiler': ^0.27.0 - '@rollup/plugin-commonjs': ^17.1.0 - '@rollup/plugin-node-resolve': ^11.2.0 + '@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': ^26.0.20 - '@typescript-eslint/eslint-plugin': ^4.9.0 - '@typescript-eslint/parser': ^4.9.0 - eslint: ^7.7.0 - jest: ^26.6.3 - jest-standard-reporter: ^2.0.0 - rollup: ^2.41.1 - rollup-plugin-cleanup: ^3.2.1 - rollup-plugin-license: ^2.2.0 - rollup-plugin-terser: ^7.0.2 - rollup-plugin-ts: ^1.4.0 - ts-jest: ^26.5.0 - tslib: ^2.3.0 - typescript: ^4.3.5 + '@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.0 + tslib: 2.3.1 devDependencies: - '@ampproject/rollup-plugin-closure-compiler': 0.27.0_rollup@2.41.1 - '@rollup/plugin-commonjs': 17.1.0_rollup@2.41.1 - '@rollup/plugin-node-resolve': 11.2.0_rollup@2.41.1 - '@types/jest': 26.0.20 - '@typescript-eslint/eslint-plugin': 4.11.0_03dc75c18e96dfbc156c58d5a8cd7146 - '@typescript-eslint/parser': 4.11.0_eslint@7.16.0+typescript@4.3.5 - eslint: 7.16.0 - jest: 26.6.3 + '@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.41.1 - rollup-plugin-cleanup: 3.2.1_rollup@2.41.1 - rollup-plugin-license: 2.2.0_rollup@2.41.1 - rollup-plugin-terser: 7.0.2_rollup@2.41.1 - rollup-plugin-ts: 1.4.0_rollup@2.41.1+typescript@4.3.5 - ts-jest: 26.5.0_jest@26.6.3+typescript@4.3.5 - typescript: 4.3.5 + 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-link-click-tracking: specifiers: - '@ampproject/rollup-plugin-closure-compiler': ^0.27.0 - '@rollup/plugin-commonjs': ^17.1.0 - '@rollup/plugin-node-resolve': ^11.2.0 + '@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': ^26.0.20 - '@types/lodash': ^4.14.168 - '@typescript-eslint/eslint-plugin': ^4.9.0 - '@typescript-eslint/parser': ^4.9.0 - eslint: ^7.7.0 - jest: ^26.6.3 - jest-standard-reporter: ^2.0.0 - lodash: ^4.17.21 - rollup: ^2.41.1 - rollup-plugin-cleanup: ^3.2.1 - rollup-plugin-license: ^2.2.0 - rollup-plugin-terser: ^7.0.2 - rollup-plugin-ts: ^1.4.0 - ts-jest: ^26.5.0 - tslib: ^2.3.0 - typescript: ^4.3.5 + '@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.0 + tslib: 2.3.1 devDependencies: - '@ampproject/rollup-plugin-closure-compiler': 0.27.0_rollup@2.41.1 - '@rollup/plugin-commonjs': 17.1.0_rollup@2.41.1 - '@rollup/plugin-node-resolve': 11.2.0_rollup@2.41.1 - '@types/jest': 26.0.20 - '@types/lodash': 4.14.168 - '@typescript-eslint/eslint-plugin': 4.11.0_03dc75c18e96dfbc156c58d5a8cd7146 - '@typescript-eslint/parser': 4.11.0_eslint@7.16.0+typescript@4.3.5 - eslint: 7.16.0 - jest: 26.6.3 + '@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.41.1 - rollup-plugin-cleanup: 3.2.1_rollup@2.41.1 - rollup-plugin-license: 2.2.0_rollup@2.41.1 - rollup-plugin-terser: 7.0.2_rollup@2.41.1 - rollup-plugin-ts: 1.4.0_rollup@2.41.1+typescript@4.3.5 - ts-jest: 26.5.0_jest@26.6.3+typescript@4.3.5 - typescript: 4.3.5 + 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-media-tracking: specifiers: - '@ampproject/rollup-plugin-closure-compiler': ^0.27.0 - '@rollup/plugin-commonjs': ^17.1.0 - '@rollup/plugin-node-resolve': ^11.2.0 + '@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': ^26.0.20 - '@typescript-eslint/eslint-plugin': ^4.9.0 - '@typescript-eslint/parser': ^4.9.0 - eslint: ^7.7.0 - jest: ^26.6.3 - jest-standard-reporter: ^2.0.0 - rollup: ^2.41.1 - rollup-plugin-cleanup: ^3.2.1 - rollup-plugin-license: ^2.2.0 - rollup-plugin-terser: ^7.0.2 - rollup-plugin-ts: ^1.4.0 - ts-jest: ^26.5.0 - tslib: ^2.3.0 - typescript: ^4.3.5 + '@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.0 + tslib: 2.3.1 devDependencies: - '@ampproject/rollup-plugin-closure-compiler': 0.27.0_rollup@2.41.1 - '@rollup/plugin-commonjs': 17.1.0_rollup@2.41.1 - '@rollup/plugin-node-resolve': 11.2.0_rollup@2.41.1 - '@types/jest': 26.0.20 - '@typescript-eslint/eslint-plugin': 4.11.0_03dc75c18e96dfbc156c58d5a8cd7146 - '@typescript-eslint/parser': 4.11.0_eslint@7.16.0+typescript@4.3.5 - eslint: 7.16.0 - jest: 26.6.3 + '@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.41.1 - rollup-plugin-cleanup: 3.2.1_rollup@2.41.1 - rollup-plugin-license: 2.2.0_rollup@2.41.1 - rollup-plugin-terser: 7.0.2_rollup@2.41.1 - rollup-plugin-ts: 1.4.0_rollup@2.41.1+typescript@4.3.5 - ts-jest: 26.5.0_jest@26.6.3+typescript@4.3.5 - typescript: 4.3.5 + 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-optimizely: specifiers: - '@ampproject/rollup-plugin-closure-compiler': ^0.27.0 - '@rollup/plugin-commonjs': ^17.1.0 - '@rollup/plugin-node-resolve': ^11.2.0 + '@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': ^26.0.20 - '@typescript-eslint/eslint-plugin': ^4.9.0 - '@typescript-eslint/parser': ^4.9.0 - eslint: ^7.7.0 - jest: ^26.6.3 - jest-standard-reporter: ^2.0.0 - rollup: ^2.41.1 - rollup-plugin-cleanup: ^3.2.1 - rollup-plugin-license: ^2.2.0 - rollup-plugin-terser: ^7.0.2 - rollup-plugin-ts: ^1.4.0 - ts-jest: ^26.5.0 - tslib: ^2.3.0 - typescript: ^4.3.5 + '@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.0 + tslib: 2.3.1 devDependencies: - '@ampproject/rollup-plugin-closure-compiler': 0.27.0_rollup@2.41.1 - '@rollup/plugin-commonjs': 17.1.0_rollup@2.41.1 - '@rollup/plugin-node-resolve': 11.2.0_rollup@2.41.1 - '@types/jest': 26.0.20 - '@typescript-eslint/eslint-plugin': 4.11.0_03dc75c18e96dfbc156c58d5a8cd7146 - '@typescript-eslint/parser': 4.11.0_eslint@7.16.0+typescript@4.3.5 - eslint: 7.16.0 - jest: 26.6.3 + '@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.41.1 - rollup-plugin-cleanup: 3.2.1_rollup@2.41.1 - rollup-plugin-license: 2.2.0_rollup@2.41.1 - rollup-plugin-terser: 7.0.2_rollup@2.41.1 - rollup-plugin-ts: 1.4.0_rollup@2.41.1+typescript@4.3.5 - ts-jest: 26.5.0_jest@26.6.3+typescript@4.3.5 - typescript: 4.3.5 + 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-optimizely-x: specifiers: - '@ampproject/rollup-plugin-closure-compiler': ^0.27.0 - '@rollup/plugin-commonjs': ^17.1.0 - '@rollup/plugin-node-resolve': ^11.2.0 + '@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': ^26.0.20 - '@typescript-eslint/eslint-plugin': ^4.9.0 - '@typescript-eslint/parser': ^4.9.0 - eslint: ^7.7.0 - jest: ^26.6.3 - jest-standard-reporter: ^2.0.0 - rollup: ^2.41.1 - rollup-plugin-cleanup: ^3.2.1 - rollup-plugin-license: ^2.2.0 - rollup-plugin-terser: ^7.0.2 - rollup-plugin-ts: ^1.4.0 - ts-jest: ^26.5.0 - tslib: ^2.3.0 - typescript: ^4.3.5 + '@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.0 + tslib: 2.3.1 devDependencies: - '@ampproject/rollup-plugin-closure-compiler': 0.27.0_rollup@2.41.1 - '@rollup/plugin-commonjs': 17.1.0_rollup@2.41.1 - '@rollup/plugin-node-resolve': 11.2.0_rollup@2.41.1 - '@types/jest': 26.0.20 - '@typescript-eslint/eslint-plugin': 4.11.0_03dc75c18e96dfbc156c58d5a8cd7146 - '@typescript-eslint/parser': 4.11.0_eslint@7.16.0+typescript@4.3.5 - eslint: 7.16.0 - jest: 26.6.3 + '@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.41.1 - rollup-plugin-cleanup: 3.2.1_rollup@2.41.1 - rollup-plugin-license: 2.2.0_rollup@2.41.1 - rollup-plugin-terser: 7.0.2_rollup@2.41.1 - rollup-plugin-ts: 1.4.0_rollup@2.41.1+typescript@4.3.5 - ts-jest: 26.5.0_jest@26.6.3+typescript@4.3.5 - typescript: 4.3.5 + 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-performance-timing: specifiers: - '@ampproject/rollup-plugin-closure-compiler': ^0.27.0 - '@rollup/plugin-commonjs': ^17.1.0 - '@rollup/plugin-node-resolve': ^11.2.0 + '@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': ^26.0.20 - '@types/jsdom': ^16.2.6 - '@typescript-eslint/eslint-plugin': ^4.9.0 - '@typescript-eslint/parser': ^4.9.0 - eslint: ^7.7.0 - jest: ^26.6.3 - jest-environment-jsdom: ^26.6.2 - jest-environment-jsdom-global: ^2.0.4 - jest-standard-reporter: ^2.0.0 - rollup: ^2.41.1 - rollup-plugin-cleanup: ^3.2.1 - rollup-plugin-license: ^2.2.0 - rollup-plugin-terser: ^7.0.2 - rollup-plugin-ts: ^1.4.0 - ts-jest: ^26.5.0 - tslib: ^2.3.0 - typescript: ^4.3.5 + '@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.0 + tslib: 2.3.1 devDependencies: - '@ampproject/rollup-plugin-closure-compiler': 0.27.0_rollup@2.41.1 - '@rollup/plugin-commonjs': 17.1.0_rollup@2.41.1 - '@rollup/plugin-node-resolve': 11.2.0_rollup@2.41.1 - '@types/jest': 26.0.20 - '@types/jsdom': 16.2.6 - '@typescript-eslint/eslint-plugin': 4.11.0_03dc75c18e96dfbc156c58d5a8cd7146 - '@typescript-eslint/parser': 4.11.0_eslint@7.16.0+typescript@4.3.5 - eslint: 7.16.0 - jest: 26.6.3 - jest-environment-jsdom: 26.6.2 - jest-environment-jsdom-global: 2.0.4_jest-environment-jsdom@26.6.2 + '@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.41.1 - rollup-plugin-cleanup: 3.2.1_rollup@2.41.1 - rollup-plugin-license: 2.2.0_rollup@2.41.1 - rollup-plugin-terser: 7.0.2_rollup@2.41.1 - rollup-plugin-ts: 1.4.0_rollup@2.41.1+typescript@4.3.5 - ts-jest: 26.5.0_jest@26.6.3+typescript@4.3.5 - typescript: 4.3.5 + 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-site-tracking: specifiers: - '@ampproject/rollup-plugin-closure-compiler': ^0.27.0 - '@rollup/plugin-commonjs': ^17.1.0 - '@rollup/plugin-node-resolve': ^11.2.0 + '@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': ^26.0.20 - '@types/lodash': ^4.14.168 - '@typescript-eslint/eslint-plugin': ^4.9.0 - '@typescript-eslint/parser': ^4.9.0 - eslint: ^7.7.0 - jest: ^26.6.3 - jest-standard-reporter: ^2.0.0 - lodash: ^4.17.21 - rollup: ^2.41.1 - rollup-plugin-cleanup: ^3.2.1 - rollup-plugin-license: ^2.2.0 - rollup-plugin-terser: ^7.0.2 - rollup-plugin-ts: ^1.4.0 - ts-jest: ^26.5.0 - tslib: ^2.3.0 - typescript: ^4.3.5 + '@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.0 + tslib: 2.3.1 devDependencies: - '@ampproject/rollup-plugin-closure-compiler': 0.27.0_rollup@2.41.1 - '@rollup/plugin-commonjs': 17.1.0_rollup@2.41.1 - '@rollup/plugin-node-resolve': 11.2.0_rollup@2.41.1 - '@types/jest': 26.0.20 - '@types/lodash': 4.14.168 - '@typescript-eslint/eslint-plugin': 4.11.0_03dc75c18e96dfbc156c58d5a8cd7146 - '@typescript-eslint/parser': 4.11.0_eslint@7.16.0+typescript@4.3.5 - eslint: 7.16.0 - jest: 26.6.3 + '@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.41.1 - rollup-plugin-cleanup: 3.2.1_rollup@2.41.1 - rollup-plugin-license: 2.2.0_rollup@2.41.1 - rollup-plugin-terser: 7.0.2_rollup@2.41.1 - rollup-plugin-ts: 1.4.0_rollup@2.41.1+typescript@4.3.5 - ts-jest: 26.5.0_jest@26.6.3+typescript@4.3.5 - typescript: 4.3.5 + 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-timezone: specifiers: - '@ampproject/rollup-plugin-closure-compiler': ^0.27.0 - '@rollup/plugin-commonjs': ^17.1.0 - '@rollup/plugin-node-resolve': ^11.2.0 + '@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': ^26.0.20 - '@types/jsdom': ^16.2.6 + '@types/jest': ~27.4.1 + '@types/jsdom': ~16.2.14 '@types/jstimezonedetect': ~1.0.3 - '@typescript-eslint/eslint-plugin': ^4.9.0 - '@typescript-eslint/parser': ^4.9.0 - eslint: ^7.7.0 - jest: ^26.6.3 - jest-standard-reporter: ^2.0.0 + '@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.41.1 - rollup-plugin-cleanup: ^3.2.1 - rollup-plugin-license: ^2.2.0 - rollup-plugin-terser: ^7.0.2 - rollup-plugin-ts: ^1.4.0 - ts-jest: ^26.5.0 - tslib: ^2.3.0 - typescript: ^4.3.5 + 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.0 + tslib: 2.3.1 devDependencies: - '@ampproject/rollup-plugin-closure-compiler': 0.27.0_rollup@2.41.1 - '@rollup/plugin-commonjs': 17.1.0_rollup@2.41.1 - '@rollup/plugin-node-resolve': 11.2.0_rollup@2.41.1 - '@types/jest': 26.0.20 - '@types/jsdom': 16.2.6 + '@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': 4.11.0_03dc75c18e96dfbc156c58d5a8cd7146 - '@typescript-eslint/parser': 4.11.0_eslint@7.16.0+typescript@4.3.5 - eslint: 7.16.0 - jest: 26.6.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.41.1 - rollup-plugin-cleanup: 3.2.1_rollup@2.41.1 - rollup-plugin-license: 2.2.0_rollup@2.41.1 - rollup-plugin-terser: 7.0.2_rollup@2.41.1 - rollup-plugin-ts: 1.4.0_rollup@2.41.1+typescript@4.3.5 - ts-jest: 26.5.0_jest@26.6.3+typescript@4.3.5 - typescript: 4.3.5 + 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-youtube-tracking: specifiers: - '@ampproject/rollup-plugin-closure-compiler': ^0.27.0 - '@rollup/plugin-commonjs': ^17.1.0 - '@rollup/plugin-node-resolve': ^11.2.0 + '@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': ^26.0.20 - '@types/youtube': ^0.0.46 - '@typescript-eslint/eslint-plugin': ^4.9.0 - '@typescript-eslint/parser': ^4.9.0 - eslint: ^7.7.0 - jest: ^26.6.3 - jest-standard-reporter: ^2.0.0 - rollup: ^2.41.1 - rollup-plugin-cleanup: ^3.2.1 - rollup-plugin-license: ^2.2.0 - rollup-plugin-terser: ^7.0.2 - rollup-plugin-ts: ^1.4.0 - ts-jest: ^26.5.0 - tslib: ^2.3.0 - typescript: ^4.3.5 + '@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.0 + tslib: 2.3.1 devDependencies: - '@ampproject/rollup-plugin-closure-compiler': 0.27.0_rollup@2.41.1 - '@rollup/plugin-commonjs': 17.1.0_rollup@2.41.1 - '@rollup/plugin-node-resolve': 11.2.0_rollup@2.41.1 - '@types/jest': 26.0.20 + '@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': 4.11.0_03dc75c18e96dfbc156c58d5a8cd7146 - '@typescript-eslint/parser': 4.11.0_eslint@7.16.0+typescript@4.3.5 - eslint: 7.16.0 - jest: 26.6.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.41.1 - rollup-plugin-cleanup: 3.2.1_rollup@2.41.1 - rollup-plugin-license: 2.2.0_rollup@2.41.1 - rollup-plugin-terser: 7.0.2_rollup@2.41.1 - rollup-plugin-ts: 1.4.0_rollup@2.41.1+typescript@4.3.5 - ts-jest: 26.5.0_jest@26.6.3+typescript@4.3.5 - typescript: 4.3.5 + 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 ../../trackers/browser-tracker: specifiers: - '@ampproject/rollup-plugin-closure-compiler': ^0.27.0 - '@rollup/plugin-commonjs': ^17.1.0 - '@rollup/plugin-node-resolve': ^11.2.0 + '@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': ^26.0.20 - '@types/jsdom': ^16.2.6 - '@types/lodash': ^4.14.168 - '@typescript-eslint/eslint-plugin': ^4.9.0 - '@typescript-eslint/parser': ^4.9.0 - eslint: ^7.7.0 - jest: ^26.6.3 - jest-environment-jsdom: ^26.6.2 - jest-environment-jsdom-global: ^2.0.4 - jest-standard-reporter: ^2.0.0 - lodash: ^4.17.21 - rollup: ^2.41.1 - rollup-plugin-cleanup: ^3.2.1 - rollup-plugin-license: ^2.2.0 - rollup-plugin-terser: ^7.0.2 - rollup-plugin-ts: ^1.4.0 - ts-jest: ^26.5.0 - tslib: ^2.3.0 - typescript: ^4.3.5 + '@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.0 + tslib: 2.3.1 devDependencies: - '@ampproject/rollup-plugin-closure-compiler': 0.27.0_rollup@2.41.1 - '@rollup/plugin-commonjs': 17.1.0_rollup@2.41.1 - '@rollup/plugin-node-resolve': 11.2.0_rollup@2.41.1 - '@types/jest': 26.0.20 - '@types/jsdom': 16.2.6 - '@types/lodash': 4.14.168 - '@typescript-eslint/eslint-plugin': 4.11.0_03dc75c18e96dfbc156c58d5a8cd7146 - '@typescript-eslint/parser': 4.11.0_eslint@7.16.0+typescript@4.3.5 - eslint: 7.16.0 - jest: 26.6.3 - jest-environment-jsdom: 26.6.2 - jest-environment-jsdom-global: 2.0.4_jest-environment-jsdom@26.6.2 + '@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.41.1 - rollup-plugin-cleanup: 3.2.1_rollup@2.41.1 - rollup-plugin-license: 2.2.0_rollup@2.41.1 - rollup-plugin-terser: 7.0.2_rollup@2.41.1 - rollup-plugin-ts: 1.4.0_rollup@2.41.1+typescript@4.3.5 - ts-jest: 26.5.0_jest@26.6.3+typescript@4.3.5 - typescript: 4.3.5 + 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 ../../trackers/javascript-tracker: specifiers: - '@ampproject/rollup-plugin-closure-compiler': ^0.27.0 - '@rollup/plugin-alias': ^3.1.2 - '@rollup/plugin-commonjs': ^17.1.0 - '@rollup/plugin-json': ^4.1.0 - '@rollup/plugin-node-resolve': ^11.2.0 + '@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 '@snowplow/browser-plugin-ad-tracking': workspace:* '@snowplow/browser-plugin-browser-features': workspace:* '@snowplow/browser-plugin-client-hints': workspace:* @@ -1055,36 +1155,40 @@ importers: '@snowplow/browser-tracker': workspace:* '@snowplow/browser-tracker-core': workspace:* '@snowplow/tracker-core': workspace:* - '@types/dockerode': ^3.2.2 - '@types/jest': ^26.0.20 - '@types/lodash': ^4.14.168 - '@types/node': ^14.6.0 - '@wdio/cli': ^6.12.1 - '@wdio/jasmine-framework': ^6.11.0 - '@wdio/local-runner': ^6.12.1 - '@wdio/sauce-service': ^6.12.1 - '@wdio/spec-reporter': ^6.11.0 - '@wdio/static-server-service': ^6.10.10 - '@wdio/sync': ^6.11.0 - chromedriver: ^94.0.0 - dockerode: ^3.2.1 - jest: ^26.6.3 - jest-standard-reporter: ^2.0.0 - lodash: ^4.17.21 - npm-run-all: ^4.1.5 - rollup: ^2.41.1 - rollup-plugin-cleanup: ^3.2.1 - rollup-plugin-filesize: ^9.0.2 - rollup-plugin-license: ^2.2.0 - rollup-plugin-sizes: ^1.0.3 - rollup-plugin-terser: ^7.0.2 - rollup-plugin-ts: ^1.4.0 - saucelabs: ^4.6.0 - ts-jest: ^26.5.0 - ts-node: ^9.1.1 - tslib: ^2.3.0 - typescript: ^4.3.5 - wdio-chromedriver-service: ^6.0.4 + '@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 + '@wdio/cli': ~7.19.3 + '@wdio/jasmine-framework': ~7.19.3 + '@wdio/local-runner': ~7.19.3 + '@wdio/sauce-service': ~7.19.3 + '@wdio/spec-reporter': ~7.19.1 + '@wdio/static-server-service': ~7.19.1 + '@wdio/types': ~7.19.1 + chromedriver: ~99.0.0 + 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 + 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.1.3 + ts-jest: ~27.1.3 + ts-node: ~10.7.0 + tslib: ^2.3.1 + typescript: ~4.6.2 + wdio-chromedriver-service: ~7.3.2 + webdriverio: ~7.19.3 dependencies: '@snowplow/browser-plugin-ad-tracking': link:../../plugins/browser-plugin-ad-tracking '@snowplow/browser-plugin-browser-features': link:../../plugins/browser-plugin-browser-features @@ -1107,83 +1211,87 @@ importers: '@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.0 + tslib: 2.3.1 devDependencies: - '@ampproject/rollup-plugin-closure-compiler': 0.27.0_rollup@2.41.1 - '@rollup/plugin-alias': 3.1.2_rollup@2.41.1 - '@rollup/plugin-commonjs': 17.1.0_rollup@2.41.1 - '@rollup/plugin-json': 4.1.0_rollup@2.41.1 - '@rollup/plugin-node-resolve': 11.2.0_rollup@2.41.1 - '@types/dockerode': 3.2.2 - '@types/jest': 26.0.20 - '@types/lodash': 4.14.168 - '@types/node': 14.14.25 - '@wdio/cli': 6.12.1 - '@wdio/jasmine-framework': 6.11.0_@wdio+cli@6.12.1 - '@wdio/local-runner': 6.12.1_@wdio+cli@6.12.1 - '@wdio/sauce-service': 6.12.1_@wdio+cli@6.12.1 - '@wdio/spec-reporter': 6.11.0_@wdio+cli@6.12.1 - '@wdio/static-server-service': 6.10.10 - '@wdio/sync': 6.11.0 - chromedriver: 94.0.0 - dockerode: 3.2.1 - jest: 26.6.3_ts-node@9.1.1 + '@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 + '@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 + '@wdio/cli': 7.19.3_typescript@4.6.2 + '@wdio/jasmine-framework': 7.19.3_6ff4890b76ad5f7636b6a1045736e595 + '@wdio/local-runner': 7.19.3_6ff4890b76ad5f7636b6a1045736e595 + '@wdio/sauce-service': 7.19.3_6ff4890b76ad5f7636b6a1045736e595 + '@wdio/spec-reporter': 7.19.1_6ff4890b76ad5f7636b6a1045736e595 + '@wdio/static-server-service': 7.19.1_typescript@4.6.2 + '@wdio/types': 7.19.1_typescript@4.6.2 + chromedriver: 99.0.0 + dockerode: 3.3.1 + jest: 27.5.1_ts-node@10.7.0 + 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 npm-run-all: 4.1.5 - rollup: 2.41.1 - rollup-plugin-cleanup: 3.2.1_rollup@2.41.1 - rollup-plugin-filesize: 9.1.0 - rollup-plugin-license: 2.2.0_rollup@2.41.1 - rollup-plugin-sizes: 1.0.3_rollup@2.41.1 - rollup-plugin-terser: 7.0.2_rollup@2.41.1 - rollup-plugin-ts: 1.4.0_rollup@2.41.1+typescript@4.3.5 - saucelabs: 4.6.2 - ts-jest: 26.5.0_jest@26.6.3+typescript@4.3.5 - ts-node: 9.1.1_typescript@4.3.5 - typescript: 4.3.5 - wdio-chromedriver-service: 6.0.4_25d7422259640475936d8a95dcd9427b + 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.1.3 + ts-jest: 27.1.3_60149d457e34ffba7d4e845dde6a1263 + ts-node: 10.7.0_3a45c3db8dee5edcd277f201fb244988 + typescript: 4.6.2 + wdio-chromedriver-service: 7.3.2_7cd9d9a3ecd8d3e08dc7a9075b21719b + webdriverio: 7.19.3_typescript@4.6.2 ../../trackers/node-tracker: specifiers: - '@rollup/plugin-json': ^4.1.0 + '@rollup/plugin-json': ~4.1.0 '@snowplow/tracker-core': workspace:* - '@types/node': ^14.6.0 - '@types/sinon': ^9.0.5 - '@typescript-eslint/eslint-plugin': ^4.9.0 - '@typescript-eslint/parser': ^4.9.0 - ava: ^3.13.0 - eslint: ^7.7.0 - eslint-plugin-ava: ^11.0.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: ~4.1.0 + eslint: ~8.11.0 + eslint-plugin-ava: ~13.2.0 got: ^11.7.0 - nock: ^13.0.4 - rollup: ^2.41.1 - rollup-plugin-license: ^2.2.0 - rollup-plugin-ts: ^1.4.0 - sinon: ^9.0.3 - ts-node: ^9.1.1 - tslib: ^2.3.0 - typescript: ^4.3.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.7.0 + tslib: ^2.3.1 + typescript: ~4.6.2 dependencies: '@snowplow/tracker-core': link:../../libraries/tracker-core - got: 11.8.1 - tslib: 2.3.0 + got: 11.7.0 + tslib: 2.3.1 devDependencies: - '@rollup/plugin-json': 4.1.0_rollup@2.41.1 - '@types/node': 14.14.25 - '@types/sinon': 9.0.11 - '@typescript-eslint/eslint-plugin': 4.11.0_03dc75c18e96dfbc156c58d5a8cd7146 - '@typescript-eslint/parser': 4.11.0_eslint@7.16.0+typescript@4.3.5 - ava: 3.14.0 - eslint: 7.16.0 - eslint-plugin-ava: 11.0.0_eslint@7.16.0 - nock: 13.0.11 - rollup: 2.41.1 - rollup-plugin-license: 2.2.0_rollup@2.41.1 - rollup-plugin-ts: 1.4.0_rollup@2.41.1+typescript@4.3.5 - sinon: 9.2.4 - ts-node: 9.1.1_typescript@4.3.5 - typescript: 4.3.5 + '@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.7.0_3a45c3db8dee5edcd277f201fb244988 + typescript: 4.6.2 packages: @@ -1195,7 +1303,7 @@ packages: sourcemap-codec: 1.4.8 dev: true - /@ampproject/rollup-plugin-closure-compiler/0.27.0_rollup@2.41.1: + /@ampproject/rollup-plugin-closure-compiler/0.27.0_rollup@2.70.1: resolution: {integrity: sha512-stpAOn2ZZEJuAV39HFw9cnKJYNhEeHtcsoa83orpLDhSxsxSbVEKwHaWlFBaQYpQRSOdapC4eJhJnCzocZxnqg==} engines: {node: '>=10'} peerDependencies: @@ -1207,7 +1315,7 @@ packages: estree-walker: 2.0.1 google-closure-compiler: 20210808.0.0 magic-string: 0.25.7 - rollup: 2.41.1 + rollup: 2.70.1 uuid: 8.1.0 dev: true @@ -1217,32 +1325,27 @@ packages: '@babel/highlight': 7.10.4 dev: true - /@babel/code-frame/7.14.5: - resolution: {integrity: sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==} + /@babel/code-frame/7.16.7: + resolution: {integrity: sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/highlight': 7.14.5 - dev: true - - /@babel/compat-data/7.14.9: - resolution: {integrity: sha512-p3QjZmMGHDGdpcwEYYWu7i7oJShJvtgMjJeb0W95PPhSm++3lm8YXYOh45Y6iCN9PkZLTZ7CIX5nFrp7pw7TXw==} - engines: {node: '>=6.9.0'} + '@babel/highlight': 7.16.10 dev: true /@babel/core/7.12.10: resolution: {integrity: sha512-eTAlQKq65zHfkHZV0sIVODCPGVgoo1HdBlbSLi9CqOzuZanMv2ihzY+4paiKr1mH+XmYESMAmJ/dpZ68eN6d8w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.12.11 + '@babel/code-frame': 7.16.7 '@babel/generator': 7.12.11 '@babel/helper-module-transforms': 7.12.1 '@babel/helpers': 7.12.5 - '@babel/parser': 7.12.11 + '@babel/parser': 7.16.12 '@babel/template': 7.12.7 '@babel/traverse': 7.12.10 - '@babel/types': 7.12.11 + '@babel/types': 7.16.8 convert-source-map: 1.7.0 - debug: 4.3.1 + debug: 4.3.3 gensync: 1.0.0-beta.2 json5: 2.1.3 lodash: 4.17.21 @@ -1252,204 +1355,38 @@ packages: - supports-color dev: true - /@babel/core/7.14.8: - resolution: {integrity: sha512-/AtaeEhT6ErpDhInbXmjHcUQXH0L0TEgscfcxk1qbOvLuKCa5aZT0SOOtDKFY96/CLROwbLSKyFor6idgNaU4Q==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.14.5 - '@babel/generator': 7.14.9 - '@babel/helper-compilation-targets': 7.14.5_@babel+core@7.14.8 - '@babel/helper-module-transforms': 7.14.8 - '@babel/helpers': 7.14.8 - '@babel/parser': 7.14.9 - '@babel/template': 7.14.5 - '@babel/traverse': 7.14.9 - '@babel/types': 7.14.9 - convert-source-map: 1.7.0 - debug: 4.3.1 - gensync: 1.0.0-beta.2 - json5: 2.1.3 - semver: 6.3.0 - source-map: 0.5.7 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/generator/7.12.11: resolution: {integrity: sha512-Ggg6WPOJtSi8yYQvLVjG8F/TlpWDlKx0OpS4Kt+xMQPs5OaGYWy+v1A+1TvxI6sAMGZpKWWoAQ1DaeQbImlItA==} dependencies: - '@babel/types': 7.12.11 - jsesc: 2.5.2 - source-map: 0.5.7 - dev: true - - /@babel/generator/7.14.9: - resolution: {integrity: sha512-4yoHbhDYzFa0GLfCzLp5GxH7vPPMAHdZjyE7M/OajM9037zhx0rf+iNsJwp4PT0MSFpwjG7BsHEbPkBQpZ6cYA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.14.9 + '@babel/types': 7.16.8 jsesc: 2.5.2 source-map: 0.5.7 dev: true - /@babel/helper-annotate-as-pure/7.12.13: - resolution: {integrity: sha512-7YXfX5wQ5aYM/BOlbSccHDbuXXFPxeoUmfWtz8le2yTkTZc+BxsiEnENFoi2SlmA8ewDkG2LgIMIVzzn2h8kfw==} - dependencies: - '@babel/types': 7.14.9 - dev: true - - /@babel/helper-annotate-as-pure/7.14.5: - resolution: {integrity: sha512-EivH9EgBIb+G8ij1B2jAwSH36WnGvkQSEC6CkX/6v6ZFlw5fVOHvsgGF4uiEHO2GzMvunZb6tDLQEQSdrdocrA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.14.9 - dev: true - - /@babel/helper-builder-binary-assignment-operator-visitor/7.14.5: - resolution: {integrity: sha512-YTA/Twn0vBXDVGJuAX6PwW7x5zQei1luDDo2Pl6q1qZ7hVNl0RZrhHCQG/ArGpR29Vl7ETiB8eJyrvpuRp300w==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-explode-assignable-expression': 7.14.5 - '@babel/types': 7.14.9 - dev: true - - /@babel/helper-compilation-targets/7.14.5_@babel+core@7.14.8: - resolution: {integrity: sha512-v+QtZqXEiOnpO6EYvlImB6zCD2Lel06RzOPzmkz/D/XgQiUu3C/Jb1LOqSt/AIA34TYi/Q+KlT8vTQrgdxkbLw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/compat-data': 7.14.9 - '@babel/core': 7.14.8 - '@babel/helper-validator-option': 7.14.5 - browserslist: 4.16.6 - semver: 6.3.0 - dev: true - - /@babel/helper-create-class-features-plugin/7.14.8_@babel+core@7.14.8: - resolution: {integrity: sha512-bpYvH8zJBWzeqi1o+co8qOrw+EXzQ/0c74gVmY205AWXy9nifHrOg77y+1zwxX5lXE7Icq4sPlSQ4O2kWBrteQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.14.8 - '@babel/helper-annotate-as-pure': 7.14.5 - '@babel/helper-function-name': 7.14.5 - '@babel/helper-member-expression-to-functions': 7.14.7 - '@babel/helper-optimise-call-expression': 7.14.5 - '@babel/helper-replace-supers': 7.14.5 - '@babel/helper-split-export-declaration': 7.14.5 - transitivePeerDependencies: - - supports-color - dev: true - - /@babel/helper-create-regexp-features-plugin/7.12.17_@babel+core@7.14.8: - resolution: {integrity: sha512-p2VGmBu9oefLZ2nQpgnEnG0ZlRPvL8gAGvPUMQwUdaE8k49rOMuZpOwdQoy5qJf6K8jL3bcAMhVUlHAjIgJHUg==} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.14.8 - '@babel/helper-annotate-as-pure': 7.12.13 - regexpu-core: 4.7.1 - dev: true - - /@babel/helper-create-regexp-features-plugin/7.14.5_@babel+core@7.14.8: - resolution: {integrity: sha512-TLawwqpOErY2HhWbGJ2nZT5wSkR192QpN+nBg1THfBfftrlvOh+WbhrxXCH4q4xJ9Gl16BGPR/48JA+Ryiho/A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.14.8 - '@babel/helper-annotate-as-pure': 7.14.5 - regexpu-core: 4.7.1 - dev: true - - /@babel/helper-define-polyfill-provider/0.2.3_@babel+core@7.14.8: - resolution: {integrity: sha512-RH3QDAfRMzj7+0Nqu5oqgO5q9mFtQEVvCRsi8qCEfzLR9p2BHfn5FzhSB2oj1fF7I2+DcTORkYaQ6aTR9Cofew==} - peerDependencies: - '@babel/core': ^7.4.0-0 - dependencies: - '@babel/core': 7.14.8 - '@babel/helper-compilation-targets': 7.14.5_@babel+core@7.14.8 - '@babel/helper-module-imports': 7.14.5 - '@babel/helper-plugin-utils': 7.14.5 - '@babel/traverse': 7.14.9 - debug: 4.3.1 - lodash.debounce: 4.0.8 - resolve: 1.19.0 - semver: 6.3.0 - transitivePeerDependencies: - - supports-color - dev: true - - /@babel/helper-explode-assignable-expression/7.14.5: - resolution: {integrity: sha512-Htb24gnGJdIGT4vnRKMdoXiOIlqOLmdiUYpAQ0mYfgVT/GDm8GOYhgi4GL+hMKrkiPRohO4ts34ELFsGAPQLDQ==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.14.9 - 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.12.11 - dev: true - - /@babel/helper-function-name/7.14.5: - resolution: {integrity: sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-get-function-arity': 7.14.5 - '@babel/template': 7.14.5 - '@babel/types': 7.14.9 + '@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.12.11 - dev: true - - /@babel/helper-get-function-arity/7.14.5: - resolution: {integrity: sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.14.9 - dev: true - - /@babel/helper-hoist-variables/7.14.5: - resolution: {integrity: sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.14.9 + '@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.12.11 - dev: true - - /@babel/helper-member-expression-to-functions/7.14.7: - resolution: {integrity: sha512-TMUt4xKxJn6ccjcOW7c4hlwyJArizskAhoSTOCkA0uZ+KghIaci0Qg9R043kUMWI9mtQfgny+NQ5QATnZ+paaA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.14.9 + '@babel/types': 7.16.8 dev: true /@babel/helper-module-imports/7.12.5: resolution: {integrity: sha512-SR713Ogqg6++uexFRORf/+nPXMmWIn80TALu0uaFb+iQIUoR7bOC7zBWyzBs5b3tBBJXuyD0cRu1F15GyzjOWA==} dependencies: - '@babel/types': 7.12.11 - dev: true - - /@babel/helper-module-imports/7.14.5: - resolution: {integrity: sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.14.9 + '@babel/types': 7.16.8 dev: true /@babel/helper-module-transforms/7.12.1: @@ -1459,1125 +1396,212 @@ packages: '@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.12.11 - '@babel/template': 7.12.7 - '@babel/traverse': 7.12.10 - '@babel/types': 7.12.11 - lodash: 4.17.21 - transitivePeerDependencies: - - supports-color - dev: true - - /@babel/helper-module-transforms/7.14.8: - resolution: {integrity: sha512-RyE+NFOjXn5A9YU1dkpeBaduagTlZ0+fccnIcAGbv1KGUlReBj7utF7oEth8IdIBQPcux0DDgW5MFBH2xu9KcA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-module-imports': 7.14.5 - '@babel/helper-replace-supers': 7.14.5 - '@babel/helper-simple-access': 7.14.8 - '@babel/helper-split-export-declaration': 7.14.5 - '@babel/helper-validator-identifier': 7.14.9 - '@babel/template': 7.14.5 - '@babel/traverse': 7.14.9 - '@babel/types': 7.14.9 - transitivePeerDependencies: - - supports-color - dev: true - - /@babel/helper-optimise-call-expression/7.12.10: - resolution: {integrity: sha512-4tpbU0SrSTjjt65UMWSrUOPZTsgvPgGG4S8QSTNHacKzpS51IVWGDj0yCwyeZND/i+LSN2g/O63jEXEWm49sYQ==} - dependencies: - '@babel/types': 7.12.11 - dev: true - - /@babel/helper-optimise-call-expression/7.14.5: - resolution: {integrity: sha512-IqiLIrODUOdnPU9/F8ib1Fx2ohlgDhxnIDU7OEVi+kAbEZcyiF7BLU8W6PfvPi9LzztjS7kcbzbmL7oG8kD6VA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.14.9 - dev: true - - /@babel/helper-plugin-utils/7.10.4: - resolution: {integrity: sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==} - dev: true - - /@babel/helper-plugin-utils/7.14.5: - resolution: {integrity: sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==} - engines: {node: '>=6.9.0'} - dev: true - - /@babel/helper-remap-async-to-generator/7.14.5: - resolution: {integrity: sha512-rLQKdQU+HYlxBwQIj8dk4/0ENOUEhA/Z0l4hN8BexpvmSMN9oA9EagjnhnDpNsRdWCfjwa4mn/HyBXO9yhQP6A==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-annotate-as-pure': 7.14.5 - '@babel/helper-wrap-function': 7.14.5 - '@babel/types': 7.14.9 - transitivePeerDependencies: - - supports-color - dev: true - - /@babel/helper-replace-supers/7.12.11: - resolution: {integrity: sha512-q+w1cqmhL7R0FNzth/PLLp2N+scXEK/L2AHbXUyydxp828F4FEa5WcVoqui9vFRiHDQErj9Zof8azP32uGVTRA==} - 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.12.11 - transitivePeerDependencies: - - supports-color - dev: true - - /@babel/helper-replace-supers/7.14.5: - resolution: {integrity: sha512-3i1Qe9/8x/hCHINujn+iuHy+mMRLoc77b2nI9TB0zjH1hvn9qGlXjWlggdwUcju36PkPCy/lpM7LLUdcTyH4Ow==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-member-expression-to-functions': 7.14.7 - '@babel/helper-optimise-call-expression': 7.14.5 - '@babel/traverse': 7.14.9 - '@babel/types': 7.14.9 - transitivePeerDependencies: - - supports-color - dev: true - - /@babel/helper-simple-access/7.12.1: - resolution: {integrity: sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA==} - dependencies: - '@babel/types': 7.12.11 - dev: true - - /@babel/helper-simple-access/7.14.8: - resolution: {integrity: sha512-TrFN4RHh9gnWEU+s7JloIho2T76GPwRHhdzOWLqTrMnlas8T9O7ec+oEDNsRXndOmru9ymH9DFrEOxpzPoSbdg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.14.9 - dev: true - - /@babel/helper-skip-transparent-expression-wrappers/7.14.5: - resolution: {integrity: sha512-dmqZB7mrb94PZSAOYtr+ZN5qt5owZIAgqtoTuqiFbHFtxgEcmQlRJVI+bO++fciBunXtB6MK7HrzrfcAzIz2NQ==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.14.9 - dev: true - - /@babel/helper-split-export-declaration/7.12.11: - resolution: {integrity: sha512-LsIVN8j48gHgwzfocYUSkO/hjYAOJqlpJEc7tGXcIm4cubjVUf8LGW6eWRyxEu7gA25q02p0rQUWoCI33HNS5g==} - dependencies: - '@babel/types': 7.12.11 - dev: true - - /@babel/helper-split-export-declaration/7.14.5: - resolution: {integrity: sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.14.9 - dev: true - - /@babel/helper-validator-identifier/7.12.11: - resolution: {integrity: sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==} - dev: true - - /@babel/helper-validator-identifier/7.14.9: - resolution: {integrity: sha512-pQYxPY0UP6IHISRitNe8bsijHex4TWZXi2HwKVsjPiltzlhse2znVcm9Ace510VT1kxIHjGJCZZQBX2gJDbo0g==} - engines: {node: '>=6.9.0'} - dev: true - - /@babel/helper-validator-option/7.14.5: - resolution: {integrity: sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==} - engines: {node: '>=6.9.0'} - dev: true - - /@babel/helper-wrap-function/7.14.5: - resolution: {integrity: sha512-YEdjTCq+LNuNS1WfxsDCNpgXkJaIyqco6DAelTUjT4f2KIWC1nBcaCaSdHTBqQVLnTBexBcVcFhLSU1KnYuePQ==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-function-name': 7.14.5 - '@babel/template': 7.14.5 - '@babel/traverse': 7.14.9 - '@babel/types': 7.14.9 - transitivePeerDependencies: - - supports-color - dev: true - - /@babel/helpers/7.12.5: - resolution: {integrity: sha512-lgKGMQlKqA8meJqKsW6rUnc4MdUk35Ln0ATDqdM1a/UpARODdI4j5Y5lVfUScnSNkJcdCRAaWkspykNoFg9sJA==} - dependencies: + '@babel/helper-validator-identifier': 7.16.7 '@babel/template': 7.12.7 - '@babel/traverse': 7.12.10 - '@babel/types': 7.12.11 - transitivePeerDependencies: - - supports-color - dev: true - - /@babel/helpers/7.14.8: - resolution: {integrity: sha512-ZRDmI56pnV+p1dH6d+UN6GINGz7Krps3+270qqI9UJ4wxYThfAIcI5i7j5vXC4FJ3Wap+S9qcebxeYiqn87DZw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/template': 7.14.5 - '@babel/traverse': 7.14.9 - '@babel/types': 7.14.9 - transitivePeerDependencies: - - supports-color - dev: true - - /@babel/highlight/7.10.4: - resolution: {integrity: sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==} - dependencies: - '@babel/helper-validator-identifier': 7.12.11 - chalk: 2.4.2 - js-tokens: 4.0.0 - dev: true - - /@babel/highlight/7.14.5: - resolution: {integrity: sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-validator-identifier': 7.14.9 - chalk: 2.4.2 - js-tokens: 4.0.0 - dev: true - - /@babel/parser/7.12.11: - resolution: {integrity: sha512-N3UxG+uuF4CMYoNj8AhnbAcJF0PiuJ9KHuy1lQmkYsxTer/MAH9UBNHsBoAX/4s6NvlDD047No8mYVGGzLL4hg==} - engines: {node: '>=6.0.0'} - hasBin: true - dev: true - - /@babel/parser/7.13.12: - resolution: {integrity: sha512-4T7Pb244rxH24yR116LAuJ+adxXXnHhZaLJjegJVKSdoNCe4x1eDBaud5YIcQFcqzsaD5BHvJw5BQ0AZapdCRw==} - engines: {node: '>=6.0.0'} - hasBin: true - dev: true - - /@babel/parser/7.14.9: - resolution: {integrity: sha512-RdUTOseXJ8POjjOeEBEvNMIZU/nm4yu2rufRkcibzkkg7DmQvXU8v3M4Xk9G7uuI86CDGkKcuDWgioqZm+mScQ==} - engines: {node: '>=6.0.0'} - hasBin: true - dev: true - - /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/7.14.5_@babel+core@7.14.8: - resolution: {integrity: sha512-ZoJS2XCKPBfTmL122iP6NM9dOg+d4lc9fFk3zxc8iDjvt8Pk4+TlsHSKhIPf6X+L5ORCdBzqMZDjL/WHj7WknQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.13.0 - dependencies: - '@babel/core': 7.14.8 - '@babel/helper-plugin-utils': 7.14.5 - '@babel/helper-skip-transparent-expression-wrappers': 7.14.5 - '@babel/plugin-proposal-optional-chaining': 7.14.5_@babel+core@7.14.8 - dev: true - - /@babel/plugin-proposal-async-generator-functions/7.14.9_@babel+core@7.14.8: - resolution: {integrity: sha512-d1lnh+ZnKrFKwtTYdw320+sQWCTwgkB9fmUhNXRADA4akR6wLjaruSGnIEUjpt9HCOwTr4ynFTKu19b7rFRpmw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.14.8 - '@babel/helper-plugin-utils': 7.14.5 - '@babel/helper-remap-async-to-generator': 7.14.5 - '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.14.8 - transitivePeerDependencies: - - supports-color - dev: true - - /@babel/plugin-proposal-class-properties/7.14.5_@babel+core@7.14.8: - resolution: {integrity: sha512-q/PLpv5Ko4dVc1LYMpCY7RVAAO4uk55qPwrIuJ5QJ8c6cVuAmhu7I/49JOppXL6gXf7ZHzpRVEUZdYoPLM04Gg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.14.8 - '@babel/helper-create-class-features-plugin': 7.14.8_@babel+core@7.14.8 - '@babel/helper-plugin-utils': 7.14.5 - transitivePeerDependencies: - - supports-color - dev: true - - /@babel/plugin-proposal-class-static-block/7.14.5_@babel+core@7.14.8: - resolution: {integrity: sha512-KBAH5ksEnYHCegqseI5N9skTdxgJdmDoAOc0uXa+4QMYKeZD0w5IARh4FMlTNtaHhbB8v+KzMdTgxMMzsIy6Yg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.12.0 - dependencies: - '@babel/core': 7.14.8 - '@babel/helper-create-class-features-plugin': 7.14.8_@babel+core@7.14.8 - '@babel/helper-plugin-utils': 7.14.5 - '@babel/plugin-syntax-class-static-block': 7.14.5_@babel+core@7.14.8 - transitivePeerDependencies: - - supports-color - dev: true - - /@babel/plugin-proposal-dynamic-import/7.14.5_@babel+core@7.14.8: - resolution: {integrity: sha512-ExjiNYc3HDN5PXJx+bwC50GIx/KKanX2HiggnIUAYedbARdImiCU4RhhHfdf0Kd7JNXGpsBBBCOm+bBVy3Gb0g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.14.8 - '@babel/helper-plugin-utils': 7.14.5 - '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.14.8 - dev: true - - /@babel/plugin-proposal-export-namespace-from/7.14.5_@babel+core@7.14.8: - resolution: {integrity: sha512-g5POA32bXPMmSBu5Dx/iZGLGnKmKPc5AiY7qfZgurzrCYgIztDlHFbznSNCoQuv57YQLnQfaDi7dxCtLDIdXdA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.14.8 - '@babel/helper-plugin-utils': 7.14.5 - '@babel/plugin-syntax-export-namespace-from': 7.8.3_@babel+core@7.14.8 - dev: true - - /@babel/plugin-proposal-json-strings/7.14.5_@babel+core@7.14.8: - resolution: {integrity: sha512-NSq2fczJYKVRIsUJyNxrVUMhB27zb7N7pOFGQOhBKJrChbGcgEAqyZrmZswkPk18VMurEeJAaICbfm57vUeTbQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.14.8 - '@babel/helper-plugin-utils': 7.14.5 - '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.14.8 - dev: true - - /@babel/plugin-proposal-logical-assignment-operators/7.14.5_@babel+core@7.14.8: - resolution: {integrity: sha512-YGn2AvZAo9TwyhlLvCCWxD90Xq8xJ4aSgaX3G5D/8DW94L8aaT+dS5cSP+Z06+rCJERGSr9GxMBZ601xoc2taw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.14.8 - '@babel/helper-plugin-utils': 7.14.5 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.14.8 - dev: true - - /@babel/plugin-proposal-nullish-coalescing-operator/7.14.5_@babel+core@7.14.8: - resolution: {integrity: sha512-gun/SOnMqjSb98Nkaq2rTKMwervfdAoz6NphdY0vTfuzMfryj+tDGb2n6UkDKwez+Y8PZDhE3D143v6Gepp4Hg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.14.8 - '@babel/helper-plugin-utils': 7.14.5 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.14.8 - dev: true - - /@babel/plugin-proposal-numeric-separator/7.14.5_@babel+core@7.14.8: - resolution: {integrity: sha512-yiclALKe0vyZRZE0pS6RXgjUOt87GWv6FYa5zqj15PvhOGFO69R5DusPlgK/1K5dVnCtegTiWu9UaBSrLLJJBg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.14.8 - '@babel/helper-plugin-utils': 7.14.5 - '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.14.8 - dev: true - - /@babel/plugin-proposal-object-rest-spread/7.14.7_@babel+core@7.14.8: - resolution: {integrity: sha512-082hsZz+sVabfmDWo1Oct1u1AgbKbUAyVgmX4otIc7bdsRgHBXwTwb3DpDmD4Eyyx6DNiuz5UAATT655k+kL5g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/compat-data': 7.14.9 - '@babel/core': 7.14.8 - '@babel/helper-compilation-targets': 7.14.5_@babel+core@7.14.8 - '@babel/helper-plugin-utils': 7.14.5 - '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.14.8 - '@babel/plugin-transform-parameters': 7.14.5_@babel+core@7.14.8 - dev: true - - /@babel/plugin-proposal-optional-catch-binding/7.14.5_@babel+core@7.14.8: - resolution: {integrity: sha512-3Oyiixm0ur7bzO5ybNcZFlmVsygSIQgdOa7cTfOYCMY+wEPAYhZAJxi3mixKFCTCKUhQXuCTtQ1MzrpL3WT8ZQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.14.8 - '@babel/helper-plugin-utils': 7.14.5 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.14.8 - dev: true - - /@babel/plugin-proposal-optional-chaining/7.14.5_@babel+core@7.14.8: - resolution: {integrity: sha512-ycz+VOzo2UbWNI1rQXxIuMOzrDdHGrI23fRiz/Si2R4kv2XZQ1BK8ccdHwehMKBlcH/joGW/tzrUmo67gbJHlQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.14.8 - '@babel/helper-plugin-utils': 7.14.5 - '@babel/helper-skip-transparent-expression-wrappers': 7.14.5 - '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.14.8 - dev: true - - /@babel/plugin-proposal-private-methods/7.14.5_@babel+core@7.14.8: - resolution: {integrity: sha512-838DkdUA1u+QTCplatfq4B7+1lnDa/+QMI89x5WZHBcnNv+47N8QEj2k9I2MUU9xIv8XJ4XvPCviM/Dj7Uwt9g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.14.8 - '@babel/helper-create-class-features-plugin': 7.14.8_@babel+core@7.14.8 - '@babel/helper-plugin-utils': 7.14.5 - transitivePeerDependencies: - - supports-color - dev: true - - /@babel/plugin-proposal-private-property-in-object/7.14.5_@babel+core@7.14.8: - resolution: {integrity: sha512-62EyfyA3WA0mZiF2e2IV9mc9Ghwxcg8YTu8BS4Wss4Y3PY725OmS9M0qLORbJwLqFtGh+jiE4wAmocK2CTUK2Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.14.8 - '@babel/helper-annotate-as-pure': 7.14.5 - '@babel/helper-create-class-features-plugin': 7.14.8_@babel+core@7.14.8 - '@babel/helper-plugin-utils': 7.14.5 - '@babel/plugin-syntax-private-property-in-object': 7.14.5_@babel+core@7.14.8 - transitivePeerDependencies: - - supports-color - dev: true - - /@babel/plugin-proposal-unicode-property-regex/7.12.13_@babel+core@7.14.8: - resolution: {integrity: sha512-XyJmZidNfofEkqFV5VC/bLabGmO5QzenPO/YOfGuEbgU+2sSwMmio3YLb4WtBgcmmdwZHyVyv8on77IUjQ5Gvg==} - engines: {node: '>=4'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.14.8 - '@babel/helper-create-regexp-features-plugin': 7.12.17_@babel+core@7.14.8 - '@babel/helper-plugin-utils': 7.14.5 - dev: true - - /@babel/plugin-proposal-unicode-property-regex/7.14.5_@babel+core@7.14.8: - resolution: {integrity: sha512-6axIeOU5LnY471KenAB9vI8I5j7NQ2d652hIYwVyRfgaZT5UpiqFKCuVXCDMSrU+3VFafnu2c5m3lrWIlr6A5Q==} - engines: {node: '>=4'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.14.8 - '@babel/helper-create-regexp-features-plugin': 7.14.5_@babel+core@7.14.8 - '@babel/helper-plugin-utils': 7.14.5 - dev: true - - /@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 - dependencies: - '@babel/core': 7.12.10 - '@babel/helper-plugin-utils': 7.14.5 - dev: true - - /@babel/plugin-syntax-async-generators/7.8.4_@babel+core@7.14.8: - resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.14.8 - '@babel/helper-plugin-utils': 7.14.5 - dev: true - - /@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 - dependencies: - '@babel/core': 7.12.10 - '@babel/helper-plugin-utils': 7.10.4 - dev: true - - /@babel/plugin-syntax-class-properties/7.12.13_@babel+core@7.14.8: - resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.14.8 - '@babel/helper-plugin-utils': 7.14.5 - dev: true - - /@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 - dependencies: - '@babel/core': 7.12.10 - '@babel/helper-plugin-utils': 7.10.4 - dev: true - - /@babel/plugin-syntax-class-static-block/7.14.5_@babel+core@7.14.8: - resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.14.8 - '@babel/helper-plugin-utils': 7.14.5 - dev: true - - /@babel/plugin-syntax-dynamic-import/7.8.3_@babel+core@7.14.8: - resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.14.8 - '@babel/helper-plugin-utils': 7.14.5 - dev: true - - /@babel/plugin-syntax-export-namespace-from/7.8.3_@babel+core@7.14.8: - resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.14.8 - '@babel/helper-plugin-utils': 7.14.5 - dev: true - - /@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 - dependencies: - '@babel/core': 7.12.10 - '@babel/helper-plugin-utils': 7.10.4 - dev: true - - /@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 - dependencies: - '@babel/core': 7.12.10 - '@babel/helper-plugin-utils': 7.14.5 - dev: true - - /@babel/plugin-syntax-json-strings/7.8.3_@babel+core@7.14.8: - resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.14.8 - '@babel/helper-plugin-utils': 7.14.5 - dev: true - - /@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 - dependencies: - '@babel/core': 7.12.10 - '@babel/helper-plugin-utils': 7.14.5 - dev: true - - /@babel/plugin-syntax-logical-assignment-operators/7.10.4_@babel+core@7.14.8: - resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.14.8 - '@babel/helper-plugin-utils': 7.14.5 - dev: true - - /@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 - dependencies: - '@babel/core': 7.12.10 - '@babel/helper-plugin-utils': 7.14.5 - dev: true - - /@babel/plugin-syntax-nullish-coalescing-operator/7.8.3_@babel+core@7.14.8: - resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.14.8 - '@babel/helper-plugin-utils': 7.14.5 - dev: true - - /@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 - dependencies: - '@babel/core': 7.12.10 - '@babel/helper-plugin-utils': 7.14.5 - dev: true - - /@babel/plugin-syntax-numeric-separator/7.10.4_@babel+core@7.14.8: - resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.14.8 - '@babel/helper-plugin-utils': 7.14.5 - dev: true - - /@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 - dependencies: - '@babel/core': 7.12.10 - '@babel/helper-plugin-utils': 7.14.5 - dev: true - - /@babel/plugin-syntax-object-rest-spread/7.8.3_@babel+core@7.14.8: - resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.14.8 - '@babel/helper-plugin-utils': 7.14.5 - dev: true - - /@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 - dependencies: - '@babel/core': 7.12.10 - '@babel/helper-plugin-utils': 7.14.5 - dev: true - - /@babel/plugin-syntax-optional-catch-binding/7.8.3_@babel+core@7.14.8: - resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.14.8 - '@babel/helper-plugin-utils': 7.14.5 - dev: true - - /@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 - dependencies: - '@babel/core': 7.12.10 - '@babel/helper-plugin-utils': 7.14.5 - dev: true - - /@babel/plugin-syntax-optional-chaining/7.8.3_@babel+core@7.14.8: - resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.14.8 - '@babel/helper-plugin-utils': 7.14.5 - dev: true - - /@babel/plugin-syntax-private-property-in-object/7.14.5_@babel+core@7.14.8: - resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.14.8 - '@babel/helper-plugin-utils': 7.14.5 - dev: true - - /@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 - dependencies: - '@babel/core': 7.12.10 - '@babel/helper-plugin-utils': 7.10.4 - dev: true - - /@babel/plugin-syntax-top-level-await/7.14.5_@babel+core@7.14.8: - resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.14.8 - '@babel/helper-plugin-utils': 7.14.5 - dev: true - - /@babel/plugin-transform-arrow-functions/7.14.5_@babel+core@7.14.8: - resolution: {integrity: sha512-KOnO0l4+tD5IfOdi4x8C1XmEIRWUjNRV8wc6K2vz/3e8yAOoZZvsRXRRIF/yo/MAOFb4QjtAw9xSxMXbSMRy8A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.14.8 - '@babel/helper-plugin-utils': 7.14.5 - dev: true - - /@babel/plugin-transform-async-to-generator/7.14.5_@babel+core@7.14.8: - resolution: {integrity: sha512-szkbzQ0mNk0rpu76fzDdqSyPu0MuvpXgC+6rz5rpMb5OIRxdmHfQxrktL8CYolL2d8luMCZTR0DpIMIdL27IjA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.14.8 - '@babel/helper-module-imports': 7.14.5 - '@babel/helper-plugin-utils': 7.14.5 - '@babel/helper-remap-async-to-generator': 7.14.5 - transitivePeerDependencies: - - supports-color - dev: true - - /@babel/plugin-transform-block-scoped-functions/7.14.5_@babel+core@7.14.8: - resolution: {integrity: sha512-dtqWqdWZ5NqBX3KzsVCWfQI3A53Ft5pWFCT2eCVUftWZgjc5DpDponbIF1+c+7cSGk2wN0YK7HGL/ezfRbpKBQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.14.8 - '@babel/helper-plugin-utils': 7.14.5 - dev: true - - /@babel/plugin-transform-block-scoping/7.14.5_@babel+core@7.14.8: - resolution: {integrity: sha512-LBYm4ZocNgoCqyxMLoOnwpsmQ18HWTQvql64t3GvMUzLQrNoV1BDG0lNftC8QKYERkZgCCT/7J5xWGObGAyHDw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.14.8 - '@babel/helper-plugin-utils': 7.14.5 - dev: true - - /@babel/plugin-transform-classes/7.14.9_@babel+core@7.14.8: - resolution: {integrity: sha512-NfZpTcxU3foGWbl4wxmZ35mTsYJy8oQocbeIMoDAGGFarAmSQlL+LWMkDx/tj6pNotpbX3rltIA4dprgAPOq5A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.14.8 - '@babel/helper-annotate-as-pure': 7.14.5 - '@babel/helper-function-name': 7.14.5 - '@babel/helper-optimise-call-expression': 7.14.5 - '@babel/helper-plugin-utils': 7.14.5 - '@babel/helper-replace-supers': 7.14.5 - '@babel/helper-split-export-declaration': 7.14.5 - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - dev: true - - /@babel/plugin-transform-computed-properties/7.14.5_@babel+core@7.14.8: - resolution: {integrity: sha512-pWM+E4283UxaVzLb8UBXv4EIxMovU4zxT1OPnpHJcmnvyY9QbPPTKZfEj31EUvG3/EQRbYAGaYEUZ4yWOBC2xg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.14.8 - '@babel/helper-plugin-utils': 7.14.5 - dev: true - - /@babel/plugin-transform-destructuring/7.14.7_@babel+core@7.14.8: - resolution: {integrity: sha512-0mDE99nK+kVh3xlc5vKwB6wnP9ecuSj+zQCa/n0voENtP/zymdT4HH6QEb65wjjcbqr1Jb/7z9Qp7TF5FtwYGw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.14.8 - '@babel/helper-plugin-utils': 7.14.5 - dev: true - - /@babel/plugin-transform-dotall-regex/7.14.5_@babel+core@7.14.8: - resolution: {integrity: sha512-loGlnBdj02MDsFaHhAIJzh7euK89lBrGIdM9EAtHFo6xKygCUGuuWe07o1oZVk287amtW1n0808sQM99aZt3gw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.14.8 - '@babel/helper-create-regexp-features-plugin': 7.14.5_@babel+core@7.14.8 - '@babel/helper-plugin-utils': 7.14.5 - dev: true - - /@babel/plugin-transform-duplicate-keys/7.14.5_@babel+core@7.14.8: - resolution: {integrity: sha512-iJjbI53huKbPDAsJ8EmVmvCKeeq21bAze4fu9GBQtSLqfvzj2oRuHVx4ZkDwEhg1htQ+5OBZh/Ab0XDf5iBZ7A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.14.8 - '@babel/helper-plugin-utils': 7.14.5 - dev: true - - /@babel/plugin-transform-exponentiation-operator/7.14.5_@babel+core@7.14.8: - resolution: {integrity: sha512-jFazJhMBc9D27o9jDnIE5ZErI0R0m7PbKXVq77FFvqFbzvTMuv8jaAwLZ5PviOLSFttqKIW0/wxNSDbjLk0tYA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.14.8 - '@babel/helper-builder-binary-assignment-operator-visitor': 7.14.5 - '@babel/helper-plugin-utils': 7.14.5 - dev: true - - /@babel/plugin-transform-for-of/7.14.5_@babel+core@7.14.8: - resolution: {integrity: sha512-CfmqxSUZzBl0rSjpoQSFoR9UEj3HzbGuGNL21/iFTmjb5gFggJp3ph0xR1YBhexmLoKRHzgxuFvty2xdSt6gTA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.14.8 - '@babel/helper-plugin-utils': 7.14.5 - dev: true - - /@babel/plugin-transform-function-name/7.14.5_@babel+core@7.14.8: - resolution: {integrity: sha512-vbO6kv0fIzZ1GpmGQuvbwwm+O4Cbm2NrPzwlup9+/3fdkuzo1YqOZcXw26+YUJB84Ja7j9yURWposEHLYwxUfQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.14.8 - '@babel/helper-function-name': 7.14.5 - '@babel/helper-plugin-utils': 7.14.5 - dev: true - - /@babel/plugin-transform-literals/7.14.5_@babel+core@7.14.8: - resolution: {integrity: sha512-ql33+epql2F49bi8aHXxvLURHkxJbSmMKl9J5yHqg4PLtdE6Uc48CH1GS6TQvZ86eoB/ApZXwm7jlA+B3kra7A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.14.8 - '@babel/helper-plugin-utils': 7.14.5 - dev: true - - /@babel/plugin-transform-member-expression-literals/7.14.5_@babel+core@7.14.8: - resolution: {integrity: sha512-WkNXxH1VXVTKarWFqmso83xl+2V3Eo28YY5utIkbsmXoItO8Q3aZxN4BTS2k0hz9dGUloHK26mJMyQEYfkn/+Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.14.8 - '@babel/helper-plugin-utils': 7.14.5 - dev: true - - /@babel/plugin-transform-modules-amd/7.14.5_@babel+core@7.14.8: - resolution: {integrity: sha512-3lpOU8Vxmp3roC4vzFpSdEpGUWSMsHFreTWOMMLzel2gNGfHE5UWIh/LN6ghHs2xurUp4jRFYMUIZhuFbody1g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.14.8 - '@babel/helper-module-transforms': 7.14.8 - '@babel/helper-plugin-utils': 7.14.5 - babel-plugin-dynamic-import-node: 2.3.3 + '@babel/traverse': 7.12.10 + '@babel/types': 7.16.8 + lodash: 4.17.21 transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-transform-modules-commonjs/7.14.5_@babel+core@7.14.8: - resolution: {integrity: sha512-en8GfBtgnydoao2PS+87mKyw62k02k7kJ9ltbKe0fXTHrQmG6QZZflYuGI1VVG7sVpx4E1n7KBpNlPb8m78J+A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + /@babel/helper-optimise-call-expression/7.12.10: + resolution: {integrity: sha512-4tpbU0SrSTjjt65UMWSrUOPZTsgvPgGG4S8QSTNHacKzpS51IVWGDj0yCwyeZND/i+LSN2g/O63jEXEWm49sYQ==} dependencies: - '@babel/core': 7.14.8 - '@babel/helper-module-transforms': 7.14.8 - '@babel/helper-plugin-utils': 7.14.5 - '@babel/helper-simple-access': 7.14.8 - babel-plugin-dynamic-import-node: 2.3.3 - transitivePeerDependencies: - - supports-color + '@babel/types': 7.16.8 dev: true - /@babel/plugin-transform-modules-systemjs/7.14.5_@babel+core@7.14.8: - resolution: {integrity: sha512-mNMQdvBEE5DcMQaL5LbzXFMANrQjd2W7FPzg34Y4yEz7dBgdaC+9B84dSO+/1Wba98zoDbInctCDo4JGxz1VYA==} + /@babel/helper-plugin-utils/7.16.7: + resolution: {integrity: sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==} engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + dev: true + + /@babel/helper-replace-supers/7.12.11: + resolution: {integrity: sha512-q+w1cqmhL7R0FNzth/PLLp2N+scXEK/L2AHbXUyydxp828F4FEa5WcVoqui9vFRiHDQErj9Zof8azP32uGVTRA==} dependencies: - '@babel/core': 7.14.8 - '@babel/helper-hoist-variables': 7.14.5 - '@babel/helper-module-transforms': 7.14.8 - '@babel/helper-plugin-utils': 7.14.5 - '@babel/helper-validator-identifier': 7.14.9 - babel-plugin-dynamic-import-node: 2.3.3 + '@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 transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-transform-modules-umd/7.14.5_@babel+core@7.14.8: - resolution: {integrity: sha512-RfPGoagSngC06LsGUYyM9QWSXZ8MysEjDJTAea1lqRjNECE3y0qIJF/qbvJxc4oA4s99HumIMdXOrd+TdKaAAA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + /@babel/helper-simple-access/7.12.1: + resolution: {integrity: sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA==} dependencies: - '@babel/core': 7.14.8 - '@babel/helper-module-transforms': 7.14.8 - '@babel/helper-plugin-utils': 7.14.5 - transitivePeerDependencies: - - supports-color + '@babel/types': 7.16.8 dev: true - /@babel/plugin-transform-named-capturing-groups-regex/7.14.9_@babel+core@7.14.8: - resolution: {integrity: sha512-l666wCVYO75mlAtGFfyFwnWmIXQm3kSH0C3IRnJqWcZbWkoihyAdDhFm2ZWaxWTqvBvhVFfJjMRQ0ez4oN1yYA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 + /@babel/helper-split-export-declaration/7.12.11: + resolution: {integrity: sha512-LsIVN8j48gHgwzfocYUSkO/hjYAOJqlpJEc7tGXcIm4cubjVUf8LGW6eWRyxEu7gA25q02p0rQUWoCI33HNS5g==} dependencies: - '@babel/core': 7.14.8 - '@babel/helper-create-regexp-features-plugin': 7.14.5_@babel+core@7.14.8 + '@babel/types': 7.16.8 dev: true - /@babel/plugin-transform-new-target/7.14.5_@babel+core@7.14.8: - resolution: {integrity: sha512-Nx054zovz6IIRWEB49RDRuXGI4Gy0GMgqG0cII9L3MxqgXz/+rgII+RU58qpo4g7tNEx1jG7rRVH4ihZoP4esQ==} + /@babel/helper-validator-identifier/7.14.9: + resolution: {integrity: sha512-pQYxPY0UP6IHISRitNe8bsijHex4TWZXi2HwKVsjPiltzlhse2znVcm9Ace510VT1kxIHjGJCZZQBX2gJDbo0g==} engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.14.8 - '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-transform-object-super/7.14.5_@babel+core@7.14.8: - resolution: {integrity: sha512-MKfOBWzK0pZIrav9z/hkRqIk/2bTv9qvxHzPQc12RcVkMOzpIKnFCNYJip00ssKWYkd8Sf5g0Wr7pqJ+cmtuFg==} + /@babel/helper-validator-identifier/7.16.7: + resolution: {integrity: sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==} engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + dev: true + + /@babel/helpers/7.12.5: + resolution: {integrity: sha512-lgKGMQlKqA8meJqKsW6rUnc4MdUk35Ln0ATDqdM1a/UpARODdI4j5Y5lVfUScnSNkJcdCRAaWkspykNoFg9sJA==} dependencies: - '@babel/core': 7.14.8 - '@babel/helper-plugin-utils': 7.14.5 - '@babel/helper-replace-supers': 7.14.5 + '@babel/template': 7.12.7 + '@babel/traverse': 7.12.10 + '@babel/types': 7.16.8 transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-transform-parameters/7.14.5_@babel+core@7.14.8: - resolution: {integrity: sha512-Tl7LWdr6HUxTmzQtzuU14SqbgrSKmaR77M0OKyq4njZLQTPfOvzblNKyNkGwOfEFCEx7KeYHQHDI0P3F02IVkA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + /@babel/highlight/7.10.4: + resolution: {integrity: sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==} dependencies: - '@babel/core': 7.14.8 - '@babel/helper-plugin-utils': 7.14.5 + '@babel/helper-validator-identifier': 7.14.9 + chalk: 2.4.2 + js-tokens: 4.0.0 dev: true - /@babel/plugin-transform-property-literals/7.14.5_@babel+core@7.14.8: - resolution: {integrity: sha512-r1uilDthkgXW8Z1vJz2dKYLV1tuw2xsbrp3MrZmD99Wh9vsfKoob+JTgri5VUb/JqyKRXotlOtwgu4stIYCmnw==} + /@babel/highlight/7.16.10: + resolution: {integrity: sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==} engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.14.8 - '@babel/helper-plugin-utils': 7.14.5 + '@babel/helper-validator-identifier': 7.16.7 + chalk: 2.4.2 + js-tokens: 4.0.0 dev: true - /@babel/plugin-transform-regenerator/7.14.5_@babel+core@7.14.8: - resolution: {integrity: sha512-NVIY1W3ITDP5xQl50NgTKlZ0GrotKtLna08/uGY6ErQt6VEQZXla86x/CTddm5gZdcr+5GSsvMeTmWA5Ii6pkg==} - engines: {node: '>=6.9.0'} + /@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.12.10: + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.14.8 - regenerator-transform: 0.14.5 + '@babel/core': 7.12.10 + '@babel/helper-plugin-utils': 7.16.7 dev: true - /@babel/plugin-transform-reserved-words/7.14.5_@babel+core@7.14.8: - resolution: {integrity: sha512-cv4F2rv1nD4qdexOGsRQXJrOcyb5CrgjUH9PKrrtyhSDBNWGxd0UIitjyJiWagS+EbUGjG++22mGH1Pub8D6Vg==} - engines: {node: '>=6.9.0'} + /@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 dependencies: - '@babel/core': 7.14.8 - '@babel/helper-plugin-utils': 7.14.5 + '@babel/core': 7.12.10 + '@babel/helper-plugin-utils': 7.16.7 dev: true - /@babel/plugin-transform-runtime/7.14.5_@babel+core@7.14.8: - resolution: {integrity: sha512-fPMBhh1AV8ZyneiCIA+wYYUH1arzlXR1UMcApjvchDhfKxhy2r2lReJv8uHEyihi4IFIGlr1Pdx7S5fkESDQsg==} - engines: {node: '>=6.9.0'} + /@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 dependencies: - '@babel/core': 7.14.8 - '@babel/helper-module-imports': 7.14.5 - '@babel/helper-plugin-utils': 7.14.5 - babel-plugin-polyfill-corejs2: 0.2.2_@babel+core@7.14.8 - babel-plugin-polyfill-corejs3: 0.2.4_@babel+core@7.14.8 - babel-plugin-polyfill-regenerator: 0.2.2_@babel+core@7.14.8 - semver: 6.3.0 - transitivePeerDependencies: - - supports-color + '@babel/core': 7.12.10 + '@babel/helper-plugin-utils': 7.16.7 dev: true - /@babel/plugin-transform-shorthand-properties/7.14.5_@babel+core@7.14.8: - resolution: {integrity: sha512-xLucks6T1VmGsTB+GWK5Pl9Jl5+nRXD1uoFdA5TSO6xtiNjtXTjKkmPdFXVLGlK5A2/or/wQMKfmQ2Y0XJfn5g==} - engines: {node: '>=6.9.0'} + /@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 dependencies: - '@babel/core': 7.14.8 - '@babel/helper-plugin-utils': 7.14.5 + '@babel/core': 7.12.10 + '@babel/helper-plugin-utils': 7.16.7 dev: true - /@babel/plugin-transform-spread/7.14.6_@babel+core@7.14.8: - resolution: {integrity: sha512-Zr0x0YroFJku7n7+/HH3A2eIrGMjbmAIbJSVv0IZ+t3U2WUQUA64S/oeied2e+MaGSjmt4alzBCsK9E8gh+fag==} - engines: {node: '>=6.9.0'} + /@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 dependencies: - '@babel/core': 7.14.8 - '@babel/helper-plugin-utils': 7.14.5 - '@babel/helper-skip-transparent-expression-wrappers': 7.14.5 + '@babel/core': 7.12.10 + '@babel/helper-plugin-utils': 7.16.7 dev: true - /@babel/plugin-transform-sticky-regex/7.14.5_@babel+core@7.14.8: - resolution: {integrity: sha512-Z7F7GyvEMzIIbwnziAZmnSNpdijdr4dWt+FJNBnBLz5mwDFkqIXU9wmBcWWad3QeJF5hMTkRe4dAq2sUZiG+8A==} - engines: {node: '>=6.9.0'} + /@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 dependencies: - '@babel/core': 7.14.8 - '@babel/helper-plugin-utils': 7.14.5 + '@babel/core': 7.12.10 + '@babel/helper-plugin-utils': 7.16.7 dev: true - /@babel/plugin-transform-template-literals/7.14.5_@babel+core@7.14.8: - resolution: {integrity: sha512-22btZeURqiepOfuy/VkFr+zStqlujWaarpMErvay7goJS6BWwdd6BY9zQyDLDa4x2S3VugxFb162IZ4m/S/+Gg==} - engines: {node: '>=6.9.0'} + /@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 dependencies: - '@babel/core': 7.14.8 - '@babel/helper-plugin-utils': 7.14.5 + '@babel/core': 7.12.10 + '@babel/helper-plugin-utils': 7.16.7 dev: true - /@babel/plugin-transform-typeof-symbol/7.14.5_@babel+core@7.14.8: - resolution: {integrity: sha512-lXzLD30ffCWseTbMQzrvDWqljvZlHkXU+CnseMhkMNqU1sASnCsz3tSzAaH3vCUXb9PHeUb90ZT1BdFTm1xxJw==} - engines: {node: '>=6.9.0'} + /@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 dependencies: - '@babel/core': 7.14.8 - '@babel/helper-plugin-utils': 7.14.5 + '@babel/core': 7.12.10 + '@babel/helper-plugin-utils': 7.16.7 dev: true - /@babel/plugin-transform-unicode-escapes/7.14.5_@babel+core@7.14.8: - resolution: {integrity: sha512-crTo4jATEOjxj7bt9lbYXcBAM3LZaUrbP2uUdxb6WIorLmjNKSpHfIybgY4B8SRpbf8tEVIWH3Vtm7ayCrKocA==} - engines: {node: '>=6.9.0'} + /@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 dependencies: - '@babel/core': 7.14.8 - '@babel/helper-plugin-utils': 7.14.5 + '@babel/core': 7.12.10 + '@babel/helper-plugin-utils': 7.16.7 dev: true - /@babel/plugin-transform-unicode-regex/7.14.5_@babel+core@7.14.8: - resolution: {integrity: sha512-UygduJpC5kHeCiRw/xDVzC+wj8VaYSoKl5JNVmbP7MadpNinAm3SvZCxZ42H37KZBKztz46YC73i9yV34d0Tzw==} - engines: {node: '>=6.9.0'} + /@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 dependencies: - '@babel/core': 7.14.8 - '@babel/helper-create-regexp-features-plugin': 7.14.5_@babel+core@7.14.8 - '@babel/helper-plugin-utils': 7.14.5 + '@babel/core': 7.12.10 + '@babel/helper-plugin-utils': 7.16.7 dev: true - /@babel/preset-env/7.14.9_@babel+core@7.14.8: - resolution: {integrity: sha512-BV5JvCwBDebkyh67bPKBYVCC6gGw0MCzU6HfKe5Pm3upFpPVqiC/hB33zkOe0tVdAzaMywah0LSXQeD9v/BYdQ==} - engines: {node: '>=6.9.0'} + /@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 dependencies: - '@babel/compat-data': 7.14.9 - '@babel/core': 7.14.8 - '@babel/helper-compilation-targets': 7.14.5_@babel+core@7.14.8 - '@babel/helper-plugin-utils': 7.14.5 - '@babel/helper-validator-option': 7.14.5 - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.14.5_@babel+core@7.14.8 - '@babel/plugin-proposal-async-generator-functions': 7.14.9_@babel+core@7.14.8 - '@babel/plugin-proposal-class-properties': 7.14.5_@babel+core@7.14.8 - '@babel/plugin-proposal-class-static-block': 7.14.5_@babel+core@7.14.8 - '@babel/plugin-proposal-dynamic-import': 7.14.5_@babel+core@7.14.8 - '@babel/plugin-proposal-export-namespace-from': 7.14.5_@babel+core@7.14.8 - '@babel/plugin-proposal-json-strings': 7.14.5_@babel+core@7.14.8 - '@babel/plugin-proposal-logical-assignment-operators': 7.14.5_@babel+core@7.14.8 - '@babel/plugin-proposal-nullish-coalescing-operator': 7.14.5_@babel+core@7.14.8 - '@babel/plugin-proposal-numeric-separator': 7.14.5_@babel+core@7.14.8 - '@babel/plugin-proposal-object-rest-spread': 7.14.7_@babel+core@7.14.8 - '@babel/plugin-proposal-optional-catch-binding': 7.14.5_@babel+core@7.14.8 - '@babel/plugin-proposal-optional-chaining': 7.14.5_@babel+core@7.14.8 - '@babel/plugin-proposal-private-methods': 7.14.5_@babel+core@7.14.8 - '@babel/plugin-proposal-private-property-in-object': 7.14.5_@babel+core@7.14.8 - '@babel/plugin-proposal-unicode-property-regex': 7.14.5_@babel+core@7.14.8 - '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.14.8 - '@babel/plugin-syntax-class-properties': 7.12.13_@babel+core@7.14.8 - '@babel/plugin-syntax-class-static-block': 7.14.5_@babel+core@7.14.8 - '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.14.8 - '@babel/plugin-syntax-export-namespace-from': 7.8.3_@babel+core@7.14.8 - '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.14.8 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.14.8 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.14.8 - '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.14.8 - '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.14.8 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.14.8 - '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.14.8 - '@babel/plugin-syntax-private-property-in-object': 7.14.5_@babel+core@7.14.8 - '@babel/plugin-syntax-top-level-await': 7.14.5_@babel+core@7.14.8 - '@babel/plugin-transform-arrow-functions': 7.14.5_@babel+core@7.14.8 - '@babel/plugin-transform-async-to-generator': 7.14.5_@babel+core@7.14.8 - '@babel/plugin-transform-block-scoped-functions': 7.14.5_@babel+core@7.14.8 - '@babel/plugin-transform-block-scoping': 7.14.5_@babel+core@7.14.8 - '@babel/plugin-transform-classes': 7.14.9_@babel+core@7.14.8 - '@babel/plugin-transform-computed-properties': 7.14.5_@babel+core@7.14.8 - '@babel/plugin-transform-destructuring': 7.14.7_@babel+core@7.14.8 - '@babel/plugin-transform-dotall-regex': 7.14.5_@babel+core@7.14.8 - '@babel/plugin-transform-duplicate-keys': 7.14.5_@babel+core@7.14.8 - '@babel/plugin-transform-exponentiation-operator': 7.14.5_@babel+core@7.14.8 - '@babel/plugin-transform-for-of': 7.14.5_@babel+core@7.14.8 - '@babel/plugin-transform-function-name': 7.14.5_@babel+core@7.14.8 - '@babel/plugin-transform-literals': 7.14.5_@babel+core@7.14.8 - '@babel/plugin-transform-member-expression-literals': 7.14.5_@babel+core@7.14.8 - '@babel/plugin-transform-modules-amd': 7.14.5_@babel+core@7.14.8 - '@babel/plugin-transform-modules-commonjs': 7.14.5_@babel+core@7.14.8 - '@babel/plugin-transform-modules-systemjs': 7.14.5_@babel+core@7.14.8 - '@babel/plugin-transform-modules-umd': 7.14.5_@babel+core@7.14.8 - '@babel/plugin-transform-named-capturing-groups-regex': 7.14.9_@babel+core@7.14.8 - '@babel/plugin-transform-new-target': 7.14.5_@babel+core@7.14.8 - '@babel/plugin-transform-object-super': 7.14.5_@babel+core@7.14.8 - '@babel/plugin-transform-parameters': 7.14.5_@babel+core@7.14.8 - '@babel/plugin-transform-property-literals': 7.14.5_@babel+core@7.14.8 - '@babel/plugin-transform-regenerator': 7.14.5_@babel+core@7.14.8 - '@babel/plugin-transform-reserved-words': 7.14.5_@babel+core@7.14.8 - '@babel/plugin-transform-shorthand-properties': 7.14.5_@babel+core@7.14.8 - '@babel/plugin-transform-spread': 7.14.6_@babel+core@7.14.8 - '@babel/plugin-transform-sticky-regex': 7.14.5_@babel+core@7.14.8 - '@babel/plugin-transform-template-literals': 7.14.5_@babel+core@7.14.8 - '@babel/plugin-transform-typeof-symbol': 7.14.5_@babel+core@7.14.8 - '@babel/plugin-transform-unicode-escapes': 7.14.5_@babel+core@7.14.8 - '@babel/plugin-transform-unicode-regex': 7.14.5_@babel+core@7.14.8 - '@babel/preset-modules': 0.1.4_@babel+core@7.14.8 - '@babel/types': 7.14.9 - babel-plugin-polyfill-corejs2: 0.2.2_@babel+core@7.14.8 - babel-plugin-polyfill-corejs3: 0.2.4_@babel+core@7.14.8 - babel-plugin-polyfill-regenerator: 0.2.2_@babel+core@7.14.8 - core-js-compat: 3.16.0 - semver: 6.3.0 - transitivePeerDependencies: - - supports-color + '@babel/core': 7.12.10 + '@babel/helper-plugin-utils': 7.16.7 dev: true - /@babel/preset-modules/0.1.4_@babel+core@7.14.8: - resolution: {integrity: sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg==} + /@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 dependencies: - '@babel/core': 7.14.8 - '@babel/helper-plugin-utils': 7.14.5 - '@babel/plugin-proposal-unicode-property-regex': 7.14.5_@babel+core@7.14.8 - '@babel/plugin-transform-dotall-regex': 7.14.5_@babel+core@7.14.8 - '@babel/types': 7.14.9 - esutils: 2.0.3 + '@babel/core': 7.12.10 + '@babel/helper-plugin-utils': 7.16.7 dev: true - /@babel/runtime/7.12.5: - resolution: {integrity: sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg==} + /@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 dependencies: - regenerator-runtime: 0.13.7 + '@babel/core': 7.12.10 + '@babel/helper-plugin-utils': 7.16.7 dev: true - /@babel/runtime/7.14.8: - resolution: {integrity: sha512-twj3L8Og5SaCRCErB4x4ajbvBIVV77CGeFglHpeg5WC5FF8TZzBWXtTJ4MqaD9QszLYTtr+IsaAL2rEUevb+eg==} + /@babel/runtime/7.16.7: + resolution: {integrity: sha512-9E9FJowqAsytyOY6LG+1KuueckRL+aQW+mKvXRXnuFGyRAyepJPmEo9vgMfXUA6O9u3IeEdv9MAkppFcaQwogQ==} engines: {node: '>=6.9.0'} dependencies: regenerator-runtime: 0.13.7 @@ -2586,74 +1610,32 @@ packages: /@babel/template/7.12.7: resolution: {integrity: sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==} dependencies: - '@babel/code-frame': 7.12.11 - '@babel/parser': 7.12.11 - '@babel/types': 7.12.11 - dev: true - - /@babel/template/7.14.5: - resolution: {integrity: sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.14.5 - '@babel/parser': 7.14.9 - '@babel/types': 7.14.9 + '@babel/code-frame': 7.16.7 + '@babel/parser': 7.16.12 + '@babel/types': 7.16.8 dev: true /@babel/traverse/7.12.10: resolution: {integrity: sha512-6aEtf0IeRgbYWzta29lePeYSk+YAFIC3kyqESeft8o5CkFlYIMX+EQDDWEiAQ9LHOA3d0oHdgrSsID/CKqXJlg==} dependencies: - '@babel/code-frame': 7.12.11 + '@babel/code-frame': 7.16.7 '@babel/generator': 7.12.11 '@babel/helper-function-name': 7.12.11 '@babel/helper-split-export-declaration': 7.12.11 - '@babel/parser': 7.12.11 - '@babel/types': 7.12.11 - debug: 4.3.1 + '@babel/parser': 7.16.12 + '@babel/types': 7.16.8 + debug: 4.3.3 globals: 11.12.0 lodash: 4.17.21 transitivePeerDependencies: - supports-color dev: true - /@babel/traverse/7.14.9: - resolution: {integrity: sha512-bldh6dtB49L8q9bUyB7bC20UKgU+EFDwKJylwl234Kv+ySZeMD31Xeht6URyueQ6LrRRpF2tmkfcZooZR9/e8g==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.14.5 - '@babel/generator': 7.14.9 - '@babel/helper-function-name': 7.14.5 - '@babel/helper-hoist-variables': 7.14.5 - '@babel/helper-split-export-declaration': 7.14.5 - '@babel/parser': 7.14.9 - '@babel/types': 7.14.9 - debug: 4.3.1 - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - dev: true - - /@babel/types/7.12.11: - resolution: {integrity: sha512-ukA9SQtKThINm++CX1CwmliMrE54J6nIYB5XTwL5f/CLFW9owfls+YSU8tVW15RQ2w+a3fSbPjC6HdQNtWZkiA==} - dependencies: - '@babel/helper-validator-identifier': 7.12.11 - lodash: 4.17.21 - to-fast-properties: 2.0.0 - dev: true - - /@babel/types/7.13.12: - resolution: {integrity: sha512-K4nY2xFN4QMvQwkQ+zmBDp6ANMbVNw6BbxWmYA4qNjhR9W+Lj/8ky5MEY2Me5r+B2c6/v6F53oMndG+f9s3IiA==} - dependencies: - '@babel/helper-validator-identifier': 7.12.11 - lodash: 4.17.21 - to-fast-properties: 2.0.0 - dev: true - - /@babel/types/7.14.9: - resolution: {integrity: sha512-u0bLTnv3DFHeaQLYzb7oRJ1JHr1sv/SYDM7JSqHFFLwXG1wTZRughxFI5NCP8qBEo1rVVsn7Yg2Lvw49nne/Ow==} + /@babel/types/7.16.8: + resolution: {integrity: sha512-smN2DQc5s4M7fntyjGtyIPbRJv6wW4rU/94fmYJ7PKQuZkC0qGMHXJbg6sNGt12JmVr4k5YaptI/XtiLJBnmIg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-validator-identifier': 7.14.9 + '@babel/helper-validator-identifier': 7.16.7 to-fast-properties: 2.0.0 dev: true @@ -2661,40 +1643,54 @@ packages: resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} dev: true - /@cnakazawa/watch/1.0.4: - resolution: {integrity: sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==} - engines: {node: '>=0.1.95'} - hasBin: true - dependencies: - exec-sh: 0.3.4 - minimist: 1.2.5 + /@cspotcode/source-map-consumer/0.8.0: + resolution: {integrity: sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==} + engines: {node: '>= 12'} dev: true - /@concordance/react/2.0.0: - resolution: {integrity: sha512-huLSkUuM2/P+U0uy2WwlKuixMsTODD8p4JVQBI4VKeopkiN0C7M3N9XYVawb4M+4spN5RrO/eLhk7KoQX6nsfA==} - engines: {node: '>=6.12.3 <7 || >=8.9.4 <9 || >=10.0.0'} + /@cspotcode/source-map-support/0.7.0: + resolution: {integrity: sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA==} + engines: {node: '>=12'} dependencies: - arrify: 1.0.1 + '@cspotcode/source-map-consumer': 0.8.0 dev: true - /@eslint/eslintrc/0.2.2: - resolution: {integrity: sha512-EfB5OHNYp1F4px/LI/FEnGylop7nOqkQ1LRzCM0KccA2U8tvV8w01KBv37LbO7nW4H+YhKyo2LcJhRwjjV17QQ==} - engines: {node: ^10.12.0 || >=12.0.0} + /@eslint/eslintrc/1.2.1: + resolution: {integrity: sha512-bxvbYnBPN1Gibwyp6NrpnFzA3YtRL3BBAyEAFVIpNTm2Rn4Vy87GA5M4aSn3InRrlsbX5N0GW7XIx+U4SAEKdQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 - debug: 4.3.1 - espree: 7.3.1 - globals: 12.4.0 - ignore: 4.0.6 + debug: 4.3.3 + espree: 9.3.1 + globals: 13.12.0 + ignore: 5.2.0 import-fresh: 3.3.0 - js-yaml: 3.14.1 - lodash: 4.17.21 + js-yaml: 4.1.0 minimatch: 3.0.4 strip-json-comments: 3.1.1 transitivePeerDependencies: - supports-color dev: true + /@gar/promisify/1.1.2: + resolution: {integrity: sha512-82cpyJyKRoQoRi+14ibCeGPu0CwypgtBAdBhq1WfvagpCZNKqwXbKwXllYSMG91DhmG4jt9gN8eP6lGOtozuaw==} + dev: true + + /@humanwhocodes/config-array/0.9.2: + resolution: {integrity: sha512-UXOuFCGcwciWckOpmfKDq/GyhlTf9pN/BzG//x8p8zTOFEcGuA68ANXheFS0AGvy3qgZqLBUkMs7hqzqCKOVwA==} + engines: {node: '>=10.10.0'} + dependencies: + '@humanwhocodes/object-schema': 1.2.1 + debug: 4.3.3 + minimatch: 3.0.4 + transitivePeerDependencies: + - supports-color + dev: true + + /@humanwhocodes/object-schema/1.2.1: + resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} + dev: true + /@istanbuljs/load-nyc-config/1.1.0: resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} engines: {node: '>=8'} @@ -2716,45 +1712,62 @@ packages: engines: {node: '>= 10.14.2'} dependencies: '@jest/types': 26.6.2 - '@types/node': 14.14.25 - chalk: 4.1.0 + '@types/node': 14.6.4 + chalk: 4.1.2 jest-message-util: 26.6.2 jest-util: 26.6.2 slash: 3.0.0 dev: true - /@jest/core/26.6.3: - resolution: {integrity: sha512-xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw==} - 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} dependencies: - '@jest/console': 26.6.2 - '@jest/reporters': 26.6.2 - '@jest/test-result': 26.6.2 - '@jest/transform': 26.6.2 - '@jest/types': 26.6.2 - '@types/node': 14.14.25 + '@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 + dependencies: + '@jest/console': 27.5.1 + '@jest/reporters': 27.5.1 + '@jest/test-result': 27.5.1 + '@jest/transform': 27.5.1 + '@jest/types': 27.5.1 + '@types/node': 14.6.4 ansi-escapes: 4.3.1 - chalk: 4.1.0 + chalk: 4.1.2 + emittery: 0.8.1 exit: 0.1.2 - graceful-fs: 4.2.4 - jest-changed-files: 26.6.2 - jest-config: 26.6.3 - jest-haste-map: 26.6.2 - jest-message-util: 26.6.2 - jest-regex-util: 26.0.0 - jest-resolve: 26.6.2 - jest-resolve-dependencies: 26.6.3 - jest-runner: 26.6.3 - jest-runtime: 26.6.3 - jest-snapshot: 26.6.2 - jest-util: 26.6.2 - jest-validate: 26.6.2 - jest-watcher: 26.6.2 - micromatch: 4.0.2 - p-each-series: 2.2.0 + graceful-fs: 4.2.9 + jest-changed-files: 27.5.1 + jest-config: 27.5.1 + jest-haste-map: 27.5.1 + jest-message-util: 27.5.1 + jest-regex-util: 27.5.1 + jest-resolve: 27.5.1 + jest-resolve-dependencies: 27.5.1 + jest-runner: 27.5.1 + jest-runtime: 27.5.1 + jest-snapshot: 27.5.1 + jest-util: 27.5.1 + jest-validate: 27.5.1 + jest-watcher: 27.5.1 + micromatch: 4.0.4 rimraf: 3.0.2 slash: 3.0.0 - strip-ansi: 6.0.0 + strip-ansi: 6.0.1 transitivePeerDependencies: - bufferutil - canvas @@ -2763,38 +1776,43 @@ packages: - utf-8-validate dev: true - /@jest/core/26.6.3_ts-node@9.1.1: - resolution: {integrity: sha512-xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw==} - engines: {node: '>= 10.14.2'} + /@jest/core/27.5.1_ts-node@10.7.0: + 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 dependencies: - '@jest/console': 26.6.2 - '@jest/reporters': 26.6.2 - '@jest/test-result': 26.6.2 - '@jest/transform': 26.6.2 - '@jest/types': 26.6.2 - '@types/node': 14.14.25 + '@jest/console': 27.5.1 + '@jest/reporters': 27.5.1 + '@jest/test-result': 27.5.1 + '@jest/transform': 27.5.1 + '@jest/types': 27.5.1 + '@types/node': 14.6.4 ansi-escapes: 4.3.1 - chalk: 4.1.0 + chalk: 4.1.2 + emittery: 0.8.1 exit: 0.1.2 - graceful-fs: 4.2.4 - jest-changed-files: 26.6.2 - jest-config: 26.6.3_ts-node@9.1.1 - jest-haste-map: 26.6.2 - jest-message-util: 26.6.2 - jest-regex-util: 26.0.0 - jest-resolve: 26.6.2 - jest-resolve-dependencies: 26.6.3 - jest-runner: 26.6.3_ts-node@9.1.1 - jest-runtime: 26.6.3_ts-node@9.1.1 - jest-snapshot: 26.6.2 - jest-util: 26.6.2 - jest-validate: 26.6.2 - jest-watcher: 26.6.2 - micromatch: 4.0.2 - p-each-series: 2.2.0 + graceful-fs: 4.2.9 + jest-changed-files: 27.5.1 + jest-config: 27.5.1_ts-node@10.7.0 + jest-haste-map: 27.5.1 + jest-message-util: 27.5.1 + jest-regex-util: 27.5.1 + jest-resolve: 27.5.1 + jest-resolve-dependencies: 27.5.1 + jest-runner: 27.5.1 + jest-runtime: 27.5.1 + jest-snapshot: 27.5.1 + jest-util: 27.5.1 + jest-validate: 27.5.1 + jest-watcher: 27.5.1 + micromatch: 4.0.4 rimraf: 3.0.2 slash: 3.0.0 - strip-ansi: 6.0.0 + strip-ansi: 6.0.1 transitivePeerDependencies: - bufferutil - canvas @@ -2803,140 +1821,122 @@ packages: - utf-8-validate dev: true - /@jest/environment/26.6.2: - resolution: {integrity: sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA==} - engines: {node: '>= 10.14.2'} + /@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} dependencies: - '@jest/fake-timers': 26.6.2 - '@jest/types': 26.6.2 - '@types/node': 14.14.25 - jest-mock: 26.6.2 + '@jest/fake-timers': 27.5.1 + '@jest/types': 27.5.1 + '@types/node': 14.6.4 + jest-mock: 27.5.1 dev: true - /@jest/fake-timers/26.6.2: - resolution: {integrity: sha512-14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA==} - engines: {node: '>= 10.14.2'} + /@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} dependencies: - '@jest/types': 26.6.2 - '@sinonjs/fake-timers': 6.0.1 - '@types/node': 14.14.25 - jest-message-util: 26.6.2 - jest-mock: 26.6.2 - jest-util: 26.6.2 + '@jest/types': 27.5.1 + '@sinonjs/fake-timers': 8.1.0 + '@types/node': 14.6.4 + jest-message-util: 27.5.1 + jest-mock: 27.5.1 + jest-util: 27.5.1 dev: true - /@jest/globals/26.6.2: - resolution: {integrity: sha512-85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA==} - engines: {node: '>= 10.14.2'} + /@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} dependencies: - '@jest/environment': 26.6.2 - '@jest/types': 26.6.2 - expect: 26.6.2 + '@jest/environment': 27.5.1 + '@jest/types': 27.5.1 + expect: 27.5.1 dev: true - /@jest/reporters/26.6.2: - resolution: {integrity: sha512-h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw==} - engines: {node: '>= 10.14.2'} + /@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 dependencies: '@bcoe/v8-coverage': 0.2.3 - '@jest/console': 26.6.2 - '@jest/test-result': 26.6.2 - '@jest/transform': 26.6.2 - '@jest/types': 26.6.2 - chalk: 4.1.0 + '@jest/console': 27.5.1 + '@jest/test-result': 27.5.1 + '@jest/transform': 27.5.1 + '@jest/types': 27.5.1 + '@types/node': 14.6.4 + chalk: 4.1.2 collect-v8-coverage: 1.0.1 exit: 0.1.2 - glob: 7.1.6 - graceful-fs: 4.2.4 - istanbul-lib-coverage: 3.0.0 - istanbul-lib-instrument: 4.0.3 + 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.0.2 - jest-haste-map: 26.6.2 - jest-resolve: 26.6.2 - jest-util: 26.6.2 - jest-worker: 26.6.2 + istanbul-reports: 3.1.3 + 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 terminal-link: 2.1.1 - v8-to-istanbul: 7.1.0 - optionalDependencies: - node-notifier: 8.0.1 + v8-to-istanbul: 8.1.1 transitivePeerDependencies: - supports-color dev: true - /@jest/source-map/26.6.2: - resolution: {integrity: sha512-YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA==} - engines: {node: '>= 10.14.2'} + /@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} dependencies: callsites: 3.1.0 - graceful-fs: 4.2.4 + graceful-fs: 4.2.9 source-map: 0.6.1 dev: true - /@jest/test-result/26.6.2: - resolution: {integrity: sha512-5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ==} - engines: {node: '>= 10.14.2'} + /@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} dependencies: - '@jest/console': 26.6.2 - '@jest/types': 26.6.2 + '@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 - /@jest/test-sequencer/26.6.3: - resolution: {integrity: sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw==} - engines: {node: '>= 10.14.2'} - dependencies: - '@jest/test-result': 26.6.2 - graceful-fs: 4.2.4 - jest-haste-map: 26.6.2 - jest-runner: 26.6.3 - jest-runtime: 26.6.3 - transitivePeerDependencies: - - bufferutil - - canvas - - supports-color - - ts-node - - utf-8-validate - dev: true - - /@jest/test-sequencer/26.6.3_ts-node@9.1.1: - resolution: {integrity: sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw==} - engines: {node: '>= 10.14.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} dependencies: - '@jest/test-result': 26.6.2 - graceful-fs: 4.2.4 - jest-haste-map: 26.6.2 - jest-runner: 26.6.3_ts-node@9.1.1 - jest-runtime: 26.6.3_ts-node@9.1.1 + '@jest/test-result': 27.5.1 + graceful-fs: 4.2.9 + jest-haste-map: 27.5.1 + jest-runtime: 27.5.1 transitivePeerDependencies: - - bufferutil - - canvas - supports-color - - ts-node - - utf-8-validate dev: true - /@jest/transform/26.6.2: - resolution: {integrity: sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA==} - engines: {node: '>= 10.14.2'} + /@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} dependencies: '@babel/core': 7.12.10 - '@jest/types': 26.6.2 - babel-plugin-istanbul: 6.0.0 - chalk: 4.1.0 + '@jest/types': 27.5.1 + babel-plugin-istanbul: 6.1.1 + chalk: 4.1.2 convert-source-map: 1.7.0 fast-json-stable-stringify: 2.1.0 - graceful-fs: 4.2.4 - jest-haste-map: 26.6.2 - jest-regex-util: 26.0.0 - jest-util: 26.6.2 - micromatch: 4.0.2 - pirates: 4.0.1 + graceful-fs: 4.2.9 + 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 slash: 3.0.0 source-map: 0.6.1 write-file-atomic: 3.0.3 @@ -2944,15 +1944,37 @@ packages: - supports-color dev: true - /@jest/types/26.6.2: - resolution: {integrity: sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==} - engines: {node: '>= 10.14.2'} + /@jest/types/26.6.2: + resolution: {integrity: sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==} + engines: {node: '>= 10.14.2'} + dependencies: + '@types/istanbul-lib-coverage': 2.0.3 + '@types/istanbul-reports': 3.0.0 + '@types/node': 14.6.4 + '@types/yargs': 15.0.12 + chalk: 4.1.2 + dev: true + + /@jest/types/27.4.2: + resolution: {integrity: sha512-j35yw0PMTPpZsUoOBiuHzr1zTYoad1cVIE0ajEjcrJONxxrko/IRGKkXx3os0Nsi4Hu3+5VmDbVfq5WhG/pWAg==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@types/istanbul-lib-coverage': 2.0.3 + '@types/istanbul-reports': 3.0.0 + '@types/node': 14.6.4 + '@types/yargs': 16.0.4 + 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} dependencies: '@types/istanbul-lib-coverage': 2.0.3 '@types/istanbul-reports': 3.0.0 - '@types/node': 14.14.25 - '@types/yargs': 15.0.12 - chalk: 4.1.0 + '@types/node': 14.6.4 + '@types/yargs': 16.0.4 + chalk: 4.1.2 dev: true /@jridgewell/resolve-uri/1.0.0: @@ -2960,8 +1982,8 @@ packages: engines: {node: '>=6.0.0'} dev: true - /@mdn/browser-compat-data/3.3.13: - resolution: {integrity: sha512-YCclX4FGCVMkdIFykkyrgBkERN1huqU+Lyr767mbTuSVtj2LKfXpVwv/D0C1ZaefRvpinRJ/Xfy0mBNi7XIs0w==} + /@mdn/browser-compat-data/4.1.4: + resolution: {integrity: sha512-GT+WV0p/3Y90zfyv3alYZykqkySbFxq6lJcK1RMnaoPoA6RGrbXwOnOhD9RPw+Jy6IKdzfUjvtXvrep+qkwwrQ==} dev: true /@nodelib/fs.scandir/2.1.3: @@ -2985,33 +2007,34 @@ packages: fastq: 1.10.0 dev: true - /@npmcli/ci-detect/1.3.0: - resolution: {integrity: sha512-oN3y7FAROHhrAt7Rr7PnTSwrHrZVRTS2ZbyxeQwSSYD0ifwM3YNgQqbaRmjcWoPyq77MjchusjJDspbzMmip1Q==} + /@npmcli/fs/1.1.0: + resolution: {integrity: sha512-VhP1qZLXcrXRIaPoqb4YA55JQxLNF3jNR4T55IdOJa3+IFJKNYHtPvtXx8slmeMavj37vCzCfrqQM1vWLsYKLA==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16} + dependencies: + '@gar/promisify': 1.1.2 + semver: 7.3.5 dev: true - /@npmcli/git/2.0.4: - resolution: {integrity: sha512-OJZCmJ9DNn1cz9HPXXsPmUBnqaArot3CGYo63CyajHQk+g87rPXVOJByGsskQJhPsUUEXJcsZ2Q6bWd2jSwnBA==} + /@npmcli/git/2.1.0: + resolution: {integrity: sha512-/hBFX/QG1b+N7PZBFs0bi+evgRZcK9nWBxQKZkGoXUT5hJSwl5c4d7y8/hm+NQZRPhQ67RzFaj5UM9YeyKoryw==} dependencies: '@npmcli/promise-spawn': 1.3.2 lru-cache: 6.0.0 mkdirp: 1.0.4 - npm-pick-manifest: 6.1.0 + npm-pick-manifest: 6.1.1 promise-inflight: 1.0.1 - promise-retry: 1.1.1 - semver: 7.3.4 - unique-filename: 1.1.1 + promise-retry: 2.0.1 + semver: 7.3.5 which: 2.0.2 dev: true - /@npmcli/installed-package-contents/1.0.5: - resolution: {integrity: sha512-aKIwguaaqb6ViwSOFytniGvLPb9SMCUm39TgM3SfUo7n0TxUMbwoXfpwyvQ4blm10lzbAwTsvjr7QZ85LvTi4A==} + /@npmcli/installed-package-contents/1.0.7: + resolution: {integrity: sha512-9rufe0wnJusCQoLpV9ZPKIVP55itrM5BxOXs10DmdbRfgWtHy1LDyskbwRnBghuB0PrF7pNPOqREVtpz4HqzKw==} engines: {node: '>= 10'} hasBin: true dependencies: npm-bundled: 1.1.1 npm-normalize-package-bin: 1.0.1 - read-package-json-fast: 1.2.1 - readdir-scoped-modules: 1.1.0 dev: true /@npmcli/move-file/1.0.1: @@ -3021,8 +2044,8 @@ packages: mkdirp: 1.0.4 dev: true - /@npmcli/node-gyp/1.0.1: - resolution: {integrity: sha512-pBqoKPWmuk9iaEcXlLBVRIA6I1kG9JiICU+sG0NuD6NAR461F+02elHJS4WkQxHW2W5rnsfvP/ClKwmsZ9RaaA==} + /@npmcli/node-gyp/1.0.3: + resolution: {integrity: sha512-fnkhw+fmX65kiLqk6E3BFLXNC26rUhK90zVwe2yncPliVT/Qos3xjhTLE59Df8KnPlcwIERXKVlU1bXoUQ+liA==} dev: true /@npmcli/promise-spawn/1.3.2: @@ -3031,68 +2054,66 @@ packages: infer-owner: 1.0.4 dev: true - /@npmcli/run-script/1.8.1: - resolution: {integrity: sha512-G8c86g9cQHyRINosIcpovzv0BkXQc3urhL1ORf3KTe4TS4UBsg2O4Z2feca/W3pfzdHEJzc83ETBW4aKbb3SaA==} + /@npmcli/run-script/1.8.6: + resolution: {integrity: sha512-e42bVZnC6VluBZBAFEr3YrdqSspG3bgilyg4nSLBJ7TRGNCzxHa92XAHxQBLYg0BmgwO4b2mf3h/l5EkEWRn3g==} dependencies: - '@npmcli/node-gyp': 1.0.1 + '@npmcli/node-gyp': 1.0.3 '@npmcli/promise-spawn': 1.3.2 - infer-owner: 1.0.4 node-gyp: 7.1.2 - puka: 1.0.1 - read-package-json-fast: 1.2.1 + read-package-json-fast: 2.0.3 dev: true - /@rollup/plugin-alias/3.1.2_rollup@2.41.1: - resolution: {integrity: sha512-wzDnQ6v7CcoRzS0qVwFPrFdYA4Qlr+ookA217Y2Z3DPZE1R8jrFNM3jvGgOf6o6DMjbnQIn5lCIJgHPe1Bt3uw==} + /@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 dependencies: - rollup: 2.41.1 + rollup: 2.70.1 slash: 3.0.0 dev: true - /@rollup/plugin-commonjs/17.1.0_rollup@2.41.1: - resolution: {integrity: sha512-PoMdXCw0ZyvjpCMT5aV4nkL0QywxP29sODQsSGeDpr/oI49Qq9tRtAsb/LbYbDzFlOydVEqHmmZWFtXJEAX9ew==} + /@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.30.0 + rollup: ^2.38.3 dependencies: - '@rollup/pluginutils': 3.1.0_rollup@2.41.1 + '@rollup/pluginutils': 3.1.0_rollup@2.70.1 commondir: 1.0.1 estree-walker: 2.0.2 - glob: 7.1.6 + glob: 7.2.0 is-reference: 1.2.1 magic-string: 0.25.7 - resolve: 1.19.0 - rollup: 2.41.1 + resolve: 1.22.0 + rollup: 2.70.1 dev: true - /@rollup/plugin-json/4.1.0_rollup@2.41.1: + /@rollup/plugin-json/4.1.0_rollup@2.70.1: resolution: {integrity: sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw==} peerDependencies: rollup: ^1.20.0 || ^2.0.0 dependencies: - '@rollup/pluginutils': 3.1.0_rollup@2.41.1 - rollup: 2.41.1 + '@rollup/pluginutils': 3.1.0_rollup@2.70.1 + rollup: 2.70.1 dev: true - /@rollup/plugin-node-resolve/11.2.0_rollup@2.41.1: - resolution: {integrity: sha512-qHjNIKYt5pCcn+5RUBQxK8krhRvf1HnyVgUCcFFcweDS7fhkOLZeYh0mhHK6Ery8/bb9tvN/ubPzmfF0qjDCTA==} + /@rollup/plugin-node-resolve/13.1.3_rollup@2.70.1: + resolution: {integrity: sha512-BdxNk+LtmElRo5d06MGY4zoepyrXX1tkzX2hrnPEZ53k78GuOMWLqmJDGIIOPwVRIFZrLQOo+Yr6KtCuLIA0AQ==} engines: {node: '>= 10.0.0'} peerDependencies: - rollup: ^1.20.0||^2.0.0 + rollup: ^2.42.0 dependencies: - '@rollup/pluginutils': 3.1.0_rollup@2.41.1 + '@rollup/pluginutils': 3.1.0_rollup@2.70.1 '@types/resolve': 1.17.1 builtin-modules: 3.2.0 deepmerge: 4.2.2 is-module: 1.0.0 resolve: 1.19.0 - rollup: 2.41.1 + rollup: 2.70.1 dev: true - /@rollup/pluginutils/3.1.0_rollup@2.41.1: + /@rollup/pluginutils/3.1.0_rollup@2.70.1: resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==} engines: {node: '>= 8.0.0'} peerDependencies: @@ -3101,23 +2122,15 @@ packages: '@types/estree': 0.0.39 estree-walker: 1.0.1 picomatch: 2.2.2 - rollup: 2.41.1 + rollup: 2.70.1 dev: true - /@rollup/pluginutils/4.1.0_rollup@2.41.1: - resolution: {integrity: sha512-TrBhfJkFxA+ER+ew2U2/fHbebhLT/l/2pRk0hfj9KusXUuRXd2v0R58AfaZK9VXDQ4TogOSEmICVrQAA3zFnHQ==} + /@rollup/pluginutils/4.1.2: + resolution: {integrity: sha512-ROn4qvkxP9SyPeHaf7uQC/GPFY6L/OWy9+bd9AwcjOAWQwxRscoEyAUD8qCY5o5iL4jqQwoLk2kaTKJPb/HwzQ==} engines: {node: '>= 8.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0 dependencies: estree-walker: 2.0.2 picomatch: 2.2.2 - rollup: 2.41.1 - dev: true - - /@sindresorhus/is/0.14.0: - resolution: {integrity: sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==} - engines: {node: '>=6'} dev: true /@sindresorhus/is/0.7.0: @@ -3125,26 +2138,38 @@ packages: engines: {node: '>=4'} dev: true - /@sindresorhus/is/4.0.0: - resolution: {integrity: sha512-FyD2meJpDPjyNQejSjvnhpgI/azsQkA4lGbuu5BQZfjvJ9cbRZXzeWL2HceCekW4lixO9JPesIIQkSoLjeJHNQ==} + /@sindresorhus/is/3.1.2: + resolution: {integrity: sha512-JiX9vxoKMmu8Y3Zr2RVathBL1Cdu4Nt4MuNWemt1Nc06A0RAin9c5FArkhGsyMBWfCu4zj+9b+GxtjAnE4qqLQ==} engines: {node: '>=10'} + dev: false + + /@sindresorhus/is/4.6.0: + resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} + engines: {node: '>=10'} + dev: true - /@sinonjs/commons/1.8.1: - resolution: {integrity: sha512-892K+kWUUi3cl+LlqEWIDrhvLgdL79tECi8JZUyq6IviKy/DNhuzCRlbHUjxK89f4ypPMMaFnFuR9Ie6DoIMsw==} + /@sinonjs/commons/1.8.3: + resolution: {integrity: sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==} dependencies: type-detect: 4.0.8 dev: true - /@sinonjs/fake-timers/6.0.1: - resolution: {integrity: sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA==} + /@sinonjs/fake-timers/8.1.0: + resolution: {integrity: sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==} dependencies: - '@sinonjs/commons': 1.8.1 + '@sinonjs/commons': 1.8.3 dev: true - /@sinonjs/samsam/5.3.1: - resolution: {integrity: sha512-1Hc0b1TtyfBu8ixF/tpfSHTVWKwCBLY4QJbkgnE7HcwyvT2xArDxb4K7dMgqRm3szI+LJbzmW/s4xxEhv6hwDg==} + /@sinonjs/fake-timers/9.1.1: + resolution: {integrity: sha512-Wp5vwlZ0lOqpSYGKqr53INws9HLkt6JDc/pDZcPf7bchQnrXJMXPns8CXx0hFikMSGSWfvtvvpb2gtMVfkWagA==} dependencies: - '@sinonjs/commons': 1.8.1 + '@sinonjs/commons': 1.8.3 + dev: true + + /@sinonjs/samsam/6.1.1: + resolution: {integrity: sha512-cZ7rKJTLiE7u7Wi/v9Hc2fs3Ucc3jrWeMgPHbbTCeVAB2S0wOBbYlkJVeNSL04i7fdhT8wIbDq1zhC/PXTD2SA==} + dependencies: + '@sinonjs/commons': 1.8.3 lodash.get: 4.4.2 type-detect: 4.0.8 dev: true @@ -3153,21 +2178,14 @@ packages: resolution: {integrity: sha512-+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ==} dev: true - /@szmarczak/http-timer/1.1.2: - resolution: {integrity: sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==} - engines: {node: '>=6'} - dependencies: - defer-to-connect: 1.1.3 - dev: true - /@szmarczak/http-timer/4.0.5: resolution: {integrity: sha512-PyRA9sm1Yayuj5OIoJ1hGt2YISX45w9WcFbh6ddT0Z/0yaFxOtGLInr4jUfU1EAFVs0Yfyfev4RNwBlUaHdlDQ==} engines: {node: '>=10'} dependencies: defer-to-connect: 2.0.0 - /@testim/chrome-version/1.0.7: - resolution: {integrity: sha512-8UT/J+xqCYfn3fKtOznAibsHpiuDshCb0fwgWxRazTT19Igp9ovoXMPhXyLD6m3CKQGTMHgqoxaFfMWaL40Rnw==} + /@testim/chrome-version/1.1.2: + resolution: {integrity: sha512-1c4ZOETSRpI0iBfIFUqU4KqwBAB2lHUAlBjZz/YqOHqwM9dTTzjV6Km0ZkiEiSCx/tLr1BtESIKyWWMww+RUqw==} dev: true /@tootallnate/once/1.1.2: @@ -3175,21 +2193,31 @@ packages: engines: {node: '>= 6'} dev: true - /@types/babel__core/7.1.12: - resolution: {integrity: sha512-wMTHiiTiBAAPebqaPiPDLFA4LYPKr6Ph0Xq/6rq1Ur3v66HXyG+clfR9CNETkD7MQS8ZHvpQOtA53DLws5WAEQ==} - dependencies: - '@babel/parser': 7.12.11 - '@babel/types': 7.12.11 - '@types/babel__generator': 7.6.2 - '@types/babel__template': 7.4.0 - '@types/babel__traverse': 7.11.0 + /@tsconfig/node10/1.0.8: + resolution: {integrity: sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==} + dev: true + + /@tsconfig/node12/1.0.9: + resolution: {integrity: sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==} + dev: true + + /@tsconfig/node14/1.0.1: + resolution: {integrity: sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==} + dev: true + + /@tsconfig/node16/1.0.2: + resolution: {integrity: sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==} + dev: true + + /@types/aria-query/5.0.0: + resolution: {integrity: sha512-P+dkdFu0n08PDIvw+9nT9ByQnd+Udc8DaWPb9HKfaPwCvWvQpC5XaMRx2xLWECm9x1VKNps6vEAlirjA6+uNrQ==} dev: true - /@types/babel__core/7.1.14: - resolution: {integrity: sha512-zGZJzzBUVDo/eV6KgbE0f0ZI7dInEYvo12Rb70uNQDshC3SkRMb67ja0GgRHZgAX3Za6rhaWlvbDO8rrGyAb1g==} + /@types/babel__core/7.1.18: + resolution: {integrity: sha512-S7unDjm/C7z2A2R9NzfKCK1I+BAALDtxEmsJBwlB3EzNfb929ykjL++1CK9LO++EIp2fQrC8O+BwjKvz6UeDyQ==} dependencies: - '@babel/parser': 7.13.12 - '@babel/types': 7.13.12 + '@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 @@ -3198,27 +2226,27 @@ packages: /@types/babel__generator/7.6.2: resolution: {integrity: sha512-MdSJnBjl+bdwkLskZ3NGFp9YcXGx5ggLpQQPqtgakVhsWK0hTtNYhjpZLlWQTviGTvF8at+Bvli3jV7faPdgeQ==} dependencies: - '@babel/types': 7.14.9 + '@babel/types': 7.16.8 dev: true /@types/babel__template/7.4.0: resolution: {integrity: sha512-NTPErx4/FiPCGScH7foPyr+/1Dkzkni+rHiYHHoTjvwou7AQzJkNeD60A9CXRy+ZEN2B1bggmkTMCDb+Mv5k+A==} dependencies: - '@babel/parser': 7.14.9 - '@babel/types': 7.14.9 + '@babel/parser': 7.16.12 + '@babel/types': 7.16.8 dev: true /@types/babel__traverse/7.11.0: resolution: {integrity: sha512-kSjgDMZONiIfSH1Nxcr5JIRMwUetDki63FSQfpTCz8ogF3Ulqm8+mr5f78dUYs6vMiB6gBusQqfQmBvHZj/lwg==} dependencies: - '@babel/types': 7.12.11 + '@babel/types': 7.16.8 dev: true /@types/body-parser/1.19.0: resolution: {integrity: sha512-W98JrE0j2K78swW4ukqMleo8R7h/pFETjM2DQ90MF6XK2i4LO4W3gQ71Lt4w3bfm2EvVSyWHplECvB5sK22yFQ==} dependencies: '@types/connect': 3.4.34 - '@types/node': 14.14.25 + '@types/node': 14.6.4 dev: true /@types/cacheable-request/6.0.1: @@ -3226,23 +2254,35 @@ packages: dependencies: '@types/http-cache-semantics': 4.0.0 '@types/keyv': 3.1.1 - '@types/node': 14.14.25 + '@types/node': 14.6.4 '@types/responselike': 1.0.0 /@types/connect/3.4.34: resolution: {integrity: sha512-ePPA/JuI+X0vb+gSWlPKOY0NdNAie/rPUqX2GUPpbZwiKTkSPhjXWuee47E4MtE54QVzGCQMQkAL6JhV2E1+cQ==} dependencies: - '@types/node': 14.14.25 + '@types/node': 14.6.4 + dev: true + + /@types/diff/5.0.2: + resolution: {integrity: sha512-uw8eYMIReOwstQ0QKF0sICefSy8cNO/v7gOTiIy9SbwuHyEecJUm7qlgueOO5S1udZ5I/irVydHVwMchgzbKTg==} dev: true - /@types/cucumber/6.0.1: - resolution: {integrity: sha512-+GZV6xfN0MeN9shDCdny8GbC8N0+U6uca8cjyaJndcwmrUhwS6qOU2vmYn0d71EOwJF568/v3SxJ8VKxuZNYRw==} + /@types/docker-modem/3.0.2: + resolution: {integrity: sha512-qC7prjoEYR2QEe6SmCVfB1x3rfcQtUr1n4x89+3e0wSTMQ/KYCyf+/RAA9n2tllkkNc6//JMUZePdFRiGIWfaQ==} + dependencies: + '@types/node': 14.6.4 + '@types/ssh2': 0.5.51 dev: true - /@types/dockerode/3.2.2: - resolution: {integrity: sha512-YtdVvc+WmxShwx0iBmn0AtiLL2Zbcak9gXqdeBp0UpiRyOcshZM0eVTOEkUKd4mIjHzSEpA+1P3lXb7ouYvDtQ==} + /@types/dockerode/3.3.5: + resolution: {integrity: sha512-QEfaHvsENH5Iot+8vM2ePZRe8NZMlsjKmZnqvPo624VimRZe3KWkUakcsHMuTZ6GcGI/sW6sr4OVS28HCj7IUw==} dependencies: - '@types/node': 14.14.25 + '@types/docker-modem': 3.0.2 + '@types/node': 14.6.4 + dev: true + + /@types/easy-table/0.0.33: + resolution: {integrity: sha512-/vvqcJPmZUfQwCgemL0/34G7bIQnCuvgls379ygRlcC1FqNqk3n+VZ15dAO51yl6JNDoWd8vsk+kT8zfZ1VZSw==} dev: true /@types/ejs/3.0.5: @@ -3260,7 +2300,7 @@ packages: /@types/express-serve-static-core/4.17.17: resolution: {integrity: sha512-YYlVaCni5dnHc+bLZfY908IG1+x5xuibKZMGv8srKkvtul3wUuanYvpIj9GXXoWkQbaAdR+kgX46IETKUALWNQ==} dependencies: - '@types/node': 14.14.25 + '@types/node': 14.6.4 '@types/qs': 6.9.5 '@types/range-parser': 1.2.3 dev: true @@ -3274,30 +2314,26 @@ packages: '@types/serve-static': 1.13.8 dev: true - /@types/fibers/3.1.0: - resolution: {integrity: sha512-1o3I9xtk2PZFxwaLCC6gTaBfBZ5rvw/DSZZPK89fwuwO6LNrzSbC6rEs1xI0bQ3fCRWmO+uNJQQeD2J56oTMDg==} - dev: true - /@types/fs-extra/9.0.5: resolution: {integrity: sha512-wr3t7wIW1c0A2BIJtdVp4EflriVaVVAsCAIHVzzh8B+GiFv9X1xeJjCs4upRXtzp7kQ6lP5xvskjoD4awJ1ZeA==} dependencies: - '@types/node': 14.14.25 + '@types/node': 14.6.4 dev: true /@types/graceful-fs/4.1.4: resolution: {integrity: sha512-mWA/4zFQhfvOA8zWkXobwJvBD7vzcxgrOQ0J5CH1votGqdq9m7+FwtGaqyCZqC3NyyBkc9z4m+iry4LlqcMWJg==} dependencies: - '@types/node': 14.14.25 + '@types/node': 14.6.4 dev: true /@types/http-cache-semantics/4.0.0: resolution: {integrity: sha512-c3Xy026kOF7QOTn00hbIllV1dLR9hG9NkSrLQgCVs8NF6sBU+VGWjD3wLPhmh1TYAc7ugCFsvHYMN4VcBN1U1A==} - /@types/inquirer/7.3.1: - resolution: {integrity: sha512-osD38QVIfcdgsPCT0V3lD7eH0OFurX71Jft18bZrsVQWVRt6TuxRzlr0GJLrxoHZR2V5ph7/qP8se/dcnI7o0g==} + /@types/inquirer/8.2.0: + resolution: {integrity: sha512-BNoMetRf3gmkpAlV5we+kxyZTle7YibdOntIZbU5pyIfMdcwy784KfeZDAcuyMznkh5OLa17RVXZOGA5LTlkgQ==} dependencies: '@types/through': 0.0.30 - rxjs: 6.6.3 + rxjs: 7.5.5 dev: true /@types/istanbul-lib-coverage/2.0.3: @@ -3316,23 +2352,27 @@ packages: '@types/istanbul-lib-report': 3.0.0 dev: true - /@types/jest/26.0.20: - resolution: {integrity: sha512-9zi2Y+5USJRxd0FsahERhBwlcvFh6D2GLQnY2FH2BzK8J9s9omvNHIbvABwIluXa0fD8XVKMLTO0aOEuUfACAA==} + /@types/jasmine/3.10.3: + resolution: {integrity: sha512-SWyMrjgdAUHNQmutvDcKablrJhkDLy4wunTme8oYLjKp41GnHGxMRXr2MQMvy/qy8H3LdzwQk9gH4hZ6T++H8g==} + dev: true + + /@types/jest/27.4.1: + resolution: {integrity: sha512-23iPJADSmicDVrWk+HT58LMJtzLAnB2AgIzplQuq/bSrGaxCrlvRFjGbXmamnnk/mAmCdLStiGqggu28ocUyiw==} dependencies: - jest-diff: 26.6.2 - pretty-format: 26.6.2 + jest-matcher-utils: 27.5.1 + pretty-format: 27.5.1 dev: true - /@types/jsdom/16.2.6: - resolution: {integrity: sha512-yQA+HxknGtW9AkRTNyiSH3OKW5V+WzO8OPTdne99XwJkYC+KYxfNIcoJjeiSqP3V00PUUpFP6Myoo9wdIu78DQ==} + /@types/jsdom/16.2.14: + resolution: {integrity: sha512-6BAy1xXEmMuHeAJ4Fv4yXKwBDTGTOseExKE3OaHiNycdHdZw59KfYzrt0DkDluvwmik1HRt6QS7bImxUmpSy+w==} dependencies: - '@types/node': 14.14.25 + '@types/node': 14.6.4 '@types/parse5': 6.0.0 '@types/tough-cookie': 4.0.0 dev: true - /@types/json-schema/7.0.6: - resolution: {integrity: sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==} + /@types/json-schema/7.0.9: + resolution: {integrity: sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==} dev: true /@types/jstimezonedetect/1.0.3: @@ -3342,28 +2382,28 @@ packages: /@types/keyv/3.1.1: resolution: {integrity: sha512-MPtoySlAZQ37VoLaPcTHCu1RWJ4llDkULYZIzOYxlhxBqYPB0RsRlmMU0R6tahtFe27mIdkHV+551ZWV4PLmVw==} dependencies: - '@types/node': 14.14.25 + '@types/node': 14.6.4 /@types/lodash.flattendeep/4.4.6: resolution: {integrity: sha512-uLm2MaRVlqJSGsMK0RZpP5T3KqReq+9WbYDHCUhBhp98v56hMG/Yht52bsoTSui9xz2mUvQ9NfG3LrNGDL92Ng==} dependencies: - '@types/lodash': 4.14.168 + '@types/lodash': 4.14.180 dev: true /@types/lodash.pickby/4.6.6: resolution: {integrity: sha512-NFa13XxlMd9eFi0UFZFWIztpMpXhozbijrx3Yb1viYZphT7jyopIFVoIRF4eYMjruWNEG1rnyrRmg/8ej9T8Iw==} dependencies: - '@types/lodash': 4.14.168 + '@types/lodash': 4.14.180 dev: true /@types/lodash.union/4.6.6: resolution: {integrity: sha512-Wu0ZEVNcyCz8eAn6TlUbYWZoGbH9E+iOHxAZbwUoCEXdUiy6qpcz5o44mMXViM4vlPLLCPlkAubEP1gokoSZaw==} dependencies: - '@types/lodash': 4.14.168 + '@types/lodash': 4.14.180 dev: true - /@types/lodash/4.14.168: - resolution: {integrity: sha512-oVfRvqHV/V6D1yifJbVRU3TMp8OT6o6BG+U9MkwuJ3U8/CsDHvalRpsxBqivn71ztOFZBTfJMvETbqHiaNSj7Q==} + /@types/lodash/4.14.180: + resolution: {integrity: sha512-XOKXa1KIxtNXgASAnwj7cnttJxS4fksBRywK/9LzRV5YxrF80BXZIGeQSuoESQ/VkUj30Ae0+YcuHc15wJCB2g==} dev: true /@types/mime/2.0.3: @@ -3373,26 +2413,26 @@ packages: /@types/morgan/1.9.2: resolution: {integrity: sha512-edtGMEdit146JwwIeyQeHHg9yID4WSolQPxpEorHmN3KuytuCHyn2ELNr5Uxy8SerniFbbkmgKMrGM933am5BQ==} dependencies: - '@types/node': 14.14.25 + '@types/node': 14.6.4 dev: true - /@types/node/14.14.14: - resolution: {integrity: sha512-UHnOPWVWV1z+VV8k6L1HhG7UbGBgIdghqF3l9Ny9ApPghbjICXkUJSd/b9gOgQfjM1r+37cipdw/HJ3F6ICEnQ==} - dev: true + /@types/node/14.6.4: + resolution: {integrity: sha512-Wk7nG1JSaMfMpoMJDKUsWYugliB2Vy55pdjLpmLixeyMi7HizW2I/9QoxsPCkXl3dO+ZOVqPumKaDUv5zJu2uQ==} - /@types/node/14.14.25: - resolution: {integrity: sha512-EPpXLOVqDvisVxtlbvzfyqSsFeQxltFbluZNRndIb8tr9KiBnYNLzrc1N3pyKUCww2RNrfHDViqDWWE1LCJQtQ==} + /@types/node/16.11.21: + resolution: {integrity: sha512-Pf8M1XD9i1ksZEcCP8vuSNwooJ/bZapNmIzpmsMaL+jMI+8mEYU3PKvs+xDNuQcJWF/x24WzY4qxLtB0zNow9A==} + dev: true - /@types/node/15.14.5: - resolution: {integrity: sha512-6ewfMNmkumZieB/EeJ4cdP1bbJyOlOt5MTwbKMr7WKxyCt2j09H8YWRK6zOd/Jh35Vu/gls39ZUmeu4vHu1WKQ==} + /@types/node/17.0.22: + resolution: {integrity: sha512-8FwbVoG4fy+ykY86XCAclKZDORttqE5/s7dyWZKLXTdv3vRy5HozBEinG5IqhvPXXzIZEcTVbuHlQEI6iuwcmw==} dev: true - /@types/normalize-package-data/2.4.0: - resolution: {integrity: sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==} + /@types/object-inspect/1.8.1: + resolution: {integrity: sha512-0JTdf3CGV0oWzE6Wa40Ayv2e2GhpP3pEJMcrlM74vBSJPuuNkVwfDnl0SZxyFCXETcB4oKA/MpTVfuYSMOelBg==} dev: true - /@types/object-path/0.11.0: - resolution: {integrity: sha512-/tuN8jDbOXcPk+VzEVZzzAgw1Byz7s/itb2YI10qkSyy6nykJH02DuhfrflxVdAdE7AZ91h5X6Cn0dmVdFw2TQ==} + /@types/object-path/0.11.1: + resolution: {integrity: sha512-219LSCO9HPcoXcRTC6DbCs0FRhZgBnEMzf16RRqkT40WbkKx3mOeQuz3e2XqbfhOz/AHfbru0kzB1n1RCAsIIg==} dev: true /@types/parse5/6.0.0: @@ -3403,18 +2443,6 @@ packages: resolution: {integrity: sha512-UEyp8LwZ4Dg30kVU2Q3amHHyTn1jEdhCIE59ANed76GaT1Vp76DD3ZWSAxgCrw6wJ0TqeoBpqmfUHiUDPs//HQ==} dev: true - /@types/puppeteer-core/5.4.0: - resolution: {integrity: sha512-yqRPuv4EFcSkTyin6Yy17pN6Qz2vwVwTCJIDYMXbE3j8vTPhv0nCQlZOl5xfi0WHUkqvQsjAR8hAfjeMCoetwg==} - dependencies: - '@types/puppeteer': 5.4.2 - dev: true - - /@types/puppeteer/5.4.2: - resolution: {integrity: sha512-yjbHoKjZFOGqA6bIEI2dfBE5UPqU0YGWzP+ipDVP1iGzmlhksVKTBVZfT3Aj3wnvmcJ2PQ9zcncwOwyavmafBw==} - dependencies: - '@types/node': 14.14.25 - dev: true - /@types/qs/6.9.5: resolution: {integrity: sha512-/JHkVHtx/REVG0VVToGRGH2+23hsYLHdyG+GrvoUGlGAd0ErauXDyvHtRI/7H7mzLm+tBCKA7pfcpkQ1lf58iQ==} dev: true @@ -3430,45 +2458,58 @@ packages: /@types/recursive-readdir/2.2.0: resolution: {integrity: sha512-HGk753KRu2N4mWduovY4BLjYq4jTOL29gV2OfGdGxHcPSWGFkC5RRIdk+VTs5XmYd7MVAD+JwKrcb5+5Y7FOCg==} dependencies: - '@types/node': 14.14.25 + '@types/node': 14.6.4 dev: true /@types/resolve/1.17.1: resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==} dependencies: - '@types/node': 14.14.25 + '@types/node': 14.6.4 dev: true /@types/responselike/1.0.0: resolution: {integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==} dependencies: - '@types/node': 14.14.25 + '@types/node': 14.6.4 - /@types/semver/7.3.8: - resolution: {integrity: sha512-D/2EJvAlCEtYFEYmmlGwbGXuK886HzyCc3nZX/tkFTQdEU8jZDAgiv08P162yB17y4ZXZoq7yFAnW4GDBb9Now==} + /@types/semver/7.3.9: + resolution: {integrity: sha512-L/TMpyURfBkf+o/526Zb6kd/tchUP3iBDEPjqjb+U2MAJhVRxxrmr2fwpe08E7QsV7YLcpq0tUaQ9O9x97ZIxQ==} dev: true /@types/serve-static/1.13.8: resolution: {integrity: sha512-MoJhSQreaVoL+/hurAZzIm8wafFR6ajiTM1m4A0kv6AGeVBl4r4pOV8bGFrjjq1sGxDTnCoF8i22o0/aE5XCyA==} dependencies: '@types/mime': 2.0.3 - '@types/node': 14.14.25 + '@types/node': 14.6.4 + dev: true + + /@types/sha1/1.1.3: + resolution: {integrity: sha512-bXfx/6xrPu1l6pLItGRMPX00lhnJavpj2qiQeLHflXvL2Ix97aC8FTF2/pQoqukRzcCwKyN3csZvOLzamIoaSA==} + dependencies: + '@types/node': 14.6.4 dev: true - /@types/sha1/1.1.2: - resolution: {integrity: sha512-qL23ImGRNLvDvLXL6EmE41QTAaBfwGgSOfxmytyOwfFSF0xj7BnhhHff8lcv6DpLWt2I5q+LLQ6iIKL+zev9mw==} + /@types/sinon/10.0.11: + resolution: {integrity: sha512-dmZsHlBsKUtBpHriNjlK0ndlvEh8dcb9uV9Afsbt89QIyydpC7NcR+nWlAhASfy3GHnxTl4FX/aKE7XZUt/B4g==} dependencies: - '@types/node': 14.14.25 + '@types/sinonjs__fake-timers': 8.1.1 dev: true - /@types/sinon/9.0.11: - resolution: {integrity: sha512-PwP4UY33SeeVKodNE37ZlOsR9cReypbMJOhZ7BVE0lB+Hix3efCOxiJWiE5Ia+yL9Cn2Ch72EjFTRze8RZsNtg==} + /@types/sinonjs__fake-timers/8.1.1: + resolution: {integrity: sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==} + dev: true + + /@types/ssh2-streams/0.1.9: + resolution: {integrity: sha512-I2J9jKqfmvXLR5GomDiCoHrEJ58hAOmFrekfFqmCFd+A6gaEStvWnPykoWUwld1PNg4G5ag1LwdA+Lz1doRJqg==} dependencies: - '@types/sinonjs__fake-timers': 6.0.2 + '@types/node': 14.6.4 dev: true - /@types/sinonjs__fake-timers/6.0.2: - resolution: {integrity: sha512-dIPoZ3g5gcx9zZEszaxLSVTvMReD3xxyyDnQUjA6IYDG9Ba2AV0otMPs+77sG9ojB4Qr2N2Vk5RnKeuA0X/0bg==} + /@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/stack-utils/2.0.0: @@ -3478,13 +2519,21 @@ packages: /@types/stream-buffers/3.0.3: resolution: {integrity: sha512-NeFeX7YfFZDYsCfbuaOmFQ0OjSmHreKBpp7MQ4alWQBHeh2USLsj7qyMyn9t82kjqIX516CR/5SRHnARduRtbQ==} dependencies: - '@types/node': 14.14.25 + '@types/node': 14.6.4 + dev: true + + /@types/supports-color/8.1.1: + resolution: {integrity: sha512-dPWnWsf+kzIG140B8z2w3fr5D03TLWbOAFQl45xUpI3vcizeXriNR5VYkWZ+WTMsUHqZ9Xlt3hrxGNANFyNQfw==} dev: true /@types/through/0.0.30: resolution: {integrity: sha512-FvnCJljyxhPM3gkRgWmxmDZyAQSiBQQWLI0A0VFL0K7W1oRUrPJSqNO0NvTnLkBcotdlp3lKvaT0JrnyRDkzOg==} dependencies: - '@types/node': 14.14.25 + '@types/node': 14.6.4 + dev: true + + /@types/tmp/0.2.3: + resolution: {integrity: sha512-dDZH/tXzwjutnuk4UacGgFRwV+JSLaXL1ikvidfJprkb7L9Nx1njcRHHmi3Dsvt7pgqqTEeucQuOrWHPFgzVHA==} dev: true /@types/tough-cookie/4.0.0: @@ -3509,10 +2558,17 @@ packages: '@types/yargs-parser': 15.0.0 dev: true + /@types/yargs/16.0.4: + resolution: {integrity: sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==} + dependencies: + '@types/yargs-parser': 15.0.0 + dev: true + /@types/yauzl/2.9.1: resolution: {integrity: sha512-A1b8SU4D10uoPjwb0lnHmmu8wZhR9d+9o2PKBQT2jU5YPTKsxac6M2qGAdY7VcL+dHHhARVUDmeg0rOrcd9EjA==} + requiresBuild: true dependencies: - '@types/node': 14.14.25 + '@types/node': 14.6.4 dev: true optional: true @@ -3520,289 +2576,361 @@ packages: resolution: {integrity: sha512-Yf1Y4bDj/QIn8v+zdy0l7+OW6s1uoUvzVn5cGqPNCsL4iUW4gYUlIdQIRtH9NOHVgwZNLbVeeRDEn6N4RMq6Nw==} dev: true - /@typescript-eslint/eslint-plugin/4.11.0_03dc75c18e96dfbc156c58d5a8cd7146: - resolution: {integrity: sha512-x4arJMXBxyD6aBXLm3W7mSDZRiABzy+2PCLJbL7OPqlp53VXhaA1HKK7R2rTee5OlRhnUgnp8lZyVIqjnyPT6g==} - engines: {node: ^10.12.0 || >=12.0.0} + /@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': ^4.0.0 - eslint: ^5.0.0 || ^6.0.0 || ^7.0.0 + '@typescript-eslint/parser': ^5.0.0 + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@typescript-eslint/experimental-utils': 4.11.0_eslint@7.16.0+typescript@4.3.5 - '@typescript-eslint/parser': 4.11.0_eslint@7.16.0+typescript@4.3.5 - '@typescript-eslint/scope-manager': 4.11.0 - debug: 4.3.1 - eslint: 7.16.0 + '@typescript-eslint/parser': 5.15.0_eslint@8.11.0+typescript@4.6.2 + '@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 + eslint: 8.11.0 functional-red-black-tree: 1.0.1 - regexpp: 3.1.0 - semver: 7.3.4 - tsutils: 3.17.1_typescript@4.3.5 - typescript: 4.3.5 + ignore: 5.2.0 + regexpp: 3.2.0 + semver: 7.3.5 + tsutils: 3.21.0_typescript@4.6.2 + typescript: 4.6.2 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/experimental-utils/4.11.0_eslint@7.16.0+typescript@4.3.5: - resolution: {integrity: sha512-1VC6mSbYwl1FguKt8OgPs8xxaJgtqFpjY/UzUYDBKq4pfQ5lBvN2WVeqYkzf7evW42axUHYl2jm9tNyFsb8oLg==} - engines: {node: ^10.12.0 || >=12.0.0} + /@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: '*' + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true dependencies: - '@types/json-schema': 7.0.6 - '@typescript-eslint/scope-manager': 4.11.0 - '@typescript-eslint/types': 4.11.0 - '@typescript-eslint/typescript-estree': 4.11.0_typescript@4.3.5 - eslint: 7.16.0 - eslint-scope: 5.1.1 - eslint-utils: 2.1.0 + '@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 + eslint: 8.11.0 + typescript: 4.6.2 transitivePeerDependencies: - supports-color - - typescript dev: true - /@typescript-eslint/parser/4.11.0_eslint@7.16.0+typescript@4.3.5: - resolution: {integrity: sha512-NBTtKCC7ZtuxEV5CrHUO4Pg2s784pvavc3cnz6V+oJvVbK4tH9135f/RBP6eUA2KHiFKAollSrgSctQGmHbqJQ==} - engines: {node: ^10.12.0 || >=12.0.0} + /@typescript-eslint/scope-manager/5.15.0: + resolution: {integrity: sha512-EFiZcSKrHh4kWk0pZaa+YNJosvKE50EnmN4IfgjkA3bTHElPtYcd2U37QQkNTqwMCS7LXeDeZzEqnsOH8chjSg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.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: ^5.0.0 || ^6.0.0 || ^7.0.0 + eslint: '*' typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 4.11.0 - '@typescript-eslint/types': 4.11.0 - '@typescript-eslint/typescript-estree': 4.11.0_typescript@4.3.5 - debug: 4.3.1 - eslint: 7.16.0 - typescript: 4.3.5 + '@typescript-eslint/utils': 5.15.0_eslint@8.11.0+typescript@4.6.2 + debug: 4.3.3 + eslint: 8.11.0 + tsutils: 3.21.0_typescript@4.6.2 + typescript: 4.6.2 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/scope-manager/4.11.0: - resolution: {integrity: sha512-6VSTm/4vC2dHM3ySDW9Kl48en+yLNfVV6LECU8jodBHQOhO8adAVizaZ1fV0QGZnLQjQ/y0aBj5/KXPp2hBTjA==} - engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1} - dependencies: - '@typescript-eslint/types': 4.11.0 - '@typescript-eslint/visitor-keys': 4.11.0 - dev: true - - /@typescript-eslint/types/4.11.0: - resolution: {integrity: sha512-XXOdt/NPX++txOQHM1kUMgJUS43KSlXGdR/aDyEwuAEETwuPt02Nc7v+s57PzuSqMbNLclblQdv3YcWOdXhQ7g==} - engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1} + /@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/typescript-estree/4.11.0_typescript@4.3.5: - resolution: {integrity: sha512-eA6sT5dE5RHAFhtcC+b5WDlUIGwnO9b0yrfGa1mIOIAjqwSQCpXbLiFmKTdRbQN/xH2EZkGqqLDrKUuYOZ0+Hg==} - engines: {node: ^10.12.0 || >=12.0.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 dependencies: - '@typescript-eslint/types': 4.11.0 - '@typescript-eslint/visitor-keys': 4.11.0 - debug: 4.3.1 - globby: 11.0.1 - is-glob: 4.0.1 - lodash: 4.17.21 - semver: 7.3.4 - tsutils: 3.17.1_typescript@4.3.5 - typescript: 4.3.5 + '@typescript-eslint/types': 5.15.0 + '@typescript-eslint/visitor-keys': 5.15.0 + debug: 4.3.3 + 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 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/visitor-keys/4.11.0: - resolution: {integrity: sha512-tRYKyY0i7cMk6v4UIOCjl1LhuepC/pc6adQqJk4Is3YcC6k46HvsV9Wl7vQoLbm9qADgeujiT7KdLrylvFIQ+A==} - engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1} + /@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 dependencies: - '@typescript-eslint/types': 4.11.0 - eslint-visitor-keys: 2.0.0 + '@types/json-schema': 7.0.9 + '@typescript-eslint/scope-manager': 5.15.0 + '@typescript-eslint/types': 5.15.0 + '@typescript-eslint/typescript-estree': 5.15.0_typescript@4.6.2 + eslint: 8.11.0 + eslint-scope: 5.1.1 + eslint-utils: 3.0.0_eslint@8.11.0 + transitivePeerDependencies: + - supports-color + - typescript dev: true - /@wdio/cli/6.12.1: - resolution: {integrity: sha512-RgCSonEnCWtVgA1XKUlFuBsQdTbeFs9dvP0VBwCTMilwqMPzt9OhpcDjvRjohBSX8dKf7YqcgEOuWr0WDCPQqw==} - engines: {node: '>=10.0.0'} + /@typescript-eslint/visitor-keys/5.15.0: + resolution: {integrity: sha512-+vX5FKtgvyHbmIJdxMJ2jKm9z2BIlXJiuewI8dsDYMp5LzPUcuTT78Ya5iwvQg3VqSVdmxyM8Anj1Jeq7733ZQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + '@typescript-eslint/types': 5.15.0 + eslint-visitor-keys: 3.3.0 + dev: true + + /@wdio/cli/7.19.3_typescript@4.6.2: + resolution: {integrity: sha512-u7qfFPDMiBS8SdQhXHrKCTMyqDpaDz0lqbxj8O2fDy5T18YIPFD+HHo4t5AzNo/E+jGi35s+9Jzwp6Tkn7nvZw==} + engines: {node: '>=12.0.0'} hasBin: true dependencies: '@types/ejs': 3.0.5 '@types/fs-extra': 9.0.5 - '@types/inquirer': 7.3.1 + '@types/inquirer': 8.2.0 '@types/lodash.flattendeep': 4.4.6 '@types/lodash.pickby': 4.6.6 '@types/lodash.union': 4.6.6 + '@types/node': 17.0.22 '@types/recursive-readdir': 2.2.0 - '@wdio/config': 6.12.1 - '@wdio/logger': 6.10.10 - '@wdio/utils': 6.11.0 + '@wdio/config': 7.19.1_typescript@4.6.2 + '@wdio/logger': 7.19.0 + '@wdio/types': 7.19.1_typescript@4.6.2 + '@wdio/utils': 7.19.3_typescript@4.6.2 async-exit-hook: 2.0.1 - chalk: 4.1.0 - chokidar: 3.4.3 + chalk: 4.1.2 + chokidar: 3.5.3 cli-spinners: 2.5.0 ejs: 3.1.5 - fs-extra: 9.0.1 - inquirer: 7.3.3 + fs-extra: 10.0.1 + inquirer: 8.2.2 lodash.flattendeep: 4.4.0 lodash.pickby: 4.6.0 lodash.union: 4.6.0 mkdirp: 1.0.4 recursive-readdir: 2.2.2 - webdriverio: 6.12.1 - yargs: 16.2.0 + webdriverio: 7.19.3_typescript@4.6.2 + yargs: 17.3.1 yarn-install: 1.0.0 transitivePeerDependencies: - bufferutil + - encoding - supports-color + - typescript - utf-8-validate dev: true - /@wdio/config/6.12.1: - resolution: {integrity: sha512-V5hTIW5FNlZ1W33smHF4Rd5BKjGW2KeYhyXDQfXHjqLCeRiirZ9fABCo9plaVQDnwWSUMWYaAaIAifV82/oJCQ==} - engines: {node: '>=10.0.0'} + /@wdio/config/7.19.1_typescript@4.6.2: + resolution: {integrity: sha512-6EDvVTd8vkHxfwPerRhJYmoHVpWStpELRLKoiN35vYuxDOYEs++KBewTrbJ19Js5bj1EuwuHEAct+PAZCEbv1Q==} + engines: {node: '>=12.0.0'} dependencies: - '@wdio/logger': 6.10.10 + '@wdio/logger': 7.19.0 + '@wdio/types': 7.19.1_typescript@4.6.2 deepmerge: 4.2.2 - glob: 7.1.6 + glob: 7.2.0 + transitivePeerDependencies: + - typescript dev: true - /@wdio/jasmine-framework/6.11.0_@wdio+cli@6.12.1: - resolution: {integrity: sha512-JyjefxllFZikvKS4kh5QQhanJ1XdhbhaHerVOANzD1dsDGP1J8PwT2b0FNKFhLILUENxBKsJuZUy46M0e+KhZQ==} - engines: {node: '>=10.0.0'} + /@wdio/jasmine-framework/7.19.3_6ff4890b76ad5f7636b6a1045736e595: + resolution: {integrity: sha512-dPfGp6rrLRIhsJ6JzdJeMsrEgYlbaQ6M9DSHm1Ja69Z+3MTl1wfQQj9dUssjJ0VmjrkwHa3yx/f8Y27nAUB1RQ==} + engines: {node: '>=12.0.0'} peerDependencies: - '@wdio/cli': ^6.0.1 + '@wdio/cli': ^7.0.0 dependencies: - '@wdio/cli': 6.12.1 - '@wdio/logger': 6.10.10 - '@wdio/utils': 6.11.0 - expect-webdriverio: 1.4.1 - jasmine: 3.6.3 + '@types/jasmine': 3.10.3 + '@types/node': 17.0.22 + '@wdio/cli': 7.19.3_typescript@4.6.2 + '@wdio/logger': 7.19.0 + '@wdio/types': 7.19.1_typescript@4.6.2 + '@wdio/utils': 7.19.3_typescript@4.6.2 + expect-webdriverio: 3.2.0 + jasmine: 3.10.0 + transitivePeerDependencies: + - typescript dev: true - /@wdio/local-runner/6.12.1_@wdio+cli@6.12.1: - resolution: {integrity: sha512-vZkXcp/qO9kDpSzwrP4hkt8Q2o3DzSuEtmlEvniYmkS5blLmYuWCn9DpyM4h655jgr+r4NZW8k/3s3qosIs9zw==} - engines: {node: '>=10.0.0'} + /@wdio/local-runner/7.19.3_6ff4890b76ad5f7636b6a1045736e595: + resolution: {integrity: sha512-HISss3hINC64ynM8Fx11I5qUH/EHew0PFK2qey+HxgW7hnJNRHil01wr4fYt8YYP5a4xtgyywvOiZRHX7yRmkA==} + engines: {node: '>=12.0.0'} peerDependencies: - '@wdio/cli': ^6.0.1 + '@wdio/cli': ^7.0.0 dependencies: '@types/stream-buffers': 3.0.3 - '@wdio/cli': 6.12.1 - '@wdio/logger': 6.10.10 - '@wdio/repl': 6.11.0 - '@wdio/runner': 6.12.1 + '@wdio/cli': 7.19.3_typescript@4.6.2 + '@wdio/logger': 7.19.0 + '@wdio/repl': 7.19.3_typescript@4.6.2 + '@wdio/runner': 7.19.3_typescript@4.6.2 + '@wdio/types': 7.19.1_typescript@4.6.2 async-exit-hook: 2.0.1 + split2: 4.1.0 stream-buffers: 3.0.2 transitivePeerDependencies: - bufferutil + - encoding - supports-color + - typescript - utf-8-validate dev: true - /@wdio/logger/6.10.10: - resolution: {integrity: sha512-2nh0hJz9HeZE0VIEMI+oPgjr/Q37ohrR9iqsl7f7GW5ik+PnKYCT9Eab5mR1GNMG60askwbskgGC1S9ygtvrSw==} - engines: {node: '>=10.0.0'} + /@wdio/logger/7.19.0: + resolution: {integrity: sha512-xR7SN/kGei1QJD1aagzxs3KMuzNxdT/7LYYx+lt6BII49+fqL/SO+5X0FDCZD0Ds93AuQvvz9eGyzrBI2FFXmQ==} + engines: {node: '>=12.0.0'} dependencies: - chalk: 4.1.0 + chalk: 4.1.2 loglevel: 1.7.1 loglevel-plugin-prefix: 0.8.4 - strip-ansi: 6.0.0 + strip-ansi: 6.0.1 dev: true - /@wdio/protocols/6.12.0: - resolution: {integrity: sha512-UhTBZxClCsM3VjaiDp4DoSCnsa7D1QNmI2kqEBfIpyNkT3GcZhJb7L+nL0fTkzCwi7+/uLastb3/aOwH99gt0A==} - engines: {node: '>=10.0.0'} + /@wdio/protocols/7.19.0: + resolution: {integrity: sha512-ji74rQag6v+INSNd0J8eAh2rpH5vOXgeiP5Qr32K6PWU6HzYWuAFH2x4srXsH0JawHCdTK2OQAOYrLmMb44hug==} + engines: {node: '>=12.0.0'} dev: true - /@wdio/repl/6.11.0: - resolution: {integrity: sha512-FxrFKiTkFyELNGGVEH1uijyvNY7lUpmff6x+FGskFGZB4uSRs0rxkOMaEjxnxw7QP1zgQKr2xC7GyO03gIGRGg==} - engines: {node: '>=10.0.0'} + /@wdio/repl/7.19.3_typescript@4.6.2: + resolution: {integrity: sha512-WVLo05chIcovPTvRD16LaBvwwdgvLacfllOYwIoywPuTJqwFGlvhNOyJSOqG00iTwdm0BcwKJkIdKme+lwJSXA==} + engines: {node: '>=12.0.0'} dependencies: - '@wdio/utils': 6.11.0 + '@wdio/utils': 7.19.3_typescript@4.6.2 + transitivePeerDependencies: + - typescript dev: true - /@wdio/reporter/6.11.0: - resolution: {integrity: sha512-SStNZZUI0bXI+omyIU6ql4Rh+Dews1dz1GlowHDrBxwKMPyAwytgYokXLn3zr+E3tkHDiRyJjQxfDetBWBGmtg==} - engines: {node: '>=10.0.0'} - dependencies: - '@types/cucumber': 6.0.1 - fs-extra: 9.0.1 + /@wdio/reporter/7.19.1_typescript@4.6.2: + resolution: {integrity: sha512-sWmBBV4dPCZkGk9Qq0m35T/vHGen0N10nH4osQcVP3IZJqpo2eLIH4w+X6EUbjZ2GdgOA2bLMMzb1bl9JqnGPg==} + engines: {node: '>=12.0.0'} + dependencies: + '@types/diff': 5.0.2 + '@types/node': 17.0.22 + '@types/object-inspect': 1.8.1 + '@types/supports-color': 8.1.1 + '@types/tmp': 0.2.3 + '@wdio/types': 7.19.1_typescript@4.6.2 + diff: 5.0.0 + fs-extra: 10.0.1 + object-inspect: 1.12.0 + supports-color: 8.1.1 + transitivePeerDependencies: + - typescript dev: true - /@wdio/runner/6.12.1: - resolution: {integrity: sha512-LMmiKQavMFrFd2LYrGA/DiKGJ/SH/3n95KWf4k8dmpB1fZqxO0KvEaE44CJTSFTQ0MB4JFTRUvW3JfXBm9EfRA==} - engines: {node: '>=10.0.0'} + /@wdio/runner/7.19.3_typescript@4.6.2: + resolution: {integrity: sha512-aeU4cikPGBavpAb1nN01A8WNWwXeXVTtWD4Z9Oq78kHcoFoCx4jhACnz95PzPzz0/P58tAktS84oiRROi4nXug==} + engines: {node: '>=12.0.0'} dependencies: - '@wdio/config': 6.12.1 - '@wdio/logger': 6.10.10 - '@wdio/utils': 6.11.0 + '@wdio/config': 7.19.1_typescript@4.6.2 + '@wdio/logger': 7.19.0 + '@wdio/types': 7.19.1_typescript@4.6.2 + '@wdio/utils': 7.19.3_typescript@4.6.2 deepmerge: 4.2.2 gaze: 1.1.3 - webdriver: 6.12.1 - webdriverio: 6.12.1 + webdriver: 7.19.3_typescript@4.6.2 + webdriverio: 7.19.3_typescript@4.6.2 transitivePeerDependencies: - bufferutil + - encoding - supports-color + - typescript - utf-8-validate dev: true - /@wdio/sauce-service/6.12.1_@wdio+cli@6.12.1: - resolution: {integrity: sha512-IBVXK0fB4KFZfmEsBqmDMA5AlpVxvnh91QmmfBlvjYtIPZFCUkqvZpJrtzIPpFTctZ9sMQnEa2/xm/VFQykBRg==} - engines: {node: '>=10.0.0'} + /@wdio/sauce-service/7.19.3_6ff4890b76ad5f7636b6a1045736e595: + resolution: {integrity: sha512-ipj0UA9nsu0pe/VPZMZsBUN4dR/HA38VGW7tg7u7KnAiWmDS/RUBDrOuexldK9qyyeeUav26dUITXONFz8lBRw==} + engines: {node: '>=12.0.0'} peerDependencies: - '@wdio/cli': ^6.0.1 + '@wdio/cli': ^7.0.0 dependencies: - '@wdio/cli': 6.12.1 - '@wdio/logger': 6.10.10 - '@wdio/utils': 6.11.0 - saucelabs: 4.6.2 + '@types/node': 17.0.22 + '@wdio/cli': 7.19.3_typescript@4.6.2 + '@wdio/logger': 7.19.0 + '@wdio/types': 7.19.1_typescript@4.6.2 + '@wdio/utils': 7.19.3_typescript@4.6.2 + saucelabs: 7.1.3 + webdriverio: 7.19.3_typescript@4.6.2 + transitivePeerDependencies: + - bufferutil + - encoding + - supports-color + - typescript + - utf-8-validate dev: true - /@wdio/spec-reporter/6.11.0_@wdio+cli@6.12.1: - resolution: {integrity: sha512-X68HGyay/tt0Y2nHn5U519bx+yBobAHge7lPklZ2cHNPEsmPSrvTyKIw5h3YO8mkfWHdp6IGxgHrET521Oe6WA==} - engines: {node: '>=10.0.0'} + /@wdio/spec-reporter/7.19.1_6ff4890b76ad5f7636b6a1045736e595: + resolution: {integrity: sha512-qnZkn3VcyBPtcorUtpyCFE8v5ubyWmR7mFETXNzyriHyvjvk+NeFCWaFcIehpXYXiAmNpAwyfnZoIY6tkKQixQ==} + engines: {node: '>=12.0.0'} peerDependencies: - '@wdio/cli': ^6.0.1 + '@wdio/cli': ^7.0.0 dependencies: - '@wdio/cli': 6.12.1 - '@wdio/reporter': 6.11.0 - chalk: 4.1.0 + '@types/easy-table': 0.0.33 + '@wdio/cli': 7.19.3_typescript@4.6.2 + '@wdio/reporter': 7.19.1_typescript@4.6.2 + '@wdio/types': 7.19.1_typescript@4.6.2 + chalk: 4.1.2 easy-table: 1.1.1 pretty-ms: 7.0.1 + transitivePeerDependencies: + - typescript dev: true - /@wdio/static-server-service/6.10.10: - resolution: {integrity: sha512-1AZRz6aSkwbvTGop8fLPzmTjEwentJhbswTOuMghMx0i1Zw0aB+l38gsWixn5JLt2dT6eaqGCyebStWwH8ZvUA==} - engines: {node: '>=10.0.0'} + /@wdio/static-server-service/7.19.1_typescript@4.6.2: + resolution: {integrity: sha512-8Qp8oqD4LxgwwD+/rUoh9d8yoapQ0uV3Vyvh5iumLCIFjx6t0KB4BQt8vTmo0yC8kOdO71QiH6bQ+6xs9Unb4A==} + engines: {node: '>=12.0.0'} dependencies: '@types/express': 4.17.9 '@types/fs-extra': 9.0.5 '@types/morgan': 1.9.2 - '@wdio/logger': 6.10.10 + '@wdio/logger': 7.19.0 + '@wdio/types': 7.19.1_typescript@4.6.2 express: 4.17.1 - fs-extra: 9.0.1 + fs-extra: 10.0.1 morgan: 1.10.0 + transitivePeerDependencies: + - typescript dev: true - /@wdio/sync/6.11.0: - resolution: {integrity: sha512-ORdY40PNP1c0VKJV+dIh1tYmMXwsRHPhB66p1Y6TRm6LvIpPVX8peoB/Qx9zBsO40hAS1cFt9pdsGxu7VCHnfg==} - engines: {node: '>=10.0.0'} + /@wdio/types/7.19.1_typescript@4.6.2: + resolution: {integrity: sha512-mOodKlmvYxpj8P5BhjggEGpXuiRSlsyn2ClG8QqJ3lfXgOtOVEzFNfv/Ai7TkHr+lHDQNXLjllCjSqoCHhwlqg==} + engines: {node: '>=12.0.0'} + peerDependencies: + typescript: ^4.6.2 dependencies: - '@types/fibers': 3.1.0 - '@types/puppeteer': 5.4.2 - '@wdio/logger': 6.10.10 - fibers: 4.0.3 + '@types/node': 17.0.22 + got: 11.8.3 + typescript: 4.6.2 dev: true - /@wdio/utils/6.11.0: - resolution: {integrity: sha512-vf0sOQzd28WbI26d6/ORrQ4XKWTzSlWLm9W/K/eJO0NASKPEzR+E+Q2kaa+MJ4FKXUpjbt+Lxfo+C26TzBk7tg==} - engines: {node: '>=10.0.0'} + /@wdio/utils/7.19.3_typescript@4.6.2: + resolution: {integrity: sha512-ZchrBeho8cj3lV6z44yiREJcEBm8Uw2mCX8o+P6YiSOrsnEdB9Oivo+6wkU8g9vI/7ZHIHps3w35P7sH9NryzA==} + engines: {node: '>=12.0.0'} dependencies: - '@wdio/logger': 6.10.10 + '@wdio/logger': 7.19.0 + '@wdio/types': 7.19.1_typescript@4.6.2 + p-iteration: 1.1.8 + transitivePeerDependencies: + - typescript dev: true /@wessberg/stringutil/1.0.19: @@ -3833,12 +2961,12 @@ packages: acorn-walk: 7.2.0 dev: true - /acorn-jsx/5.3.1_acorn@7.4.1: + /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 dependencies: - acorn: 7.4.1 + acorn: 8.7.0 dev: true /acorn-walk/7.1.1: @@ -3851,8 +2979,8 @@ packages: engines: {node: '>=0.4.0'} dev: true - /acorn-walk/8.0.0: - resolution: {integrity: sha512-oZRad/3SMOI/pxbbmqyurIx7jHw1wZDcR9G44L8pUVFEomX/0dH89SrM1KaDXuv1NpzAXz6Op/Xu/Qd5XXzdEA==} + /acorn-walk/8.2.0: + resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} engines: {node: '>=0.4.0'} dev: true @@ -3868,22 +2996,17 @@ packages: hasBin: true dev: true - /acorn/8.0.4: - resolution: {integrity: sha512-XNP0PqF1XD19ZlLKvB7cMmnZswW4C/03pRHgirB30uSJTaS3A3V1/P4sS3HPvFmjoriPCJQs+JDSbm4bL1TxGQ==} + /acorn/8.7.0: + resolution: {integrity: sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==} engines: {node: '>=0.4.0'} hasBin: true dev: true - /agent-base/5.1.1: - resolution: {integrity: sha512-TMeqbNl2fMW0nMjTEPOwe3J/PRFP4vqeoNuQMG0HlMrtm5QxKqdvAkZ1pRBQ/ulIyDD5Yq0nJ7YbdD8ey0TO3g==} - engines: {node: '>= 6.0.0'} - dev: true - /agent-base/6.0.2: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} engines: {node: '>= 6.0.0'} dependencies: - debug: 4.3.1 + debug: 4.3.3 transitivePeerDependencies: - supports-color dev: true @@ -3892,7 +3015,7 @@ packages: resolution: {integrity: sha512-wn8fw19xKZwdGPO47jivonaHRTd+nGOMP1z11sgGeQzDy2xd5FG0R67dIMcKHDE2cJ5y+YXV30XVGUBPRSY7Hg==} engines: {node: '>= 8.0.0'} dependencies: - debug: 4.3.1 + debug: 4.3.3 depd: 1.1.2 humanize-ms: 1.2.1 transitivePeerDependencies: @@ -3907,6 +3030,14 @@ packages: indent-string: 4.0.0 dev: true + /aggregate-error/4.0.0: + resolution: {integrity: sha512-8DGp7zUt1E9k0NE2q4jlXHk+V3ORErmwolEdRz9iV+LKJ40WhMHh92cxAvhqV2I+zEn/gotIoqoMs0NjF3xofg==} + engines: {node: '>=12'} + dependencies: + clean-stack: 4.1.0 + indent-string: 5.0.0 + dev: true + /ajv/6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} dependencies: @@ -3922,11 +3053,6 @@ packages: string-width: 3.1.0 dev: true - /ansi-colors/4.1.1: - resolution: {integrity: sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==} - engines: {node: '>=6'} - dev: true - /ansi-escapes/4.3.1: resolution: {integrity: sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==} engines: {node: '>=8'} @@ -3949,11 +3075,16 @@ packages: engines: {node: '>=6'} dev: true - /ansi-regex/5.0.0: - resolution: {integrity: sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==} + /ansi-regex/5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} dev: true + /ansi-regex/6.0.1: + resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} + engines: {node: '>=12'} + dev: true + /ansi-styles/2.2.1: resolution: {integrity: sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=} engines: {node: '>=0.10.0'} @@ -3973,34 +3104,28 @@ packages: color-convert: 2.0.1 dev: true - /ansi-styles/5.0.0: - resolution: {integrity: sha512-6564t0m0fuQMnockqBv7wJxo9T5C2V9JpYXyNScfRDPVLusOQQhkpMGrFC17QbiolraQ1sMXX+Y5nJpjqozL4g==} + /ansi-styles/5.2.0: + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} engines: {node: '>=10'} dev: true - /anymatch/2.0.0: - resolution: {integrity: sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==} - dependencies: - micromatch: 3.1.10 - normalize-path: 2.1.1 + /ansi-styles/6.1.0: + resolution: {integrity: sha512-VbqNsoz55SYGczauuup0MFUyXNQviSpFTj1RQtFzmQLk18qbVSpTFFGMT293rmDaQuKCT6InmbuEyUne4mTuxQ==} + engines: {node: '>=12'} dev: true - /anymatch/3.1.1: - resolution: {integrity: sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==} + /anymatch/3.1.2: + resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==} engines: {node: '>= 8'} dependencies: normalize-path: 3.0.0 - picomatch: 2.2.2 + picomatch: 2.3.1 dev: true /aproba/1.2.0: resolution: {integrity: sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==} dev: true - /arch/2.2.0: - resolution: {integrity: sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==} - dev: true - /archive-type/4.0.0: resolution: {integrity: sha1-+S5yIzBW38aWlHJ0nCZ72wRrHXA=} engines: {node: '>=4'} @@ -4012,8 +3137,8 @@ packages: resolution: {integrity: sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==} engines: {node: '>= 6'} dependencies: - glob: 7.1.6 - graceful-fs: 4.2.4 + glob: 7.2.0 + graceful-fs: 4.2.9 lazystream: 1.0.0 lodash.defaults: 4.2.0 lodash.difference: 4.5.0 @@ -4054,19 +3179,13 @@ packages: sprintf-js: 1.0.3 dev: true - /arr-diff/4.0.0: - resolution: {integrity: sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=} - engines: {node: '>=0.10.0'} - dev: true - - /arr-flatten/1.1.0: - resolution: {integrity: sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==} - engines: {node: '>=0.10.0'} + /argparse/2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} dev: true - /arr-union/3.1.0: - resolution: {integrity: sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=} - engines: {node: '>=0.10.0'} + /aria-query/5.0.0: + resolution: {integrity: sha512-V+SM7AbUwJ+EBnB8+DXs0hPZHO0W6pqBcc0dW90OwtVG02PswOu/teuARoLQjdDOH+t9pJgGnW5/Qmouf3gPJg==} + engines: {node: '>=6.0'} dev: true /array-find-index/1.0.2: @@ -4083,28 +3202,14 @@ packages: engines: {node: '>=8'} dev: true - /array-unique/0.3.2: - resolution: {integrity: sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=} - engines: {node: '>=0.10.0'} - dev: true - /arrgv/1.0.2: resolution: {integrity: sha512-a4eg4yhp7mmruZDQFqVMlxNRFGi/i1r87pt8SDHy0/I8PqSXoUTlWZRdAZo0VXgvEARcujbtTk8kiZRi1uDGRw==} engines: {node: '>=8.0.0'} dev: true - /arrify/1.0.1: - resolution: {integrity: sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=} - engines: {node: '>=0.10.0'} - dev: true - - /arrify/2.0.1: - resolution: {integrity: sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==} - engines: {node: '>=8'} - dev: true - - /asap/2.0.6: - resolution: {integrity: sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=} + /arrify/3.0.0: + resolution: {integrity: sha512-tLkvA81vQG/XqE2mjDkGQHoOINtMHtysSnemrmoGe6PydDPMRbVugqyk4A6V/WDWEfm3l+0d8anA9r8cv/5Jaw==} + engines: {node: '>=12'} dev: true /asn1/0.2.4: @@ -4118,16 +3223,6 @@ packages: engines: {node: '>=0.8'} dev: true - /assign-symbols/1.0.0: - resolution: {integrity: sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=} - engines: {node: '>=0.10.0'} - dev: true - - /astral-regex/2.0.0: - resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} - engines: {node: '>=8'} - dev: true - /async-exit-hook/2.0.1: resolution: {integrity: sha512-NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw==} engines: {node: '>=0.12.0'} @@ -4150,73 +3245,61 @@ packages: engines: {node: '>= 4.0.0'} dev: true - /atob/2.1.2: - resolution: {integrity: sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==} - engines: {node: '>= 4.5.0'} - hasBin: true - dev: true - - /ava/3.14.0: - resolution: {integrity: sha512-AkXNi3DBXZE8A1z1JiNvdK6WmpN8oJQcZLkaWU24C3knCN9WVaxoDy90IVQlwjjPySeyQFqWDrsW9KomSNlRmQ==} - engines: {node: '>=10.18.0 <11 || >=12.14.0 <12.17.0 || >=12.17.0 <13 || >=14.0.0 <15 || >=15'} + /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 dependencies: - '@concordance/react': 2.0.0 - acorn: 8.0.4 - acorn-walk: 8.0.0 - ansi-styles: 5.0.0 + acorn: 8.7.0 + acorn-walk: 8.2.0 + ansi-styles: 6.1.0 arrgv: 1.0.2 - arrify: 2.0.1 - callsites: 3.1.0 - chalk: 4.1.0 - chokidar: 3.4.3 + arrify: 3.0.0 + callsites: 4.0.0 + cbor: 8.1.0 + chalk: 5.0.0 + chokidar: 3.5.3 chunkd: 2.0.1 - ci-info: 2.0.0 + ci-info: 3.3.0 ci-parallel-vars: 1.0.1 clean-yaml-object: 0.1.0 - cli-cursor: 3.1.0 - cli-truncate: 2.1.0 - code-excerpt: 3.0.0 + cli-truncate: 3.1.0 + code-excerpt: 4.0.0 common-path-prefix: 3.0.0 - concordance: 5.0.1 - convert-source-map: 1.7.0 + concordance: 5.0.4 currently-unhandled: 0.4.1 - debug: 4.3.1 + debug: 4.3.3 del: 6.0.0 - emittery: 0.7.2 - equal-length: 1.0.1 - figures: 3.2.0 - globby: 11.0.1 + emittery: 0.10.1 + figures: 4.0.0 + globby: 13.1.1 ignore-by-default: 2.0.0 - import-local: 3.0.2 - indent-string: 4.0.0 + indent-string: 5.0.0 is-error: 2.2.2 is-plain-object: 5.0.0 is-promise: 4.0.0 - lodash: 4.17.21 - matcher: 3.0.0 - md5-hex: 3.0.1 - mem: 8.0.0 + matcher: 5.0.0 + mem: 9.0.2 ms: 2.1.3 - ora: 5.1.0 - p-event: 4.2.0 - p-map: 4.0.0 - picomatch: 2.2.2 - pkg-conf: 3.1.0 - plur: 4.0.0 + p-event: 5.0.1 + p-map: 5.3.0 + picomatch: 2.3.1 + pkg-conf: 4.0.0 + plur: 5.1.0 pretty-ms: 7.0.1 - read-pkg: 5.2.0 resolve-cwd: 3.0.0 slash: 3.0.0 - source-map-support: 0.5.19 - stack-utils: 2.0.3 - strip-ansi: 6.0.0 - supertap: 1.0.0 + stack-utils: 2.0.5 + strip-ansi: 7.0.1 + supertap: 3.0.1 temp-dir: 2.0.0 - trim-off-newlines: 1.0.1 - update-notifier: 5.0.1 - write-file-atomic: 3.0.3 - yargs: 16.2.0 + write-file-atomic: 4.0.1 + yargs: 17.3.1 transitivePeerDependencies: - supports-color dev: true @@ -4229,98 +3312,56 @@ packages: resolution: {integrity: sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==} dev: true - /axios/0.21.4: - resolution: {integrity: sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==} + /axios/0.24.0: + resolution: {integrity: sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==} dependencies: follow-redirects: 1.14.5 transitivePeerDependencies: - debug dev: true - /babel-jest/26.6.3_@babel+core@7.12.10: - resolution: {integrity: sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA==} - engines: {node: '>= 10.14.2'} + /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.0.0 + '@babel/core': ^7.8.0 dependencies: '@babel/core': 7.12.10 - '@jest/transform': 26.6.2 - '@jest/types': 26.6.2 - '@types/babel__core': 7.1.12 - babel-plugin-istanbul: 6.0.0 - babel-preset-jest: 26.6.2_@babel+core@7.12.10 - chalk: 4.1.0 - graceful-fs: 4.2.4 + '@jest/transform': 27.5.1 + '@jest/types': 27.5.1 + '@types/babel__core': 7.1.18 + babel-plugin-istanbul: 6.1.1 + babel-preset-jest: 27.5.1_@babel+core@7.12.10 + chalk: 4.1.2 + graceful-fs: 4.2.9 slash: 3.0.0 transitivePeerDependencies: - supports-color dev: true - /babel-plugin-dynamic-import-node/2.3.3: - resolution: {integrity: sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==} - dependencies: - object.assign: 4.1.2 - dev: true - - /babel-plugin-istanbul/6.0.0: - resolution: {integrity: sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ==} - engines: {node: '>=8'} - dependencies: - '@babel/helper-plugin-utils': 7.10.4 - '@istanbuljs/load-nyc-config': 1.1.0 - '@istanbuljs/schema': 0.1.2 - istanbul-lib-instrument: 4.0.3 - test-exclude: 6.0.0 - transitivePeerDependencies: - - supports-color - dev: true - - /babel-plugin-jest-hoist/26.6.2: - resolution: {integrity: sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw==} - engines: {node: '>= 10.14.2'} - dependencies: - '@babel/template': 7.12.7 - '@babel/types': 7.12.11 - '@types/babel__core': 7.1.12 - '@types/babel__traverse': 7.11.0 - dev: true - - /babel-plugin-polyfill-corejs2/0.2.2_@babel+core@7.14.8: - resolution: {integrity: sha512-kISrENsJ0z5dNPq5eRvcctITNHYXWOA4DUZRFYCz3jYCcvTb/A546LIddmoGNMVYg2U38OyFeNosQwI9ENTqIQ==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/compat-data': 7.14.9 - '@babel/core': 7.14.8 - '@babel/helper-define-polyfill-provider': 0.2.3_@babel+core@7.14.8 - semver: 6.3.0 - transitivePeerDependencies: - - supports-color - dev: true - - /babel-plugin-polyfill-corejs3/0.2.4_@babel+core@7.14.8: - resolution: {integrity: sha512-z3HnJE5TY/j4EFEa/qpQMSbcUJZ5JQi+3UFjXzn6pQCmIKc5Ug5j98SuYyH+m4xQnvKlMDIW4plLfgyVnd0IcQ==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.14.8 - '@babel/helper-define-polyfill-provider': 0.2.3_@babel+core@7.14.8 - core-js-compat: 3.16.0 - transitivePeerDependencies: - - supports-color - dev: true - - /babel-plugin-polyfill-regenerator/0.2.2_@babel+core@7.14.8: - resolution: {integrity: sha512-Goy5ghsc21HgPDFtzRkSirpZVW35meGoTmTOb2bxqdl60ghub4xOidgNTHaZfQ2FaxQsKmwvXtOAkcIS4SMBWg==} - peerDependencies: - '@babel/core': ^7.0.0-0 + /babel-plugin-istanbul/6.1.1: + resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} + engines: {node: '>=8'} dependencies: - '@babel/core': 7.14.8 - '@babel/helper-define-polyfill-provider': 0.2.3_@babel+core@7.14.8 + '@babel/helper-plugin-utils': 7.16.7 + '@istanbuljs/load-nyc-config': 1.1.0 + '@istanbuljs/schema': 0.1.2 + istanbul-lib-instrument: 5.1.0 + 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: @@ -4341,14 +3382,14 @@ packages: '@babel/plugin-syntax-top-level-await': 7.12.1_@babel+core@7.12.10 dev: true - /babel-preset-jest/26.6.2_@babel+core@7.12.10: - resolution: {integrity: sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ==} - engines: {node: '>= 10.14.2'} + /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: 26.6.2 + babel-plugin-jest-hoist: 27.5.1 babel-preset-current-node-syntax: 1.0.1_@babel+core@7.12.10 dev: true @@ -4356,19 +3397,6 @@ packages: resolution: {integrity: sha1-ibTRmasr7kneFk6gK4nORi1xt2c=} dev: true - /base/0.11.2: - resolution: {integrity: sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==} - engines: {node: '>=0.10.0'} - dependencies: - cache-base: 1.0.1 - class-utils: 0.3.6 - component-emitter: 1.3.0 - define-property: 1.0.0 - isobject: 3.0.1 - mixin-deep: 1.3.2 - pascalcase: 0.1.1 - dev: true - /base64-js/1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} dev: true @@ -4386,43 +3414,6 @@ packages: tweetnacl: 0.14.5 dev: true - /bin-check/4.1.0: - resolution: {integrity: sha512-b6weQyEUKsDGFlACWSIOfveEnImkJyK/FGW6FAG42loyoquvjdtOIqO6yBFzHyqyVVhNgNkQxxx09SFLK28YnA==} - engines: {node: '>=4'} - dependencies: - execa: 0.7.0 - executable: 4.1.1 - dev: true - - /bin-version-check/4.0.0: - resolution: {integrity: sha512-sR631OrhC+1f8Cvs8WyVWOA33Y8tgwjETNPyyD/myRBXLkfS/vl74FmH/lFcRl9KY3zwGh7jFhvyk9vV3/3ilQ==} - engines: {node: '>=6'} - dependencies: - bin-version: 3.1.0 - semver: 5.7.1 - semver-truncate: 1.1.2 - dev: true - - /bin-version/3.1.0: - resolution: {integrity: sha512-Mkfm4iE1VFt4xd4vH+gx+0/71esbfus2LsnCGe8Pi4mndSPyT+NGES/Eg99jx8/lUGWfu3z2yuB/bt5UB+iVbQ==} - engines: {node: '>=6'} - dependencies: - execa: 1.0.0 - find-versions: 3.2.0 - dev: true - - /bin-wrapper/4.1.0: - resolution: {integrity: sha512-hfRmo7hWIXPkbpi0ZltboCMVrU+0ClXR/JgbCKKjlDjQf6igXa7OwdqNcFWQZPZTgiY7ZpzE3+LjjkLiTN2T7Q==} - engines: {node: '>=6'} - dependencies: - bin-check: 4.1.0 - bin-version-check: 4.0.0 - download: 7.1.0 - import-lazy: 3.1.0 - os-filter-obj: 2.0.0 - pify: 4.0.1 - dev: true - /binary-extensions/2.1.0: resolution: {integrity: sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==} engines: {node: '>=8'} @@ -4443,6 +3434,14 @@ packages: readable-stream: 3.6.0 dev: true + /bl/4.1.0: + resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} + dependencies: + buffer: 5.7.1 + inherits: 2.0.4 + readable-stream: 3.6.0 + dev: true + /blueimp-md5/2.18.0: resolution: {integrity: sha512-vE52okJvzsVWhcgUHOv+69OG3Mdg151xyn41aVQN/5W5S+S43qZhxECtYLAEHMSFWX6Mv5IZrzj3T5+JqXfj5Q==} dev: true @@ -4463,18 +3462,18 @@ packages: type-is: 1.6.18 dev: true - /boxen/4.2.0: - resolution: {integrity: sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ==} - engines: {node: '>=8'} + /boxen/5.1.2: + resolution: {integrity: sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==} + engines: {node: '>=10'} dependencies: ansi-align: 3.0.0 - camelcase: 5.3.1 - chalk: 3.0.0 + camelcase: 6.2.0 + chalk: 4.1.2 cli-boxes: 2.2.1 - string-width: 4.2.0 - term-size: 2.2.1 - type-fest: 0.8.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: @@ -4484,20 +3483,10 @@ packages: concat-map: 0.0.1 dev: true - /braces/2.3.2: - resolution: {integrity: sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==} - engines: {node: '>=0.10.0'} + /brace-expansion/2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} dependencies: - arr-flatten: 1.1.0 - array-unique: 0.3.2 - extend-shallow: 2.0.1 - fill-range: 4.0.0 - isobject: 3.0.1 - repeat-element: 1.1.3 - snapdragon: 0.8.2 - snapdragon-node: 2.1.1 - split-string: 3.1.0 - to-regex: 3.0.2 + balanced-match: 1.0.0 dev: true /braces/3.0.2: @@ -4518,32 +3507,44 @@ packages: resolution: {integrity: sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==} dev: true - /browserslist-generator/1.0.59: - resolution: {integrity: sha512-pY1JNAxBMtsDbmLxTn5AXM5j+R7L0WAEFSFUr7zC9bKQJAqjMG83AUV2+EIdxPGV3297PMKAUW9MB8OQ1IEyVg==} + /browserslist-generator/1.0.65: + resolution: {integrity: sha512-2+p27BTZ0T6fGAn57IZOoGRTDqIhaHVPHWTg5ZejMA/SKaQG1ChvfOnb9sxqRwLMUGtrUXbX0QQA7H1s6oQh0A==} engines: {node: '>=8.0.0'} dependencies: - '@mdn/browser-compat-data': 3.3.13 - '@types/object-path': 0.11.0 - '@types/semver': 7.3.8 + '@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.16.6 - caniuse-lite: 1.0.30001248 - isbot: 3.0.26 - object-path: 0.11.5 + browserslist: 4.18.1 + caniuse-lite: 1.0.30001301 + isbot: 3.3.4 + object-path: 0.11.8 semver: 7.3.5 - ua-parser-js: 0.7.28 + ua-parser-js: 1.0.2 + dev: true + + /browserslist/4.18.1: + resolution: {integrity: sha512-8ScCzdpPwR2wQh8IT82CA2VgDwjHyqMovPBZSNH54+tm4Jk2pCuv90gmAdH6J84OCRWi0b4gMe6O6XPXuJnjgQ==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + 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 - /browserslist/4.16.6: - resolution: {integrity: sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ==} + /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 dependencies: - caniuse-lite: 1.0.30001248 - colorette: 1.2.2 - electron-to-chromium: 1.3.793 + caniuse-lite: 1.0.30001301 + electron-to-chromium: 1.4.51 escalade: 3.1.1 - node-releases: 1.1.71 + node-releases: 2.0.1 + picocolors: 1.0.0 dev: true /bs-logger/0.2.6: @@ -4559,11 +3560,6 @@ packages: node-int64: 0.4.0 dev: true - /buf-compare/1.0.1: - resolution: {integrity: sha1-/vKNqLgROgoNtEMLC2Rntpcws0o=} - engines: {node: '>=0.10.0'} - dev: true - /buffer-alloc-unsafe/1.1.0: resolution: {integrity: sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==} dev: true @@ -4639,24 +3635,33 @@ packages: p-map: 4.0.0 promise-inflight: 1.0.1 rimraf: 3.0.2 - ssri: 8.0.0 - tar: 6.0.5 + ssri: 8.0.1 + tar: 6.1.11 unique-filename: 1.1.1 dev: true - /cache-base/1.0.1: - resolution: {integrity: sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==} - engines: {node: '>=0.10.0'} + /cacache/15.3.0: + resolution: {integrity: sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==} + engines: {node: '>= 10'} dependencies: - collection-visit: 1.0.0 - component-emitter: 1.3.0 - get-value: 2.0.6 - has-value: 1.0.0 - isobject: 3.0.1 - set-value: 2.0.1 - to-object-path: 0.3.0 - union-value: 1.0.1 - unset-value: 1.0.0 + '@npmcli/fs': 1.1.0 + '@npmcli/move-file': 1.0.1 + chownr: 2.0.0 + fs-minipass: 2.1.0 + glob: 7.1.6 + infer-owner: 1.0.4 + lru-cache: 6.0.0 + minipass: 3.1.3 + minipass-collect: 1.0.2 + minipass-flush: 1.0.5 + minipass-pipeline: 1.2.4 + mkdirp: 1.0.4 + p-map: 4.0.0 + promise-inflight: 1.0.1 + rimraf: 3.0.2 + ssri: 8.0.1 + tar: 6.1.11 + unique-filename: 1.1.1 dev: true /cacheable-lookup/5.0.4: @@ -4675,21 +3680,21 @@ packages: responselike: 1.0.2 dev: true - /cacheable-request/6.1.0: - resolution: {integrity: sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==} + /cacheable-request/7.0.1: + resolution: {integrity: sha512-lt0mJ6YAnsrBErpTMWeu5kl/tg9xMAWjavYTN6VQXM1A/teBITuNcccXsCxF0tDQQJf9DfAaX5O4e0zp0KlfZw==} engines: {node: '>=8'} dependencies: clone-response: 1.0.2 get-stream: 5.2.0 http-cache-semantics: 4.1.0 - keyv: 3.1.0 + keyv: 4.0.3 lowercase-keys: 2.0.0 normalize-url: 4.5.0 - responselike: 1.0.2 - dev: true + responselike: 2.0.0 + dev: false - /cacheable-request/7.0.1: - resolution: {integrity: sha512-lt0mJ6YAnsrBErpTMWeu5kl/tg9xMAWjavYTN6VQXM1A/teBITuNcccXsCxF0tDQQJf9DfAaX5O4e0zp0KlfZw==} + /cacheable-request/7.0.2: + resolution: {integrity: sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==} engines: {node: '>=8'} dependencies: clone-response: 1.0.2 @@ -4697,14 +3702,8 @@ packages: http-cache-semantics: 4.1.0 keyv: 4.0.3 lowercase-keys: 2.0.0 - normalize-url: 4.5.0 + normalize-url: 6.1.0 responselike: 2.0.0 - - /call-bind/1.0.0: - resolution: {integrity: sha512-AEXsYIyyDY3MCzbwdhzG3Jx1R0J2wetQyUynn6dYHAO+bg8l1k7jwZtRv4ryryFs7EP+NDlikJlVe59jr0cM2w==} - dependencies: - function-bind: 1.1.1 - get-intrinsic: 1.0.2 dev: true /call-bind/1.0.2: @@ -4719,11 +3718,16 @@ packages: engines: {node: '>=6'} dev: true + /callsites/4.0.0: + resolution: {integrity: sha512-y3jRROutgpKdz5vzEhWM34TidDU8vkJppF8dszITeb1PQmSqV3DTxyV8G/lyO/DNvtE1YTedehmw9MPZsCBHxQ==} + engines: {node: '>=12.20'} + dev: true + /camel-case/4.1.2: resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} dependencies: pascal-case: 3.1.2 - tslib: 2.3.0 + tslib: 2.3.1 dev: true /camelcase-keys/3.0.0: @@ -4749,37 +3753,27 @@ packages: engines: {node: '>=10'} dev: true - /caniuse-lite/1.0.30001248: - resolution: {integrity: sha512-NwlQbJkxUFJ8nMErnGtT0QTM2TJ33xgz4KXJSMIrjXIbDVdaYueGyjOrLKRtJC+rTiWfi6j5cnZN1NBiSBJGNw==} + /caniuse-lite/1.0.30001301: + resolution: {integrity: sha512-csfD/GpHMqgEL3V3uIgosvh+SVIQvCh43SNu9HRbP1lnxkKm1kjDG4f32PP571JplkLjfS+mg2p1gxR7MYrrIA==} dev: true /capital-case/1.0.4: resolution: {integrity: sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==} dependencies: no-case: 3.0.4 - tslib: 2.3.0 + tslib: 2.3.1 upper-case-first: 2.0.2 dev: true - /capture-exit/2.0.0: - resolution: {integrity: sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==} - engines: {node: 6.* || 8.* || >= 10.*} - dependencies: - rsvp: 4.8.5 - dev: true - /caseless/0.12.0: resolution: {integrity: sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=} dev: true - /caw/2.0.1: - resolution: {integrity: sha512-Cg8/ZSBEa8ZVY9HspcGUYaK63d/bN7rqS3CYCzEGUxuYv6UlmcjzDUz2fCFFHyTvUW5Pk0I+3hkA3iXlIj6guA==} - engines: {node: '>=4'} + /cbor/8.1.0: + resolution: {integrity: sha512-DwGjNW9omn6EwP70aXsn7FQJx5kO12tX0bZkaTjzdVFM6/7nhA4t0EENocKGx6D2Bch9PE2KzCUf5SceBdeijg==} + engines: {node: '>=12.19'} dependencies: - get-proxy: 2.1.0 - isurl: 1.0.0 - tunnel-agent: 0.6.0 - url-to-options: 1.0.1 + nofilter: 3.1.0 dev: true /chalk/1.1.3: @@ -4802,22 +3796,6 @@ packages: supports-color: 5.5.0 dev: true - /chalk/3.0.0: - resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==} - engines: {node: '>=8'} - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - dev: true - - /chalk/4.1.0: - resolution: {integrity: sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==} - engines: {node: '>=10'} - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - dev: true - /chalk/4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} @@ -4826,6 +3804,11 @@ packages: 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 + /change-case/4.1.2: resolution: {integrity: sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A==} dependencies: @@ -4840,7 +3823,7 @@ packages: path-case: 3.0.4 sentence-case: 3.0.4 snake-case: 3.0.4 - tslib: 2.3.0 + tslib: 2.3.1 dev: true /char-regex/1.0.2: @@ -4856,19 +3839,19 @@ packages: resolution: {integrity: sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc=} dev: false - /chokidar/3.4.3: - resolution: {integrity: sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ==} + /chokidar/3.5.3: + resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} engines: {node: '>= 8.10.0'} dependencies: - anymatch: 3.1.1 + anymatch: 3.1.2 braces: 3.0.2 - glob-parent: 5.1.1 + glob-parent: 5.1.2 is-binary-path: 2.1.0 - is-glob: 4.0.1 + is-glob: 4.0.3 normalize-path: 3.0.0 - readdirp: 3.5.0 + readdirp: 3.6.0 optionalDependencies: - fsevents: 2.1.3 + fsevents: 2.3.2 dev: true /chownr/1.1.4: @@ -4880,25 +3863,25 @@ packages: engines: {node: '>=10'} dev: true - /chrome-launcher/0.13.4: - resolution: {integrity: sha512-nnzXiDbGKjDSK6t2I+35OAPBy5Pw/39bgkb/ZAFwMhwJbdYBp6aH+vW28ZgtjdU890Q7D+3wN/tB8N66q5Gi2A==} + /chrome-launcher/0.15.0: + resolution: {integrity: sha512-ZQqX5kb9H0+jy1OqLnWampfocrtSZaGl7Ny3F9GRha85o4odbL8x55paUzh51UC7cEmZ5obp3H2Mm70uC2PpRA==} + engines: {node: '>=12.13.0'} + hasBin: true dependencies: - '@types/node': 14.14.25 - escape-string-regexp: 1.0.5 + '@types/node': 14.6.4 + escape-string-regexp: 4.0.0 is-wsl: 2.2.0 lighthouse-logger: 1.2.0 - mkdirp: 0.5.5 - rimraf: 3.0.2 dev: true - /chromedriver/94.0.0: - resolution: {integrity: sha512-x4hK7R7iOyAhdLHJEcOyGBW/oa2kno6AqpHVLd+n3G7c2Vk9XcAXMz84XhNItqykJvTc6E3z/JRIT1eHYH//Eg==} + /chromedriver/99.0.0: + resolution: {integrity: sha512-pyB+5LuyZdb7EBPL3i5D5yucZUD+SlkdiUtmpjaEnLd9zAXp+SvD/hP5xF4l/ZmWvUo/1ZLxAI1YBdhazGTpgA==} engines: {node: '>=10'} hasBin: true requiresBuild: true dependencies: - '@testim/chrome-version': 1.0.7 - axios: 0.21.4 + '@testim/chrome-version': 1.1.2 + axios: 0.24.0 del: 6.0.0 extract-zip: 2.0.1 https-proxy-agent: 5.0.0 @@ -4917,22 +3900,16 @@ packages: resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} dev: true - /ci-parallel-vars/1.0.1: - resolution: {integrity: sha512-uvzpYrpmidaoxvIQHM+rKSrigjOe9feHYbw4uOI2gdfe1C3xIlxO+kVXq83WQWNniTf8bAxVpy+cQeFQsMERKg==} + /ci-info/3.3.0: + resolution: {integrity: sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw==} dev: true - /cjs-module-lexer/0.6.0: - resolution: {integrity: sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw==} + /ci-parallel-vars/1.0.1: + resolution: {integrity: sha512-uvzpYrpmidaoxvIQHM+rKSrigjOe9feHYbw4uOI2gdfe1C3xIlxO+kVXq83WQWNniTf8bAxVpy+cQeFQsMERKg==} dev: true - /class-utils/0.3.6: - resolution: {integrity: sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==} - engines: {node: '>=0.10.0'} - dependencies: - arr-union: 3.1.0 - define-property: 0.2.5 - isobject: 3.0.1 - static-extend: 0.1.2 + /cjs-module-lexer/1.2.2: + resolution: {integrity: sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==} dev: true /clean-stack/2.2.0: @@ -4940,6 +3917,13 @@ packages: engines: {node: '>=6'} dev: true + /clean-stack/4.1.0: + resolution: {integrity: sha512-dxXQYI7mfQVcaF12s6sjNFoZ6ZPDQuBBLp3QJ5156k9EvUFClUoZ11fo8HnLQO241DDVntHEug8MOuFO5PSfRg==} + engines: {node: '>=12'} + 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'} @@ -4962,12 +3946,12 @@ packages: engines: {node: '>=6'} dev: true - /cli-truncate/2.1.0: - resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==} - engines: {node: '>=8'} + /cli-truncate/3.1.0: + resolution: {integrity: sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: - slice-ansi: 3.0.0 - string-width: 4.2.0 + slice-ansi: 5.0.0 + string-width: 5.1.0 dev: true /cli-width/3.0.0: @@ -4975,19 +3959,11 @@ packages: engines: {node: '>= 10'} dev: true - /cliui/6.0.0: - resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} - dependencies: - string-width: 4.2.0 - strip-ansi: 6.0.0 - wrap-ansi: 6.2.0 - dev: true - /cliui/7.0.4: resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} dependencies: - string-width: 4.2.0 - strip-ansi: 6.0.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 wrap-ansi: 7.0.0 dev: true @@ -5028,11 +4004,11 @@ packages: engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} dev: true - /code-excerpt/3.0.0: - resolution: {integrity: sha512-VHNTVhd7KsLGOqfX3SyeO8RyYPMp1GJOg194VITk04WMYCv4plV68YWe6TJZxd9MhobjtpMRnVky01gqZsalaw==} - engines: {node: '>=10'} + /code-excerpt/4.0.0: + resolution: {integrity: sha512-xxodCmBen3iy2i0WtAK8FlFNrRzjUqjRsMfho58xT/wvZU1YTM3fCnRjcy1gJPMepaRlgm/0e6w8SpWHpn3/cA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: - convert-to-spaces: 1.0.2 + convert-to-spaces: 2.0.1 dev: true /code-point-at/1.1.0: @@ -5044,14 +4020,6 @@ packages: resolution: {integrity: sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==} dev: true - /collection-visit/1.0.0: - resolution: {integrity: sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=} - engines: {node: '>=0.10.0'} - dependencies: - map-visit: 1.0.0 - object-visit: 1.0.1 - dev: true - /color-convert/1.9.3: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} dependencies: @@ -5073,10 +4041,6 @@ packages: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} dev: true - /colorette/1.2.2: - resolution: {integrity: sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==} - dev: true - /colors/1.4.0: resolution: {integrity: sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==} engines: {node: '>=0.1.90'} @@ -5105,28 +4069,14 @@ packages: resolution: {integrity: sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=} dev: true - /compatfactory/0.0.7_typescript@4.3.5: - resolution: {integrity: sha512-O11m9rzI6B8NEVf+u2kVt7dNf5oy8kaEp6i8r3cj8UVsT58zxW0jEABcyijoEcCwqNrJQvn2gSJ/XMLadLQEoQ==} + /compatfactory/0.0.12_typescript@4.6.2: + resolution: {integrity: sha512-DD5S1s2mIoVIpYfhCqNZPbOFlt9JDLkXc4d8fAZaeWWIsl7w3bmVS0HNlUkU2SB6iZOdXOjYZgeJZClmL1xnRg==} engines: {node: '>=10.0.0'} peerDependencies: typescript: '>=3.x || >= 4.x' dependencies: - helpertypes: 0.0.2 - typescript: 4.3.5 - dev: true - - /compatfactory/0.0.8_typescript@4.3.5: - resolution: {integrity: sha512-0XBP2rWr98/ONiNqaNfJU9vxtbZ0GokxFFoc1aQIWl85aimUjUfJhIWKDsbJ3rEpHKlFFmHX1EzVziwR+Cg0Ww==} - engines: {node: '>=10.0.0'} - peerDependencies: - typescript: '>=3.x || >= 4.x' - dependencies: - helpertypes: 0.0.3 - typescript: 4.3.5 - dev: true - - /component-emitter/1.3.0: - resolution: {integrity: sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==} + helpertypes: 0.0.17 + typescript: 4.6.2 dev: true /compress-commons/4.0.2: @@ -5143,8 +4093,8 @@ packages: resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=} dev: true - /concordance/5.0.1: - resolution: {integrity: sha512-TbNtInKVElgEBnJ1v2Xg+MFX2lvFLbmlv3EuSC5wTfCwpB8kC3w3mffF6cKuUhkn475Ym1f1I4qmuXzx2+uXpw==} + /concordance/5.0.4: + resolution: {integrity: sha512-OAcsnTEYu1ARJqWVGwf4zh4JDfHZEaSNlNccFmt8YjB2l/n19/PF2viLINHc57vO4FKIAFl2FWASIGZZWZ2Kxw==} engines: {node: '>=10.18.0 <11 || >=12.14.0 <13 || >=14'} dependencies: date-time: 3.1.0 @@ -5153,29 +4103,10 @@ packages: js-string-escape: 1.0.1 lodash: 4.17.21 md5-hex: 3.0.1 - semver: 7.3.4 + semver: 7.3.5 well-known-symbols: 2.0.0 dev: true - /config-chain/1.1.12: - resolution: {integrity: sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA==} - dependencies: - ini: 1.3.8 - proto-list: 1.2.4 - dev: true - - /configstore/5.0.1: - resolution: {integrity: sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==} - engines: {node: '>=8'} - dependencies: - dot-prop: 5.3.0 - graceful-fs: 4.2.4 - make-dir: 3.1.0 - unique-string: 2.0.0 - write-file-atomic: 3.0.3 - xdg-basedir: 4.0.0 - dev: true - /console-control-strings/1.1.0: resolution: {integrity: sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=} dev: true @@ -5184,7 +4115,7 @@ packages: resolution: {integrity: sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==} dependencies: no-case: 3.0.4 - tslib: 2.3.0 + tslib: 2.3.1 upper-case: 2.0.2 dev: true @@ -5206,9 +4137,9 @@ packages: safe-buffer: 5.1.2 dev: true - /convert-to-spaces/1.0.2: - resolution: {integrity: sha1-fj5Iu+bZl7FBfdyihoIEtNPYVxU=} - engines: {node: '>= 4'} + /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 /cookie-signature/1.0.6: @@ -5220,29 +4151,18 @@ packages: engines: {node: '>= 0.6'} dev: true - /copy-descriptor/0.1.1: - resolution: {integrity: sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=} - engines: {node: '>=0.10.0'} - dev: true - - /core-assert/0.2.1: - resolution: {integrity: sha1-+F4s+b/tKPdzzIs/pcW2m9wC/j8=} - engines: {node: '>=0.10.0'} - dependencies: - buf-compare: 1.0.1 - is-error: 2.2.2 + /core-util-is/1.0.2: + resolution: {integrity: sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=} dev: true - /core-js-compat/3.16.0: - resolution: {integrity: sha512-5D9sPHCdewoUK7pSUPfTF7ZhLh8k9/CoJXWUEo+F1dZT5Z1DVgcuRqUKhjeKW+YLb8f21rTFgWwQJiNw1hoZ5Q==} + /cpu-features/0.0.2: + resolution: {integrity: sha512-/2yieBqvMcRj8McNzkycjW2v3OIUOibBfd2dLEJ0nWts8NobAxwiyw9phVNS6oDL8x8tz9F7uNVFEVpJncQpeA==} + engines: {node: '>=8.0.0'} + requiresBuild: true dependencies: - browserslist: 4.16.6 - semver: 7.0.0 - dev: true - - /core-util-is/1.0.2: - resolution: {integrity: sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=} + nan: 2.15.0 dev: true + optional: true /crc-32/1.2.0: resolution: {integrity: sha512-1uBwHxF+Y/4yF5G48fwnKq6QsIXheor3ZLPT80yGBV1oEUwpPojlEhQbWKVw1VwcTQyMGHK1/XMmTjmlsmTTGA==} @@ -5265,18 +4185,18 @@ packages: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} dev: true - /cross-spawn/4.0.2: - resolution: {integrity: sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=} + /cross-fetch/3.1.5: + resolution: {integrity: sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==} dependencies: - lru-cache: 4.1.5 - which: 1.3.1 + node-fetch: 2.6.7 + transitivePeerDependencies: + - encoding dev: true - /cross-spawn/5.1.0: - resolution: {integrity: sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=} + /cross-spawn/4.0.2: + resolution: {integrity: sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=} dependencies: lru-cache: 4.1.5 - shebang-command: 1.2.0 which: 1.3.1 dev: true @@ -5300,22 +4220,17 @@ packages: which: 2.0.2 dev: true - /crosspath/0.0.9: - resolution: {integrity: sha512-lhDiWhqHk1IQ0BiGN9/Ji7qEr9LwCG8taDCTgihII/6b91my+GvTNXDB7eKh/FySz488tkt2IboqBJTSZtc4Fw==} + /crosspath/1.0.0: + resolution: {integrity: sha512-mpjkSErNO6vioL/Cde2aF4UBysPFEMyn+1AN1t7Oc4yqvzSRWe8iBte4P8BHyjo64OmC+ZBxwjIqmpSpIWiQ7Q==} engines: {node: '>=10.0.0'} dependencies: - '@types/node': 15.14.5 + '@types/node': 16.11.21 dev: true /crypt/0.0.2: resolution: {integrity: sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs=} dev: false - /crypto-random-string/2.0.0: - resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==} - engines: {node: '>=8'} - dev: true - /css-shorthand-properties/1.1.1: resolution: {integrity: sha512-Md+Juc7M3uOdbAFwOYlTrccIZ7oCFuzrhKYQjdeUEW/sE1hv17Jp/Bws+ReOPpGVBTYCBoYo+G17V5Qo8QQ75A==} dev: true @@ -5359,7 +4274,7 @@ packages: dependencies: abab: 2.0.5 whatwg-mimetype: 2.3.0 - whatwg-url: 8.4.0 + whatwg-url: 8.7.0 dev: true /date-time/3.1.0: @@ -5387,13 +4302,16 @@ packages: ms: 2.1.2 dev: true - /debuglog/1.0.1: - resolution: {integrity: sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI=} - dev: true - - /decamelize/1.2.0: - resolution: {integrity: sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=} - engines: {node: '>=0.10.0'} + /debug/4.3.3: + resolution: {integrity: sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 dev: true /decimal.js/10.2.1: @@ -5465,28 +4383,20 @@ packages: decompress-tarbz2: 4.1.1 decompress-targz: 4.1.1 decompress-unzip: 4.0.1 - graceful-fs: 4.2.4 + graceful-fs: 4.2.9 make-dir: 1.3.0 pify: 2.3.0 strip-dirs: 2.1.0 dev: true - /deep-extend/0.6.0: - resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} - engines: {node: '>=4.0.0'} + /dedent/0.7.0: + resolution: {integrity: sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=} dev: true /deep-is/0.1.3: resolution: {integrity: sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=} dev: true - /deep-strict-equal/0.2.0: - resolution: {integrity: sha1-SgeBR6irV/ag1PVUckPNIvROtOQ=} - engines: {node: '>=0.10.0'} - dependencies: - core-assert: 0.2.1 - dev: true - /deepmerge/4.2.2: resolution: {integrity: sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==} engines: {node: '>=0.10.0'} @@ -5498,10 +4408,6 @@ packages: clone: 1.0.4 dev: true - /defer-to-connect/1.1.3: - resolution: {integrity: sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==} - dev: true - /defer-to-connect/2.0.0: resolution: {integrity: sha512-bYL2d05vOSf1JEZNx5vSAtPuBMkX8K9EUutg7zlKvTqKXHt7RhWJFbmd7qakVuf13i+IkGmp6FwSsONOf6VYIg==} engines: {node: '>=10'} @@ -5513,35 +4419,13 @@ packages: object-keys: 1.1.1 dev: true - /define-property/0.2.5: - resolution: {integrity: sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=} - engines: {node: '>=0.10.0'} - dependencies: - is-descriptor: 0.1.6 - dev: true - - /define-property/1.0.0: - resolution: {integrity: sha1-dp66rz9KY6rTr56NMEybvnm/sOY=} - engines: {node: '>=0.10.0'} - dependencies: - is-descriptor: 1.0.2 - dev: true - - /define-property/2.0.2: - resolution: {integrity: sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==} - engines: {node: '>=0.10.0'} - dependencies: - is-descriptor: 1.0.2 - isobject: 3.0.1 - dev: true - /del/6.0.0: resolution: {integrity: sha512-1shh9DQ23L16oXSZKB2JxpL7iMy2E0S9d517ptA1P8iw0alkPtQcrKH7ru31rYtKwF499HkTu+DRzq3TCKDFRQ==} engines: {node: '>=10'} dependencies: - globby: 11.0.1 + globby: 11.1.0 graceful-fs: 4.2.4 - is-glob: 4.0.1 + is-glob: 4.0.3 is-path-cwd: 2.2.0 is-path-inside: 3.0.2 p-map: 4.0.0 @@ -5572,50 +4456,47 @@ packages: resolution: {integrity: sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=} dev: true - /detect-libc/1.0.3: - resolution: {integrity: sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=} - engines: {node: '>=0.10'} - hasBin: true - dev: true - /detect-newline/3.1.0: resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} engines: {node: '>=8'} dev: true - /devtools-protocol/0.0.818844: - resolution: {integrity: sha512-AD1hi7iVJ8OD0aMLQU5VK0XH9LDlA1+BcPIgrAxPfaibx2DbWucuyOhc4oyQCbnvDDO68nN6/LcKfqTP343Jjg==} + /devtools-protocol/0.0.969999: + resolution: {integrity: sha512-6GfzuDWU0OFAuOvBokXpXPLxjOJ5DZ157Ue3sGQQM3LgAamb8m0R0ruSfN0DDu+XG5XJgT50i6zZ/0o8RglreQ==} dev: true - /devtools/6.12.1: - resolution: {integrity: sha512-JyG46suEiZmld7/UVeogkCWM0zYGt+2ML/TI+SkEp+bTv9cs46cDb0pKF3glYZJA7wVVL2gC07Ic0iCxyJEnCQ==} - engines: {node: '>=10.0.0'} + /devtools-protocol/0.0.982423: + resolution: {integrity: sha512-FnVW2nDbjGNw1uD/JRC+9U5768W7e1TfUwqbDTcSsAu1jXFjITSX8w3rkW5FEpHRMPPGpvNSmO1pOpqByiWscA==} + dev: true + + /devtools/7.19.3_typescript@4.6.2: + resolution: {integrity: sha512-c37izE7ZJLcOi1ksbvJOYQEetCbAXoXOG0nm3LnVHyuZFc5iquYdzOws1VWupkRVDJhE+0RWt8rotJijf09lHw==} + engines: {node: '>=12.0.0'} dependencies: - '@wdio/config': 6.12.1 - '@wdio/logger': 6.10.10 - '@wdio/protocols': 6.12.0 - '@wdio/utils': 6.11.0 - chrome-launcher: 0.13.4 + '@types/node': 17.0.22 + '@types/ua-parser-js': 0.7.36 + '@wdio/config': 7.19.1_typescript@4.6.2 + '@wdio/logger': 7.19.0 + '@wdio/protocols': 7.19.0 + '@wdio/types': 7.19.1_typescript@4.6.2 + '@wdio/utils': 7.19.3_typescript@4.6.2 + chrome-launcher: 0.15.0 edge-paths: 2.1.0 - puppeteer-core: 5.5.0 - ua-parser-js: 0.7.23 + puppeteer-core: 13.5.1 + query-selector-shadow-dom: 1.0.0 + ua-parser-js: 1.0.2 uuid: 8.3.2 transitivePeerDependencies: - bufferutil + - encoding - supports-color + - typescript - utf-8-validate dev: true - /dezalgo/1.0.3: - resolution: {integrity: sha1-f3Qt4Gb8dIvI24IFad3c5Jvw1FY=} - dependencies: - asap: 2.0.6 - wrappy: 1.0.2 - dev: true - - /diff-sequences/26.6.2: - resolution: {integrity: sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==} - engines: {node: '>= 10.14.2'} + /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/4.0.2: @@ -5623,6 +4504,11 @@ packages: engines: {node: '>=0.3.1'} dev: true + /diff/5.0.0: + resolution: {integrity: sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==} + engines: {node: '>=0.3.1'} + dev: true + /dir-glob/3.0.1: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} @@ -5630,23 +4516,23 @@ packages: path-type: 4.0.0 dev: true - /docker-modem/2.1.4: - resolution: {integrity: sha512-vDTzZjjO1sXMY7m0xKjGdFMMZL7vIUerkC3G4l6rnrpOET2M6AOufM8ajmQoOB+6RfSn6I/dlikCUq/Y91Q1sQ==} + /docker-modem/3.0.3: + resolution: {integrity: sha512-Tgkn2a+yiNP9FoZgMa/D9Wk+D2Db///0KOyKSYZRJa8w4+DzKyzQMkczKSdR/adQ0x46BOpeNkoyEOKjPhCzjw==} engines: {node: '>= 8.0'} dependencies: - debug: 4.3.1 + debug: 4.3.3 readable-stream: 3.6.0 split-ca: 1.0.1 - ssh2: 0.8.9 + ssh2: 1.5.0 transitivePeerDependencies: - supports-color dev: true - /dockerode/3.2.1: - resolution: {integrity: sha512-XsSVB5Wu5HWMg1aelV5hFSqFJaKS5x1aiV/+sT7YOzOq1IRl49I/UwV8Pe4x6t0iF9kiGkWu5jwfvbkcFVupBw==} + /dockerode/3.3.1: + resolution: {integrity: sha512-AS2mr8Lp122aa5n6d99HkuTNdRV1wkkhHwBdcnY6V0+28D3DSYwhxAk85/mM9XwD3RMliTxyr63iuvn5ZblFYQ==} engines: {node: '>= 8.0'} dependencies: - docker-modem: 2.1.4 + docker-modem: 3.0.3 tar-fs: 2.0.1 transitivePeerDependencies: - supports-color @@ -5670,32 +4556,24 @@ packages: resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} dependencies: no-case: 3.0.4 - tslib: 2.3.0 - dev: true - - /dot-prop/5.3.0: - resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==} - engines: {node: '>=8'} - dependencies: - is-obj: 2.0.0 + tslib: 2.3.1 dev: true - /download/7.1.0: - resolution: {integrity: sha512-xqnBTVd/E+GxJVrX5/eUJiLYjCGPwMpdL+jGhGU57BvtcA7wwhtHVbXBeUk51kOpW3S7Jn3BQbN9Q1R1Km2qDQ==} - engines: {node: '>=6'} + /download/8.0.0: + resolution: {integrity: sha512-ASRY5QhDk7FK+XrQtQyvhpDKanLluEEQtWl/J7Lxuf/b+i8RYh997QeXvL85xitrmRKVlx9c7eTrcRdq2GS4eA==} + engines: {node: '>=10'} dependencies: archive-type: 4.0.0 - caw: 2.0.1 content-disposition: 0.5.3 decompress: 4.2.1 ext-name: 5.0.0 - file-type: 8.1.0 - filenamify: 2.1.0 - get-stream: 3.0.0 + file-type: 11.1.0 + filenamify: 3.0.0 + get-stream: 4.1.0 got: 8.3.2 - make-dir: 1.3.0 + make-dir: 2.1.0 p-event: 2.3.1 - pify: 3.0.0 + pify: 4.0.1 dev: true /duplexer/0.1.1: @@ -5710,6 +4588,10 @@ packages: resolution: {integrity: sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=} dev: true + /eastasianwidth/0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + dev: true + /easy-table/1.1.1: resolution: {integrity: sha512-C9Lvm0WFcn2RgxbMnTbXZenMIWcBtkzMr+dWqq/JsVoGFSVUVlPqeOa5LP5kM0I3zoOazFpckOEb2/0LDFfToQ==} dependencies: @@ -5741,12 +4623,17 @@ packages: jake: 10.8.2 dev: true - /electron-to-chromium/1.3.793: - resolution: {integrity: sha512-l9NrGV6Mr4ov5mayYPvIWcwklNw5ROmy6rllzz9dCACw9nKE5y+s5uQk+CBJMetxrWZ6QJFsvEfG6WDcH2IGUg==} + /electron-to-chromium/1.4.51: + resolution: {integrity: sha512-JNEmcYl3mk1tGQmy0EvL5eik/CKSBuzAyGP0QFdG6LIgxQe3II0BL1m2zKc2MZMf3uGqHWE1TFddJML0RpjSHQ==} dev: true - /emittery/0.7.2: - resolution: {integrity: sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ==} + /emittery/0.10.1: + resolution: {integrity: sha512-OBSS9uVXbpgqEGq2V5VnpfCu9vSnfiR9eYVJmxFYToNIcWRHkM4BAFbJe/PWjf/pQdEL7OPxd2jOW/bJiyX7gg==} + engines: {node: '>=12'} + dev: true + + /emittery/0.8.1: + resolution: {integrity: sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==} engines: {node: '>=10'} dev: true @@ -5758,6 +4645,10 @@ packages: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} dev: true + /emoji-regex/9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + dev: true + /encodeurl/1.0.2: resolution: {integrity: sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=} engines: {node: '>= 0.8'} @@ -5765,6 +4656,7 @@ packages: /encoding/0.1.13: resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==} + requiresBuild: true dependencies: iconv-lite: 0.6.2 dev: true @@ -5782,25 +4674,13 @@ packages: lodash: 4.17.21 dev: true - /enquirer/2.3.6: - resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==} - engines: {node: '>=8.6'} - dependencies: - ansi-colors: 4.1.1 - dev: true - /env-paths/2.2.0: resolution: {integrity: sha512-6u0VYSCo/OW6IoD5WCLLy9JUGARbamfSavcNXry/eu8aHVFei6CD3Sw+VGX5alea1i9pgPHW0mbu6Xj0uBh7gA==} engines: {node: '>=6'} dev: true - /equal-length/1.0.1: - resolution: {integrity: sha1-IcoRLUirJLTh5//A5TOdMf38J0w=} - engines: {node: '>=4'} - dev: true - - /err-code/1.1.2: - resolution: {integrity: sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=} + /err-code/2.0.3: + resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==} dev: true /error-ex/1.3.2: @@ -5843,11 +4723,6 @@ packages: engines: {node: '>=6'} dev: true - /escape-goat/2.1.1: - resolution: {integrity: sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==} - engines: {node: '>=8'} - dev: true - /escape-html/1.0.3: resolution: {integrity: sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=} dev: true @@ -5867,34 +4742,38 @@ packages: engines: {node: '>=10'} dev: true - /escodegen/1.14.3: - resolution: {integrity: sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==} - engines: {node: '>=4.0'} + /escape-string-regexp/5.0.0: + resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} + engines: {node: '>=12'} + dev: true + + /escodegen/2.0.0: + resolution: {integrity: sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==} + engines: {node: '>=6.0'} hasBin: true dependencies: esprima: 4.0.1 - estraverse: 4.3.0 + estraverse: 5.2.0 esutils: 2.0.3 optionator: 0.8.3 optionalDependencies: source-map: 0.6.1 dev: true - /eslint-plugin-ava/11.0.0_eslint@7.16.0: - resolution: {integrity: sha512-UMGedfl/gIKx1tzjGtAsTSJgowyAEZU2VWmpoWXYcuuV4B2H4Cu90yuMgMPEVt1mQlIZ21L7YM2CSpHUFJo/LQ==} - engines: {node: '>=10.18.0 <11 || >=12.14.0 <13 || >=14'} + /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.7.0' + eslint: '>=7.22.0' dependencies: - deep-strict-equal: 0.2.0 enhance-visitors: 1.0.0 - eslint: 7.16.0 - eslint-utils: 2.1.0 - espree: 7.3.1 - espurify: 2.0.1 + eslint: 8.11.0 + eslint-utils: 3.0.0_eslint@8.11.0 + espree: 9.3.0 + espurify: 2.1.1 import-modules: 2.1.0 micro-spelling-correcter: 1.1.1 - pkg-dir: 4.2.0 + pkg-dir: 5.0.0 resolve-from: 5.0.0 dev: true @@ -5906,16 +4785,22 @@ packages: estraverse: 4.3.0 dev: true - /eslint-utils/2.1.0: - resolution: {integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==} - engines: {node: '>=6'} + /eslint-scope/7.1.1: + resolution: {integrity: sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - eslint-visitor-keys: 1.3.0 + esrecurse: 4.3.0 + estraverse: 5.2.0 dev: true - /eslint-visitor-keys/1.3.0: - resolution: {integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==} - engines: {node: '>=4'} + /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' + dependencies: + eslint: 8.11.0 + eslint-visitor-keys: 2.0.0 dev: true /eslint-visitor-keys/2.0.0: @@ -5923,59 +4808,76 @@ packages: engines: {node: '>=10'} dev: true - /eslint/7.16.0: - resolution: {integrity: sha512-iVWPS785RuDA4dWuhhgXTNrGxHHK3a8HLSMBgbbU59ruJDubUraXN8N5rn7kb8tG6sjg74eE0RA3YWT51eusEw==} - engines: {node: ^10.12.0 || >=12.0.0} + /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/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/8.11.0: + resolution: {integrity: sha512-/KRpd9mIRg2raGxHRGwW9ZywYNAClZrHjdueHcrVDuO3a6bj83eoTirCCk0M0yPwOjWYKHwRVRid+xK4F/GHgA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@babel/code-frame': 7.12.11 - '@eslint/eslintrc': 0.2.2 + '@eslint/eslintrc': 1.2.1 + '@humanwhocodes/config-array': 0.9.2 ajv: 6.12.6 - chalk: 4.1.0 + chalk: 4.1.2 cross-spawn: 7.0.3 - debug: 4.3.1 + debug: 4.3.3 doctrine: 3.0.0 - enquirer: 2.3.6 - eslint-scope: 5.1.1 - eslint-utils: 2.1.0 - eslint-visitor-keys: 2.0.0 - espree: 7.3.1 - esquery: 1.3.1 + 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 esutils: 2.0.3 - file-entry-cache: 6.0.0 + fast-deep-equal: 3.1.3 + file-entry-cache: 6.0.1 functional-red-black-tree: 1.0.1 - glob-parent: 5.1.1 - globals: 12.4.0 - ignore: 4.0.6 + glob-parent: 6.0.2 + globals: 13.12.0 + ignore: 5.2.0 import-fresh: 3.3.0 imurmurhash: 0.1.4 - is-glob: 4.0.1 - js-yaml: 3.14.1 + is-glob: 4.0.3 + js-yaml: 4.1.0 json-stable-stringify-without-jsonify: 1.0.1 levn: 0.4.1 - lodash: 4.17.21 + lodash.merge: 4.6.2 minimatch: 3.0.4 natural-compare: 1.4.0 optionator: 0.9.1 - progress: 2.0.3 - regexpp: 3.1.0 - semver: 7.3.4 - strip-ansi: 6.0.0 + regexpp: 3.2.0 + strip-ansi: 6.0.1 strip-json-comments: 3.1.1 - table: 6.0.4 text-table: 0.2.0 v8-compile-cache: 2.2.0 transitivePeerDependencies: - supports-color dev: true - /espree/7.3.1: - resolution: {integrity: sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==} - engines: {node: ^10.12.0 || >=12.0.0} + /espree/9.3.0: + resolution: {integrity: sha512-d/5nCsb0JcqsSEeQzFZ8DH1RmxPcglRWh24EFTlUEmCKoehXGdpsx0RkHDubqUI8LSAIKMQp4r9SzQ3n+sm4HQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - acorn: 7.4.1 - acorn-jsx: 5.3.1_acorn@7.4.1 - eslint-visitor-keys: 1.3.0 + 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} + dependencies: + acorn: 8.7.0 + acorn-jsx: 5.3.1_acorn@8.7.0 + eslint-visitor-keys: 3.3.0 dev: true /esprima/4.0.1: @@ -5984,12 +4886,12 @@ packages: hasBin: true dev: true - /espurify/2.0.1: - resolution: {integrity: sha512-7w/dUrReI/QbJFHRwfomTlkQOXaB1NuCrBRn5Y26HXn5gvh18/19AgLbayVrNxXQfkckvgrJloWyvZDuJ7dhEA==} + /espurify/2.1.1: + resolution: {integrity: sha512-zttWvnkhcDyGOhSH4vO2qCBILpdCMv/MX8lp4cqgRkQoDRGK2oZxi2GfWhlP2dIXmk7BaKeOTuzbHhyC68o8XQ==} dev: true - /esquery/1.3.1: - resolution: {integrity: sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==} + /esquery/1.4.0: + resolution: {integrity: sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==} engines: {node: '>=0.10'} dependencies: estraverse: 5.2.0 @@ -6038,43 +4940,13 @@ packages: engines: {node: '>= 0.6'} dev: true - /exec-sh/0.3.4: - resolution: {integrity: sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A==} - dev: true - - /execa/0.7.0: - resolution: {integrity: sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=} - engines: {node: '>=4'} - dependencies: - cross-spawn: 5.1.0 - get-stream: 3.0.0 - is-stream: 1.1.0 - npm-run-path: 2.0.2 - p-finally: 1.0.0 - signal-exit: 3.0.3 - strip-eof: 1.0.0 - dev: true - - /execa/1.0.0: - resolution: {integrity: sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==} - engines: {node: '>=6'} - dependencies: - cross-spawn: 6.0.5 - get-stream: 4.1.0 - is-stream: 1.1.0 - npm-run-path: 2.0.2 - p-finally: 1.0.0 - signal-exit: 3.0.3 - strip-eof: 1.0.0 - dev: true - - /execa/4.1.0: - resolution: {integrity: sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==} + /execa/5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} engines: {node: '>=10'} dependencies: cross-spawn: 7.0.3 - get-stream: 5.2.0 - human-signals: 1.1.1 + get-stream: 6.0.1 + human-signals: 2.1.0 is-stream: 2.0.0 merge-stream: 2.0.0 npm-run-path: 4.0.1 @@ -6083,13 +4955,6 @@ packages: strip-final-newline: 2.0.0 dev: true - /executable/4.1.1: - resolution: {integrity: sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==} - engines: {node: '>=4'} - dependencies: - pify: 2.3.0 - dev: true - /exit-on-epipe/1.0.1: resolution: {integrity: sha512-h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw==} engines: {node: '>=0.8'} @@ -6100,36 +4965,21 @@ packages: engines: {node: '>= 0.8.0'} dev: true - /expand-brackets/2.1.4: - resolution: {integrity: sha1-t3c14xXOMPa27/D4OwQVGiJEliI=} - engines: {node: '>=0.10.0'} - dependencies: - debug: 2.6.9 - define-property: 0.2.5 - extend-shallow: 2.0.1 - posix-character-classes: 0.1.1 - regex-not: 1.0.2 - snapdragon: 0.8.2 - to-regex: 3.0.2 - dev: true - - /expect-webdriverio/1.4.1: - resolution: {integrity: sha512-b7UGC2Ye0uKTM0giLhqVJvBuVkboxO24YQT6tRkYS6Y54TM+VMjrfNiCOYDnC2JtFwr/c2s0tfMwBD0saZ8kFA==} + /expect-webdriverio/3.2.0: + resolution: {integrity: sha512-NZplTSIrLVMs0CfBgiX936n9jRzucckvt+2Ecct2ki80s3bAS/uy253w+aPbXlginKygdeT5bNs0Tfmo8ZR88Q==} dependencies: - expect: 26.6.2 - jest-matcher-utils: 26.6.2 + expect: 27.5.1 + jest-matcher-utils: 27.5.1 dev: true - /expect/26.6.2: - resolution: {integrity: sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA==} - engines: {node: '>= 10.14.2'} + /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} dependencies: - '@jest/types': 26.6.2 - ansi-styles: 4.3.0 - jest-get-type: 26.3.0 - jest-matcher-utils: 26.6.2 - jest-message-util: 26.6.2 - jest-regex-util: 26.0.0 + '@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 /express/4.17.1: @@ -6183,21 +5033,6 @@ packages: sort-keys-length: 1.0.1 dev: true - /extend-shallow/2.0.1: - resolution: {integrity: sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=} - engines: {node: '>=0.10.0'} - dependencies: - is-extendable: 0.1.1 - dev: true - - /extend-shallow/3.0.2: - resolution: {integrity: sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=} - engines: {node: '>=0.10.0'} - dependencies: - assign-symbols: 1.0.0 - is-extendable: 1.0.1 - dev: true - /extend/3.0.2: resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} dev: true @@ -6211,26 +5046,12 @@ packages: tmp: 0.0.33 dev: true - /extglob/2.0.4: - resolution: {integrity: sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==} - engines: {node: '>=0.10.0'} - dependencies: - array-unique: 0.3.2 - define-property: 1.0.0 - expand-brackets: 2.1.4 - extend-shallow: 2.0.1 - fragment-cache: 0.2.1 - regex-not: 1.0.2 - snapdragon: 0.8.2 - to-regex: 3.0.2 - dev: true - /extract-zip/2.0.1: resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==} engines: {node: '>= 10.17.0'} hasBin: true dependencies: - debug: 4.3.1 + debug: 4.3.3 get-stream: 5.2.0 yauzl: 2.10.0 optionalDependencies: @@ -6256,16 +5077,15 @@ packages: resolution: {integrity: sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==} dev: true - /fast-glob/3.2.4: - resolution: {integrity: sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ==} - engines: {node: '>=8'} + /fast-glob/3.2.11: + resolution: {integrity: sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==} + engines: {node: '>=8.6.0'} dependencies: '@nodelib/fs.stat': 2.0.3 '@nodelib/fs.walk': 1.2.4 - glob-parent: 5.1.1 + glob-parent: 5.1.2 merge2: 1.4.1 - micromatch: 4.0.2 - picomatch: 2.2.2 + micromatch: 4.0.4 dev: true /fast-json-stable-stringify/2.1.0: @@ -6294,14 +5114,6 @@ packages: pend: 1.2.0 dev: true - /fibers/4.0.3: - resolution: {integrity: sha512-MW5VrDtTOLpKK7lzw4qD7Z9tXaAhdOmOED5RHzg3+HjUk+ibkjVW0Py2ERtdqgTXaerLkVkBy2AEmJiT6RMyzg==} - engines: {node: '>=10.0.0'} - requiresBuild: true - dependencies: - detect-libc: 1.0.3 - dev: true - /figures/3.2.0: resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} engines: {node: '>=8'} @@ -6309,13 +5121,26 @@ packages: escape-string-regexp: 1.0.5 dev: true - /file-entry-cache/6.0.0: - resolution: {integrity: sha512-fqoO76jZ3ZnYrXLDRxBR1YvOvc0k844kcOg40bgsPrE25LAb/PDqTY+ho64Xh2c8ZXgIKldchCFHczG2UVRcWA==} + /figures/4.0.0: + resolution: {integrity: sha512-VnYcWq6H6F0qDN0QnorznBr0abEovifzUokmnezpKZBUbDmbLAt7LMryOp1TKFVxLxyNYkxEkCEADZR58U9oSw==} + engines: {node: '>=12'} + dependencies: + escape-string-regexp: 5.0.0 + is-unicode-supported: 1.1.0 + dev: true + + /file-entry-cache/6.0.1: + resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} dependencies: 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: sha1-JXoHg4TR24CHvESdEH1SpSZyuek=} engines: {node: '>=0.10.0'} @@ -6336,11 +5161,6 @@ packages: engines: {node: '>=4'} dev: true - /file-type/8.1.0: - resolution: {integrity: sha512-qyQ0pzAy78gVoJsmYeNgl8uH8yKhr1lVhW7JbzJmnlRi0I4R2eEDEJZVKG8agpDnLpacwNbDhLNG/LMdxHD2YQ==} - engines: {node: '>=6'} - dev: true - /filelist/1.0.1: resolution: {integrity: sha512-8zSK6Nu0DQIC08mUC46sWGXi+q3GGpKydAG36k+JDba6VRpkevvOWUW5a/PhShij4+vHT9M+ghgG7eM+a9JDUQ==} dependencies: @@ -6352,9 +5172,9 @@ packages: engines: {node: '>=4'} dev: true - /filenamify/2.1.0: - resolution: {integrity: sha512-ICw7NTT6RsDp2rnYKVd8Fu4cr6ITzGy3+u4vUujPkabyaz+03F24NWEX7fs5fp+kBonlaqPH8fAO2NM+SXt/JA==} - engines: {node: '>=4'} + /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 @@ -6366,16 +5186,6 @@ packages: engines: {node: '>= 0.4.0'} dev: true - /fill-range/4.0.0: - resolution: {integrity: sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=} - engines: {node: '>=0.10.0'} - dependencies: - extend-shallow: 2.0.1 - is-number: 3.0.0 - repeat-string: 1.6.1 - to-regex-range: 2.1.1 - dev: true - /fill-range/7.0.1: resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} engines: {node: '>=8'} @@ -6404,13 +5214,6 @@ packages: pinkie-promise: 2.0.1 dev: true - /find-up/3.0.0: - resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==} - engines: {node: '>=6'} - dependencies: - locate-path: 3.0.0 - dev: true - /find-up/4.1.0: resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} engines: {node: '>=8'} @@ -6419,23 +5222,32 @@ packages: path-exists: 4.0.0 dev: true - /find-versions/3.2.0: - resolution: {integrity: sha512-P8WRou2S+oe222TOCHitLy8zj+SIsVJh52VP4lvXkaFVnOFFdoWv1H1Jjvel1aI6NCFOAaeAVm8qrI0odiLcww==} - engines: {node: '>=6'} + /find-up/5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + 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: - semver-regex: 2.0.0 + locate-path: 7.0.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} dependencies: - flatted: 3.1.0 + flatted: 3.2.4 rimraf: 3.0.2 dev: true - /flatted/3.1.0: - resolution: {integrity: sha512-tW+UkmtNg/jv9CSofAKvgVcO7c2URjhTdW1ZTkcAritblu8tajiYy7YisnIflEwtKssCtOxpnBRoCB7iap0/TA==} + /flatted/3.2.4: + resolution: {integrity: sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw==} dev: true /follow-redirects/1.14.5: @@ -6448,11 +5260,6 @@ packages: optional: true dev: true - /for-in/1.0.2: - resolution: {integrity: sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=} - engines: {node: '>=0.10.0'} - dev: true - /forever-agent/0.6.1: resolution: {integrity: sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=} dev: true @@ -6475,18 +5282,20 @@ packages: mime-types: 2.1.27 dev: true + /form-data/4.0.0: + resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} + engines: {node: '>= 6'} + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.27 + dev: true + /forwarded/0.1.2: resolution: {integrity: sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=} engines: {node: '>= 0.6'} dev: true - /fragment-cache/0.2.1: - resolution: {integrity: sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=} - engines: {node: '>=0.10.0'} - dependencies: - map-cache: 0.2.2 - dev: true - /fresh/0.5.2: resolution: {integrity: sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=} engines: {node: '>= 0.6'} @@ -6503,14 +5312,23 @@ packages: resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} dev: true - /fs-extra/9.0.1: - resolution: {integrity: sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==} + /fs-extra/10.0.1: + resolution: {integrity: sha512-NbdoVMZso2Lsrn/QwLXOy6rm0ufY2zEOKCDzJR/0kBsb0E6qed0P3iYK+Ath3BfvXEeu4JhEtXLgILx5psUfag==} + engines: {node: '>=12'} + dependencies: + graceful-fs: 4.2.9 + jsonfile: 6.1.0 + universalify: 2.0.0 + dev: true + + /fs-extra/9.1.0: + resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} engines: {node: '>=10'} dependencies: at-least-node: 1.0.0 - graceful-fs: 4.2.4 + graceful-fs: 4.2.9 jsonfile: 6.1.0 - universalify: 1.0.0 + universalify: 2.0.0 dev: true /fs-minipass/2.1.0: @@ -6524,25 +5342,11 @@ packages: resolution: {integrity: sha1-FQStJSMVjKpA20onh8sBQRmU6k8=} dev: true - /fsevents/2.1.3: - resolution: {integrity: sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - deprecated: '"Please update to latest v2.3 or v2.2"' - dev: true - optional: true - - /fsevents/2.2.1: - resolution: {integrity: sha512-bTLYHSeC0UH/EFXS9KqWnXuOl/wHK5Z/d+ghd5AsFMYN7wIGkUCOJyzy88+wJKkZPGON8u4Z9f6U4FdgURE9qA==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - dev: true - optional: true - /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 optional: true @@ -6602,13 +5406,6 @@ packages: engines: {node: '>=8'} dev: true - /get-proxy/2.1.0: - resolution: {integrity: sha512-zmZIaQTWnNQb4R4fJUEp/FC51eZsc6EkErspy3xtIYStaq8EB/hDIWipxsal+E8rz0qD7f2sL/NA9Xee4RInJw==} - engines: {node: '>=4'} - dependencies: - npm-conf: 1.1.3 - dev: true - /get-stream/2.3.1: resolution: {integrity: sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4=} engines: {node: '>=0.10.0'} @@ -6635,9 +5432,9 @@ packages: dependencies: pump: 3.0.0 - /get-value/2.0.6: - resolution: {integrity: sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=} - engines: {node: '>=0.10.0'} + /get-stream/6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} dev: true /getpass/0.1.7: @@ -6646,11 +5443,18 @@ packages: assert-plus: 1.0.0 dev: true - /glob-parent/5.1.1: - resolution: {integrity: sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==} + /glob-parent/5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} dependencies: - is-glob: 4.0.1 + is-glob: 4.0.3 + dev: true + + /glob-parent/6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + dependencies: + is-glob: 4.0.3 dev: true /glob/7.1.6: @@ -6664,11 +5468,15 @@ packages: path-is-absolute: 1.0.1 dev: true - /global-dirs/2.1.0: - resolution: {integrity: sha512-MG6kdOUh/xBnyo9cJFeIKkLEc1AyFq42QTU4XiX51i2NEdxLxLWXIjEjmqKeSuKR7pAZjTqUVoT2b2huxVLgYQ==} - engines: {node: '>=8'} + /glob/7.2.0: + resolution: {integrity: sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==} dependencies: - ini: 1.3.7 + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.0.4 + once: 1.4.0 + path-is-absolute: 1.0.1 dev: true /globals/11.12.0: @@ -6676,31 +5484,42 @@ packages: engines: {node: '>=4'} dev: true - /globals/12.4.0: - resolution: {integrity: sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==} + /globals/13.12.0: + resolution: {integrity: sha512-uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg==} engines: {node: '>=8'} dependencies: - type-fest: 0.8.1 + type-fest: 0.20.2 dev: true - /globby/11.0.1: - resolution: {integrity: sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==} + /globby/11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} engines: {node: '>=10'} dependencies: array-union: 2.1.0 dir-glob: 3.0.1 - fast-glob: 3.2.4 - ignore: 5.1.8 + fast-glob: 3.2.11 + ignore: 5.2.0 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} + dependencies: + dir-glob: 3.0.1 + fast-glob: 3.2.11 + ignore: 5.2.0 + 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'} dependencies: glob: 7.1.6 - lodash: 4.17.20 + lodash: 4.17.21 minimatch: 3.0.4 dev: true @@ -6712,6 +5531,7 @@ packages: resolution: {integrity: sha512-byKi5ITUiWRvEIcQo76i1siVnOwrTmG+GNcBG4cJ7x8IE6+4ki9rG5pUe4+DOYHkfk52XU6XHt9aAAgCcFDKpg==} cpu: [x64, x86] os: [linux] + requiresBuild: true dev: true optional: true @@ -6719,6 +5539,7 @@ packages: resolution: {integrity: sha512-iwyAY6dGj1FrrBdmfwKXkjtTGJnqe8F+9WZbfXxiBjkWLtIsJt2dD1+q7g/sw3w8mdHrGQAdxtDZP/usMwj/Rg==} cpu: [x64, x86, arm64] os: [darwin] + requiresBuild: true dev: true optional: true @@ -6726,6 +5547,7 @@ packages: resolution: {integrity: sha512-VI+UUYwtGWDYwpiixrWRD8EklHgl6PMbiEaHxQSrQbH8PDXytwaOKqmsaH2lWYd5Y/BOZie2MzjY7F5JI69q1w==} cpu: [x64] os: [win32] + requiresBuild: true dev: true optional: true @@ -6745,11 +5567,11 @@ packages: google-closure-compiler-windows: 20210808.0.0 dev: true - /got/11.8.1: - resolution: {integrity: sha512-9aYdZL+6nHmvJwHALLwKSUZ0hMwGaJGYv3hoPLPgnT8BoBXm1SjnZeky+91tfwJaDzun2s4RsBRy48IEYv2q2Q==} + /got/11.7.0: + resolution: {integrity: sha512-7en2XwH2MEqOsrK0xaKhbWibBoZqy+f1RSUoIeF1BLcnf+pyQdDsljWMfmOh+QKJwuvDIiKx38GtPh5wFdGGjg==} engines: {node: '>=10.19.0'} dependencies: - '@sindresorhus/is': 4.0.0 + '@sindresorhus/is': 3.1.2 '@szmarczak/http-timer': 4.0.5 '@types/cacheable-request': 6.0.1 '@types/responselike': 1.0.0 @@ -6760,6 +5582,24 @@ packages: lowercase-keys: 2.0.0 p-cancelable: 2.0.0 responselike: 2.0.0 + dev: false + + /got/11.8.3: + resolution: {integrity: sha512-7gtQ5KiPh1RtGS9/Jbv1ofDpBFuq42gyfEib+ejaRBJuj/3tQFeR5+gw57e4ipaU8c/rCjvX6fkQz2lyDlGAOg==} + engines: {node: '>=10.19.0'} + 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: true /got/8.3.2: resolution: {integrity: sha512-qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw==} @@ -6784,42 +5624,23 @@ packages: url-to-options: 1.0.1 dev: true - /got/9.6.0: - resolution: {integrity: sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==} - engines: {node: '>=8.6'} - dependencies: - '@sindresorhus/is': 0.14.0 - '@szmarczak/http-timer': 1.1.2 - cacheable-request: 6.1.0 - decompress-response: 3.3.0 - duplexer3: 0.1.4 - get-stream: 4.1.0 - lowercase-keys: 1.0.1 - mimic-response: 1.0.1 - p-cancelable: 1.1.0 - to-readable-stream: 1.0.0 - url-parse-lax: 3.0.0 - dev: true - /graceful-fs/4.2.4: resolution: {integrity: sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==} dev: true - /grapheme-splitter/1.0.4: - resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} + /graceful-fs/4.2.9: + resolution: {integrity: sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==} dev: true - /growly/1.3.0: - resolution: {integrity: sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=} + /grapheme-splitter/1.0.4: + resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} dev: true - optional: true - /gzip-size/5.1.1: - resolution: {integrity: sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA==} - engines: {node: '>=6'} + /gzip-size/6.0.0: + resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==} + engines: {node: '>=10'} dependencies: duplexer: 0.1.2 - pify: 4.0.1 dev: true /har-schema/2.0.0: @@ -6872,42 +5693,6 @@ packages: resolution: {integrity: sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=} dev: true - /has-value/0.3.1: - resolution: {integrity: sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=} - engines: {node: '>=0.10.0'} - dependencies: - get-value: 2.0.6 - has-values: 0.1.4 - isobject: 2.1.0 - dev: true - - /has-value/1.0.0: - resolution: {integrity: sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=} - engines: {node: '>=0.10.0'} - dependencies: - get-value: 2.0.6 - has-values: 1.0.0 - isobject: 3.0.1 - dev: true - - /has-values/0.1.4: - resolution: {integrity: sha1-bWHeldkd/Km5oCCJrThL/49it3E=} - engines: {node: '>=0.10.0'} - dev: true - - /has-values/1.0.0: - resolution: {integrity: sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=} - engines: {node: '>=0.10.0'} - dependencies: - is-number: 3.0.0 - kind-of: 4.0.0 - dev: true - - /has-yarn/2.1.0: - resolution: {integrity: sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==} - engines: {node: '>=8'} - dev: true - /has/1.0.3: resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} engines: {node: '>= 0.4.0'} @@ -6926,16 +5711,11 @@ packages: resolution: {integrity: sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==} dependencies: capital-case: 1.0.4 - tslib: 2.3.0 + tslib: 2.3.1 dev: true - /helpertypes/0.0.2: - resolution: {integrity: sha512-PKVtWnJ+dcvPeUJRiqtbraN/Hr2rNEnS14T/IxDBb0KgHkAL5w4YwVxMEPowA9vyoMP0DrwO0TxJ+KH3UF/6YA==} - engines: {node: '>=10.0.0'} - dev: true - - /helpertypes/0.0.3: - resolution: {integrity: sha512-+cAWp4/nDChu3u8qEk0/8HkM+vjPv9Ej56IWZ/bipYhCcYrH+uVWPL0rkKIkc4R6sY+eDFa0IbFGqO40DKPftQ==} + /helpertypes/0.0.17: + resolution: {integrity: sha512-muWKRSBsqN3MzqLdh82QfV7vWWwAYvHh3On87z898X+xZ5H2tPRQ5Y6hHA3BXSE+TueztA07iw5bInjwAT3x8A==} engines: {node: '>=10.0.0'} dev: true @@ -6950,6 +5730,13 @@ packages: lru-cache: 6.0.0 dev: true + /hosted-git-info/4.1.0: + resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==} + engines: {node: '>=10'} + dependencies: + lru-cache: 6.0.0 + dev: true + /html-encoding-sniffer/2.0.1: resolution: {integrity: sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==} engines: {node: '>=10'} @@ -6996,7 +5783,7 @@ packages: dependencies: '@tootallnate/once': 1.1.2 agent-base: 6.0.2 - debug: 4.3.1 + debug: 4.3.3 transitivePeerDependencies: - supports-color dev: true @@ -7017,29 +5804,19 @@ packages: quick-lru: 5.1.1 resolve-alpn: 1.0.0 - /https-proxy-agent/4.0.0: - resolution: {integrity: sha512-zoDhWrkR3of1l9QAL8/scJZyLu8j/gBkcwcaQOZh7Gyh/+uJQzGVETdgT30akuwkpL8HTRfssqI3BZuV18teDg==} - engines: {node: '>= 6.0.0'} - dependencies: - agent-base: 5.1.1 - debug: 4.3.1 - transitivePeerDependencies: - - supports-color - dev: true - /https-proxy-agent/5.0.0: resolution: {integrity: sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==} engines: {node: '>= 6'} dependencies: agent-base: 6.0.2 - debug: 4.3.1 + debug: 4.3.3 transitivePeerDependencies: - supports-color dev: true - /human-signals/1.1.1: - resolution: {integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==} - engines: {node: '>=8.12.0'} + /human-signals/2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} dev: true /humanize-ms/1.2.1: @@ -7078,13 +5855,8 @@ packages: minimatch: 3.0.4 dev: true - /ignore/4.0.6: - resolution: {integrity: sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==} - engines: {node: '>= 4'} - dev: true - - /ignore/5.1.8: - resolution: {integrity: sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==} + /ignore/5.2.0: + resolution: {integrity: sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==} engines: {node: '>= 4'} dev: true @@ -7096,16 +5868,6 @@ packages: resolve-from: 4.0.0 dev: true - /import-lazy/2.1.0: - resolution: {integrity: sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=} - engines: {node: '>=4'} - dev: true - - /import-lazy/3.1.0: - resolution: {integrity: sha512-8/gvXvX2JMn0F+CDlSC4l6kOmVaLOO3XLkksI7CI3Ud95KDYJuYur2b9P/PUt/i/pDAMd/DulQsNbbbmRRsDIQ==} - engines: {node: '>=6'} - dev: true - /import-local/3.0.2: resolution: {integrity: sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==} engines: {node: '>=8'} @@ -7135,6 +5897,11 @@ packages: engines: {node: '>=8'} dev: true + /indent-string/5.0.0: + resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==} + engines: {node: '>=12'} + dev: true + /infer-owner/1.0.4: resolution: {integrity: sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==} dev: true @@ -7154,30 +5921,23 @@ packages: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} dev: true - /ini/1.3.7: - resolution: {integrity: sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ==} - dev: true - - /ini/1.3.8: - resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} - dev: true - - /inquirer/7.3.3: - resolution: {integrity: sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==} - engines: {node: '>=8.0.0'} + /inquirer/8.2.2: + resolution: {integrity: sha512-pG7I/si6K/0X7p1qU+rfWnpTE1UIkTONN1wxtzh0d+dHXtT/JG6qBgLxoyHVsQa8cFABxAPh0pD6uUUHiAoaow==} + engines: {node: '>=12.0.0'} dependencies: ansi-escapes: 4.3.1 - chalk: 4.1.0 + chalk: 4.1.2 cli-cursor: 3.1.0 cli-width: 3.0.0 external-editor: 3.1.0 figures: 3.2.0 lodash: 4.17.21 mute-stream: 0.0.8 + ora: 5.4.1 run-async: 2.4.1 - rxjs: 6.6.3 - string-width: 4.2.0 - strip-ansi: 6.0.0 + rxjs: 7.5.5 + string-width: 4.2.3 + strip-ansi: 6.0.1 through: 2.3.8 dev: true @@ -7189,11 +5949,6 @@ packages: p-is-promise: 1.1.0 dev: true - /ip-regex/2.1.0: - resolution: {integrity: sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=} - engines: {node: '>=4'} - dev: true - /ip-regex/4.2.0: resolution: {integrity: sha512-n5cDDeTWWRwK1EBoWwRti+8nP4NbytBBY0pldmnIkq6Z55KNFmWofh4rl9dPZpj+U/nVq7gweR3ylrvMt4YZ5A==} engines: {node: '>=8'} @@ -7208,25 +5963,11 @@ packages: engines: {node: '>= 0.10'} dev: true - /irregular-plurals/3.2.0: - resolution: {integrity: sha512-YqTdPLfwP7YFN0SsD3QUVCkm9ZG2VzOXv3DOrw5G5mkMbVwptTwVcFv7/C0vOpBmgTxAeTG19XpUs1E522LW9Q==} + /irregular-plurals/3.3.0: + resolution: {integrity: sha512-MVBLKUTangM3EfRPFROhmWQQKRDsrgI83J8GS3jXy+OwYqiR2/aoWndYQ5416jLE3uaGgLH7ncme3X9y09gZ3g==} engines: {node: '>=8'} dev: true - /is-accessor-descriptor/0.1.6: - resolution: {integrity: sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=} - engines: {node: '>=0.10.0'} - dependencies: - kind-of: 3.2.2 - dev: true - - /is-accessor-descriptor/1.0.0: - resolution: {integrity: sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==} - engines: {node: '>=0.10.0'} - dependencies: - kind-of: 6.0.3 - dev: true - /is-arrayish/0.2.1: resolution: {integrity: sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=} dev: true @@ -7238,10 +5979,6 @@ packages: binary-extensions: 2.1.0 dev: true - /is-buffer/1.1.6: - resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} - dev: true - /is-callable/1.2.3: resolution: {integrity: sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==} engines: {node: '>= 0.4'} @@ -7260,18 +5997,10 @@ packages: has: 1.0.3 dev: true - /is-data-descriptor/0.1.4: - resolution: {integrity: sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=} - engines: {node: '>=0.10.0'} - dependencies: - kind-of: 3.2.2 - dev: true - - /is-data-descriptor/1.0.0: - resolution: {integrity: sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==} - engines: {node: '>=0.10.0'} + /is-core-module/2.8.1: + resolution: {integrity: sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==} dependencies: - kind-of: 6.0.3 + has: 1.0.3 dev: true /is-date-object/1.0.2: @@ -7279,24 +6008,6 @@ packages: engines: {node: '>= 0.4'} dev: true - /is-descriptor/0.1.6: - resolution: {integrity: sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==} - engines: {node: '>=0.10.0'} - dependencies: - is-accessor-descriptor: 0.1.6 - is-data-descriptor: 0.1.4 - kind-of: 5.1.0 - dev: true - - /is-descriptor/1.0.2: - resolution: {integrity: sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==} - engines: {node: '>=0.10.0'} - dependencies: - is-accessor-descriptor: 1.0.0 - is-data-descriptor: 1.0.0 - kind-of: 6.0.3 - dev: true - /is-docker/2.1.1: resolution: {integrity: sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw==} engines: {node: '>=8'} @@ -7307,18 +6018,6 @@ packages: resolution: {integrity: sha512-IOQqts/aHWbiisY5DuPJQ0gcbvaLFCa7fBa9xoLfxBZvQ+ZI/Zh9xoI7Gk+G64N0FdK4AbibytHht2tWgpJWLg==} dev: true - /is-extendable/0.1.1: - resolution: {integrity: sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=} - engines: {node: '>=0.10.0'} - dev: true - - /is-extendable/1.0.1: - resolution: {integrity: sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==} - engines: {node: '>=0.10.0'} - dependencies: - is-plain-object: 2.0.4 - dev: true - /is-extglob/2.1.1: resolution: {integrity: sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=} engines: {node: '>=0.10.0'} @@ -7341,26 +6040,23 @@ packages: engines: {node: '>=8'} dev: true + /is-fullwidth-code-point/4.0.0: + resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} + engines: {node: '>=12'} + dev: true + /is-generator-fn/2.1.0: resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} engines: {node: '>=6'} dev: true - /is-glob/4.0.1: - resolution: {integrity: sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==} + /is-glob/4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} dependencies: is-extglob: 2.1.1 dev: true - /is-installed-globally/0.3.2: - resolution: {integrity: sha512-wZ8x1js7Ia0kecP/CHM/3ABkAmujX7WPvQk6uu3Fly/Mk44pySulQpnHG46OMjHGXApINnV4QhY3SWnECO2z5g==} - engines: {node: '>=8'} - dependencies: - global-dirs: 2.1.0 - is-path-inside: 3.0.2 - dev: true - /is-interactive/1.0.0: resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} engines: {node: '>=8'} @@ -7383,28 +6079,11 @@ packages: engines: {node: '>= 0.4'} dev: true - /is-npm/5.0.0: - resolution: {integrity: sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==} - engines: {node: '>=10'} - dev: true - - /is-number/3.0.0: - resolution: {integrity: sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=} - engines: {node: '>=0.10.0'} - dependencies: - kind-of: 3.2.2 - dev: true - /is-number/7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} dev: true - /is-obj/2.0.0: - resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} - engines: {node: '>=8'} - dev: true - /is-object/1.0.2: resolution: {integrity: sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==} dev: true @@ -7424,20 +6103,13 @@ packages: engines: {node: '>=0.10.0'} dev: true - /is-plain-object/2.0.4: - resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} - engines: {node: '>=0.10.0'} - dependencies: - isobject: 3.0.1 - dev: true - /is-plain-object/5.0.0: resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} engines: {node: '>=0.10.0'} dev: true - /is-potential-custom-element-name/1.0.0: - resolution: {integrity: sha1-DFLlS8yjkbssSUsh6GJtczbG45c=} + /is-potential-custom-element-name/1.0.1: + resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} dev: true /is-promise/4.0.0: @@ -7484,6 +6156,16 @@ packages: resolution: {integrity: sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=} dev: true + /is-unicode-supported/0.1.0: + resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} + engines: {node: '>=10'} + dev: true + + /is-unicode-supported/1.1.0: + resolution: {integrity: sha512-lDcxivp8TJpLG75/DpatAqNzOpDPSpED8XNtrpBHTdQ2InQ1PbW78jhwSxyxhhu+xbVSast2X38bwj8atwoUQA==} + engines: {node: '>=12'} + dev: true + /is-url/1.2.4: resolution: {integrity: sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==} dev: true @@ -7492,11 +6174,6 @@ packages: resolution: {integrity: sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=} dev: true - /is-windows/1.0.2: - resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} - engines: {node: '>=0.10.0'} - dev: true - /is-wsl/2.2.0: resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} engines: {node: '>=8'} @@ -7504,10 +6181,6 @@ packages: is-docker: 2.1.1 dev: true - /is-yarn-global/0.3.0: - resolution: {integrity: sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==} - dev: true - /is2/2.0.6: resolution: {integrity: sha512-+Z62OHOjA6k2sUDOKXoZI3EXv7Fb1K52jpTBLbkfx62bcUeSsrTBLhEquCRDKTx0XE5XbHcG/S2vrtE3lnEDsQ==} engines: {node: '>=v0.10.0'} @@ -7525,43 +6198,32 @@ packages: resolution: {integrity: sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=} dev: true - /isbot/3.0.26: - resolution: {integrity: sha512-y1IwTPP6pRGDmQUTrCz1bZ9ZPSmij3eWruBBIiCOARX5ueyLv58xuFxvUGg6uI0k9u1swnOmJR8DKYZbcDXLqQ==} - engines: {node: '>=10'} + /isbot/3.3.4: + resolution: {integrity: sha512-a6o/e6nBMoRGvoovg5NT2r/N7S4398yCDXc6HgEOILdBAjYv05SX1MBhgc8SHnEJdRyLfOpAPqc10ezLWkj7rQ==} + engines: {node: '>=12'} dev: true /isexe/2.0.0: resolution: {integrity: sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=} dev: true - /isobject/2.1.0: - resolution: {integrity: sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=} - engines: {node: '>=0.10.0'} - dependencies: - isarray: 1.0.0 - dev: true - - /isobject/3.0.1: - resolution: {integrity: sha1-TkMekrEalzFjaqH5yNHMvP2reN8=} - engines: {node: '>=0.10.0'} - dev: true - /isstream/0.1.2: resolution: {integrity: sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=} dev: true - /istanbul-lib-coverage/3.0.0: - resolution: {integrity: sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==} + /istanbul-lib-coverage/3.2.0: + resolution: {integrity: sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==} engines: {node: '>=8'} dev: true - /istanbul-lib-instrument/4.0.3: - resolution: {integrity: sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==} + /istanbul-lib-instrument/5.1.0: + resolution: {integrity: sha512-czwUz525rkOFDJxfKK6mYfIs9zBKILyrZQxjz3ABhjQXhbhFsSbo1HW/BFcsDnfJYJWA6thRR5/TUY2qs5W99Q==} engines: {node: '>=8'} dependencies: '@babel/core': 7.12.10 + '@babel/parser': 7.16.12 '@istanbuljs/schema': 0.1.2 - istanbul-lib-coverage: 3.0.0 + istanbul-lib-coverage: 3.2.0 semver: 6.3.0 transitivePeerDependencies: - supports-color @@ -7571,7 +6233,7 @@ packages: resolution: {integrity: sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==} engines: {node: '>=8'} dependencies: - istanbul-lib-coverage: 3.0.0 + istanbul-lib-coverage: 3.2.0 make-dir: 3.1.0 supports-color: 7.2.0 dev: true @@ -7580,15 +6242,15 @@ packages: resolution: {integrity: sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==} engines: {node: '>=8'} dependencies: - debug: 4.3.1 - istanbul-lib-coverage: 3.0.0 + debug: 4.3.3 + istanbul-lib-coverage: 3.2.0 source-map: 0.6.1 transitivePeerDependencies: - supports-color dev: true - /istanbul-reports/3.0.2: - resolution: {integrity: sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==} + /istanbul-reports/3.1.3: + resolution: {integrity: sha512-x9LtDVtfm/t1GFiLl3NffC7hz+I1ragvgX1P/Lg1NlIagifZDKUkuuaAxH/qpwj2IuEfD8G2Bs/UKp+sZ/pKkg==} engines: {node: '>=8'} dependencies: html-escaper: 2.0.2 @@ -7613,46 +6275,76 @@ packages: minimatch: 3.0.4 dev: true - /jasmine-core/3.6.0: - resolution: {integrity: sha512-8uQYa7zJN8hq9z+g8z1bqCfdC8eoDAeVnM5sfqs7KHv9/ifoJ500m018fpFc7RDaO6SWCLCXwo/wPSNcdYTgcw==} + /jasmine-core/3.10.1: + resolution: {integrity: sha512-ooZWSDVAdh79Rrj4/nnfklL3NQVra0BcuhcuWoAwwi+znLDoUeH87AFfeX8s+YeYi6xlv5nveRyaA1v7CintfA==} dev: true - /jasmine/3.6.3: - resolution: {integrity: sha512-Th91zHsbsALWjDUIiU5d/W5zaYQsZFMPTdeNmi8GivZPmAaUAK8MblSG3yQI4VMGC/abF2us7ex60NH1AAIMTA==} - engines: {node: ^10 || ^12 || ^14} + /jasmine/3.10.0: + resolution: {integrity: sha512-2Y42VsC+3CQCTzTwJezOvji4qLORmKIE0kwowWC+934Krn6ZXNQYljiwK5st9V3PVx96BSiDYXSB60VVah3IlQ==} hasBin: true dependencies: - glob: 7.1.6 - jasmine-core: 3.6.0 + glob: 7.2.0 + jasmine-core: 3.10.1 dev: true - /jest-changed-files/26.6.2: - resolution: {integrity: sha512-fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ==} - engines: {node: '>= 10.14.2'} + /jest-changed-files/27.5.1: + resolution: {integrity: sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: - '@jest/types': 26.6.2 - execa: 4.1.0 - throat: 5.0.0 + '@jest/types': 27.5.1 + execa: 5.1.1 + throat: 6.0.1 dev: true - /jest-cli/26.6.3: - resolution: {integrity: sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg==} - engines: {node: '>= 10.14.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} + dependencies: + '@jest/environment': 27.5.1 + '@jest/test-result': 27.5.1 + '@jest/types': 27.5.1 + '@types/node': 14.6.4 + chalk: 4.1.2 + co: 4.6.0 + dedent: 0.7.0 + expect: 27.5.1 + is-generator-fn: 2.1.0 + jest-each: 27.5.1 + jest-matcher-utils: 27.5.1 + jest-message-util: 27.5.1 + jest-runtime: 27.5.1 + jest-snapshot: 27.5.1 + jest-util: 27.5.1 + pretty-format: 27.5.1 + slash: 3.0.0 + stack-utils: 2.0.5 + throat: 6.0.1 + 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 dependencies: - '@jest/core': 26.6.3 - '@jest/test-result': 26.6.2 - '@jest/types': 26.6.2 - chalk: 4.1.0 + '@jest/core': 27.5.1 + '@jest/test-result': 27.5.1 + '@jest/types': 27.5.1 + chalk: 4.1.2 exit: 0.1.2 - graceful-fs: 4.2.4 + graceful-fs: 4.2.9 import-local: 3.0.2 - is-ci: 2.0.0 - jest-config: 26.6.3 - jest-util: 26.6.2 - jest-validate: 26.6.2 + jest-config: 27.5.1 + jest-util: 27.5.1 + jest-validate: 27.5.1 prompts: 2.4.0 - yargs: 15.4.1 + yargs: 16.2.0 transitivePeerDependencies: - bufferutil - canvas @@ -7661,24 +6353,28 @@ packages: - utf-8-validate dev: true - /jest-cli/26.6.3_ts-node@9.1.1: - resolution: {integrity: sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg==} - engines: {node: '>= 10.14.2'} + /jest-cli/27.5.1_ts-node@10.7.0: + 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 dependencies: - '@jest/core': 26.6.3_ts-node@9.1.1 - '@jest/test-result': 26.6.2 - '@jest/types': 26.6.2 - chalk: 4.1.0 + '@jest/core': 27.5.1_ts-node@10.7.0 + '@jest/test-result': 27.5.1 + '@jest/types': 27.5.1 + chalk: 4.1.2 exit: 0.1.2 - graceful-fs: 4.2.4 + graceful-fs: 4.2.9 import-local: 3.0.2 - is-ci: 2.0.0 - jest-config: 26.6.3_ts-node@9.1.1 - jest-util: 26.6.2 - jest-validate: 26.6.2 + jest-config: 27.5.1_ts-node@10.7.0 + jest-util: 27.5.1 + jest-validate: 27.5.1 prompts: 2.4.0 - yargs: 15.4.1 + yargs: 16.2.0 transitivePeerDependencies: - bufferutil - canvas @@ -7687,9 +6383,9 @@ packages: - utf-8-validate dev: true - /jest-config/26.6.3: - resolution: {integrity: sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg==} - engines: {node: '>= 10.14.2'} + /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: @@ -7697,23 +6393,29 @@ packages: optional: true dependencies: '@babel/core': 7.12.10 - '@jest/test-sequencer': 26.6.3 - '@jest/types': 26.6.2 - babel-jest: 26.6.3_@babel+core@7.12.10 - chalk: 4.1.0 + '@jest/test-sequencer': 27.5.1 + '@jest/types': 27.5.1 + babel-jest: 27.5.1_@babel+core@7.12.10 + chalk: 4.1.2 + ci-info: 3.3.0 deepmerge: 4.2.2 - glob: 7.1.6 - graceful-fs: 4.2.4 - jest-environment-jsdom: 26.6.2 - jest-environment-node: 26.6.2 - jest-get-type: 26.3.0 - jest-jasmine2: 26.6.3 - jest-regex-util: 26.0.0 - jest-resolve: 26.6.2 - jest-util: 26.6.2 - jest-validate: 26.6.2 - micromatch: 4.0.2 - pretty-format: 26.6.2 + glob: 7.2.0 + graceful-fs: 4.2.9 + jest-circus: 27.5.1 + jest-environment-jsdom: 27.5.1 + jest-environment-node: 27.5.1 + jest-get-type: 27.5.1 + jest-jasmine2: 27.5.1 + jest-regex-util: 27.5.1 + jest-resolve: 27.5.1 + jest-runner: 27.5.1 + jest-util: 27.5.1 + jest-validate: 27.5.1 + micromatch: 4.0.4 + parse-json: 5.2.0 + pretty-format: 27.5.1 + slash: 3.0.0 + strip-json-comments: 3.1.1 transitivePeerDependencies: - bufferutil - canvas @@ -7721,9 +6423,9 @@ packages: - utf-8-validate dev: true - /jest-config/26.6.3_ts-node@9.1.1: - resolution: {integrity: sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg==} - engines: {node: '>= 10.14.2'} + /jest-config/27.5.1_ts-node@10.7.0: + 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: @@ -7731,24 +6433,30 @@ packages: optional: true dependencies: '@babel/core': 7.12.10 - '@jest/test-sequencer': 26.6.3_ts-node@9.1.1 - '@jest/types': 26.6.2 - babel-jest: 26.6.3_@babel+core@7.12.10 - chalk: 4.1.0 + '@jest/test-sequencer': 27.5.1 + '@jest/types': 27.5.1 + babel-jest: 27.5.1_@babel+core@7.12.10 + chalk: 4.1.2 + ci-info: 3.3.0 deepmerge: 4.2.2 - glob: 7.1.6 - graceful-fs: 4.2.4 - jest-environment-jsdom: 26.6.2 - jest-environment-node: 26.6.2 - jest-get-type: 26.3.0 - jest-jasmine2: 26.6.3_ts-node@9.1.1 - jest-regex-util: 26.0.0 - jest-resolve: 26.6.2 - jest-util: 26.6.2 - jest-validate: 26.6.2 - micromatch: 4.0.2 - pretty-format: 26.6.2 - ts-node: 9.1.1_typescript@4.3.5 + glob: 7.2.0 + graceful-fs: 4.2.9 + jest-circus: 27.5.1 + jest-environment-jsdom: 27.5.1 + jest-environment-node: 27.5.1 + jest-get-type: 27.5.1 + jest-jasmine2: 27.5.1 + jest-regex-util: 27.5.1 + jest-resolve: 27.5.1 + jest-runner: 27.5.1 + jest-util: 27.5.1 + jest-validate: 27.5.1 + micromatch: 4.0.4 + parse-json: 5.2.0 + pretty-format: 27.5.1 + slash: 3.0.0 + strip-json-comments: 3.1.1 + ts-node: 10.7.0_3a45c3db8dee5edcd277f201fb244988 transitivePeerDependencies: - bufferutil - canvas @@ -7756,173 +6464,139 @@ packages: - utf-8-validate dev: true - /jest-diff/26.6.2: - resolution: {integrity: sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==} - engines: {node: '>= 10.14.2'} + /jest-diff/27.5.1: + resolution: {integrity: sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: - chalk: 4.1.0 - diff-sequences: 26.6.2 - jest-get-type: 26.3.0 - pretty-format: 26.6.2 + chalk: 4.1.2 + diff-sequences: 27.5.1 + jest-get-type: 27.5.1 + pretty-format: 27.5.1 dev: true - /jest-docblock/26.0.0: - resolution: {integrity: sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w==} - engines: {node: '>= 10.14.2'} + /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} dependencies: detect-newline: 3.1.0 dev: true - /jest-each/26.6.2: - resolution: {integrity: sha512-Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A==} - engines: {node: '>= 10.14.2'} + /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} dependencies: - '@jest/types': 26.6.2 - chalk: 4.1.0 - jest-get-type: 26.3.0 - jest-util: 26.6.2 - pretty-format: 26.6.2 + '@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/2.0.4_jest-environment-jsdom@26.6.2: - resolution: {integrity: sha512-1vB8q+PrszXW4Pf7Zgp3eQ4oNVbA7GY6+jmrg1qi6RtYRWDJ60/xdkhjqAbQpX8BRyvqQJYQi66LXER5YNeHXg==} + /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 + jest-environment-jsdom: 22.x || 23.x || 24.x || 25.x || 26.x || 27.x dependencies: - jest-environment-jsdom: 26.6.2 + jest-environment-jsdom: 27.5.1 dev: true - /jest-environment-jsdom/26.6.2: - resolution: {integrity: sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q==} - engines: {node: '>= 10.14.2'} + /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} dependencies: - '@jest/environment': 26.6.2 - '@jest/fake-timers': 26.6.2 - '@jest/types': 26.6.2 - '@types/node': 14.14.25 - jest-mock: 26.6.2 - jest-util: 26.6.2 - jsdom: 16.4.0 + '@jest/environment': 27.5.1 + '@jest/fake-timers': 27.5.1 + '@jest/types': 27.5.1 + '@types/node': 14.6.4 + jest-mock: 27.5.1 + jest-util: 27.5.1 + jsdom: 16.7.0 transitivePeerDependencies: - bufferutil - canvas + - supports-color - utf-8-validate dev: true - /jest-environment-node/26.6.2: - resolution: {integrity: sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag==} - engines: {node: '>= 10.14.2'} + /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} dependencies: - '@jest/environment': 26.6.2 - '@jest/fake-timers': 26.6.2 - '@jest/types': 26.6.2 - '@types/node': 14.14.25 - jest-mock: 26.6.2 - jest-util: 26.6.2 + '@jest/environment': 27.5.1 + '@jest/fake-timers': 27.5.1 + '@jest/types': 27.5.1 + '@types/node': 14.6.4 + jest-mock: 27.5.1 + jest-util: 27.5.1 dev: true - /jest-get-type/26.3.0: - resolution: {integrity: sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==} - engines: {node: '>= 10.14.2'} + /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-haste-map/26.6.2: - resolution: {integrity: sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w==} - engines: {node: '>= 10.14.2'} + /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} dependencies: - '@jest/types': 26.6.2 + '@jest/types': 27.5.1 '@types/graceful-fs': 4.1.4 - '@types/node': 14.14.25 - anymatch: 3.1.1 + '@types/node': 14.6.4 + anymatch: 3.1.2 fb-watchman: 2.0.1 - graceful-fs: 4.2.4 - jest-regex-util: 26.0.0 - jest-serializer: 26.6.2 - jest-util: 26.6.2 - jest-worker: 26.6.2 - micromatch: 4.0.2 - sane: 4.1.0 + graceful-fs: 4.2.9 + 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 optionalDependencies: - fsevents: 2.2.1 - dev: true - - /jest-jasmine2/26.6.3: - resolution: {integrity: sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg==} - engines: {node: '>= 10.14.2'} - dependencies: - '@babel/traverse': 7.12.10 - '@jest/environment': 26.6.2 - '@jest/source-map': 26.6.2 - '@jest/test-result': 26.6.2 - '@jest/types': 26.6.2 - '@types/node': 14.14.25 - chalk: 4.1.0 - co: 4.6.0 - expect: 26.6.2 - is-generator-fn: 2.1.0 - jest-each: 26.6.2 - jest-matcher-utils: 26.6.2 - jest-message-util: 26.6.2 - jest-runtime: 26.6.3 - jest-snapshot: 26.6.2 - jest-util: 26.6.2 - pretty-format: 26.6.2 - throat: 5.0.0 - transitivePeerDependencies: - - bufferutil - - canvas - - supports-color - - ts-node - - utf-8-validate + fsevents: 2.3.2 dev: true - /jest-jasmine2/26.6.3_ts-node@9.1.1: - resolution: {integrity: sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg==} - engines: {node: '>= 10.14.2'} + /jest-jasmine2/27.5.1: + resolution: {integrity: sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: - '@babel/traverse': 7.12.10 - '@jest/environment': 26.6.2 - '@jest/source-map': 26.6.2 - '@jest/test-result': 26.6.2 - '@jest/types': 26.6.2 - '@types/node': 14.14.25 - chalk: 4.1.0 + '@jest/environment': 27.5.1 + '@jest/source-map': 27.5.1 + '@jest/test-result': 27.5.1 + '@jest/types': 27.5.1 + '@types/node': 14.6.4 + chalk: 4.1.2 co: 4.6.0 - expect: 26.6.2 + expect: 27.5.1 is-generator-fn: 2.1.0 - jest-each: 26.6.2 - jest-matcher-utils: 26.6.2 - jest-message-util: 26.6.2 - jest-runtime: 26.6.3_ts-node@9.1.1 - jest-snapshot: 26.6.2 - jest-util: 26.6.2 - pretty-format: 26.6.2 - throat: 5.0.0 + jest-each: 27.5.1 + jest-matcher-utils: 27.5.1 + jest-message-util: 27.5.1 + jest-runtime: 27.5.1 + jest-snapshot: 27.5.1 + jest-util: 27.5.1 + pretty-format: 27.5.1 + throat: 6.0.1 transitivePeerDependencies: - - bufferutil - - canvas - supports-color - - ts-node - - utf-8-validate dev: true - /jest-leak-detector/26.6.2: - resolution: {integrity: sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg==} - engines: {node: '>= 10.14.2'} + /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} dependencies: - jest-get-type: 26.3.0 - pretty-format: 26.6.2 + jest-get-type: 27.5.1 + pretty-format: 27.5.1 dev: true - /jest-matcher-utils/26.6.2: - resolution: {integrity: sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw==} - engines: {node: '>= 10.14.2'} + /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} dependencies: - chalk: 4.1.0 - jest-diff: 26.6.2 - jest-get-type: 26.3.0 - pretty-format: 26.6.2 + chalk: 4.1.2 + jest-diff: 27.5.1 + jest-get-type: 27.5.1 + pretty-format: 27.5.1 dev: true /jest-message-util/26.6.2: @@ -7932,7 +6606,7 @@ packages: '@babel/code-frame': 7.12.11 '@jest/types': 26.6.2 '@types/stack-utils': 2.0.0 - chalk: 4.1.0 + chalk: 4.1.2 graceful-fs: 4.2.4 micromatch: 4.0.2 pretty-format: 26.6.2 @@ -7940,15 +6614,30 @@ packages: stack-utils: 2.0.3 dev: true - /jest-mock/26.6.2: - resolution: {integrity: sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew==} - 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} dependencies: - '@jest/types': 26.6.2 - '@types/node': 14.14.25 + '@babel/code-frame': 7.16.7 + '@jest/types': 27.5.1 + '@types/stack-utils': 2.0.0 + chalk: 4.1.2 + graceful-fs: 4.2.9 + micromatch: 4.0.4 + pretty-format: 27.5.1 + slash: 3.0.0 + stack-utils: 2.0.5 + dev: true + + /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} + dependencies: + '@jest/types': 27.5.1 + '@types/node': 14.6.4 dev: true - /jest-pnp-resolver/1.2.2_jest-resolve@26.6.2: + /jest-pnp-resolver/1.2.2_jest-resolve@27.5.1: resolution: {integrity: sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==} engines: {node: '>=6'} peerDependencies: @@ -7957,216 +6646,146 @@ packages: jest-resolve: optional: true dependencies: - jest-resolve: 26.6.2 - dev: true - - /jest-regex-util/26.0.0: - resolution: {integrity: sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A==} - engines: {node: '>= 10.14.2'} - dev: true - - /jest-resolve-dependencies/26.6.3: - resolution: {integrity: sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg==} - engines: {node: '>= 10.14.2'} - dependencies: - '@jest/types': 26.6.2 - jest-regex-util: 26.0.0 - jest-snapshot: 26.6.2 - dev: true - - /jest-resolve/26.6.2: - resolution: {integrity: sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==} - engines: {node: '>= 10.14.2'} - dependencies: - '@jest/types': 26.6.2 - chalk: 4.1.0 - graceful-fs: 4.2.4 - jest-pnp-resolver: 1.2.2_jest-resolve@26.6.2 - jest-util: 26.6.2 - read-pkg-up: 7.0.1 - resolve: 1.19.0 - slash: 3.0.0 - dev: true - - /jest-runner/26.6.3: - resolution: {integrity: sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ==} - engines: {node: '>= 10.14.2'} - dependencies: - '@jest/console': 26.6.2 - '@jest/environment': 26.6.2 - '@jest/test-result': 26.6.2 - '@jest/types': 26.6.2 - '@types/node': 14.14.25 - chalk: 4.1.0 - emittery: 0.7.2 - exit: 0.1.2 - graceful-fs: 4.2.4 - jest-config: 26.6.3 - jest-docblock: 26.0.0 - jest-haste-map: 26.6.2 - jest-leak-detector: 26.6.2 - jest-message-util: 26.6.2 - jest-resolve: 26.6.2 - jest-runtime: 26.6.3 - jest-util: 26.6.2 - jest-worker: 26.6.2 - source-map-support: 0.5.19 - throat: 5.0.0 - transitivePeerDependencies: - - bufferutil - - canvas - - supports-color - - ts-node - - utf-8-validate - dev: true - - /jest-runner/26.6.3_ts-node@9.1.1: - resolution: {integrity: sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ==} - engines: {node: '>= 10.14.2'} - dependencies: - '@jest/console': 26.6.2 - '@jest/environment': 26.6.2 - '@jest/test-result': 26.6.2 - '@jest/types': 26.6.2 - '@types/node': 14.14.25 - chalk: 4.1.0 - emittery: 0.7.2 - exit: 0.1.2 - graceful-fs: 4.2.4 - jest-config: 26.6.3_ts-node@9.1.1 - jest-docblock: 26.0.0 - jest-haste-map: 26.6.2 - jest-leak-detector: 26.6.2 - jest-message-util: 26.6.2 - jest-resolve: 26.6.2 - jest-runtime: 26.6.3_ts-node@9.1.1 - jest-util: 26.6.2 - jest-worker: 26.6.2 - source-map-support: 0.5.19 - throat: 5.0.0 + 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-resolve-dependencies/27.5.1: + resolution: {integrity: sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/types': 27.5.1 + jest-regex-util: 27.5.1 + jest-snapshot: 27.5.1 transitivePeerDependencies: - - bufferutil - - canvas - supports-color - - ts-node - - utf-8-validate dev: true - /jest-runtime/26.6.3: - resolution: {integrity: sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw==} - engines: {node: '>= 10.14.2'} - hasBin: 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} dependencies: - '@jest/console': 26.6.2 - '@jest/environment': 26.6.2 - '@jest/fake-timers': 26.6.2 - '@jest/globals': 26.6.2 - '@jest/source-map': 26.6.2 - '@jest/test-result': 26.6.2 - '@jest/transform': 26.6.2 - '@jest/types': 26.6.2 - '@types/yargs': 15.0.12 - chalk: 4.1.0 - cjs-module-lexer: 0.6.0 - collect-v8-coverage: 1.0.1 - exit: 0.1.2 - glob: 7.1.6 - graceful-fs: 4.2.4 - jest-config: 26.6.3 - jest-haste-map: 26.6.2 - jest-message-util: 26.6.2 - jest-mock: 26.6.2 - jest-regex-util: 26.0.0 - jest-resolve: 26.6.2 - jest-snapshot: 26.6.2 - jest-util: 26.6.2 - jest-validate: 26.6.2 + '@jest/types': 27.5.1 + chalk: 4.1.2 + graceful-fs: 4.2.9 + jest-haste-map: 27.5.1 + jest-pnp-resolver: 1.2.2_jest-resolve@27.5.1 + jest-util: 27.5.1 + jest-validate: 27.5.1 + resolve: 1.22.0 + resolve.exports: 1.1.0 slash: 3.0.0 - strip-bom: 4.0.0 - yargs: 15.4.1 + 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} + dependencies: + '@jest/console': 27.5.1 + '@jest/environment': 27.5.1 + '@jest/test-result': 27.5.1 + '@jest/transform': 27.5.1 + '@jest/types': 27.5.1 + '@types/node': 14.6.4 + chalk: 4.1.2 + emittery: 0.8.1 + graceful-fs: 4.2.9 + jest-docblock: 27.5.1 + jest-environment-jsdom: 27.5.1 + jest-environment-node: 27.5.1 + jest-haste-map: 27.5.1 + jest-leak-detector: 27.5.1 + jest-message-util: 27.5.1 + jest-resolve: 27.5.1 + jest-runtime: 27.5.1 + jest-util: 27.5.1 + jest-worker: 27.5.1 + source-map-support: 0.5.21 + throat: 6.0.1 transitivePeerDependencies: - bufferutil - canvas - supports-color - - ts-node - utf-8-validate dev: true - /jest-runtime/26.6.3_ts-node@9.1.1: - resolution: {integrity: sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw==} - engines: {node: '>= 10.14.2'} - hasBin: 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} dependencies: - '@jest/console': 26.6.2 - '@jest/environment': 26.6.2 - '@jest/fake-timers': 26.6.2 - '@jest/globals': 26.6.2 - '@jest/source-map': 26.6.2 - '@jest/test-result': 26.6.2 - '@jest/transform': 26.6.2 - '@jest/types': 26.6.2 - '@types/yargs': 15.0.12 - chalk: 4.1.0 - cjs-module-lexer: 0.6.0 + '@jest/environment': 27.5.1 + '@jest/fake-timers': 27.5.1 + '@jest/globals': 27.5.1 + '@jest/source-map': 27.5.1 + '@jest/test-result': 27.5.1 + '@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 - exit: 0.1.2 - glob: 7.1.6 - graceful-fs: 4.2.4 - jest-config: 26.6.3_ts-node@9.1.1 - jest-haste-map: 26.6.2 - jest-message-util: 26.6.2 - jest-mock: 26.6.2 - jest-regex-util: 26.0.0 - jest-resolve: 26.6.2 - jest-snapshot: 26.6.2 - jest-util: 26.6.2 - jest-validate: 26.6.2 + execa: 5.1.1 + glob: 7.2.0 + graceful-fs: 4.2.9 + jest-haste-map: 27.5.1 + jest-message-util: 27.5.1 + jest-mock: 27.5.1 + jest-regex-util: 27.5.1 + jest-resolve: 27.5.1 + jest-snapshot: 27.5.1 + jest-util: 27.5.1 slash: 3.0.0 strip-bom: 4.0.0 - yargs: 15.4.1 transitivePeerDependencies: - - bufferutil - - canvas - supports-color - - ts-node - - utf-8-validate dev: true - /jest-serializer/26.6.2: - resolution: {integrity: sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g==} - engines: {node: '>= 10.14.2'} + /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} dependencies: - '@types/node': 14.14.25 - graceful-fs: 4.2.4 + '@types/node': 14.6.4 + graceful-fs: 4.2.9 dev: true - /jest-snapshot/26.6.2: - resolution: {integrity: sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og==} - engines: {node: '>= 10.14.2'} + /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} dependencies: - '@babel/types': 7.12.11 - '@jest/types': 26.6.2 + '@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 + '@jest/transform': 27.5.1 + '@jest/types': 27.5.1 '@types/babel__traverse': 7.11.0 '@types/prettier': 2.1.5 - chalk: 4.1.0 - expect: 26.6.2 - graceful-fs: 4.2.4 - jest-diff: 26.6.2 - jest-get-type: 26.3.0 - jest-haste-map: 26.6.2 - jest-matcher-utils: 26.6.2 - jest-message-util: 26.6.2 - jest-resolve: 26.6.2 + babel-preset-current-node-syntax: 1.0.1_@babel+core@7.12.10 + chalk: 4.1.2 + expect: 27.5.1 + graceful-fs: 4.2.9 + jest-diff: 27.5.1 + jest-get-type: 27.5.1 + jest-haste-map: 27.5.1 + jest-matcher-utils: 27.5.1 + jest-message-util: 27.5.1 + jest-util: 27.5.1 natural-compare: 1.4.0 - pretty-format: 26.6.2 - semver: 7.3.4 + pretty-format: 27.5.1 + semver: 7.3.5 + transitivePeerDependencies: + - supports-color dev: true /jest-standard-reporter/2.0.0: resolution: {integrity: sha512-JhV3qzNzs5u/T1mzN9ivVrf2i4xYOQJgyPMKQbAmwRAZIprCpkikt8GF1kQKrP5ch1qBMn5xYyNdUUOKi8bltA==} dependencies: '@jest/console': 26.6.2 - chalk: 4.1.0 + chalk: 4.1.2 jest-util: 26.6.2 path: 0.12.7 slash: 3.0.0 @@ -8178,35 +6797,59 @@ packages: engines: {node: '>= 10.14.2'} dependencies: '@jest/types': 26.6.2 - '@types/node': 14.14.25 - chalk: 4.1.0 + '@types/node': 14.6.4 + chalk: 4.1.2 graceful-fs: 4.2.4 is-ci: 2.0.0 micromatch: 4.0.2 dev: true - /jest-validate/26.6.2: - resolution: {integrity: sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ==} - engines: {node: '>= 10.14.2'} + /jest-util/27.4.2: + resolution: {integrity: sha512-YuxxpXU6nlMan9qyLuxHaMMOzXAl5aGZWCSzben5DhLHemYQxCc4YK+4L3ZrCutT8GPQ+ui9k5D8rUJoDioMnA==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: - '@jest/types': 26.6.2 + '@jest/types': 27.4.2 + '@types/node': 14.6.4 + chalk: 4.1.2 + ci-info: 3.3.0 + graceful-fs: 4.2.4 + picomatch: 2.3.1 + dev: true + + /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} + 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 + 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} + dependencies: + '@jest/types': 27.5.1 camelcase: 6.2.0 - chalk: 4.1.0 - jest-get-type: 26.3.0 + chalk: 4.1.2 + jest-get-type: 27.5.1 leven: 3.1.0 - pretty-format: 26.6.2 + pretty-format: 27.5.1 dev: true - /jest-watcher/26.6.2: - resolution: {integrity: sha512-WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ==} - engines: {node: '>= 10.14.2'} + /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} dependencies: - '@jest/test-result': 26.6.2 - '@jest/types': 26.6.2 - '@types/node': 14.14.25 + '@jest/test-result': 27.5.1 + '@jest/types': 27.5.1 + '@types/node': 14.6.4 ansi-escapes: 4.3.1 - chalk: 4.1.0 - jest-util: 26.6.2 + chalk: 4.1.2 + jest-util: 27.5.1 string-length: 4.0.1 dev: true @@ -8214,19 +6857,33 @@ packages: resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 14.14.25 + '@types/node': 14.6.4 merge-stream: 2.0.0 supports-color: 7.2.0 dev: true - /jest/26.6.3: - resolution: {integrity: sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q==} - engines: {node: '>= 10.14.2'} + /jest-worker/27.5.1: + resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} + engines: {node: '>= 10.13.0'} + 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 dependencies: - '@jest/core': 26.6.3 + '@jest/core': 27.5.1 import-local: 3.0.2 - jest-cli: 26.6.3 + jest-cli: 27.5.1 transitivePeerDependencies: - bufferutil - canvas @@ -8235,14 +6892,19 @@ packages: - utf-8-validate dev: true - /jest/26.6.3_ts-node@9.1.1: - resolution: {integrity: sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q==} - engines: {node: '>= 10.14.2'} + /jest/27.5.1_ts-node@10.7.0: + 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 dependencies: - '@jest/core': 26.6.3_ts-node@9.1.1 + '@jest/core': 27.5.1_ts-node@10.7.0 import-local: 3.0.2 - jest-cli: 26.6.3_ts-node@9.1.1 + jest-cli: 27.5.1_ts-node@10.7.0 transitivePeerDependencies: - bufferutil - canvas @@ -8277,12 +6939,19 @@ packages: esprima: 4.0.1 dev: true + /js-yaml/4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + dependencies: + argparse: 2.0.1 + dev: true + /jsbn/0.1.1: resolution: {integrity: sha1-peZUwuWi3rXyAdls77yoDA7y9RM=} dev: true - /jsdom/16.4.0: - resolution: {integrity: sha512-lYMm3wYdgPhrl7pDcRmvzPhhrGVBeVhPIqeHjzeiHN3DFmD1RBpbExbi8vU7BJdH8VAZYovR8DMt0PNNDM7k8w==} + /jsdom/16.7.0: + resolution: {integrity: sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==} engines: {node: '>=10'} peerDependencies: canvas: ^2.5.0 @@ -8291,41 +6960,38 @@ packages: optional: true dependencies: abab: 2.0.5 - acorn: 7.4.1 + acorn: 8.7.0 acorn-globals: 6.0.0 cssom: 0.4.4 cssstyle: 2.3.0 data-urls: 2.0.0 decimal.js: 10.2.1 domexception: 2.0.1 - escodegen: 1.14.3 + escodegen: 2.0.0 + form-data: 3.0.0 html-encoding-sniffer: 2.0.1 - is-potential-custom-element-name: 1.0.0 + http-proxy-agent: 4.0.1 + https-proxy-agent: 5.0.0 + is-potential-custom-element-name: 1.0.1 nwsapi: 2.2.0 - parse5: 5.1.1 - request: 2.88.2 - request-promise-native: 1.0.9_request@2.88.2 + parse5: 6.0.1 saxes: 5.0.1 symbol-tree: 3.2.4 - tough-cookie: 3.0.1 + tough-cookie: 4.0.0 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.4.0 - ws: 7.4.1 + whatwg-url: 8.7.0 + ws: 7.5.6 xml-name-validator: 3.0.0 transitivePeerDependencies: - bufferutil + - supports-color - utf-8-validate dev: true - /jsesc/0.5.0: - resolution: {integrity: sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=} - hasBin: true - dev: true - /jsesc/2.5.2: resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} engines: {node: '>=4'} @@ -8376,7 +7042,7 @@ packages: dependencies: universalify: 2.0.0 optionalDependencies: - graceful-fs: 4.2.4 + graceful-fs: 4.2.9 dev: true /jsonparse/1.3.1: @@ -8408,51 +7074,19 @@ packages: json-buffer: 3.0.0 dev: true - /keyv/3.1.0: - resolution: {integrity: sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==} - dependencies: - json-buffer: 3.0.0 - dev: true - /keyv/4.0.3: resolution: {integrity: sha512-zdGa2TOpSZPq5mU6iowDARnMBZgtCqJ11dJROFi6tg6kTn4nuUdU09lFyLFSaHrWqpIJ+EBq4E8/Dc0Vx5vLdA==} dependencies: json-buffer: 3.0.1 - /kind-of/3.2.2: - resolution: {integrity: sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=} - engines: {node: '>=0.10.0'} - dependencies: - is-buffer: 1.1.6 - dev: true - - /kind-of/4.0.0: - resolution: {integrity: sha1-IIE989cSkosgc3hpGkUGb65y3Vc=} - engines: {node: '>=0.10.0'} - dependencies: - is-buffer: 1.1.6 - dev: true - - /kind-of/5.1.0: - resolution: {integrity: sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==} - engines: {node: '>=0.10.0'} - dev: true - - /kind-of/6.0.3: - resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} - engines: {node: '>=0.10.0'} - dev: true - /kleur/3.0.3: resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} engines: {node: '>=6'} dev: true - /latest-version/5.1.0: - resolution: {integrity: sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==} - engines: {node: '>=8'} - dependencies: - package-json: 6.5.0 + /ky/0.30.0: + resolution: {integrity: sha512-X/u76z4JtDVq10u1JA5UQfatPxgPaVDMYTrgHyiTpGN2z4TMEJkIHsoSBBSg9SWZEIXTKsi9kHgiQ9o3Y/4yog==} + engines: {node: '>=12'} dev: true /lazystream/1.0.0: @@ -8490,15 +7124,15 @@ packages: marky: 1.2.1 dev: true - /lines-and-columns/1.1.6: - resolution: {integrity: sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=} + /lines-and-columns/1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} dev: true /load-json-file/1.1.0: resolution: {integrity: sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=} engines: {node: '>=0.10.0'} dependencies: - graceful-fs: 4.2.4 + graceful-fs: 4.2.9 parse-json: 2.2.0 pify: 2.3.0 pinkie-promise: 2.0.1 @@ -8509,29 +7143,15 @@ packages: resolution: {integrity: sha1-L19Fq5HjMhYjT9U62rZo607AmTs=} engines: {node: '>=4'} dependencies: - graceful-fs: 4.2.4 + graceful-fs: 4.2.9 parse-json: 4.0.0 pify: 3.0.0 strip-bom: 3.0.0 dev: true - /load-json-file/5.3.0: - resolution: {integrity: sha512-cJGP40Jc/VXUsp8/OrnyKyTZ1y6v/dphm3bioS+RrKXjK2BB6wHUd6JptZEFDGgGahMT+InnZO5i1Ei9mpC8Bw==} - engines: {node: '>=6'} - dependencies: - graceful-fs: 4.2.4 - parse-json: 4.0.0 - pify: 4.0.1 - strip-bom: 3.0.0 - type-fest: 0.3.1 - dev: true - - /locate-path/3.0.0: - resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==} - engines: {node: '>=6'} - dependencies: - p-locate: 3.0.0 - path-exists: 3.0.0 + /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 /locate-path/5.0.0: @@ -8541,12 +7161,22 @@ packages: p-locate: 4.1.0 dev: true - /lodash.clonedeep/4.5.0: - resolution: {integrity: sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=} + /locate-path/6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + 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 - /lodash.debounce/4.0.8: - resolution: {integrity: sha1-gteb/zCmfEAF/9XiUVMArZyk168=} + /lodash.clonedeep/4.5.0: + resolution: {integrity: sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=} dev: true /lodash.defaults/4.2.0: @@ -8577,6 +7207,10 @@ packages: resolution: {integrity: sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=} dev: true + /lodash.memoize/4.1.2: + resolution: {integrity: sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=} + dev: true + /lodash.merge/4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} dev: true @@ -8589,10 +7223,6 @@ packages: resolution: {integrity: sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM=} dev: true - /lodash.sortby/4.7.0: - resolution: {integrity: sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=} - dev: true - /lodash.union/4.6.0: resolution: {integrity: sha1-SLtQiECfFvGCFmZkHETdGqrjzYg=} dev: true @@ -8601,23 +7231,16 @@ packages: resolution: {integrity: sha1-7GZi5IlkCO1KtsVCo5kLcswIACA=} dev: true - /lodash/4.17.19: - resolution: {integrity: sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==} - dev: true - - /lodash/4.17.20: - resolution: {integrity: sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==} - dev: true - /lodash/4.17.21: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} dev: true - /log-symbols/4.0.0: - resolution: {integrity: sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==} + /log-symbols/4.1.0: + resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} engines: {node: '>=10'} dependencies: - chalk: 4.1.0 + chalk: 4.1.2 + is-unicode-supported: 0.1.0 dev: true /loglevel-plugin-prefix/0.8.4: @@ -8632,7 +7255,7 @@ packages: /lower-case/2.0.2: resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} dependencies: - tslib: 2.3.0 + tslib: 2.3.1 dev: true /lowercase-keys/1.0.0: @@ -8676,6 +7299,14 @@ packages: 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 + dev: true + /make-dir/3.1.0: resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} engines: {node: '>=8'} @@ -8687,12 +7318,12 @@ packages: resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} dev: true - /make-fetch-happen/8.0.12: - resolution: {integrity: sha512-cBD7yM72ltWEV+xlLlbimnh5qHwr+thAb/cZLiaZhicVVPVN63BikBvL5OR68+8+z2fvBOgck628vGJ2ulgF6g==} + /make-fetch-happen/9.1.0: + resolution: {integrity: sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==} engines: {node: '>= 10'} dependencies: agentkeepalive: 4.1.3 - cacache: 15.0.5 + cacache: 15.3.0 http-cache-semantics: 4.1.0 http-proxy-agent: 4.0.1 https-proxy-agent: 5.0.0 @@ -8703,9 +7334,10 @@ packages: minipass-fetch: 1.3.2 minipass-flush: 1.0.5 minipass-pipeline: 1.2.4 - promise-retry: 1.1.1 - socks-proxy-agent: 5.0.0 - ssri: 8.0.0 + negotiator: 0.6.2 + promise-retry: 2.0.1 + socks-proxy-agent: 6.1.1 + ssri: 8.0.1 transitivePeerDependencies: - supports-color dev: true @@ -8723,32 +7355,20 @@ packages: p-defer: 1.0.0 dev: true - /map-cache/0.2.2: - resolution: {integrity: sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=} - engines: {node: '>=0.10.0'} - dev: true - /map-obj/1.0.1: resolution: {integrity: sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=} engines: {node: '>=0.10.0'} dev: true - /map-visit/1.0.0: - resolution: {integrity: sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=} - engines: {node: '>=0.10.0'} - dependencies: - object-visit: 1.0.1 - dev: true - /marky/1.2.1: resolution: {integrity: sha512-md9k+Gxa3qLH6sUKpeC2CNkJK/Ld+bEz5X96nYwloqphQE0CKCVEKco/6jxEZixinqNdz5RFi/KaCyfbMDMAXQ==} dev: true - /matcher/3.0.0: - resolution: {integrity: sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==} - engines: {node: '>=10'} + /matcher/5.0.0: + resolution: {integrity: sha512-s2EMBOWtXFc8dgqvoAzKJXxNHibcdJMV0gwqKUaw9E2JBJuGUK7DrNKrA6g/i+v72TT16+6sVm5mS3thaMLQUw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: - escape-string-regexp: 4.0.0 + escape-string-regexp: 5.0.0 dev: true /md5-hex/3.0.1: @@ -8763,12 +7383,12 @@ packages: engines: {node: '>= 0.6'} dev: true - /mem/8.0.0: - resolution: {integrity: sha512-qrcJOe6uD+EW8Wrci1Vdiua/15Xw3n/QnaNXE7varnB6InxSk7nu3/i5jfy3S6kWxr8WYJ6R1o0afMUtvorTsA==} - engines: {node: '>=10'} + /mem/9.0.2: + resolution: {integrity: sha512-F2t4YIv9XQUBHt6AOJ0y7lSmP1+cY7Fm1DRh9GClTGzKST7UWLMx6ly9WZdLH/G/ppM5RL4MlQfRT71ri9t19A==} + engines: {node: '>=12.20'} dependencies: map-age-cleaner: 0.1.3 - mimic-fn: 3.1.0 + mimic-fn: 4.0.0 dev: true /memorystream/0.3.1: @@ -8798,25 +7418,6 @@ packages: resolution: {integrity: sha512-lkJ3Rj/mtjlRcHk6YyCbvZhyWTOzdBvTHsxMmZSk5jxN1YyVSQ+JETAom55mdzfcyDrY/49Z7UCW760BK30crg==} dev: true - /micromatch/3.1.10: - resolution: {integrity: sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==} - engines: {node: '>=0.10.0'} - dependencies: - arr-diff: 4.0.0 - array-unique: 0.3.2 - braces: 2.3.2 - define-property: 2.0.2 - extend-shallow: 3.0.2 - extglob: 2.0.4 - fragment-cache: 0.2.1 - kind-of: 6.0.3 - nanomatch: 1.2.13 - object.pick: 1.3.0 - regex-not: 1.0.2 - snapdragon: 0.8.2 - to-regex: 3.0.2 - dev: true - /micromatch/4.0.2: resolution: {integrity: sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==} engines: {node: '>=8'} @@ -8825,6 +7426,14 @@ packages: picomatch: 2.2.2 dev: true + /micromatch/4.0.4: + resolution: {integrity: sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==} + engines: {node: '>=8.6'} + dependencies: + braces: 3.0.2 + picomatch: 2.3.1 + dev: true + /mime-db/1.44.0: resolution: {integrity: sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==} engines: {node: '>= 0.6'} @@ -8853,9 +7462,9 @@ packages: engines: {node: '>=6'} dev: true - /mimic-fn/3.1.0: - resolution: {integrity: sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ==} - engines: {node: '>=8'} + /mimic-fn/4.0.0: + resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} + engines: {node: '>=12'} dev: true /mimic-response/1.0.1: @@ -8876,6 +7485,13 @@ packages: brace-expansion: 1.1.11 dev: true + /minimatch/5.0.1: + resolution: {integrity: sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==} + engines: {node: '>=10'} + dependencies: + brace-expansion: 2.0.1 + dev: true + /minimist/1.2.5: resolution: {integrity: sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==} dev: true @@ -8941,25 +7557,10 @@ packages: yallist: 4.0.0 dev: true - /mixin-deep/1.3.2: - resolution: {integrity: sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==} - engines: {node: '>=0.10.0'} - dependencies: - for-in: 1.0.2 - is-extendable: 1.0.1 - dev: true - /mkdirp-classic/0.5.3: resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} dev: true - /mkdirp/0.5.5: - resolution: {integrity: sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==} - hasBin: true - dependencies: - minimist: 1.2.5 - dev: true - /mkdirp/1.0.4: resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} engines: {node: '>=10'} @@ -8976,10 +7577,6 @@ packages: moment: 2.29.1 dev: true - /moment/2.27.0: - resolution: {integrity: sha512-al0MUK7cpIcglMv3YF13qSgdAIqxHTO7brRtaz3DlSULbqfazqkc5kEjNrLDOM7fsjshoFIihnU8snrP7zUvhQ==} - dev: true - /moment/2.29.1: resolution: {integrity: sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==} dev: true @@ -9015,22 +7612,10 @@ packages: resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} dev: true - /nanomatch/1.2.13: - resolution: {integrity: sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==} - engines: {node: '>=0.10.0'} - dependencies: - arr-diff: 4.0.0 - array-unique: 0.3.2 - define-property: 2.0.2 - extend-shallow: 3.0.2 - fragment-cache: 0.2.1 - is-windows: 1.0.2 - kind-of: 6.0.3 - object.pick: 1.3.0 - regex-not: 1.0.2 - snapdragon: 0.8.2 - to-regex: 3.0.2 + /nan/2.15.0: + resolution: {integrity: sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==} dev: true + optional: true /natural-compare/1.4.0: resolution: {integrity: sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=} @@ -9045,11 +7630,11 @@ packages: resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} dev: true - /nise/4.1.0: - resolution: {integrity: sha512-eQMEmGN/8arp0xsvGoQ+B1qvSkR73B1nWSCh7nOt5neMCtwcQVYQGdzQMhcNscktTsWB54xnlSQFzOAPJD8nXA==} + /nise/5.1.1: + resolution: {integrity: sha512-yr5kW2THW1AkxVmCnKEh4nbYkJdB3I7LUkiUgOvEkOp414mc2UMaHMA7pjq1nYowhdoJZGwEKGaQVbxfpWj10A==} dependencies: - '@sinonjs/commons': 1.8.1 - '@sinonjs/fake-timers': 6.0.1 + '@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 @@ -9059,14 +7644,14 @@ packages: resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} dependencies: lower-case: 2.0.2 - tslib: 2.3.0 + tslib: 2.3.1 dev: true - /nock/13.0.11: - resolution: {integrity: sha512-sKZltNkkWblkqqPAsjYW0bm3s9DcHRPiMOyKO/PkfJ+ANHZ2+LA2PLe22r4lLrKgXaiSaDQwW3qGsJFtIpQIeQ==} + /nock/13.2.4: + resolution: {integrity: sha512-8GPznwxcPNCH/h8B+XZcKjYPXnUV5clOKCjAqyjsiqA++MpNx9E9+t8YPp0MbThO+KauRo7aZJ1WuIZmOrT2Ug==} engines: {node: '>= 10.13'} dependencies: - debug: 4.3.1 + debug: 4.3.3 json-stringify-safe: 5.0.1 lodash.set: 4.3.2 propagate: 2.0.1 @@ -9074,9 +7659,16 @@ packages: - supports-color dev: true - /node-fetch/2.6.1: - resolution: {integrity: sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==} + /node-fetch/2.6.7: + resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==} engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + dependencies: + whatwg-url: 5.0.0 dev: true /node-gyp/7.1.2: @@ -9086,13 +7678,13 @@ packages: dependencies: env-paths: 2.2.0 glob: 7.1.6 - graceful-fs: 4.2.4 + graceful-fs: 4.2.9 nopt: 5.0.0 npmlog: 4.1.2 request: 2.88.2 rimraf: 3.0.2 - semver: 7.3.4 - tar: 6.0.5 + semver: 7.3.5 + tar: 6.1.11 which: 2.0.2 dev: true @@ -9100,25 +7692,13 @@ packages: resolution: {integrity: sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=} dev: true - /node-modules-regexp/1.0.0: - resolution: {integrity: sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=} - engines: {node: '>=0.10.0'} - dev: true - - /node-notifier/8.0.1: - resolution: {integrity: sha512-BvEXF+UmsnAfYfoapKM9nGxnP+Wn7P91YfXmrKnfcYCx6VBeoN5Ez5Ogck6I8Bi5k4RlpqRYaw75pAwzX9OphA==} - dependencies: - growly: 1.3.0 - is-wsl: 2.2.0 - semver: 7.3.4 - shellwords: 0.1.1 - uuid: 8.3.2 - which: 2.0.2 + /node-releases/2.0.1: + resolution: {integrity: sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==} dev: true - optional: true - /node-releases/1.1.71: - resolution: {integrity: sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg==} + /nofilter/3.1.0: + resolution: {integrity: sha512-l2NNj07e9afPnhAhvgVrCD/oy2Ai1yfLpuo3EpiO1jFTsB4sFz6oIfAfSZyQzVpkZQ9xS8ZS5g1jCBgq4Hwo0g==} + engines: {node: '>=12.19'} dev: true /nopt/5.0.0: @@ -9138,13 +7718,6 @@ packages: validate-npm-package-license: 3.0.4 dev: true - /normalize-path/2.1.1: - resolution: {integrity: sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=} - engines: {node: '>=0.10.0'} - dependencies: - remove-trailing-separator: 1.1.0 - dev: true - /normalize-path/3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} @@ -9162,6 +7735,12 @@ packages: /normalize-url/4.5.0: resolution: {integrity: sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==} engines: {node: '>=8'} + dev: false + + /normalize-url/6.1.0: + resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==} + engines: {node: '>=10'} + dev: true /npm-bundled/1.1.1: resolution: {integrity: sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA==} @@ -9169,19 +7748,11 @@ packages: npm-normalize-package-bin: 1.0.1 dev: true - /npm-conf/1.1.3: - resolution: {integrity: sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw==} - engines: {node: '>=4'} - dependencies: - config-chain: 1.1.12 - pify: 3.0.0 - dev: true - /npm-install-checks/4.0.0: resolution: {integrity: sha512-09OmyDkNLYwqKPOnbI8exiOZU2GVVmQp7tgez2BPi5OZC8M82elDAps7sxC4l//uSUtotWqoEIDwjRvWH4qz8w==} engines: {node: '>=10'} dependencies: - semver: 7.3.4 + semver: 7.3.5 dev: true /npm-normalize-package-bin/1.0.1: @@ -9193,7 +7764,16 @@ packages: engines: {node: '>=10'} dependencies: hosted-git-info: 3.0.7 - semver: 7.3.4 + semver: 7.3.5 + validate-npm-package-name: 3.0.0 + dev: true + + /npm-package-arg/8.1.5: + resolution: {integrity: sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==} + engines: {node: '>=10'} + dependencies: + hosted-git-info: 4.1.0 + semver: 7.3.5 validate-npm-package-name: 3.0.0 dev: true @@ -9213,16 +7793,23 @@ packages: dependencies: npm-install-checks: 4.0.0 npm-package-arg: 8.1.0 - semver: 7.3.4 + semver: 7.3.5 + dev: true + + /npm-pick-manifest/6.1.1: + resolution: {integrity: sha512-dBsdBtORT84S8V8UTad1WlUyKIY9iMsAmqxHbLdeEeBNMLQDlDWWra3wYUx9EBEIiG/YwAy0XyNHDd2goAsfuA==} + 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 - /npm-registry-fetch/9.0.0: - resolution: {integrity: sha512-PuFYYtnQ8IyVl6ib9d3PepeehcUeHN9IO5N/iCRhyg9tStQcqGQBRVHmfmMWPDERU3KwZoHFvbJ4FPXPspvzbA==} + /npm-registry-fetch/11.0.0: + resolution: {integrity: sha512-jmlgSxoDNuhAtxUIG6pVwwtz840i994dL14FoNVZisrmZW5kWd63IUTNv1m/hyRSGSqWjCUp/YZlS1BJyNp9XA==} engines: {node: '>=10'} dependencies: - '@npmcli/ci-detect': 1.3.0 - lru-cache: 6.0.0 - make-fetch-happen: 8.0.12 + make-fetch-happen: 9.1.0 minipass: 3.1.3 minipass-fetch: 1.3.2 minipass-json-stream: 1.0.1 @@ -9248,13 +7835,6 @@ packages: string.prototype.padend: 3.1.1 dev: true - /npm-run-path/2.0.2: - resolution: {integrity: sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=} - engines: {node: '>=4'} - dependencies: - path-key: 2.0.1 - dev: true - /npm-run-path/4.0.1: resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} engines: {node: '>=8'} @@ -9289,13 +7869,8 @@ packages: engines: {node: '>=0.10.0'} dev: true - /object-copy/0.1.0: - resolution: {integrity: sha1-fn2Fi3gb18mRpBupde04EnVOmYw=} - engines: {node: '>=0.10.0'} - dependencies: - copy-descriptor: 0.1.1 - define-property: 0.2.5 - kind-of: 3.2.2 + /object-inspect/1.12.0: + resolution: {integrity: sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==} dev: true /object-inspect/1.9.0: @@ -9307,16 +7882,9 @@ packages: engines: {node: '>= 0.4'} dev: true - /object-path/0.11.5: - resolution: {integrity: sha512-jgSbThcoR/s+XumvGMTMf81QVBmah+/Q7K7YduKeKVWL7N111unR2d6pZZarSk6kY/caeNxUDyxOvMWyzoU2eg==} - engines: {node: '>= 10.12.0'} - dev: true - - /object-visit/1.0.1: - resolution: {integrity: sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=} - engines: {node: '>=0.10.0'} - dependencies: - isobject: 3.0.1 + /object-path/0.11.8: + resolution: {integrity: sha512-YJjNZrlXJFM42wTBn6zgOJVar9KFJvzx6sTWDte8sWZF//cnjl0BxHNpfZx+ZffXX63A9q0b1zsFiBX4g4X5KA==} + engines: {node: '>= 10.12.0'} dev: true /object.assign/4.1.2: @@ -9329,13 +7897,6 @@ packages: object-keys: 1.1.1 dev: true - /object.pick/1.3.0: - resolution: {integrity: sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=} - engines: {node: '>=0.10.0'} - dependencies: - isobject: 3.0.1 - dev: true - /on-finished/2.3.0: resolution: {integrity: sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=} engines: {node: '>= 0.8'} @@ -9384,27 +7945,21 @@ packages: word-wrap: 1.2.3 dev: true - /ora/5.1.0: - resolution: {integrity: sha512-9tXIMPvjZ7hPTbk8DFq1f7Kow/HU/pQYB60JbNq+QnGwcyhWVZaQ4hM9zQDEsPxw/muLpgiHSaumUZxCAmod/w==} + /ora/5.4.1: + resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} engines: {node: '>=10'} dependencies: - chalk: 4.1.0 + bl: 4.1.0 + chalk: 4.1.2 cli-cursor: 3.1.0 cli-spinners: 2.5.0 is-interactive: 1.0.0 - log-symbols: 4.0.0 - mute-stream: 0.0.8 - strip-ansi: 6.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-filter-obj/2.0.0: - resolution: {integrity: sha512-uksVLsqG3pVdzzPvmAHpBK0wKxYItuzZr7SziusRPoz67tGV8rL1szZ6IdeUrbqLjGDwApBtN29eEE3IqGHOjg==} - engines: {node: '>=4'} - dependencies: - arch: 2.2.0 - dev: true - /os-tmpdir/1.0.2: resolution: {integrity: sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=} engines: {node: '>=0.10.0'} @@ -9415,11 +7970,6 @@ packages: engines: {node: '>=4'} dev: true - /p-cancelable/1.1.0: - resolution: {integrity: sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==} - engines: {node: '>=6'} - dev: true - /p-cancelable/2.0.0: resolution: {integrity: sha512-wvPXDmbMmu2ksjkB4Z3nZWTSkJEb9lqVdMaCKpZUGJG9TMiNp9XcbG3fn9fPKjem04fJMJnXoyFPk2FmgiaiNg==} engines: {node: '>=8'} @@ -9429,11 +7979,6 @@ packages: engines: {node: '>=4'} dev: true - /p-each-series/2.2.0: - resolution: {integrity: sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==} - engines: {node: '>=8'} - dev: true - /p-event/2.3.1: resolution: {integrity: sha512-NQCqOFhbpVTMX4qMe8PF8lbGtzZ+LCiN7pcNrb/413Na7+TRoe1xkKUzuWa/YEJdGQ0FvKtj35EEbDoVPO2kbA==} engines: {node: '>=6'} @@ -9441,11 +7986,11 @@ packages: p-timeout: 2.0.1 dev: true - /p-event/4.2.0: - resolution: {integrity: sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ==} - engines: {node: '>=8'} + /p-event/5.0.1: + resolution: {integrity: sha512-dd589iCQ7m1L0bmC5NLlVYfy3TbBEsMUfWx9PyAgPeIcFZ/E2yaTZ4Rz4MiBmmJShviiftHVXOqfnfzJ6kyMrQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: - p-timeout: 3.2.0 + p-timeout: 5.0.2 dev: true /p-finally/1.0.0: @@ -9458,6 +8003,11 @@ packages: engines: {node: '>=4'} dev: true + /p-iteration/1.1.8: + resolution: {integrity: sha512-IMFBSDIYcPNnW7uWYGrBqmvTiq7W0uB0fJn6shQZs7dlF3OvrHOre+JT9ikSZ7gZS3vWqclVgoQSvToJrns7uQ==} + engines: {node: '>=8.0.0'} + dev: true + /p-limit/2.3.0: resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} engines: {node: '>=6'} @@ -9465,11 +8015,18 @@ packages: p-try: 2.2.0 dev: true - /p-locate/3.0.0: - resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==} - engines: {node: '>=6'} + /p-limit/3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} dependencies: - p-limit: 2.3.0 + 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} + dependencies: + yocto-queue: 1.0.0 dev: true /p-locate/4.1.0: @@ -9479,6 +8036,20 @@ packages: 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'} + 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} + dependencies: + p-limit: 4.0.0 + dev: true + /p-map/4.0.0: resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} engines: {node: '>=10'} @@ -9486,6 +8057,13 @@ packages: aggregate-error: 3.1.0 dev: true + /p-map/5.3.0: + resolution: {integrity: sha512-SRbIQFoLYNezHkqZslqeg963HYUtqOrfMCxjNrFOpJ19WTYuq26rQoOXeX8QQiMLUlLqdYV/7PuDsdYJ7hLE1w==} + engines: {node: '>=12'} + dependencies: + aggregate-error: 4.0.0 + dev: true + /p-timeout/2.0.1: resolution: {integrity: sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==} engines: {node: '>=4'} @@ -9493,11 +8071,9 @@ packages: p-finally: 1.0.0 dev: true - /p-timeout/3.2.0: - resolution: {integrity: sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==} - engines: {node: '>=8'} - dependencies: - p-finally: 1.0.0 + /p-timeout/5.0.2: + resolution: {integrity: sha512-sEmji9Yaq+Tw+STwsGAE56hf7gMy9p0tQfJojIAamB7WHJYJKf1qlsg9jqBWG8q9VCxKPhZaP/AcXwEoBcYQhQ==} + engines: {node: '>=12'} dev: true /p-try/2.2.0: @@ -9505,29 +8081,20 @@ packages: engines: {node: '>=6'} dev: true - /package-json/6.5.0: - resolution: {integrity: sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==} - engines: {node: '>=8'} - dependencies: - got: 9.6.0 - registry-auth-token: 4.2.1 - registry-url: 5.1.0 - semver: 6.3.0 - dev: true - - /package-name-regex/1.0.8: - resolution: {integrity: sha512-g3vB2J62dLqf4m50VM4tJUC4sixw3JB+Igd0cF3P/gJhAvmvsmFEV2eWZTeLbwfkKEWTf3+gwQ2C6JFFRxWHEQ==} + /package-name-regex/2.0.5: + resolution: {integrity: sha512-F0lX+FBs/Bo7KWY6EuUXj+oarXU0Og1R2Zdg3F/fVcNw3pPQAKFKxUrugno0Ds5NUztlx/gRLnQW9MF+7VTqAw==} + engines: {node: '>=12'} dev: true - /pacote/11.1.13: - resolution: {integrity: sha512-oJ7Bg7p3izrIMhZPHCCHmMHQl+xb+pKBXL5ZYeM2oCZrw6sBRSx7f8l7F+95V2qA0BP3c1cNaaBmUNkbo6Hn9w==} + /pacote/11.3.5: + resolution: {integrity: sha512-fT375Yczn4zi+6Hkk2TBe1x1sP8FgFsEIZ2/iWaXY2r/NkhDJfxbcn5paz1+RTFCyNf+dPnaoBDJoAxXSU8Bkg==} engines: {node: '>=10'} hasBin: true dependencies: - '@npmcli/git': 2.0.4 - '@npmcli/installed-package-contents': 1.0.5 + '@npmcli/git': 2.1.0 + '@npmcli/installed-package-contents': 1.0.7 '@npmcli/promise-spawn': 1.3.2 - '@npmcli/run-script': 1.8.1 + '@npmcli/run-script': 1.8.6 cacache: 15.0.5 chownr: 2.0.0 fs-minipass: 2.1.0 @@ -9537,12 +8104,12 @@ packages: npm-package-arg: 8.1.0 npm-packlist: 2.1.4 npm-pick-manifest: 6.1.0 - npm-registry-fetch: 9.0.0 - promise-retry: 1.1.1 - read-package-json-fast: 1.2.1 + npm-registry-fetch: 11.0.0 + promise-retry: 2.0.1 + read-package-json-fast: 2.0.3 rimraf: 3.0.2 - ssri: 8.0.0 - tar: 6.0.5 + ssri: 8.0.1 + tar: 6.1.11 transitivePeerDependencies: - supports-color dev: true @@ -9551,7 +8118,7 @@ packages: resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} dependencies: dot-case: 3.0.4 - tslib: 2.3.0 + tslib: 2.3.1 dev: true /parent-module/1.0.1: @@ -9576,14 +8143,14 @@ packages: json-parse-better-errors: 1.0.2 dev: true - /parse-json/5.1.0: - resolution: {integrity: sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ==} + /parse-json/5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} dependencies: - '@babel/code-frame': 7.12.11 + '@babel/code-frame': 7.16.7 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 - lines-and-columns: 1.1.6 + lines-and-columns: 1.2.4 dev: true /parse-ms/2.1.0: @@ -9591,8 +8158,8 @@ packages: engines: {node: '>=6'} dev: true - /parse5/5.1.1: - resolution: {integrity: sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==} + /parse5/6.0.1: + resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} dev: true /parseurl/1.3.3: @@ -9604,19 +8171,14 @@ packages: resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} dependencies: no-case: 3.0.4 - tslib: 2.3.0 - dev: true - - /pascalcase/0.1.1: - resolution: {integrity: sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=} - engines: {node: '>=0.10.0'} + tslib: 2.3.1 dev: true /path-case/3.0.4: resolution: {integrity: sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg==} dependencies: dot-case: 3.0.4 - tslib: 2.3.0 + tslib: 2.3.1 dev: true /path-exists/2.1.0: @@ -9626,16 +8188,16 @@ packages: pinkie-promise: 2.0.1 dev: true - /path-exists/3.0.0: - resolution: {integrity: sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=} - engines: {node: '>=4'} - dev: true - /path-exists/4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} dev: true + /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-is-absolute/1.0.1: resolution: {integrity: sha1-F0uSaHNVNP+8es5r9TpanhtcX18=} engines: {node: '>=0.10.0'} @@ -9655,6 +8217,10 @@ packages: resolution: {integrity: sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==} dev: true + /path-parse/1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + dev: true + /path-to-regexp/0.1.7: resolution: {integrity: sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=} dev: true @@ -9669,7 +8235,7 @@ packages: resolution: {integrity: sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=} engines: {node: '>=0.10.0'} dependencies: - graceful-fs: 4.2.4 + graceful-fs: 4.2.9 pify: 2.3.0 pinkie-promise: 2.0.1 dev: true @@ -9706,11 +8272,20 @@ packages: resolution: {integrity: sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=} dev: true + /picocolors/1.0.0: + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + dev: true + /picomatch/2.2.2: resolution: {integrity: sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==} engines: {node: '>=8.6'} dev: true + /picomatch/2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + dev: true + /pidtree/0.3.1: resolution: {integrity: sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==} engines: {node: '>=0.10'} @@ -9744,19 +8319,17 @@ packages: engines: {node: '>=0.10.0'} dev: true - /pirates/4.0.1: - resolution: {integrity: sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==} + /pirates/4.0.4: + resolution: {integrity: sha512-ZIrVPH+A52Dw84R0L3/VS9Op04PuQ2SEoJL6bkshmiTic/HldyW9Tf7oH5mhJZBK7NmDx27vSMrYEXPXclpDKw==} engines: {node: '>= 6'} - dependencies: - node-modules-regexp: 1.0.0 dev: true - /pkg-conf/3.1.0: - resolution: {integrity: sha512-m0OTbR/5VPNPqO1ph6Fqbj7Hv6QU7gR/tQW40ZqrL1rjgCU85W6C1bJn0BItuJqnR98PWzw7Z8hHeChD1WrgdQ==} - 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} dependencies: - find-up: 3.0.0 - load-json-file: 5.3.0 + find-up: 6.2.0 + load-json-file: 7.0.1 dev: true /pkg-dir/4.2.0: @@ -9766,16 +8339,18 @@ packages: find-up: 4.1.0 dev: true - /plur/4.0.0: - resolution: {integrity: sha512-4UGewrYgqDFw9vV6zNV+ADmPAUAfJPKtGvb/VdpQAx25X5f3xXdGdyOEVFwkl8Hl/tl7+xbeHqSEM+D5/TirUg==} + /pkg-dir/5.0.0: + resolution: {integrity: sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==} engines: {node: '>=10'} dependencies: - irregular-plurals: 3.2.0 + find-up: 5.0.0 dev: true - /posix-character-classes/0.1.1: - resolution: {integrity: sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=} - engines: {node: '>=0.10.0'} + /plur/5.1.0: + resolution: {integrity: sha512-VP/72JeXqak2KiOzjgKtQen5y3IZHn+9GOuLDafPv0eXa47xq0At93XahYBs26MsifCQ4enGKwbjBTKgb9QJXg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + irregular-plurals: 3.3.0 dev: true /prelude-ls/1.1.2: @@ -9798,11 +8373,20 @@ packages: engines: {node: '>= 10'} dependencies: '@jest/types': 26.6.2 - ansi-regex: 5.0.0 + ansi-regex: 5.0.1 ansi-styles: 4.3.0 react-is: 17.0.1 dev: true + /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} + dependencies: + ansi-regex: 5.0.1 + ansi-styles: 5.2.0 + react-is: 17.0.1 + dev: true + /pretty-ms/7.0.1: resolution: {integrity: sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==} engines: {node: '>=10'} @@ -9834,12 +8418,12 @@ packages: resolution: {integrity: sha1-mEcocL8igTL8vdhoEputEsPAKeM=} dev: true - /promise-retry/1.1.1: - resolution: {integrity: sha1-ZznpaOMFHaIM5kl/srUPaRHfPW0=} - engines: {node: '>=0.12'} + /promise-retry/2.0.1: + resolution: {integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==} + engines: {node: '>=10'} dependencies: - err-code: 1.1.2 - retry: 0.10.1 + err-code: 2.0.3 + retry: 0.12.0 dev: true /prompts/2.4.0: @@ -9855,10 +8439,6 @@ packages: engines: {node: '>= 8'} dev: true - /proto-list/1.2.4: - resolution: {integrity: sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=} - dev: true - /proxy-addr/2.0.6: resolution: {integrity: sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==} engines: {node: '>= 0.10'} @@ -9879,11 +8459,6 @@ packages: resolution: {integrity: sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==} dev: true - /puka/1.0.1: - resolution: {integrity: sha512-ssjRZxBd7BT3dte1RR3VoeT2cT/ODH8x+h0rUF1rMqB0srHYf48stSDWfiYakTp5UBZMxroZhB2+ExLDHm7W3g==} - engines: {node: '>=4'} - dev: true - /pump/3.0.0: resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} dependencies: @@ -9895,31 +8470,25 @@ packages: engines: {node: '>=6'} dev: true - /pupa/2.1.1: - resolution: {integrity: sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==} - engines: {node: '>=8'} - dependencies: - escape-goat: 2.1.1 - dev: true - - /puppeteer-core/5.5.0: - resolution: {integrity: sha512-tlA+1n+ziW/Db03hVV+bAecDKse8ihFRXYiEypBe9IlLRvOCzYFG6qrCMBYK34HO/Q/Ecjc+tvkHRAfLVH+NgQ==} + /puppeteer-core/13.5.1: + resolution: {integrity: sha512-dobVqWjV34ilyfQHR3BBnCYaekBYTi5MgegEYBRYd3s3uFy8jUpZEEWbaFjG9ETm+LGzR5Lmr0aF6LLuHtiuCg==} engines: {node: '>=10.18.1'} dependencies: - debug: 4.3.1 - devtools-protocol: 0.0.818844 + cross-fetch: 3.1.5 + debug: 4.3.3 + devtools-protocol: 0.0.969999 extract-zip: 2.0.1 - https-proxy-agent: 4.0.0 - node-fetch: 2.6.1 + https-proxy-agent: 5.0.0 pkg-dir: 4.2.0 progress: 2.0.3 proxy-from-env: 1.1.0 rimraf: 3.0.2 tar-fs: 2.1.1 unbzip2-stream: 1.4.3 - ws: 7.4.1 + ws: 8.5.0 transitivePeerDependencies: - bufferutil + - encoding - supports-color - utf-8-validate dev: true @@ -9934,6 +8503,10 @@ packages: engines: {node: '>=0.6'} dev: true + /query-selector-shadow-dom/1.0.0: + 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'} @@ -9972,22 +8545,13 @@ packages: unpipe: 1.0.0 dev: true - /rc/1.2.8: - resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} - hasBin: true - dependencies: - deep-extend: 0.6.0 - ini: 1.3.8 - minimist: 1.2.5 - strip-json-comments: 2.0.1 - dev: true - /react-is/17.0.1: resolution: {integrity: sha512-NAnt2iGDXohE5LI7uBnLnqvLQMtzhkiAOLXTmv+qnF9Ky7xAPcX8Up/xWIhxvLVGJvuLiNc4xQLtuqDRzb4fSA==} dev: true - /read-package-json-fast/1.2.1: - resolution: {integrity: sha512-OFbpwnHcv74Oa5YN5WvbOBfLw6yPmPcwvyJJw/tj9cWFBF7juQUDLDSZiOjEcgzfweWeeROOmbPpNN1qm4hcRg==} + /read-package-json-fast/2.0.3: + resolution: {integrity: sha512-W/BKtbL+dUjTuRL2vziuYhp76s5HZ9qQhd/dKfWIZveD0O40453QNyZhC0e63lqZrAQ4jiOapVoeJ7JrszenQQ==} + engines: {node: '>=10'} dependencies: json-parse-even-better-errors: 2.3.1 npm-normalize-package-bin: 1.0.1 @@ -10001,15 +8565,6 @@ packages: read-pkg: 1.1.0 dev: true - /read-pkg-up/7.0.1: - resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} - engines: {node: '>=8'} - dependencies: - find-up: 4.1.0 - read-pkg: 5.2.0 - type-fest: 0.8.1 - dev: true - /read-pkg/1.1.0: resolution: {integrity: sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=} engines: {node: '>=0.10.0'} @@ -10028,16 +8583,6 @@ packages: path-type: 3.0.0 dev: true - /read-pkg/5.2.0: - resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} - engines: {node: '>=8'} - dependencies: - '@types/normalize-package-data': 2.4.0 - normalize-package-data: 2.5.0 - parse-json: 5.1.0 - type-fest: 0.6.0 - dev: true - /readable-stream/2.3.7: resolution: {integrity: sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==} dependencies: @@ -10065,20 +8610,11 @@ packages: minimatch: 3.0.4 dev: true - /readdir-scoped-modules/1.1.0: - resolution: {integrity: sha512-asaikDeqAQg7JifRsZn1NJZXo9E+VwlyCfbkZhwyISinqk5zNS6266HS5kah6P0SaQKGF6SkNnZVHUzHFYxYDw==} - dependencies: - debuglog: 1.0.1 - dezalgo: 1.0.3 - graceful-fs: 4.2.4 - once: 1.4.0 - dev: true - - /readdirp/3.5.0: - resolution: {integrity: sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==} + /readdirp/3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} dependencies: - picomatch: 2.2.2 + picomatch: 2.3.1 dev: true /recursive-readdir/2.2.2: @@ -10088,119 +8624,24 @@ packages: minimatch: 3.0.4 dev: true - /regenerate-unicode-properties/8.2.0: - resolution: {integrity: sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==} - engines: {node: '>=4'} - dependencies: - regenerate: 1.4.2 - dev: true - - /regenerate/1.4.2: - resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} - dev: true - /regenerator-runtime/0.13.7: resolution: {integrity: sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==} dev: true - /regenerator-transform/0.14.5: - resolution: {integrity: sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==} - dependencies: - '@babel/runtime': 7.14.8 - dev: true - - /regex-not/1.0.2: - resolution: {integrity: sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==} - engines: {node: '>=0.10.0'} - dependencies: - extend-shallow: 3.0.2 - safe-regex: 1.1.0 - dev: true - - /regexpp/3.1.0: - resolution: {integrity: sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==} - engines: {node: '>=8'} - dev: true - - /regexpu-core/4.7.1: - resolution: {integrity: sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ==} - engines: {node: '>=4'} - dependencies: - regenerate: 1.4.2 - regenerate-unicode-properties: 8.2.0 - regjsgen: 0.5.2 - regjsparser: 0.6.4 - unicode-match-property-ecmascript: 1.0.4 - unicode-match-property-value-ecmascript: 1.2.0 - dev: true - - /registry-auth-token/4.2.1: - resolution: {integrity: sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw==} - engines: {node: '>=6.0.0'} - dependencies: - rc: 1.2.8 - dev: true - - /registry-url/5.1.0: - resolution: {integrity: sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==} + /regexpp/3.2.0: + resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} engines: {node: '>=8'} - dependencies: - rc: 1.2.8 - dev: true - - /regjsgen/0.5.2: - resolution: {integrity: sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==} - dev: true - - /regjsparser/0.6.4: - resolution: {integrity: sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==} - hasBin: true - dependencies: - jsesc: 0.5.0 dev: true /remove-trailing-separator/1.1.0: resolution: {integrity: sha1-wkvOKig62tW8P1jg1IJJuSN52O8=} dev: true - /repeat-element/1.1.3: - resolution: {integrity: sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==} - engines: {node: '>=0.10.0'} - dev: true - - /repeat-string/1.6.1: - resolution: {integrity: sha1-jcrkcOHIirwtYA//Sndihtp15jc=} - engines: {node: '>=0.10'} - dev: true - /replace-ext/1.0.1: resolution: {integrity: sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==} engines: {node: '>= 0.10'} dev: true - /request-promise-core/1.1.4_request@2.88.2: - resolution: {integrity: sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==} - engines: {node: '>=0.10.0'} - peerDependencies: - request: ^2.34 - dependencies: - lodash: 4.17.21 - request: 2.88.2 - dev: true - - /request-promise-native/1.0.9_request@2.88.2: - resolution: {integrity: sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==} - engines: {node: '>=0.12.0'} - deprecated: request-promise-native has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142 - peerDependencies: - request: ^2.34 - dependencies: - request: 2.88.2 - request-promise-core: 1.1.4_request@2.88.2 - stealthy-require: 1.1.1 - tough-cookie: 2.5.0 - dev: true - /request/2.88.2: resolution: {integrity: sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==} engines: {node: '>= 6'} @@ -10233,10 +8674,6 @@ packages: engines: {node: '>=0.10.0'} dev: true - /require-main-filename/2.0.0: - resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} - dev: true - /resolve-alpn/1.0.0: resolution: {integrity: sha512-rTuiIEqFmGxne4IovivKSDzld2lWW9QCjqv80SYjPgf+gS35eaCAjaP54CCwGAwBtnCsvNLYtqxe1Nw+i6JEmA==} @@ -10257,9 +8694,9 @@ packages: engines: {node: '>=8'} dev: true - /resolve-url/0.2.1: - resolution: {integrity: sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=} - deprecated: https://github.com/lydell/resolve-url#deprecated + /resolve.exports/1.1.0: + resolution: {integrity: sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==} + engines: {node: '>=10'} dev: true /resolve/1.19.0: @@ -10269,6 +8706,15 @@ packages: path-parse: 1.0.6 dev: true + /resolve/1.22.0: + resolution: {integrity: sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==} + hasBin: true + dependencies: + is-core-module: 2.8.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + dev: true + /responselike/1.0.2: resolution: {integrity: sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=} dependencies: @@ -10291,16 +8737,12 @@ packages: engines: {node: '>=8'} dependencies: onetime: 5.1.2 - signal-exit: 3.0.3 - dev: true - - /ret/0.1.15: - resolution: {integrity: sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==} - engines: {node: '>=0.12'} + signal-exit: 3.0.7 dev: true - /retry/0.10.1: - resolution: {integrity: sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q=} + /retry/0.12.0: + resolution: {integrity: sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=} + engines: {node: '>= 4'} dev: true /reusify/1.0.4: @@ -10308,116 +8750,123 @@ packages: engines: {iojs: '>=1.0.0', node: '>=0.10.0'} dev: true - /rgb2hex/0.2.3: - resolution: {integrity: sha512-clEe0m1xv+Tva1B/TOepuIcvLAxP0U+sCDfgt1SX1HmI2Ahr5/Cd/nzJM1e78NKVtWdoo0s33YehpFA8UfIShQ==} + /rgb2hex/0.2.5: + resolution: {integrity: sha512-22MOP1Rh7sAo1BZpDG6R5RFYzR2lYEgwq7HEmyW2qcsOqR2lQKmn+O//xV3YG/0rrhMC6KVX2hU+ZXuaw9a5bw==} dev: true /rimraf/3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} hasBin: true dependencies: - glob: 7.1.6 + glob: 7.2.0 dev: true - /rollup-plugin-cleanup/3.2.1_rollup@2.41.1: + /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' dependencies: js-cleanup: 1.2.0 - rollup: 2.41.1 + rollup: 2.70.1 rollup-pluginutils: 2.8.2 dev: true - /rollup-plugin-filesize/9.1.0: - resolution: {integrity: sha512-3umx+e2AzYH4lJaBtyeWk2kC7JafzZhy5AJwj2amudWWgqIFpI/QH7s2+9LWBwIvjK5ty6K6eM3i6dw7qF4GrQ==} + /rollup-plugin-filesize/9.1.2: + resolution: {integrity: sha512-m2fE9hFaKgWKisJzyWXctOFKlgMRelo/58HgeC0lXUK/qykxiqkr6bsrotlvo2bvrwPsjgT7scNdQSr6qtl37A==} engines: {node: '>=10.0.0'} dependencies: - '@babel/runtime': 7.12.5 - boxen: 4.2.0 + '@babel/runtime': 7.16.7 + boxen: 5.1.2 brotli-size: 4.0.0 colors: 1.4.0 filesize: 6.1.0 - gzip-size: 5.1.1 - pacote: 11.1.13 - terser: 5.5.1 + gzip-size: 6.0.0 + pacote: 11.3.5 + terser: 5.10.0 transitivePeerDependencies: + - acorn - supports-color dev: true - /rollup-plugin-license/2.2.0_rollup@2.41.1: - resolution: {integrity: sha512-xXb1vviEwlJMX+VGUSsglcMA/Rh9d2QzEm94awy4FlnsPqGrXoTYYGOR3UXR6gYIxiJFkr7qmkKF/NXfre/y8g==} + /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.1.6 - lodash: 4.17.19 + glob: 7.2.0 + lodash: 4.17.21 magic-string: 0.25.7 mkdirp: 1.0.4 - moment: 2.27.0 - package-name-regex: 1.0.8 - rollup: 2.41.1 + moment: 2.29.1 + package-name-regex: 2.0.5 + rollup: 2.70.1 spdx-expression-validate: 2.0.0 - spdx-satisfies: 5.0.0 + spdx-satisfies: 5.0.1 dev: true - /rollup-plugin-sizes/1.0.3_rollup@2.41.1: - resolution: {integrity: sha512-4s/uOW3CykN4kMZrrvYngA309qTd4Hb18kplErDAtOUXUK7PrFAa3g7s2H5nW9hWZy7sNUkPMkH85klwacq19A==} + /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.41.1 + rollup: 2.70.1 dev: true - /rollup-plugin-terser/7.0.2_rollup@2.41.1: + /rollup-plugin-terser/7.0.2_rollup@2.70.1: resolution: {integrity: sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==} peerDependencies: rollup: ^2.0.0 dependencies: '@babel/code-frame': 7.12.11 jest-worker: 26.6.2 - rollup: 2.41.1 + rollup: 2.70.1 serialize-javascript: 4.0.0 terser: 5.5.1 dev: true - /rollup-plugin-ts/1.4.0_rollup@2.41.1+typescript@4.3.5: - resolution: {integrity: sha512-cSKYPzKj+MKOb5iC+amRRCexBnalsZ4n1WXVYPhk9k66eskKAWW/uxT5ioom2FxVP0g4H9vdjzu1ZT8s16WKwg==} - engines: {node: '>=10.0.0'} + /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 dependencies: - '@babel/core': 7.14.8 - '@babel/plugin-proposal-async-generator-functions': 7.14.9_@babel+core@7.14.8 - '@babel/plugin-proposal-json-strings': 7.14.5_@babel+core@7.14.8 - '@babel/plugin-proposal-object-rest-spread': 7.14.7_@babel+core@7.14.8 - '@babel/plugin-proposal-optional-catch-binding': 7.14.5_@babel+core@7.14.8 - '@babel/plugin-proposal-unicode-property-regex': 7.12.13_@babel+core@7.14.8 - '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.14.8 - '@babel/plugin-transform-runtime': 7.14.5_@babel+core@7.14.8 - '@babel/preset-env': 7.14.9_@babel+core@7.14.8 - '@babel/runtime': 7.14.8 - '@rollup/pluginutils': 4.1.0_rollup@2.41.1 - '@types/babel__core': 7.1.14 + '@rollup/pluginutils': 4.1.2 '@wessberg/stringutil': 1.0.19 - browserslist: 4.16.6 - browserslist-generator: 1.0.59 + browserslist: 4.19.1 + browserslist-generator: 1.0.65 chalk: 4.1.2 - compatfactory: 0.0.7_typescript@4.3.5 - crosspath: 0.0.9 + compatfactory: 0.0.12_typescript@4.6.2 + crosspath: 1.0.0 magic-string: 0.25.7 - rollup: 2.41.1 - ts-clone-node: 0.3.24_typescript@4.3.5 - tslib: 2.3.0 - typescript: 4.3.5 - transitivePeerDependencies: - - supports-color + rollup: 2.70.1 + ts-clone-node: 0.3.30_typescript@4.6.2 + tslib: 2.3.1 + typescript: 4.6.2 dev: true /rollup-pluginutils/2.8.2: @@ -10426,19 +8875,14 @@ packages: estree-walker: 0.6.1 dev: true - /rollup/2.41.1: - resolution: {integrity: sha512-nepLFAW5W71/MWpS2Yr7r31eS7HRfYg2RXnxb6ehqN9zY42yACxKtEfb4xq8SmNfUohAzGMcyl6jkwdLOAiUbg==} + /rollup/2.70.1: + resolution: {integrity: sha512-CRYsI5EuzLbXdxC6RnYhOuRdtz4bhejPMSWjsFLfVM/7w/85n2szZv6yExqUXsBdz5KT8eoubeyDUDjhLHEslA==} engines: {node: '>=10.0.0'} hasBin: true optionalDependencies: fsevents: 2.3.2 dev: true - /rsvp/4.8.5: - resolution: {integrity: sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==} - engines: {node: 6.* || >= 7.*} - dev: true - /run-async/2.4.1: resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} engines: {node: '>=0.12.0'} @@ -10448,11 +8892,10 @@ packages: resolution: {integrity: sha512-zb/1OuZ6flOlH6tQyMPUrE3x3Ulxjlo9WIVXR4yVYi4H9UXQaeIsPbLn2R3O3vQCnDKkAl2qHiuocKKX4Tz/Sw==} dev: true - /rxjs/6.6.3: - resolution: {integrity: sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==} - engines: {npm: '>=2.0.0'} + /rxjs/7.5.5: + resolution: {integrity: sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw==} dependencies: - tslib: 1.14.1 + tslib: 2.3.1 dev: true /safe-buffer/5.1.2: @@ -10463,43 +8906,21 @@ packages: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} dev: true - /safe-regex/1.1.0: - resolution: {integrity: sha1-QKNmnzsHfR6UPURinhV91IAjvy4=} - dependencies: - ret: 0.1.15 - dev: true - /safer-buffer/2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} dev: true - /sane/4.1.0: - resolution: {integrity: sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==} - engines: {node: 6.* || 8.* || >= 10.*} - hasBin: true - dependencies: - '@cnakazawa/watch': 1.0.4 - anymatch: 2.0.0 - capture-exit: 2.0.0 - exec-sh: 0.3.4 - execa: 1.0.0 - fb-watchman: 2.0.1 - micromatch: 3.1.10 - minimist: 1.2.5 - walker: 1.0.7 - dev: true - - /saucelabs/4.6.2: - resolution: {integrity: sha512-TkMDH6ldTSQGPeNlL4D7rIojxuniVXATdoxxmYCrAEBXYKf9ogxi7rmBDiT3jfTnNU1WDUz59mSeAdBGoY6SpQ==} + /saucelabs/7.1.3: + resolution: {integrity: sha512-hxrB8DaaFUiSyfvh37JhxShOgMHiJWkRwEv45KnidFsiyLgXVBVBn2likZhv+0TH2ezp14rRUe/1TDDphqPdng==} hasBin: true dependencies: - bin-wrapper: 4.1.0 change-case: 4.1.2 - form-data: 3.0.0 - got: 11.8.1 + download: 8.0.0 + form-data: 4.0.0 + got: 11.8.3 hash.js: 1.1.7 tunnel: 0.0.6 - yargs: 16.2.0 + yargs: 17.3.1 dev: true /saxes/5.0.1: @@ -10516,25 +8937,6 @@ packages: commander: 2.20.3 dev: true - /semver-diff/3.1.1: - resolution: {integrity: sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==} - engines: {node: '>=8'} - dependencies: - semver: 6.3.0 - dev: true - - /semver-regex/2.0.0: - resolution: {integrity: sha512-mUdIBBvdn0PLOeP3TEkMH7HHeUP3GjsXCwKarjv/kGmUFOYg1VqEemKhoQpWMu6X2I8kHeuVdGibLGkVK+/5Qw==} - engines: {node: '>=6'} - dev: true - - /semver-truncate/1.1.2: - resolution: {integrity: sha1-V/Qd5pcHpicJp+AQS6IRcQnqR+g=} - engines: {node: '>=0.10.0'} - dependencies: - semver: 5.7.1 - dev: true - /semver/5.7.1: resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} hasBin: true @@ -10545,19 +8947,6 @@ packages: hasBin: true dev: true - /semver/7.0.0: - resolution: {integrity: sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==} - hasBin: true - dev: true - - /semver/7.3.4: - resolution: {integrity: sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==} - engines: {node: '>=10'} - hasBin: true - dependencies: - lru-cache: 6.0.0 - dev: true - /semver/7.3.5: resolution: {integrity: sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==} engines: {node: '>=10'} @@ -10589,13 +8978,15 @@ packages: resolution: {integrity: sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==} dependencies: no-case: 3.0.4 - tslib: 2.3.0 + tslib: 2.3.1 upper-case-first: 2.0.2 dev: true - /serialize-error/2.1.0: - resolution: {integrity: sha1-ULZ51WNc34Rme9yOWa9OW4HV9go=} - engines: {node: '>=0.10.0'} + /serialize-error/7.0.1: + resolution: {integrity: sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==} + engines: {node: '>=10'} + dependencies: + type-fest: 0.13.1 dev: true /serialize-error/8.0.1: @@ -10625,16 +9016,6 @@ packages: resolution: {integrity: sha1-BF+XgtARrppoA93TgrJDkrPYkPc=} dev: true - /set-value/2.0.1: - resolution: {integrity: sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==} - engines: {node: '>=0.10.0'} - dependencies: - extend-shallow: 2.0.1 - is-extendable: 0.1.1 - is-plain-object: 2.0.4 - split-string: 3.1.0 - dev: true - /setprototypeof/1.1.1: resolution: {integrity: sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==} dev: true @@ -10674,23 +9055,22 @@ packages: resolution: {integrity: sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==} dev: true - /shellwords/0.1.1: - resolution: {integrity: sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==} - dev: true - optional: true - /signal-exit/3.0.3: resolution: {integrity: sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==} dev: true - /sinon/9.2.4: - resolution: {integrity: sha512-zljcULZQsJxVra28qIAL6ow1Z9tpattkCTEJR4RBP3TGc00FcttsP5pK284Nas5WjMZU5Yzy3kAIp3B3KRf5Yg==} + /signal-exit/3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + dev: true + + /sinon/13.0.1: + resolution: {integrity: sha512-8yx2wIvkBjIq/MGY1D9h1LMraYW+z1X0mb648KZnKSdvLasvDu7maa0dFaNYdTDczFgbjNw2tOmWdTk9saVfwQ==} dependencies: - '@sinonjs/commons': 1.8.1 - '@sinonjs/fake-timers': 6.0.1 - '@sinonjs/samsam': 5.3.1 - diff: 4.0.2 - nise: 4.1.0 + '@sinonjs/commons': 1.8.3 + '@sinonjs/fake-timers': 9.1.1 + '@sinonjs/samsam': 6.1.1 + diff: 5.0.0 + nise: 5.1.1 supports-color: 7.2.0 dev: true @@ -10708,22 +9088,17 @@ packages: engines: {node: '>=8'} dev: true - /slice-ansi/3.0.0: - resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} - engines: {node: '>=8'} - dependencies: - ansi-styles: 4.3.0 - astral-regex: 2.0.0 - is-fullwidth-code-point: 3.0.0 + /slash/4.0.0: + resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} + engines: {node: '>=12'} dev: true - /slice-ansi/4.0.0: - resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} - engines: {node: '>=10'} + /slice-ansi/5.0.0: + resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} + engines: {node: '>=12'} dependencies: - ansi-styles: 4.3.0 - astral-regex: 2.0.0 - is-fullwidth-code-point: 3.0.0 + ansi-styles: 6.1.0 + is-fullwidth-code-point: 4.0.0 dev: true /smart-buffer/4.1.0: @@ -10731,56 +9106,26 @@ packages: engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} dev: true - /snake-case/3.0.4: - resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} - dependencies: - dot-case: 3.0.4 - tslib: 2.3.0 - dev: true - - /snapdragon-node/2.1.1: - resolution: {integrity: sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==} - engines: {node: '>=0.10.0'} - dependencies: - define-property: 1.0.0 - isobject: 3.0.1 - snapdragon-util: 3.0.1 - dev: true - - /snapdragon-util/3.0.1: - resolution: {integrity: sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==} - engines: {node: '>=0.10.0'} - dependencies: - kind-of: 3.2.2 - dev: true - - /snapdragon/0.8.2: - resolution: {integrity: sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==} - engines: {node: '>=0.10.0'} + /snake-case/3.0.4: + resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} dependencies: - base: 0.11.2 - debug: 2.6.9 - define-property: 0.2.5 - extend-shallow: 2.0.1 - map-cache: 0.2.2 - source-map: 0.5.7 - source-map-resolve: 0.5.3 - use: 3.1.1 + dot-case: 3.0.4 + tslib: 2.3.1 dev: true - /socks-proxy-agent/5.0.0: - resolution: {integrity: sha512-lEpa1zsWCChxiynk+lCycKuC502RxDWLKJZoIhnxrWNjLSDGYRFflHA1/228VkRcnv9TIb8w98derGbpKxJRgA==} - engines: {node: '>= 6'} + /socks-proxy-agent/6.1.1: + resolution: {integrity: sha512-t8J0kG3csjA4g6FTbsMOWws+7R7vuRC8aQ/wy3/1OWmsgwA68zs/+cExQ0koSitUDXqhufF/YJr9wtNMZHw5Ew==} + engines: {node: '>= 10'} dependencies: agent-base: 6.0.2 - debug: 4.3.1 - socks: 2.5.1 + debug: 4.3.3 + socks: 2.6.1 transitivePeerDependencies: - supports-color dev: true - /socks/2.5.1: - resolution: {integrity: sha512-oZCsJJxapULAYJaEYBSzMcz8m3jqgGrHaGhkmU/o/PQfFWYWxkAaA0UMGImb6s6tEXfKi959X6VJjMMQ3P6TTQ==} + /socks/2.6.1: + resolution: {integrity: sha512-kLQ9N5ucj8uIcxrDwjm0Jsqk06xdpBjGNQtpXy4Q8/QY2k+fY7nZH8CARy+hkbG+SGAovmzzuauCpBlb8FrnBA==} engines: {node: '>= 10.13.0', npm: '>= 3.0.0'} dependencies: ip: 1.1.5 @@ -10808,16 +9153,6 @@ packages: is-plain-obj: 1.1.0 dev: true - /source-map-resolve/0.5.3: - resolution: {integrity: sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==} - dependencies: - atob: 2.1.2 - decode-uri-component: 0.2.0 - resolve-url: 0.2.1 - source-map-url: 0.4.0 - urix: 0.1.0 - dev: true - /source-map-support/0.5.19: resolution: {integrity: sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==} dependencies: @@ -10825,8 +9160,11 @@ packages: source-map: 0.6.1 dev: true - /source-map-url/0.4.0: - resolution: {integrity: sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=} + /source-map-support/0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + dependencies: + buffer-from: 1.1.1 + source-map: 0.6.1 dev: true /source-map/0.5.7: @@ -10888,8 +9226,8 @@ packages: resolution: {integrity: sha512-mcdpQFV7UDAgLpXEE/jOMqvK4LBoO0uTQg0uvXUewmEFhpiZx5yJSZITHB8w1ZahKdhfZqP5GPEOKLyEq5p8XA==} dev: true - /spdx-satisfies/5.0.0: - resolution: {integrity: sha512-/hGhwh20BeGmkA+P/lm06RvXD94JduwNxtx/oX3B5ClPt1/u/m5MCaDNo1tV3Y9laLkQr/NRde63b9lLMhlNfw==} + /spdx-satisfies/5.0.1: + resolution: {integrity: sha512-Nwor6W6gzFp8XX4neaKQ7ChV4wmpSh2sSDemMFSzHxpTw460jxFYeOn+jq4ybnSSw/5sc3pjka9MQPouksQNpw==} dependencies: spdx-compare: 1.0.0 spdx-expression-parse: 3.0.1 @@ -10900,31 +9238,31 @@ packages: resolution: {integrity: sha1-bIOv82kvphJW4M0ZfgXp3hV2kaY=} dev: true - /split-string/3.1.0: - resolution: {integrity: sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==} - engines: {node: '>=0.10.0'} + /split2/3.2.2: + resolution: {integrity: sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==} dependencies: - extend-shallow: 3.0.2 + readable-stream: 3.6.0 + dev: true + + /split2/4.1.0: + resolution: {integrity: sha512-VBiJxFkxiXRlUIeyMQi8s4hgvKCSjtknJv/LVYbrgALPwf5zSKmEwV9Lst25AkvMDnvxODugjdl6KZgwKM1WYQ==} + engines: {node: '>= 10.x'} dev: true /sprintf-js/1.0.3: resolution: {integrity: sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=} dev: true - /ssh2-streams/0.4.10: - resolution: {integrity: sha512-8pnlMjvnIZJvmTzUIIA5nT4jr2ZWNNVHwyXfMGdRJbug9TpI3kd99ffglgfSWqujVv/0gxwMsDn9j9RVst8yhQ==} - engines: {node: '>=5.2.0'} + /ssh2/1.5.0: + resolution: {integrity: sha512-iUmRkhH9KGeszQwDW7YyyqjsMTf4z+0o48Cp4xOwlY5LjtbIAvyd3fwnsoUZW/hXmTCRA3yt7S/Jb9uVjErVlA==} + engines: {node: '>=10.16.0'} + requiresBuild: true dependencies: asn1: 0.2.4 bcrypt-pbkdf: 1.0.2 - streamsearch: 0.1.2 - dev: true - - /ssh2/0.8.9: - resolution: {integrity: sha512-GmoNPxWDMkVpMFa9LVVzQZHF6EW3WKmBwL+4/GeILf2hFmix5Isxm7Amamo8o7bHiU0tC+wXsGcUXOxp8ChPaw==} - engines: {node: '>=5.2.0'} - dependencies: - ssh2-streams: 0.4.10 + optionalDependencies: + cpu-features: 0.0.2 + nan: 2.15.0 dev: true /sshpk/1.16.1: @@ -10943,8 +9281,8 @@ packages: tweetnacl: 0.14.5 dev: true - /ssri/8.0.0: - resolution: {integrity: sha512-aq/pz989nxVYwn16Tsbj1TqFpD5LLrQxHf5zaHuieFV+R0Bbr4y8qUsOA45hXT/N4/9UNXTarBjnjVmjSOVaAA==} + /ssri/8.0.1: + resolution: {integrity: sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==} engines: {node: '>= 8'} dependencies: minipass: 3.1.3 @@ -10957,12 +9295,11 @@ packages: escape-string-regexp: 2.0.0 dev: true - /static-extend/0.1.2: - resolution: {integrity: sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=} - engines: {node: '>=0.10.0'} + /stack-utils/2.0.5: + resolution: {integrity: sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==} + engines: {node: '>=10'} dependencies: - define-property: 0.2.5 - object-copy: 0.1.0 + escape-string-regexp: 2.0.0 dev: true /statuses/1.5.0: @@ -10970,21 +9307,11 @@ packages: engines: {node: '>= 0.6'} dev: true - /stealthy-require/1.1.1: - resolution: {integrity: sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=} - engines: {node: '>=0.10.0'} - dev: true - /stream-buffers/3.0.2: resolution: {integrity: sha512-DQi1h8VEBA/lURbSwFtEHnSTb9s2/pwLEaFuNhXwy1Dx3Sa0lOuYT2yNUr4/j2fs8oCAMANtrZ5OrPZtyVs3MQ==} engines: {node: '>= 0.10.0'} dev: true - /streamsearch/0.1.2: - resolution: {integrity: sha1-gIudDlb8Jz2Am6VzOOkpkZoanxo=} - engines: {node: '>=0.8.0'} - dev: true - /strict-uri-encode/1.1.0: resolution: {integrity: sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=} engines: {node: '>=0.10.0'} @@ -10995,7 +9322,7 @@ packages: engines: {node: '>=10'} dependencies: char-regex: 1.0.2 - strip-ansi: 6.0.0 + strip-ansi: 6.0.1 dev: true /string-width/1.0.2: @@ -11025,11 +9352,29 @@ packages: strip-ansi: 6.0.0 dev: true + /string-width/4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + 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'} + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.0.1 + dev: true + /string.prototype.padend/3.1.1: resolution: {integrity: sha512-eCzTASPnoCr5Ht+Vn1YXgm8SB015hHKgEIMu9Nr9bQmLhRBxKRfmzSj/IQsxDFc8JInJDDFA0qXwK+xxI7wDkg==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.0 + call-bind: 1.0.2 define-properties: 1.1.3 es-abstract: 1.18.0-next.2 dev: true @@ -11067,13 +9412,6 @@ packages: ansi-regex: 2.1.1 dev: true - /strip-ansi/4.0.0: - resolution: {integrity: sha1-qEeQIusaw2iocTibY1JixQXuNo8=} - engines: {node: '>=4'} - dependencies: - ansi-regex: 3.0.0 - dev: true - /strip-ansi/5.2.0: resolution: {integrity: sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==} engines: {node: '>=6'} @@ -11085,7 +9423,21 @@ packages: resolution: {integrity: sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==} engines: {node: '>=8'} dependencies: - ansi-regex: 5.0.0 + ansi-regex: 5.0.1 + dev: true + + /strip-ansi/6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + dependencies: + ansi-regex: 5.0.1 + dev: true + + /strip-ansi/7.0.1: + resolution: {integrity: sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==} + engines: {node: '>=12'} + dependencies: + ansi-regex: 6.0.1 dev: true /strip-bom/2.0.0: @@ -11111,21 +9463,11 @@ packages: is-natural-number: 4.0.1 dev: true - /strip-eof/1.0.0: - resolution: {integrity: sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=} - engines: {node: '>=0.10.0'} - dev: true - /strip-final-newline/2.0.0: resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} engines: {node: '>=6'} dev: true - /strip-json-comments/2.0.1: - resolution: {integrity: sha1-PFMZQukIwml8DsNEhYwobHygpgo=} - engines: {node: '>=0.10.0'} - dev: true - /strip-json-comments/3.1.1: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} @@ -11143,15 +9485,14 @@ packages: engines: {node: '>=4'} dev: true - /supertap/1.0.0: - resolution: {integrity: sha512-HZJ3geIMPgVwKk2VsmO5YHqnnJYl6bV5A9JW2uzqV43WmpgliNEYbuvukfor7URpaqpxuw3CfZ3ONdVbZjCgIA==} - engines: {node: '>=4'} + /supertap/3.0.1: + resolution: {integrity: sha512-u1ZpIBCawJnO+0QePsEiOknOfCRq0yERxiAchT0i4li0WHNUJbf0evXXSXOcCAR4M8iMDoajXYmstm/qO81Isw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: - arrify: 1.0.1 - indent-string: 3.2.0 + indent-string: 5.0.0 js-yaml: 3.14.1 - serialize-error: 2.1.0 - strip-ansi: 4.0.0 + serialize-error: 7.0.1 + strip-ansi: 7.0.1 dev: true /supports-color/2.0.0: @@ -11173,6 +9514,13 @@ packages: has-flag: 4.0.0 dev: true + /supports-color/8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + 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'} @@ -11181,18 +9529,13 @@ packages: supports-color: 7.2.0 dev: true - /symbol-tree/3.2.4: - resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} + /supports-preserve-symlinks-flag/1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} dev: true - /table/6.0.4: - resolution: {integrity: sha512-sBT4xRLdALd+NFBvwOz8bw4b15htyythha+q+DVZqy2RS08PPC8O2sZFgJYEY7bJvbCFKccs+WIZ/cd+xxTWCw==} - engines: {node: '>=10.0.0'} - dependencies: - ajv: 6.12.6 - lodash: 4.17.21 - slice-ansi: 4.0.0 - string-width: 4.2.0 + /symbol-tree/3.2.4: + resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} dev: true /tar-fs/2.0.1: @@ -11237,8 +9580,8 @@ packages: readable-stream: 3.6.0 dev: true - /tar/6.0.5: - resolution: {integrity: sha512-0b4HOimQHj9nXNEAA7zWwMM91Zhhba3pspja6sQbgTpynOJf+bkjBnfybNYzbpLbnwXnbyB4LOREvlyXLkCHSg==} + /tar/6.1.11: + resolution: {integrity: sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==} engines: {node: '>= 10'} dependencies: chownr: 2.0.0 @@ -11263,11 +9606,6 @@ packages: engines: {node: '>=8'} dev: true - /term-size/2.2.1: - resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==} - engines: {node: '>=8'} - dev: true - /terminal-link/2.1.1: resolution: {integrity: sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==} engines: {node: '>=8'} @@ -11276,6 +9614,21 @@ packages: supports-hyperlinks: 2.1.0 dev: true + /terser/5.10.0: + resolution: {integrity: sha512-AMmF99DMfEDiRJfxfY5jj5wNH/bYO09cniSqhfoyxc8sFoYIgkJy86G04UoZU5VjlpnplVu0K6Tx6E9b5+DlHA==} + engines: {node: '>=10'} + hasBin: true + peerDependencies: + acorn: ^8.5.0 + peerDependenciesMeta: + acorn: + optional: true + dependencies: + commander: 2.20.3 + source-map: 0.7.3 + source-map-support: 0.5.21 + dev: true + /terser/5.5.1: resolution: {integrity: sha512-6VGWZNVP2KTUcltUQJ25TtNjx/XgdDsBDKGt8nN0MpydU36LmbPPcMBd2kmtZNNGVVDLg44k7GKeHHj+4zPIBQ==} engines: {node: '>=10'} @@ -11291,7 +9644,7 @@ packages: engines: {node: '>=8'} dependencies: '@istanbuljs/schema': 0.1.2 - glob: 7.1.6 + glob: 7.2.0 minimatch: 3.0.4 dev: true @@ -11299,8 +9652,8 @@ packages: resolution: {integrity: sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=} dev: true - /throat/5.0.0: - resolution: {integrity: sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==} + /throat/6.0.1: + resolution: {integrity: sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w==} dev: true /through/2.3.8: @@ -11337,26 +9690,6 @@ packages: engines: {node: '>=4'} dev: true - /to-object-path/0.3.0: - resolution: {integrity: sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=} - engines: {node: '>=0.10.0'} - dependencies: - kind-of: 3.2.2 - dev: true - - /to-readable-stream/1.0.0: - resolution: {integrity: sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==} - engines: {node: '>=6'} - dev: true - - /to-regex-range/2.1.1: - resolution: {integrity: sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=} - engines: {node: '>=0.10.0'} - dependencies: - is-number: 3.0.0 - repeat-string: 1.6.1 - dev: true - /to-regex-range/5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} @@ -11364,16 +9697,6 @@ packages: is-number: 7.0.0 dev: true - /to-regex/3.0.2: - resolution: {integrity: sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==} - engines: {node: '>=0.10.0'} - dependencies: - define-property: 2.0.2 - extend-shallow: 3.0.2 - regex-not: 1.0.2 - safe-regex: 1.1.0 - dev: true - /toidentifier/1.0.0: resolution: {integrity: sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==} engines: {node: '>=0.6'} @@ -11387,27 +9710,26 @@ packages: punycode: 2.1.1 dev: true - /tough-cookie/3.0.1: - resolution: {integrity: sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==} + /tough-cookie/4.0.0: + resolution: {integrity: sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==} engines: {node: '>=6'} dependencies: - ip-regex: 2.1.0 psl: 1.8.0 punycode: 2.1.1 + universalify: 0.1.2 + dev: true + + /tr46/0.0.3: + resolution: {integrity: sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=} dev: true - /tr46/2.0.2: - resolution: {integrity: sha512-3n1qG+/5kg+jrbTzwAykB5yRYtQCTqOGKq5U5PE3b0a1/mzo6snDhjGS0zJVJunO0NrT3Dg1MLy5TjWP/UJppg==} + /tr46/2.1.0: + resolution: {integrity: sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==} engines: {node: '>=8'} dependencies: punycode: 2.1.1 dev: true - /trim-off-newlines/1.0.1: - resolution: {integrity: sha1-n5up2e+odkw4dpi8v+sshI8RrbM=} - engines: {node: '>=0.10.0'} - dev: true - /trim-repeated/1.0.0: resolution: {integrity: sha1-42RqLqTokTEr9+rObPsFOAvAHCE=} engines: {node: '>=0.10.0'} @@ -11415,52 +9737,78 @@ packages: escape-string-regexp: 1.0.5 dev: true - /ts-clone-node/0.3.24_typescript@4.3.5: - resolution: {integrity: sha512-C6fs6pEyzSqIwnsJ2T9UQmYY4v3wekwQ/enmqMdRsjazRX0aDFq8VJiJuxiIzX7wsd0p1+Jn5hjG2i8UYc/1RQ==} + /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 dependencies: - compatfactory: 0.0.8_typescript@4.3.5 - typescript: 4.3.5 + compatfactory: 0.0.12_typescript@4.6.2 + typescript: 4.6.2 dev: true - /ts-jest/26.5.0_jest@26.6.3+typescript@4.3.5: - resolution: {integrity: sha512-Ya4IQgvIFNa2Mgq52KaO8yBw2W8tWp61Ecl66VjF0f5JaV8u50nGoptHVILOPGoI7SDnShmEqnYQEmyHdQ+56g==} - engines: {node: '>= 10'} + /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: - jest: '>=26 <27' + '@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 dependencies: - '@types/jest': 26.0.20 + '@types/jest': 27.4.1 bs-logger: 0.2.6 - buffer-from: 1.1.1 fast-json-stable-stringify: 2.1.0 - jest: 26.6.3 - jest-util: 26.6.2 + jest: 27.5.1 + jest-util: 27.4.2 json5: 2.1.3 - lodash: 4.17.21 + lodash.memoize: 4.1.2 make-error: 1.3.6 - mkdirp: 1.0.4 - semver: 7.3.4 - typescript: 4.3.5 + semver: 7.3.5 + typescript: 4.6.2 yargs-parser: 20.2.4 dev: true - /ts-node/9.1.1_typescript@4.3.5: - resolution: {integrity: sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg==} - engines: {node: '>=10.0.0'} + /ts-node/10.7.0_3a45c3db8dee5edcd277f201fb244988: + resolution: {integrity: sha512-TbIGS4xgJoX2i3do417KSaep1uRAW/Lu+WAL2doDHC0D6ummjirVOXU5/7aiZotbQ5p1Zp9tP7U6cYhA0O7M8A==} 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 dependencies: + '@cspotcode/source-map-support': 0.7.0 + '@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 arg: 4.1.3 create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - source-map-support: 0.5.19 - typescript: 4.3.5 + typescript: 4.6.2 + v8-compile-cache-lib: 3.0.0 yn: 3.1.1 dev: true @@ -11468,17 +9816,17 @@ packages: resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} dev: true - /tslib/2.3.0: - resolution: {integrity: sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==} + /tslib/2.3.1: + resolution: {integrity: sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==} - /tsutils/3.17.1_typescript@4.3.5: - resolution: {integrity: sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g==} + /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' dependencies: tslib: 1.14.1 - typescript: 4.3.5 + typescript: 4.6.2 dev: true /tunnel-agent/0.6.0: @@ -11520,24 +9868,14 @@ packages: engines: {node: '>=8'} dev: true - /type-fest/0.20.2: - resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + /type-fest/0.13.1: + resolution: {integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==} engines: {node: '>=10'} dev: true - /type-fest/0.3.1: - resolution: {integrity: sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==} - engines: {node: '>=6'} - dev: true - - /type-fest/0.6.0: - resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} - engines: {node: '>=8'} - dev: true - - /type-fest/0.8.1: - resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} - engines: {node: '>=8'} + /type-fest/0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} dev: true /type-is/1.6.18: @@ -11554,18 +9892,14 @@ packages: is-typedarray: 1.0.0 dev: true - /typescript/4.3.5: - resolution: {integrity: sha512-DqQgihaQ9cUrskJo9kIyW/+g0Vxsk8cDtZ52a3NGh0YNTfpUSArXSohyUGnvbPazEPLu398C0UxmKSOrPumUzA==} + /typescript/4.6.2: + resolution: {integrity: sha512-HM/hFigTBHZhLXshn9sN37H085+hQGeJHJ/X7LpBWLID/fbc2acUMfU+lGD98X81sKP+pFa9f0DZmCwB9GnbAg==} engines: {node: '>=4.2.0'} hasBin: true dev: true - /ua-parser-js/0.7.23: - resolution: {integrity: sha512-m4hvMLxgGHXG3O3fQVAyyAQpZzDOvwnhOTjYz5Xmr7r/+LpkNy3vJXdVRWgd1TkAb7NGROZuSy96CrlNVjA7KA==} - dev: true - - /ua-parser-js/0.7.28: - resolution: {integrity: sha512-6Gurc1n//gjp9eQNXjD9O3M/sMwVtN5S8Lv9bvOYBfKfDNiIIhqiyi01vMBO45u4zkDE420w/e0se7Vs+sIg+g==} + /ua-parser-js/1.0.2: + resolution: {integrity: sha512-00y/AXhx0/SsnI51fTc0rLRmafiGOM4/O+ny10Ps7f+j/b8p/ZY11ytMgznXkOVo4GQ+KwQG5UQLkLGirsACRg==} dev: true /unbzip2-stream/1.4.3: @@ -11575,39 +9909,6 @@ packages: through: 2.3.8 dev: true - /unicode-canonical-property-names-ecmascript/1.0.4: - resolution: {integrity: sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==} - engines: {node: '>=4'} - dev: true - - /unicode-match-property-ecmascript/1.0.4: - resolution: {integrity: sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==} - engines: {node: '>=4'} - dependencies: - unicode-canonical-property-names-ecmascript: 1.0.4 - unicode-property-aliases-ecmascript: 1.1.0 - dev: true - - /unicode-match-property-value-ecmascript/1.2.0: - resolution: {integrity: sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==} - engines: {node: '>=4'} - dev: true - - /unicode-property-aliases-ecmascript/1.1.0: - resolution: {integrity: sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==} - engines: {node: '>=4'} - dev: true - - /union-value/1.0.1: - resolution: {integrity: sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==} - engines: {node: '>=0.10.0'} - dependencies: - arr-union: 3.1.0 - get-value: 2.0.6 - is-extendable: 0.1.1 - set-value: 2.0.1 - dev: true - /unique-filename/1.1.1: resolution: {integrity: sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==} dependencies: @@ -11620,16 +9921,9 @@ packages: imurmurhash: 0.1.4 dev: true - /unique-string/2.0.0: - resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==} - engines: {node: '>=8'} - dependencies: - crypto-random-string: 2.0.0 - dev: true - - /universalify/1.0.0: - resolution: {integrity: sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==} - engines: {node: '>= 10.0.0'} + /universalify/0.1.2: + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + engines: {node: '>= 4.0.0'} dev: true /universalify/2.0.0: @@ -11642,44 +9936,16 @@ packages: engines: {node: '>= 0.8'} dev: true - /unset-value/1.0.0: - resolution: {integrity: sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=} - engines: {node: '>=0.10.0'} - dependencies: - has-value: 0.3.1 - isobject: 3.0.1 - dev: true - - /update-notifier/5.0.1: - resolution: {integrity: sha512-BuVpRdlwxeIOvmc32AGYvO1KVdPlsmqSh8KDDBxS6kDE5VR7R8OMP1d8MdhaVBvxl4H3551k9akXr0Y1iIB2Wg==} - engines: {node: '>=10'} - dependencies: - boxen: 4.2.0 - chalk: 4.1.0 - configstore: 5.0.1 - has-yarn: 2.1.0 - import-lazy: 2.1.0 - is-ci: 2.0.0 - is-installed-globally: 0.3.2 - is-npm: 5.0.0 - is-yarn-global: 0.3.0 - latest-version: 5.1.0 - pupa: 2.1.1 - semver: 7.3.4 - semver-diff: 3.1.1 - xdg-basedir: 4.0.0 - dev: true - /upper-case-first/2.0.2: resolution: {integrity: sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==} dependencies: - tslib: 2.3.0 + tslib: 2.3.1 dev: true /upper-case/2.0.2: resolution: {integrity: sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==} dependencies: - tslib: 2.3.0 + tslib: 2.3.1 dev: true /uri-js/4.4.0: @@ -11688,11 +9954,6 @@ packages: punycode: 2.1.1 dev: true - /urix/0.1.0: - resolution: {integrity: sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=} - deprecated: Please see https://github.com/lydell/urix#deprecated - dev: true - /url-parse-lax/3.0.0: resolution: {integrity: sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=} engines: {node: '>=4'} @@ -11705,11 +9966,6 @@ packages: engines: {node: '>= 4'} dev: true - /use/3.1.1: - resolution: {integrity: sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==} - engines: {node: '>=0.10.0'} - dev: true - /util-deprecate/1.0.2: resolution: {integrity: sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=} dev: true @@ -11727,6 +9983,7 @@ packages: /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: @@ -11739,13 +9996,17 @@ packages: hasBin: true dev: true + /v8-compile-cache-lib/3.0.0: + resolution: {integrity: sha512-mpSYqfsFvASnSn5qMiwrr4VKfumbPyONLCOPmsR3A6pTY/r0+tSaVbgPWSAIuzbk3lCTa+FForeTiO+wBQGkjA==} + dev: true + /v8-compile-cache/2.2.0: resolution: {integrity: sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q==} dev: true - /v8-to-istanbul/7.1.0: - resolution: {integrity: sha512-uXUVqNUCLa0AH1vuVxzi+MI4RfxEOKt9pBgKwHbgH7st8Kv2P1m+jvWNnektzBh5QShF3ODgKmUFCf38LnVz1g==} - engines: {node: '>=10.10.0'} + /v8-to-istanbul/8.1.1: + resolution: {integrity: sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==} + engines: {node: '>=10.12.0'} dependencies: '@types/istanbul-lib-coverage': 2.0.3 convert-source-map: 1.7.0 @@ -11818,67 +10079,98 @@ packages: /wcwidth/1.0.1: resolution: {integrity: sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=} + requiresBuild: true dependencies: defaults: 1.0.3 dev: true - /wdio-chromedriver-service/6.0.4_25d7422259640475936d8a95dcd9427b: - resolution: {integrity: sha512-ed0ctxRJ4KbhAX/BkGUFS/sy6zDrZ3oB1Tqvokrs3r7GPX115w/AcOySofXdAk7Pdjm2JLDW/marHG/LmVoBuw==} + /wdio-chromedriver-service/7.3.2_7cd9d9a3ecd8d3e08dc7a9075b21719b: + resolution: {integrity: sha512-4M3OqFzBSC4FdbqkfwOrUMeroMEuyIFCHfcUebkU6tJ1w5GenWO61YweJ8NKlhPZx9nkO8223+20MpvBjv+fTg==} engines: {node: '>=10.0.0'} peerDependencies: - '@wdio/cli': ^6.0.0 + '@wdio/cli': ^7.0.0 + '@wdio/types': ^7.0.0 chromedriver: '*' + webdriverio: ^7.0.0 + peerDependenciesMeta: + '@wdio/types': + optional: true + chromedriver: + optional: true dependencies: - '@wdio/cli': 6.12.1 - chromedriver: 94.0.0 - fs-extra: 9.0.1 + '@wdio/cli': 7.19.3_typescript@4.6.2 + '@wdio/logger': 7.19.0 + '@wdio/types': 7.19.1_typescript@4.6.2 + chromedriver: 99.0.0 + fs-extra: 9.1.0 + split2: 3.2.2 + tcp-port-used: 1.0.2 + webdriverio: 7.19.3_typescript@4.6.2 + transitivePeerDependencies: + - supports-color dev: true - /webdriver/6.12.1: - resolution: {integrity: sha512-3rZgAj9o2XHp16FDTzvUYaHelPMSPbO1TpLIMUT06DfdZjNYIzZiItpIb/NbQDTPmNhzd9cuGmdI56WFBGY2BA==} - engines: {node: '>=10.0.0'} + /webdriver/7.19.3_typescript@4.6.2: + resolution: {integrity: sha512-W/Wr/OW9zKHFqRvDUA0rWHV0ViW+gSQ4iNam1ZpkQqQMmH8jxyOR0auc+qrMbQy1W/w5hBcGs9L4nSucEA5pKg==} + engines: {node: '>=12.0.0'} dependencies: - '@wdio/config': 6.12.1 - '@wdio/logger': 6.10.10 - '@wdio/protocols': 6.12.0 - '@wdio/utils': 6.11.0 - got: 11.8.1 + '@types/node': 17.0.22 + '@wdio/config': 7.19.1_typescript@4.6.2 + '@wdio/logger': 7.19.0 + '@wdio/protocols': 7.19.0 + '@wdio/types': 7.19.1_typescript@4.6.2 + '@wdio/utils': 7.19.3_typescript@4.6.2 + got: 11.8.3 + ky: 0.30.0 lodash.merge: 4.6.2 + transitivePeerDependencies: + - typescript dev: true - /webdriverio/6.12.1: - resolution: {integrity: sha512-Nx7ge0vTWHVIRUbZCT+IuMwB5Q0Q5nLlYdgnmmJviUKLuc3XtaEBkYPTbhHWHgSBXsPZMIc023vZKNkn+6iyeQ==} - engines: {node: '>=10.0.0'} + /webdriverio/7.19.3_typescript@4.6.2: + resolution: {integrity: sha512-SZCRrixaML9CxdBZ3h4XC4PR8e70OESNWJtbxV4ZL6JFzaQry+nNb+ewsOhekcHSfQN7kktN3AhazDAJh/1j2A==} + engines: {node: '>=12.0.0'} dependencies: - '@types/puppeteer-core': 5.4.0 - '@wdio/config': 6.12.1 - '@wdio/logger': 6.10.10 - '@wdio/repl': 6.11.0 - '@wdio/utils': 6.11.0 + '@types/aria-query': 5.0.0 + '@types/node': 17.0.22 + '@wdio/config': 7.19.1_typescript@4.6.2 + '@wdio/logger': 7.19.0 + '@wdio/protocols': 7.19.0 + '@wdio/repl': 7.19.3_typescript@4.6.2 + '@wdio/types': 7.19.1_typescript@4.6.2 + '@wdio/utils': 7.19.3_typescript@4.6.2 archiver: 5.1.0 - atob: 2.1.2 + aria-query: 5.0.0 css-shorthand-properties: 1.1.1 css-value: 0.0.1 - devtools: 6.12.1 - fs-extra: 9.0.1 + devtools: 7.19.3_typescript@4.6.2 + devtools-protocol: 0.0.982423 + fs-extra: 10.0.1 get-port: 5.1.1 grapheme-splitter: 1.0.4 lodash.clonedeep: 4.5.0 lodash.isobject: 3.0.2 lodash.isplainobject: 4.0.6 lodash.zip: 4.2.0 - minimatch: 3.0.4 - puppeteer-core: 5.5.0 + minimatch: 5.0.1 + puppeteer-core: 13.5.1 + query-selector-shadow-dom: 1.0.0 resq: 1.10.0 - rgb2hex: 0.2.3 + rgb2hex: 0.2.5 serialize-error: 8.0.1 - webdriver: 6.12.1 + webdriver: 7.19.3_typescript@4.6.2 transitivePeerDependencies: - bufferutil + - encoding - supports-color + - typescript - utf-8-validate dev: true + /webidl-conversions/3.0.1: + resolution: {integrity: sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=} + dev: true + /webidl-conversions/5.0.0: resolution: {integrity: sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==} engines: {node: '>=8'} @@ -11904,17 +10196,20 @@ packages: resolution: {integrity: sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==} dev: true - /whatwg-url/8.4.0: - resolution: {integrity: sha512-vwTUFf6V4zhcPkWp/4CQPr1TW9Ml6SF4lVyaIMBdJw5i6qUUJ1QWM4Z6YYVkfka0OUIzVo/0aNtGVGk256IKWw==} - engines: {node: '>=10'} + /whatwg-url/5.0.0: + resolution: {integrity: sha1-lmRU6HZUYuN2RNNib2dCzotwll0=} dependencies: - lodash.sortby: 4.7.0 - tr46: 2.0.2 - webidl-conversions: 6.1.0 + tr46: 0.0.3 + webidl-conversions: 3.0.1 dev: true - /which-module/2.0.0: - resolution: {integrity: sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=} + /whatwg-url/8.7.0: + resolution: {integrity: sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==} + engines: {node: '>=10'} + dependencies: + lodash: 4.17.21 + tr46: 2.1.0 + webidl-conversions: 6.1.0 dev: true /which/1.3.1: @@ -11942,7 +10237,7 @@ packages: resolution: {integrity: sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==} engines: {node: '>=8'} dependencies: - string-width: 4.2.0 + string-width: 4.2.3 dev: true /word-wrap/1.2.3: @@ -11950,22 +10245,13 @@ packages: engines: {node: '>=0.10.0'} dev: true - /wrap-ansi/6.2.0: - resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} - engines: {node: '>=8'} - dependencies: - ansi-styles: 4.3.0 - string-width: 4.2.0 - strip-ansi: 6.0.0 - dev: true - /wrap-ansi/7.0.0: resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} engines: {node: '>=10'} dependencies: ansi-styles: 4.3.0 - string-width: 4.2.0 - strip-ansi: 6.0.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 dev: true /wrappy/1.0.2: @@ -11980,8 +10266,16 @@ packages: typedarray-to-buffer: 3.1.5 dev: true - /ws/7.4.1: - resolution: {integrity: sha512-pTsP8UAfhy3sk1lSk/O/s4tjD0CRwvMnzvwr4OKGX7ZvqZtUyx4KIJB5JWbkykPoc55tixMGgTNoh3k4FkNGFQ==} + /write-file-atomic/4.0.1: + resolution: {integrity: sha512-nSKUxgAbyioruk6hU87QzVbY279oYT6uiwgDoujth2ju4mJ+TZau7SQBhtbTmUyuNYTuXnSyRn66FV0+eCgcrQ==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16} + 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 @@ -11993,9 +10287,17 @@ packages: optional: true dev: true - /xdg-basedir/4.0.0: - resolution: {integrity: sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==} - engines: {node: '>=8'} + /ws/8.5.0: + resolution: {integrity: sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==} + 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 /xml-name-validator/3.0.0: @@ -12011,10 +10313,6 @@ packages: engines: {node: '>=0.4'} dev: true - /y18n/4.0.1: - resolution: {integrity: sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==} - dev: true - /y18n/5.0.5: resolution: {integrity: sha512-hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg==} engines: {node: '>=10'} @@ -12028,34 +10326,14 @@ packages: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} dev: true - /yargs-parser/18.1.3: - resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} - engines: {node: '>=6'} - dependencies: - camelcase: 5.3.1 - decamelize: 1.2.0 - dev: true - /yargs-parser/20.2.4: resolution: {integrity: sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==} engines: {node: '>=10'} dev: true - /yargs/15.4.1: - resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} - engines: {node: '>=8'} - dependencies: - cliui: 6.0.0 - decamelize: 1.2.0 - find-up: 4.1.0 - get-caller-file: 2.0.5 - require-directory: 2.1.1 - require-main-filename: 2.0.0 - set-blocking: 2.0.0 - string-width: 4.2.0 - which-module: 2.0.0 - y18n: 4.0.1 - yargs-parser: 18.1.3 + /yargs-parser/21.0.0: + resolution: {integrity: sha512-z9kApYUOCwoeZ78rfRYYWdiU/iNL6mwwYlkkZfJoyMR1xps+NEBX5X7XmRpxkZHhXJ6+Ey00IwKxBBSW9FIjyA==} + engines: {node: '>=12'} dev: true /yargs/16.2.0: @@ -12071,6 +10349,19 @@ packages: yargs-parser: 20.2.4 dev: true + /yargs/17.3.1: + resolution: {integrity: sha512-WUANQeVgjLbNsEmGk20f+nlHgOqzRFpiGWVaBrYGYIGANIIu3lWjoyi0fNlFmJkvfhCZ6BXINe7/W2O2bV4iaA==} + engines: {node: '>=12'} + 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: 21.0.0 + dev: true + /yarn-install/1.0.0: resolution: {integrity: sha1-V/RQULgu/VcYKzlzxUqgXLXSUjA=} engines: {node: '>=6'} @@ -12093,6 +10384,16 @@ packages: engines: {node: '>=6'} dev: true + /yocto-queue/0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + dev: true + + /yocto-queue/1.0.0: + resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} + engines: {node: '>=12.20'} + dev: true + /zip-stream/4.0.4: resolution: {integrity: sha512-a65wQ3h5gcQ/nQGWV1mSZCEzCML6EK/vyVPcrPNynySP1j3VBbQKh3nhC8CbORb+jfl2vXvh56Ul5odP1bAHqw==} engines: {node: '>= 10'} diff --git a/common/config/rush/repo-state.json b/common/config/rush/repo-state.json index 38965b481..406451a98 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": "5f4f4b48960340e4f224a4a7eff596e89b805f55", + "pnpmShrinkwrapHash": "6170f20398bf2547398d78916f045a574f8d15a2", "preferredVersionsHash": "bf21a9e8fbc5a3846fb05b4fa0859e0917b2202f" } diff --git a/common/scripts/install-run-rush.js b/common/scripts/install-run-rush.js index 71ca9fe46..5afdb9ad8 100644 --- a/common/scripts/install-run-rush.js +++ b/common/scripts/install-run-rush.js @@ -16,7 +16,7 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? ( 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.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + 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; }; @@ -42,7 +42,7 @@ function _getRushVersion() { console.log(`Using Rush version from environment variable ${RUSH_PREVIEW_VERSION}=${rushPreviewVersion}`); return rushPreviewVersion; } - const rushJsonFolder = install_run_1.findRushJsonFolder(); + const rushJsonFolder = (0, install_run_1.findRushJsonFolder)(); const rushJsonPath = path.join(rushJsonFolder, install_run_1.RUSH_JSON_FILENAME); try { const rushJsonContents = fs.readFileSync(rushJsonPath, 'utf-8'); @@ -76,10 +76,10 @@ function _run() { } process.exit(1); } - install_run_1.runWithErrorAndStatusCode(() => { + (0, install_run_1.runWithErrorAndStatusCode)(() => { const version = _getRushVersion(); console.log(`The rush.json configuration requests Rush version ${version}`); - return install_run_1.installAndRun(PACKAGE_NAME, version, bin, packageBinArgs); + return (0, install_run_1.installAndRun)(PACKAGE_NAME, version, bin, packageBinArgs); }); } _run(); diff --git a/common/scripts/install-run.js b/common/scripts/install-run.js index 22eedeeaa..fa5522e84 100644 --- a/common/scripts/install-run.js +++ b/common/scripts/install-run.js @@ -16,7 +16,7 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? ( 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.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + 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; }; diff --git a/libraries/browser-tracker-core/package.json b/libraries/browser-tracker-core/package.json index 8a195567a..ffa47d4a6 100644 --- a/libraries/browser-tracker-core/package.json +++ b/libraries/browser-tracker-core/package.json @@ -19,35 +19,35 @@ ], "scripts": { "build": "rollup -c --silent --failAfterWarnings", - "test": "jest --no-cache" + "test": "jest" }, "dependencies": { "@snowplow/tracker-core": "workspace:*", "sha1": "^1.1.1", - "tslib": "^2.3.0", + "tslib": "^2.3.1", "uuid": "^3.4.0" }, "devDependencies": { - "@ampproject/rollup-plugin-closure-compiler": "^0.27.0", - "@rollup/plugin-commonjs": "^17.1.0", - "@rollup/plugin-node-resolve": "^11.2.0", - "@types/jest": "^26.0.20", - "@types/jsdom": "^16.2.6", - "@types/sha1": "^1.1.2", - "@types/uuid": "^3.4.6", - "@typescript-eslint/eslint-plugin": "^4.9.0", - "@typescript-eslint/parser": "^4.9.0", - "rollup-plugin-ts": "^1.4.0", - "eslint": "^7.7.0", - "jest": "^26.6.3", - "jest-environment-jsdom": "^26.6.2", - "jest-environment-jsdom-global": "^2.0.4", - "jest-standard-reporter": "^2.0.0", - "rollup": "^2.41.1", - "rollup-plugin-cleanup": "^3.2.1", - "rollup-plugin-license": "^2.2.0", - "rollup-plugin-terser": "^7.0.2", - "ts-jest": "^26.5.0", - "typescript": "^4.3.5" + "@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/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", + "ts-jest": "~27.1.3", + "typescript": "~4.6.2" } } diff --git a/libraries/browser-tracker-core/src/helpers.ts b/libraries/browser-tracker-core/src/helpers.ts index db432449e..cce34e27a 100755 --- a/libraries/browser-tracker-core/src/helpers.ts +++ b/libraries/browser-tracker-core/src/helpers.ts @@ -132,7 +132,6 @@ export function fixupDomain(domain: string) { */ export function getReferrer(oldLocation?: string) { let windowAlias = window, - referrer = '', fromQs = fromQuerystring('referrer', windowAlias.location.href) || fromQuerystring('referer', windowAlias.location.href); @@ -147,20 +146,14 @@ export function getReferrer(oldLocation?: string) { } try { - referrer = windowAlias.top.document.referrer; - } catch (e) { - if (windowAlias.parent) { - try { - referrer = windowAlias.parent.document.referrer; - } catch (e2) { - referrer = ''; - } + if (windowAlias.top) { + return windowAlias.top.document.referrer; + } else if (windowAlias.parent) { + return windowAlias.parent.document.referrer; } - } - if (referrer === '') { - referrer = document.referrer; - } - return referrer; + } catch {} + + return document.referrer; } /** diff --git a/libraries/browser-tracker-core/src/tracker/index.ts b/libraries/browser-tracker-core/src/tracker/index.ts index 68e9d3968..e4d887fe8 100755 --- a/libraries/browser-tracker-core/src/tracker/index.ts +++ b/libraries/browser-tracker-core/src/tracker/index.ts @@ -75,6 +75,15 @@ import { ClearUserDataConfiguration, } from './types'; +declare global { + interface Navigator { + msDoNotTrack: boolean; + } + interface Window { + doNotTrack: boolean; + } +} + /** Repesents an instance of an activity tracking configuration */ type ActivityConfig = { /** The callback to fire based on heart beat */ @@ -211,7 +220,7 @@ export function Tracker( // First-party cookie secure attribute configCookieSecure = trackerConfiguration.cookieSecure ?? true, // Do Not Track browser feature - dnt = navigator.doNotTrack || (navigator as any).msDoNotTrack || window.doNotTrack, + dnt = navigator.doNotTrack || navigator.msDoNotTrack || window.doNotTrack, // Do Not Track configDoNotTrack = typeof trackerConfiguration.respectDoNotTrack !== 'undefined' diff --git a/libraries/browser-tracker-core/test/out_queue.test.ts b/libraries/browser-tracker-core/test/out_queue.test.ts index aae11ede6..19a0d94d8 100644 --- a/libraries/browser-tracker-core/test/out_queue.test.ts +++ b/libraries/browser-tracker-core/test/out_queue.test.ts @@ -35,10 +35,19 @@ describe('OutQueueManager', () => { const maxQueueSize = 2; var outQueue: OutQueue; - + var xhrMock: Partial; beforeEach(() => { localStorage.clear(); + xhrMock = { + open: jest.fn(), + send: jest.fn(), + setRequestHeader: jest.fn(), + withCredentials: true, + }; + + jest.spyOn(window, 'XMLHttpRequest').mockImplementation(() => xhrMock as XMLHttpRequest); + outQueue = OutQueueManager( 'sp', new SharedState(), @@ -58,7 +67,7 @@ describe('OutQueueManager', () => { it('should add event to outQueue and store event in local storage', () => { const expected = { e: 'pv', eid: '20269f92-f07c-44a6-87ef-43e171305076' }; - outQueue.enqueueRequest(expected, ''); + outQueue.enqueueRequest(expected, 'http://example.com'); const retrievedQueue = JSON.parse( window.localStorage.getItem('snowplowOutQueue_sp_post2') ?? fail('Unable to find local storage queue') @@ -72,9 +81,9 @@ describe('OutQueueManager', () => { const expected2 = { e: 'pv', eid: '6000c7bd-08a6-49c2-b61c-9531d3d46200' }; const unexpected = { e: 'pv', eid: '7a3391a8-622b-4ce4-80ed-c941aa05baf5' }; - outQueue.enqueueRequest(expected1, ''); - outQueue.enqueueRequest(expected2, ''); - outQueue.enqueueRequest(unexpected, ''); + outQueue.enqueueRequest(expected1, 'http://example.com'); + outQueue.enqueueRequest(expected2, 'http://example.com'); + outQueue.enqueueRequest(unexpected, 'http://example.com'); const retrievedQueue = JSON.parse( window.localStorage.getItem('snowplowOutQueue_sp_post2') ?? fail('Unable to find local storage queue') diff --git a/libraries/tracker-core/package.json b/libraries/tracker-core/package.json index 590fbe0a6..d830129e5 100644 --- a/libraries/tracker-core/package.json +++ b/libraries/tracker-core/package.json @@ -44,27 +44,27 @@ ] }, "dependencies": { - "tslib": "^2.3.0", + "tslib": "^2.3.1", "uuid": "^3.4.0" }, "devDependencies": { - "@ampproject/rollup-plugin-closure-compiler": "^0.27.0", - "@rollup/plugin-commonjs": "^17.1.0", - "@rollup/plugin-json": "^4.1.0", - "@rollup/plugin-node-resolve": "^11.2.0", - "@types/node": "^14.6.0", - "@types/uuid": "^3.4.6", - "@typescript-eslint/eslint-plugin": "^4.9.0", - "@typescript-eslint/parser": "^4.9.0", - "rollup-plugin-ts": "^1.4.0", - "ava": "^3.13.0", - "eslint": "^7.7.0", - "jest-standard-reporter": "^2.0.0", - "rollup": "^2.41.1", - "rollup-plugin-cleanup": "^3.2.1", - "rollup-plugin-license": "^2.2.0", - "rollup-plugin-terser": "^7.0.2", - "ts-node": "^9.1.1", - "typescript": "^4.3.5" + "@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.7.0", + "typescript": "~4.6.2" } } diff --git a/libraries/tracker-core/src/logger.ts b/libraries/tracker-core/src/logger.ts index ce242270d..030671936 100644 --- a/libraries/tracker-core/src/logger.ts +++ b/libraries/tracker-core/src/logger.ts @@ -42,8 +42,8 @@ export interface Logger { setLogLevel: (level: LOG_LEVEL) => void; info: (message: string, ...extraParams: unknown[]) => void; debug: (message: string, ...extraParams: unknown[]) => void; - warn: (message: string, error?: Error, ...extraParams: unknown[]) => void; - error: (message: string, error?: Error, ...extraParams: unknown[]) => void; + warn: (message: string, error?: unknown, ...extraParams: unknown[]) => void; + error: (message: string, error?: unknown, ...extraParams: unknown[]) => void; } export const LOG = logger(); @@ -60,7 +60,7 @@ function logger(logLevel: LOG_LEVEL = LOG_LEVEL.warn): Logger { /** * Log errors, with or without error object */ - function error(message: string, error?: Error, ...extraParams: unknown[]) { + function error(message: string, error?: unknown, ...extraParams: unknown[]) { if (logLevel >= LOG_LEVEL.error && typeof console !== 'undefined') { const logMsg = label + message + '\n'; if (error) { @@ -74,7 +74,7 @@ function logger(logLevel: LOG_LEVEL = LOG_LEVEL.warn): Logger { /** * Log warnings, with or without error object */ - function warn(message: string, error?: Error, ...extraParams: unknown[]) { + function warn(message: string, error?: unknown, ...extraParams: unknown[]) { if (logLevel >= LOG_LEVEL.warn && typeof console !== 'undefined') { const logMsg = label + message; if (error) { diff --git a/plugins/browser-plugin-ad-tracking/jest.config.js b/plugins/browser-plugin-ad-tracking/jest.config.js index f6132556d..bd3ea4e2a 100644 --- a/plugins/browser-plugin-ad-tracking/jest.config.js +++ b/plugins/browser-plugin-ad-tracking/jest.config.js @@ -1,4 +1,5 @@ module.exports = { preset: 'ts-jest', reporters: ['jest-standard-reporter'], + testEnvironment: 'jest-environment-jsdom-global', }; diff --git a/plugins/browser-plugin-ad-tracking/package.json b/plugins/browser-plugin-ad-tracking/package.json index 91e3898a3..bc15ddc06 100644 --- a/plugins/browser-plugin-ad-tracking/package.json +++ b/plugins/browser-plugin-ad-tracking/package.json @@ -19,32 +19,35 @@ ], "scripts": { "build": "rollup -c --silent --failAfterWarnings", - "test": "jest --no-cache" + "test": "jest" }, "dependencies": { "@snowplow/browser-tracker-core": "workspace:*", "@snowplow/tracker-core": "workspace:*", - "tslib": "^2.3.0" + "tslib": "^2.3.1" }, "devDependencies": { - "@ampproject/rollup-plugin-closure-compiler": "^0.27.0", - "@rollup/plugin-commonjs": "^17.1.0", - "@rollup/plugin-node-resolve": "^11.2.0", - "@types/jest": "^26.0.20", - "@types/lodash": "^4.14.168", - "@typescript-eslint/eslint-plugin": "^4.9.0", - "@typescript-eslint/parser": "^4.9.0", - "rollup-plugin-ts": "^1.4.0", - "eslint": "^7.7.0", - "jest": "^26.6.3", - "jest-standard-reporter": "^2.0.0", - "lodash": "^4.17.21", - "rollup": "^2.41.1", - "rollup-plugin-cleanup": "^3.2.1", - "rollup-plugin-license": "^2.2.0", - "rollup-plugin-terser": "^7.0.2", - "ts-jest": "^26.5.0", - "typescript": "^4.3.5" + "@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.3.1" diff --git a/plugins/browser-plugin-browser-features/package.json b/plugins/browser-plugin-browser-features/package.json index e8b70f785..c9fec8aea 100644 --- a/plugins/browser-plugin-browser-features/package.json +++ b/plugins/browser-plugin-browser-features/package.json @@ -19,33 +19,33 @@ ], "scripts": { "build": "rollup -c --silent --failAfterWarnings", - "test": "jest --no-cache" + "test": "jest" }, "dependencies": { "@snowplow/browser-tracker-core": "workspace:*", - "tslib": "^2.3.0" + "tslib": "^2.3.1" }, "devDependencies": { - "@ampproject/rollup-plugin-closure-compiler": "^0.27.0", - "@rollup/plugin-commonjs": "^17.1.0", - "@rollup/plugin-node-resolve": "^11.2.0", + "@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": "^26.0.20", - "@types/jsdom": "^16.2.6", - "@typescript-eslint/eslint-plugin": "^4.9.0", - "@typescript-eslint/parser": "^4.9.0", - "rollup-plugin-ts": "^1.4.0", - "eslint": "^7.7.0", - "jest": "^26.6.3", - "jest-environment-jsdom": "^26.6.2", - "jest-environment-jsdom-global": "^2.0.4", - "jest-standard-reporter": "^2.0.0", - "rollup": "^2.41.1", - "rollup-plugin-cleanup": "^3.2.1", - "rollup-plugin-license": "^2.2.0", - "rollup-plugin-terser": "^7.0.2", - "ts-jest": "^26.5.0", - "typescript": "^4.3.5" + "@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.3.1" diff --git a/plugins/browser-plugin-client-hints/package.json b/plugins/browser-plugin-client-hints/package.json index 7d133fb7b..cbd0e5bb9 100644 --- a/plugins/browser-plugin-client-hints/package.json +++ b/plugins/browser-plugin-client-hints/package.json @@ -23,25 +23,28 @@ }, "dependencies": { "@snowplow/browser-tracker-core": "workspace:*", - "tslib": "^2.3.0" + "tslib": "^2.3.1" }, "devDependencies": { - "@ampproject/rollup-plugin-closure-compiler": "^0.27.0", - "@rollup/plugin-commonjs": "^17.1.0", - "@rollup/plugin-node-resolve": "^11.2.0", - "@types/jest": "^26.0.20", - "@typescript-eslint/eslint-plugin": "^4.9.0", - "@typescript-eslint/parser": "^4.9.0", - "rollup-plugin-ts": "^1.4.0", - "eslint": "^7.7.0", - "jest": "^26.6.3", - "jest-standard-reporter": "^2.0.0", - "rollup": "^2.41.1", - "rollup-plugin-cleanup": "^3.2.1", - "rollup-plugin-license": "^2.2.0", - "rollup-plugin-terser": "^7.0.2", - "ts-jest": "^26.5.0", - "typescript": "^4.3.5" + "@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.3.1" diff --git a/plugins/browser-plugin-consent/jest.config.js b/plugins/browser-plugin-consent/jest.config.js index f6132556d..bd3ea4e2a 100644 --- a/plugins/browser-plugin-consent/jest.config.js +++ b/plugins/browser-plugin-consent/jest.config.js @@ -1,4 +1,5 @@ module.exports = { preset: 'ts-jest', reporters: ['jest-standard-reporter'], + testEnvironment: 'jest-environment-jsdom-global', }; diff --git a/plugins/browser-plugin-consent/package.json b/plugins/browser-plugin-consent/package.json index 40ca1370e..3f5dd865c 100644 --- a/plugins/browser-plugin-consent/package.json +++ b/plugins/browser-plugin-consent/package.json @@ -19,32 +19,35 @@ ], "scripts": { "build": "rollup -c --silent --failAfterWarnings", - "test": "jest --no-cache" + "test": "jest" }, "dependencies": { "@snowplow/browser-tracker-core": "workspace:*", "@snowplow/tracker-core": "workspace:*", - "tslib": "^2.3.0" + "tslib": "^2.3.1" }, "devDependencies": { - "@ampproject/rollup-plugin-closure-compiler": "^0.27.0", - "@rollup/plugin-commonjs": "^17.1.0", - "@rollup/plugin-node-resolve": "^11.2.0", - "@types/jest": "^26.0.20", - "@types/lodash": "^4.14.168", - "@typescript-eslint/eslint-plugin": "^4.9.0", - "@typescript-eslint/parser": "^4.9.0", - "rollup-plugin-ts": "^1.4.0", - "eslint": "^7.7.0", - "jest": "^26.6.3", - "jest-standard-reporter": "^2.0.0", - "lodash": "^4.17.21", - "rollup": "^2.41.1", - "rollup-plugin-cleanup": "^3.2.1", - "rollup-plugin-license": "^2.2.0", - "rollup-plugin-terser": "^7.0.2", - "ts-jest": "^26.5.0", - "typescript": "^4.3.5" + "@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.3.1" diff --git a/plugins/browser-plugin-debugger/package.json b/plugins/browser-plugin-debugger/package.json index 708fd4a39..89298cc89 100644 --- a/plugins/browser-plugin-debugger/package.json +++ b/plugins/browser-plugin-debugger/package.json @@ -25,26 +25,29 @@ "@snowplow/browser-tracker-core": "workspace:*", "@snowplow/tracker-core": "workspace:*", "randomcolor": "^0.6.2", - "tslib": "^2.3.0" + "tslib": "^2.3.1" }, "devDependencies": { - "@ampproject/rollup-plugin-closure-compiler": "^0.27.0", - "@rollup/plugin-commonjs": "^17.1.0", - "@rollup/plugin-node-resolve": "^11.2.0", - "@types/jest": "^26.0.20", - "@types/randomcolor": "^0.5.5", - "@typescript-eslint/eslint-plugin": "^4.9.0", - "@typescript-eslint/parser": "^4.9.0", - "rollup-plugin-ts": "^1.4.0", - "eslint": "^7.7.0", - "jest": "^26.6.3", - "jest-standard-reporter": "^2.0.0", - "rollup": "^2.41.1", - "rollup-plugin-cleanup": "^3.2.1", - "rollup-plugin-license": "^2.2.0", - "rollup-plugin-terser": "^7.0.2", - "ts-jest": "^26.5.0", - "typescript": "^4.3.5" + "@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/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", + "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.3.1" diff --git a/plugins/browser-plugin-ecommerce/jest.config.js b/plugins/browser-plugin-ecommerce/jest.config.js index f6132556d..bd3ea4e2a 100644 --- a/plugins/browser-plugin-ecommerce/jest.config.js +++ b/plugins/browser-plugin-ecommerce/jest.config.js @@ -1,4 +1,5 @@ module.exports = { preset: 'ts-jest', reporters: ['jest-standard-reporter'], + testEnvironment: 'jest-environment-jsdom-global', }; diff --git a/plugins/browser-plugin-ecommerce/package.json b/plugins/browser-plugin-ecommerce/package.json index 0e3a68d4f..c137fb784 100644 --- a/plugins/browser-plugin-ecommerce/package.json +++ b/plugins/browser-plugin-ecommerce/package.json @@ -19,32 +19,35 @@ ], "scripts": { "build": "rollup -c --silent --failAfterWarnings", - "test": "jest --no-cache" + "test": "jest" }, "dependencies": { "@snowplow/browser-tracker-core": "workspace:*", "@snowplow/tracker-core": "workspace:*", - "tslib": "^2.3.0" + "tslib": "^2.3.1" }, "devDependencies": { - "@ampproject/rollup-plugin-closure-compiler": "^0.27.0", - "@rollup/plugin-commonjs": "^17.1.0", - "@rollup/plugin-node-resolve": "^11.2.0", - "@types/jest": "^26.0.20", - "@types/lodash": "^4.14.168", - "@typescript-eslint/eslint-plugin": "^4.9.0", - "@typescript-eslint/parser": "^4.9.0", - "rollup-plugin-ts": "^1.4.0", - "eslint": "^7.7.0", - "jest": "^26.6.3", - "jest-standard-reporter": "^2.0.0", - "lodash": "^4.17.21", - "rollup": "^2.41.1", - "rollup-plugin-cleanup": "^3.2.1", - "rollup-plugin-license": "^2.2.0", - "rollup-plugin-terser": "^7.0.2", - "ts-jest": "^26.5.0", - "typescript": "^4.3.5" + "@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.3.1" diff --git a/plugins/browser-plugin-enhanced-ecommerce/jest.config.js b/plugins/browser-plugin-enhanced-ecommerce/jest.config.js index bac71daa0..bd3ea4e2a 100644 --- a/plugins/browser-plugin-enhanced-ecommerce/jest.config.js +++ b/plugins/browser-plugin-enhanced-ecommerce/jest.config.js @@ -1,5 +1,5 @@ module.exports = { preset: 'ts-jest', reporters: ['jest-standard-reporter'], - testEnvironment: 'jsdom', + testEnvironment: 'jest-environment-jsdom-global', }; diff --git a/plugins/browser-plugin-enhanced-ecommerce/package.json b/plugins/browser-plugin-enhanced-ecommerce/package.json index 2bf15f9bf..832ac1cdf 100644 --- a/plugins/browser-plugin-enhanced-ecommerce/package.json +++ b/plugins/browser-plugin-enhanced-ecommerce/package.json @@ -19,32 +19,35 @@ ], "scripts": { "build": "rollup -c --silent --failAfterWarnings", - "test": "jest --no-cache" + "test": "jest" }, "dependencies": { "@snowplow/browser-tracker-core": "workspace:*", "@snowplow/tracker-core": "workspace:*", - "tslib": "^2.3.0" + "tslib": "^2.3.1" }, "devDependencies": { - "@ampproject/rollup-plugin-closure-compiler": "^0.27.0", - "@rollup/plugin-commonjs": "^17.1.0", - "@rollup/plugin-node-resolve": "^11.2.0", - "@types/jest": "^26.0.20", - "@types/lodash": "^4.14.168", - "@typescript-eslint/eslint-plugin": "^4.9.0", - "@typescript-eslint/parser": "^4.9.0", - "rollup-plugin-ts": "^1.4.0", - "eslint": "^7.7.0", - "jest": "^26.6.3", - "jest-standard-reporter": "^2.0.0", - "lodash": "^4.17.21", - "rollup": "^2.41.1", - "rollup-plugin-cleanup": "^3.2.1", - "rollup-plugin-license": "^2.2.0", - "rollup-plugin-terser": "^7.0.2", - "ts-jest": "^26.5.0", - "typescript": "^4.3.5" + "@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.3.1" diff --git a/plugins/browser-plugin-error-tracking/jest.config.js b/plugins/browser-plugin-error-tracking/jest.config.js index f6132556d..bd3ea4e2a 100644 --- a/plugins/browser-plugin-error-tracking/jest.config.js +++ b/plugins/browser-plugin-error-tracking/jest.config.js @@ -1,4 +1,5 @@ module.exports = { preset: 'ts-jest', reporters: ['jest-standard-reporter'], + testEnvironment: 'jest-environment-jsdom-global', }; diff --git a/plugins/browser-plugin-error-tracking/package.json b/plugins/browser-plugin-error-tracking/package.json index 3b081226d..1c3fcd966 100644 --- a/plugins/browser-plugin-error-tracking/package.json +++ b/plugins/browser-plugin-error-tracking/package.json @@ -19,32 +19,35 @@ ], "scripts": { "build": "rollup -c --silent --failAfterWarnings", - "test": "jest --no-cache" + "test": "jest" }, "dependencies": { "@snowplow/browser-tracker-core": "workspace:*", "@snowplow/tracker-core": "workspace:*", - "tslib": "^2.3.0" + "tslib": "^2.3.1" }, "devDependencies": { - "@ampproject/rollup-plugin-closure-compiler": "^0.27.0", - "@rollup/plugin-commonjs": "^17.1.0", - "@rollup/plugin-node-resolve": "^11.2.0", - "@types/jest": "^26.0.20", - "@types/lodash": "^4.14.168", - "@typescript-eslint/eslint-plugin": "^4.9.0", - "@typescript-eslint/parser": "^4.9.0", - "rollup-plugin-ts": "^1.4.0", - "eslint": "^7.7.0", - "jest": "^26.6.3", - "jest-standard-reporter": "^2.0.0", - "lodash": "^4.17.21", - "rollup": "^2.41.1", - "rollup-plugin-cleanup": "^3.2.1", - "rollup-plugin-license": "^2.2.0", - "rollup-plugin-terser": "^7.0.2", - "ts-jest": "^26.5.0", - "typescript": "^4.3.5" + "@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.3.1" diff --git a/plugins/browser-plugin-form-tracking/package.json b/plugins/browser-plugin-form-tracking/package.json index 2fdc0072f..7d6339ac3 100644 --- a/plugins/browser-plugin-form-tracking/package.json +++ b/plugins/browser-plugin-form-tracking/package.json @@ -24,25 +24,28 @@ "dependencies": { "@snowplow/browser-tracker-core": "workspace:*", "@snowplow/tracker-core": "workspace:*", - "tslib": "^2.3.0" + "tslib": "^2.3.1" }, "devDependencies": { - "@ampproject/rollup-plugin-closure-compiler": "^0.27.0", - "@rollup/plugin-commonjs": "^17.1.0", - "@rollup/plugin-node-resolve": "^11.2.0", - "@types/jest": "^26.0.20", - "@typescript-eslint/eslint-plugin": "^4.9.0", - "@typescript-eslint/parser": "^4.9.0", - "rollup-plugin-ts": "^1.4.0", - "eslint": "^7.7.0", - "jest": "^26.6.3", - "jest-standard-reporter": "^2.0.0", - "rollup": "^2.41.1", - "rollup-plugin-cleanup": "^3.2.1", - "rollup-plugin-license": "^2.2.0", - "rollup-plugin-terser": "^7.0.2", - "ts-jest": "^26.5.0", - "typescript": "^4.3.5" + "@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.3.1" diff --git a/plugins/browser-plugin-ga-cookies/package.json b/plugins/browser-plugin-ga-cookies/package.json index 9cae74719..147eb0ac6 100644 --- a/plugins/browser-plugin-ga-cookies/package.json +++ b/plugins/browser-plugin-ga-cookies/package.json @@ -24,25 +24,28 @@ "dependencies": { "@snowplow/browser-tracker-core": "workspace:*", "@snowplow/tracker-core": "workspace:*", - "tslib": "^2.3.0" + "tslib": "^2.3.1" }, "devDependencies": { - "@ampproject/rollup-plugin-closure-compiler": "^0.27.0", - "@rollup/plugin-commonjs": "^17.1.0", - "@rollup/plugin-node-resolve": "^11.2.0", - "@types/jest": "^26.0.20", - "@typescript-eslint/eslint-plugin": "^4.9.0", - "@typescript-eslint/parser": "^4.9.0", - "rollup-plugin-ts": "^1.4.0", - "eslint": "^7.7.0", - "jest": "^26.6.3", - "jest-standard-reporter": "^2.0.0", - "rollup": "^2.41.1", - "rollup-plugin-cleanup": "^3.2.1", - "rollup-plugin-license": "^2.2.0", - "rollup-plugin-terser": "^7.0.2", - "ts-jest": "^26.5.0", - "typescript": "^4.3.5" + "@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.3.1" diff --git a/plugins/browser-plugin-geolocation/package.json b/plugins/browser-plugin-geolocation/package.json index e8eaf9b36..d3b5dd21f 100644 --- a/plugins/browser-plugin-geolocation/package.json +++ b/plugins/browser-plugin-geolocation/package.json @@ -24,25 +24,28 @@ "dependencies": { "@snowplow/browser-tracker-core": "workspace:*", "@snowplow/tracker-core": "workspace:*", - "tslib": "^2.3.0" + "tslib": "^2.3.1" }, "devDependencies": { - "@ampproject/rollup-plugin-closure-compiler": "^0.27.0", - "@rollup/plugin-commonjs": "^17.1.0", - "@rollup/plugin-node-resolve": "^11.2.0", - "@types/jest": "^26.0.20", - "@typescript-eslint/eslint-plugin": "^4.9.0", - "@typescript-eslint/parser": "^4.9.0", - "rollup-plugin-ts": "^1.4.0", - "eslint": "^7.7.0", - "jest": "^26.6.3", - "jest-standard-reporter": "^2.0.0", - "rollup": "^2.41.1", - "rollup-plugin-cleanup": "^3.2.1", - "rollup-plugin-license": "^2.2.0", - "rollup-plugin-terser": "^7.0.2", - "ts-jest": "^26.5.0", - "typescript": "^4.3.5" + "@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.3.1" diff --git a/plugins/browser-plugin-link-click-tracking/jest.config.js b/plugins/browser-plugin-link-click-tracking/jest.config.js index f6132556d..bd3ea4e2a 100644 --- a/plugins/browser-plugin-link-click-tracking/jest.config.js +++ b/plugins/browser-plugin-link-click-tracking/jest.config.js @@ -1,4 +1,5 @@ module.exports = { preset: 'ts-jest', reporters: ['jest-standard-reporter'], + testEnvironment: 'jest-environment-jsdom-global', }; diff --git a/plugins/browser-plugin-link-click-tracking/package.json b/plugins/browser-plugin-link-click-tracking/package.json index 8783cdce5..12fd72fc7 100644 --- a/plugins/browser-plugin-link-click-tracking/package.json +++ b/plugins/browser-plugin-link-click-tracking/package.json @@ -19,32 +19,35 @@ ], "scripts": { "build": "rollup -c --silent --failAfterWarnings", - "test": "jest --no-cache" + "test": "jest" }, "dependencies": { "@snowplow/browser-tracker-core": "workspace:*", "@snowplow/tracker-core": "workspace:*", - "tslib": "^2.3.0" + "tslib": "^2.3.1" }, "devDependencies": { - "@ampproject/rollup-plugin-closure-compiler": "^0.27.0", - "@rollup/plugin-commonjs": "^17.1.0", - "@rollup/plugin-node-resolve": "^11.2.0", - "@types/jest": "^26.0.20", - "@types/lodash": "^4.14.168", - "@typescript-eslint/eslint-plugin": "^4.9.0", - "@typescript-eslint/parser": "^4.9.0", - "rollup-plugin-ts": "^1.4.0", - "eslint": "^7.7.0", - "jest": "^26.6.3", - "jest-standard-reporter": "^2.0.0", - "lodash": "^4.17.21", - "rollup": "^2.41.1", - "rollup-plugin-cleanup": "^3.2.1", - "rollup-plugin-license": "^2.2.0", - "rollup-plugin-terser": "^7.0.2", - "ts-jest": "^26.5.0", - "typescript": "^4.3.5" + "@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.3.1" diff --git a/plugins/browser-plugin-media-tracking/.prettierignore b/plugins/browser-plugin-media-tracking/.prettierignore deleted file mode 100644 index 9bf4fb248..000000000 --- a/plugins/browser-plugin-media-tracking/.prettierignore +++ /dev/null @@ -1,84 +0,0 @@ -#------------------------------------------------------------------------------------------------------------------- -# Keep this section in sync with .gitignore -#------------------------------------------------------------------------------------------------------------------- - -# Logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* - -# Runtime data -*.pid -*.seed -*.pid.lock - -# Directory for instrumented libs generated by jscoverage/JSCover -lib-cov - -# Coverage directory used by tools like istanbul -coverage - -# nyc test coverage -.nyc_output - -# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) -.grunt - -# Bower dependency directory (https://bower.io/) -bower_components - -# node-waf configuration -.lock-wscript - -# Compiled binary addons (https://nodejs.org/api/addons.html) -build/Release - -# Dependency directories -node_modules/ -jspm_packages/ - -# Optional npm cache directory -.npm - -# Optional eslint cache -.eslintcache - -# Optional REPL history -.node_repl_history - -# Output of 'npm pack' -*.tgz - -# Yarn Integrity file -.yarn-integrity - -# dotenv environment variables file -.env - -# next.js build output -.next - -# OS X temporary files -.DS_Store - -# IDE files -.idea/ -.DS_Store - -#------------------------------------------------------------------------------------------------------------------- -# Prettier-specific overrides -#------------------------------------------------------------------------------------------------------------------- - -# Package manager files -pnpm-lock.yaml -yarn.lock -package-lock.json -shrinkwrap.json - -# Build outputs -dist -lib - -# Prettier reformats code blocks inside Markdown, which affects rendered output -*.md \ No newline at end of file diff --git a/plugins/browser-plugin-media-tracking/.prettierrc b/plugins/browser-plugin-media-tracking/.prettierrc deleted file mode 100644 index 3bb548593..000000000 --- a/plugins/browser-plugin-media-tracking/.prettierrc +++ /dev/null @@ -1,7 +0,0 @@ -{ - "trailingComma": "es5", - "tabWidth": 2, - "singleQuote": true, - "printWidth": 120, - "endOfLine": "auto" -} diff --git a/plugins/browser-plugin-media-tracking/jest.config.js b/plugins/browser-plugin-media-tracking/jest.config.js index bac71daa0..bd3ea4e2a 100644 --- a/plugins/browser-plugin-media-tracking/jest.config.js +++ b/plugins/browser-plugin-media-tracking/jest.config.js @@ -1,5 +1,5 @@ module.exports = { preset: 'ts-jest', reporters: ['jest-standard-reporter'], - testEnvironment: 'jsdom', + testEnvironment: 'jest-environment-jsdom-global', }; diff --git a/plugins/browser-plugin-media-tracking/package.json b/plugins/browser-plugin-media-tracking/package.json index f73f8c3ed..cb9cd389b 100644 --- a/plugins/browser-plugin-media-tracking/package.json +++ b/plugins/browser-plugin-media-tracking/package.json @@ -23,25 +23,28 @@ "dependencies": { "@snowplow/browser-tracker-core": "workspace:*", "@snowplow/tracker-core": "workspace:*", - "tslib": "^2.3.0" + "tslib": "^2.3.1" }, "devDependencies": { - "@ampproject/rollup-plugin-closure-compiler": "^0.27.0", - "@rollup/plugin-commonjs": "^17.1.0", - "@rollup/plugin-node-resolve": "^11.2.0", - "@types/jest": "^26.0.20", - "@typescript-eslint/eslint-plugin": "^4.9.0", - "@typescript-eslint/parser": "^4.9.0", - "rollup-plugin-ts": "^1.4.0", - "eslint": "^7.7.0", - "jest": "^26.6.3", - "jest-standard-reporter": "^2.0.0", - "rollup": "^2.41.1", - "rollup-plugin-cleanup": "^3.2.1", - "rollup-plugin-license": "^2.2.0", - "rollup-plugin-terser": "^7.0.2", - "ts-jest": "^26.5.0", - "typescript": "^4.3.5" + "@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.3.1" diff --git a/plugins/browser-plugin-optimizely-x/package.json b/plugins/browser-plugin-optimizely-x/package.json index 0e696185e..408589dcb 100644 --- a/plugins/browser-plugin-optimizely-x/package.json +++ b/plugins/browser-plugin-optimizely-x/package.json @@ -24,25 +24,28 @@ "dependencies": { "@snowplow/browser-tracker-core": "workspace:*", "@snowplow/tracker-core": "workspace:*", - "tslib": "^2.3.0" + "tslib": "^2.3.1" }, "devDependencies": { - "@ampproject/rollup-plugin-closure-compiler": "^0.27.0", - "@rollup/plugin-commonjs": "^17.1.0", - "@rollup/plugin-node-resolve": "^11.2.0", - "@types/jest": "^26.0.20", - "@typescript-eslint/eslint-plugin": "^4.9.0", - "@typescript-eslint/parser": "^4.9.0", - "rollup-plugin-ts": "^1.4.0", - "eslint": "^7.7.0", - "jest": "^26.6.3", - "jest-standard-reporter": "^2.0.0", - "rollup": "^2.41.1", - "rollup-plugin-cleanup": "^3.2.1", - "rollup-plugin-license": "^2.2.0", - "rollup-plugin-terser": "^7.0.2", - "ts-jest": "^26.5.0", - "typescript": "^4.3.5" + "@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.3.1" diff --git a/plugins/browser-plugin-optimizely/package.json b/plugins/browser-plugin-optimizely/package.json index 0be51c131..71c6d76f2 100644 --- a/plugins/browser-plugin-optimizely/package.json +++ b/plugins/browser-plugin-optimizely/package.json @@ -24,25 +24,28 @@ "dependencies": { "@snowplow/browser-tracker-core": "workspace:*", "@snowplow/tracker-core": "workspace:*", - "tslib": "^2.3.0" + "tslib": "^2.3.1" }, "devDependencies": { - "@ampproject/rollup-plugin-closure-compiler": "^0.27.0", - "@rollup/plugin-commonjs": "^17.1.0", - "@rollup/plugin-node-resolve": "^11.2.0", - "@types/jest": "^26.0.20", - "@typescript-eslint/eslint-plugin": "^4.9.0", - "@typescript-eslint/parser": "^4.9.0", - "rollup-plugin-ts": "^1.4.0", - "eslint": "^7.7.0", - "jest": "^26.6.3", - "jest-standard-reporter": "^2.0.0", - "rollup": "^2.41.1", - "rollup-plugin-cleanup": "^3.2.1", - "rollup-plugin-license": "^2.2.0", - "rollup-plugin-terser": "^7.0.2", - "ts-jest": "^26.5.0", - "typescript": "^4.3.5" + "@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.3.1" diff --git a/plugins/browser-plugin-performance-timing/package.json b/plugins/browser-plugin-performance-timing/package.json index 4c8d14a62..c4575fe7b 100644 --- a/plugins/browser-plugin-performance-timing/package.json +++ b/plugins/browser-plugin-performance-timing/package.json @@ -19,33 +19,33 @@ ], "scripts": { "build": "rollup -c --silent --failAfterWarnings", - "test": "jest --no-cache" + "test": "jest" }, "dependencies": { "@snowplow/browser-tracker-core": "workspace:*", "@snowplow/tracker-core": "workspace:*", - "tslib": "^2.3.0" + "tslib": "^2.3.1" }, "devDependencies": { - "@ampproject/rollup-plugin-closure-compiler": "^0.27.0", - "@rollup/plugin-commonjs": "^17.1.0", - "@rollup/plugin-node-resolve": "^11.2.0", - "@types/jest": "^26.0.20", - "@types/jsdom": "^16.2.6", - "@typescript-eslint/eslint-plugin": "^4.9.0", - "@typescript-eslint/parser": "^4.9.0", - "rollup-plugin-ts": "^1.4.0", - "eslint": "^7.7.0", - "jest": "^26.6.3", - "jest-environment-jsdom": "^26.6.2", - "jest-environment-jsdom-global": "^2.0.4", - "jest-standard-reporter": "^2.0.0", - "rollup": "^2.41.1", - "rollup-plugin-cleanup": "^3.2.1", - "rollup-plugin-license": "^2.2.0", - "rollup-plugin-terser": "^7.0.2", - "ts-jest": "^26.5.0", - "typescript": "^4.3.5" + "@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.3.1" diff --git a/plugins/browser-plugin-site-tracking/jest.config.js b/plugins/browser-plugin-site-tracking/jest.config.js index f6132556d..bd3ea4e2a 100644 --- a/plugins/browser-plugin-site-tracking/jest.config.js +++ b/plugins/browser-plugin-site-tracking/jest.config.js @@ -1,4 +1,5 @@ module.exports = { preset: 'ts-jest', reporters: ['jest-standard-reporter'], + testEnvironment: 'jest-environment-jsdom-global', }; diff --git a/plugins/browser-plugin-site-tracking/package.json b/plugins/browser-plugin-site-tracking/package.json index bce9d6163..2d95aaaad 100644 --- a/plugins/browser-plugin-site-tracking/package.json +++ b/plugins/browser-plugin-site-tracking/package.json @@ -19,32 +19,35 @@ ], "scripts": { "build": "rollup -c --silent --failAfterWarnings", - "test": "jest --no-cache" + "test": "jest" }, "dependencies": { "@snowplow/browser-tracker-core": "workspace:*", "@snowplow/tracker-core": "workspace:*", - "tslib": "^2.3.0" + "tslib": "^2.3.1" }, "devDependencies": { - "@ampproject/rollup-plugin-closure-compiler": "^0.27.0", - "@rollup/plugin-commonjs": "^17.1.0", - "@rollup/plugin-node-resolve": "^11.2.0", - "@types/jest": "^26.0.20", - "@types/lodash": "^4.14.168", - "@typescript-eslint/eslint-plugin": "^4.9.0", - "@typescript-eslint/parser": "^4.9.0", - "rollup-plugin-ts": "^1.4.0", - "eslint": "^7.7.0", - "jest": "^26.6.3", - "jest-standard-reporter": "^2.0.0", - "lodash": "^4.17.21", - "rollup": "^2.41.1", - "rollup-plugin-cleanup": "^3.2.1", - "rollup-plugin-license": "^2.2.0", - "rollup-plugin-terser": "^7.0.2", - "ts-jest": "^26.5.0", - "typescript": "^4.3.5" + "@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.3.1" diff --git a/plugins/browser-plugin-timezone/jest.config.js b/plugins/browser-plugin-timezone/jest.config.js index bac71daa0..bd3ea4e2a 100644 --- a/plugins/browser-plugin-timezone/jest.config.js +++ b/plugins/browser-plugin-timezone/jest.config.js @@ -1,5 +1,5 @@ module.exports = { preset: 'ts-jest', reporters: ['jest-standard-reporter'], - testEnvironment: 'jsdom', + testEnvironment: 'jest-environment-jsdom-global', }; diff --git a/plugins/browser-plugin-timezone/package.json b/plugins/browser-plugin-timezone/package.json index 79ee83172..e14afba1e 100644 --- a/plugins/browser-plugin-timezone/package.json +++ b/plugins/browser-plugin-timezone/package.json @@ -19,34 +19,36 @@ ], "scripts": { "build": "rollup -c --silent --failAfterWarnings", - "test": "jest --no-cache" + "test": "jest" }, "dependencies": { "@snowplow/browser-tracker-core": "workspace:*", "@snowplow/tracker-core": "workspace:*", "jstimezonedetect": "1.0.7", - "tslib": "^2.3.0" + "tslib": "^2.3.1" }, "devDependencies": { - "@ampproject/rollup-plugin-closure-compiler": "^0.27.0", - "@rollup/plugin-commonjs": "^17.1.0", - "@rollup/plugin-node-resolve": "^11.2.0", - "@types/jest": "^26.0.20", - "@types/jsdom": "^16.2.6", + "@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/jstimezonedetect": "~1.0.3", - "@typescript-eslint/eslint-plugin": "^4.9.0", - "@typescript-eslint/parser": "^4.9.0", - "rollup-plugin-ts": "^1.4.0", - "eslint": "^7.7.0", - "jest": "^26.6.3", - "jest-standard-reporter": "^2.0.0", - "moment-timezone": "^0.5.26", - "rollup": "^2.41.1", - "rollup-plugin-cleanup": "^3.2.1", - "rollup-plugin-license": "^2.2.0", - "rollup-plugin-terser": "^7.0.2", - "ts-jest": "^26.5.0", - "typescript": "^4.3.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", + "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", + "typescript": "~4.6.2" }, "peerDependencies": { "@snowplow/browser-tracker": "~3.3.1" diff --git a/plugins/browser-plugin-youtube-tracking/.prettierignore b/plugins/browser-plugin-youtube-tracking/.prettierignore deleted file mode 100644 index 9bf4fb248..000000000 --- a/plugins/browser-plugin-youtube-tracking/.prettierignore +++ /dev/null @@ -1,84 +0,0 @@ -#------------------------------------------------------------------------------------------------------------------- -# Keep this section in sync with .gitignore -#------------------------------------------------------------------------------------------------------------------- - -# Logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* - -# Runtime data -*.pid -*.seed -*.pid.lock - -# Directory for instrumented libs generated by jscoverage/JSCover -lib-cov - -# Coverage directory used by tools like istanbul -coverage - -# nyc test coverage -.nyc_output - -# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) -.grunt - -# Bower dependency directory (https://bower.io/) -bower_components - -# node-waf configuration -.lock-wscript - -# Compiled binary addons (https://nodejs.org/api/addons.html) -build/Release - -# Dependency directories -node_modules/ -jspm_packages/ - -# Optional npm cache directory -.npm - -# Optional eslint cache -.eslintcache - -# Optional REPL history -.node_repl_history - -# Output of 'npm pack' -*.tgz - -# Yarn Integrity file -.yarn-integrity - -# dotenv environment variables file -.env - -# next.js build output -.next - -# OS X temporary files -.DS_Store - -# IDE files -.idea/ -.DS_Store - -#------------------------------------------------------------------------------------------------------------------- -# Prettier-specific overrides -#------------------------------------------------------------------------------------------------------------------- - -# Package manager files -pnpm-lock.yaml -yarn.lock -package-lock.json -shrinkwrap.json - -# Build outputs -dist -lib - -# Prettier reformats code blocks inside Markdown, which affects rendered output -*.md \ No newline at end of file diff --git a/plugins/browser-plugin-youtube-tracking/.prettierrc b/plugins/browser-plugin-youtube-tracking/.prettierrc deleted file mode 100644 index 3bb548593..000000000 --- a/plugins/browser-plugin-youtube-tracking/.prettierrc +++ /dev/null @@ -1,7 +0,0 @@ -{ - "trailingComma": "es5", - "tabWidth": 2, - "singleQuote": true, - "printWidth": 120, - "endOfLine": "auto" -} diff --git a/plugins/browser-plugin-youtube-tracking/jest.config.js b/plugins/browser-plugin-youtube-tracking/jest.config.js index bac71daa0..bd3ea4e2a 100644 --- a/plugins/browser-plugin-youtube-tracking/jest.config.js +++ b/plugins/browser-plugin-youtube-tracking/jest.config.js @@ -1,5 +1,5 @@ module.exports = { preset: 'ts-jest', reporters: ['jest-standard-reporter'], - testEnvironment: 'jsdom', + testEnvironment: 'jest-environment-jsdom-global', }; diff --git a/plugins/browser-plugin-youtube-tracking/package.json b/plugins/browser-plugin-youtube-tracking/package.json index 2dba67942..3c77f871e 100644 --- a/plugins/browser-plugin-youtube-tracking/package.json +++ b/plugins/browser-plugin-youtube-tracking/package.json @@ -23,26 +23,29 @@ "dependencies": { "@snowplow/browser-tracker-core": "workspace:*", "@snowplow/tracker-core": "workspace:*", - "tslib": "^2.3.0" + "tslib": "^2.3.1" }, "devDependencies": { - "@ampproject/rollup-plugin-closure-compiler": "^0.27.0", - "@rollup/plugin-commonjs": "^17.1.0", - "@rollup/plugin-node-resolve": "^11.2.0", - "@types/jest": "^26.0.20", - "@typescript-eslint/eslint-plugin": "^4.9.0", - "@typescript-eslint/parser": "^4.9.0", - "rollup-plugin-ts": "^1.4.0", - "eslint": "^7.7.0", - "jest": "^26.6.3", - "jest-standard-reporter": "^2.0.0", - "rollup": "^2.41.1", - "rollup-plugin-cleanup": "^3.2.1", - "rollup-plugin-license": "^2.2.0", - "rollup-plugin-terser": "^7.0.2", - "ts-jest": "^26.5.0", - "typescript": "^4.3.5", - "@types/youtube": "^0.0.46" + "@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/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", + "typescript": "~4.6.2" }, "peerDependencies": { "@snowplow/browser-tracker": "~3.3.1" diff --git a/rush.json b/rush.json index d36aa8424..55cef3ba9 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.50.0", + "rushVersion": "5.61.1", /** * The next field selects which package manager should be installed and determines its version. @@ -26,10 +26,7 @@ * Specify one of: "pnpmVersion", "npmVersion", or "yarnVersion". See the Rush documentation * for details about these alternatives. */ - "pnpmVersion": "6.11.5", - - // "npmVersion": "4.5.0", - // "yarnVersion": "1.9.4", + "pnpmVersion": "6.27.1", /** * Options that are only used when the PNPM package manager is selected diff --git a/trackers/browser-tracker/package.json b/trackers/browser-tracker/package.json index cb80c7edb..50776c5f3 100644 --- a/trackers/browser-tracker/package.json +++ b/trackers/browser-tracker/package.json @@ -33,34 +33,34 @@ ], "scripts": { "build": "rollup -c --silent --failAfterWarnings", - "test": "jest --no-cache" + "test": "jest" }, "dependencies": { "@snowplow/browser-tracker-core": "workspace:*", "@snowplow/tracker-core": "workspace:*", - "tslib": "^2.3.0" + "tslib": "^2.3.1" }, "devDependencies": { - "@ampproject/rollup-plugin-closure-compiler": "^0.27.0", - "@rollup/plugin-commonjs": "^17.1.0", - "@rollup/plugin-node-resolve": "^11.2.0", - "@types/jest": "^26.0.20", - "@types/jsdom": "^16.2.6", - "@types/lodash": "^4.14.168", - "@typescript-eslint/eslint-plugin": "^4.9.0", - "@typescript-eslint/parser": "^4.9.0", - "rollup-plugin-ts": "^1.4.0", - "eslint": "^7.7.0", - "jest": "^26.6.3", - "jest-environment-jsdom": "^26.6.2", - "jest-environment-jsdom-global": "^2.0.4", - "jest-standard-reporter": "^2.0.0", - "lodash": "^4.17.21", - "rollup": "^2.41.1", - "rollup-plugin-cleanup": "^3.2.1", - "rollup-plugin-license": "^2.2.0", - "rollup-plugin-terser": "^7.0.2", - "ts-jest": "^26.5.0", - "typescript": "^4.3.5" + "@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" } } diff --git a/trackers/javascript-tracker/jest.config.js b/trackers/javascript-tracker/jest.config.js index bac71daa0..bd3ea4e2a 100644 --- a/trackers/javascript-tracker/jest.config.js +++ b/trackers/javascript-tracker/jest.config.js @@ -1,5 +1,5 @@ module.exports = { preset: 'ts-jest', reporters: ['jest-standard-reporter'], - testEnvironment: 'jsdom', + testEnvironment: 'jest-environment-jsdom-global', }; diff --git a/trackers/javascript-tracker/package.json b/trackers/javascript-tracker/package.json index 8127ff594..89cde2c00 100644 --- a/trackers/javascript-tracker/package.json +++ b/trackers/javascript-tracker/package.json @@ -27,13 +27,13 @@ "browser": "dist/sp.js", "scripts": { "build": "rollup -c --silent --failAfterWarnings", - "docker:micro": "docker pull snowplow/snowplow-micro:1.1.2", + "docker:micro": "docker pull snowplow/snowplow-micro:1.2.1", "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", "test:e2e:sauce": "npm-run-all --parallel test:build docker:micro --serial wdio:sauce", - "wdio:local": "wdio test/wdio.local.conf.js", - "wdio:sauce": "wdio test/wdio.sauce.conf.js" + "wdio:local": "wdio run ./test/wdio.local.conf.ts", + "wdio:sauce": "wdio run ./test/wdio.sauce.conf.ts" }, "dependencies": { "@snowplow/browser-plugin-ad-tracking": "workspace:*", @@ -47,52 +47,56 @@ "@snowplow/browser-plugin-ga-cookies": "workspace:*", "@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:*", "@snowplow/browser-plugin-timezone": "workspace:*", + "@snowplow/browser-plugin-youtube-tracking": "workspace:*", "@snowplow/browser-tracker": "workspace:*", "@snowplow/browser-tracker-core": "workspace:*", "@snowplow/tracker-core": "workspace:*", - "@snowplow/browser-plugin-media-tracking": "workspace:*", - "@snowplow/browser-plugin-youtube-tracking": "workspace:*", - "tslib": "^2.3.0" + "tslib": "^2.3.1" }, "devDependencies": { - "@ampproject/rollup-plugin-closure-compiler": "^0.27.0", - "@rollup/plugin-alias": "^3.1.2", - "@rollup/plugin-commonjs": "^17.1.0", - "@rollup/plugin-json": "^4.1.0", - "@rollup/plugin-node-resolve": "^11.2.0", - "@types/dockerode": "^3.2.2", - "@types/jest": "^26.0.20", - "@types/lodash": "^4.14.168", - "@types/node": "^14.6.0", - "@wdio/cli": "^6.12.1", - "@wdio/jasmine-framework": "^6.11.0", - "@wdio/local-runner": "^6.12.1", - "@wdio/sauce-service": "^6.12.1", - "@wdio/spec-reporter": "^6.11.0", - "@wdio/static-server-service": "^6.10.10", - "@wdio/sync": "^6.11.0", - "rollup-plugin-ts": "^1.4.0", - "chromedriver": "^94.0.0", - "dockerode": "^3.2.1", - "jest": "^26.6.3", - "jest-standard-reporter": "^2.0.0", - "lodash": "^4.17.21", - "npm-run-all": "^4.1.5", - "rollup": "^2.41.1", - "rollup-plugin-cleanup": "^3.2.1", - "rollup-plugin-filesize": "^9.0.2", - "rollup-plugin-license": "^2.2.0", - "rollup-plugin-sizes": "^1.0.3", - "rollup-plugin-terser": "^7.0.2", - "saucelabs": "^4.6.0", - "ts-jest": "^26.5.0", - "ts-node": "^9.1.1", - "typescript": "^4.3.5", - "wdio-chromedriver-service": "^6.0.4" + "@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", + "@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", + "@wdio/cli": "~7.19.3", + "@wdio/jasmine-framework": "~7.19.3", + "@wdio/local-runner": "~7.19.3", + "@wdio/sauce-service": "~7.19.3", + "@wdio/spec-reporter": "~7.19.1", + "@wdio/static-server-service": "~7.19.1", + "@wdio/types": "~7.19.1", + "chromedriver": "~99.0.0", + "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", + "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.1.3", + "ts-jest": "~27.1.3", + "ts-node": "~10.7.0", + "typescript": "~4.6.2", + "wdio-chromedriver-service": "~7.3.2", + "webdriverio": "~7.19.3" } } diff --git a/trackers/javascript-tracker/rollup.config.js b/trackers/javascript-tracker/rollup.config.js index 8310ef513..65c7feffe 100644 --- a/trackers/javascript-tracker/rollup.config.js +++ b/trackers/javascript-tracker/rollup.config.js @@ -45,7 +45,7 @@ const plugins = [ json(), nodeResolve({ browser: true }), commonjs(), - ts({ tsconfig: './tsconfig.prod.json' }), + ts(), compiler(), terser(), cleanup({ comments: 'none' }), diff --git a/trackers/javascript-tracker/rollup.config.test.js b/trackers/javascript-tracker/rollup.config.test.js index bae6fe2e5..a8e46621b 100644 --- a/trackers/javascript-tracker/rollup.config.test.js +++ b/trackers/javascript-tracker/rollup.config.test.js @@ -34,7 +34,7 @@ import commonjs from '@rollup/plugin-commonjs'; import alias from '@rollup/plugin-alias'; import json from '@rollup/plugin-json'; -const plugins = [json(), nodeResolve({ browser: true }), commonjs(), ts({ tsconfig: './tsconfig.prod.json' })]; +const plugins = [json(), nodeResolve({ browser: true }), commonjs(), ts()]; export default [ { diff --git a/trackers/javascript-tracker/src/features.ts b/trackers/javascript-tracker/src/features.ts index 33c757c2b..3015983ed 100644 --- a/trackers/javascript-tracker/src/features.ts +++ b/trackers/javascript-tracker/src/features.ts @@ -46,7 +46,7 @@ import * as AdTracking from '@snowplow/browser-plugin-ad-tracking'; import * as SiteTracking from '@snowplow/browser-plugin-site-tracking'; import * as MediaTracking from '@snowplow/browser-plugin-media-tracking'; import * as YouTubeTracking from '@snowplow/browser-plugin-youtube-tracking'; -import { plugins } from '../tracker.config'; +import * as plugins from '../tracker.config'; import { BrowserPlugin } from '@snowplow/browser-tracker-core'; import { JavaScriptTrackerConfiguration } from './configuration'; diff --git a/trackers/javascript-tracker/test/functional/activityCallback.test.ts b/trackers/javascript-tracker/test/functional/activityCallback.test.ts index 887a9c322..a0d9dca62 100644 --- a/trackers/javascript-tracker/test/functional/activityCallback.test.ts +++ b/trackers/javascript-tracker/test/functional/activityCallback.test.ts @@ -29,6 +29,7 @@ */ import F from 'lodash/fp'; +import { DockerWrapper, start, stop } from '../micro'; declare var trackPageView: () => void; declare var findMaxX: () => number; @@ -38,21 +39,39 @@ declare var findFirstEventForPageViewId: (id: string) => Record declare var findLastEventForPageViewId: (id: string) => Record; describe('Activity tracking with callbacks', () => { - it('reports events on scroll', () => { - browser.url('/activity-callback.html?test1'); - browser.waitUntil(() => $('#init').getText() === 'true', { + let docker: DockerWrapper; + + beforeAll(async () => { + await browser.call(async () => { + return await start().then((container) => { + docker = container; + }); + }); + await browser.url('/index.html'); + await browser.setCookies({ name: 'container', value: docker.url }); + }); + + afterAll(async () => { + await browser.call(async () => { + return await stop(docker.container); + }); + }); + + it('reports events on scroll', async () => { + await browser.url('/activity-callback.html?test1'); + await browser.waitUntil(async () => (await $('#init').getText()) === 'true', { timeout: 5000, timeoutMsg: 'expected init after 5s', interval: 250, }); - $('#bottomRight').scrollIntoView(); + await $('#bottomRight').scrollIntoView(); - browser.waitUntil(() => +$('#numEvents').getText() >= 1, { + await browser.waitUntil(async () => +(await $('#numEvents').getText()) >= 1, { timeout: 10000, timeoutMsg: 'expected > 1 event after 10s', }); - const [maxX, maxY] = browser.execute(() => { + const [maxX, maxY] = await browser.execute(() => { return [findMaxX(), findMaxY()]; }); @@ -60,50 +79,50 @@ describe('Activity tracking with callbacks', () => { expect(maxY).toBeGreaterThan(100); }); - it('carries pageviewid change through and resets scroll', () => { - browser.url('/activity-callback.html?test2'); - browser.waitUntil(() => $('#init').getText() === 'true', { + it('carries pageviewid change through and resets scroll', async () => { + await browser.url('/activity-callback.html?test2'); + await browser.waitUntil(async () => (await $('#init').getText()) === 'true', { timeout: 5000, timeoutMsg: 'expected init after 5s', interval: 250, }); - browser.execute(() => window.scrollTo(0, 0)); + await browser.execute(() => window.scrollTo(0, 0)); - browser.execute(() => { + await browser.execute(() => { getCurrentPageViewId(); }); - const firstPageViewId = $('#currentPageViewId').getText(); + const firstPageViewId = await $('#currentPageViewId').getText(); - $('#bottomRight').scrollIntoView(); - $('#middle').scrollIntoView(); - browser.waitUntil(() => +$('#numEvents').getText() >= 1, { + await $('#bottomRight').scrollIntoView(); + await $('#middle').scrollIntoView(); + await browser.waitUntil(async () => +(await $('#numEvents').getText()) >= 1, { timeout: 10000, timeoutMsg: 'expected > 1 event after 10s', }); - browser.execute(() => { + await browser.execute(() => { trackPageView(); }); - $('#bottomRight').scrollIntoView(); + await $('#bottomRight').scrollIntoView(); - browser.waitUntil(() => +$('#numEvents').getText() > 1, { + await browser.waitUntil(async () => +(await $('#numEvents').getText()) > 1, { timeout: 10000, timeoutMsg: 'expected > 1 event after 10s', }); - browser.execute(() => { + await browser.execute(() => { getCurrentPageViewId(); }); - const secondPageViewId = $('#currentPageViewId').getText(); + const secondPageViewId = await $('#currentPageViewId').getText(); // sanity check expect(firstPageViewId).not.toEqual(secondPageViewId); - const first = browser.execute((id) => { + const first = await browser.execute((id) => { return findFirstEventForPageViewId(id); }, firstPageViewId); - const second = browser.execute((id) => { + const second = await browser.execute((id) => { return findLastEventForPageViewId(id); }, secondPageViewId); diff --git a/trackers/javascript-tracker/test/functional/cookies.test.ts b/trackers/javascript-tracker/test/functional/cookies.test.ts index 044369b55..05c69ad54 100644 --- a/trackers/javascript-tracker/test/functional/cookies.test.ts +++ b/trackers/javascript-tracker/test/functional/cookies.test.ts @@ -29,21 +29,21 @@ */ describe('Tracker created domain cookies', () => { - it('contain the expected cookie names', () => { - browser.url('/cookies.html'); - browser.waitUntil(() => $('#init').getText() === 'true', { + it('contain the expected cookie names', async () => { + await browser.url('/cookies.html'); + await browser.waitUntil(async () => (await $('#init').getText()) === 'true', { timeout: 5000, timeoutMsg: 'expected init after 5s', interval: 250, }); - browser.waitUntil(() => $('#cookies').getText() !== '', { + await browser.waitUntil(async () => (await $('#cookies').getText()) !== '', { timeout: 5000, timeoutMsg: 'expected cookie to be set after 5s', interval: 250, }); - const cookies = $('#cookies').getText(); + const cookies = await $('#cookies').getText(); expect(cookies).not.toContain('_sp_0ses.'); // Missing as tests are not HTTPS and `cookieSecure: true` by default expect(cookies).not.toContain('_sp_0id.'); @@ -63,15 +63,15 @@ describe('Tracker created domain cookies', () => { expect(cookies).toContain('_sp_6ses.'); expect(cookies).toContain('_sp_6id.'); - expect($('#getDomainUserId').getText()).toMatch( + expect(await $('#getDomainUserId').getText()).toMatch( /\b[0-9a-f]{8}\b-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-\b[0-9a-f]{12}\b/i ); - expect($('#getDomainUserInfo').getText()).toMatch( + expect(await $('#getDomainUserInfo').getText()).toMatch( /\b[0-9a-f]{8}\b-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-\b[0-9a-f]{12}\b.[0-9]+.[0-9].[0-9]+.[0-9]+.\b[0-9a-f]{8}\b-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-\b[0-9a-f]{12}\b/i ); - expect($('#getUserId').getText()).toBe('Dave'); - expect($('#getCookieName').getText()).toMatch(/_sp_1id.[0-9a-z]{4}/i); - expect($('#getPageViewId').getText()).toMatch( + expect(await $('#getUserId').getText()).toBe('Dave'); + expect(await $('#getCookieName').getText()).toMatch(/_sp_1id.[0-9a-z]{4}/i); + expect(await $('#getPageViewId').getText()).toMatch( /\b[0-9a-f]{8}\b-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-\b[0-9a-f]{12}\b/i ); }); diff --git a/trackers/javascript-tracker/test/integration/autoTracking.test.ts b/trackers/javascript-tracker/test/integration/autoTracking.test.ts index 009340b7e..7a28e0c9b 100755 --- a/trackers/javascript-tracker/test/integration/autoTracking.test.ts +++ b/trackers/javascript-tracker/test/integration/autoTracking.test.ts @@ -51,54 +51,44 @@ describe('Auto tracking', () => { const logContains = (ev: unknown) => F.some(isMatchWithCallback(ev as object), log); - const loadUrlAndWait = (url: string) => { - browser.url(url); - browser.waitUntil(() => $('#init').getText() === 'true', { + const loadUrlAndWait = async (url: string) => { + await browser.url(url); + await browser.waitUntil(async () => (await $('#init').getText()) === 'true', { timeout: 5000, timeoutMsg: 'expected init after 5s', interval: 250, }); }; - beforeAll(() => { - browser.call(() => { - return start().then((container) => { - docker = container; - }); - }); - browser.url('/index.html'); - browser.setCookies({ name: 'container', value: docker.url }); + beforeAll(async () => { + await browser.call(async () => (docker = await start())); + await browser.url('/index.html'); + await browser.setCookies({ name: 'container', value: docker.url }); }); - afterAll(() => { - browser.call(() => { - return stop(docker.container); - }); + afterAll(async () => { + await browser.call(async () => await stop(docker.container)); }); - it('should send a link click events', () => { - loadUrlAndWait('/link-tracking.html'); - $('#link-to-click').click(); + it('should send a link click events', async () => { + await loadUrlAndWait('/link-tracking.html'); + await $('#link-to-click').click(); - loadUrlAndWait('/link-tracking.html?filter=exclude'); - $('#link-to-not-track').click(); - $('#link-to-click').click(); + await loadUrlAndWait('/link-tracking.html?filter=exclude'); + await $('#link-to-not-track').click(); + await $('#link-to-click').click(); - loadUrlAndWait('/link-tracking.html?filter=filter'); - $('#link-to-filter').click(); - $('#link-to-click').click(); + await loadUrlAndWait('/link-tracking.html?filter=filter'); + await $('#link-to-filter').click(); + await $('#link-to-click').click(); - loadUrlAndWait('/link-tracking.html?filter=include'); - $('#link-to-filter').click(); - $('#link-to-click').click(); + await loadUrlAndWait('/link-tracking.html?filter=include'); + await $('#link-to-filter').click(); + await $('#link-to-click').click(); // time for activity to register and request to arrive - browser.pause(5000); - browser.call(() => - fetchResults(docker.url).then((result) => { - log = result; - }) - ); + await browser.pause(5000); + log = await browser.call(async () => await fetchResults(docker.url)); }); it('should send a link click event', () => { @@ -252,93 +242,89 @@ describe('Auto tracking', () => { ).toBe(true); }); - it('should send form events', () => { - loadUrlAndWait('/form-tracking.html'); - $('#fname').click(); + it('should send form events', async () => { + await loadUrlAndWait('/form-tracking.html'); + await $('#fname').click(); // Safari 12.1 doesn't fire onchange events when clearing // However some browsers don't support setValue if (F.isMatch({ browserName: 'Safari', browserVersion: '12.1.1' }, browser.capabilities)) { - $('#fname').setValue(SAFARI_EXPECTED_FIRST_NAME); + await $('#fname').setValue(SAFARI_EXPECTED_FIRST_NAME); } else { - $('#fname').clearValue(); + await $('#fname').clearValue(); } - $('#lname').click(); + await $('#lname').click(); - browser.pause(250); + await browser.pause(250); - $('#bike').click(); + await $('#bike').click(); - browser.pause(250); + await browser.pause(250); - $('#cars').click(); - $('#cars').selectByAttribute('value', 'saab'); - $('#cars').click(); + await $('#cars').click(); + await $('#cars').selectByAttribute('value', 'saab'); + await $('#cars').click(); - browser.pause(250); + await browser.pause(250); - $('#message').click(); + await $('#message').click(); // Safari 12.1 doesn't fire onchange events when clearing // However some browsers don't support setValue if (F.isMatch({ browserName: 'Safari', browserVersion: '12.1.1' }, browser.capabilities)) { - $('#message').setValue(SAFARI_EXPECTED_MESSAGE); + await $('#message').setValue(SAFARI_EXPECTED_MESSAGE); } else { - $('#message').clearValue(); + await $('#message').clearValue(); } - browser.pause(250); + await browser.pause(250); - $('#terms').click(); + await $('#terms').click(); - browser.pause(2000); + await browser.pause(2000); - $('#submit').click(); + await $('#submit').click(); - browser.pause(1000); + await browser.pause(1000); - browser.execute(() => { + await browser.execute(() => { addField(); }); - $('#newfield').click(); + await $('#newfield').click(); - browser.pause(1000); + await browser.pause(1000); - loadUrlAndWait('/form-tracking.html?filter=exclude'); + await loadUrlAndWait('/form-tracking.html?filter=exclude'); - $('#fname').click(); - $('#lname').click(); + await $('#fname').click(); + await $('#lname').click(); - browser.pause(1000); + await browser.pause(1000); - loadUrlAndWait('/form-tracking.html?filter=include'); + await loadUrlAndWait('/form-tracking.html?filter=include'); - $('#lname').click(); + await $('#lname').click(); - browser.pause(1000); + await browser.pause(1000); - loadUrlAndWait('/form-tracking.html?filter=filter'); + await loadUrlAndWait('/form-tracking.html?filter=filter'); - $('#fname').click(); - $('#lname').click(); + await $('#fname').click(); + await $('#lname').click(); - browser.pause(1000); + await browser.pause(1000); - loadUrlAndWait('/form-tracking.html?filter=excludedForm'); + await loadUrlAndWait('/form-tracking.html?filter=excludedForm'); - $('#excluded-fname').click(); + await $('#excluded-fname').click(); $('#excluded-submit').click(); // time for activity to register and request to arrive - browser.pause(2500); + await browser.pause(2500); - browser.call(() => - fetchResults(docker.url).then((result) => { - log = result; - }) - ); + log = await browser.call(async () => await fetchResults(docker.url)); }); it('should send focus_form for the dynamically added form element', () => { diff --git a/trackers/javascript-tracker/test/integration/cookieless.test.ts b/trackers/javascript-tracker/test/integration/cookieless.test.ts index 60e3c0c6e..d4ed6b9a3 100644 --- a/trackers/javascript-tracker/test/integration/cookieless.test.ts +++ b/trackers/javascript-tracker/test/integration/cookieless.test.ts @@ -42,30 +42,20 @@ describe('Anonymous tracking features', () => { const listContains = (items: Array, ev: unknown) => F.some(F.isMatch(ev as object), items); - beforeAll(() => { - browser.call(() => { - return start().then((container) => { - docker = container; - }); - }); - browser.url('/index.html'); - browser.setCookies({ name: 'container', value: docker.url }); - browser.url('/cookieless.html'); - browser.pause(5000); // Time for requests to get written - browser.url('/cookieless.html?ieTest=true'); - browser.pause(2500); // Time for requests to get written - - browser.call(() => - fetchResults(docker.url).then((result) => { - log = result; - }) - ); + beforeAll(async () => { + await browser.call(async () => (docker = await start())); + await browser.url('/index.html'); + await browser.setCookies({ name: 'container', value: docker.url }); + await browser.url('/cookieless.html'); + await browser.pause(5000); // Time for requests to get written + await browser.url('/cookieless.html?ieTest=true'); + await browser.pause(2500); // Time for requests to get written + + log = await browser.call(async () => await fetchResults(docker.url)); }); - afterAll(() => { - browser.call(() => { - return stop(docker.container); - }); + afterAll(async () => { + await browser.call(async () => await stop(docker.container)); }); it('should have no user information in page view when server anonymisation ', () => { diff --git a/trackers/javascript-tracker/test/integration/helpers.ts b/trackers/javascript-tracker/test/integration/helpers.ts new file mode 100644 index 000000000..1c66b7c8f --- /dev/null +++ b/trackers/javascript-tracker/test/integration/helpers.ts @@ -0,0 +1,67 @@ +/* + * 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 { WaitUntilOptions } from 'webdriverio'; +import util from 'util'; + +declare module WebdriverIO { + interface Browser { + pause: (interval: number) => Promise; + } +} + +export const dumpLog = (log: Array) => console.log(util.inspect(log, true, null, true)); + +/** + * This is a custom implementation of `browser.waitUntil` provided by WDIO as that + * became unreliable and exited too early. Can be removed once `browser.waitUntil` + * behaves reliably. + */ +export const waitUntil = async ( + browser: WebdriverIO.Browser, + condition: () => Promise, + { interval, timeout, timeoutMsg }: Partial = {} +) => { + timeout = timeout ?? 5000; + interval = interval ?? 500; + let iterations = timeout / interval; + for (let i = 1; ; i++) { + await browser.pause(interval); + let result = await condition(); + if (i >= iterations) { + if (!result) { + throw new Error(timeoutMsg ?? 'Timeout while waiting'); + } + break; + } else if (result) { + break; + } + } +}; diff --git a/trackers/javascript-tracker/test/integration/integration.test.ts b/trackers/javascript-tracker/test/integration/integration.test.ts index 009ce89ad..2a55d307d 100755 --- a/trackers/javascript-tracker/test/integration/integration.test.ts +++ b/trackers/javascript-tracker/test/integration/integration.test.ts @@ -37,13 +37,13 @@ const dumpLog = (log: Array) => console.log(util.inspect(log, true, nul const retrieveSchemaData = (schema: unknown) => F.compose(F.get('data'), F.find({ schema }), F.get('data')); -const loadUrlAndWait = (url: string) => { - browser.url(url); - browser.waitUntil(() => $('#init').getText() === 'true', { +const loadUrlAndWait = async (url: string) => { + await browser.url(url); + await browser.waitUntil(async () => (await $('#init').getText()) === 'true', { timeout: 5000, timeoutMsg: 'expected init after 5s', }); - browser.waitUntil(() => $('#secondInit').getText() === 'true', { + await browser.waitUntil(async () => (await $('#secondInit').getText()) === 'true', { timeout: 5000, timeoutMsg: 'expected init after 5s', }); @@ -74,36 +74,26 @@ describe('Snowplow Micro integration', () => { const logContains = (ev: unknown) => F.some(F.isMatch(ev as object), log); const logContainsFn = (ev: unknown) => F.some(isMatchWithCallback(ev as object), log); - beforeAll(() => { - browser.call(() => { - return start().then((container) => { - docker = container; - }); - }); - browser.url('/index.html'); - browser.setCookies({ name: 'container', value: docker.url }); - - loadUrlAndWait('/integration.html?eventMethod=get'); - $('#bottomRight').scrollIntoView(); - browser.pause(10000); // Time for requests to get written - loadUrlAndWait('/integration.html?eventMethod=post'); - $('#bottomRight').scrollIntoView(); - browser.pause(6000); // Time for requests to get written - loadUrlAndWait('/integration.html?eventMethod=beacon'); - $('#bottomRight').scrollIntoView(); - browser.pause(6000); // Time for requests to get written - - browser.call(() => - fetchResults(docker.url).then((result) => { - log = result; - }) - ); + beforeAll(async () => { + await browser.call(async () => (docker = await start())); + await browser.url('/index.html'); + await browser.setCookies({ name: 'container', value: docker.url }); + + await loadUrlAndWait('/integration.html?eventMethod=get'); + await $('#bottomRight').scrollIntoView(); + await browser.pause(10000); // Time for requests to get written + await loadUrlAndWait('/integration.html?eventMethod=post'); + await $('#bottomRight').scrollIntoView(); + await browser.pause(6000); // Time for requests to get written + await loadUrlAndWait('/integration.html?eventMethod=beacon'); + await $('#bottomRight').scrollIntoView(); + await browser.pause(6000); // Time for requests to get written + + log = await browser.call(async () => await fetchResults(docker.url)); }); - afterAll(() => { - browser.call(() => { - return stop(docker.container); - }); + afterAll(async () => { + await browser.call(async () => await stop(docker.container)); }); eventMethods.forEach((method) => { diff --git a/trackers/javascript-tracker/test/integration/media.test.ts b/trackers/javascript-tracker/test/integration/media.test.ts index f4796be0d..5253356b8 100644 --- a/trackers/javascript-tracker/test/integration/media.test.ts +++ b/trackers/javascript-tracker/test/integration/media.test.ts @@ -29,6 +29,28 @@ import _ from 'lodash'; import { DockerWrapper, start, stop, fetchResults, clearCache } from '../micro'; +import { waitUntil } from './helpers'; + +const playVideoElement1Callback = () => { + return (done: (_: void) => void) => { + const promise = (document.getElementById('html5') as HTMLVideoElement).play(); + if (promise) { + promise.then(done); + } else { + done(); + } // IE does not return a promise + }; +}; +const playVideoElement2Callback = () => { + return (done: (_: void) => void) => { + const promise = (document.getElementById('html5-2') as HTMLVideoElement).play(); + if (promise) { + promise.then(done); + } else { + done(); + } // IE does not return a promise + }; +}; const makeExpectedEvent = ( eventType: string, @@ -166,45 +188,52 @@ describe('Media Tracker', () => { return; } - beforeAll(() => { - browser.call(() => { - return start().then((container) => { - docker = container; - }); - }); + beforeAll(async () => { + await browser.call(async () => (docker = await start())); - browser.url('/index.html'); - browser.setCookies({ name: 'container', value: docker.url }); - browser.url('media/tracking.html'); + await browser.url('/index.html'); + await browser.setCookies({ name: 'container', value: docker.url }); + await browser.url('media/tracking.html'); - browser.waitUntil(() => $('#html5').isExisting(), { + await waitUntil(browser, () => $('#html5').isExisting(), { timeout: 10000, timeoutMsg: 'expected html5 after 5s', }); let actions = [ - () => (document.getElementById('html5') as HTMLVideoElement).play(), - () => (document.getElementById('html5') as HTMLVideoElement).pause(), - () => ((document.getElementById('html5') as HTMLVideoElement).volume = 0.5), - () => ((document.getElementById('html5') as HTMLVideoElement).playbackRate = 0.9), - () => ((document.getElementById('html5') as HTMLVideoElement).currentTime = 18), - () => (document.getElementById('html5') as HTMLVideoElement).play(), + playVideoElement1Callback(), + (done: () => void) => { + (document.getElementById('html5') as HTMLVideoElement).pause(); + done(); + }, + (done: () => void) => { + (document.getElementById('html5') as HTMLVideoElement).volume = 0.5; + done(); + }, + (done: () => void) => { + (document.getElementById('html5') as HTMLVideoElement).playbackRate = 0.9; + done(); + }, + (done: () => void) => { + (document.getElementById('html5') as HTMLVideoElement).currentTime = 18; + done(); + }, + playVideoElement1Callback(), ]; - actions.forEach((a) => { - browser.execute(a); - browser.pause(500); - }); + for (const a of actions) { + await browser.executeAsync(a); + await browser.pause(500); + } // 'ended' should be the final event, if not, try again - browser.waitUntil( - () => { - return browser.call(() => - fetchResults(docker.url).then((result) => { - log = result; - return log.some((l: any) => l.event.unstruct_event.data.data.type === 'ended'); - }) - ); + await waitUntil( + browser, + async () => { + return await browser.call(async () => { + let log = await fetchResults(docker.url); + return log.some((l: any) => l.event.unstruct_event.data.data.type === 'ended'); + }); }, { interval: 2000, @@ -212,11 +241,13 @@ describe('Media Tracker', () => { timeoutMsg: 'All events not found before timeout', } ); + + log = await browser.call(async () => await fetchResults(docker.url)); }); - afterAll(() => { - browser.waitUntil(() => { - return browser.call(() => clearCache(docker.url)); + afterAll(async () => { + await waitUntil(browser, async () => { + return await browser.call(async () => await clearCache(docker.url)); }); }); @@ -246,35 +277,40 @@ describe('Media Tracker', () => { }); describe('Media Tracker (2 videos, 1 tracker)', () => { - beforeAll(() => { - browser.url('/media/tracking-2-players.html'); + beforeAll(async () => { + await browser.url('/media/tracking-2-players.html'); - browser.waitUntil(() => $('#html5').isExisting(), { + await waitUntil(browser, () => $('#html5').isExisting(), { timeout: 10000, timeoutMsg: 'expected html5 after 5s', }); let actions = [ - () => (document.getElementById('html5') as HTMLVideoElement).play(), - () => (document.getElementById('html5-2') as HTMLVideoElement).play(), - () => (document.getElementById('html5') as HTMLVideoElement).pause(), - () => (document.getElementById('html5-2') as HTMLVideoElement).pause(), + playVideoElement1Callback(), + playVideoElement2Callback(), + (done: () => void) => { + (document.getElementById('html5') as HTMLVideoElement).pause(); + done(); + }, + (done: () => void) => { + (document.getElementById('html5-2') as HTMLVideoElement).pause(); + done(); + }, ]; - actions.forEach((a) => { - browser.execute(a); - browser.pause(200); - }); + for (const a of actions) { + await browser.executeAsync(a); + await browser.pause(200); + } // wait until we have 2 'pause' events - browser.waitUntil( - () => { - return browser.call(() => - fetchResults(docker.url).then((result) => { - log = result; - return log.filter((l: any) => l.event.unstruct_event.data.data.type === 'pause').length === 2; - }) - ); + await waitUntil( + browser, + async () => { + return await browser.call(async () => { + let log = await fetchResults(docker.url); + return log.filter((l: any) => l.event.unstruct_event.data.data.type === 'pause').length === 2; + }); }, { interval: 2000, @@ -282,11 +318,13 @@ describe('Media Tracker (2 videos, 1 tracker)', () => { timeoutMsg: 'All events not found before timeout', } ); + + log = await browser.call(async () => await fetchResults(docker.url)); }); - afterAll(() => { - browser.waitUntil(() => { - return browser.call(() => clearCache(docker.url)); + afterAll(async () => { + await waitUntil(browser, async () => { + return await browser.call(async () => await clearCache(docker.url)); }); }); @@ -309,27 +347,26 @@ describe('Media Tracker (2 videos, 1 tracker)', () => { }); describe('Media Tracker (1 video, 2 trackers)', () => { - beforeAll(() => { - browser.url('media/tracking-2-trackers.html'); + beforeAll(async () => { + await browser.url('media/tracking-2-trackers.html'); - browser.waitUntil(() => $('#html5').isExisting(), { + await waitUntil(browser, () => $('#html5').isExisting(), { timeout: 10000, timeoutMsg: 'expected html5 after 5s', }); - browser.execute(() => (document.getElementById('html5') as HTMLVideoElement).play()); - browser.pause(200); - browser.execute(() => (document.getElementById('html5') as HTMLVideoElement).pause()); + await browser.executeAsync(playVideoElement1Callback()); + await browser.pause(200); + await browser.execute(() => (document.getElementById('html5') as HTMLVideoElement).pause()); // wait until we have 2 'pause' events - browser.waitUntil( - () => { - return browser.call(() => - fetchResults(docker.url).then((result) => { - log = result; - return log.filter((l: any) => l.event.unstruct_event.data.data.type === 'pause').length === 2; - }) - ); + await waitUntil( + browser, + async () => { + return await browser.call(async () => { + let log = await fetchResults(docker.url); + return log.filter((l: any) => l.event.unstruct_event.data.data.type === 'pause').length === 2; + }); }, { interval: 2000, @@ -337,11 +374,13 @@ describe('Media Tracker (1 video, 2 trackers)', () => { timeoutMsg: 'All events not found before timeout', } ); + + log = await browser.call(async () => await fetchResults(docker.url)); }); - afterAll(() => { - browser.waitUntil(() => { - return browser.call(() => clearCache(docker.url)); + afterAll(async () => { + await waitUntil(browser, async () => { + return await browser.call(async () => await clearCache(docker.url)); }); }); @@ -363,48 +402,57 @@ describe('Media Tracker (1 video, 2 trackers)', () => { }); describe('Media Tracker - All Events', () => { - beforeAll(() => { - browser.url('/index.html'); - browser.setCookies({ name: 'container', value: docker.url }); - browser.url('media/tracking-all-events.html'); + beforeAll(async () => { + await browser.url('media/tracking-all-events.html'); - browser.waitUntil(() => $('#html5').isExisting(), { + await waitUntil(browser, () => $('#html5').isExisting(), { timeout: 10000, timeoutMsg: 'expected html5 after 5s', }); - const video_url = browser.execute(() => { + const video_url = await browser.execute(() => { return (document.getElementById('html5') as HTMLVideoElement).src; }); let actions = [ - () => (document.getElementById('html5') as HTMLVideoElement).play(), - () => (document.getElementById('html5') as HTMLVideoElement).pause(), - () => ((document.getElementById('html5') as HTMLVideoElement).currentTime = 18), - () => (document.getElementById('html5') as HTMLVideoElement).play(), - () => ((document.getElementById('html5') as HTMLVideoElement).textTracks[0].mode = 'disabled'), - () => ((document.getElementById('html5') as HTMLVideoElement).src = 'not-a-video.unsupported_format'), + playVideoElement1Callback(), + (done: () => void) => { + (document.getElementById('html5') as HTMLVideoElement).pause(); + done(); + }, + (done: () => void) => { + (document.getElementById('html5') as HTMLVideoElement).currentTime = 18; + done(); + }, + playVideoElement1Callback(), + (done: () => void) => { + (document.getElementById('html5') as HTMLVideoElement).textTracks[0].mode = 'disabled'; + done(); + }, + (done: () => void) => { + (document.getElementById('html5') as HTMLVideoElement).src = 'not-a-video.unsupported_format'; + done(); + }, ]; - actions.forEach((a) => { - browser.execute(a); - browser.pause(1000); - }); + for (const a of actions) { + await browser.executeAsync(a); + await browser.pause(1000); + } - browser.execute((video_url) => { + await browser.execute((video_url) => { (document.getElementById('html5') as HTMLVideoElement).src = video_url; }, video_url); - browser.waitUntil( - () => { - return browser.call(() => - fetchResults(docker.url).then((result) => { - log = result; - // Events can occur in any order, so we can't just check for the last event - // 40 - 45 events are expected, due to the timing of 'timeupdate' events - return result.length > 40; - }) - ); + await waitUntil( + browser, + async () => { + return await browser.call(async () => { + let log = await fetchResults(docker.url); + // Events can occur in any order, so we can't just check for the last event + // 40 - 45 events are expected, due to the timing of 'timeupdate' events + return log.length > 40; + }); }, { interval: 2000, @@ -412,12 +460,12 @@ describe('Media Tracker - All Events', () => { timeoutMsg: 'All events not found before timeout', } ); + + log = await browser.call(async () => await fetchResults(docker.url)); }); - afterAll(() => { - browser.call(() => { - return stop(docker.container); - }); + afterAll(async () => { + await browser.call(async () => await stop(docker.container)); }); const getFirstEventOfEventType = (eventType: string) => { diff --git a/trackers/javascript-tracker/test/integration/sessionStorage.test.ts b/trackers/javascript-tracker/test/integration/sessionStorage.test.ts index fb70bae5f..e7aa41afd 100644 --- a/trackers/javascript-tracker/test/integration/sessionStorage.test.ts +++ b/trackers/javascript-tracker/test/integration/sessionStorage.test.ts @@ -40,27 +40,17 @@ describe('Sessions', () => { const logContains = (ev: unknown) => F.some(F.isMatch(ev as object), log); - beforeAll(() => { - browser.call(() => { - return start().then((container) => { - docker = container; - }); - }); - browser.url('/index.html'); - browser.setCookies({ name: 'container', value: docker.url }); - browser.url('/session-integration.html'); - browser.pause(6000); // Time for requests to get written - browser.call(() => - fetchResults(docker.url).then((result) => { - log = result; - }) - ); + beforeAll(async () => { + await browser.call(async () => (docker = await start())); + await browser.url('/index.html'); + await browser.setCookies({ name: 'container', value: docker.url }); + await browser.url('/session-integration.html'); + await browser.pause(6000); // Time for requests to get written + log = await browser.call(async () => await fetchResults(docker.url)); }); - afterAll(() => { - browser.call(() => { - return stop(docker.container); - }); + afterAll(async () => { + browser.call(async () => await stop(docker.container)); }); it('should count sessions using cookies', () => { diff --git a/trackers/javascript-tracker/test/integration/youtube.test.ts b/trackers/javascript-tracker/test/integration/youtube.test.ts index fcdde17dd..17f30024c 100644 --- a/trackers/javascript-tracker/test/integration/youtube.test.ts +++ b/trackers/javascript-tracker/test/integration/youtube.test.ts @@ -29,6 +29,7 @@ */ import { DockerWrapper, start, stop, fetchResults, clearCache } from '../micro'; +import { waitUntil } from './helpers'; const makeExpectedEvent = ( eventType: string, @@ -128,67 +129,62 @@ describe('YouTube Tracker', () => { return; } - beforeAll(() => { - browser.call(() => { - return start().then((container) => { - docker = container; - }); - }); + beforeAll(async () => { + await browser.call(async () => (docker = await start())); - browser.url('/index.html'); - browser.setCookies({ name: 'container', value: docker.url }); - browser.url('/youtube/tracking.html'); - browser.waitUntil(() => $('#youtube').isExisting(), { + await browser.url('/index.html'); + await browser.setCookies({ name: 'container', value: docker.url }); + await browser.url('/youtube/tracking.html'); + await waitUntil(browser, () => $('#youtube').isExisting(), { timeout: 5000, timeoutMsg: 'expected youtube after 5s', }); const player = $('#youtube'); - player.click(); // emits 'playbackqualitychange' and 'play'; - player.keys(Array(3).fill('ArrowRight')); // Skips to the point just before 'percentprogress' fires - - browser.waitUntil( - () => { - return browser.call(() => - fetchResults(docker.url).then((result) => { - return result.some((r: any) => r.event.unstruct_event.data.data.type === 'percentprogress'); - }) - ); + await player.click(); // emits 'playbackqualitychange' and 'play'; + await player.keys(Array(2).fill('ArrowRight')); // Skips to the point just before 'percentprogress' fires + + await waitUntil( + browser, + async () => { + return await browser.call(async () => { + let result = await fetchResults(docker.url); + return result.some((r: any) => r.event.unstruct_event.data.data.type === 'percentprogress'); + }); }, { - interval: 5000, + interval: 2000, timeout: 40000, timeoutMsg: "No 'percentprogress' event received", } ); const events = [ - () => player.keys(['Shift', '.', 'Shift']), // Increase playback rate - () => player.keys(['ArrowRight']), // Seek - () => player.keys(['ArrowDown']), // Volume down - () => player.keys(['k']), // Pause - () => player.keys(['9']), // Skip as close as we can to the end + async () => await player.keys(['Shift', '.', 'Shift']), // Increase playback rate + async () => await player.keys(['ArrowRight']), // Seek + async () => await player.keys(['ArrowDown']), // Volume down + async () => await player.keys(['k']), // Pause + async () => await player.keys(['9']), // Skip as close as we can to the end ]; - events.forEach((e: Function) => { - e(); - browser.pause(200); - }); + for (const e of events) { + await e(); + await browser.pause(200); + } - browser.waitUntil( - () => { + await waitUntil( + browser, + async () => { // We've got ~216 seconds left to skip, so we can make use of the waitUntil to skip in chunks for (let i = 0; i < 60; i++) { // Ended - player.keys(['ArrowRight']); - browser.pause(50); + await player.keys(['ArrowRight']); + await browser.pause(50); } - return browser.call(() => - fetchResults(docker.url).then((result) => { - log = result; - return log.some((l: any) => l.event.unstruct_event.data.data.type === 'ended'); - }) - ); + return await browser.call(async () => { + let log = await fetchResults(docker.url); + return log.some((l: any) => l.event.unstruct_event.data.data.type === 'ended'); + }); }, { interval: 2000, @@ -197,9 +193,11 @@ describe('YouTube Tracker', () => { } ); + log = await browser.call(async () => await fetchResults(docker.url)); + // YouTube saves the volume level in localstorage, meaning loading a new page will have the same // volume level as the end of this test, so we need to increase it again to return to the 'default' state - player.keys(['ArrowUp']); + await player.keys(['ArrowUp']); }); const expected = { @@ -228,9 +226,9 @@ describe('YouTube Tracker', () => { }); }); - afterAll(() => { - browser.waitUntil(() => { - return browser.call(() => clearCache(docker.url)); + afterAll(async () => { + await waitUntil(browser, async () => { + return await browser.call(async () => await clearCache(docker.url)); }); }); }); @@ -243,11 +241,11 @@ describe('YouTube Tracker (2 videos, 1 tracker)', () => { return results[results.length - 1]; }; - beforeAll(() => { - browser.url('/index.html'); - browser.setCookies({ name: 'container', value: docker.url }); - browser.url('/youtube/tracking-2-videos.html'); - browser.waitUntil(() => $('#youtube').isExisting(), { + beforeAll(async () => { + await browser.url('/index.html'); + await browser.setCookies({ name: 'container', value: docker.url }); + await browser.url('/youtube/tracking-2-videos.html'); + await waitUntil(browser, () => $('#youtube').isExisting(), { timeout: 5000, timeoutMsg: 'expected youtube after 5s', }); @@ -256,37 +254,37 @@ describe('YouTube Tracker (2 videos, 1 tracker)', () => { const player2 = $('#youtube-2'); const actions = [ - () => player1.click(), // emits 'playbackqualitychange' and 'play'; - () => player1.keys(['k']), // Pause - () => player2.click(), // emits 'playbackqualitychange' and 'play'; - () => player2.keys(['k']), // Pause + async () => await player1.click(), // emits 'playbackqualitychange' and 'play'; + async () => await player1.keys(['k']), // Pause + async () => await player2.click(), // emits 'playbackqualitychange' and 'play'; + async () => await player2.keys(['k']), // Pause ]; - actions.forEach((a: Function) => { - a(); - browser.pause(500); - }); + for (const a of actions) { + await a(); + await browser.pause(500); + } - browser.waitUntil( - () => { - return browser.call(() => - fetchResults(docker.url).then((result) => { - log = result; - return Array.from(new Set(log.map((l: any) => l.event.contexts.data[0].data.playerId))).length === 2; - }) - ); - }, + await waitUntil( + browser, + async () => + await browser.call(async () => { + let log = await fetchResults(docker.url); + return Array.from(new Set(log.map((l: any) => l.event.contexts.data[0].data.playerId))).length === 2; + }), { interval: 2000, - timeout: 60000, + timeout: 40000, timeoutMsg: 'All events not found before timeout', } ); + + log = await browser.call(async () => await fetchResults(docker.url)); }); - afterAll(() => { - browser.waitUntil(() => { - return browser.call(() => clearCache(docker.url)); + afterAll(async () => { + await waitUntil(browser, async () => { + return await browser.call(async () => await clearCache(docker.url)); }); }); @@ -302,42 +300,38 @@ describe('YouTube Tracker (2 videos, 1 tracker)', () => { }); describe('YouTube Tracker (1 video, 2 trackers)', () => { - beforeAll(() => { - browser.url('/index.html'); - browser.setCookies({ name: 'container', value: docker.url }); - browser.url('/youtube/tracking-2-trackers.html'); - browser.waitUntil(() => $('#youtube').isExisting(), { + beforeAll(async () => { + await browser.url('/index.html'); + await browser.setCookies({ name: 'container', value: docker.url }); + await browser.url('/youtube/tracking-2-trackers.html'); + await waitUntil(browser, () => $('#youtube').isExisting(), { timeout: 5000, timeoutMsg: 'expected youtube after 5s', }); const player = $('#youtube'); - player.click(); // emits 'playbackqualitychange' and 'play'; - player.keys(['k']); // Pause - - browser.waitUntil( - () => { - return browser.call(() => - fetchResults(docker.url).then((result) => { - log = result; - return ( - log.filter((l: any) => l.event.unstruct_event.data.data.type === 'playbackqualitychange').length === 2 - ); - }) - ); - }, + await player.click(); // emits 'playbackqualitychange' and 'play'; + await player.keys(['k']); // Pause + + await waitUntil( + browser, + async () => + await browser.call(async () => { + let log = await fetchResults(docker.url); + return log.filter((l: any) => l.event.unstruct_event.data.data.type === 'playbackqualitychange').length === 2; + }), { interval: 2000, timeout: 40000, timeoutMsg: 'All events not found before timeout', } ); + + log = await browser.call(async () => await fetchResults(docker.url)); }); - afterAll(() => { - browser.call(() => { - return stop(docker.container); - }); + afterAll(async () => { + await browser.call(async () => await stop(docker.container)); }); const getTwoEventsOfEventType = (eventType: string): Array => { diff --git a/trackers/javascript-tracker/test/micro.ts b/trackers/javascript-tracker/test/micro.ts index 7064a5fbd..2e62a4b3e 100644 --- a/trackers/javascript-tracker/test/micro.ts +++ b/trackers/javascript-tracker/test/micro.ts @@ -42,7 +42,7 @@ const docker = new Docker(); export const start = () => { return docker .createContainer({ - Image: 'snowplow/snowplow-micro:1.1.2', + Image: 'snowplow/snowplow-micro:1.2.1', AttachStdin: false, AttachStdout: true, AttachStderr: true, @@ -111,8 +111,10 @@ const createMicroCall = (url: string) => () => req.end(); }); -export const fetchResults = (containerUrl: string) => - createMicroCall(`http://${containerUrl}/micro/good`)().then((good: unknown) => JSON.parse(good as string)); +export const fetchResults = async (containerUrl: string) => + JSON.parse((await createMicroCall(`http://${containerUrl}/micro/good`)()) as string); -export const clearCache = (containerUrl: string) => - createMicroCall(`http://${containerUrl}/micro/reset`)().then((_: unknown) => true); +export const clearCache = async (containerUrl: string) => { + await createMicroCall(`http://${containerUrl}/micro/reset`)(); + return true; +}; diff --git a/trackers/javascript-tracker/test/pages/activity-callback.html b/trackers/javascript-tracker/test/pages/activity-callback.html index 7244c59bb..d184c2f4b 100644 --- a/trackers/javascript-tracker/test/pages/activity-callback.html +++ b/trackers/javascript-tracker/test/pages/activity-callback.html @@ -9,6 +9,11 @@
Middle
Bottom right
+ + + + + +
+ + From b59a15627191d0d043b3712869f5d68da84b4a47 Mon Sep 17 00:00:00 2001 From: Matus Tomlein Date: Thu, 9 Mar 2023 09:59:09 +0100 Subject: [PATCH 066/449] Fix generating domain user ID when clearing user data with anonymous tracking (close #1164) PR #1165 --- ...e-1164-clearing_domain_userid_2023-03-07-17-26.json | 10 ++++++++++ libraries/browser-tracker-core/src/tracker/index.ts | 2 +- .../test/tracker/session_data.test.ts | 9 +++++++++ 3 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 common/changes/@snowplow/browser-tracker-core/issue-1164-clearing_domain_userid_2023-03-07-17-26.json diff --git a/common/changes/@snowplow/browser-tracker-core/issue-1164-clearing_domain_userid_2023-03-07-17-26.json b/common/changes/@snowplow/browser-tracker-core/issue-1164-clearing_domain_userid_2023-03-07-17-26.json new file mode 100644 index 000000000..54d314d15 --- /dev/null +++ b/common/changes/@snowplow/browser-tracker-core/issue-1164-clearing_domain_userid_2023-03-07-17-26.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-tracker-core", + "comment": "Fix generating domain user ID when clearing user data with anonymous tracking (#1164)", + "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 54c88eb6c..5a66914c4 100755 --- a/libraries/browser-tracker-core/src/tracker/index.ts +++ b/libraries/browser-tracker-core/src/tracker/index.ts @@ -606,7 +606,7 @@ export function Tracker( memorizedVisitCount = 1; } if (!configuration?.preserveUser) { - domainUserId = uuid(); + domainUserId = configAnonymousTracking ? '' : uuid(); businessUserId = null; } } diff --git a/libraries/browser-tracker-core/test/tracker/session_data.test.ts b/libraries/browser-tracker-core/test/tracker/session_data.test.ts index c64a991fd..0f324ee25 100644 --- a/libraries/browser-tracker-core/test/tracker/session_data.test.ts +++ b/libraries/browser-tracker-core/test/tracker/session_data.test.ts @@ -86,6 +86,15 @@ describe('Tracker API: ', () => { expect(tracker?.getDomainSessionIndex()).toEqual(1); }); + it('Sets blank domain user id after clearUserData() if anonymous tracking', () => { + const tracker = createTracker({ + anonymousTracking: { withSessionTracking: true }, + }); + + tracker?.clearUserData(); + expect(tracker?.getDomainUserId()).toEqual(''); + }); + it('Sets correct domain session index anonymous track', () => { const tracker = createTracker({ anonymousTracking: true }); expect(tracker?.getDomainSessionIndex()).toEqual(1); From 84c6cac5947ad722b3883aeaddae28529589e06e Mon Sep 17 00:00:00 2001 From: Peter Perlepes Date: Tue, 28 Mar 2023 14:30:49 +0300 Subject: [PATCH 067/449] Add implicit total_quantity calculation on snowplow ecommerce transaction tracking #1168 --- ...otal-quantity-calculation_2023-03-24-17-45.json | 10 ++++++++++ .../browser-plugin-snowplow-ecommerce/src/api.ts | 14 ++++++++++++-- .../test/events.test.ts | 9 +++++++-- 3 files changed, 29 insertions(+), 4 deletions(-) create mode 100644 common/changes/@snowplow/browser-plugin-snowplow-ecommerce/feat-implicit-total-quantity-calculation_2023-03-24-17-45.json diff --git a/common/changes/@snowplow/browser-plugin-snowplow-ecommerce/feat-implicit-total-quantity-calculation_2023-03-24-17-45.json b/common/changes/@snowplow/browser-plugin-snowplow-ecommerce/feat-implicit-total-quantity-calculation_2023-03-24-17-45.json new file mode 100644 index 000000000..e04ac3d2c --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-snowplow-ecommerce/feat-implicit-total-quantity-calculation_2023-03-24-17-45.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-snowplow-ecommerce", + "comment": "Add implicit total_quantity calculation on snowplow ecommerce transaction tracking", + "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 021f7d69f..b83a76936 100644 --- a/plugins/browser-plugin-snowplow-ecommerce/src/api.ts +++ b/plugins/browser-plugin-snowplow-ecommerce/src/api.ts @@ -162,9 +162,19 @@ export function trackTransaction( transaction: Transaction & CommonEcommerceEventProperties, trackers: Array = Object.keys(_trackers) ) { + let totalQuantity = 0; const { context = [], timestamp, products = [], ...transactionAttributes } = transaction; - products.forEach((product) => context.push({ schema: PRODUCT_SCHEMA, data: product })); - context.push({ schema: TRANSACTION_SCHEMA, data: { ...transactionAttributes } }); + products.forEach((product) => { + /* If `total_quantity` is not provided, we calculate it from individual product quantities. */ + if (product.quantity) { + totalQuantity += product.quantity; + } + context.push({ schema: PRODUCT_SCHEMA, data: product }); + }); + context.push({ + schema: TRANSACTION_SCHEMA, + data: { total_quantity: totalQuantity || undefined, ...transactionAttributes }, + }); dispatchToTrackersInCollection(trackers, _trackers, (t) => { t.core.track(buildEcommerceActionEvent({ type: 'transaction' }), context, timestamp); diff --git a/plugins/browser-plugin-snowplow-ecommerce/test/events.test.ts b/plugins/browser-plugin-snowplow-ecommerce/test/events.test.ts index c50eb5e73..61e263844 100644 --- a/plugins/browser-plugin-snowplow-ecommerce/test/events.test.ts +++ b/plugins/browser-plugin-snowplow-ecommerce/test/events.test.ts @@ -232,8 +232,8 @@ describe('SnowplowEcommercePlugin events', () => { }); it('trackTransaction adds the expected "transaction" event to the queue', () => { - const productX = { id: '1234', price: 12, currency: 'EUR' }; - const productY = { id: '12345', price: 25, currency: 'EUR' }; + const productX = { id: '1234', price: 12, currency: 'EUR', quantity: 4 }; + const productY = { id: '12345', price: 25, currency: 'EUR', quantity: 1 }; const transaction = { revenue: 45, currency: 'EUR', transaction_id: '12345', payment_method: 'card' }; trackTransaction({ ...transaction, @@ -257,6 +257,11 @@ describe('SnowplowEcommercePlugin events', () => { }, ]); + /* Expect implicit total_quantity calculation */ + const emmitedTransaction = context[2].data; + expect(emmitedTransaction).toHaveProperty('total_quantity'); + expect(emmitedTransaction.total_quantity).toEqual(productX.quantity + productY.quantity); + expect(unstructuredEvent).toMatchObject({ schema: ECOMMERCE_ACTION_SCHEMA, data: { type: 'transaction' }, From 8268669c96572f5ce1f4d48ce03d10521d0ceafe Mon Sep 17 00:00:00 2001 From: Peter Perlepes Date: Tue, 28 Mar 2023 18:33:32 +0300 Subject: [PATCH 068/449] Add tab identifier and browser context (close #1142) (close #815) #1088 --- ...5-add-tab-identifier_2022-08-24-17-07.json | 10 ++ ...5-add-tab-identifier_2022-08-24-17-07.json | 10 ++ .../browser-tracker-core/src/detectors.ts | 43 ------- .../src/helpers/browser_props.ts | 59 +++++++++ .../src/{helpers.ts => helpers/index.ts} | 93 +------------- .../src/helpers/storage.ts | 120 +++++++++++++++++ .../browser-tracker-core/src/tracker/index.ts | 87 ++++++++++--- .../src/tracker/out_queue.ts | 3 +- .../src/tracker/schemata.ts | 4 + .../browser-tracker-core/src/tracker/types.ts | 13 +- .../browser-tracker-core/test/helpers.test.ts | 121 +++++++++++++++++- .../test/helpers/index.ts | 7 + .../browser_context.test.ts.snap | 16 +++ .../test/tracker/browser_context.test.ts | 63 +++++++++ .../test/tracker/session_data.test.ts | 9 +- .../docs/browser-tracker.api.md | 5 +- .../test/tab_id_storage.test.ts | 105 +++++++++++++++ 17 files changed, 600 insertions(+), 168 deletions(-) create mode 100644 common/changes/@snowplow/browser-tracker-core/issue-815-add-tab-identifier_2022-08-24-17-07.json create mode 100644 common/changes/@snowplow/browser-tracker/issue-815-add-tab-identifier_2022-08-24-17-07.json create mode 100644 libraries/browser-tracker-core/src/helpers/browser_props.ts rename libraries/browser-tracker-core/src/{helpers.ts => helpers/index.ts} (85%) create mode 100644 libraries/browser-tracker-core/src/helpers/storage.ts create mode 100644 libraries/browser-tracker-core/src/tracker/schemata.ts create mode 100644 libraries/browser-tracker-core/test/tracker/__snapshots__/browser_context.test.ts.snap create mode 100644 libraries/browser-tracker-core/test/tracker/browser_context.test.ts create mode 100644 trackers/browser-tracker/test/tab_id_storage.test.ts diff --git a/common/changes/@snowplow/browser-tracker-core/issue-815-add-tab-identifier_2022-08-24-17-07.json b/common/changes/@snowplow/browser-tracker-core/issue-815-add-tab-identifier_2022-08-24-17-07.json new file mode 100644 index 000000000..bb9e2e54a --- /dev/null +++ b/common/changes/@snowplow/browser-tracker-core/issue-815-add-tab-identifier_2022-08-24-17-07.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-tracker-core", + "comment": "Add browser context and ability to generate tab identifier.", + "type": "none" + } + ], + "packageName": "@snowplow/browser-tracker-core" +} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-tracker/issue-815-add-tab-identifier_2022-08-24-17-07.json b/common/changes/@snowplow/browser-tracker/issue-815-add-tab-identifier_2022-08-24-17-07.json new file mode 100644 index 000000000..1bf8a1e7e --- /dev/null +++ b/common/changes/@snowplow/browser-tracker/issue-815-add-tab-identifier_2022-08-24-17-07.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-tracker", + "comment": "Add tracker.getTabId() API.", + "type": "none" + } + ], + "packageName": "@snowplow/browser-tracker" +} \ No newline at end of file diff --git a/libraries/browser-tracker-core/src/detectors.ts b/libraries/browser-tracker-core/src/detectors.ts index 29e43311b..8a2d9eb46 100644 --- a/libraries/browser-tracker-core/src/detectors.ts +++ b/libraries/browser-tracker-core/src/detectors.ts @@ -73,46 +73,3 @@ export function localStorageAccessible() { return false; } } - -/** - * Gets the current viewport. - * - * Code based on: - * - http://andylangton.co.uk/articles/javascript/get-viewport-size-javascript/ - * - http://responsejs.com/labs/dimensions/ - */ -export function detectViewport() { - var width, height; - - if ('innerWidth' in window) { - width = window['innerWidth']; - height = window['innerHeight']; - } else { - const e = document.documentElement || document.body; - width = e['clientWidth']; - height = e['clientHeight']; - } - - if (width >= 0 && height >= 0) { - return width + 'x' + height; - } else { - return null; - } -} - -/** - * Gets the dimensions of the current - * document. - * - * Code based on: - * - http://andylangton.co.uk/articles/javascript/get-viewport-size-javascript/ - */ -export function detectDocumentSize() { - var de = document.documentElement, // Alias - be = document.body, - // document.body may not have rendered, so check whether be.offsetHeight is null - bodyHeight = be ? Math.max(be.offsetHeight, be.scrollHeight) : 0; - var w = Math.max(de.clientWidth, de.offsetWidth, de.scrollWidth); - var h = Math.max(de.clientHeight, de.offsetHeight, de.scrollHeight, bodyHeight); - return isNaN(w) || isNaN(h) ? '' : w + 'x' + h; -} diff --git a/libraries/browser-tracker-core/src/helpers/browser_props.ts b/libraries/browser-tracker-core/src/helpers/browser_props.ts new file mode 100644 index 000000000..a59acd2cb --- /dev/null +++ b/libraries/browser-tracker-core/src/helpers/browser_props.ts @@ -0,0 +1,59 @@ +export function getBrowserProperties() { + return { + viewport: detectViewport(), + documentSize: detectDocumentSize(), + resolution: screen.width + 'x' + screen.height, + colorDepth: screen.colorDepth, + devicePixelRatio: window.devicePixelRatio, + cookiesEnabled: window.navigator.cookieEnabled, + online: window.navigator.onLine, + browserLanguage: navigator.language || (navigator as any).userLanguage, + documentLanguage: document.documentElement.lang, + webdriver: window.navigator.webdriver, + deviceMemory: (window.navigator as any).deviceMemory, + hardwareConcurrency: (window.navigator as any).hardwareConcurrency, + }; +} + +/** + * Gets the current viewport. + * + * Code based on: + * - http://andylangton.co.uk/articles/javascript/get-viewport-size-javascript/ + * - http://responsejs.com/labs/dimensions/ + */ +function detectViewport() { + var width, height; + + if ('innerWidth' in window) { + width = window['innerWidth']; + height = window['innerHeight']; + } else { + const e = document.documentElement || document.body; + width = e['clientWidth']; + height = e['clientHeight']; + } + + if (width >= 0 && height >= 0) { + return width + 'x' + height; + } else { + return null; + } +} + +/** + * Gets the dimensions of the current + * document. + * + * Code based on: + * - http://andylangton.co.uk/articles/javascript/get-viewport-size-javascript/ + */ +function detectDocumentSize() { + var de = document.documentElement, // Alias + be = document.body, + // document.body may not have rendered, so check whether be.offsetHeight is null + bodyHeight = be ? Math.max(be.offsetHeight, be.scrollHeight) : 0; + var w = Math.max(de.clientWidth, de.offsetWidth, de.scrollWidth); + var h = Math.max(de.clientHeight, de.offsetHeight, de.scrollHeight, bodyHeight); + return isNaN(w) || isNaN(h) ? '' : w + 'x' + h; +} diff --git a/libraries/browser-tracker-core/src/helpers.ts b/libraries/browser-tracker-core/src/helpers/index.ts similarity index 85% rename from libraries/browser-tracker-core/src/helpers.ts rename to libraries/browser-tracker-core/src/helpers/index.ts index 6889a0a49..b160157d4 100755 --- a/libraries/browser-tracker-core/src/helpers.ts +++ b/libraries/browser-tracker-core/src/helpers/index.ts @@ -28,6 +28,8 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +export * from './storage'; + declare global { interface EventTarget { attachEvent?: (type: string, fn: EventListenerOrEventListenerObject) => void; @@ -224,97 +226,6 @@ export function decorateQuerystring(url: string, name: string, value: string) { return hashSplit.join('#'); } -/** - * Attempt to get a value from localStorage - * - * @param string - key - * @returns string The value obtained from localStorage, or - * undefined if localStorage is inaccessible - */ -export function attemptGetLocalStorage(key: string) { - try { - const localStorageAlias = window.localStorage, - exp = localStorageAlias.getItem(key + '.expires'); - if (exp === null || +exp > Date.now()) { - return localStorageAlias.getItem(key); - } else { - localStorageAlias.removeItem(key); - localStorageAlias.removeItem(key + '.expires'); - } - return undefined; - } catch (e) { - return undefined; - } -} - -/** - * Attempt to write a value to localStorage - * - * @param string - key - * @param string - value - * @param number - ttl Time to live in seconds, defaults to 2 years from Date.now() - * @returns boolean Whether the operation succeeded - */ -export function attemptWriteLocalStorage(key: string, value: string, ttl = 63072000) { - try { - const localStorageAlias = window.localStorage, - t = Date.now() + ttl * 1000; - localStorageAlias.setItem(`${key}.expires`, t.toString()); - localStorageAlias.setItem(key, value); - return true; - } catch (e) { - return false; - } -} - -/** - * Attempt to delete a value from localStorage - * - * @param string - key - * @returns boolean Whether the operation succeeded - */ -export function attemptDeleteLocalStorage(key: string) { - try { - const localStorageAlias = window.localStorage; - localStorageAlias.removeItem(key); - localStorageAlias.removeItem(key + '.expires'); - return true; - } catch (e) { - return false; - } -} - -/** - * Attempt to get a value from sessionStorage - * - * @param string - key - * @returns string The value obtained from sessionStorage, or - * undefined if sessionStorage is inaccessible - */ -export function attemptGetSessionStorage(key: string) { - try { - return window.sessionStorage.getItem(key); - } catch (e) { - return undefined; - } -} - -/** - * Attempt to write a value to sessionStorage - * - * @param string - key - * @param string - value - * @returns boolean Whether the operation succeeded - */ -export function attemptWriteSessionStorage(key: string, value: string) { - try { - window.sessionStorage.setItem(key, value); - return true; - } catch (e) { - return false; - } -} - /** * Finds the root domain */ diff --git a/libraries/browser-tracker-core/src/helpers/storage.ts b/libraries/browser-tracker-core/src/helpers/storage.ts new file mode 100644 index 000000000..c5e897695 --- /dev/null +++ b/libraries/browser-tracker-core/src/helpers/storage.ts @@ -0,0 +1,120 @@ +/* + * 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. + */ + +/** + * Attempt to get a value from localStorage + * + * @param string - key + * @returns string The value obtained from localStorage, or + * undefined if localStorage is inaccessible + */ +export function attemptGetLocalStorage(key: string) { + try { + const localStorageAlias = window.localStorage, + exp = localStorageAlias.getItem(key + '.expires'); + if (exp === null || +exp > Date.now()) { + return localStorageAlias.getItem(key); + } else { + localStorageAlias.removeItem(key); + localStorageAlias.removeItem(key + '.expires'); + } + return undefined; + } catch (e) { + return undefined; + } +} + +/** + * Attempt to write a value to localStorage + * + * @param string - key + * @param string - value + * @param number - ttl Time to live in seconds, defaults to 2 years from Date.now() + * @returns boolean Whether the operation succeeded + */ +export function attemptWriteLocalStorage(key: string, value: string, ttl = 63072000) { + try { + const localStorageAlias = window.localStorage, + t = Date.now() + ttl * 1000; + localStorageAlias.setItem(`${key}.expires`, t.toString()); + localStorageAlias.setItem(key, value); + return true; + } catch (e) { + return false; + } +} + +/** + * Attempt to delete a value from localStorage + * + * @param string - key + * @returns boolean Whether the operation succeeded + */ +export function attemptDeleteLocalStorage(key: string) { + try { + const localStorageAlias = window.localStorage; + localStorageAlias.removeItem(key); + localStorageAlias.removeItem(key + '.expires'); + return true; + } catch (e) { + return false; + } +} + +/** + * Attempt to get a value from sessionStorage + * + * @param string - key + * @returns string The value obtained from sessionStorage, or + * undefined if sessionStorage is inaccessible + */ +export function attemptGetSessionStorage(key: string) { + try { + return window.sessionStorage.getItem(key); + } catch (e) { + return undefined; + } +} + +/** + * Attempt to write a value to sessionStorage + * + * @param string - key + * @param string - value + * @returns boolean Whether the operation succeeded + */ +export function attemptWriteSessionStorage(key: string, value: string) { + try { + window.sessionStorage.setItem(key, value); + return true; + } catch (e) { + return false; + } +} diff --git a/libraries/browser-tracker-core/src/tracker/index.ts b/libraries/browser-tracker-core/src/tracker/index.ts index 5a66914c4..8669b9375 100755 --- a/libraries/browser-tracker-core/src/tracker/index.ts +++ b/libraries/browser-tracker-core/src/tracker/index.ts @@ -39,7 +39,6 @@ import { } from '@snowplow/tracker-core'; import hash from 'sha1'; import { v4 as uuid } from 'uuid'; -import { detectDocumentSize, detectViewport } from '../detectors'; import { decorateQuerystring, findRootDomain, @@ -55,6 +54,8 @@ import { fixupTitle, fromQuerystring, isInteger, + attemptGetSessionStorage, + attemptWriteSessionStorage, } from '../helpers'; import { BrowserPlugin } from '../plugins'; import { OutQueueManager } from './out_queue'; @@ -91,6 +92,8 @@ import { incrementEventIndexInIdCookie, emptyIdCookie, } from './id_cookie'; +import { CLIENT_SESSION_SCHEMA, WEB_PAGE_SCHEMA, BROWSER_CONTEXT_SCHEMA } from './schemata'; +import { getBrowserProperties } from '../helpers/browser_props'; declare global { interface Navigator { @@ -101,7 +104,7 @@ declare global { } } -/** Repesents an instance of an activity tracking configuration */ +/** Represents an instance of an activity tracking configuration */ type ActivityConfig = { /** The callback to fire based on heart beat */ callback: ActivityCallback; @@ -180,12 +183,18 @@ export function Tracker( } return config.anonymousTracking?.withServerAnonymisation === true ?? false; }, - getAnonymousTracking = (config: TrackerConfiguration) => !!config.anonymousTracking; + getAnonymousTracking = (config: TrackerConfiguration) => !!config.anonymousTracking, + isBrowserContextAvailable = trackerConfiguration?.contexts?.browser ?? false, + isWebPageContextAvailable = trackerConfiguration?.contexts?.webPage ?? true; // Get all injected plugins browserPlugins.push(getBrowserDataPlugin()); - if (trackerConfiguration?.contexts?.webPage ?? true) { - browserPlugins.push(getWebPagePlugin()); // Defaults to including the Web Page context + /* When including the Web Page context, we add the relevant internal plugins */ + if (isWebPageContextAvailable) { + browserPlugins.push(getWebPagePlugin()); + } + if (isBrowserContextAvailable) { + browserPlugins.push(getBrowserContextPlugin()); } browserPlugins.push(...(trackerConfiguration.plugins ?? [])); @@ -196,7 +205,6 @@ export function Tracker( callback: sendRequest, }), // Aliases - browserLanguage = (navigator as any).userLanguage || navigator.language, documentCharset = document.characterSet || document.charset, // Current URL and Referrer URL locationArray = fixupUrl(window.location.hostname, window.location.href, getReferrer()), @@ -299,7 +307,7 @@ export function Tracker( preservePageViewId = false, // Whether first trackPageView was fired and pageViewId should not be changed anymore until reload pageViewSent = false, - // Activity tracking config for callback and pacge ping variants + // Activity tracking config for callback and page ping variants activityTrackingConfig: ActivityTrackingConfig = { enabled: false, installed: false, // Guard against installing the activity tracker more than once per Tracker instance @@ -312,16 +320,18 @@ export function Tracker( configCookieDomain = findRootDomain(configCookieSameSite, configCookieSecure); } + const { browserLanguage, resolution, colorDepth, cookiesEnabled } = getBrowserProperties(); + // Set up unchanging name-value pairs core.setTrackerVersion(version); core.setTrackerNamespace(namespace); core.setAppId(configTrackerSiteId); core.setPlatform(configPlatform); - core.addPayloadPair('cookie', navigator.cookieEnabled ? '1' : '0'); + core.addPayloadPair('cookie', cookiesEnabled ? '1' : '0'); core.addPayloadPair('cs', documentCharset); core.addPayloadPair('lang', browserLanguage); - core.addPayloadPair('res', screen.width + 'x' + screen.height); - core.addPayloadPair('cd', screen.colorDepth); + core.addPayloadPair('res', resolution); + core.addPayloadPair('cd', colorDepth); /* * Initialize tracker @@ -575,7 +585,7 @@ export function Tracker( /* * no-op if anonymousTracking enabled, will still set cookies if anonymousSessionTracking is enabled * Sets a cookie based on the storage strategy: - * - if 'localStorage': attemps to write to local storage + * - if 'localStorage': attempts to write to local storage * - if 'cookie' or 'cookieAndLocalStorage': writes to cookies * - otherwise: no-op */ @@ -612,7 +622,7 @@ export function Tracker( } /** - * Toggle Anaonymous Tracking + * Toggle Anonymous Tracking */ function toggleAnonymousTracking( configuration?: EnableAnonymousTrackingConfiguration | DisableAnonymousTrackingConfiguration @@ -708,6 +718,23 @@ export function Tracker( return state.pageViewId; } + /** + * Safe function to get `tabId`. + * Generates it if it is not yet initialized. Shared between trackers. + */ + function getTabId() { + if (configStateStorageStrategy === 'none' || configAnonymousTracking || !isWebPageContextAvailable) { + return null; + } + const SESSION_STORAGE_TAB_ID = '_sp_tab_id'; + let tabId = attemptGetSessionStorage(SESSION_STORAGE_TAB_ID); + if (!tabId) { + attemptWriteSessionStorage(SESSION_STORAGE_TAB_ID, uuid()); + tabId = attemptGetSessionStorage(SESSION_STORAGE_TAB_ID); + } + return tabId || null; + } + /** * Put together a web page context with a unique UUID for the page view * @@ -718,7 +745,7 @@ export function Tracker( contexts: () => { return [ { - schema: 'iglu:com.snowplowanalytics.snowplow/web_page/jsonschema/1-0-0', + schema: WEB_PAGE_SCHEMA, data: { id: getPageViewId(), }, @@ -728,6 +755,22 @@ export function Tracker( }; } + function getBrowserContextPlugin() { + return { + contexts: () => { + return [ + { + schema: BROWSER_CONTEXT_SCHEMA, + data: { + ...getBrowserProperties(), + tabId: getTabId(), + }, + }, + ]; + }, + }; + } + /* * Attaches common web fields to every request (resolution, url, referrer, etc.) * Also sets the required cookies. @@ -773,11 +816,13 @@ export function Tracker( updateFirstEventInIdCookie(idCookie, payloadBuilder); incrementEventIndexInIdCookie(idCookie); - payloadBuilder.add('vp', detectViewport()); - payloadBuilder.add('ds', detectDocumentSize()); + const { viewport, documentSize } = getBrowserProperties(); + + payloadBuilder.add('vp', viewport); + payloadBuilder.add('ds', documentSize); payloadBuilder.add('vid', anonymizeSessionOr(memorizedVisitCount)); payloadBuilder.add('sid', anonymizeSessionOr(memorizedSessionId)); - payloadBuilder.add('duid', anonymizeOr(domainUserIdFromIdCookie(idCookie))); // Always load from cookie as this is better ettiquette than in-memory values + payloadBuilder.add('duid', anonymizeOr(domainUserIdFromIdCookie(idCookie))); // Always load from cookie as this is better etiquette than in-memory values payloadBuilder.add('uid', anonymizeOr(businessUserId)); refreshUrl(); @@ -807,7 +852,7 @@ export function Tracker( function addSessionContextToPayload(payloadBuilder: PayloadBuilder, clientSession: ClientSession) { let sessionContext: SelfDescribingJson = { - schema: 'iglu:com.snowplowanalytics.snowplow/client_session/jsonschema/1-0-2', + schema: CLIENT_SESSION_SCHEMA, data: clientSession, }; payloadBuilder.addContextEntity(sessionContext); @@ -908,7 +953,7 @@ export function Tracker( set: function set() {}, }); // note: have to set and remove a no-op listener instead of null - // (which was used previously), becasue Edge v15 throws an error + // (which was used previously), because Edge v15 throws an error // when providing a null callback. // https://github.com/rafrex/detect-passive-events/pull/3 const noop = function noop() {}; @@ -1066,9 +1111,9 @@ export function Tracker( return memorizedVisitCount; }, - getPageViewId: function () { - return getPageViewId(); - }, + getPageViewId, + + getTabId, newSession: newSession, diff --git a/libraries/browser-tracker-core/src/tracker/out_queue.ts b/libraries/browser-tracker-core/src/tracker/out_queue.ts index 4eed82809..b838ba436 100644 --- a/libraries/browser-tracker-core/src/tracker/out_queue.ts +++ b/libraries/browser-tracker-core/src/tracker/out_queue.ts @@ -32,6 +32,7 @@ import { attemptWriteLocalStorage, isString } from '../helpers'; import { SharedState } from '../state'; import { localStorageAccessible } from '../detectors'; import { LOG, Payload } from '@snowplow/tracker-core'; +import { PAYLOAD_DATA_SCHEMA } from './schemata'; export interface OutQueue { enqueueRequest: (request: Payload, url: string) => void; @@ -484,7 +485,7 @@ export function OutQueueManager( */ function encloseInPayloadDataEnvelope(events: Array>) { return JSON.stringify({ - schema: 'iglu:com.snowplowanalytics.snowplow/payload_data/jsonschema/1-0-4', + schema: PAYLOAD_DATA_SCHEMA, data: events, }); } diff --git a/libraries/browser-tracker-core/src/tracker/schemata.ts b/libraries/browser-tracker-core/src/tracker/schemata.ts new file mode 100644 index 000000000..61db684e5 --- /dev/null +++ b/libraries/browser-tracker-core/src/tracker/schemata.ts @@ -0,0 +1,4 @@ +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/1-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 b4f92d19b..45751c533 100755 --- a/libraries/browser-tracker-core/src/tracker/types.ts +++ b/libraries/browser-tracker-core/src/tracker/types.ts @@ -46,6 +46,8 @@ export type BuiltInContexts = webPage: boolean; /* Toggles the session context */ session: boolean; + /* Toggles the browser context */ + browser: boolean; }> | Record; @@ -207,7 +209,7 @@ export type TrackerConfiguration = { anonymousTracking?: AnonymousTrackingOptions; /** * Use to configure built in contexts - * @defaultValue `{ webPage: true, session: false }` + * @defaultValue `{ webPage: true, session: false, browser: false }` */ contexts?: BuiltInContexts; /** @@ -359,7 +361,14 @@ export interface BrowserTracker { * * @returns Page view ID */ - getPageViewId: () => void; + getPageViewId: () => string; + + /** + * Get the current browser tab ID + * + * @returns Browser tab ID + */ + getTabId: () => string | null; /** * Get the cookie name as cookieNamePrefix + basename + . + domain. diff --git a/libraries/browser-tracker-core/test/helpers.test.ts b/libraries/browser-tracker-core/test/helpers.test.ts index 864a27aad..ecd8cdfbd 100644 --- a/libraries/browser-tracker-core/test/helpers.test.ts +++ b/libraries/browser-tracker-core/test/helpers.test.ts @@ -28,7 +28,14 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -import { decorateQuerystring, getCssClasses } from '../src/helpers'; +import { + cookie, + decorateQuerystring, + deleteCookie, + findRootDomain, + getCookiesWithPrefix, + getCssClasses, +} from '../src/helpers'; describe('decorateQuerystring', () => { it('Decorate a URL with no querystring or fragment', () => { @@ -98,3 +105,115 @@ describe('getCssClasses', () => { expect(actual).toEqual(expected); }); }); + +describe('cookie helpers', () => { + let cookieJar: string; + + beforeAll(() => { + cookieJar = ''; + jest.spyOn(document, 'cookie', 'set').mockImplementation((cookieValue) => { + // disallow TLD('com') cookie domains + const isRootCookie = cookieValue.match(/Domain=([^.]+?);/); + if (isRootCookie) { + return; + } + + const cookies = cookieJar.split(' '); + const cookieName = cookieValue.split('=').shift(); + //@ts-ignore + const cookieNameLength = cookieName.length; + let cookieIndex = -1; + cookies.forEach((value, index) => { + if (`${value.substr(0, cookieNameLength)}=` === `${cookieName}=`) { + cookieIndex = index; + } + }); + if (cookieIndex > -1) { + cookies[cookieIndex] = `${cookieValue};`; + } else { + cookies.push(`${cookieValue};`); + } + cookieJar = cookies.join(' ').slice(0, -1).trim(); + }); + jest.spyOn(document, 'cookie', 'get').mockImplementation(() => cookieJar); + }); + + afterEach(() => { + cookieJar = ''; + }); + + afterAll(() => { + jest.clearAllMocks(); + }); + + it('getCookiesWithPrefix', () => { + // Random cookie value from a snowplow initialization + const gaCookie = '_ga=GA1.2.XXX.YYY'; + const spIdCookie = + '_sp_id.83fc=e8be487a-01f2-4355-9f54-a0b0a9eb25a4.1673957921.1.1673959786..65134acc-3374-4efb-bf6f-dc891e804248..df52bd6b-14d5-475e-977a-082f27ff54a0.1673957921210.38'; + document.cookie = `${gaCookie}; ${spIdCookie}`; + const snowplowPrefixedCookies = getCookiesWithPrefix('_sp'); + expect(snowplowPrefixedCookies).toEqual(expect.not.arrayContaining([gaCookie])); + expect(snowplowPrefixedCookies).toEqual(expect.arrayContaining([spIdCookie])); + }); + + it('reads cookie using cookie with single argument', () => { + const gaCookie = '_ga=GA1.2.XXX.YYY'; + document.cookie = `${gaCookie}`; + expect(cookie('_ga')).toEqual('GA1.2.XXX.YYY'); + }); + + it('sets cookie using cookie with multiple arguments', () => { + expect(document.cookie).toEqual(''); + cookie('_ga', 'GA1.2.XXX.YYY'); + expect(document.cookie).toEqual('_ga=GA1.2.XXX.YYY'); + }); + + it('deleteCookie', () => { + const gaCookie = '_ga=GA1.2.XXX.YYY'; + document.cookie = `${gaCookie}`; + deleteCookie('_ga'); + // Value is deleted + expect(document.cookie).toMatch('_ga=;'); + }); + + describe('findRootDomain', () => { + let location: Location; + + beforeAll(() => { + location = window.location; + }); + + afterEach(() => { + window.location = location; + }); + + it('findRootDomain https://www.example.com', () => { + const url = 'https://www.example.com'; + const mockLocation = new URL(url); + // @ts-expect-error + delete window.location; + // @ts-expect-error + window.location = mockLocation; + + const domain = findRootDomain('Strict', true); + expect(domain).toEqual('example.com'); + + window.location = location; + }); + + it('findRootDomain https://sub.example.com', () => { + const url = 'https://sub.example.com'; + const mockLocation = new URL(url); + // @ts-expect-error + delete window.location; + // @ts-expect-error + window.location = mockLocation; + + const domain = findRootDomain('Strict', true); + expect(domain).toEqual('example.com'); + + window.location = location; + }); + }); +}); diff --git a/libraries/browser-tracker-core/test/helpers/index.ts b/libraries/browser-tracker-core/test/helpers/index.ts index a35d2d85a..b2a617fc3 100644 --- a/libraries/browser-tracker-core/test/helpers/index.ts +++ b/libraries/browser-tracker-core/test/helpers/index.ts @@ -28,6 +28,8 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +import { TrackerConfiguration, addTracker, SharedState } from '../../src'; + // Default Domain alias is snowplow-js-tracker.local & configCookiepath is / const DEFAULT_DOMAIN_HASH = '7f01'; @@ -72,3 +74,8 @@ export function createTestSessionIdCookie(params?: CreateTestSessionIdCookie) { const domainHash = DEFAULT_DOMAIN_HASH || params?.domainHash; return `_sp_ses.${domainHash}=*; Expires=; Path=/; SameSite=None; Secure;`; } + +export function createTracker(configuration?: TrackerConfiguration) { + let id = 'sp-' + Math.random(); + return addTracker(id, id, '', '', new SharedState(), configuration); +} diff --git a/libraries/browser-tracker-core/test/tracker/__snapshots__/browser_context.test.ts.snap b/libraries/browser-tracker-core/test/tracker/__snapshots__/browser_context.test.ts.snap new file mode 100644 index 000000000..c30ef5537 --- /dev/null +++ b/libraries/browser-tracker-core/test/tracker/__snapshots__/browser_context.test.ts.snap @@ -0,0 +1,16 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`Browser context: Adds the browser context entity when \`contexts: { browser: true }\` is passed 1`] = ` +Object { + "browserLanguage": "en-US", + "colorDepth": 24, + "cookiesEnabled": true, + "devicePixelRatio": 1, + "documentLanguage": "", + "documentSize": "0x0", + "hardwareConcurrency": 1, + "online": true, + "resolution": "0x0", + "viewport": "1024x768", +} +`; diff --git a/libraries/browser-tracker-core/test/tracker/browser_context.test.ts b/libraries/browser-tracker-core/test/tracker/browser_context.test.ts new file mode 100644 index 000000000..2a831f1dd --- /dev/null +++ b/libraries/browser-tracker-core/test/tracker/browser_context.test.ts @@ -0,0 +1,63 @@ +import { BROWSER_CONTEXT_SCHEMA } from '../../src/tracker/schemata'; +import { createTracker } from '../helpers'; + +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}$/; + +describe('Browser context:', () => { + let navigatorSpy: jest.SpyInstance; + + // JSDOM values observed are based on: + // https://github.com/jsdom/jsdom/blob/04f6c13f4a4d387c7fc979b8f62c6f68d8a0c639/lib/jsdom/living/window/Screen-impl.js + // https://github.com/jsdom/jsdom/blob/a5204dfb3853120c0460dd0ad89237acfaf650ca/lib/jsdom/browser/Window.js + // https://github.com/jsdom/jsdom/tree/04f6c13f4a4d387c7fc979b8f62c6f68d8a0c639/lib/jsdom/living/navigator + beforeEach(() => { + // We mock the hardwareConcurrency explicitly as it may vary between test environments + navigatorSpy = jest.spyOn(window.navigator, 'hardwareConcurrency', 'get'); + navigatorSpy.mockReturnValue(1); + }); + + afterEach(() => { + navigatorSpy.mockRestore(); + }); + + it('Adds the browser context entity when `contexts: { browser: true }` is passed', (done) => { + const tracker = createTracker({ + encodeBase64: false, + contexts: { browser: true }, + plugins: [ + { + afterTrack: (payload) => { + const { data: payloadData } = JSON.parse(payload.co as string); + const browserContext = payloadData.find((context: any) => context.schema.match(BROWSER_CONTEXT_SCHEMA)); + expect(browserContext).toBeTruthy(); + expect(browserContext.data.tabId).toMatch(UUID_REGEX); + // We remove tabId before the snapshot to make it more straightforward + delete browserContext.data.tabId; + expect(browserContext.data).toMatchSnapshot(); + done(); + }, + }, + ], + }); + + tracker?.trackPageView(); + }); + + it('Does not send the browser context entity by default', (done) => { + const tracker = createTracker({ + encodeBase64: false, + plugins: [ + { + afterTrack: (payload) => { + const { data: payloadData } = JSON.parse(payload.co as string); + const browserContext = payloadData.find((context: any) => context.schema.match(BROWSER_CONTEXT_SCHEMA)); + expect(browserContext).toBeUndefined(); + done(); + }, + }, + ], + }); + + tracker?.trackPageView(); + }); +}); diff --git a/libraries/browser-tracker-core/test/tracker/session_data.test.ts b/libraries/browser-tracker-core/test/tracker/session_data.test.ts index 0f324ee25..02962a339 100644 --- a/libraries/browser-tracker-core/test/tracker/session_data.test.ts +++ b/libraries/browser-tracker-core/test/tracker/session_data.test.ts @@ -28,9 +28,7 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -import { TrackerConfiguration } from '../../dist/index.module'; -import { addTracker, SharedState } from '../../src'; -import { createTestIdCookie, createTestSessionIdCookie } from '../helpers'; +import { createTestIdCookie, createTestSessionIdCookie, createTracker } from '../helpers'; jest.useFakeTimers('modern'); @@ -177,8 +175,3 @@ describe('Tracker API: ', () => { tracker?.trackPageView(); }); }); - -function createTracker(configuration?: TrackerConfiguration) { - let id = 'sp-' + Math.random(); - return addTracker(id, id, '', '', new SharedState(), configuration); -} diff --git a/trackers/browser-tracker/docs/browser-tracker.api.md b/trackers/browser-tracker/docs/browser-tracker.api.md index dcbbff11a..2a1762eb1 100644 --- a/trackers/browser-tracker/docs/browser-tracker.api.md +++ b/trackers/browser-tracker/docs/browser-tracker.api.md @@ -74,7 +74,8 @@ export interface BrowserTracker { getDomainSessionIndex: () => void; getDomainUserId: () => void; getDomainUserInfo: () => void; - getPageViewId: () => void; + getPageViewId: () => string; + getTabId: () => string | null; getUserId: () => void; id: string; namespace: string; @@ -106,6 +107,8 @@ export type BuiltInContexts = RequireAtLeastOne<{ webPage: boolean; /* Toggles the session context */ session: boolean; + /* Toggles the browser context */ + browser: boolean; }> | Record; // @public diff --git a/trackers/browser-tracker/test/tab_id_storage.test.ts b/trackers/browser-tracker/test/tab_id_storage.test.ts new file mode 100644 index 000000000..d9af94c65 --- /dev/null +++ b/trackers/browser-tracker/test/tab_id_storage.test.ts @@ -0,0 +1,105 @@ +/* + * 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'; + +describe('Tab identification behaviour', () => { + let mockStorage: Record = {}; + + beforeAll(() => { + global.Storage.prototype.setItem = jest.fn((key, value) => { + mockStorage[key] = value; + }); + global.Storage.prototype.getItem = jest.fn((key) => mockStorage[key]); + }); + + beforeEach(() => { + mockStorage = {}; + }); + + afterAll(() => { + (global.Storage.prototype.setItem as jest.Mock).mockReset(); + (global.Storage.prototype.getItem as jest.Mock).mockReset(); + }); + + it('creates a tab identifier and persists across tracking', () => { + const state = new SharedState(); + const tracker = + addTracker('sp1', 'sp1', '', '', state, { contexts: { browser: true } }) ?? fail('Failed to create tracker'); + + tracker.trackPageView(); + const tabId = tracker.getTabId(); + expect(tabId).toEqual(window.sessionStorage.getItem('_sp_tab_id')); + + tracker.trackPageView(); + expect(tabId).toEqual(tracker.getTabId()); + }); + + it('uses a null tab identifier on anonymous tracking', () => { + const state = new SharedState(); + const tracker = + addTracker('sp2', 'sp2', '', '', state, { anonymousTracking: true, contexts: { browser: true } }) ?? + fail('Failed to create tracker'); + + tracker.trackPageView(); + expect(window.sessionStorage.getItem('_sp_tab_id')).toBe(undefined); + expect(tracker.getTabId()).toEqual(null); + }); + + it('uses a null tab identifier on stateless strategy', () => { + const state = new SharedState(); + const tracker = + addTracker('sp3', 'sp3', '', '', state, { stateStorageStrategy: 'none', contexts: { browser: true } }) ?? + fail('Failed to create tracker'); + + tracker.trackPageView(); + expect(window.sessionStorage.getItem('_sp_tab_id')).toBe(undefined); + // Every call should generate a random identifier + expect(tracker.getTabId()).toEqual(null); + }); + + it('uses the correct stored identifier after disabling anonymous tracking', () => { + const state = new SharedState(); + const tracker = + addTracker('sp4', 'sp4', '', '', state, { anonymousTracking: true, contexts: { browser: true } }) ?? + fail('Failed to create tracker'); + + tracker.trackPageView(); + expect(window.sessionStorage.getItem('_sp_tab_id')).toBe(undefined); + expect(tracker.getTabId()).toEqual(null); + + tracker.disableAnonymousTracking(); + tracker.trackPageView(); + const storedTabId = window.sessionStorage.getItem('_sp_tab_id'); + const tabId = tracker.getTabId(); + expect(storedTabId).not.toBe(undefined); + expect(tabId).toEqual(storedTabId); + }); +}); From 39455a4fdc64f356ee3f674b0f38c6c96d94f837 Mon Sep 17 00:00:00 2001 From: Matus Tomlein Date: Tue, 28 Mar 2023 19:19:23 +0200 Subject: [PATCH 069/449] Make sure brands array in client hints plugin is serialized as an array in context entity (close #1082) PR #1143 --- ...-1082-client_hints_brands_2023-01-23-16-15.json | 10 ++++++++++ plugins/browser-plugin-client-hints/src/index.ts | 14 +++++++++++++- 2 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 common/changes/@snowplow/browser-plugin-client-hints/issue-1082-client_hints_brands_2023-01-23-16-15.json diff --git a/common/changes/@snowplow/browser-plugin-client-hints/issue-1082-client_hints_brands_2023-01-23-16-15.json b/common/changes/@snowplow/browser-plugin-client-hints/issue-1082-client_hints_brands_2023-01-23-16-15.json new file mode 100644 index 000000000..bb1542d6b --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-client-hints/issue-1082-client_hints_brands_2023-01-23-16-15.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-client-hints", + "comment": "Make sure brands array in client hints plugin is serialized as an array in context entity", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-client-hints" +} \ No newline at end of file diff --git a/plugins/browser-plugin-client-hints/src/index.ts b/plugins/browser-plugin-client-hints/src/index.ts index ac8412cc7..e8b4917ee 100644 --- a/plugins/browser-plugin-client-hints/src/index.ts +++ b/plugins/browser-plugin-client-hints/src/index.ts @@ -56,6 +56,18 @@ declare global { let uaClientHints: HttpClientHints; +/** + * This function makes sure that the expected array is returned as an array instead of an object. + * It handles a problem that in some cases the `navigator.userAgentData.brands` was returned as an object instead of array. + */ +function forceArray(array: T[] | Record): T[] { + if (Array.isArray(array)) return array; + + return Object.keys(array).map((e) => { + return array[e]; + }); +} + /** * Attaches Client Hint information where available * @param includeHighEntropy - Should high entropy values be included @@ -67,7 +79,7 @@ export function ClientHintsPlugin(includeHighEntropy?: boolean): BrowserPlugin { if (navigatorAlias.userAgentData) { uaClientHints = { isMobile: navigatorAlias.userAgentData.mobile, - brands: navigatorAlias.userAgentData.brands, + brands: forceArray(navigatorAlias.userAgentData.brands), }; if (includeHighEntropy && navigatorAlias.userAgentData.getHighEntropyValues) { navigatorAlias.userAgentData From 76d738770c6fe0043d7334dd8d1f36817fc2e354 Mon Sep 17 00:00:00 2001 From: Peter Perlepes Date: Wed, 29 Mar 2023 14:07:43 +0300 Subject: [PATCH 070/449] Add snowplow ecommerce promotion actions (close #1157) #1158 --- ...mmerce-promo-actions_2023-02-21-09-19.json | 10 +++ .../src/api.ts | 74 ++++++++++++++----- .../src/schemata.ts | 3 +- .../src/types.ts | 36 +++++++++ .../test/events.test.ts | 53 +++++++++++++ 5 files changed, 157 insertions(+), 19 deletions(-) create mode 100644 common/changes/@snowplow/browser-plugin-snowplow-ecommerce/feature-1157-add-snowplow-ecommerce-promo-actions_2023-02-21-09-19.json diff --git a/common/changes/@snowplow/browser-plugin-snowplow-ecommerce/feature-1157-add-snowplow-ecommerce-promo-actions_2023-02-21-09-19.json b/common/changes/@snowplow/browser-plugin-snowplow-ecommerce/feature-1157-add-snowplow-ecommerce-promo-actions_2023-02-21-09-19.json new file mode 100644 index 000000000..58b0290b7 --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-snowplow-ecommerce/feature-1157-add-snowplow-ecommerce-promo-actions_2023-02-21-09-19.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-snowplow-ecommerce", + "comment": "Add snowplow ecommerce promotion actions", + "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 b83a76936..c28fea446 100644 --- a/plugins/browser-plugin-snowplow-ecommerce/src/api.ts +++ b/plugins/browser-plugin-snowplow-ecommerce/src/api.ts @@ -6,6 +6,7 @@ import { CHECKOUT_STEP_SCHEMA, PAGE_SCHEMA, PRODUCT_SCHEMA, + PROMO_SCHEMA, TRANSACTION_SCHEMA, USER_SCHEMA, } from './schemata'; @@ -17,6 +18,7 @@ import { ListViewEvent, Page as PageContext, Product, + Promotion, Transaction, User as UserContext, } from './types'; @@ -78,6 +80,60 @@ export function trackProductListView( }); } +/** + * Track a product list click event + * + * @param listClick - The list name together with the information of the product which was clicked. + * @param trackers - The tracker identifiers which the event will be sent to + */ +export function trackProductListClick( + listClick: ListClickEvent & CommonEcommerceEventProperties, + trackers: Array = Object.keys(_trackers) +) { + const { context = [], timestamp, name, product } = listClick; + context.push({ schema: PRODUCT_SCHEMA, data: product }); + + dispatchToTrackersInCollection(trackers, _trackers, (t) => { + t.core.track(buildEcommerceActionEvent({ type: 'list_click', name }), context, timestamp); + }); +} + +/** + * Track a promotion view + * + * @param promotionView - The promotion viewed by the visitor. + * @param trackers - The tracker identifiers which the event will be sent to + */ +export function trackPromotionView( + promotionView: Promotion & CommonEcommerceEventProperties, + trackers: Array = Object.keys(_trackers) +) { + const { context = [], timestamp, ...promotion } = promotionView; + context.push({ schema: PROMO_SCHEMA, data: { ...promotion } }); + + dispatchToTrackersInCollection(trackers, _trackers, (t) => { + t.core.track(buildEcommerceActionEvent({ type: 'promo_view' }), context, timestamp); + }); +} + +/** + * Track a promotion click + * + * @param promotionClick - The promotion selected by the visitor. + * @param trackers - The tracker identifiers which the event will be sent to + */ +export function trackPromotionClick( + promotionClick: Promotion & CommonEcommerceEventProperties, + trackers: Array = Object.keys(_trackers) +) { + const { context = [], timestamp, ...promotion } = promotionClick; + context.push({ schema: PROMO_SCHEMA, data: { ...promotion } }); + + dispatchToTrackersInCollection(trackers, _trackers, (t) => { + t.core.track(buildEcommerceActionEvent({ type: 'promo_click' }), context, timestamp); + }); +} + /** * Track a product view/detail * @@ -134,24 +190,6 @@ export function trackRemoveFromCart( }); } -/** - * Track a product list click event - * - * @param listClick - The list name together with the information of the product which was clicked. - * @param trackers - The tracker identifiers which the event will be sent to - */ -export function trackProductListClick( - listClick: ListClickEvent & CommonEcommerceEventProperties, - trackers: Array = Object.keys(_trackers) -) { - const { context = [], timestamp, name, product } = listClick; - context.push({ schema: PRODUCT_SCHEMA, data: product }); - - dispatchToTrackersInCollection(trackers, _trackers, (t) => { - t.core.track(buildEcommerceActionEvent({ type: 'list_click', name }), context, timestamp); - }); -} - /** * Track a transaction event * diff --git a/plugins/browser-plugin-snowplow-ecommerce/src/schemata.ts b/plugins/browser-plugin-snowplow-ecommerce/src/schemata.ts index 0341ef6c0..2a4a6109c 100644 --- a/plugins/browser-plugin-snowplow-ecommerce/src/schemata.ts +++ b/plugins/browser-plugin-snowplow-ecommerce/src/schemata.ts @@ -1,8 +1,9 @@ export const CART_SCHEMA = 'iglu:com.snowplowanalytics.snowplow.ecommerce/cart/jsonschema/1-0-0'; export const ECOMMERCE_ACTION_SCHEMA = - 'iglu:com.snowplowanalytics.snowplow.ecommerce/snowplow_ecommerce_action/jsonschema/1-0-0'; + 'iglu:com.snowplowanalytics.snowplow.ecommerce/snowplow_ecommerce_action/jsonschema/1-0-1'; export const CHECKOUT_STEP_SCHEMA = 'iglu:com.snowplowanalytics.snowplow.ecommerce/checkout_step/jsonschema/1-0-0'; export const PRODUCT_SCHEMA = 'iglu:com.snowplowanalytics.snowplow.ecommerce/product/jsonschema/1-0-0'; export const PAGE_SCHEMA = 'iglu:com.snowplowanalytics.snowplow.ecommerce/page/jsonschema/1-0-0'; export const USER_SCHEMA = 'iglu:com.snowplowanalytics.snowplow.ecommerce/user/jsonschema/1-0-0'; export const TRANSACTION_SCHEMA = 'iglu:com.snowplowanalytics.snowplow.ecommerce/transaction/jsonschema/1-0-0'; +export const PROMO_SCHEMA = 'iglu:com.snowplowanalytics.snowplow.ecommerce/promotion/jsonschema/1-0-0'; diff --git a/plugins/browser-plugin-snowplow-ecommerce/src/types.ts b/plugins/browser-plugin-snowplow-ecommerce/src/types.ts index 808525151..0113759b4 100644 --- a/plugins/browser-plugin-snowplow-ecommerce/src/types.ts +++ b/plugins/browser-plugin-snowplow-ecommerce/src/types.ts @@ -13,6 +13,8 @@ export interface Action { | 'product_view' | 'list_click' | 'list_view' + | 'promo_click' + | 'promo_view' | 'checkout_step' | 'transaction'; @@ -152,6 +154,40 @@ export type Product = { creative_id?: string; }; +/** + * Type/Schema for a promotion entity in Ecommerce + */ +export interface Promotion { + /** + * The ID of the promotion. + */ + id: string; + /** + * The name of the promotion. + */ + name?: string | null; + /** + * Array of SKUs or product IDs showcased in the promotion. + */ + product_ids?: string[] | null; + /** + * The position the promotion was presented in a list of promotions E.g. banner, slider. + */ + position?: number | null; + /** + * Identifier/Name/Url for the creative presented on the promotion. + */ + creative_id?: string | null; + /** + * Type of the promotion delivery mechanism. E.g. popup, banner, intra-content + */ + type?: string | null; + /** + * The website slot in which the promotional content was added to. + */ + slot?: string | null; +} + /** * Type/Schema for a transaction entity in Ecommerce */ diff --git a/plugins/browser-plugin-snowplow-ecommerce/test/events.test.ts b/plugins/browser-plugin-snowplow-ecommerce/test/events.test.ts index 61e263844..ea210d222 100644 --- a/plugins/browser-plugin-snowplow-ecommerce/test/events.test.ts +++ b/plugins/browser-plugin-snowplow-ecommerce/test/events.test.ts @@ -36,6 +36,8 @@ import { trackProductListClick, trackProductListView, trackProductView, + trackPromotionClick, + trackPromotionView, trackRemoveFromCart, trackTransaction, } from '../src'; @@ -44,6 +46,7 @@ import { CHECKOUT_STEP_SCHEMA, ECOMMERCE_ACTION_SCHEMA, PRODUCT_SCHEMA, + PROMO_SCHEMA, TRANSACTION_SCHEMA, } from '../src/schemata'; @@ -159,6 +162,56 @@ describe('SnowplowEcommercePlugin events', () => { }); }); + it('trackPromotionView adds the expected "promotion view" event to the queue', () => { + const promoX = { + id: '1234', + name: 'promo_winter', + product_ids: ['P1234'], + type: 'carousel', + position: 1, + }; + trackPromotionView(promoX); + + const { context, unstructuredEvent } = extractStateProperties(state); + + expect(context).toMatchObject([ + { + data: promoX, + schema: PROMO_SCHEMA, + }, + ]); + + expect(unstructuredEvent).toMatchObject({ + schema: ECOMMERCE_ACTION_SCHEMA, + data: { type: 'promo_view' }, + }); + }); + + it('trackPromotionClick adds the expected "promotion click" event to the queue', () => { + const promoX = { + id: '1234', + name: 'promo_winter', + product_ids: ['P1234'], + type: 'carousel', + position: 1, + }; + trackPromotionClick(promoX); + + const { context, unstructuredEvent } = extractStateProperties(state); + + expect(context).toMatchObject([ + { + data: promoX, + schema: PROMO_SCHEMA, + }, + ]); + + expect(unstructuredEvent).toMatchObject({ + schema: ECOMMERCE_ACTION_SCHEMA, + data: { type: 'promo_click' }, + }); + }); + it('trackProductListView adds the expected "product list view" event to the queue', () => { const productX = { id: '1234', price: 12, currency: 'EUR' }; const productY = { id: '12345', price: 25, currency: 'EUR' }; From e2c13b44227ae63d6bb137064eea668a7e34e580 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 30 Mar 2023 13:46:56 +0000 Subject: [PATCH 071/449] Update changelogs [skip ci] --- ...-client_hints_brands_2023-01-23-16-15.json | 10 -------- ...t-snowplow-ecommerce_2023-02-06-11-35.json | 10 -------- ...quantity-calculation_2023-03-24-17-45.json | 10 -------- ...t-snowplow-ecommerce_2023-02-06-11-35.json | 10 -------- ...mmerce-promo-actions_2023-02-21-09-19.json | 10 -------- ...aybackQuality-values_2022-10-24-08-31.json | 10 -------- ...teners-on-page-pings_2023-02-24-09-22.json | 10 -------- ...-1124-client_session_2022-12-23-13-19.json | 10 -------- ...main-algorithm-start_2023-03-03-10-32.json | 10 -------- ...earing_domain_userid_2023-03-07-17-26.json | 10 -------- ...5-add-tab-identifier_2022-08-24-17-07.json | 10 -------- ...5-add-tab-identifier_2022-08-24-17-07.json | 10 -------- ...es-attribute-for-npm_2023-02-07-09-57.json | 10 -------- ...aybackQuality-values_2022-10-24-08-31.json | 10 -------- ...ue-integration_tests_2023-02-16-05-35.json | 10 -------- ...ue-integration_tests_2023-02-16-05-35.json | 10 -------- libraries/browser-tracker-core/CHANGELOG.json | 24 +++++++++++++++++++ libraries/browser-tracker-core/CHANGELOG.md | 13 +++++++++- libraries/tracker-core/CHANGELOG.json | 12 ++++++++++ libraries/tracker-core/CHANGELOG.md | 9 ++++++- .../browser-plugin-ad-tracking/CHANGELOG.json | 6 +++++ .../browser-plugin-ad-tracking/CHANGELOG.md | 7 +++++- .../CHANGELOG.json | 6 +++++ .../CHANGELOG.md | 7 +++++- .../CHANGELOG.json | 12 ++++++++++ .../browser-plugin-client-hints/CHANGELOG.md | 9 ++++++- plugins/browser-plugin-consent/CHANGELOG.json | 6 +++++ plugins/browser-plugin-consent/CHANGELOG.md | 7 +++++- .../browser-plugin-debugger/CHANGELOG.json | 6 +++++ plugins/browser-plugin-debugger/CHANGELOG.md | 7 +++++- .../browser-plugin-ecommerce/CHANGELOG.json | 6 +++++ plugins/browser-plugin-ecommerce/CHANGELOG.md | 7 +++++- .../CHANGELOG.json | 12 ++++++++++ .../CHANGELOG.md | 9 ++++++- .../CHANGELOG.json | 6 +++++ .../CHANGELOG.md | 7 +++++- .../CHANGELOG.json | 6 +++++ .../CHANGELOG.md | 7 +++++- .../CHANGELOG.json | 6 +++++ .../browser-plugin-form-tracking/CHANGELOG.md | 7 +++++- .../browser-plugin-ga-cookies/CHANGELOG.json | 6 +++++ .../browser-plugin-ga-cookies/CHANGELOG.md | 7 +++++- .../browser-plugin-geolocation/CHANGELOG.json | 6 +++++ .../browser-plugin-geolocation/CHANGELOG.md | 7 +++++- .../CHANGELOG.json | 6 +++++ .../CHANGELOG.md | 7 +++++- .../CHANGELOG.json | 6 +++++ .../CHANGELOG.md | 7 +++++- .../CHANGELOG.json | 6 +++++ .../browser-plugin-optimizely-x/CHANGELOG.md | 7 +++++- .../browser-plugin-optimizely/CHANGELOG.json | 6 +++++ .../browser-plugin-optimizely/CHANGELOG.md | 7 +++++- .../CHANGELOG.json | 6 +++++ .../CHANGELOG.md | 7 +++++- .../CHANGELOG.json | 6 +++++ .../browser-plugin-site-tracking/CHANGELOG.md | 7 +++++- .../CHANGELOG.json | 18 ++++++++++++++ .../CHANGELOG.md | 11 ++++++++- .../browser-plugin-timezone/CHANGELOG.json | 6 +++++ plugins/browser-plugin-timezone/CHANGELOG.md | 7 +++++- .../CHANGELOG.json | 12 ++++++++++ .../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 ++++++- 68 files changed, 408 insertions(+), 186 deletions(-) delete mode 100644 common/changes/@snowplow/browser-plugin-client-hints/issue-1082-client_hints_brands_2023-01-23-16-15.json delete mode 100644 common/changes/@snowplow/browser-plugin-enhanced-consent/feature-1148-add-readme-in-enhanced-consent-snowplow-ecommerce_2023-02-06-11-35.json delete mode 100644 common/changes/@snowplow/browser-plugin-snowplow-ecommerce/feat-implicit-total-quantity-calculation_2023-03-24-17-45.json delete mode 100644 common/changes/@snowplow/browser-plugin-snowplow-ecommerce/feature-1148-add-readme-in-enhanced-consent-snowplow-ecommerce_2023-02-06-11-35.json delete mode 100644 common/changes/@snowplow/browser-plugin-snowplow-ecommerce/feature-1157-add-snowplow-ecommerce-promo-actions_2023-02-21-09-19.json delete mode 100644 common/changes/@snowplow/browser-plugin-youtube-tracking/issue-1122-fix-youtube-e2e-playbackQuality-values_2022-10-24-08-31.json delete mode 100644 common/changes/@snowplow/browser-tracker-core/feature-478-add-touch-listeners-on-page-pings_2023-02-24-09-22.json delete mode 100644 common/changes/@snowplow/browser-tracker-core/issue-1124-client_session_2022-12-23-13-19.json delete mode 100644 common/changes/@snowplow/browser-tracker-core/issue-1162-fix-root-domain-algorithm-start_2023-03-03-10-32.json delete mode 100644 common/changes/@snowplow/browser-tracker-core/issue-1164-clearing_domain_userid_2023-03-07-17-26.json delete mode 100644 common/changes/@snowplow/browser-tracker-core/issue-815-add-tab-identifier_2022-08-24-17-07.json delete mode 100644 common/changes/@snowplow/browser-tracker/issue-815-add-tab-identifier_2022-08-24-17-07.json delete mode 100644 common/changes/@snowplow/javascript-tracker/fix-1146-js-tracker-add-files-attribute-for-npm_2023-02-07-09-57.json delete mode 100644 common/changes/@snowplow/javascript-tracker/issue-1122-fix-youtube-e2e-playbackQuality-values_2022-10-24-08-31.json delete mode 100644 common/changes/@snowplow/node-tracker/issue-integration_tests_2023-02-16-05-35.json delete mode 100644 common/changes/@snowplow/tracker-core/issue-integration_tests_2023-02-16-05-35.json diff --git a/common/changes/@snowplow/browser-plugin-client-hints/issue-1082-client_hints_brands_2023-01-23-16-15.json b/common/changes/@snowplow/browser-plugin-client-hints/issue-1082-client_hints_brands_2023-01-23-16-15.json deleted file mode 100644 index bb1542d6b..000000000 --- a/common/changes/@snowplow/browser-plugin-client-hints/issue-1082-client_hints_brands_2023-01-23-16-15.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-plugin-client-hints", - "comment": "Make sure brands array in client hints plugin is serialized as an array in context entity", - "type": "none" - } - ], - "packageName": "@snowplow/browser-plugin-client-hints" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-enhanced-consent/feature-1148-add-readme-in-enhanced-consent-snowplow-ecommerce_2023-02-06-11-35.json b/common/changes/@snowplow/browser-plugin-enhanced-consent/feature-1148-add-readme-in-enhanced-consent-snowplow-ecommerce_2023-02-06-11-35.json deleted file mode 100644 index eae54e1e6..000000000 --- a/common/changes/@snowplow/browser-plugin-enhanced-consent/feature-1148-add-readme-in-enhanced-consent-snowplow-ecommerce_2023-02-06-11-35.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-plugin-enhanced-consent", - "comment": "Update README", - "type": "none" - } - ], - "packageName": "@snowplow/browser-plugin-enhanced-consent" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-snowplow-ecommerce/feat-implicit-total-quantity-calculation_2023-03-24-17-45.json b/common/changes/@snowplow/browser-plugin-snowplow-ecommerce/feat-implicit-total-quantity-calculation_2023-03-24-17-45.json deleted file mode 100644 index e04ac3d2c..000000000 --- a/common/changes/@snowplow/browser-plugin-snowplow-ecommerce/feat-implicit-total-quantity-calculation_2023-03-24-17-45.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-plugin-snowplow-ecommerce", - "comment": "Add implicit total_quantity calculation on snowplow ecommerce transaction tracking", - "type": "none" - } - ], - "packageName": "@snowplow/browser-plugin-snowplow-ecommerce" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-snowplow-ecommerce/feature-1148-add-readme-in-enhanced-consent-snowplow-ecommerce_2023-02-06-11-35.json b/common/changes/@snowplow/browser-plugin-snowplow-ecommerce/feature-1148-add-readme-in-enhanced-consent-snowplow-ecommerce_2023-02-06-11-35.json deleted file mode 100644 index 02756931e..000000000 --- a/common/changes/@snowplow/browser-plugin-snowplow-ecommerce/feature-1148-add-readme-in-enhanced-consent-snowplow-ecommerce_2023-02-06-11-35.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-plugin-snowplow-ecommerce", - "comment": "Update README", - "type": "none" - } - ], - "packageName": "@snowplow/browser-plugin-snowplow-ecommerce" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-snowplow-ecommerce/feature-1157-add-snowplow-ecommerce-promo-actions_2023-02-21-09-19.json b/common/changes/@snowplow/browser-plugin-snowplow-ecommerce/feature-1157-add-snowplow-ecommerce-promo-actions_2023-02-21-09-19.json deleted file mode 100644 index 58b0290b7..000000000 --- a/common/changes/@snowplow/browser-plugin-snowplow-ecommerce/feature-1157-add-snowplow-ecommerce-promo-actions_2023-02-21-09-19.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-plugin-snowplow-ecommerce", - "comment": "Add snowplow ecommerce promotion actions", - "type": "none" - } - ], - "packageName": "@snowplow/browser-plugin-snowplow-ecommerce" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-youtube-tracking/issue-1122-fix-youtube-e2e-playbackQuality-values_2022-10-24-08-31.json b/common/changes/@snowplow/browser-plugin-youtube-tracking/issue-1122-fix-youtube-e2e-playbackQuality-values_2022-10-24-08-31.json deleted file mode 100644 index 1c18dcfc4..000000000 --- a/common/changes/@snowplow/browser-plugin-youtube-tracking/issue-1122-fix-youtube-e2e-playbackQuality-values_2022-10-24-08-31.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-plugin-youtube-tracking", - "comment": "Remove fixed values for playbackQuality in YT integrations plus type fixes (closes #1122)", - "type": "none" - } - ], - "packageName": "@snowplow/browser-plugin-youtube-tracking" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-tracker-core/feature-478-add-touch-listeners-on-page-pings_2023-02-24-09-22.json b/common/changes/@snowplow/browser-tracker-core/feature-478-add-touch-listeners-on-page-pings_2023-02-24-09-22.json deleted file mode 100644 index b79fec5df..000000000 --- a/common/changes/@snowplow/browser-tracker-core/feature-478-add-touch-listeners-on-page-pings_2023-02-24-09-22.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-tracker-core", - "comment": "Add touchmove and touchstart events on page ping calculation", - "type": "none" - } - ], - "packageName": "@snowplow/browser-tracker-core" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-tracker-core/issue-1124-client_session_2022-12-23-13-19.json b/common/changes/@snowplow/browser-tracker-core/issue-1124-client_session_2022-12-23-13-19.json deleted file mode 100644 index 68088f330..000000000 --- a/common/changes/@snowplow/browser-tracker-core/issue-1124-client_session_2022-12-23-13-19.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-tracker-core", - "comment": "Add client_session context entity if anonymous tracking with session tracking is enabled (#1124)", - "type": "none" - } - ], - "packageName": "@snowplow/browser-tracker-core" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-tracker-core/issue-1162-fix-root-domain-algorithm-start_2023-03-03-10-32.json b/common/changes/@snowplow/browser-tracker-core/issue-1162-fix-root-domain-algorithm-start_2023-03-03-10-32.json deleted file mode 100644 index 5131a2c0c..000000000 --- a/common/changes/@snowplow/browser-tracker-core/issue-1162-fix-root-domain-algorithm-start_2023-03-03-10-32.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-tracker-core", - "comment": "Fix root domain algorithm initial attempt", - "type": "none" - } - ], - "packageName": "@snowplow/browser-tracker-core" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-tracker-core/issue-1164-clearing_domain_userid_2023-03-07-17-26.json b/common/changes/@snowplow/browser-tracker-core/issue-1164-clearing_domain_userid_2023-03-07-17-26.json deleted file mode 100644 index 54d314d15..000000000 --- a/common/changes/@snowplow/browser-tracker-core/issue-1164-clearing_domain_userid_2023-03-07-17-26.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-tracker-core", - "comment": "Fix generating domain user ID when clearing user data with anonymous tracking (#1164)", - "type": "none" - } - ], - "packageName": "@snowplow/browser-tracker-core" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-tracker-core/issue-815-add-tab-identifier_2022-08-24-17-07.json b/common/changes/@snowplow/browser-tracker-core/issue-815-add-tab-identifier_2022-08-24-17-07.json deleted file mode 100644 index bb9e2e54a..000000000 --- a/common/changes/@snowplow/browser-tracker-core/issue-815-add-tab-identifier_2022-08-24-17-07.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-tracker-core", - "comment": "Add browser context and ability to generate tab identifier.", - "type": "none" - } - ], - "packageName": "@snowplow/browser-tracker-core" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-tracker/issue-815-add-tab-identifier_2022-08-24-17-07.json b/common/changes/@snowplow/browser-tracker/issue-815-add-tab-identifier_2022-08-24-17-07.json deleted file mode 100644 index 1bf8a1e7e..000000000 --- a/common/changes/@snowplow/browser-tracker/issue-815-add-tab-identifier_2022-08-24-17-07.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-tracker", - "comment": "Add tracker.getTabId() API.", - "type": "none" - } - ], - "packageName": "@snowplow/browser-tracker" -} \ No newline at end of file diff --git a/common/changes/@snowplow/javascript-tracker/fix-1146-js-tracker-add-files-attribute-for-npm_2023-02-07-09-57.json b/common/changes/@snowplow/javascript-tracker/fix-1146-js-tracker-add-files-attribute-for-npm_2023-02-07-09-57.json deleted file mode 100644 index b3f52a407..000000000 --- a/common/changes/@snowplow/javascript-tracker/fix-1146-js-tracker-add-files-attribute-for-npm_2023-02-07-09-57.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/javascript-tracker", - "comment": "Add files attribute for npm publishing", - "type": "none" - } - ], - "packageName": "@snowplow/javascript-tracker" -} \ No newline at end of file diff --git a/common/changes/@snowplow/javascript-tracker/issue-1122-fix-youtube-e2e-playbackQuality-values_2022-10-24-08-31.json b/common/changes/@snowplow/javascript-tracker/issue-1122-fix-youtube-e2e-playbackQuality-values_2022-10-24-08-31.json deleted file mode 100644 index ae2f53795..000000000 --- a/common/changes/@snowplow/javascript-tracker/issue-1122-fix-youtube-e2e-playbackQuality-values_2022-10-24-08-31.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/javascript-tracker", - "comment": "", - "type": "none" - } - ], - "packageName": "@snowplow/javascript-tracker" -} \ No newline at end of file diff --git a/common/changes/@snowplow/node-tracker/issue-integration_tests_2023-02-16-05-35.json b/common/changes/@snowplow/node-tracker/issue-integration_tests_2023-02-16-05-35.json deleted file mode 100644 index d32ab6618..000000000 --- a/common/changes/@snowplow/node-tracker/issue-integration_tests_2023-02-16-05-35.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/node-tracker", - "comment": "Fix flaky end-to-end tests (#1152)", - "type": "none" - } - ], - "packageName": "@snowplow/node-tracker" -} \ No newline at end of file diff --git a/common/changes/@snowplow/tracker-core/issue-integration_tests_2023-02-16-05-35.json b/common/changes/@snowplow/tracker-core/issue-integration_tests_2023-02-16-05-35.json deleted file mode 100644 index 9316fa1a8..000000000 --- a/common/changes/@snowplow/tracker-core/issue-integration_tests_2023-02-16-05-35.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/tracker-core", - "comment": "Fix flaky end-to-end tests (#1152)", - "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 9548bde50..163f58b0b 100644 --- a/libraries/browser-tracker-core/CHANGELOG.json +++ b/libraries/browser-tracker-core/CHANGELOG.json @@ -1,6 +1,30 @@ { "name": "@snowplow/browser-tracker-core", "entries": [ + { + "version": "3.9.0", + "tag": "@snowplow/browser-tracker-core_v3.9.0", + "date": "Thu, 30 Mar 2023 13:46:56 GMT", + "comments": { + "none": [ + { + "comment": "Add touchmove and touchstart events on page ping calculation" + }, + { + "comment": "Add client_session context entity if anonymous tracking with session tracking is enabled (#1124)" + }, + { + "comment": "Fix root domain algorithm initial attempt" + }, + { + "comment": "Fix generating domain user ID when clearing user data with anonymous tracking (#1164)" + }, + { + "comment": "Add browser context and ability to generate tab identifier." + } + ] + } + }, { "version": "3.8.0", "tag": "@snowplow/browser-tracker-core_v3.8.0", diff --git a/libraries/browser-tracker-core/CHANGELOG.md b/libraries/browser-tracker-core/CHANGELOG.md index abe4d1eb0..91db77d4c 100644 --- a/libraries/browser-tracker-core/CHANGELOG.md +++ b/libraries/browser-tracker-core/CHANGELOG.md @@ -1,6 +1,17 @@ # Change Log - @snowplow/browser-tracker-core -This log was last generated on Tue, 03 Jan 2023 15:36:33 GMT and should not be manually modified. +This log was last generated on Thu, 30 Mar 2023 13:46:56 GMT and should not be manually modified. + +## 3.9.0 +Thu, 30 Mar 2023 13:46:56 GMT + +### Updates + +- Add touchmove and touchstart events on page ping calculation +- Add client_session context entity if anonymous tracking with session tracking is enabled (#1124) +- Fix root domain algorithm initial attempt +- Fix generating domain user ID when clearing user data with anonymous tracking (#1164) +- Add browser context and ability to generate tab identifier. ## 3.8.0 Tue, 03 Jan 2023 15:36:33 GMT diff --git a/libraries/tracker-core/CHANGELOG.json b/libraries/tracker-core/CHANGELOG.json index 6b32d672b..9461e60a3 100644 --- a/libraries/tracker-core/CHANGELOG.json +++ b/libraries/tracker-core/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@snowplow/tracker-core", "entries": [ + { + "version": "3.9.0", + "tag": "@snowplow/tracker-core_v3.9.0", + "date": "Thu, 30 Mar 2023 13:46:56 GMT", + "comments": { + "none": [ + { + "comment": "Fix flaky end-to-end tests (#1152)" + } + ] + } + }, { "version": "3.8.0", "tag": "@snowplow/tracker-core_v3.8.0", diff --git a/libraries/tracker-core/CHANGELOG.md b/libraries/tracker-core/CHANGELOG.md index 83a681f50..6f569d040 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, 03 Jan 2023 15:36:33 GMT and should not be manually modified. +This log was last generated on Thu, 30 Mar 2023 13:46:56 GMT and should not be manually modified. + +## 3.9.0 +Thu, 30 Mar 2023 13:46:56 GMT + +### Updates + +- Fix flaky end-to-end tests (#1152) ## 3.8.0 Tue, 03 Jan 2023 15:36:33 GMT diff --git a/plugins/browser-plugin-ad-tracking/CHANGELOG.json b/plugins/browser-plugin-ad-tracking/CHANGELOG.json index 83f3b5e99..8a426f0d4 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.9.0", + "tag": "@snowplow/browser-plugin-ad-tracking_v3.9.0", + "date": "Thu, 30 Mar 2023 13:46:56 GMT", + "comments": {} + }, { "version": "3.8.0", "tag": "@snowplow/browser-plugin-ad-tracking_v3.8.0", diff --git a/plugins/browser-plugin-ad-tracking/CHANGELOG.md b/plugins/browser-plugin-ad-tracking/CHANGELOG.md index 7c73f6d7d..c1839612a 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 Jan 2023 15:36:33 GMT and should not be manually modified. +This log was last generated on Thu, 30 Mar 2023 13:46:56 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-browser-features/CHANGELOG.json b/plugins/browser-plugin-browser-features/CHANGELOG.json index 53c973f63..d842a90b7 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.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", diff --git a/plugins/browser-plugin-browser-features/CHANGELOG.md b/plugins/browser-plugin-browser-features/CHANGELOG.md index 096de8922..8cafc3a1b 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 Jan 2023 15:36:33 GMT and should not be manually modified. +This log was last generated on Thu, 30 Mar 2023 13:46:56 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-client-hints/CHANGELOG.json b/plugins/browser-plugin-client-hints/CHANGELOG.json index 5d76a4b34..ff6fd0beb 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.9.0", + "tag": "@snowplow/browser-plugin-client-hints_v3.9.0", + "date": "Thu, 30 Mar 2023 13:46:56 GMT", + "comments": { + "none": [ + { + "comment": "Make sure brands array in client hints plugin is serialized as an array in context entity" + } + ] + } + }, { "version": "3.8.0", "tag": "@snowplow/browser-plugin-client-hints_v3.8.0", diff --git a/plugins/browser-plugin-client-hints/CHANGELOG.md b/plugins/browser-plugin-client-hints/CHANGELOG.md index 6c2be9445..fb364d910 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 Tue, 03 Jan 2023 15:36:33 GMT and should not be manually modified. +This log was last generated on Thu, 30 Mar 2023 13:46:56 GMT and should not be manually modified. + +## 3.9.0 +Thu, 30 Mar 2023 13:46:56 GMT + +### Updates + +- Make sure brands array in client hints plugin is serialized as an array in context entity ## 3.8.0 Tue, 03 Jan 2023 15:36:33 GMT diff --git a/plugins/browser-plugin-consent/CHANGELOG.json b/plugins/browser-plugin-consent/CHANGELOG.json index e41f6af05..4732428b2 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.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", diff --git a/plugins/browser-plugin-consent/CHANGELOG.md b/plugins/browser-plugin-consent/CHANGELOG.md index 4fdbdca27..feb321fce 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 Jan 2023 15:36:33 GMT and should not be manually modified. +This log was last generated on Thu, 30 Mar 2023 13:46:56 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-debugger/CHANGELOG.json b/plugins/browser-plugin-debugger/CHANGELOG.json index cbc1bde8f..a2a9b0652 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.9.0", + "tag": "@snowplow/browser-plugin-debugger_v3.9.0", + "date": "Thu, 30 Mar 2023 13:46:56 GMT", + "comments": {} + }, { "version": "3.8.0", "tag": "@snowplow/browser-plugin-debugger_v3.8.0", diff --git a/plugins/browser-plugin-debugger/CHANGELOG.md b/plugins/browser-plugin-debugger/CHANGELOG.md index c37562b15..40309edf6 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 Jan 2023 15:36:33 GMT and should not be manually modified. +This log was last generated on Thu, 30 Mar 2023 13:46:56 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-ecommerce/CHANGELOG.json b/plugins/browser-plugin-ecommerce/CHANGELOG.json index fa02ea86e..588d1ed9a 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.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", diff --git a/plugins/browser-plugin-ecommerce/CHANGELOG.md b/plugins/browser-plugin-ecommerce/CHANGELOG.md index 353cb97c4..66d1913cf 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 Jan 2023 15:36:33 GMT and should not be manually modified. +This log was last generated on Thu, 30 Mar 2023 13:46:56 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-enhanced-consent/CHANGELOG.json b/plugins/browser-plugin-enhanced-consent/CHANGELOG.json index bda55b37c..e93089e13 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.9.0", + "tag": "@snowplow/browser-plugin-enhanced-consent_v3.9.0", + "date": "Thu, 30 Mar 2023 13:46:56 GMT", + "comments": { + "none": [ + { + "comment": "Update README" + } + ] + } + }, { "version": "3.8.0", "tag": "@snowplow/browser-plugin-enhanced-consent_v3.8.0", diff --git a/plugins/browser-plugin-enhanced-consent/CHANGELOG.md b/plugins/browser-plugin-enhanced-consent/CHANGELOG.md index 9532ec8bb..7882303d0 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 Tue, 03 Jan 2023 15:36:33 GMT and should not be manually modified. +This log was last generated on Thu, 30 Mar 2023 13:46:56 GMT and should not be manually modified. + +## 3.9.0 +Thu, 30 Mar 2023 13:46:56 GMT + +### Updates + +- Update README ## 3.8.0 Tue, 03 Jan 2023 15:36:33 GMT diff --git a/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.json b/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.json index 37d3dd1ee..c5324da4a 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.9.0", + "tag": "@snowplow/browser-plugin-enhanced-ecommerce_v3.9.0", + "date": "Thu, 30 Mar 2023 13:46:56 GMT", + "comments": {} + }, { "version": "3.8.0", "tag": "@snowplow/browser-plugin-enhanced-ecommerce_v3.8.0", diff --git a/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.md b/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.md index f77c8f059..76e9fb085 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 Jan 2023 15:36:33 GMT and should not be manually modified. +This log was last generated on Thu, 30 Mar 2023 13:46:56 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-error-tracking/CHANGELOG.json b/plugins/browser-plugin-error-tracking/CHANGELOG.json index da9869266..d571fb044 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.9.0", + "tag": "@snowplow/browser-plugin-error-tracking_v3.9.0", + "date": "Thu, 30 Mar 2023 13:46:56 GMT", + "comments": {} + }, { "version": "3.8.0", "tag": "@snowplow/browser-plugin-error-tracking_v3.8.0", diff --git a/plugins/browser-plugin-error-tracking/CHANGELOG.md b/plugins/browser-plugin-error-tracking/CHANGELOG.md index 977d1470e..f1097331a 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 Jan 2023 15:36:33 GMT and should not be manually modified. +This log was last generated on Thu, 30 Mar 2023 13:46:56 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-form-tracking/CHANGELOG.json b/plugins/browser-plugin-form-tracking/CHANGELOG.json index c9b3e8bd4..dc10d339c 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.9.0", + "tag": "@snowplow/browser-plugin-form-tracking_v3.9.0", + "date": "Thu, 30 Mar 2023 13:46:56 GMT", + "comments": {} + }, { "version": "3.8.0", "tag": "@snowplow/browser-plugin-form-tracking_v3.8.0", diff --git a/plugins/browser-plugin-form-tracking/CHANGELOG.md b/plugins/browser-plugin-form-tracking/CHANGELOG.md index c1a6d0a25..fdaf6c179 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 Jan 2023 15:36:33 GMT and should not be manually modified. +This log was last generated on Thu, 30 Mar 2023 13:46:56 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-ga-cookies/CHANGELOG.json b/plugins/browser-plugin-ga-cookies/CHANGELOG.json index 4eac0d3d5..dd423026f 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.9.0", + "tag": "@snowplow/browser-plugin-ga-cookies_v3.9.0", + "date": "Thu, 30 Mar 2023 13:46:56 GMT", + "comments": {} + }, { "version": "3.8.0", "tag": "@snowplow/browser-plugin-ga-cookies_v3.8.0", diff --git a/plugins/browser-plugin-ga-cookies/CHANGELOG.md b/plugins/browser-plugin-ga-cookies/CHANGELOG.md index 96f5f7667..5fbbc34d0 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 Jan 2023 15:36:33 GMT and should not be manually modified. +This log was last generated on Thu, 30 Mar 2023 13:46:56 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-geolocation/CHANGELOG.json b/plugins/browser-plugin-geolocation/CHANGELOG.json index 8c15bd48b..fc6cb626a 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.9.0", + "tag": "@snowplow/browser-plugin-geolocation_v3.9.0", + "date": "Thu, 30 Mar 2023 13:46:56 GMT", + "comments": {} + }, { "version": "3.8.0", "tag": "@snowplow/browser-plugin-geolocation_v3.8.0", diff --git a/plugins/browser-plugin-geolocation/CHANGELOG.md b/plugins/browser-plugin-geolocation/CHANGELOG.md index 771ffaa04..0665594c4 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 Jan 2023 15:36:33 GMT and should not be manually modified. +This log was last generated on Thu, 30 Mar 2023 13:46:56 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-link-click-tracking/CHANGELOG.json b/plugins/browser-plugin-link-click-tracking/CHANGELOG.json index c66c5cef4..96f931f8b 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.9.0", + "tag": "@snowplow/browser-plugin-link-click-tracking_v3.9.0", + "date": "Thu, 30 Mar 2023 13:46:56 GMT", + "comments": {} + }, { "version": "3.8.0", "tag": "@snowplow/browser-plugin-link-click-tracking_v3.8.0", diff --git a/plugins/browser-plugin-link-click-tracking/CHANGELOG.md b/plugins/browser-plugin-link-click-tracking/CHANGELOG.md index c11153481..5ffcef949 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 Jan 2023 15:36:33 GMT and should not be manually modified. +This log was last generated on Thu, 30 Mar 2023 13:46:56 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-media-tracking/CHANGELOG.json b/plugins/browser-plugin-media-tracking/CHANGELOG.json index 6d5f4a90f..8d88c45ef 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.9.0", + "tag": "@snowplow/browser-plugin-media-tracking_v3.9.0", + "date": "Thu, 30 Mar 2023 13:46:56 GMT", + "comments": {} + }, { "version": "3.8.0", "tag": "@snowplow/browser-plugin-media-tracking_v3.8.0", diff --git a/plugins/browser-plugin-media-tracking/CHANGELOG.md b/plugins/browser-plugin-media-tracking/CHANGELOG.md index 2d9d9d066..51e921b9c 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 Jan 2023 15:36:33 GMT and should not be manually modified. +This log was last generated on Thu, 30 Mar 2023 13:46:56 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-optimizely-x/CHANGELOG.json b/plugins/browser-plugin-optimizely-x/CHANGELOG.json index 8aa13f817..d12d84381 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.9.0", + "tag": "@snowplow/browser-plugin-optimizely-x_v3.9.0", + "date": "Thu, 30 Mar 2023 13:46:56 GMT", + "comments": {} + }, { "version": "3.8.0", "tag": "@snowplow/browser-plugin-optimizely-x_v3.8.0", diff --git a/plugins/browser-plugin-optimizely-x/CHANGELOG.md b/plugins/browser-plugin-optimizely-x/CHANGELOG.md index 0acea9294..8bd9ed514 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, 03 Jan 2023 15:36:33 GMT and should not be manually modified. +This log was last generated on Thu, 30 Mar 2023 13:46:56 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-optimizely/CHANGELOG.json b/plugins/browser-plugin-optimizely/CHANGELOG.json index fc203d78f..3459bae12 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.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", diff --git a/plugins/browser-plugin-optimizely/CHANGELOG.md b/plugins/browser-plugin-optimizely/CHANGELOG.md index 90065ee34..3275da472 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 Jan 2023 15:36:33 GMT and should not be manually modified. +This log was last generated on Thu, 30 Mar 2023 13:46:56 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-performance-timing/CHANGELOG.json b/plugins/browser-plugin-performance-timing/CHANGELOG.json index 963a8bc5b..f1520e154 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.9.0", + "tag": "@snowplow/browser-plugin-performance-timing_v3.9.0", + "date": "Thu, 30 Mar 2023 13:46:56 GMT", + "comments": {} + }, { "version": "3.8.0", "tag": "@snowplow/browser-plugin-performance-timing_v3.8.0", diff --git a/plugins/browser-plugin-performance-timing/CHANGELOG.md b/plugins/browser-plugin-performance-timing/CHANGELOG.md index 5a6914ece..728433f15 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 Jan 2023 15:36:33 GMT and should not be manually modified. +This log was last generated on Thu, 30 Mar 2023 13:46:56 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-site-tracking/CHANGELOG.json b/plugins/browser-plugin-site-tracking/CHANGELOG.json index 4c48ea42c..8b5bb7d21 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.9.0", + "tag": "@snowplow/browser-plugin-site-tracking_v3.9.0", + "date": "Thu, 30 Mar 2023 13:46:56 GMT", + "comments": {} + }, { "version": "3.8.0", "tag": "@snowplow/browser-plugin-site-tracking_v3.8.0", diff --git a/plugins/browser-plugin-site-tracking/CHANGELOG.md b/plugins/browser-plugin-site-tracking/CHANGELOG.md index c371bee3f..88f7cb0ae 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 Jan 2023 15:36:33 GMT and should not be manually modified. +This log was last generated on Thu, 30 Mar 2023 13:46:56 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.json b/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.json index 402dc119d..43ccdfa72 100644 --- a/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.json +++ b/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.json @@ -1,6 +1,24 @@ { "name": "@snowplow/browser-plugin-snowplow-ecommerce", "entries": [ + { + "version": "3.9.0", + "tag": "@snowplow/browser-plugin-snowplow-ecommerce_v3.9.0", + "date": "Thu, 30 Mar 2023 13:46:56 GMT", + "comments": { + "none": [ + { + "comment": "Add implicit total_quantity calculation on snowplow ecommerce transaction tracking" + }, + { + "comment": "Update README" + }, + { + "comment": "Add snowplow ecommerce promotion actions" + } + ] + } + }, { "version": "3.8.0", "tag": "@snowplow/browser-plugin-snowplow-ecommerce_v3.8.0", diff --git a/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.md b/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.md index 83909f2d7..168ebedd3 100644 --- a/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.md +++ b/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.md @@ -1,6 +1,15 @@ # Change Log - @snowplow/browser-plugin-snowplow-ecommerce -This log was last generated on Tue, 03 Jan 2023 15:36:33 GMT and should not be manually modified. +This log was last generated on Thu, 30 Mar 2023 13:46:56 GMT and should not be manually modified. + +## 3.9.0 +Thu, 30 Mar 2023 13:46:56 GMT + +### Updates + +- Add implicit total_quantity calculation on snowplow ecommerce transaction tracking +- Update README +- Add snowplow ecommerce promotion actions ## 3.8.0 Tue, 03 Jan 2023 15:36:33 GMT diff --git a/plugins/browser-plugin-timezone/CHANGELOG.json b/plugins/browser-plugin-timezone/CHANGELOG.json index 5c8434647..ab9d78204 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.9.0", + "tag": "@snowplow/browser-plugin-timezone_v3.9.0", + "date": "Thu, 30 Mar 2023 13:46:56 GMT", + "comments": {} + }, { "version": "3.8.0", "tag": "@snowplow/browser-plugin-timezone_v3.8.0", diff --git a/plugins/browser-plugin-timezone/CHANGELOG.md b/plugins/browser-plugin-timezone/CHANGELOG.md index bbf8e3fde..f0538d732 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 Jan 2023 15:36:33 GMT and should not be manually modified. +This log was last generated on Thu, 30 Mar 2023 13:46:56 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-youtube-tracking/CHANGELOG.json b/plugins/browser-plugin-youtube-tracking/CHANGELOG.json index 2cf23a7a6..6adb1e38b 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.9.0", + "tag": "@snowplow/browser-plugin-youtube-tracking_v3.9.0", + "date": "Thu, 30 Mar 2023 13:46:56 GMT", + "comments": { + "none": [ + { + "comment": "Remove fixed values for playbackQuality in YT integrations plus type fixes (closes #1122)" + } + ] + } + }, { "version": "3.8.0", "tag": "@snowplow/browser-plugin-youtube-tracking_v3.8.0", diff --git a/plugins/browser-plugin-youtube-tracking/CHANGELOG.md b/plugins/browser-plugin-youtube-tracking/CHANGELOG.md index 44ccde131..9a2695aec 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 Tue, 03 Jan 2023 15:36:33 GMT and should not be manually modified. +This log was last generated on Thu, 30 Mar 2023 13:46:56 GMT and should not be manually modified. + +## 3.9.0 +Thu, 30 Mar 2023 13:46:56 GMT + +### Updates + +- Remove fixed values for playbackQuality in YT integrations plus type fixes (closes #1122) ## 3.8.0 Tue, 03 Jan 2023 15:36:33 GMT diff --git a/trackers/browser-tracker/CHANGELOG.json b/trackers/browser-tracker/CHANGELOG.json index 46f85ec89..1f8fa983c 100644 --- a/trackers/browser-tracker/CHANGELOG.json +++ b/trackers/browser-tracker/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@snowplow/browser-tracker", "entries": [ + { + "version": "3.9.0", + "tag": "@snowplow/browser-tracker_v3.9.0", + "date": "Thu, 30 Mar 2023 13:46:56 GMT", + "comments": { + "none": [ + { + "comment": "Add tracker.getTabId() API." + } + ] + } + }, { "version": "3.8.0", "tag": "@snowplow/browser-tracker_v3.8.0", diff --git a/trackers/browser-tracker/CHANGELOG.md b/trackers/browser-tracker/CHANGELOG.md index 0e1b71106..56416d055 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, 03 Jan 2023 15:36:33 GMT and should not be manually modified. +This log was last generated on Thu, 30 Mar 2023 13:46:56 GMT and should not be manually modified. + +## 3.9.0 +Thu, 30 Mar 2023 13:46:56 GMT + +### Updates + +- Add tracker.getTabId() API. ## 3.8.0 Tue, 03 Jan 2023 15:36:33 GMT diff --git a/trackers/javascript-tracker/CHANGELOG.json b/trackers/javascript-tracker/CHANGELOG.json index 8d3c9302c..09e1c1570 100644 --- a/trackers/javascript-tracker/CHANGELOG.json +++ b/trackers/javascript-tracker/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@snowplow/javascript-tracker", "entries": [ + { + "version": "3.9.0", + "tag": "@snowplow/javascript-tracker_v3.9.0", + "date": "Thu, 30 Mar 2023 13:46:56 GMT", + "comments": { + "none": [ + { + "comment": "Add files attribute for npm publishing" + } + ] + } + }, { "version": "3.8.0", "tag": "@snowplow/javascript-tracker_v3.8.0", diff --git a/trackers/javascript-tracker/CHANGELOG.md b/trackers/javascript-tracker/CHANGELOG.md index 4269cfd7c..e4900c48d 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 Jan 2023 15:36:33 GMT and should not be manually modified. +This log was last generated on Thu, 30 Mar 2023 13:46:56 GMT and should not be manually modified. + +## 3.9.0 +Thu, 30 Mar 2023 13:46:56 GMT + +### Updates + +- Add files attribute for npm publishing ## 3.8.0 Tue, 03 Jan 2023 15:36:33 GMT diff --git a/trackers/node-tracker/CHANGELOG.json b/trackers/node-tracker/CHANGELOG.json index 64e0e50b7..0fea29079 100644 --- a/trackers/node-tracker/CHANGELOG.json +++ b/trackers/node-tracker/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@snowplow/node-tracker", "entries": [ + { + "version": "3.9.0", + "tag": "@snowplow/node-tracker_v3.9.0", + "date": "Thu, 30 Mar 2023 13:46:56 GMT", + "comments": { + "none": [ + { + "comment": "Fix flaky end-to-end tests (#1152)" + } + ] + } + }, { "version": "3.8.0", "tag": "@snowplow/node-tracker_v3.8.0", diff --git a/trackers/node-tracker/CHANGELOG.md b/trackers/node-tracker/CHANGELOG.md index 02a8a5255..0c9a0fe0a 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, 03 Jan 2023 15:36:33 GMT and should not be manually modified. +This log was last generated on Thu, 30 Mar 2023 13:46:56 GMT and should not be manually modified. + +## 3.9.0 +Thu, 30 Mar 2023 13:46:56 GMT + +### Updates + +- Fix flaky end-to-end tests (#1152) ## 3.8.0 Tue, 03 Jan 2023 15:36:33 GMT From cebce74ed84e4e35d1707e074b43dd03e33468a2 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 30 Mar 2023 13:46:56 +0000 Subject: [PATCH 072/449] 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-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-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-optimizely-x/package.json | 4 ++-- plugins/browser-plugin-optimizely/package.json | 4 ++-- plugins/browser-plugin-performance-timing/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-youtube-tracking/package.json | 4 ++-- trackers/browser-tracker/package.json | 2 +- trackers/javascript-tracker/package.json | 2 +- trackers/node-tracker/package.json | 2 +- 27 files changed, 48 insertions(+), 48 deletions(-) diff --git a/common/config/rush/version-policies.json b/common/config/rush/version-policies.json index 9ded67980..8a27048c5 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.8.0", + "version": "3.9.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 d4fc058bf..1e30ad7d7 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.8.0", + "version": "3.9.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 96599d1dd..49a2b1f09 100644 --- a/libraries/tracker-core/package.json +++ b/libraries/tracker-core/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/tracker-core", - "version": "3.8.0", + "version": "3.9.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 cc03bb0e1..6771c4ad1 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.8.0", + "version": "3.9.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.8.0" + "@snowplow/browser-tracker": "~3.9.0" } } diff --git a/plugins/browser-plugin-browser-features/package.json b/plugins/browser-plugin-browser-features/package.json index 54047a41c..86b71863d 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.8.0", + "version": "3.9.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.8.0" + "@snowplow/browser-tracker": "~3.9.0" } } diff --git a/plugins/browser-plugin-client-hints/package.json b/plugins/browser-plugin-client-hints/package.json index 1d5e6787f..b6af64241 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.8.0", + "version": "3.9.0", "description": "Attaches Client Hints to Snowplow events", "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.8.0" + "@snowplow/browser-tracker": "~3.9.0" } } diff --git a/plugins/browser-plugin-consent/package.json b/plugins/browser-plugin-consent/package.json index 3a49fc70a..9d8055edd 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.8.0", + "version": "3.9.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.8.0" + "@snowplow/browser-tracker": "~3.9.0" } } diff --git a/plugins/browser-plugin-debugger/package.json b/plugins/browser-plugin-debugger/package.json index ab5254d7c..e4b9d8b41 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.8.0", + "version": "3.9.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.8.0" + "@snowplow/browser-tracker": "~3.9.0" } } diff --git a/plugins/browser-plugin-ecommerce/package.json b/plugins/browser-plugin-ecommerce/package.json index fcaaa12bd..b4aa21e87 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.8.0", + "version": "3.9.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.8.0" + "@snowplow/browser-tracker": "~3.9.0" } } diff --git a/plugins/browser-plugin-enhanced-consent/package.json b/plugins/browser-plugin-enhanced-consent/package.json index 1c04e0bf8..6849563e6 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.8.0", + "version": "3.9.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.8.0" + "@snowplow/browser-tracker": "~3.9.0" } } diff --git a/plugins/browser-plugin-enhanced-ecommerce/package.json b/plugins/browser-plugin-enhanced-ecommerce/package.json index 2a3c6fca5..6303cfada 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.8.0", + "version": "3.9.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.8.0" + "@snowplow/browser-tracker": "~3.9.0" } } diff --git a/plugins/browser-plugin-error-tracking/package.json b/plugins/browser-plugin-error-tracking/package.json index 60a1efb06..687f6d67c 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.8.0", + "version": "3.9.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.8.0" + "@snowplow/browser-tracker": "~3.9.0" } } diff --git a/plugins/browser-plugin-form-tracking/package.json b/plugins/browser-plugin-form-tracking/package.json index a55e48d61..5ceb27bc2 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.8.0", + "version": "3.9.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.8.0" + "@snowplow/browser-tracker": "~3.9.0" } } diff --git a/plugins/browser-plugin-ga-cookies/package.json b/plugins/browser-plugin-ga-cookies/package.json index 1264a8a4b..cb78d5742 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.8.0", + "version": "3.9.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.8.0" + "@snowplow/browser-tracker": "~3.9.0" } } diff --git a/plugins/browser-plugin-geolocation/package.json b/plugins/browser-plugin-geolocation/package.json index cf0b45484..c4798c8e2 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.8.0", + "version": "3.9.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.8.0" + "@snowplow/browser-tracker": "~3.9.0" } } diff --git a/plugins/browser-plugin-link-click-tracking/package.json b/plugins/browser-plugin-link-click-tracking/package.json index 1fff6ca51..a39e7043b 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.8.0", + "version": "3.9.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.8.0" + "@snowplow/browser-tracker": "~3.9.0" } } diff --git a/plugins/browser-plugin-media-tracking/package.json b/plugins/browser-plugin-media-tracking/package.json index 16a34bfe8..cdb884676 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.8.0", + "version": "3.9.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.8.0" + "@snowplow/browser-tracker": "~3.9.0" } } diff --git a/plugins/browser-plugin-optimizely-x/package.json b/plugins/browser-plugin-optimizely-x/package.json index bf420b135..dc449ef57 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.8.0", + "version": "3.9.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.8.0" + "@snowplow/browser-tracker": "~3.9.0" } } diff --git a/plugins/browser-plugin-optimizely/package.json b/plugins/browser-plugin-optimizely/package.json index b6ab41692..b66d49a62 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.8.0", + "version": "3.9.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.8.0" + "@snowplow/browser-tracker": "~3.9.0" } } diff --git a/plugins/browser-plugin-performance-timing/package.json b/plugins/browser-plugin-performance-timing/package.json index dc0cf2151..ee372fa9c 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.8.0", + "version": "3.9.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.8.0" + "@snowplow/browser-tracker": "~3.9.0" } } diff --git a/plugins/browser-plugin-site-tracking/package.json b/plugins/browser-plugin-site-tracking/package.json index 17c551996..43fa051a3 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.8.0", + "version": "3.9.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.8.0" + "@snowplow/browser-tracker": "~3.9.0" } } diff --git a/plugins/browser-plugin-snowplow-ecommerce/package.json b/plugins/browser-plugin-snowplow-ecommerce/package.json index 4f0bd169d..1a94565fb 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.8.0", + "version": "3.9.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.8.0" + "@snowplow/browser-tracker": "~3.9.0" } } diff --git a/plugins/browser-plugin-timezone/package.json b/plugins/browser-plugin-timezone/package.json index 9c37b113d..8f2cf59c3 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.8.0", + "version": "3.9.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.8.0" + "@snowplow/browser-tracker": "~3.9.0" } } diff --git a/plugins/browser-plugin-youtube-tracking/package.json b/plugins/browser-plugin-youtube-tracking/package.json index 69ded097f..686516763 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.8.0", + "version": "3.9.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.8.0" + "@snowplow/browser-tracker": "~3.9.0" } } diff --git a/trackers/browser-tracker/package.json b/trackers/browser-tracker/package.json index 768a59c31..c323fa955 100644 --- a/trackers/browser-tracker/package.json +++ b/trackers/browser-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-tracker", - "version": "3.8.0", + "version": "3.9.0", "description": "Browser tracker for Snowplow", "keywords": [ "tracking", diff --git a/trackers/javascript-tracker/package.json b/trackers/javascript-tracker/package.json index 0988d3443..b752afb0f 100644 --- a/trackers/javascript-tracker/package.json +++ b/trackers/javascript-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/javascript-tracker", - "version": "3.8.0", + "version": "3.9.0", "description": "Web analytics for Snowplow", "keywords": [ "tracking", diff --git a/trackers/node-tracker/package.json b/trackers/node-tracker/package.json index 49f86aff6..ee86b99eb 100644 --- a/trackers/node-tracker/package.json +++ b/trackers/node-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/node-tracker", - "version": "3.8.0", + "version": "3.9.0", "description": "Node tracker for Snowplow", "keywords": [ "snowplow", From d1703272cda729b594715aadd1f089ac5d1d52f2 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 30 Mar 2023 13:50:47 +0000 Subject: [PATCH 073/449] Applying documentation updates. --- .../browser-tracker.browsertracker.getpageviewid.md | 2 +- .../browser-tracker.browsertracker.gettabid.md | 13 +++++++++++++ .../docs/markdown/browser-tracker.browsertracker.md | 3 ++- .../markdown/browser-tracker.builtincontexts.md | 2 ++ 4 files changed, 18 insertions(+), 2 deletions(-) create mode 100644 trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.gettabid.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.getpageviewid.md b/trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.getpageviewid.md index 2fdb0dd12..025419897 100644 --- a/trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.getpageviewid.md +++ b/trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.getpageviewid.md @@ -9,5 +9,5 @@ Get the current page view ID Signature: ```typescript -getPageViewId: () => void; +getPageViewId: () => string; ``` diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.gettabid.md b/trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.gettabid.md new file mode 100644 index 000000000..07addefcc --- /dev/null +++ b/trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.gettabid.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [BrowserTracker](./browser-tracker.browsertracker.md) > [getTabId](./browser-tracker.browsertracker.gettabid.md) + +## BrowserTracker.getTabId property + +Get the current browser tab ID + +Signature: + +```typescript +getTabId: () => string | null; +``` diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.md b/trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.md index e57371ac2..8938242be 100644 --- a/trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.md +++ b/trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.md @@ -31,7 +31,8 @@ interface BrowserTracker | [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) | -| [getPageViewId](./browser-tracker.browsertracker.getpageviewid.md) | () => void | Get the current page view ID | +| [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()). | | [id](./browser-tracker.browsertracker.id.md) | string | The unique identifier of this tracker | | [namespace](./browser-tracker.browsertracker.namespace.md) | string | The tracker namespace | diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.builtincontexts.md b/trackers/browser-tracker/docs/markdown/browser-tracker.builtincontexts.md index 27640989a..2d59a6c8b 100644 --- a/trackers/browser-tracker/docs/markdown/browser-tracker.builtincontexts.md +++ b/trackers/browser-tracker/docs/markdown/browser-tracker.builtincontexts.md @@ -12,5 +12,7 @@ type BuiltInContexts = RequireAtLeastOne<{ webPage: boolean; /* Toggles the session context */ session: boolean; + /* Toggles the browser context */ + browser: boolean; }> | Record; ``` From 7efdcb4ae370c926c4366e5042942e356c5ae58f Mon Sep 17 00:00:00 2001 From: Peter Perlepes Date: Tue, 9 May 2023 12:15:56 +0300 Subject: [PATCH 074/449] Add Google Analytics 4 and Universal Analytics Ecommerce translation layer #1170 --- ...a4-ee-migration-apis_2023-04-17-11-32.json | 10 ++ .../src/ga4/api.ts | 99 +++++++++++++++ .../src/ga4/types.ts | 63 ++++++++++ .../src/ga4/utils.ts | 50 ++++++++ .../src/index.ts | 2 + .../src/ua/api.ts | 114 ++++++++++++++++++ .../src/ua/types.ts | 92 ++++++++++++++ .../src/ua/utils.ts | 29 +++++ 8 files changed, 459 insertions(+) create mode 100644 common/changes/@snowplow/browser-plugin-snowplow-ecommerce/feature-snowplow-ecommerce-ga4-ee-migration-apis_2023-04-17-11-32.json create mode 100644 plugins/browser-plugin-snowplow-ecommerce/src/ga4/api.ts create mode 100644 plugins/browser-plugin-snowplow-ecommerce/src/ga4/types.ts create mode 100644 plugins/browser-plugin-snowplow-ecommerce/src/ga4/utils.ts create mode 100644 plugins/browser-plugin-snowplow-ecommerce/src/ua/api.ts create mode 100644 plugins/browser-plugin-snowplow-ecommerce/src/ua/types.ts create mode 100644 plugins/browser-plugin-snowplow-ecommerce/src/ua/utils.ts diff --git a/common/changes/@snowplow/browser-plugin-snowplow-ecommerce/feature-snowplow-ecommerce-ga4-ee-migration-apis_2023-04-17-11-32.json b/common/changes/@snowplow/browser-plugin-snowplow-ecommerce/feature-snowplow-ecommerce-ga4-ee-migration-apis_2023-04-17-11-32.json new file mode 100644 index 000000000..5f7a59486 --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-snowplow-ecommerce/feature-snowplow-ecommerce-ga4-ee-migration-apis_2023-04-17-11-32.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-snowplow-ecommerce", + "comment": "Add GA4 and UA ecommerce translation layer API", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-snowplow-ecommerce" +} \ No newline at end of file diff --git a/plugins/browser-plugin-snowplow-ecommerce/src/ga4/api.ts b/plugins/browser-plugin-snowplow-ecommerce/src/ga4/api.ts new file mode 100644 index 000000000..21d74d93c --- /dev/null +++ b/plugins/browser-plugin-snowplow-ecommerce/src/ga4/api.ts @@ -0,0 +1,99 @@ +import { + trackProductView, + trackProductListView, + trackProductListClick, + trackCheckoutStep, + trackTransaction, + trackAddToCart, + trackRemoveFromCart, + trackPromotionClick, + trackPromotionView, +} from '../api'; +import { Currency, GA4EcommerceObject, ItemList, Transaction, Promotion } from './types'; +import { transformG4ItemsToSPProducts, transformGA4PromotionToSPPromotion } from './utils'; + +type Options = { + currency?: string; +}; + +const DEFAULT_PAYMENT_METHOD = 'unknown'; + +export function trackGA4ViewCart() { + console.log('This function could be similarly tracked with the `setPageType` or `trackCheckoutStep` API.'); +} + +export function trackGA4ViewPromotion(ecommerce: GA4EcommerceObject & Promotion) { + const promotion = transformGA4PromotionToSPPromotion(ecommerce); + trackPromotionView(promotion); +} + +export function trackGA4SelectPromotion(ecommerce: GA4EcommerceObject & Promotion) { + const promotion = transformGA4PromotionToSPPromotion(ecommerce); + trackPromotionClick(promotion); +} + +export function trackGA4AddToCart( + ecommerce: GA4EcommerceObject & Currency, + opts: Options & { finalCartValue: number } +) { + const currency = (ecommerce.currency || opts.currency)!; + const products = transformG4ItemsToSPProducts(ecommerce, currency); + trackAddToCart({ products, total_value: opts.finalCartValue, currency }); +} + +export function trackGA4RemoveFromCart( + ecommerce: GA4EcommerceObject & Currency, + opts: Options & { finalCartValue: number } +) { + const currency = (ecommerce.currency || opts.currency)!; + const products = transformG4ItemsToSPProducts(ecommerce, currency); + trackRemoveFromCart({ products, total_value: opts.finalCartValue, currency }); +} + +export function trackGA4ViewItem(ecommerce: GA4EcommerceObject, opts: Options = {}) { + const currency = (ecommerce.currency || opts.currency)!; + const products = transformG4ItemsToSPProducts(ecommerce, currency); + trackProductView({ ...products[0] }); +} + +export function trackGA4ViewItemList(ecommerce: GA4EcommerceObject & ItemList, opts: Options = {}) { + const currency = (ecommerce.currency || opts.currency)!; + const products = transformG4ItemsToSPProducts(ecommerce, currency); + trackProductListView({ name: ecommerce.item_list_id || ecommerce.item_list_name, products }); +} + +export function trackGA4SelectItem(ecommerce: GA4EcommerceObject & ItemList, opts: Options = {}) { + const currency = (ecommerce.currency || opts.currency)!; + const [product] = transformG4ItemsToSPProducts(ecommerce, currency); + trackProductListClick({ name: ecommerce.item_list_id || ecommerce.item_list_name, product }); +} + +export function trackGA4BeginCheckout(opts: { step?: number } = {}) { + trackCheckoutStep({ step: opts.step || 1 }); +} + +export function trackGA4AddShippingInfo(ecommerce: GA4EcommerceObject, opts: { step: number }) { + trackCheckoutStep({ step: opts.step, delivery_method: ecommerce.shipping_tier }); +} + +export function trackGA4AddPaymentOptions(ecommerce: GA4EcommerceObject, opts: { step: number }) { + trackCheckoutStep({ step: opts.step, payment_method: ecommerce.payment_type }); +} + +export function trackGA4Transaction( + ecommerce: GA4EcommerceObject & Transaction, + opts: Options & { paymentMethod: string } +) { + const currency = (ecommerce.currency || opts.currency)!; + const products = transformG4ItemsToSPProducts(ecommerce, currency); + + trackTransaction({ + products, + transaction_id: ecommerce.transaction_id, + currency, + revenue: ecommerce.value, + payment_method: opts.paymentMethod || DEFAULT_PAYMENT_METHOD, + tax: ecommerce.tax, + shipping: ecommerce.shipping, + }); +} diff --git a/plugins/browser-plugin-snowplow-ecommerce/src/ga4/types.ts b/plugins/browser-plugin-snowplow-ecommerce/src/ga4/types.ts new file mode 100644 index 000000000..6934ddc61 --- /dev/null +++ b/plugins/browser-plugin-snowplow-ecommerce/src/ga4/types.ts @@ -0,0 +1,63 @@ +export interface GA4EcommerceObject { + item_list_id?: string; + item_list_name?: string; + currency?: string; + value?: number; + coupon?: string; + shipping_tier?: string; + payment_type?: string; + transaction_id?: string; + tax?: number; + shipping?: number; + creative_name?: string; + creative_slot?: string; + promotion_id?: string; + promotion_name?: string; + items: Item[]; +} + +export interface Item { + item_id: string; + item_name?: string; + affiliation?: string; + coupon?: string; + discount?: number; + index?: number; + item_brand?: string; + item_category?: string; + item_category2?: string; + item_category3?: string; + item_category4?: string; + item_category5?: string; + item_list_id?: string; + item_list_name?: string; + item_variant?: string; + location_id?: string; + price: number; + quantity?: number; +} + +export interface Currency { + currency: string; +} + +export interface ItemList { + item_list_id: string; + item_list_name: string; +} + +export interface Transaction { + currency: string; + transaction_id: string; + value: number; + tax: number; + shipping: number; + coupon: string; +} + +export interface Promotion { + creative_name: string; + creative_slot: string; + promotion_id: string; + promotion_name: string; +} diff --git a/plugins/browser-plugin-snowplow-ecommerce/src/ga4/utils.ts b/plugins/browser-plugin-snowplow-ecommerce/src/ga4/utils.ts new file mode 100644 index 000000000..2df162190 --- /dev/null +++ b/plugins/browser-plugin-snowplow-ecommerce/src/ga4/utils.ts @@ -0,0 +1,50 @@ +import { Product, Promotion } from '../types'; +import { Item, Promotion as GA4Promotion, GA4EcommerceObject } from './types'; + +interface GA4ItemTransformation { + items: Item[]; + currency?: string; + categorySeparator?: string; +} + +export function transformG4ItemsToSPProducts( + { items, categorySeparator = '/' }: GA4ItemTransformation, + currency: string +): Product[] { + return items.map((ga4Item) => { + const { item_category, item_category2, item_category3, item_category4, item_category5 } = ga4Item; + const category = [item_category, item_category2, item_category3, item_category4, item_category5] + .filter(Boolean) + .join(categorySeparator); + + return { + currency, + id: ga4Item.item_id, + name: ga4Item.item_name, + list_price: ga4Item.price, + price: roundToTwo(ga4Item.price - (ga4Item.discount || 0)), + position: ga4Item.index, + brand: ga4Item.item_brand, + category, + variant: ga4Item.item_variant, + quantity: ga4Item.quantity, + }; + }); +} + +export function transformGA4PromotionToSPPromotion(promotion: GA4EcommerceObject & GA4Promotion): Promotion { + const productIds = promotion.items.map((item) => item.item_id); + + return { + id: promotion.promotion_id, + name: promotion.promotion_name, + creative_id: promotion.creative_name, + slot: promotion.creative_slot, + product_ids: productIds, + }; +} + +function roundToTwo(num: number) { + // @ts-ignore + return +(Math.round(num + 'e+2') + 'e-2'); +} diff --git a/plugins/browser-plugin-snowplow-ecommerce/src/index.ts b/plugins/browser-plugin-snowplow-ecommerce/src/index.ts index b1c13e734..f726314e3 100644 --- a/plugins/browser-plugin-snowplow-ecommerce/src/index.ts +++ b/plugins/browser-plugin-snowplow-ecommerce/src/index.ts @@ -1 +1,3 @@ export * from './api'; +export * from './ua/api'; +export * from './ga4/api'; diff --git a/plugins/browser-plugin-snowplow-ecommerce/src/ua/api.ts b/plugins/browser-plugin-snowplow-ecommerce/src/ua/api.ts new file mode 100644 index 000000000..b0921540c --- /dev/null +++ b/plugins/browser-plugin-snowplow-ecommerce/src/ua/api.ts @@ -0,0 +1,114 @@ +import { + trackProductView, + trackProductListView, + trackProductListClick, + trackCheckoutStep, + trackTransaction, + trackAddToCart, + trackRemoveFromCart, + trackPromotionClick, + trackPromotionView, +} from '../api'; +import { CheckoutStep } from '../types'; +import { + AddToCartEvent, + CheckoutStepEvent, + ProductDetailEvent, + ProductListClickEvent, + ProductListViewEvent, + PromoClickEvent, + PromoViewEvent, + PurchaseEvent, + RemoveFromCartEvent, + UAEnhancedEcommerceObject, +} from './types'; + +import { transformUAProductsToSPProducts, transformUAPromotionsToSPPromotions } from './utils'; + +type Options = { + currency?: string; +}; + +const DEFAULT_PAYMENT_METHOD = 'unknown'; + +export function trackEnhancedEcommercePromoView(ecommerce: PromoViewEvent) { + const promotions = transformUAPromotionsToSPPromotions(ecommerce.promoView.promotions); + /* Enhanced Ecommerce allows multiple promotions to be sent on a single event. */ + for (let i = 0; i < promotions.length; i++) { + trackPromotionView(promotions[i]); + } +} + +export function trackEnhancedEcommercePromoClick(ecommerce: PromoClickEvent) { + const [promotion] = transformUAPromotionsToSPPromotions(ecommerce.promoClick.promotions); + trackPromotionClick(promotion); +} + +export function trackEnhancedEcommerceAddToCart( + ecommerce: UAEnhancedEcommerceObject & AddToCartEvent, + opts: Options & { finalCartValue: number } +) { + const currency = (ecommerce.currencyCode || opts.currency)!; + const products = transformUAProductsToSPProducts(ecommerce.add.products, currency); + trackAddToCart({ products, total_value: opts.finalCartValue, currency }); +} + +export function trackEnhancedEcommerceRemoveFromCart( + ecommerce: UAEnhancedEcommerceObject & RemoveFromCartEvent, + opts: Options & { finalCartValue: number } +) { + const currency = (ecommerce.currencyCode || opts.currency)!; + const products = transformUAProductsToSPProducts(ecommerce.remove.products, currency); + trackRemoveFromCart({ products, total_value: opts.finalCartValue, currency }); +} + +export function trackEnhancedEcommerceProductDetail( + ecommerce: UAEnhancedEcommerceObject & ProductDetailEvent, + opts: Options = {} +) { + const currency = (ecommerce.currencyCode || opts.currency)!; + const products = transformUAProductsToSPProducts(ecommerce.detail.products, currency); + trackProductView({ ...products[0] }); +} + +export function trackEnhancedEcommerceProductListView( + ecommerce: UAEnhancedEcommerceObject & ProductListViewEvent, + opts: Options = {} +) { + const currency = (ecommerce.currencyCode || opts.currency)!; + const products = transformUAProductsToSPProducts(ecommerce.impressions, currency); + trackProductListView({ name: ecommerce.impressions[0].list!, products }); +} + +export function trackEnhancedEcommerceProductListClick( + ecommerce: UAEnhancedEcommerceObject & ProductListClickEvent, + opts: Options = {} +) { + const currency = (ecommerce.currencyCode || opts.currency)!; + const [product] = transformUAProductsToSPProducts(ecommerce.click.products, currency); + trackProductListClick({ name: ecommerce.click.actionField.list, product }); +} + +export function trackEnhancedEcommerceCheckoutStep( + ecommerce: CheckoutStepEvent, + checkoutOption?: Omit +) { + trackCheckoutStep({ step: ecommerce.checkout.actionField.step, ...checkoutOption }); +} + +export function trackEnhancedEcommercePurchase( + ecommerce: UAEnhancedEcommerceObject & PurchaseEvent, + opts: Options & { paymentMethod: string } +) { + const currency = (ecommerce.currencyCode || opts.currency)!; + const products = transformUAProductsToSPProducts(ecommerce.purchase.products, currency); + trackTransaction({ + products, + transaction_id: ecommerce.purchase.actionField.id, + currency, + revenue: Number(ecommerce.purchase.actionField.revenue), + payment_method: opts.paymentMethod || DEFAULT_PAYMENT_METHOD, + tax: Number(ecommerce.purchase.actionField.tax) || undefined, + shipping: Number(ecommerce.purchase.actionField.shipping) || undefined, + }); +} diff --git a/plugins/browser-plugin-snowplow-ecommerce/src/ua/types.ts b/plugins/browser-plugin-snowplow-ecommerce/src/ua/types.ts new file mode 100644 index 000000000..f2bfd6abe --- /dev/null +++ b/plugins/browser-plugin-snowplow-ecommerce/src/ua/types.ts @@ -0,0 +1,92 @@ +export interface UAEnhancedEcommerceObject { + currencyCode?: string; +} + +export interface ProductListViewEvent { + impressions: EEProduct[]; +} + +export interface ProductListClickEvent { + click: { + actionField: { list: string }; + products: EEProduct[]; + }; +} + +export interface ProductDetailEvent { + detail: { + actionField: { list: string }; + products: EEProduct[]; + }; +} + +export interface AddToCartEvent { + add: { + products: EEProduct[]; + }; +} + +export interface RemoveFromCartEvent { + remove: { + products: EEProduct[]; + }; +} + +export interface PromoViewEvent { + promoView: { + promotions: EEPromo[]; + }; +} + +export interface PromoClickEvent { + promoClick: { + promotions: EEPromo[]; + }; +} + +export interface CheckoutStepEvent { + checkout: { + actionField: { + step: number; + option?: string; + }; + products: EEProduct[]; + }; +} + +export interface PurchaseEvent { + purchase: { + actionField: { + id: string; + revenue: number | string; + tax?: number | string; + shipping?: number | string; + coupon?: string; + affiliation?: string; + }; + products: EEProduct[]; + }; +} + +export interface EEProduct { + price?: number | string; + id?: string; + name?: string; + brand?: string; + category?: string; + variant?: string; + quantity?: number; + position?: number; + list?: string; +} + +export interface EEPromo { + id: string; + name: string; + creative?: string; + position?: string; +} + +export interface EEAction { + action?: string; +} diff --git a/plugins/browser-plugin-snowplow-ecommerce/src/ua/utils.ts b/plugins/browser-plugin-snowplow-ecommerce/src/ua/utils.ts new file mode 100644 index 000000000..bccd1af91 --- /dev/null +++ b/plugins/browser-plugin-snowplow-ecommerce/src/ua/utils.ts @@ -0,0 +1,29 @@ +import { Product, Promotion } from '../types'; +import { EEProduct, EEPromo } from './types'; + +export function transformUAProductsToSPProducts(products: EEProduct[], currency: string): Product[] { + return products.map((product) => { + return { + currency, + /* Id or name is required, but we in SP-plugin we require id to be present */ + id: product.id! || product.name!, + price: Number(product.price), + name: product.name, + position: product.position, + brand: product.brand, + category: product.category, + variant: product.variant, + quantity: product.quantity, + }; + }); +} + +export function transformUAPromotionsToSPPromotions(promotions: EEPromo[]): Promotion[] { + return promotions.map((promotion) => ({ + name: promotion.name, + slot: promotion.position, + /* Id or name is required, but we in SP-plugin we require id to be present */ + id: promotion.id || promotion.name, + creative_id: promotion.creative, + })); +} From 6f6bd3103a4b66f2a1adefb58900a1fbb8c61389 Mon Sep 17 00:00:00 2001 From: Peter Perlepes Date: Tue, 9 May 2023 12:19:50 +0300 Subject: [PATCH 075/449] Create performance navigation timing plugin close #1171 --- ...gation-timing-plugin_2023-04-13-08-08.json | 10 ++ common/config/rush/pnpm-lock.yaml | 49 +++++++ common/config/rush/repo-state.json | 2 +- .../LICENSE | 29 ++++ .../README.md | 61 ++++++++ .../docs/performance_navigation_timeline.svg | 1 + .../jest.config.js | 5 + .../package.json | 53 +++++++ .../rollup.config.js | 37 +++++ .../src/contexts.ts | 100 +++++++++++++ .../src/index.ts | 36 +++++ .../src/schemata.ts | 1 + ...performance-navigation-timing.test.ts.snap | 90 ++++++++++++ .../performance-navigation-timing.test.ts | 137 ++++++++++++++++++ .../tsconfig.json | 3 + rush.json | 6 + 16 files changed, 619 insertions(+), 1 deletion(-) create mode 100644 common/changes/@snowplow/browser-plugin-performance-navigation-timing/feature-performance-navigation-timing-plugin_2023-04-13-08-08.json create mode 100644 plugins/browser-plugin-performance-navigation-timing/LICENSE create mode 100644 plugins/browser-plugin-performance-navigation-timing/README.md create mode 100644 plugins/browser-plugin-performance-navigation-timing/docs/performance_navigation_timeline.svg create mode 100644 plugins/browser-plugin-performance-navigation-timing/jest.config.js create mode 100644 plugins/browser-plugin-performance-navigation-timing/package.json create mode 100644 plugins/browser-plugin-performance-navigation-timing/rollup.config.js create mode 100644 plugins/browser-plugin-performance-navigation-timing/src/contexts.ts create mode 100644 plugins/browser-plugin-performance-navigation-timing/src/index.ts create mode 100644 plugins/browser-plugin-performance-navigation-timing/src/schemata.ts create mode 100644 plugins/browser-plugin-performance-navigation-timing/test/__snapshots__/performance-navigation-timing.test.ts.snap create mode 100644 plugins/browser-plugin-performance-navigation-timing/test/performance-navigation-timing.test.ts create mode 100644 plugins/browser-plugin-performance-navigation-timing/tsconfig.json diff --git a/common/changes/@snowplow/browser-plugin-performance-navigation-timing/feature-performance-navigation-timing-plugin_2023-04-13-08-08.json b/common/changes/@snowplow/browser-plugin-performance-navigation-timing/feature-performance-navigation-timing-plugin_2023-04-13-08-08.json new file mode 100644 index 000000000..1413cd349 --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-performance-navigation-timing/feature-performance-navigation-timing-plugin_2023-04-13-08-08.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-performance-navigation-timing", + "comment": "Introduce Performance Navigation Timing plugin", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-performance-navigation-timing" +} \ No newline at end of file diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index da19ce473..2af36d24e 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -919,6 +919,55 @@ importers: ts-jest: 27.1.3_60149d457e34ffba7d4e845dde6a1263 typescript: 4.6.2 + ../../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 + ../../plugins/browser-plugin-performance-timing: specifiers: '@ampproject/rollup-plugin-closure-compiler': ~0.27.0 diff --git a/common/config/rush/repo-state.json b/common/config/rush/repo-state.json index 356d2db04..be8927900 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": "acc89ec01200ab3281ee1b0320ec90dfd66db4fa", + "pnpmShrinkwrapHash": "1b4af3f37be662be92115c24013c6b260e74acc8", "preferredVersionsHash": "bf21a9e8fbc5a3846fb05b4fa0859e0917b2202f" } diff --git a/plugins/browser-plugin-performance-navigation-timing/LICENSE b/plugins/browser-plugin-performance-navigation-timing/LICENSE new file mode 100644 index 000000000..b91bf94ae --- /dev/null +++ b/plugins/browser-plugin-performance-navigation-timing/LICENSE @@ -0,0 +1,29 @@ +BSD 3-Clause License + +Copyright (c) 2023 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. diff --git a/plugins/browser-plugin-performance-navigation-timing/README.md b/plugins/browser-plugin-performance-navigation-timing/README.md new file mode 100644 index 000000000..f2d03ea9f --- /dev/null +++ b/plugins/browser-plugin-performance-navigation-timing/README.md @@ -0,0 +1,61 @@ +# Snowplow Performance Navigation Timing Tracking + +[![npm version][npm-image]][npm-url] +[![License][license-image]](LICENSE) + +Browser Plugin to be used with `@snowplow/browser-tracker`. + +Adds Performance Navigation Timing contexts to your Snowplow tracking. To learn more about the properties tracked, you can visit the [specification](https://www.w3.org/TR/navigation-timing-2/) or MDN [documentation site](https://developer.mozilla.org/en-US/docs/Web/API/PerformanceNavigationTiming). + +The following diagram shows the ResourceTiming and PerformanceNavigationTiming properties and how they connect to the navigation of the page main document. + +
+ performance navigation timeline +
Performance navigation timeline from the W3C specification.
+
+ +## 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-performance-navigation-timing +``` + +## Usage + +Initialize your tracker with the PerformanceNavigationTimingPlugin: + +```js +import { newTracker } from '@snowplow/browser-tracker'; +import { PerformanceNavigationTimingPlugin } from '@snowplow/browser-plugin-performance-navigation-timing'; + +newTracker('sp1', '{{collector}}', { plugins: [ PerformanceNavigationTimingPlugin() ] }); +``` + +## Copyright and license + +Licensed and distributed under the [BSD 3-Clause License](LICENSE) ([An OSI Approved License][osi]). + +Copyright (c) 2023 Snowplow Analytics Ltd. + +All rights reserved. + +[npm-url]: https://www.npmjs.com/package/@snowplow/browser-plugin-performance-navigation-timing +[npm-image]: https://img.shields.io/npm/v/@snowplow/browser-plugin-performance-navigation-timing +[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-performance-navigation-timing diff --git a/plugins/browser-plugin-performance-navigation-timing/docs/performance_navigation_timeline.svg b/plugins/browser-plugin-performance-navigation-timing/docs/performance_navigation_timeline.svg new file mode 100644 index 000000000..0b299082c --- /dev/null +++ b/plugins/browser-plugin-performance-navigation-timing/docs/performance_navigation_timeline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/plugins/browser-plugin-performance-navigation-timing/jest.config.js b/plugins/browser-plugin-performance-navigation-timing/jest.config.js new file mode 100644 index 000000000..bd3ea4e2a --- /dev/null +++ b/plugins/browser-plugin-performance-navigation-timing/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-performance-navigation-timing/package.json b/plugins/browser-plugin-performance-navigation-timing/package.json new file mode 100644 index 000000000..7e504d500 --- /dev/null +++ b/plugins/browser-plugin-performance-navigation-timing/package.json @@ -0,0 +1,53 @@ +{ + "name": "@snowplow/browser-plugin-performance-navigation-timing", + "version": "3.9.0", + "description": "Attaches Performance Navigation Timing data to Snowplow events", + "homepage": "https://docs.snowplow.io/", + "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": "Peter Perlepes", + "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.9.0" + } +} diff --git a/plugins/browser-plugin-performance-navigation-timing/rollup.config.js b/plugins/browser-plugin-performance-navigation-timing/rollup.config.js new file mode 100644 index 000000000..b20e36f3b --- /dev/null +++ b/plugins/browser-plugin-performance-navigation-timing/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 = 'snowplowPerformanceNavigationTiming'; + +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-performance-navigation-timing/src/contexts.ts b/plugins/browser-plugin-performance-navigation-timing/src/contexts.ts new file mode 100644 index 000000000..00378e0b1 --- /dev/null +++ b/plugins/browser-plugin-performance-navigation-timing/src/contexts.ts @@ -0,0 +1,100 @@ +import { PERFORMANCE_NAVIGATION_TIMING_SCHEMA } from './schemata'; + +declare global { + interface Window { + mozPerformance: any; + msPerformance: any; + webkitPerformance: any; + } +} + +type PerformanceNavigationTimingContext = PerformanceNavigationTiming & { + activationStart?: number; + deliveryType?: string; +}; + +/** + * Creates a context from the PerformanceNavigationTiming object + * + * @returns object PerformanceNavigationTiming context + */ +export function getPerformanceNavigationTimingContext() { + const performanceAlias = + window.performance || window.mozPerformance || window.msPerformance || window.webkitPerformance || {}; + + if (performanceAlias.getEntriesByType) { + const [performanceNavigationTiming] = performanceAlias.getEntriesByType('navigation') as [ + PerformanceNavigationTiming + ]; + + if (!performanceNavigationTiming) { + return []; + } + + return constructNavigationTimingContext(performanceNavigationTiming); + } + + return []; +} + +export function constructNavigationTimingContext( + performanceNavigationTimingInstance: PerformanceNavigationTimingContext +) { + const performanceNavigationKeys = [ + 'entryType', + 'duration', + 'nextHopProtocol', + 'workerStart', + 'redirectStart', + 'redirectEnd', + 'fetchStart', + 'domainLookupStart', + 'domainLookupEnd', + 'connectStart', + 'secureConnectionStart', + 'connectEnd', + 'requestStart', + 'responseStart', + 'responseEnd', + 'transferSize', + 'encodedBodySize', + 'decodedBodySize', + 'serverTiming', + 'unloadEventStart', + 'unloadEventEnd', + 'domInteractive', + 'domContentLoadedEventStart', + 'domContentLoadedEventEnd', + 'domComplete', + 'loadEventStart', + 'loadEventEnd', + 'type', + 'redirectCount', + 'activationStart', + 'deliveryType', + ] as const; + + const performanceContextData = performanceNavigationKeys.reduce((accum, key) => { + const performanceValue = performanceNavigationTimingInstance[key]; + if (key === 'serverTiming' && Array.isArray(performanceValue)) { + accum[key] = performanceValue.length + ? performanceValue.map(({ description, duration, name }: PerformanceServerTiming) => ({ + description, + duration, + name, + })) + : undefined; + } else if (performanceValue) { + accum[key] = performanceValue; + } + + return accum; + }, {} as Record); + + return [ + { + schema: PERFORMANCE_NAVIGATION_TIMING_SCHEMA, + data: performanceContextData, + }, + ]; +} diff --git a/plugins/browser-plugin-performance-navigation-timing/src/index.ts b/plugins/browser-plugin-performance-navigation-timing/src/index.ts new file mode 100644 index 000000000..f7b699cfe --- /dev/null +++ b/plugins/browser-plugin-performance-navigation-timing/src/index.ts @@ -0,0 +1,36 @@ +import { BrowserPlugin } from '@snowplow/browser-tracker-core'; +import { constructNavigationTimingContext, getPerformanceNavigationTimingContext } from './contexts'; +import { SelfDescribingJson } from '@snowplow/tracker-core'; + +let navigationTimingEntry: SelfDescribingJson>[]; + +/** + * Adds Performance Navigation Timing context to events + * + * @remarks + * May not be fully populated when initial Page View fires + * Often a good idea to take the latest performance timing context + * for a given page view id when analyzing in the warehouse + */ +export function PerformanceNavigationTimingPlugin(): BrowserPlugin { + return { + activateBrowserPlugin: () => { + /* Setup a PerformanceObserver to allow caching of a completed navigation timing entry. We don't need to query the API after that. */ + if (typeof PerformanceObserver !== 'undefined') { + const perfObserver = new PerformanceObserver((observedEntries) => { + const [observedNavigationTiming] = observedEntries.getEntries() as PerformanceNavigationTiming[]; + /* We mark the entry as final by the measurement of loadEventEnd which is the final in the processing model */ + if (observedNavigationTiming.loadEventEnd > 0) { + navigationTimingEntry = constructNavigationTimingContext(observedNavigationTiming); + } + }); + + perfObserver.observe({ + type: 'navigation', + buffered: true, + }); + } + }, + contexts: () => navigationTimingEntry || getPerformanceNavigationTimingContext(), + }; +} diff --git a/plugins/browser-plugin-performance-navigation-timing/src/schemata.ts b/plugins/browser-plugin-performance-navigation-timing/src/schemata.ts new file mode 100644 index 000000000..6b19daec9 --- /dev/null +++ b/plugins/browser-plugin-performance-navigation-timing/src/schemata.ts @@ -0,0 +1 @@ +export const PERFORMANCE_NAVIGATION_TIMING_SCHEMA = 'iglu:org.w3/PerformanceNavigationTiming/jsonschema/1-0-0'; diff --git a/plugins/browser-plugin-performance-navigation-timing/test/__snapshots__/performance-navigation-timing.test.ts.snap b/plugins/browser-plugin-performance-navigation-timing/test/__snapshots__/performance-navigation-timing.test.ts.snap new file mode 100644 index 000000000..e7993eb8e --- /dev/null +++ b/plugins/browser-plugin-performance-navigation-timing/test/__snapshots__/performance-navigation-timing.test.ts.snap @@ -0,0 +1,90 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`Performance Navigation Timing plugin Returns values for Performance Navigation Timing properties 1`] = ` +Object { + "data": Array [ + Object { + "data": Object { + "activationStart": 203.8, + "connectEnd": 236.09999990463257, + "connectStart": 79, + "decodedBodySize": 59833, + "deliveryType": "cache", + "domComplete": 1802.2000002861023, + "domContentLoadedEventEnd": 1078.2000002861023, + "domContentLoadedEventStart": 1077.5999999046326, + "domInteractive": 1077.5, + "domainLookupEnd": 79, + "domainLookupStart": 25.90000009536743, + "duration": 1803.8000001907349, + "encodedBodySize": 11473, + "entryType": "navigation", + "fetchStart": 18.200000286102295, + "loadEventEnd": 1803.8000001907349, + "loadEventStart": 1803.7000002861023, + "nextHopProtocol": "h2", + "redirectCount": 1, + "redirectEnd": 1, + "redirectStart": 1, + "requestStart": 236.09999990463257, + "responseEnd": 401.7000002861023, + "responseStart": 376.7000002861023, + "secureConnectionStart": 101.90000009536743, + "serverTiming": Array [ + Object { + "description": "test", + "duration": 1900, + "name": "ttfb_estimate", + }, + ], + "transferSize": 11773, + "type": "reload", + "unloadEventEnd": 1, + "unloadEventStart": 1, + "workerStart": 1, + }, + "schema": "iglu:org.w3/PerformanceNavigationTiming/jsonschema/1-0-0", + }, + ], + "schema": "iglu:com.snowplowanalytics.snowplow/contexts/jsonschema/1-0-0", +} +`; + +exports[`Performance Navigation Timing plugin Returns values for Performance Navigation Timing properties removing empty or zero values 1`] = ` +Object { + "data": Array [ + Object { + "data": Object { + "connectEnd": 236.09999990463257, + "connectStart": 79, + "decodedBodySize": 59833, + "deliveryType": "cache", + "domComplete": 1802.2000002861023, + "domContentLoadedEventEnd": 1078.2000002861023, + "domContentLoadedEventStart": 1077.5999999046326, + "domInteractive": 1077.5, + "domainLookupEnd": 79, + "domainLookupStart": 25.90000009536743, + "duration": 1803.8000001907349, + "encodedBodySize": 11473, + "entryType": "navigation", + "fetchStart": 18.200000286102295, + "loadEventEnd": 1803.8000001907349, + "loadEventStart": 1803.7000002861023, + "nextHopProtocol": "h2", + "requestStart": 236.09999990463257, + "responseEnd": 401.7000002861023, + "responseStart": 376.7000002861023, + "secureConnectionStart": 101.90000009536743, + "serverTiming": undefined, + "transferSize": 11773, + "type": "reload", + "unloadEventEnd": 1, + "unloadEventStart": 1, + }, + "schema": "iglu:org.w3/PerformanceNavigationTiming/jsonschema/1-0-0", + }, + ], + "schema": "iglu:com.snowplowanalytics.snowplow/contexts/jsonschema/1-0-0", +} +`; diff --git a/plugins/browser-plugin-performance-navigation-timing/test/performance-navigation-timing.test.ts b/plugins/browser-plugin-performance-navigation-timing/test/performance-navigation-timing.test.ts new file mode 100644 index 000000000..3bfeb214b --- /dev/null +++ b/plugins/browser-plugin-performance-navigation-timing/test/performance-navigation-timing.test.ts @@ -0,0 +1,137 @@ +import { buildLinkClick, trackerCore } from '@snowplow/tracker-core'; +import { JSDOM } from 'jsdom'; +import { PerformanceNavigationTimingPlugin } from '../src'; + +declare var jsdom: JSDOM; + +describe('Performance Navigation Timing plugin', () => { + it('Returns values for Performance Navigation Timing properties', (done) => { + const sampleNavigationTimingEntry = { + name: 'https://web.dev/navigation-and-resource-timing/#wrapping-up', + entryType: 'navigation', + startTime: 0, + duration: 1803.8000001907349, + initiatorType: 'navigation', + deliveryType: 'cache', + nextHopProtocol: 'h2', + renderBlockingStatus: 'blocking', + workerStart: 1, + redirectStart: 1, + redirectEnd: 1, + fetchStart: 18.200000286102295, + domainLookupStart: 25.90000009536743, + domainLookupEnd: 79, + connectStart: 79, + secureConnectionStart: 101.90000009536743, + connectEnd: 236.09999990463257, + requestStart: 236.09999990463257, + responseStart: 376.7000002861023, + responseEnd: 401.7000002861023, + transferSize: 11773, + encodedBodySize: 11473, + decodedBodySize: 59833, + responseStatus: 1, + serverTiming: [ + { + description: 'test', + duration: 1900, + name: 'ttfb_estimate', + }, + ], + unloadEventStart: 1, + unloadEventEnd: 1, + domInteractive: 1077.5, + domContentLoadedEventStart: 1077.5999999046326, + domContentLoadedEventEnd: 1078.2000002861023, + domComplete: 1802.2000002861023, + loadEventStart: 1803.7000002861023, + loadEventEnd: 1803.8000001907349, + type: 'reload', + redirectCount: 1, + activationStart: 203.8, + }; + + Object.defineProperty(jsdom.window.performance, 'getEntriesByType', { + value: (entryType: string) => { + if (entryType === 'navigation') { + return [sampleNavigationTimingEntry]; + } + return []; + }, + configurable: true, + }); + + const core = trackerCore({ + corePlugins: [PerformanceNavigationTimingPlugin()], + callback: (payloadBuilder) => { + const json = payloadBuilder.getJson().filter((e) => e.keyIfEncoded === 'cx'); + expect(json[0].json).toMatchSnapshot(); + done(); + }, + }); + + core.track(buildLinkClick({ targetUrl: 'https://example.com' })); + }); + + it('Returns values for Performance Navigation Timing properties removing empty or zero values', (done) => { + const sampleNavigationTimingEntry = { + name: 'https://web.dev/navigation-and-resource-timing/#wrapping-up', + entryType: 'navigation', + startTime: 0, + duration: 1803.8000001907349, + initiatorType: 'navigation', + deliveryType: 'cache', + nextHopProtocol: 'h2', + renderBlockingStatus: 'blocking', + workerStart: 0, + redirectStart: 0, + redirectEnd: 0, + fetchStart: 18.200000286102295, + domainLookupStart: 25.90000009536743, + domainLookupEnd: 79, + connectStart: 79, + secureConnectionStart: 101.90000009536743, + connectEnd: 236.09999990463257, + requestStart: 236.09999990463257, + responseStart: 376.7000002861023, + responseEnd: 401.7000002861023, + transferSize: 11773, + encodedBodySize: 11473, + decodedBodySize: 59833, + responseStatus: 0, + serverTiming: [], + unloadEventStart: 1, + unloadEventEnd: 1, + domInteractive: 1077.5, + domContentLoadedEventStart: 1077.5999999046326, + domContentLoadedEventEnd: 1078.2000002861023, + domComplete: 1802.2000002861023, + loadEventStart: 1803.7000002861023, + loadEventEnd: 1803.8000001907349, + type: 'reload', + redirectCount: 0, + activationStart: 0, + }; + + Object.defineProperty(jsdom.window.performance, 'getEntriesByType', { + value: (entryType: string) => { + if (entryType === 'navigation') { + return [sampleNavigationTimingEntry]; + } + return []; + }, + configurable: true, + }); + + const core = trackerCore({ + corePlugins: [PerformanceNavigationTimingPlugin()], + callback: (payloadBuilder) => { + const json = payloadBuilder.getJson().filter((e) => e.keyIfEncoded === 'cx'); + expect(json[0].json).toMatchSnapshot(); + done(); + }, + }); + + core.track(buildLinkClick({ targetUrl: 'https://example.com' })); + }); +}); diff --git a/plugins/browser-plugin-performance-navigation-timing/tsconfig.json b/plugins/browser-plugin-performance-navigation-timing/tsconfig.json new file mode 100644 index 000000000..4082f16a5 --- /dev/null +++ b/plugins/browser-plugin-performance-navigation-timing/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "../../tsconfig.json" +} diff --git a/rush.json b/rush.json index 9dccb37aa..a317c0c6c 100644 --- a/rush.json +++ b/rush.json @@ -541,6 +541,12 @@ "projectFolder": "plugins/browser-plugin-enhanced-consent", "reviewCategory": "plugins", "versionPolicyName": "tracker" + }, + { + "packageName": "@snowplow/browser-plugin-performance-navigation-timing", + "projectFolder": "plugins/browser-plugin-performance-navigation-timing", + "reviewCategory": "plugins", + "versionPolicyName": "tracker" } ] } From 9b87e4cb15ff962916a05b588deb2f1499de53af Mon Sep 17 00:00:00 2001 From: Peter Perlepes Date: Tue, 9 May 2023 12:20:41 +0300 Subject: [PATCH 076/449] Update GH actions to use Node.js 16 close #1173 --- .github/workflows/build.yml | 6 +++--- .github/workflows/change_check.yml | 6 +++--- .github/workflows/publish.yml | 6 +++--- .github/workflows/publish_prerelease.yml | 6 +++--- .github/workflows/snyk.yml | 6 +++--- 5 files changed, 15 insertions(+), 15 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 00f54b6ab..6c25a2c4f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -16,15 +16,15 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v3 - name: Use Node.js 16 - uses: actions/setup-node@v1 + uses: actions/setup-node@v3 with: node-version: 16.x - name: pnpm cache - uses: actions/cache@v2 + uses: actions/cache@v3 with: path: ./common/temp/pnpm-store key: ${{ runner.os }}-pnpm-${{ hashFiles('common/config/rush/pnpm-lock.yaml') }} diff --git a/.github/workflows/change_check.yml b/.github/workflows/change_check.yml index 49f374c44..6a4709570 100644 --- a/.github/workflows/change_check.yml +++ b/.github/workflows/change_check.yml @@ -11,17 +11,17 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: fetch-depth: 0 - name: Use Node.js 16 - uses: actions/setup-node@v1 + uses: actions/setup-node@v3 with: node-version: 16.x - name: pnpm cache - uses: actions/cache@v2 + uses: actions/cache@v3 with: path: ./common/temp/pnpm-store key: ${{ runner.os }}-pnpm-${{ hashFiles('common/config/rush/pnpm-lock.yaml') }} diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index dac79fd96..7c7360ab3 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -17,15 +17,15 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v3 - name: Use Node.js 16 - uses: actions/setup-node@v1 + uses: actions/setup-node@v3 with: node-version: 16 - name: pnpm cache - uses: actions/cache@v2 + uses: actions/cache@v3 with: path: ./common/temp/pnpm-store key: ${{ runner.os }}-pnpm-${{ hashFiles('common/config/rush/pnpm-lock.yaml') }} diff --git a/.github/workflows/publish_prerelease.yml b/.github/workflows/publish_prerelease.yml index 116cd9b5d..4452106fa 100644 --- a/.github/workflows/publish_prerelease.yml +++ b/.github/workflows/publish_prerelease.yml @@ -17,15 +17,15 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v3 - name: Use Node.js 16 - uses: actions/setup-node@v1 + uses: actions/setup-node@v3 with: node-version: 16 - name: pnpm cache - uses: actions/cache@v2 + uses: actions/cache@v3 with: path: ./common/temp/pnpm-store key: ${{ runner.os }}-pnpm-${{ hashFiles('common/config/rush/pnpm-lock.yaml') }} diff --git a/.github/workflows/snyk.yml b/.github/workflows/snyk.yml index f4f760245..a027d309b 100644 --- a/.github/workflows/snyk.yml +++ b/.github/workflows/snyk.yml @@ -6,14 +6,14 @@ jobs: security: runs-on: ubuntu-20.04 steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Use Node.js 16 - uses: actions/setup-node@v1 + uses: actions/setup-node@v3 with: node-version: 16 - name: pnpm cache - uses: actions/cache@v2 + uses: actions/cache@v3 with: path: ./common/temp/pnpm-store key: ${{ runner.os }}-pnpm-${{ hashFiles('common/config/rush/pnpm-lock.yaml') }} From 05bc6b9e0161f446612c82d1ff58dd83f674e1f2 Mon Sep 17 00:00:00 2001 From: Peter Perlepes Date: Tue, 9 May 2023 18:29:37 +0300 Subject: [PATCH 077/449] Add refund tracking capability to the snowplow-ecommerce plugin close #1153 --- ...erce-refund-tracking_2023-02-14-08-21.json | 10 ++++++ .../src/api.ts | 21 +++++++++++ .../src/schemata.ts | 1 + .../src/types.ts | 30 +++++++++++++++- .../test/events.test.ts | 36 ++++++++++++++++++- 5 files changed, 96 insertions(+), 2 deletions(-) create mode 100644 common/changes/@snowplow/browser-plugin-snowplow-ecommerce/feature-1153-add-snowplow-ecommerce-refund-tracking_2023-02-14-08-21.json diff --git a/common/changes/@snowplow/browser-plugin-snowplow-ecommerce/feature-1153-add-snowplow-ecommerce-refund-tracking_2023-02-14-08-21.json b/common/changes/@snowplow/browser-plugin-snowplow-ecommerce/feature-1153-add-snowplow-ecommerce-refund-tracking_2023-02-14-08-21.json new file mode 100644 index 000000000..8d424e56d --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-snowplow-ecommerce/feature-1153-add-snowplow-ecommerce-refund-tracking_2023-02-14-08-21.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-snowplow-ecommerce", + "comment": "Add refund tracking capability to the snowplow-ecommerce plugin", + "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 c28fea446..a07b11bbe 100644 --- a/plugins/browser-plugin-snowplow-ecommerce/src/api.ts +++ b/plugins/browser-plugin-snowplow-ecommerce/src/api.ts @@ -7,6 +7,7 @@ import { PAGE_SCHEMA, PRODUCT_SCHEMA, PROMO_SCHEMA, + REFUND_SCHEMA, TRANSACTION_SCHEMA, USER_SCHEMA, } from './schemata'; @@ -19,6 +20,7 @@ import { Page as PageContext, Product, Promotion, + Refund, Transaction, User as UserContext, } from './types'; @@ -219,6 +221,25 @@ export function trackTransaction( }); } +/** + * Track a refund event + * + * @param refund - The refund information + * @param trackers - The tracker identifiers which the event will be sent to + */ +export function trackRefund( + refund: Refund & CommonEcommerceEventProperties, + trackers: Array = Object.keys(_trackers) +) { + const { context = [], timestamp, products = [], ...refundAttributes } = refund; + products.forEach((product) => context.push({ schema: PRODUCT_SCHEMA, data: product })); + context.push({ schema: REFUND_SCHEMA, data: { ...refundAttributes } }); + + dispatchToTrackersInCollection(trackers, _trackers, (t) => { + t.core.track(buildEcommerceActionEvent({ type: 'refund' }), context, timestamp); + }); +} + /** * Set Ecommerce Page context * diff --git a/plugins/browser-plugin-snowplow-ecommerce/src/schemata.ts b/plugins/browser-plugin-snowplow-ecommerce/src/schemata.ts index 2a4a6109c..6f9ab7b32 100644 --- a/plugins/browser-plugin-snowplow-ecommerce/src/schemata.ts +++ b/plugins/browser-plugin-snowplow-ecommerce/src/schemata.ts @@ -7,3 +7,4 @@ export const PAGE_SCHEMA = 'iglu:com.snowplowanalytics.snowplow.ecommerce/page/j export const USER_SCHEMA = 'iglu:com.snowplowanalytics.snowplow.ecommerce/user/jsonschema/1-0-0'; export const TRANSACTION_SCHEMA = 'iglu:com.snowplowanalytics.snowplow.ecommerce/transaction/jsonschema/1-0-0'; export const PROMO_SCHEMA = 'iglu:com.snowplowanalytics.snowplow.ecommerce/promotion/jsonschema/1-0-0'; +export const REFUND_SCHEMA = 'iglu:com.snowplowanalytics.snowplow.ecommerce/refund/jsonschema/1-0-0'; diff --git a/plugins/browser-plugin-snowplow-ecommerce/src/types.ts b/plugins/browser-plugin-snowplow-ecommerce/src/types.ts index 0113759b4..797492ffe 100644 --- a/plugins/browser-plugin-snowplow-ecommerce/src/types.ts +++ b/plugins/browser-plugin-snowplow-ecommerce/src/types.ts @@ -16,7 +16,8 @@ export interface Action { | 'promo_click' | 'promo_view' | 'checkout_step' - | 'transaction'; + | 'transaction' + | 'refund'; /** * You can add a name for the list presented to the user. @@ -238,6 +239,33 @@ export interface Transaction { products?: Product[]; } +/** + * Type/Schema for a refund entity in Ecommerce + */ +export interface Refund { + /** + * The ID of the transaction. + */ + transaction_id: string; + /** + * The currency in which the product is being priced (ISO 4217). + */ + currency: string; + /** + * The monetary amount refunded. + */ + refund_amount: number; + /** + * Reason for refunding the whole or part of the transaction. + */ + refund_reason?: string | null; + /** + * Array of products on the refund. This is used when specific products are refunded. + * If not present, the whole transaction and products will be marked as refunded. + */ + products?: Product[]; +} + /** * Type/Schema for an user entity in Ecommerce */ diff --git a/plugins/browser-plugin-snowplow-ecommerce/test/events.test.ts b/plugins/browser-plugin-snowplow-ecommerce/test/events.test.ts index ea210d222..5d7af0ece 100644 --- a/plugins/browser-plugin-snowplow-ecommerce/test/events.test.ts +++ b/plugins/browser-plugin-snowplow-ecommerce/test/events.test.ts @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 Snowplow Analytics Ltd, 2010 Anthon Pang + * Copyright (c) 2022 Snowplow Analytics Ltd * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -38,6 +38,7 @@ import { trackProductView, trackPromotionClick, trackPromotionView, + trackRefund, trackRemoveFromCart, trackTransaction, } from '../src'; @@ -47,6 +48,7 @@ import { ECOMMERCE_ACTION_SCHEMA, PRODUCT_SCHEMA, PROMO_SCHEMA, + REFUND_SCHEMA, TRANSACTION_SCHEMA, } from '../src/schemata'; @@ -320,4 +322,36 @@ describe('SnowplowEcommercePlugin events', () => { data: { type: 'transaction' }, }); }); + + it('trackRefund adds the expected "refund" event to the queue', () => { + const productX = { id: '1234', price: 12, currency: 'EUR' }; + const productY = { id: '12345', price: 25, currency: 'EUR' }; + const refund = { refund_amount: 45, currency: 'EUR', transaction_id: '12345', refund_reason: 'Return' }; + trackRefund({ + ...refund, + products: [productX, productY], + }); + + const { context, unstructuredEvent } = extractStateProperties(state); + + expect(context).toMatchObject([ + { + data: productX, + schema: PRODUCT_SCHEMA, + }, + { + data: productY, + schema: PRODUCT_SCHEMA, + }, + { + data: refund, + schema: REFUND_SCHEMA, + }, + ]); + + expect(unstructuredEvent).toMatchObject({ + schema: ECOMMERCE_ACTION_SCHEMA, + data: { type: 'refund' }, + }); + }); }); From d584b37dba3f4d49abaef596acb7217725e4ebfb Mon Sep 17 00:00:00 2001 From: Greg Leonard <45019882+greg-el@users.noreply.github.com> Date: Wed, 10 May 2023 17:26:40 +0100 Subject: [PATCH 078/449] Fix "captureEvents" not being respected (close #1180) PR: #1182 - DefaultEvents Use YTPlayerEvent instead of YTEvent for playback quality/rate change in DefaultEvent YTEvent is the "human" name for the event, which is used for user event input. Instances of YTPlayerEvent should only exist internally in TrackingOptions.youtubeEvents, as we use this to determine which listeners we attach to the YouTube player API. - trackingOptionsParser The defaults object included YTPlayerEvents which caused incorrect events to fire, along with not properly respecting what was in conf.captureEvents. TrackingOptions.youtubeEvents is now also initialised empty, and populated by the trackingOptionsParser I also took this opportunity to tidy a few bits: * replace the .filter with indexOf for clarity * add comments - addExistingPlayer Add check to ensure "ready" event is in captureEvents before firing - Tests * The tracking options parser now produces the youtube events in a different order (but still the correct ones), requiring onPlaybackQualityChange to be moved in the expected array for the "parses youtube events" test * add `player: undefined` for the expected default object, as we aren't creating an instance of YT.Player in unit tests * added unit tests to ensure the correct `YTPlayerEvent`s are added with the appropriate user events --- ...events-youtube-ready_2023-05-10-13-22.json | 10 +++ .../src/eventGroups.ts | 6 +- .../src/index.ts | 62 ++++++------- .../test/youtube.test.ts | 89 ++++++++++++++++++- 4 files changed, 129 insertions(+), 38 deletions(-) create mode 100644 common/changes/@snowplow/browser-plugin-youtube-tracking/issue-1180-fix-capture-events-youtube-ready_2023-05-10-13-22.json diff --git a/common/changes/@snowplow/browser-plugin-youtube-tracking/issue-1180-fix-capture-events-youtube-ready_2023-05-10-13-22.json b/common/changes/@snowplow/browser-plugin-youtube-tracking/issue-1180-fix-capture-events-youtube-ready_2023-05-10-13-22.json new file mode 100644 index 000000000..e3f087967 --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-youtube-tracking/issue-1180-fix-capture-events-youtube-ready_2023-05-10-13-22.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-youtube-tracking", + "comment": "Fix 'captureEvents' not being respected", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-youtube-tracking" +} \ No newline at end of file diff --git a/plugins/browser-plugin-youtube-tracking/src/eventGroups.ts b/plugins/browser-plugin-youtube-tracking/src/eventGroups.ts index b94d7d118..63838d27c 100644 --- a/plugins/browser-plugin-youtube-tracking/src/eventGroups.ts +++ b/plugins/browser-plugin-youtube-tracking/src/eventGroups.ts @@ -1,6 +1,6 @@ import { SnowplowEvent } from './snowplowEvents'; import { EventGroup } from './types'; -import { YTPlayerEvent, YTState } from './constants'; +import { YTState } from './constants'; import { YTEvent } from './youtubeEvents'; export const AllEvents: EventGroup = [ @@ -16,8 +16,8 @@ export const DefaultEvents: EventGroup = [ YTState.ENDED, SnowplowEvent.SEEK, SnowplowEvent.VOLUMECHANGE, - YTPlayerEvent.ONPLAYBACKQUALITYCHANGE, - YTPlayerEvent.ONPLAYBACKRATECHANGE, + YTEvent.PLAYBACKQUALITYCHANGE, + YTEvent.PLAYBACKRATECHANGE, SnowplowEvent.PERCENTPROGRESS, ]; diff --git a/plugins/browser-plugin-youtube-tracking/src/index.ts b/plugins/browser-plugin-youtube-tracking/src/index.ts index ddda21510..fd67d8493 100644 --- a/plugins/browser-plugin-youtube-tracking/src/index.ts +++ b/plugins/browser-plugin-youtube-tracking/src/index.ts @@ -69,60 +69,54 @@ function trackEvent( export function trackingOptionsParser(id: string | YT.Player, conf?: MediaTrackingOptions): TrackingOptions { const player = typeof id === 'string' ? undefined : id; const elementId = typeof id === 'string' ? id : id.getIframe().id; + const defaultBoundaries = [10, 25, 50, 75]; + const defaultUpdateRate = 500; - const defaults: TrackingOptions = { + const parsed: TrackingOptions = { mediaId: elementId, player, - captureEvents: DefaultEvents, - youtubeEvents: [ - YTPlayerEvent.ONSTATECHANGE, - YTPlayerEvent.ONPLAYBACKQUALITYCHANGE, - YTPlayerEvent.ONERROR, - YTPlayerEvent.ONPLAYBACKRATECHANGE, - ], - updateRate: 500, - progress: { - boundaries: [10, 25, 50, 75], - boundaryTimeoutIds: [], - }, + captureEvents: conf?.captureEvents || DefaultEvents, + youtubeEvents: [], + updateRate: conf?.updateRate || defaultUpdateRate, }; - if (!conf) return defaults; - if (conf.label) defaults.label = conf.label; - defaults.updateRate = conf.updateRate || defaults.updateRate; - defaults.captureEvents = conf.captureEvents || defaults.captureEvents; + if (conf?.label) parsed.label = conf.label; let parsedEvents: EventGroup = []; - for (let ev of defaults.captureEvents) { + for (let ev of parsed.captureEvents) { // If an event is an EventGroup, get the events from that group if (EventGroups.hasOwnProperty(ev)) { parsedEvents = parsedEvents.concat(EventGroups[ev]); - } else if (!Object.keys(AllEvents).filter((k) => k === ev)) { + } else if (AllEvents.indexOf(ev) === -1) { LOG.warn(`'${ev}' is not a valid event`); } else { parsedEvents.push(ev); } } - defaults.captureEvents = parsedEvents; + parsed.captureEvents = parsedEvents; - for (let ev of defaults.captureEvents) { + // Check if any events in `parsed.captureEvents` require a listener on a `YTPlayerEvent` + // for them to fire + for (let ev of parsed.captureEvents) { if ( CaptureEventToYouTubeEvent.hasOwnProperty(ev) && - defaults.youtubeEvents.indexOf(CaptureEventToYouTubeEvent[ev]) === -1 + parsed.youtubeEvents.indexOf(CaptureEventToYouTubeEvent[ev]) === -1 ) { - defaults.youtubeEvents.push(CaptureEventToYouTubeEvent[ev]); + parsed.youtubeEvents.push(CaptureEventToYouTubeEvent[ev]); } } - if (defaults.captureEvents.indexOf(SnowplowEvent.PERCENTPROGRESS) !== -1) { - defaults.progress = { - boundaries: conf.boundaries || defaults.progress!.boundaries, + // If "percentprogress" is in `captureEvents`, add the `progress` object + // to the tracking options with the user-defined boundaries, or the default + if (parsed.captureEvents.indexOf(SnowplowEvent.PERCENTPROGRESS) !== -1) { + parsed.progress = { + boundaries: conf?.boundaries || defaultBoundaries, boundaryTimeoutIds: [], }; } - return defaults; + return parsed; } export function enableYouTubeTracking(args: { id: string | YT.Player; options?: MediaTrackingOptions }) { @@ -216,12 +210,14 @@ function addExistingPlayer(conf: TrackingOptions) { }, }; - // The 'ready' event is required for modelling purposes - // - // We need to manually trigger the 'ready' event, as it won't be fired by the player when - // an existing player is passed in, since it's already been fired - const readyEvent = buildYouTubeEvent(conf.player!!, 'ready', conf); - trackEvent(readyEvent); + // The 'ready' event is required for modelling purposes, the Out-The-Box YouTube modelling won't work without it + // Ensure you have 'ready' in your 'captureEvents' array if you are using the Out-The-Box YouTube modelling + if (conf.captureEvents.indexOf(YTEvent.READY) !== -1) { + // We need to manually trigger the 'ready' event, as it won't be fired by the player when + // an existing player is passed in, since it's already been fired + const readyEvent = buildYouTubeEvent(conf.player!!, 'ready', conf); + trackEvent(readyEvent); + } attachListeners(conf.player!!, conf); } diff --git a/plugins/browser-plugin-youtube-tracking/test/youtube.test.ts b/plugins/browser-plugin-youtube-tracking/test/youtube.test.ts index 9fb66f0a4..7e4b962a5 100644 --- a/plugins/browser-plugin-youtube-tracking/test/youtube.test.ts +++ b/plugins/browser-plugin-youtube-tracking/test/youtube.test.ts @@ -38,11 +38,11 @@ describe('config parser', () => { const id = 'youtube'; const default_output: TrackingOptions = { mediaId: 'youtube', + player: undefined, captureEvents: DefaultEvents, youtubeEvents: [ YTPlayerEvent.ONSTATECHANGE, YTPlayerEvent.ONPLAYBACKQUALITYCHANGE, - YTPlayerEvent.ONERROR, YTPlayerEvent.ONPLAYBACKRATECHANGE, ], updateRate: 500, @@ -88,7 +88,7 @@ describe('config parser', () => { captureEvents: ['play', 'error', 'playbackratechange', 'playbackqualitychange', 'apichange'], }; - let expectedOutput = ['onStateChange', 'onPlaybackQualityChange', 'onError', 'onPlaybackRateChange', 'onApiChange']; + let expectedOutput = ['onStateChange', 'onError', 'onPlaybackRateChange', 'onPlaybackQualityChange', 'onApiChange']; expect(trackingOptionsParser(id, trackingOptions).youtubeEvents).toEqual(expectedOutput); }); @@ -108,6 +108,91 @@ describe('config parser', () => { let expectedOutput = DefaultEvents.concat(['ready']); expect(trackingOptionsParser(id, trackingOptions).captureEvents).toEqual(expectedOutput); }); + + it("doesn't return youtube events not in capture events", () => { + let trackingOptions: MediaTrackingOptions = { + captureEvents: ['play', 'pause'], + }; + + let expectedOutput = ['onStateChange']; + expect(trackingOptionsParser(id, trackingOptions).youtubeEvents).toEqual(expectedOutput); + }); + + it("Only includes YTPlayerEvent.ONERROR with 'error' event ", () => { + let expectedOutput = ['onError']; + for (let event of AllEvents) { + let trackingOptions: MediaTrackingOptions = { + captureEvents: [event], + }; + + if (event === 'error') { + expect(trackingOptionsParser(id, trackingOptions).youtubeEvents).toEqual(expectedOutput); + } else { + expect(trackingOptionsParser(id, trackingOptions).youtubeEvents).not.toEqual(expectedOutput); + } + } + }); + + it('Only includes YTPlayerEvent.ONSTATECHANGE with required events', () => { + let expectedOutput = ['onStateChange']; + const eventsUsingStateChange = ['unstarted', 'play', 'pause', 'buffering', 'cued', 'ended']; + for (let event of AllEvents) { + let trackingOptions: MediaTrackingOptions = { + captureEvents: [event], + }; + + if (eventsUsingStateChange.indexOf(event) !== -1) { + expect(trackingOptionsParser(id, trackingOptions).youtubeEvents).toEqual(expectedOutput); + } else { + expect(trackingOptionsParser(id, trackingOptions).youtubeEvents).not.toEqual(expectedOutput); + } + } + }); + + it("Only includes YTPlayerEvent.ONPLAYBACKRATECHANGE with 'playbackratechange' event", () => { + let expectedOutput = ['onPlaybackRateChange']; + for (let event of AllEvents) { + let trackingOptions: MediaTrackingOptions = { + captureEvents: [event], + }; + + if (event === 'playbackratechange') { + expect(trackingOptionsParser(id, trackingOptions).youtubeEvents).toEqual(expectedOutput); + } else { + expect(trackingOptionsParser(id, trackingOptions).youtubeEvents).not.toEqual(expectedOutput); + } + } + }); + + it("Only includes YTPlayerEvent.ONPLAYBACKQUALITYCHANGE only with 'playbackqualitychange' event", () => { + let expectedOutput = ['onPlaybackQualityChange']; + for (let event of AllEvents) { + let trackingOptions: MediaTrackingOptions = { + captureEvents: [event], + }; + + if (event === 'playbackqualitychange') { + expect(trackingOptionsParser(id, trackingOptions).youtubeEvents).toEqual(expectedOutput); + } else { + expect(trackingOptionsParser(id, trackingOptions).youtubeEvents).not.toEqual(expectedOutput); + } + } + }); + + it('Only includes YTPlayerEvent.ONAPICHANGE only with "apichange" event', () => { + let expectedOutput = ['onApiChange']; + for (let event of AllEvents) { + let trackingOptions: MediaTrackingOptions = { + captureEvents: [event], + }; + + if (event === 'apichange') { + expect(trackingOptionsParser(id, trackingOptions).youtubeEvents).toEqual(expectedOutput); + } else { + expect(trackingOptionsParser(id, trackingOptions).youtubeEvents).not.toEqual(expectedOutput); + } + } + }); }); describe('url parameter functions', () => { From 9914e39a4be02ef29505d34d84d7bb4d7125017a Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 11 May 2023 08:29:15 +0000 Subject: [PATCH 079/449] Update changelogs [skip ci] --- ...vigation-timing-plugin_2023-04-13-08-08.json | 10 ---------- ...mmerce-refund-tracking_2023-02-14-08-21.json | 10 ---------- ...-ga4-ee-migration-apis_2023-04-17-11-32.json | 10 ---------- ...e-events-youtube-ready_2023-05-10-13-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 ++++++- .../browser-plugin-ad-tracking/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-ad-tracking/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 ++++++- .../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 ++++++- .../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 | 17 +++++++++++++++++ .../CHANGELOG.md | 11 +++++++++++ .../CHANGELOG.json | 6 ++++++ .../CHANGELOG.md | 7 ++++++- .../browser-plugin-site-tracking/CHANGELOG.json | 6 ++++++ .../browser-plugin-site-tracking/CHANGELOG.md | 7 ++++++- .../CHANGELOG.json | 15 +++++++++++++++ .../CHANGELOG.md | 10 +++++++++- plugins/browser-plugin-timezone/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-timezone/CHANGELOG.md | 7 ++++++- .../CHANGELOG.json | 12 ++++++++++++ .../CHANGELOG.md | 9 ++++++++- 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 ++++++- 58 files changed, 360 insertions(+), 66 deletions(-) delete mode 100644 common/changes/@snowplow/browser-plugin-performance-navigation-timing/feature-performance-navigation-timing-plugin_2023-04-13-08-08.json delete mode 100644 common/changes/@snowplow/browser-plugin-snowplow-ecommerce/feature-1153-add-snowplow-ecommerce-refund-tracking_2023-02-14-08-21.json delete mode 100644 common/changes/@snowplow/browser-plugin-snowplow-ecommerce/feature-snowplow-ecommerce-ga4-ee-migration-apis_2023-04-17-11-32.json delete mode 100644 common/changes/@snowplow/browser-plugin-youtube-tracking/issue-1180-fix-capture-events-youtube-ready_2023-05-10-13-22.json create mode 100644 plugins/browser-plugin-performance-navigation-timing/CHANGELOG.json create mode 100644 plugins/browser-plugin-performance-navigation-timing/CHANGELOG.md diff --git a/common/changes/@snowplow/browser-plugin-performance-navigation-timing/feature-performance-navigation-timing-plugin_2023-04-13-08-08.json b/common/changes/@snowplow/browser-plugin-performance-navigation-timing/feature-performance-navigation-timing-plugin_2023-04-13-08-08.json deleted file mode 100644 index 1413cd349..000000000 --- a/common/changes/@snowplow/browser-plugin-performance-navigation-timing/feature-performance-navigation-timing-plugin_2023-04-13-08-08.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-plugin-performance-navigation-timing", - "comment": "Introduce Performance Navigation Timing plugin", - "type": "none" - } - ], - "packageName": "@snowplow/browser-plugin-performance-navigation-timing" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-snowplow-ecommerce/feature-1153-add-snowplow-ecommerce-refund-tracking_2023-02-14-08-21.json b/common/changes/@snowplow/browser-plugin-snowplow-ecommerce/feature-1153-add-snowplow-ecommerce-refund-tracking_2023-02-14-08-21.json deleted file mode 100644 index 8d424e56d..000000000 --- a/common/changes/@snowplow/browser-plugin-snowplow-ecommerce/feature-1153-add-snowplow-ecommerce-refund-tracking_2023-02-14-08-21.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-plugin-snowplow-ecommerce", - "comment": "Add refund tracking capability to the snowplow-ecommerce plugin", - "type": "none" - } - ], - "packageName": "@snowplow/browser-plugin-snowplow-ecommerce" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-snowplow-ecommerce/feature-snowplow-ecommerce-ga4-ee-migration-apis_2023-04-17-11-32.json b/common/changes/@snowplow/browser-plugin-snowplow-ecommerce/feature-snowplow-ecommerce-ga4-ee-migration-apis_2023-04-17-11-32.json deleted file mode 100644 index 5f7a59486..000000000 --- a/common/changes/@snowplow/browser-plugin-snowplow-ecommerce/feature-snowplow-ecommerce-ga4-ee-migration-apis_2023-04-17-11-32.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-plugin-snowplow-ecommerce", - "comment": "Add GA4 and UA ecommerce translation layer API", - "type": "none" - } - ], - "packageName": "@snowplow/browser-plugin-snowplow-ecommerce" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-youtube-tracking/issue-1180-fix-capture-events-youtube-ready_2023-05-10-13-22.json b/common/changes/@snowplow/browser-plugin-youtube-tracking/issue-1180-fix-capture-events-youtube-ready_2023-05-10-13-22.json deleted file mode 100644 index e3f087967..000000000 --- a/common/changes/@snowplow/browser-plugin-youtube-tracking/issue-1180-fix-capture-events-youtube-ready_2023-05-10-13-22.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-plugin-youtube-tracking", - "comment": "Fix 'captureEvents' not being respected", - "type": "none" - } - ], - "packageName": "@snowplow/browser-plugin-youtube-tracking" -} \ No newline at end of file diff --git a/libraries/browser-tracker-core/CHANGELOG.json b/libraries/browser-tracker-core/CHANGELOG.json index 163f58b0b..86dbdee7e 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.10.0", + "tag": "@snowplow/browser-tracker-core_v3.10.0", + "date": "Thu, 11 May 2023 08:29:15 GMT", + "comments": {} + }, { "version": "3.9.0", "tag": "@snowplow/browser-tracker-core_v3.9.0", diff --git a/libraries/browser-tracker-core/CHANGELOG.md b/libraries/browser-tracker-core/CHANGELOG.md index 91db77d4c..7e72d0e09 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, 30 Mar 2023 13:46:56 GMT and should not be manually modified. +This log was last generated on Thu, 11 May 2023 08:29:15 GMT and should not be manually modified. + +## 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 diff --git a/libraries/tracker-core/CHANGELOG.json b/libraries/tracker-core/CHANGELOG.json index 9461e60a3..dbac7117a 100644 --- a/libraries/tracker-core/CHANGELOG.json +++ b/libraries/tracker-core/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/tracker-core", "entries": [ + { + "version": "3.10.0", + "tag": "@snowplow/tracker-core_v3.10.0", + "date": "Thu, 11 May 2023 08:29:15 GMT", + "comments": {} + }, { "version": "3.9.0", "tag": "@snowplow/tracker-core_v3.9.0", diff --git a/libraries/tracker-core/CHANGELOG.md b/libraries/tracker-core/CHANGELOG.md index 6f569d040..da958622d 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, 30 Mar 2023 13:46:56 GMT and should not be manually modified. +This log was last generated on Thu, 11 May 2023 08:29:15 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-ad-tracking/CHANGELOG.json b/plugins/browser-plugin-ad-tracking/CHANGELOG.json index 8a426f0d4..1832749df 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.10.0", + "tag": "@snowplow/browser-plugin-ad-tracking_v3.10.0", + "date": "Thu, 11 May 2023 08:29:15 GMT", + "comments": {} + }, { "version": "3.9.0", "tag": "@snowplow/browser-plugin-ad-tracking_v3.9.0", diff --git a/plugins/browser-plugin-ad-tracking/CHANGELOG.md b/plugins/browser-plugin-ad-tracking/CHANGELOG.md index c1839612a..761016fdc 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, 30 Mar 2023 13:46:56 GMT and should not be manually modified. +This log was last generated on Thu, 11 May 2023 08:29:15 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-browser-features/CHANGELOG.json b/plugins/browser-plugin-browser-features/CHANGELOG.json index d842a90b7..bcc218551 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.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", diff --git a/plugins/browser-plugin-browser-features/CHANGELOG.md b/plugins/browser-plugin-browser-features/CHANGELOG.md index 8cafc3a1b..062418294 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, 30 Mar 2023 13:46:56 GMT and should not be manually modified. +This log was last generated on Thu, 11 May 2023 08:29:15 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-client-hints/CHANGELOG.json b/plugins/browser-plugin-client-hints/CHANGELOG.json index ff6fd0beb..311e77779 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.10.0", + "tag": "@snowplow/browser-plugin-client-hints_v3.10.0", + "date": "Thu, 11 May 2023 08:29:15 GMT", + "comments": {} + }, { "version": "3.9.0", "tag": "@snowplow/browser-plugin-client-hints_v3.9.0", diff --git a/plugins/browser-plugin-client-hints/CHANGELOG.md b/plugins/browser-plugin-client-hints/CHANGELOG.md index fb364d910..c6d295921 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, 30 Mar 2023 13:46:56 GMT and should not be manually modified. +This log was last generated on Thu, 11 May 2023 08:29:15 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-consent/CHANGELOG.json b/plugins/browser-plugin-consent/CHANGELOG.json index 4732428b2..48457bf40 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.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", diff --git a/plugins/browser-plugin-consent/CHANGELOG.md b/plugins/browser-plugin-consent/CHANGELOG.md index feb321fce..66d40b8c8 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, 30 Mar 2023 13:46:56 GMT and should not be manually modified. +This log was last generated on Thu, 11 May 2023 08:29:15 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-debugger/CHANGELOG.json b/plugins/browser-plugin-debugger/CHANGELOG.json index a2a9b0652..25231da66 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.10.0", + "tag": "@snowplow/browser-plugin-debugger_v3.10.0", + "date": "Thu, 11 May 2023 08:29:15 GMT", + "comments": {} + }, { "version": "3.9.0", "tag": "@snowplow/browser-plugin-debugger_v3.9.0", diff --git a/plugins/browser-plugin-debugger/CHANGELOG.md b/plugins/browser-plugin-debugger/CHANGELOG.md index 40309edf6..bd7d0388a 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, 30 Mar 2023 13:46:56 GMT and should not be manually modified. +This log was last generated on Thu, 11 May 2023 08:29:15 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-ecommerce/CHANGELOG.json b/plugins/browser-plugin-ecommerce/CHANGELOG.json index 588d1ed9a..b11b39f36 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.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", diff --git a/plugins/browser-plugin-ecommerce/CHANGELOG.md b/plugins/browser-plugin-ecommerce/CHANGELOG.md index 66d1913cf..d2a3f977f 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, 30 Mar 2023 13:46:56 GMT and should not be manually modified. +This log was last generated on Thu, 11 May 2023 08:29:15 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-enhanced-consent/CHANGELOG.json b/plugins/browser-plugin-enhanced-consent/CHANGELOG.json index e93089e13..dc7e958f3 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.10.0", + "tag": "@snowplow/browser-plugin-enhanced-consent_v3.10.0", + "date": "Thu, 11 May 2023 08:29:15 GMT", + "comments": {} + }, { "version": "3.9.0", "tag": "@snowplow/browser-plugin-enhanced-consent_v3.9.0", diff --git a/plugins/browser-plugin-enhanced-consent/CHANGELOG.md b/plugins/browser-plugin-enhanced-consent/CHANGELOG.md index 7882303d0..088486366 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, 30 Mar 2023 13:46:56 GMT and should not be manually modified. +This log was last generated on Thu, 11 May 2023 08:29:15 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.json b/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.json index c5324da4a..a37689bc4 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.10.0", + "tag": "@snowplow/browser-plugin-enhanced-ecommerce_v3.10.0", + "date": "Thu, 11 May 2023 08:29:15 GMT", + "comments": {} + }, { "version": "3.9.0", "tag": "@snowplow/browser-plugin-enhanced-ecommerce_v3.9.0", diff --git a/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.md b/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.md index 76e9fb085..962d74d31 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, 30 Mar 2023 13:46:56 GMT and should not be manually modified. +This log was last generated on Thu, 11 May 2023 08:29:15 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-error-tracking/CHANGELOG.json b/plugins/browser-plugin-error-tracking/CHANGELOG.json index d571fb044..5b269e013 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.10.0", + "tag": "@snowplow/browser-plugin-error-tracking_v3.10.0", + "date": "Thu, 11 May 2023 08:29:15 GMT", + "comments": {} + }, { "version": "3.9.0", "tag": "@snowplow/browser-plugin-error-tracking_v3.9.0", diff --git a/plugins/browser-plugin-error-tracking/CHANGELOG.md b/plugins/browser-plugin-error-tracking/CHANGELOG.md index f1097331a..a4a1a16f9 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, 30 Mar 2023 13:46:56 GMT and should not be manually modified. +This log was last generated on Thu, 11 May 2023 08:29:15 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-form-tracking/CHANGELOG.json b/plugins/browser-plugin-form-tracking/CHANGELOG.json index dc10d339c..6448affbf 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.10.0", + "tag": "@snowplow/browser-plugin-form-tracking_v3.10.0", + "date": "Thu, 11 May 2023 08:29:15 GMT", + "comments": {} + }, { "version": "3.9.0", "tag": "@snowplow/browser-plugin-form-tracking_v3.9.0", diff --git a/plugins/browser-plugin-form-tracking/CHANGELOG.md b/plugins/browser-plugin-form-tracking/CHANGELOG.md index fdaf6c179..994e31e07 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, 30 Mar 2023 13:46:56 GMT and should not be manually modified. +This log was last generated on Thu, 11 May 2023 08:29:15 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-ga-cookies/CHANGELOG.json b/plugins/browser-plugin-ga-cookies/CHANGELOG.json index dd423026f..d77159a05 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.10.0", + "tag": "@snowplow/browser-plugin-ga-cookies_v3.10.0", + "date": "Thu, 11 May 2023 08:29:15 GMT", + "comments": {} + }, { "version": "3.9.0", "tag": "@snowplow/browser-plugin-ga-cookies_v3.9.0", diff --git a/plugins/browser-plugin-ga-cookies/CHANGELOG.md b/plugins/browser-plugin-ga-cookies/CHANGELOG.md index 5fbbc34d0..3f18a4fab 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, 30 Mar 2023 13:46:56 GMT and should not be manually modified. +This log was last generated on Thu, 11 May 2023 08:29:15 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-geolocation/CHANGELOG.json b/plugins/browser-plugin-geolocation/CHANGELOG.json index fc6cb626a..f24f39219 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.10.0", + "tag": "@snowplow/browser-plugin-geolocation_v3.10.0", + "date": "Thu, 11 May 2023 08:29:15 GMT", + "comments": {} + }, { "version": "3.9.0", "tag": "@snowplow/browser-plugin-geolocation_v3.9.0", diff --git a/plugins/browser-plugin-geolocation/CHANGELOG.md b/plugins/browser-plugin-geolocation/CHANGELOG.md index 0665594c4..9932edbe8 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, 30 Mar 2023 13:46:56 GMT and should not be manually modified. +This log was last generated on Thu, 11 May 2023 08:29:15 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-link-click-tracking/CHANGELOG.json b/plugins/browser-plugin-link-click-tracking/CHANGELOG.json index 96f931f8b..54bd65e87 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.10.0", + "tag": "@snowplow/browser-plugin-link-click-tracking_v3.10.0", + "date": "Thu, 11 May 2023 08:29:15 GMT", + "comments": {} + }, { "version": "3.9.0", "tag": "@snowplow/browser-plugin-link-click-tracking_v3.9.0", diff --git a/plugins/browser-plugin-link-click-tracking/CHANGELOG.md b/plugins/browser-plugin-link-click-tracking/CHANGELOG.md index 5ffcef949..adfd98eab 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, 30 Mar 2023 13:46:56 GMT and should not be manually modified. +This log was last generated on Thu, 11 May 2023 08:29:15 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-media-tracking/CHANGELOG.json b/plugins/browser-plugin-media-tracking/CHANGELOG.json index 8d88c45ef..8194aeadf 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.10.0", + "tag": "@snowplow/browser-plugin-media-tracking_v3.10.0", + "date": "Thu, 11 May 2023 08:29:15 GMT", + "comments": {} + }, { "version": "3.9.0", "tag": "@snowplow/browser-plugin-media-tracking_v3.9.0", diff --git a/plugins/browser-plugin-media-tracking/CHANGELOG.md b/plugins/browser-plugin-media-tracking/CHANGELOG.md index 51e921b9c..505055b50 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, 30 Mar 2023 13:46:56 GMT and should not be manually modified. +This log was last generated on Thu, 11 May 2023 08:29:15 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-optimizely-x/CHANGELOG.json b/plugins/browser-plugin-optimizely-x/CHANGELOG.json index d12d84381..db96095d9 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.10.0", + "tag": "@snowplow/browser-plugin-optimizely-x_v3.10.0", + "date": "Thu, 11 May 2023 08:29:15 GMT", + "comments": {} + }, { "version": "3.9.0", "tag": "@snowplow/browser-plugin-optimizely-x_v3.9.0", diff --git a/plugins/browser-plugin-optimizely-x/CHANGELOG.md b/plugins/browser-plugin-optimizely-x/CHANGELOG.md index 8bd9ed514..4089d525e 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, 30 Mar 2023 13:46:56 GMT and should not be manually modified. +This log was last generated on Thu, 11 May 2023 08:29:15 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-optimizely/CHANGELOG.json b/plugins/browser-plugin-optimizely/CHANGELOG.json index 3459bae12..2e98b2553 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.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", diff --git a/plugins/browser-plugin-optimizely/CHANGELOG.md b/plugins/browser-plugin-optimizely/CHANGELOG.md index 3275da472..3079ea5ac 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, 30 Mar 2023 13:46:56 GMT and should not be manually modified. +This log was last generated on Thu, 11 May 2023 08:29:15 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.json b/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.json new file mode 100644 index 000000000..37bf59fa5 --- /dev/null +++ b/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.json @@ -0,0 +1,17 @@ +{ + "name": "@snowplow/browser-plugin-performance-navigation-timing", + "entries": [ + { + "version": "3.10.0", + "tag": "@snowplow/browser-plugin-performance-navigation-timing_v3.10.0", + "date": "Thu, 11 May 2023 08:29:15 GMT", + "comments": { + "none": [ + { + "comment": "Introduce Performance Navigation Timing plugin" + } + ] + } + } + ] +} diff --git a/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.md b/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.md new file mode 100644 index 000000000..b7553d45e --- /dev/null +++ b/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.md @@ -0,0 +1,11 @@ +# Change Log - @snowplow/browser-plugin-performance-navigation-timing + +This log was last generated on Thu, 11 May 2023 08:29:15 GMT and should not be manually modified. + +## 3.10.0 +Thu, 11 May 2023 08:29:15 GMT + +### Updates + +- Introduce Performance Navigation Timing plugin + diff --git a/plugins/browser-plugin-performance-timing/CHANGELOG.json b/plugins/browser-plugin-performance-timing/CHANGELOG.json index f1520e154..9a7978bc6 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.10.0", + "tag": "@snowplow/browser-plugin-performance-timing_v3.10.0", + "date": "Thu, 11 May 2023 08:29:15 GMT", + "comments": {} + }, { "version": "3.9.0", "tag": "@snowplow/browser-plugin-performance-timing_v3.9.0", diff --git a/plugins/browser-plugin-performance-timing/CHANGELOG.md b/plugins/browser-plugin-performance-timing/CHANGELOG.md index 728433f15..fe01cc245 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, 30 Mar 2023 13:46:56 GMT and should not be manually modified. +This log was last generated on Thu, 11 May 2023 08:29:15 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-site-tracking/CHANGELOG.json b/plugins/browser-plugin-site-tracking/CHANGELOG.json index 8b5bb7d21..db46e8368 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.10.0", + "tag": "@snowplow/browser-plugin-site-tracking_v3.10.0", + "date": "Thu, 11 May 2023 08:29:15 GMT", + "comments": {} + }, { "version": "3.9.0", "tag": "@snowplow/browser-plugin-site-tracking_v3.9.0", diff --git a/plugins/browser-plugin-site-tracking/CHANGELOG.md b/plugins/browser-plugin-site-tracking/CHANGELOG.md index 88f7cb0ae..af7cd118c 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, 30 Mar 2023 13:46:56 GMT and should not be manually modified. +This log was last generated on Thu, 11 May 2023 08:29:15 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.json b/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.json index 43ccdfa72..4733c183e 100644 --- a/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.json +++ b/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@snowplow/browser-plugin-snowplow-ecommerce", "entries": [ + { + "version": "3.10.0", + "tag": "@snowplow/browser-plugin-snowplow-ecommerce_v3.10.0", + "date": "Thu, 11 May 2023 08:29:15 GMT", + "comments": { + "none": [ + { + "comment": "Add refund tracking capability to the snowplow-ecommerce plugin" + }, + { + "comment": "Add GA4 and UA ecommerce translation layer API" + } + ] + } + }, { "version": "3.9.0", "tag": "@snowplow/browser-plugin-snowplow-ecommerce_v3.9.0", diff --git a/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.md b/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.md index 168ebedd3..119f81220 100644 --- a/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.md +++ b/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.md @@ -1,6 +1,14 @@ # Change Log - @snowplow/browser-plugin-snowplow-ecommerce -This log was last generated on Thu, 30 Mar 2023 13:46:56 GMT and should not be manually modified. +This log was last generated on Thu, 11 May 2023 08:29:15 GMT and should not be manually modified. + +## 3.10.0 +Thu, 11 May 2023 08:29:15 GMT + +### Updates + +- Add refund tracking capability to the snowplow-ecommerce plugin +- Add GA4 and UA ecommerce translation layer API ## 3.9.0 Thu, 30 Mar 2023 13:46:56 GMT diff --git a/plugins/browser-plugin-timezone/CHANGELOG.json b/plugins/browser-plugin-timezone/CHANGELOG.json index ab9d78204..e5eeb4cfe 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.10.0", + "tag": "@snowplow/browser-plugin-timezone_v3.10.0", + "date": "Thu, 11 May 2023 08:29:15 GMT", + "comments": {} + }, { "version": "3.9.0", "tag": "@snowplow/browser-plugin-timezone_v3.9.0", diff --git a/plugins/browser-plugin-timezone/CHANGELOG.md b/plugins/browser-plugin-timezone/CHANGELOG.md index f0538d732..ef4247572 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, 30 Mar 2023 13:46:56 GMT and should not be manually modified. +This log was last generated on Thu, 11 May 2023 08:29:15 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-youtube-tracking/CHANGELOG.json b/plugins/browser-plugin-youtube-tracking/CHANGELOG.json index 6adb1e38b..17d89e6eb 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.10.0", + "tag": "@snowplow/browser-plugin-youtube-tracking_v3.10.0", + "date": "Thu, 11 May 2023 08:29:15 GMT", + "comments": { + "none": [ + { + "comment": "Fix 'captureEvents' not being respected" + } + ] + } + }, { "version": "3.9.0", "tag": "@snowplow/browser-plugin-youtube-tracking_v3.9.0", diff --git a/plugins/browser-plugin-youtube-tracking/CHANGELOG.md b/plugins/browser-plugin-youtube-tracking/CHANGELOG.md index 9a2695aec..14f73fe2f 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 Thu, 30 Mar 2023 13:46:56 GMT and should not be manually modified. +This log was last generated on Thu, 11 May 2023 08:29:15 GMT and should not be manually modified. + +## 3.10.0 +Thu, 11 May 2023 08:29:15 GMT + +### Updates + +- Fix 'captureEvents' not being respected ## 3.9.0 Thu, 30 Mar 2023 13:46:56 GMT diff --git a/trackers/browser-tracker/CHANGELOG.json b/trackers/browser-tracker/CHANGELOG.json index 1f8fa983c..d66653136 100644 --- a/trackers/browser-tracker/CHANGELOG.json +++ b/trackers/browser-tracker/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-tracker", "entries": [ + { + "version": "3.10.0", + "tag": "@snowplow/browser-tracker_v3.10.0", + "date": "Thu, 11 May 2023 08:29:15 GMT", + "comments": {} + }, { "version": "3.9.0", "tag": "@snowplow/browser-tracker_v3.9.0", diff --git a/trackers/browser-tracker/CHANGELOG.md b/trackers/browser-tracker/CHANGELOG.md index 56416d055..1906af909 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, 30 Mar 2023 13:46:56 GMT and should not be manually modified. +This log was last generated on Thu, 11 May 2023 08:29:15 GMT and should not be manually modified. + +## 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 diff --git a/trackers/javascript-tracker/CHANGELOG.json b/trackers/javascript-tracker/CHANGELOG.json index 09e1c1570..96f473a36 100644 --- a/trackers/javascript-tracker/CHANGELOG.json +++ b/trackers/javascript-tracker/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/javascript-tracker", "entries": [ + { + "version": "3.10.0", + "tag": "@snowplow/javascript-tracker_v3.10.0", + "date": "Thu, 11 May 2023 08:29:15 GMT", + "comments": {} + }, { "version": "3.9.0", "tag": "@snowplow/javascript-tracker_v3.9.0", diff --git a/trackers/javascript-tracker/CHANGELOG.md b/trackers/javascript-tracker/CHANGELOG.md index e4900c48d..e84c51fea 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, 30 Mar 2023 13:46:56 GMT and should not be manually modified. +This log was last generated on Thu, 11 May 2023 08:29:15 GMT and should not be manually modified. + +## 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 diff --git a/trackers/node-tracker/CHANGELOG.json b/trackers/node-tracker/CHANGELOG.json index 0fea29079..9992f77f3 100644 --- a/trackers/node-tracker/CHANGELOG.json +++ b/trackers/node-tracker/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/node-tracker", "entries": [ + { + "version": "3.10.0", + "tag": "@snowplow/node-tracker_v3.10.0", + "date": "Thu, 11 May 2023 08:29:15 GMT", + "comments": {} + }, { "version": "3.9.0", "tag": "@snowplow/node-tracker_v3.9.0", diff --git a/trackers/node-tracker/CHANGELOG.md b/trackers/node-tracker/CHANGELOG.md index 0c9a0fe0a..16f3c585c 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, 30 Mar 2023 13:46:56 GMT and should not be manually modified. +This log was last generated on Thu, 11 May 2023 08:29:15 GMT and should not be manually modified. + +## 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 From dd6b37888ac426f02e82641007ee627c1f5b79fd Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 11 May 2023 08:29:15 +0000 Subject: [PATCH 080/449] 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-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-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-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-site-tracking/package.json | 4 ++-- plugins/browser-plugin-snowplow-ecommerce/package.json | 4 ++-- plugins/browser-plugin-timezone/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 +- 28 files changed, 50 insertions(+), 50 deletions(-) diff --git a/common/config/rush/version-policies.json b/common/config/rush/version-policies.json index 8a27048c5..329f7d3d4 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.9.0", + "version": "3.10.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 1e30ad7d7..f5286af92 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.9.0", + "version": "3.10.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 49a2b1f09..7d3676394 100644 --- a/libraries/tracker-core/package.json +++ b/libraries/tracker-core/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/tracker-core", - "version": "3.9.0", + "version": "3.10.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 6771c4ad1..7d3d13588 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.9.0", + "version": "3.10.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.9.0" + "@snowplow/browser-tracker": "~3.10.0" } } diff --git a/plugins/browser-plugin-browser-features/package.json b/plugins/browser-plugin-browser-features/package.json index 86b71863d..3dfba2935 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.9.0", + "version": "3.10.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.9.0" + "@snowplow/browser-tracker": "~3.10.0" } } diff --git a/plugins/browser-plugin-client-hints/package.json b/plugins/browser-plugin-client-hints/package.json index b6af64241..b2f52f2ec 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.9.0", + "version": "3.10.0", "description": "Attaches Client Hints to Snowplow events", "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.9.0" + "@snowplow/browser-tracker": "~3.10.0" } } diff --git a/plugins/browser-plugin-consent/package.json b/plugins/browser-plugin-consent/package.json index 9d8055edd..78b0e5989 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.9.0", + "version": "3.10.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.9.0" + "@snowplow/browser-tracker": "~3.10.0" } } diff --git a/plugins/browser-plugin-debugger/package.json b/plugins/browser-plugin-debugger/package.json index e4b9d8b41..69a00eef9 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.9.0", + "version": "3.10.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.9.0" + "@snowplow/browser-tracker": "~3.10.0" } } diff --git a/plugins/browser-plugin-ecommerce/package.json b/plugins/browser-plugin-ecommerce/package.json index b4aa21e87..0681a0919 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.9.0", + "version": "3.10.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.9.0" + "@snowplow/browser-tracker": "~3.10.0" } } diff --git a/plugins/browser-plugin-enhanced-consent/package.json b/plugins/browser-plugin-enhanced-consent/package.json index 6849563e6..02a5f89cf 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.9.0", + "version": "3.10.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.9.0" + "@snowplow/browser-tracker": "~3.10.0" } } diff --git a/plugins/browser-plugin-enhanced-ecommerce/package.json b/plugins/browser-plugin-enhanced-ecommerce/package.json index 6303cfada..eb7c82c1f 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.9.0", + "version": "3.10.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.9.0" + "@snowplow/browser-tracker": "~3.10.0" } } diff --git a/plugins/browser-plugin-error-tracking/package.json b/plugins/browser-plugin-error-tracking/package.json index 687f6d67c..7aa0eff94 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.9.0", + "version": "3.10.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.9.0" + "@snowplow/browser-tracker": "~3.10.0" } } diff --git a/plugins/browser-plugin-form-tracking/package.json b/plugins/browser-plugin-form-tracking/package.json index 5ceb27bc2..0da3f3fda 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.9.0", + "version": "3.10.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.9.0" + "@snowplow/browser-tracker": "~3.10.0" } } diff --git a/plugins/browser-plugin-ga-cookies/package.json b/plugins/browser-plugin-ga-cookies/package.json index cb78d5742..f14f87a54 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.9.0", + "version": "3.10.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.9.0" + "@snowplow/browser-tracker": "~3.10.0" } } diff --git a/plugins/browser-plugin-geolocation/package.json b/plugins/browser-plugin-geolocation/package.json index c4798c8e2..d7c5807d2 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.9.0", + "version": "3.10.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.9.0" + "@snowplow/browser-tracker": "~3.10.0" } } diff --git a/plugins/browser-plugin-link-click-tracking/package.json b/plugins/browser-plugin-link-click-tracking/package.json index a39e7043b..4c62af8fc 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.9.0", + "version": "3.10.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.9.0" + "@snowplow/browser-tracker": "~3.10.0" } } diff --git a/plugins/browser-plugin-media-tracking/package.json b/plugins/browser-plugin-media-tracking/package.json index cdb884676..540a2e8c6 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.9.0", + "version": "3.10.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.9.0" + "@snowplow/browser-tracker": "~3.10.0" } } diff --git a/plugins/browser-plugin-optimizely-x/package.json b/plugins/browser-plugin-optimizely-x/package.json index dc449ef57..448a823bf 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.9.0", + "version": "3.10.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.9.0" + "@snowplow/browser-tracker": "~3.10.0" } } diff --git a/plugins/browser-plugin-optimizely/package.json b/plugins/browser-plugin-optimizely/package.json index b66d49a62..814e31d8e 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.9.0", + "version": "3.10.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.9.0" + "@snowplow/browser-tracker": "~3.10.0" } } diff --git a/plugins/browser-plugin-performance-navigation-timing/package.json b/plugins/browser-plugin-performance-navigation-timing/package.json index 7e504d500..e0817f7d8 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.9.0", + "version": "3.10.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.9.0" + "@snowplow/browser-tracker": "~3.10.0" } } diff --git a/plugins/browser-plugin-performance-timing/package.json b/plugins/browser-plugin-performance-timing/package.json index ee372fa9c..124c44d5d 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.9.0", + "version": "3.10.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.9.0" + "@snowplow/browser-tracker": "~3.10.0" } } diff --git a/plugins/browser-plugin-site-tracking/package.json b/plugins/browser-plugin-site-tracking/package.json index 43fa051a3..1ddacbd81 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.9.0", + "version": "3.10.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.9.0" + "@snowplow/browser-tracker": "~3.10.0" } } diff --git a/plugins/browser-plugin-snowplow-ecommerce/package.json b/plugins/browser-plugin-snowplow-ecommerce/package.json index 1a94565fb..6898e802b 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.9.0", + "version": "3.10.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.9.0" + "@snowplow/browser-tracker": "~3.10.0" } } diff --git a/plugins/browser-plugin-timezone/package.json b/plugins/browser-plugin-timezone/package.json index 8f2cf59c3..cc0ec7597 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.9.0", + "version": "3.10.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.9.0" + "@snowplow/browser-tracker": "~3.10.0" } } diff --git a/plugins/browser-plugin-youtube-tracking/package.json b/plugins/browser-plugin-youtube-tracking/package.json index 686516763..55922d4fd 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.9.0", + "version": "3.10.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.9.0" + "@snowplow/browser-tracker": "~3.10.0" } } diff --git a/trackers/browser-tracker/package.json b/trackers/browser-tracker/package.json index c323fa955..951c960fe 100644 --- a/trackers/browser-tracker/package.json +++ b/trackers/browser-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-tracker", - "version": "3.9.0", + "version": "3.10.0", "description": "Browser tracker for Snowplow", "keywords": [ "tracking", diff --git a/trackers/javascript-tracker/package.json b/trackers/javascript-tracker/package.json index b752afb0f..c0232ca6c 100644 --- a/trackers/javascript-tracker/package.json +++ b/trackers/javascript-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/javascript-tracker", - "version": "3.9.0", + "version": "3.10.0", "description": "Web analytics for Snowplow", "keywords": [ "tracking", diff --git a/trackers/node-tracker/package.json b/trackers/node-tracker/package.json index ee86b99eb..8b093885f 100644 --- a/trackers/node-tracker/package.json +++ b/trackers/node-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/node-tracker", - "version": "3.9.0", + "version": "3.10.0", "description": "Node tracker for Snowplow", "keywords": [ "snowplow", From 748a7cc2b5c60858e08987dbd7594a7b39f02711 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 11 May 2023 08:33:10 +0000 Subject: [PATCH 081/449] Applying documentation updates. From 6270f29de989147d03c0c67f3cbe9728e9911e0f Mon Sep 17 00:00:00 2001 From: Greg Leonard <45019882+greg-el@users.noreply.github.com> Date: Fri, 12 May 2023 07:05:21 +0100 Subject: [PATCH 082/449] Fix 'percentprogress' events not firing without 'play' and 'pause' in 'captureEvents' close #1183 --- ...ss-without-play-pause_2023-05-11-12-03.json | 10 ++++++++++ .../src/index.ts | 18 +++++++++++++++++- .../test/youtube.test.ts | 2 +- 3 files changed, 28 insertions(+), 2 deletions(-) create mode 100644 common/changes/@snowplow/browser-plugin-youtube-tracking/issue-1183-fix-progress-without-play-pause_2023-05-11-12-03.json diff --git a/common/changes/@snowplow/browser-plugin-youtube-tracking/issue-1183-fix-progress-without-play-pause_2023-05-11-12-03.json b/common/changes/@snowplow/browser-plugin-youtube-tracking/issue-1183-fix-progress-without-play-pause_2023-05-11-12-03.json new file mode 100644 index 000000000..b9457a8de --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-youtube-tracking/issue-1183-fix-progress-without-play-pause_2023-05-11-12-03.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-youtube-tracking", + "comment": "Fix 'percentprogress' events not firing without 'play' and 'pause' in 'captureEvents'", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-youtube-tracking" +} \ No newline at end of file diff --git a/plugins/browser-plugin-youtube-tracking/src/index.ts b/plugins/browser-plugin-youtube-tracking/src/index.ts index fd67d8493..7c01eb48a 100644 --- a/plugins/browser-plugin-youtube-tracking/src/index.ts +++ b/plugins/browser-plugin-youtube-tracking/src/index.ts @@ -114,6 +114,11 @@ export function trackingOptionsParser(id: string | YT.Player, conf?: MediaTracki boundaries: conf?.boundaries || defaultBoundaries, boundaryTimeoutIds: [], }; + // We need to monitor state changes for 'percentprogress' events + // as `progressHandler` uses these to set/reset timeouts + if (parsed.youtubeEvents.indexOf(YTPlayerEvent.ONSTATECHANGE) === -1) { + parsed.youtubeEvents.push(YTPlayerEvent.ONSTATECHANGE); + } } return parsed; @@ -245,7 +250,18 @@ function initialisePlayer(conf: TrackingOptions) { function attachListeners(player: YT.Player, conf: TrackingOptions) { const builtInEvents: Record = { [YTPlayerEvent.ONSTATECHANGE]: (e: YT.OnStateChangeEvent) => { - if (conf.captureEvents.indexOf(YTStateEvent[e.data.toString()]) !== -1) { + const stateEventInCaptureEvents = conf.captureEvents.indexOf(YTStateEvent[e.data.toString()]) !== -1; + // If the user is tracking 'percentprogress' events, we need to pass these state changes to `progressHandler`, + // even if the user is not tracking the state changes themselves + if (conf.captureEvents.indexOf(SnowplowEvent.PERCENTPROGRESS) !== -1) { + // Only pass the event to `progressHandler` if the event isn't in the `captureEvents` array + // As otherwise it will be handled by `youtubeEvent` below + if (!stateEventInCaptureEvents) { + progressHandler(player, YTStateEvent[e.data], conf); + } + } + + if (stateEventInCaptureEvents) { youtubeEvent(trackedPlayers[conf.mediaId].player, YTStateEvent[e.data], conf); } }, diff --git a/plugins/browser-plugin-youtube-tracking/test/youtube.test.ts b/plugins/browser-plugin-youtube-tracking/test/youtube.test.ts index 7e4b962a5..30e795bdb 100644 --- a/plugins/browser-plugin-youtube-tracking/test/youtube.test.ts +++ b/plugins/browser-plugin-youtube-tracking/test/youtube.test.ts @@ -135,7 +135,7 @@ describe('config parser', () => { it('Only includes YTPlayerEvent.ONSTATECHANGE with required events', () => { let expectedOutput = ['onStateChange']; - const eventsUsingStateChange = ['unstarted', 'play', 'pause', 'buffering', 'cued', 'ended']; + const eventsUsingStateChange = ['unstarted', 'play', 'pause', 'buffering', 'cued', 'ended', 'percentprogress']; for (let event of AllEvents) { let trackingOptions: MediaTrackingOptions = { captureEvents: [event], From 73459bd2e5eb2a293d9aa5ecc244ba6b77b335dd Mon Sep 17 00:00:00 2001 From: Peter Perlepes Date: Fri, 12 May 2023 09:09:54 +0300 Subject: [PATCH 083/449] Prepare for release 3.10.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 329f7d3d4..2cac8424d 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 e5d054087cf2ef17805c8fff994bb5d86759052a Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 12 May 2023 06:59:31 +0000 Subject: [PATCH 084/449] Update changelogs [skip ci] --- ...progress-without-play-pause_2023-05-11-12-03.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 ++++++- 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-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-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 ++++++- 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 ++++++- .../browser-plugin-youtube-tracking/CHANGELOG.json | 12 ++++++++++++ plugins/browser-plugin-youtube-tracking/CHANGELOG.md | 9 ++++++++- 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 ++++++- 55 files changed, 332 insertions(+), 37 deletions(-) delete mode 100644 common/changes/@snowplow/browser-plugin-youtube-tracking/issue-1183-fix-progress-without-play-pause_2023-05-11-12-03.json diff --git a/common/changes/@snowplow/browser-plugin-youtube-tracking/issue-1183-fix-progress-without-play-pause_2023-05-11-12-03.json b/common/changes/@snowplow/browser-plugin-youtube-tracking/issue-1183-fix-progress-without-play-pause_2023-05-11-12-03.json deleted file mode 100644 index b9457a8de..000000000 --- a/common/changes/@snowplow/browser-plugin-youtube-tracking/issue-1183-fix-progress-without-play-pause_2023-05-11-12-03.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-plugin-youtube-tracking", - "comment": "Fix 'percentprogress' events not firing without 'play' and 'pause' in 'captureEvents'", - "type": "none" - } - ], - "packageName": "@snowplow/browser-plugin-youtube-tracking" -} \ No newline at end of file diff --git a/libraries/browser-tracker-core/CHANGELOG.json b/libraries/browser-tracker-core/CHANGELOG.json index 86dbdee7e..18f3fa270 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.10.1", + "tag": "@snowplow/browser-tracker-core_v3.10.1", + "date": "Fri, 12 May 2023 06:59:31 GMT", + "comments": {} + }, { "version": "3.10.0", "tag": "@snowplow/browser-tracker-core_v3.10.0", diff --git a/libraries/browser-tracker-core/CHANGELOG.md b/libraries/browser-tracker-core/CHANGELOG.md index 7e72d0e09..1d9105311 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, 11 May 2023 08:29:15 GMT and should not be manually modified. +This log was last generated on Fri, 12 May 2023 06:59:31 GMT and should not be manually modified. + +## 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 diff --git a/libraries/tracker-core/CHANGELOG.json b/libraries/tracker-core/CHANGELOG.json index dbac7117a..31881e0ca 100644 --- a/libraries/tracker-core/CHANGELOG.json +++ b/libraries/tracker-core/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/tracker-core", "entries": [ + { + "version": "3.10.1", + "tag": "@snowplow/tracker-core_v3.10.1", + "date": "Fri, 12 May 2023 06:59:31 GMT", + "comments": {} + }, { "version": "3.10.0", "tag": "@snowplow/tracker-core_v3.10.0", diff --git a/libraries/tracker-core/CHANGELOG.md b/libraries/tracker-core/CHANGELOG.md index da958622d..18a244ca5 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, 11 May 2023 08:29:15 GMT and should not be manually modified. +This log was last generated on Fri, 12 May 2023 06:59:31 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-ad-tracking/CHANGELOG.json b/plugins/browser-plugin-ad-tracking/CHANGELOG.json index 1832749df..df3c14d20 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.10.1", + "tag": "@snowplow/browser-plugin-ad-tracking_v3.10.1", + "date": "Fri, 12 May 2023 06:59:31 GMT", + "comments": {} + }, { "version": "3.10.0", "tag": "@snowplow/browser-plugin-ad-tracking_v3.10.0", diff --git a/plugins/browser-plugin-ad-tracking/CHANGELOG.md b/plugins/browser-plugin-ad-tracking/CHANGELOG.md index 761016fdc..fbed7d6b4 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, 11 May 2023 08:29:15 GMT and should not be manually modified. +This log was last generated on Fri, 12 May 2023 06:59:31 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-browser-features/CHANGELOG.json b/plugins/browser-plugin-browser-features/CHANGELOG.json index bcc218551..16426f3fa 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.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", diff --git a/plugins/browser-plugin-browser-features/CHANGELOG.md b/plugins/browser-plugin-browser-features/CHANGELOG.md index 062418294..332fb891b 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, 11 May 2023 08:29:15 GMT and should not be manually modified. +This log was last generated on Fri, 12 May 2023 06:59:31 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-client-hints/CHANGELOG.json b/plugins/browser-plugin-client-hints/CHANGELOG.json index 311e77779..9f0ee47a7 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.10.1", + "tag": "@snowplow/browser-plugin-client-hints_v3.10.1", + "date": "Fri, 12 May 2023 06:59:31 GMT", + "comments": {} + }, { "version": "3.10.0", "tag": "@snowplow/browser-plugin-client-hints_v3.10.0", diff --git a/plugins/browser-plugin-client-hints/CHANGELOG.md b/plugins/browser-plugin-client-hints/CHANGELOG.md index c6d295921..1f2da8a29 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, 11 May 2023 08:29:15 GMT and should not be manually modified. +This log was last generated on Fri, 12 May 2023 06:59:31 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-consent/CHANGELOG.json b/plugins/browser-plugin-consent/CHANGELOG.json index 48457bf40..d7dd3bcac 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.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", diff --git a/plugins/browser-plugin-consent/CHANGELOG.md b/plugins/browser-plugin-consent/CHANGELOG.md index 66d40b8c8..8464f97c1 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, 11 May 2023 08:29:15 GMT and should not be manually modified. +This log was last generated on Fri, 12 May 2023 06:59:31 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-debugger/CHANGELOG.json b/plugins/browser-plugin-debugger/CHANGELOG.json index 25231da66..0a7f0268a 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.10.1", + "tag": "@snowplow/browser-plugin-debugger_v3.10.1", + "date": "Fri, 12 May 2023 06:59:31 GMT", + "comments": {} + }, { "version": "3.10.0", "tag": "@snowplow/browser-plugin-debugger_v3.10.0", diff --git a/plugins/browser-plugin-debugger/CHANGELOG.md b/plugins/browser-plugin-debugger/CHANGELOG.md index bd7d0388a..9667560d7 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, 11 May 2023 08:29:15 GMT and should not be manually modified. +This log was last generated on Fri, 12 May 2023 06:59:31 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-ecommerce/CHANGELOG.json b/plugins/browser-plugin-ecommerce/CHANGELOG.json index b11b39f36..885d5d30b 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.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", diff --git a/plugins/browser-plugin-ecommerce/CHANGELOG.md b/plugins/browser-plugin-ecommerce/CHANGELOG.md index d2a3f977f..da835960d 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, 11 May 2023 08:29:15 GMT and should not be manually modified. +This log was last generated on Fri, 12 May 2023 06:59:31 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-enhanced-consent/CHANGELOG.json b/plugins/browser-plugin-enhanced-consent/CHANGELOG.json index dc7e958f3..6127af741 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.10.1", + "tag": "@snowplow/browser-plugin-enhanced-consent_v3.10.1", + "date": "Fri, 12 May 2023 06:59:31 GMT", + "comments": {} + }, { "version": "3.10.0", "tag": "@snowplow/browser-plugin-enhanced-consent_v3.10.0", diff --git a/plugins/browser-plugin-enhanced-consent/CHANGELOG.md b/plugins/browser-plugin-enhanced-consent/CHANGELOG.md index 088486366..5618f3a74 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, 11 May 2023 08:29:15 GMT and should not be manually modified. +This log was last generated on Fri, 12 May 2023 06:59:31 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.json b/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.json index a37689bc4..5f368ead7 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.10.1", + "tag": "@snowplow/browser-plugin-enhanced-ecommerce_v3.10.1", + "date": "Fri, 12 May 2023 06:59:31 GMT", + "comments": {} + }, { "version": "3.10.0", "tag": "@snowplow/browser-plugin-enhanced-ecommerce_v3.10.0", diff --git a/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.md b/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.md index 962d74d31..bf8e8bfe4 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, 11 May 2023 08:29:15 GMT and should not be manually modified. +This log was last generated on Fri, 12 May 2023 06:59:31 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-error-tracking/CHANGELOG.json b/plugins/browser-plugin-error-tracking/CHANGELOG.json index 5b269e013..a1a566026 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.10.1", + "tag": "@snowplow/browser-plugin-error-tracking_v3.10.1", + "date": "Fri, 12 May 2023 06:59:31 GMT", + "comments": {} + }, { "version": "3.10.0", "tag": "@snowplow/browser-plugin-error-tracking_v3.10.0", diff --git a/plugins/browser-plugin-error-tracking/CHANGELOG.md b/plugins/browser-plugin-error-tracking/CHANGELOG.md index a4a1a16f9..8310b010b 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, 11 May 2023 08:29:15 GMT and should not be manually modified. +This log was last generated on Fri, 12 May 2023 06:59:31 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-form-tracking/CHANGELOG.json b/plugins/browser-plugin-form-tracking/CHANGELOG.json index 6448affbf..633580742 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.10.1", + "tag": "@snowplow/browser-plugin-form-tracking_v3.10.1", + "date": "Fri, 12 May 2023 06:59:31 GMT", + "comments": {} + }, { "version": "3.10.0", "tag": "@snowplow/browser-plugin-form-tracking_v3.10.0", diff --git a/plugins/browser-plugin-form-tracking/CHANGELOG.md b/plugins/browser-plugin-form-tracking/CHANGELOG.md index 994e31e07..8462b3b3a 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, 11 May 2023 08:29:15 GMT and should not be manually modified. +This log was last generated on Fri, 12 May 2023 06:59:31 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-ga-cookies/CHANGELOG.json b/plugins/browser-plugin-ga-cookies/CHANGELOG.json index d77159a05..2f40d1c1e 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.10.1", + "tag": "@snowplow/browser-plugin-ga-cookies_v3.10.1", + "date": "Fri, 12 May 2023 06:59:31 GMT", + "comments": {} + }, { "version": "3.10.0", "tag": "@snowplow/browser-plugin-ga-cookies_v3.10.0", diff --git a/plugins/browser-plugin-ga-cookies/CHANGELOG.md b/plugins/browser-plugin-ga-cookies/CHANGELOG.md index 3f18a4fab..dde061b05 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, 11 May 2023 08:29:15 GMT and should not be manually modified. +This log was last generated on Fri, 12 May 2023 06:59:31 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-geolocation/CHANGELOG.json b/plugins/browser-plugin-geolocation/CHANGELOG.json index f24f39219..67ef57987 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.10.1", + "tag": "@snowplow/browser-plugin-geolocation_v3.10.1", + "date": "Fri, 12 May 2023 06:59:31 GMT", + "comments": {} + }, { "version": "3.10.0", "tag": "@snowplow/browser-plugin-geolocation_v3.10.0", diff --git a/plugins/browser-plugin-geolocation/CHANGELOG.md b/plugins/browser-plugin-geolocation/CHANGELOG.md index 9932edbe8..f5bd88918 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, 11 May 2023 08:29:15 GMT and should not be manually modified. +This log was last generated on Fri, 12 May 2023 06:59:31 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-link-click-tracking/CHANGELOG.json b/plugins/browser-plugin-link-click-tracking/CHANGELOG.json index 54bd65e87..a1f96e2ab 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.10.1", + "tag": "@snowplow/browser-plugin-link-click-tracking_v3.10.1", + "date": "Fri, 12 May 2023 06:59:31 GMT", + "comments": {} + }, { "version": "3.10.0", "tag": "@snowplow/browser-plugin-link-click-tracking_v3.10.0", diff --git a/plugins/browser-plugin-link-click-tracking/CHANGELOG.md b/plugins/browser-plugin-link-click-tracking/CHANGELOG.md index adfd98eab..fa1ed8981 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, 11 May 2023 08:29:15 GMT and should not be manually modified. +This log was last generated on Fri, 12 May 2023 06:59:31 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-media-tracking/CHANGELOG.json b/plugins/browser-plugin-media-tracking/CHANGELOG.json index 8194aeadf..5770bc0f2 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.10.1", + "tag": "@snowplow/browser-plugin-media-tracking_v3.10.1", + "date": "Fri, 12 May 2023 06:59:31 GMT", + "comments": {} + }, { "version": "3.10.0", "tag": "@snowplow/browser-plugin-media-tracking_v3.10.0", diff --git a/plugins/browser-plugin-media-tracking/CHANGELOG.md b/plugins/browser-plugin-media-tracking/CHANGELOG.md index 505055b50..49fb5ba48 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, 11 May 2023 08:29:15 GMT and should not be manually modified. +This log was last generated on Fri, 12 May 2023 06:59:31 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-optimizely-x/CHANGELOG.json b/plugins/browser-plugin-optimizely-x/CHANGELOG.json index db96095d9..553ff97e6 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.10.1", + "tag": "@snowplow/browser-plugin-optimizely-x_v3.10.1", + "date": "Fri, 12 May 2023 06:59:31 GMT", + "comments": {} + }, { "version": "3.10.0", "tag": "@snowplow/browser-plugin-optimizely-x_v3.10.0", diff --git a/plugins/browser-plugin-optimizely-x/CHANGELOG.md b/plugins/browser-plugin-optimizely-x/CHANGELOG.md index 4089d525e..5b4489961 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, 11 May 2023 08:29:15 GMT and should not be manually modified. +This log was last generated on Fri, 12 May 2023 06:59:31 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-optimizely/CHANGELOG.json b/plugins/browser-plugin-optimizely/CHANGELOG.json index 2e98b2553..2558e8b61 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.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", diff --git a/plugins/browser-plugin-optimizely/CHANGELOG.md b/plugins/browser-plugin-optimizely/CHANGELOG.md index 3079ea5ac..340cebd19 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, 11 May 2023 08:29:15 GMT and should not be manually modified. +This log was last generated on Fri, 12 May 2023 06:59:31 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.json b/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.json index 37bf59fa5..b3ebdc2f8 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.10.1", + "tag": "@snowplow/browser-plugin-performance-navigation-timing_v3.10.1", + "date": "Fri, 12 May 2023 06:59:31 GMT", + "comments": {} + }, { "version": "3.10.0", "tag": "@snowplow/browser-plugin-performance-navigation-timing_v3.10.0", diff --git a/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.md b/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.md index b7553d45e..b67b2d247 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, 11 May 2023 08:29:15 GMT and should not be manually modified. +This log was last generated on Fri, 12 May 2023 06:59:31 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-performance-timing/CHANGELOG.json b/plugins/browser-plugin-performance-timing/CHANGELOG.json index 9a7978bc6..c7ff7e94c 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.10.1", + "tag": "@snowplow/browser-plugin-performance-timing_v3.10.1", + "date": "Fri, 12 May 2023 06:59:31 GMT", + "comments": {} + }, { "version": "3.10.0", "tag": "@snowplow/browser-plugin-performance-timing_v3.10.0", diff --git a/plugins/browser-plugin-performance-timing/CHANGELOG.md b/plugins/browser-plugin-performance-timing/CHANGELOG.md index fe01cc245..1e3f1607f 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, 11 May 2023 08:29:15 GMT and should not be manually modified. +This log was last generated on Fri, 12 May 2023 06:59:31 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-site-tracking/CHANGELOG.json b/plugins/browser-plugin-site-tracking/CHANGELOG.json index db46e8368..be0b635f2 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.10.1", + "tag": "@snowplow/browser-plugin-site-tracking_v3.10.1", + "date": "Fri, 12 May 2023 06:59:31 GMT", + "comments": {} + }, { "version": "3.10.0", "tag": "@snowplow/browser-plugin-site-tracking_v3.10.0", diff --git a/plugins/browser-plugin-site-tracking/CHANGELOG.md b/plugins/browser-plugin-site-tracking/CHANGELOG.md index af7cd118c..871340546 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, 11 May 2023 08:29:15 GMT and should not be manually modified. +This log was last generated on Fri, 12 May 2023 06:59:31 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.json b/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.json index 4733c183e..b01031cc2 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.10.1", + "tag": "@snowplow/browser-plugin-snowplow-ecommerce_v3.10.1", + "date": "Fri, 12 May 2023 06:59:31 GMT", + "comments": {} + }, { "version": "3.10.0", "tag": "@snowplow/browser-plugin-snowplow-ecommerce_v3.10.0", diff --git a/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.md b/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.md index 119f81220..3019bcb93 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, 11 May 2023 08:29:15 GMT and should not be manually modified. +This log was last generated on Fri, 12 May 2023 06:59:31 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-timezone/CHANGELOG.json b/plugins/browser-plugin-timezone/CHANGELOG.json index e5eeb4cfe..cde310460 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.10.1", + "tag": "@snowplow/browser-plugin-timezone_v3.10.1", + "date": "Fri, 12 May 2023 06:59:31 GMT", + "comments": {} + }, { "version": "3.10.0", "tag": "@snowplow/browser-plugin-timezone_v3.10.0", diff --git a/plugins/browser-plugin-timezone/CHANGELOG.md b/plugins/browser-plugin-timezone/CHANGELOG.md index ef4247572..0acb88ee4 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, 11 May 2023 08:29:15 GMT and should not be manually modified. +This log was last generated on Fri, 12 May 2023 06:59:31 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-youtube-tracking/CHANGELOG.json b/plugins/browser-plugin-youtube-tracking/CHANGELOG.json index 17d89e6eb..4aa0ec3af 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.10.1", + "tag": "@snowplow/browser-plugin-youtube-tracking_v3.10.1", + "date": "Fri, 12 May 2023 06:59:31 GMT", + "comments": { + "none": [ + { + "comment": "Fix 'percentprogress' events not firing without 'play' and 'pause' in 'captureEvents'" + } + ] + } + }, { "version": "3.10.0", "tag": "@snowplow/browser-plugin-youtube-tracking_v3.10.0", diff --git a/plugins/browser-plugin-youtube-tracking/CHANGELOG.md b/plugins/browser-plugin-youtube-tracking/CHANGELOG.md index 14f73fe2f..0aee60fb4 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 Thu, 11 May 2023 08:29:15 GMT and should not be manually modified. +This log was last generated on Fri, 12 May 2023 06:59:31 GMT and should not be manually modified. + +## 3.10.1 +Fri, 12 May 2023 06:59:31 GMT + +### Updates + +- Fix 'percentprogress' events not firing without 'play' and 'pause' in 'captureEvents' ## 3.10.0 Thu, 11 May 2023 08:29:15 GMT diff --git a/trackers/browser-tracker/CHANGELOG.json b/trackers/browser-tracker/CHANGELOG.json index d66653136..aebfc4cd4 100644 --- a/trackers/browser-tracker/CHANGELOG.json +++ b/trackers/browser-tracker/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-tracker", "entries": [ + { + "version": "3.10.1", + "tag": "@snowplow/browser-tracker_v3.10.1", + "date": "Fri, 12 May 2023 06:59:31 GMT", + "comments": {} + }, { "version": "3.10.0", "tag": "@snowplow/browser-tracker_v3.10.0", diff --git a/trackers/browser-tracker/CHANGELOG.md b/trackers/browser-tracker/CHANGELOG.md index 1906af909..3ea96ae4c 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, 11 May 2023 08:29:15 GMT and should not be manually modified. +This log was last generated on Fri, 12 May 2023 06:59:31 GMT and should not be manually modified. + +## 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 diff --git a/trackers/javascript-tracker/CHANGELOG.json b/trackers/javascript-tracker/CHANGELOG.json index 96f473a36..9c8319418 100644 --- a/trackers/javascript-tracker/CHANGELOG.json +++ b/trackers/javascript-tracker/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/javascript-tracker", "entries": [ + { + "version": "3.10.1", + "tag": "@snowplow/javascript-tracker_v3.10.1", + "date": "Fri, 12 May 2023 06:59:31 GMT", + "comments": {} + }, { "version": "3.10.0", "tag": "@snowplow/javascript-tracker_v3.10.0", diff --git a/trackers/javascript-tracker/CHANGELOG.md b/trackers/javascript-tracker/CHANGELOG.md index e84c51fea..93137d2a1 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, 11 May 2023 08:29:15 GMT and should not be manually modified. +This log was last generated on Fri, 12 May 2023 06:59:31 GMT and should not be manually modified. + +## 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 diff --git a/trackers/node-tracker/CHANGELOG.json b/trackers/node-tracker/CHANGELOG.json index 9992f77f3..92320bcd2 100644 --- a/trackers/node-tracker/CHANGELOG.json +++ b/trackers/node-tracker/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/node-tracker", "entries": [ + { + "version": "3.10.1", + "tag": "@snowplow/node-tracker_v3.10.1", + "date": "Fri, 12 May 2023 06:59:31 GMT", + "comments": {} + }, { "version": "3.10.0", "tag": "@snowplow/node-tracker_v3.10.0", diff --git a/trackers/node-tracker/CHANGELOG.md b/trackers/node-tracker/CHANGELOG.md index 16f3c585c..b765588b2 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, 11 May 2023 08:29:15 GMT and should not be manually modified. +This log was last generated on Fri, 12 May 2023 06:59:31 GMT and should not be manually modified. + +## 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 From a919bde329f17de458b1d307b7decd5831fad067 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 12 May 2023 06:59:31 +0000 Subject: [PATCH 085/449] 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-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-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-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-site-tracking/package.json | 4 ++-- plugins/browser-plugin-snowplow-ecommerce/package.json | 4 ++-- plugins/browser-plugin-timezone/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 +- 28 files changed, 50 insertions(+), 50 deletions(-) diff --git a/common/config/rush/version-policies.json b/common/config/rush/version-policies.json index 2cac8424d..a99d5e1f1 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.10.0", + "version": "3.10.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 f5286af92..91e9dbea4 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.10.0", + "version": "3.10.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 7d3676394..4be238396 100644 --- a/libraries/tracker-core/package.json +++ b/libraries/tracker-core/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/tracker-core", - "version": "3.10.0", + "version": "3.10.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 7d3d13588..4b18d88e0 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.10.0", + "version": "3.10.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.10.0" + "@snowplow/browser-tracker": "~3.10.1" } } diff --git a/plugins/browser-plugin-browser-features/package.json b/plugins/browser-plugin-browser-features/package.json index 3dfba2935..7abeb52e8 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.10.0", + "version": "3.10.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.10.0" + "@snowplow/browser-tracker": "~3.10.1" } } diff --git a/plugins/browser-plugin-client-hints/package.json b/plugins/browser-plugin-client-hints/package.json index b2f52f2ec..931dc6653 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.10.0", + "version": "3.10.1", "description": "Attaches Client Hints to Snowplow events", "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.10.0" + "@snowplow/browser-tracker": "~3.10.1" } } diff --git a/plugins/browser-plugin-consent/package.json b/plugins/browser-plugin-consent/package.json index 78b0e5989..011f7408c 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.10.0", + "version": "3.10.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.10.0" + "@snowplow/browser-tracker": "~3.10.1" } } diff --git a/plugins/browser-plugin-debugger/package.json b/plugins/browser-plugin-debugger/package.json index 69a00eef9..76537b284 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.10.0", + "version": "3.10.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.10.0" + "@snowplow/browser-tracker": "~3.10.1" } } diff --git a/plugins/browser-plugin-ecommerce/package.json b/plugins/browser-plugin-ecommerce/package.json index 0681a0919..359ff0d7f 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.10.0", + "version": "3.10.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.10.0" + "@snowplow/browser-tracker": "~3.10.1" } } diff --git a/plugins/browser-plugin-enhanced-consent/package.json b/plugins/browser-plugin-enhanced-consent/package.json index 02a5f89cf..c6bf3e446 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.10.0", + "version": "3.10.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.10.0" + "@snowplow/browser-tracker": "~3.10.1" } } diff --git a/plugins/browser-plugin-enhanced-ecommerce/package.json b/plugins/browser-plugin-enhanced-ecommerce/package.json index eb7c82c1f..06c64de89 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.10.0", + "version": "3.10.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.10.0" + "@snowplow/browser-tracker": "~3.10.1" } } diff --git a/plugins/browser-plugin-error-tracking/package.json b/plugins/browser-plugin-error-tracking/package.json index 7aa0eff94..c5cb89184 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.10.0", + "version": "3.10.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.10.0" + "@snowplow/browser-tracker": "~3.10.1" } } diff --git a/plugins/browser-plugin-form-tracking/package.json b/plugins/browser-plugin-form-tracking/package.json index 0da3f3fda..30bb02bac 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.10.0", + "version": "3.10.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.10.0" + "@snowplow/browser-tracker": "~3.10.1" } } diff --git a/plugins/browser-plugin-ga-cookies/package.json b/plugins/browser-plugin-ga-cookies/package.json index f14f87a54..f401e33ea 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.10.0", + "version": "3.10.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.10.0" + "@snowplow/browser-tracker": "~3.10.1" } } diff --git a/plugins/browser-plugin-geolocation/package.json b/plugins/browser-plugin-geolocation/package.json index d7c5807d2..7e0bc4752 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.10.0", + "version": "3.10.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.10.0" + "@snowplow/browser-tracker": "~3.10.1" } } diff --git a/plugins/browser-plugin-link-click-tracking/package.json b/plugins/browser-plugin-link-click-tracking/package.json index 4c62af8fc..622f4f593 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.10.0", + "version": "3.10.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.10.0" + "@snowplow/browser-tracker": "~3.10.1" } } diff --git a/plugins/browser-plugin-media-tracking/package.json b/plugins/browser-plugin-media-tracking/package.json index 540a2e8c6..2a9673799 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.10.0", + "version": "3.10.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.10.0" + "@snowplow/browser-tracker": "~3.10.1" } } diff --git a/plugins/browser-plugin-optimizely-x/package.json b/plugins/browser-plugin-optimizely-x/package.json index 448a823bf..0be914a09 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.10.0", + "version": "3.10.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.10.0" + "@snowplow/browser-tracker": "~3.10.1" } } diff --git a/plugins/browser-plugin-optimizely/package.json b/plugins/browser-plugin-optimizely/package.json index 814e31d8e..253f35a09 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.10.0", + "version": "3.10.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.10.0" + "@snowplow/browser-tracker": "~3.10.1" } } diff --git a/plugins/browser-plugin-performance-navigation-timing/package.json b/plugins/browser-plugin-performance-navigation-timing/package.json index e0817f7d8..d6b018294 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.10.0", + "version": "3.10.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.10.0" + "@snowplow/browser-tracker": "~3.10.1" } } diff --git a/plugins/browser-plugin-performance-timing/package.json b/plugins/browser-plugin-performance-timing/package.json index 124c44d5d..36de591db 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.10.0", + "version": "3.10.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.10.0" + "@snowplow/browser-tracker": "~3.10.1" } } diff --git a/plugins/browser-plugin-site-tracking/package.json b/plugins/browser-plugin-site-tracking/package.json index 1ddacbd81..8962cf4fb 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.10.0", + "version": "3.10.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.10.0" + "@snowplow/browser-tracker": "~3.10.1" } } diff --git a/plugins/browser-plugin-snowplow-ecommerce/package.json b/plugins/browser-plugin-snowplow-ecommerce/package.json index 6898e802b..dbd99791e 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.10.0", + "version": "3.10.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.10.0" + "@snowplow/browser-tracker": "~3.10.1" } } diff --git a/plugins/browser-plugin-timezone/package.json b/plugins/browser-plugin-timezone/package.json index cc0ec7597..2ce0d9f6f 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.10.0", + "version": "3.10.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.10.0" + "@snowplow/browser-tracker": "~3.10.1" } } diff --git a/plugins/browser-plugin-youtube-tracking/package.json b/plugins/browser-plugin-youtube-tracking/package.json index 55922d4fd..3dcda3921 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.10.0", + "version": "3.10.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.10.0" + "@snowplow/browser-tracker": "~3.10.1" } } diff --git a/trackers/browser-tracker/package.json b/trackers/browser-tracker/package.json index 951c960fe..1a39fc699 100644 --- a/trackers/browser-tracker/package.json +++ b/trackers/browser-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-tracker", - "version": "3.10.0", + "version": "3.10.1", "description": "Browser tracker for Snowplow", "keywords": [ "tracking", diff --git a/trackers/javascript-tracker/package.json b/trackers/javascript-tracker/package.json index c0232ca6c..5256f375d 100644 --- a/trackers/javascript-tracker/package.json +++ b/trackers/javascript-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/javascript-tracker", - "version": "3.10.0", + "version": "3.10.1", "description": "Web analytics for Snowplow", "keywords": [ "tracking", diff --git a/trackers/node-tracker/package.json b/trackers/node-tracker/package.json index 8b093885f..5fd9fea8c 100644 --- a/trackers/node-tracker/package.json +++ b/trackers/node-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/node-tracker", - "version": "3.10.0", + "version": "3.10.1", "description": "Node tracker for Snowplow", "keywords": [ "snowplow", From 8fa9bc58280860e5d59dedffc1bb130ca74af28c Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 12 May 2023 07:03:33 +0000 Subject: [PATCH 086/449] Applying documentation updates. From dfc00fc2e0bdf8e7fbc830cb1185a7fea9bdf7ae Mon Sep 17 00:00:00 2001 From: Peter Perlepes Date: Thu, 18 May 2023 18:37:20 +0300 Subject: [PATCH 087/449] Prepare for release 3.11.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 a99d5e1f1..fb7723faf 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 46eadca2b75238793345c9211e61a313790a7c97 Mon Sep 17 00:00:00 2001 From: Peter Perlepes Date: Fri, 19 May 2023 10:33:07 +0300 Subject: [PATCH 088/449] Add gitleaks pre-commit hook close #1193 --- .gitignore | 5 ++++- README.md | 10 ++++++++++ common/git-hooks/pre-commit | 17 ++++++++++++++++- 3 files changed, 30 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 14b6ea77e..cd06b3379 100644 --- a/.gitignore +++ b/.gitignore @@ -77,4 +77,7 @@ trackers/javascript-tracker/test/local/serve/ # IDE files .idea/ -.DS_Store \ No newline at end of file +.DS_Store + +# gitleaks file +findings.json \ No newline at end of file diff --git a/README.md b/README.md index 36dae14f3..e63024c0d 100644 --- a/README.md +++ b/README.md @@ -59,6 +59,16 @@ Assuming [git](https://git-scm.com/downloads), [Node.js 14 or 16](https://nodejs git clone https://github.com/snowplow/snowplow-javascript-tracker.git ``` +#### Install gitleaks + +To commit with safety in the repository, preventing sensitive key leakage, we use [gitleaks](https://github.com/gitleaks/gitleaks). Gitleaks runs as a pre-commit hook making sure it can prevent accidental committing of sensitive data. + +To install gitleaks, you can follow the [getting started](https://github.com/gitleaks/gitleaks) section on the repository. + +_For open source users before the update, you might need to re-run `rush install` to update your git hooks from source._ + +:warning: To disable gitleaks check, you can run your commit command with the `SKIP=gitleaks` variable. e.g. `SKIP=gitleaks git commit -m "Unsafe commit"`. + #### Building ```bash diff --git a/common/git-hooks/pre-commit b/common/git-hooks/pre-commit index 2438e23d2..57df62b1a 100644 --- a/common/git-hooks/pre-commit +++ b/common/git-hooks/pre-commit @@ -6,4 +6,19 @@ # Invoke the "rush prettier" custom command to reformat files whenever they # are committed. The command is defined in common/config/rush/command-line.json # and uses the "rush-prettier" autoinstaller. -node common/scripts/install-run-rush.js prettier || exit $? \ No newline at end of file +node common/scripts/install-run-rush.js prettier || exit $? + +ERROR_COLOR='\033[0;31m' +WARNING_COLOR='\033[0;33m' +STOP_COLOR='\033[0m' + +if ! command -v gitleaks &> /dev/null +then + echo "${ERROR_COLOR}\nGitleaks not found. To commit you safely, you need to install it per the instructions at https://github.com/gitleaks/gitleaks.${STOP_COLOR}" + exit 1 +elif [ "$SKIP" == "gitleaks" ] +then + echo "${WARNING_COLOR}\nGitleaks skipped for this commit.${STOP_COLOR}" +else + gitleaks protect -v --staged --report-path ./findings.json +fi \ No newline at end of file From afa9d7c259ea5e03b4a0936e9b3fe987325eea61 Mon Sep 17 00:00:00 2001 From: Peter Perlepes Date: Mon, 22 May 2023 16:36:20 +0300 Subject: [PATCH 089/449] Add onSessionUpdate callback configuration option close #1191 --- ...ssionUpdate-callback_2023-05-17-13-51.json | 10 +++ ...ssionUpdate-callback_2023-05-17-13-58.json | 10 +++ .../src/tracker/id_cookie.ts | 70 +++++---------- .../browser-tracker-core/src/tracker/index.ts | 37 ++++++-- .../browser-tracker-core/src/tracker/types.ts | 50 +++++++++++ .../test/id_cookie.test.ts | 87 +++++++++++++++++-- .../docs/browser-tracker.api.md | 13 +++ trackers/browser-tracker/src/index.ts | 11 ++- 8 files changed, 226 insertions(+), 62 deletions(-) create mode 100644 common/changes/@snowplow/browser-tracker-core/feature-1191-add-onSessionUpdate-callback_2023-05-17-13-51.json create mode 100644 common/changes/@snowplow/browser-tracker/feature-1191-add-onSessionUpdate-callback_2023-05-17-13-58.json diff --git a/common/changes/@snowplow/browser-tracker-core/feature-1191-add-onSessionUpdate-callback_2023-05-17-13-51.json b/common/changes/@snowplow/browser-tracker-core/feature-1191-add-onSessionUpdate-callback_2023-05-17-13-51.json new file mode 100644 index 000000000..096e72732 --- /dev/null +++ b/common/changes/@snowplow/browser-tracker-core/feature-1191-add-onSessionUpdate-callback_2023-05-17-13-51.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-tracker-core", + "comment": "Add onSessionUpdate callback configuration option", + "type": "none" + } + ], + "packageName": "@snowplow/browser-tracker-core" +} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-tracker/feature-1191-add-onSessionUpdate-callback_2023-05-17-13-58.json b/common/changes/@snowplow/browser-tracker/feature-1191-add-onSessionUpdate-callback_2023-05-17-13-58.json new file mode 100644 index 000000000..cd288885e --- /dev/null +++ b/common/changes/@snowplow/browser-tracker/feature-1191-add-onSessionUpdate-callback_2023-05-17-13-58.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-tracker", + "comment": "Add onSessionUpdate callback configuration option", + "type": "none" + } + ], + "packageName": "@snowplow/browser-tracker" +} \ No newline at end of file diff --git a/libraries/browser-tracker-core/src/tracker/id_cookie.ts b/libraries/browser-tracker-core/src/tracker/id_cookie.ts index c350f8f5d..ab9f1b5c9 100644 --- a/libraries/browser-tracker-core/src/tracker/id_cookie.ts +++ b/libraries/browser-tracker-core/src/tracker/id_cookie.ts @@ -30,6 +30,7 @@ import { PayloadBuilder } from '@snowplow/tracker-core'; import { v4 as uuid } from 'uuid'; +import { ClientSession } from './types'; /** * Indices of cookie values @@ -60,51 +61,6 @@ export type ParsedIdCookie = [ number // eventIndex ]; -/** - * Schema for client client session context entity - */ -export interface ClientSession extends Record { - /** - * An identifier for the user of the session (same as domain_userid) - */ - userId: string; - - /** - * An identifier for the session (same as domain_sessionid) - */ - sessionId: string; - - /** - * The index of the current session for this user (same as domain_sessionidx) - */ - sessionIndex: number; - - /** - * Index of the current event in the session - */ - eventIndex: number; - - /** - * The previous session identifier for this user - */ - previousSessionId: string | null; - - /** - * The mechanism that the session information has been stored on the device - */ - storageMechanism: string; - - /** - * Identifier of the first event for this session - */ - firstEventId: string | null; - - /** - * Date-time timestamp of when the first event in the session was tracked - */ - firstEventTimestamp: string | null; -} - export function emptyIdCookie() { const idCookie: ParsedIdCookie = ['1', '', 0, 0, 0, undefined, '', '', '', undefined, 0]; return idCookie; @@ -214,16 +170,31 @@ export function initializeDomainUserId(idCookie: ParsedIdCookie, configAnonymous return domainUserId; } +type NewSessionOptions = { + memorizedVisitCount?: number; + onSessionUpdateCallback?: (sessionState: ClientSession) => void; + configStateStorageStrategy: string; + configAnonymousTracking: boolean; +}; + /** * Starts a new session with a new ID. * Sets the previous session, last visit timestamp, and increments visit count if cookies enabled. * First event references are reset and will be updated in `updateFirstEventInIdCookie`. * * @param idCookie Parsed cookie - * @param memorizedVisitCount Visit count to be used if cookies not enabled + * @param options.configStateStorageStrategy Cookie storage strategy + * @param options.configAnonymousTracking If anonymous tracking is enabled + * @param options.memorizedVisitCount Visit count to be used if cookies not enabled + * @param options.onSessionUpdateCallback Session callback triggered on every session update * @returns New session ID */ -export function startNewIdCookieSession(idCookie: ParsedIdCookie, memorizedVisitCount: number = 1) { +export function startNewIdCookieSession(idCookie: ParsedIdCookie, options: NewSessionOptions) { + const { memorizedVisitCount, configStateStorageStrategy, configAnonymousTracking, onSessionUpdateCallback } = { + memorizedVisitCount: 1, + ...options, + }; + // If cookies are enabled, base visit count and session ID on the cookies if (cookiesEnabledInIdCookie(idCookie)) { // Store the previous session ID @@ -245,6 +216,10 @@ export function startNewIdCookieSession(idCookie: ParsedIdCookie, memorizedVisit idCookie[firstEventIdIndex] = ''; idCookie[firstEventTsInMsIndex] = undefined; + if (onSessionUpdateCallback) { + onSessionUpdateCallback(clientSessionFromIdCookie(idCookie, configStateStorageStrategy, configAnonymousTracking)); + } + return sessionId; } @@ -298,6 +273,7 @@ export function serializeIdCookie(idCookie: ParsedIdCookie) { * * @param idCookie Parsed cookie * @param configStateStorageStrategy Cookie storage strategy + * @param configAnonymousTracking If anonymous tracking is enabled * @returns Client session context entity */ export function clientSessionFromIdCookie( diff --git a/libraries/browser-tracker-core/src/tracker/index.ts b/libraries/browser-tracker-core/src/tracker/index.ts index 8669b9375..302dcb58e 100755 --- a/libraries/browser-tracker-core/src/tracker/index.ts +++ b/libraries/browser-tracker-core/src/tracker/index.ts @@ -74,6 +74,7 @@ import { FlushBufferConfiguration, BrowserPluginConfiguration, ClearUserDataConfiguration, + ClientSession, } from './types'; import { parseIdCookie, @@ -87,7 +88,6 @@ import { visitCountFromIdCookie, cookiesEnabledInIdCookie, ParsedIdCookie, - ClientSession, clientSessionFromIdCookie, incrementEventIndexInIdCookie, emptyIdCookie, @@ -314,7 +314,8 @@ export function Tracker( configurations: {}, }, configSessionContext = trackerConfiguration.contexts?.session ?? false, - toOptoutByCookie: string | boolean; + toOptoutByCookie: string | boolean, + onSessionUpdateCallback = trackerConfiguration.onSessionUpdateCallback; if (trackerConfiguration.hasOwnProperty('discoverRootDomain') && trackerConfiguration.discoverRootDomain) { configCookieDomain = findRootDomain(configCookieSameSite, configCookieSecure); @@ -657,7 +658,11 @@ export function Tracker( domainUserId = initializeDomainUserId(idCookie, configAnonymousTracking); if (!sesCookieSet) { - memorizedSessionId = startNewIdCookieSession(idCookie); + memorizedSessionId = startNewIdCookieSession(idCookie, { + configStateStorageStrategy, + configAnonymousTracking, + onSessionUpdateCallback, + }); } else { memorizedSessionId = sessionIdFromIdCookie(idCookie); } @@ -800,7 +805,11 @@ export function Tracker( if (cookiesEnabledInIdCookie(idCookie)) { // New session? if (!ses && configStateStorageStrategy != 'none') { - memorizedSessionId = startNewIdCookieSession(idCookie); + memorizedSessionId = startNewIdCookieSession(idCookie, { + configStateStorageStrategy, + configAnonymousTracking, + onSessionUpdateCallback, + }); } else { memorizedSessionId = sessionIdFromIdCookie(idCookie); } @@ -808,7 +817,12 @@ export function Tracker( memorizedVisitCount = visitCountFromIdCookie(idCookie); } else if (new Date().getTime() - lastEventTime > configSessionCookieTimeout * 1000) { memorizedVisitCount++; - memorizedSessionId = startNewIdCookieSession(idCookie, memorizedVisitCount); + memorizedSessionId = startNewIdCookieSession(idCookie, { + configStateStorageStrategy, + configAnonymousTracking, + memorizedVisitCount, + onSessionUpdateCallback, + }); } // Update cookie @@ -869,7 +883,11 @@ export function Tracker( if (cookiesEnabledInIdCookie(idCookie)) { // When cookie/local storage is enabled - make a new session if (configStateStorageStrategy != 'none') { - memorizedSessionId = startNewIdCookieSession(idCookie); + memorizedSessionId = startNewIdCookieSession(idCookie, { + configStateStorageStrategy, + configAnonymousTracking, + onSessionUpdateCallback, + }); } else { memorizedSessionId = sessionIdFromIdCookie(idCookie); } @@ -880,7 +898,12 @@ export function Tracker( setSessionCookie(); } else { memorizedVisitCount++; - memorizedSessionId = startNewIdCookieSession(idCookie, memorizedVisitCount); + memorizedSessionId = startNewIdCookieSession(idCookie, { + configStateStorageStrategy, + configAnonymousTracking, + memorizedVisitCount, + onSessionUpdateCallback, + }); } updateNowTsInIdCookie(idCookie); diff --git a/libraries/browser-tracker-core/src/tracker/types.ts b/libraries/browser-tracker-core/src/tracker/types.ts index 45751c533..b45f5f8fe 100755 --- a/libraries/browser-tracker-core/src/tracker/types.ts +++ b/libraries/browser-tracker-core/src/tracker/types.ts @@ -237,6 +237,11 @@ export type TrackerConfiguration = { * 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; }; /** @@ -581,3 +586,48 @@ export interface BrowserTracker { */ addPlugin: (configuration: BrowserPluginConfiguration) => void; } + +/** + * Schema for client client session context entity + */ +export interface ClientSession extends Record { + /** + * An identifier for the user of the session (same as domain_userid) + */ + userId: string; + + /** + * An identifier for the session (same as domain_sessionid) + */ + sessionId: string; + + /** + * The index of the current session for this user (same as domain_sessionidx) + */ + sessionIndex: number; + + /** + * Index of the current event in the session + */ + eventIndex: number; + + /** + * The previous session identifier for this user + */ + previousSessionId: string | null; + + /** + * The mechanism that the session information has been stored on the device + */ + storageMechanism: string; + + /** + * Identifier of the first event for this session + */ + firstEventId: string | null; + + /** + * Date-time timestamp of when the first event in the session was tracked + */ + firstEventTimestamp: string | null; +} diff --git a/libraries/browser-tracker-core/test/id_cookie.test.ts b/libraries/browser-tracker-core/test/id_cookie.test.ts index aadbea178..dcd7d55c8 100644 --- a/libraries/browser-tracker-core/test/id_cookie.test.ts +++ b/libraries/browser-tracker-core/test/id_cookie.test.ts @@ -28,6 +28,12 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +import * as uuid from 'uuid'; +jest.mock('uuid'); +const MOCK_UUID = '123456789'; +jest.spyOn(uuid, 'v4').mockReturnValue(MOCK_UUID); +const ANONYMOUS_USER_ID = '00000000-0000-0000-0000-000000000000'; + import { payloadBuilder } from '@snowplow/tracker-core'; import { clientSessionFromIdCookie, @@ -132,9 +138,13 @@ describe('initializeDomainUserId', () => { }); describe('startNewIdCookieSession', () => { + const defaultNewSessionOptions = { + configStateStorageStrategy: '', + configAnonymousTracking: false, + }; it('Resets the first event references and event index', () => { let idCookie = parseIdCookie('def.1653632272.10.1653632282.1653632262.ses.previous.fid.1653632252.9', '', '', 0); - startNewIdCookieSession(idCookie); + startNewIdCookieSession(idCookie, defaultNewSessionOptions); expect(firstEventIdFromIdCookie(idCookie)).toBeFalsy(); expect(firstEventTsInMsFromIdCookie(idCookie)).toBeUndefined(); @@ -145,20 +155,20 @@ describe('startNewIdCookieSession', () => { let idCookie = parseIdCookie('def.1653632272.10.1653632282.1653632262', '', '', 0); expect(visitCountFromIdCookie(idCookie)).toBe(10); - startNewIdCookieSession(idCookie); + startNewIdCookieSession(idCookie, defaultNewSessionOptions); expect(visitCountFromIdCookie(idCookie)).toBe(11); }); it('Uses the passed visit count in case of disabled cookies', () => { let idCookie = parseIdCookie('', '', '', 0); - startNewIdCookieSession(idCookie, 100); + startNewIdCookieSession(idCookie, { ...defaultNewSessionOptions, memorizedVisitCount: 100 }); expect(visitCountFromIdCookie(idCookie)).toBe(100); }); it("Doesn't set the last visit timestamp if disabled cookies and keeps now timestamp", () => { let idCookie = parseIdCookie('', '', '', 0); let nowTs = nowTsFromIdCookie(idCookie); - startNewIdCookieSession(idCookie); + startNewIdCookieSession(idCookie, defaultNewSessionOptions); expect(lastVisitTsFromIdCookie(idCookie)).toBeUndefined(); expect(nowTsFromIdCookie(idCookie)).toBe(nowTs); }); @@ -167,7 +177,9 @@ describe('startNewIdCookieSession', () => { let idCookie = parseIdCookie('def.1653632272.10.1653632282.1653632262', '', '', 0); let before = sessionIdFromIdCookie(idCookie); - startNewIdCookieSession(idCookie); + + jest.spyOn(uuid, 'v4').mockReturnValueOnce('another_random_uuid'); + startNewIdCookieSession(idCookie, defaultNewSessionOptions); let after = sessionIdFromIdCookie(idCookie); expect(before).not.toBe(after); @@ -176,16 +188,77 @@ describe('startNewIdCookieSession', () => { it('Moves current visit to last visit timestamp', () => { let idCookie = parseIdCookie(`def.1653632100.10.1653632200.1653632300`, '', '', 0); - startNewIdCookieSession(idCookie); + startNewIdCookieSession(idCookie, defaultNewSessionOptions); expect(lastVisitTsFromIdCookie(idCookie)).toBe(1653632200); }); it('Sets the previous session ID', () => { let idCookie = parseIdCookie('def.1653632100.10.1653632200.1653632300.ses', '', '', 0); - startNewIdCookieSession(idCookie); + startNewIdCookieSession(idCookie, defaultNewSessionOptions); expect(previousSessionIdFromIdCookie(idCookie)).toBe('ses'); }); + + describe('Session Callbacks: onUpdateSession', () => { + it('Correctly fires the callback', () => { + const idCookie = parseIdCookie('def.1653632100.10.1653632200.1653632300.ses', '', '', 0); + const onSessionUpdateCallback = jest.fn(); + startNewIdCookieSession(idCookie, { ...defaultNewSessionOptions, onSessionUpdateCallback }); + expect(onSessionUpdateCallback).toHaveBeenCalledTimes(1); + expect(onSessionUpdateCallback).toHaveBeenCalledWith({ + eventIndex: 0, + firstEventId: null, + firstEventTimestamp: null, + previousSessionId: 'ses', + sessionId: '123456789', + sessionIndex: 11, + storageMechanism: 'COOKIE_1', + userId: 'def', + }); + }); + + it('Correctly fires the callback with anonymousTracking enabled', () => { + const idCookie = parseIdCookie('def.1653632100.10.1653632200.1653632300.ses', '', '', 0); + const onSessionUpdateCallback = jest.fn(); + startNewIdCookieSession(idCookie, { + ...defaultNewSessionOptions, + onSessionUpdateCallback, + configAnonymousTracking: true, + }); + expect(onSessionUpdateCallback).toHaveBeenCalledTimes(1); + expect(onSessionUpdateCallback).toHaveBeenCalledWith({ + eventIndex: 0, + firstEventId: null, + firstEventTimestamp: null, + previousSessionId: null, + sessionId: '123456789', + sessionIndex: 11, + storageMechanism: 'COOKIE_1', + userId: ANONYMOUS_USER_ID, + }); + }); + + it('Correctly fires the callback with different stateStorageStrategy', () => { + const idCookie = parseIdCookie('def.1653632100.10.1653632200.1653632300.ses', '', '', 0); + const onSessionUpdateCallback = jest.fn(); + startNewIdCookieSession(idCookie, { + ...defaultNewSessionOptions, + onSessionUpdateCallback, + configStateStorageStrategy: 'localStorage', + }); + expect(onSessionUpdateCallback).toHaveBeenCalledTimes(1); + expect(onSessionUpdateCallback).toHaveBeenCalledWith({ + eventIndex: 0, + firstEventId: null, + firstEventTimestamp: null, + previousSessionId: 'ses', + sessionId: '123456789', + sessionIndex: 11, + storageMechanism: 'LOCAL_STORAGE', + userId: 'def', + }); + }); + }); }); describe('updateNowTsInIdCookie', () => { diff --git a/trackers/browser-tracker/docs/browser-tracker.api.md b/trackers/browser-tracker/docs/browser-tracker.api.md index 2a1762eb1..3d7214028 100644 --- a/trackers/browser-tracker/docs/browser-tracker.api.md +++ b/trackers/browser-tracker/docs/browser-tracker.api.md @@ -127,6 +127,18 @@ export interface ClearUserDataConfiguration { preserveUser: boolean; } +// @public +export interface ClientSession extends Record { + eventIndex: number; + firstEventId: string | null; + firstEventTimestamp: string | null; + previousSessionId: string | null; + sessionId: string; + sessionIndex: number; + storageMechanism: string; + userId: string; +} + // @public export interface CommonEventProperties { context?: Array | null; @@ -347,6 +359,7 @@ export type TrackerConfiguration = { customHeaders?: Record; retryStatusCodes?: number[]; dontRetryStatusCodes?: number[]; + onSessionUpdateCallback?: (updatedSession: ClientSession) => void; }; // @public diff --git a/trackers/browser-tracker/src/index.ts b/trackers/browser-tracker/src/index.ts index 3e8758508..8acce2105 100644 --- a/trackers/browser-tracker/src/index.ts +++ b/trackers/browser-tracker/src/index.ts @@ -37,6 +37,7 @@ import { Platform, EventMethod, StateStorageStrategy, + ClientSession, } from '@snowplow/browser-tracker-core'; import { version } from '@snowplow/tracker-core'; @@ -72,6 +73,14 @@ export function newTracker(trackerId: string, endpoint: string, configuration: T } } -export { BrowserTracker, TrackerConfiguration, CookieSameSite, Platform, EventMethod, StateStorageStrategy }; +export { + BrowserTracker, + TrackerConfiguration, + CookieSameSite, + Platform, + EventMethod, + StateStorageStrategy, + ClientSession, +}; export { version }; export * from './api'; From e71812633eb48df0ef84f5389066f5beaaad1300 Mon Sep 17 00:00:00 2001 From: Peter Perlepes Date: Wed, 24 May 2023 13:17:04 +0300 Subject: [PATCH 090/449] Round dimension type values on payload (close #1195) (#1196) --- ...idth-x-height-values_2023-05-22-13-17.json | 10 +++++++ ...idth-x-height-values_2023-05-22-13-17.json | 10 +++++++ .../src/helpers/browser_props.ts | 27 +++++++++++++++---- .../test/browser_props.test.ts | 13 +++++++++ libraries/tracker-core/src/core.ts | 4 +-- 5 files changed, 57 insertions(+), 7 deletions(-) create mode 100644 common/changes/@snowplow/browser-tracker-core/feature-1195-round-width-x-height-values_2023-05-22-13-17.json create mode 100644 common/changes/@snowplow/tracker-core/feature-1195-round-width-x-height-values_2023-05-22-13-17.json create mode 100644 libraries/browser-tracker-core/test/browser_props.test.ts diff --git a/common/changes/@snowplow/browser-tracker-core/feature-1195-round-width-x-height-values_2023-05-22-13-17.json b/common/changes/@snowplow/browser-tracker-core/feature-1195-round-width-x-height-values_2023-05-22-13-17.json new file mode 100644 index 000000000..78e5715da --- /dev/null +++ b/common/changes/@snowplow/browser-tracker-core/feature-1195-round-width-x-height-values_2023-05-22-13-17.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-tracker-core", + "comment": "Round dimension type values on payload", + "type": "none" + } + ], + "packageName": "@snowplow/browser-tracker-core" +} \ No newline at end of file diff --git a/common/changes/@snowplow/tracker-core/feature-1195-round-width-x-height-values_2023-05-22-13-17.json b/common/changes/@snowplow/tracker-core/feature-1195-round-width-x-height-values_2023-05-22-13-17.json new file mode 100644 index 000000000..d3b2b0269 --- /dev/null +++ b/common/changes/@snowplow/tracker-core/feature-1195-round-width-x-height-values_2023-05-22-13-17.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/tracker-core", + "comment": "Make addPayloadPair more lenient with 'uknown' type", + "type": "none" + } + ], + "packageName": "@snowplow/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 a59acd2cb..4b3a66d15 100644 --- a/libraries/browser-tracker-core/src/helpers/browser_props.ts +++ b/libraries/browser-tracker-core/src/helpers/browser_props.ts @@ -1,8 +1,11 @@ +/* Separator used for dimension values e.g. widthxheight */ +const DIMENSION_SEPARATOR = 'x'; + export function getBrowserProperties() { return { - viewport: detectViewport(), - documentSize: detectDocumentSize(), - resolution: screen.width + 'x' + screen.height, + viewport: floorDimensionFields(detectViewport()), + documentSize: floorDimensionFields(detectDocumentSize()), + resolution: floorDimensionFields(detectScreenResolution()), colorDepth: screen.colorDepth, devicePixelRatio: window.devicePixelRatio, cookiesEnabled: window.navigator.cookieEnabled, @@ -35,7 +38,7 @@ function detectViewport() { } if (width >= 0 && height >= 0) { - return width + 'x' + height; + return width + DIMENSION_SEPARATOR + height; } else { return null; } @@ -55,5 +58,19 @@ function detectDocumentSize() { bodyHeight = be ? Math.max(be.offsetHeight, be.scrollHeight) : 0; var w = Math.max(de.clientWidth, de.offsetWidth, de.scrollWidth); var h = Math.max(de.clientHeight, de.offsetHeight, de.scrollHeight, bodyHeight); - return isNaN(w) || isNaN(h) ? '' : w + 'x' + h; + return isNaN(w) || isNaN(h) ? '' : w + DIMENSION_SEPARATOR + h; +} + +function detectScreenResolution() { + return screen.width + DIMENSION_SEPARATOR + screen.height; +} + +export function floorDimensionFields(field?: string | null) { + return ( + field && + field + .split(DIMENSION_SEPARATOR) + .map((dimension) => Math.floor(Number(dimension))) + .join(DIMENSION_SEPARATOR) + ); } diff --git a/libraries/browser-tracker-core/test/browser_props.test.ts b/libraries/browser-tracker-core/test/browser_props.test.ts new file mode 100644 index 000000000..73a456e51 --- /dev/null +++ b/libraries/browser-tracker-core/test/browser_props.test.ts @@ -0,0 +1,13 @@ +import { floorDimensionFields } from '../src/helpers/browser_props'; + +describe('Browser props', () => { + it('floorDimensionFields correctly floors dimension type values', () => { + const testDimensions = '100x100'; + expect(floorDimensionFields(testDimensions)).toEqual(testDimensions); + }); + + it('floorDimensionFields correctly floors dimension type values with fractional numbers', () => { + const testFractionalDimensions = '100.2x100.1'; + expect(floorDimensionFields(testFractionalDimensions)).toEqual('100x100'); + }); +}); diff --git a/libraries/tracker-core/src/core.ts b/libraries/tracker-core/src/core.ts index 5cc88f883..4a37e7f16 100644 --- a/libraries/tracker-core/src/core.ts +++ b/libraries/tracker-core/src/core.ts @@ -155,7 +155,7 @@ export interface TrackerCore { * @param key - Field name * @param value - Field value */ - addPayloadPair: (key: string, value: string | number) => void; + addPayloadPair: (key: string, value: unknown) => void; /** * Get current base64 encoding state @@ -429,7 +429,7 @@ export function trackerCore(configuration: CoreConfiguration = {}): TrackerCore * @param key - Field name * @param value - Field value */ - function addPayloadPair(key: string, value: string | number): void { + function addPayloadPair(key: string, value: unknown): void { payloadPairs[key] = value; } From b212eb7a15fc4fe0248dacfbc4e592277fe58b75 Mon Sep 17 00:00:00 2001 From: Peter Perlepes Date: Wed, 24 May 2023 15:37:17 +0300 Subject: [PATCH 091/449] Add setSessionId and setSessionIndex capability to Node.js tracker close #1178 --- ...ow-setting-sessionid_2023-05-23-09-45.json | 10 +++ .../node-tracker/docs/node-tracker.api.md | 2 + trackers/node-tracker/src/tracker.ts | 28 ++++++++ trackers/node-tracker/test/tracker.ts | 64 +++++++++++++++++++ 4 files changed, 104 insertions(+) create mode 100644 common/changes/@snowplow/node-tracker/feature-1178-nodejs-allow-setting-sessionid_2023-05-23-09-45.json diff --git a/common/changes/@snowplow/node-tracker/feature-1178-nodejs-allow-setting-sessionid_2023-05-23-09-45.json b/common/changes/@snowplow/node-tracker/feature-1178-nodejs-allow-setting-sessionid_2023-05-23-09-45.json new file mode 100644 index 000000000..4b2ad1780 --- /dev/null +++ b/common/changes/@snowplow/node-tracker/feature-1178-nodejs-allow-setting-sessionid_2023-05-23-09-45.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/node-tracker", + "comment": "Add setSessionId and setSessionIndex capability", + "type": "none" + } + ], + "packageName": "@snowplow/node-tracker" +} \ No newline at end of file diff --git a/trackers/node-tracker/docs/node-tracker.api.md b/trackers/node-tracker/docs/node-tracker.api.md index 9fcd8ff80..081f51e82 100644 --- a/trackers/node-tracker/docs/node-tracker.api.md +++ b/trackers/node-tracker/docs/node-tracker.api.md @@ -360,6 +360,8 @@ export type Timestamp = TrueTimestamp | DeviceTimestamp | number; export interface Tracker extends TrackerCore { setDomainUserId: (userId: string) => void; setNetworkUserId: (userId: string) => void; + setSessionId: (sessionId: string) => void; + setSessionIndex: (sessionIndex: string | number) => void; } // @public diff --git a/trackers/node-tracker/src/tracker.ts b/trackers/node-tracker/src/tracker.ts index b0976209f..8a5dc672b 100644 --- a/trackers/node-tracker/src/tracker.ts +++ b/trackers/node-tracker/src/tracker.ts @@ -46,6 +46,20 @@ export interface Tracker extends TrackerCore { * @param userId - The network user id */ setNetworkUserId: (userId: string) => void; + + /** + * Set the session ID (`domain_sessionid` in the atomic events) + * + * @param sessionId - The session id + */ + setSessionId: (sessionId: string) => void; + + /** + * Set the session index (`domain_sessionidx` in the atomic events) + * + * @param sessionIndex - The session index + */ + setSessionIndex: (sessionIndex: string | number) => void; } /** @@ -64,6 +78,8 @@ export function tracker( ): Tracker { let domainUserId: string; let networkUserId: string; + let sessionId: string; + let sessionIndex: string | number; let allEmitters: Array; if (Array.isArray(emitters)) { @@ -77,6 +93,8 @@ export function tracker( const addUserInformation = (payload: PayloadBuilder): void => { payload.add('duid', domainUserId); payload.add('nuid', networkUserId); + payload.add('sid', sessionId); + payload.add('vid', Number(sessionIndex)); }; /** @@ -107,9 +125,19 @@ export function tracker( networkUserId = userId; }; + const setSessionId = function (currentSessionId: string) { + sessionId = currentSessionId; + }; + + const setSessionIndex = function (currentSessionIndex: string | number) { + sessionIndex = currentSessionIndex; + }; + return { setDomainUserId, setNetworkUserId, + setSessionId, + setSessionIndex, ...core, }; } diff --git a/trackers/node-tracker/test/tracker.ts b/trackers/node-tracker/test/tracker.ts index 6aefb7339..a9e42c282 100644 --- a/trackers/node-tracker/test/tracker.ts +++ b/trackers/node-tracker/test/tracker.ts @@ -422,6 +422,8 @@ for (const method of testMethods) { refr: 'http://google.com', p: 'web', uid: 'jacob', + sid: 'sessionId', + vid: '10', res: '400x200', vp: '500x800', cd: '24', @@ -449,6 +451,8 @@ for (const method of testMethods) { track.setPlatform('web'); track.setUserId('jacob'); + track.setSessionId('sessionId'); + track.setSessionIndex(10); track.setScreenResolution('400', '200'); track.setViewport('500', '800'); track.setColorDepth('24'); @@ -604,4 +608,64 @@ for (const method of testMethods) { ); }); }); + + test(method + ' method: setSessionId should attach a sid property to event', async (t) => { + const expected = { + sid: 'sid-test-1234', + }; + + 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 = tracker(e, 'cf', 'cfe35', false); + track.setSessionId(expected.sid); + track.track( + buildPageView({ pageUrl: 'http://www.example.com', pageTitle: 'example page', referrer: 'http://google.com' }), + context + ); + }); + }); + + test(method + ' method: setSessionIndex should attach a vid property to event', async (t) => { + const expected = { + vid: '1234', + }; + + 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 = tracker(e, 'cf', 'cfe35', false); + track.setSessionIndex(expected.vid); + track.track( + buildPageView({ pageUrl: 'http://www.example.com', pageTitle: 'example page', referrer: 'http://google.com' }), + context + ); + }); + }); } From 3f789145666a1d7a2946220be2d7f1694f6843dd Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 24 May 2023 15:56:18 +0000 Subject: [PATCH 092/449] Update changelogs [skip ci] --- ...onSessionUpdate-callback_2023-05-17-13-51.json | 10 ---------- ...nd-width-x-height-values_2023-05-22-13-17.json | 10 ---------- ...onSessionUpdate-callback_2023-05-17-13-58.json | 10 ---------- ...-allow-setting-sessionid_2023-05-23-09-45.json | 10 ---------- ...nd-width-x-height-values_2023-05-22-13-17.json | 10 ---------- libraries/browser-tracker-core/CHANGELOG.json | 15 +++++++++++++++ libraries/browser-tracker-core/CHANGELOG.md | 10 +++++++++- 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 ++++++- .../CHANGELOG.json | 6 ++++++ .../browser-plugin-browser-features/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 ++++++- .../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 | 6 ++++++ .../browser-plugin-media-tracking/CHANGELOG.md | 7 ++++++- .../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-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 ++++++- .../CHANGELOG.json | 6 ++++++ .../browser-plugin-youtube-tracking/CHANGELOG.md | 7 ++++++- trackers/browser-tracker/CHANGELOG.json | 12 ++++++++++++ trackers/browser-tracker/CHANGELOG.md | 9 ++++++++- trackers/javascript-tracker/CHANGELOG.json | 6 ++++++ trackers/javascript-tracker/CHANGELOG.md | 7 ++++++- trackers/node-tracker/CHANGELOG.json | 12 ++++++++++++ trackers/node-tracker/CHANGELOG.md | 9 ++++++++- 59 files changed, 360 insertions(+), 77 deletions(-) delete mode 100644 common/changes/@snowplow/browser-tracker-core/feature-1191-add-onSessionUpdate-callback_2023-05-17-13-51.json delete mode 100644 common/changes/@snowplow/browser-tracker-core/feature-1195-round-width-x-height-values_2023-05-22-13-17.json delete mode 100644 common/changes/@snowplow/browser-tracker/feature-1191-add-onSessionUpdate-callback_2023-05-17-13-58.json delete mode 100644 common/changes/@snowplow/node-tracker/feature-1178-nodejs-allow-setting-sessionid_2023-05-23-09-45.json delete mode 100644 common/changes/@snowplow/tracker-core/feature-1195-round-width-x-height-values_2023-05-22-13-17.json diff --git a/common/changes/@snowplow/browser-tracker-core/feature-1191-add-onSessionUpdate-callback_2023-05-17-13-51.json b/common/changes/@snowplow/browser-tracker-core/feature-1191-add-onSessionUpdate-callback_2023-05-17-13-51.json deleted file mode 100644 index 096e72732..000000000 --- a/common/changes/@snowplow/browser-tracker-core/feature-1191-add-onSessionUpdate-callback_2023-05-17-13-51.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-tracker-core", - "comment": "Add onSessionUpdate callback configuration option", - "type": "none" - } - ], - "packageName": "@snowplow/browser-tracker-core" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-tracker-core/feature-1195-round-width-x-height-values_2023-05-22-13-17.json b/common/changes/@snowplow/browser-tracker-core/feature-1195-round-width-x-height-values_2023-05-22-13-17.json deleted file mode 100644 index 78e5715da..000000000 --- a/common/changes/@snowplow/browser-tracker-core/feature-1195-round-width-x-height-values_2023-05-22-13-17.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-tracker-core", - "comment": "Round dimension type values on payload", - "type": "none" - } - ], - "packageName": "@snowplow/browser-tracker-core" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-tracker/feature-1191-add-onSessionUpdate-callback_2023-05-17-13-58.json b/common/changes/@snowplow/browser-tracker/feature-1191-add-onSessionUpdate-callback_2023-05-17-13-58.json deleted file mode 100644 index cd288885e..000000000 --- a/common/changes/@snowplow/browser-tracker/feature-1191-add-onSessionUpdate-callback_2023-05-17-13-58.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-tracker", - "comment": "Add onSessionUpdate callback configuration option", - "type": "none" - } - ], - "packageName": "@snowplow/browser-tracker" -} \ No newline at end of file diff --git a/common/changes/@snowplow/node-tracker/feature-1178-nodejs-allow-setting-sessionid_2023-05-23-09-45.json b/common/changes/@snowplow/node-tracker/feature-1178-nodejs-allow-setting-sessionid_2023-05-23-09-45.json deleted file mode 100644 index 4b2ad1780..000000000 --- a/common/changes/@snowplow/node-tracker/feature-1178-nodejs-allow-setting-sessionid_2023-05-23-09-45.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/node-tracker", - "comment": "Add setSessionId and setSessionIndex capability", - "type": "none" - } - ], - "packageName": "@snowplow/node-tracker" -} \ No newline at end of file diff --git a/common/changes/@snowplow/tracker-core/feature-1195-round-width-x-height-values_2023-05-22-13-17.json b/common/changes/@snowplow/tracker-core/feature-1195-round-width-x-height-values_2023-05-22-13-17.json deleted file mode 100644 index d3b2b0269..000000000 --- a/common/changes/@snowplow/tracker-core/feature-1195-round-width-x-height-values_2023-05-22-13-17.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/tracker-core", - "comment": "Make addPayloadPair more lenient with 'uknown' type", - "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 18f3fa270..d695f0a9c 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.11.0", + "tag": "@snowplow/browser-tracker-core_v3.11.0", + "date": "Wed, 24 May 2023 15:56:17 GMT", + "comments": { + "none": [ + { + "comment": "Add onSessionUpdate callback configuration option" + }, + { + "comment": "Round dimension type values on payload" + } + ] + } + }, { "version": "3.10.1", "tag": "@snowplow/browser-tracker-core_v3.10.1", diff --git a/libraries/browser-tracker-core/CHANGELOG.md b/libraries/browser-tracker-core/CHANGELOG.md index 1d9105311..8680b5549 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 Fri, 12 May 2023 06:59:31 GMT and should not be manually modified. +This log was last generated on Wed, 24 May 2023 15:56:17 GMT and should not be manually modified. + +## 3.11.0 +Wed, 24 May 2023 15:56:17 GMT + +### Updates + +- Add onSessionUpdate callback configuration option +- Round dimension type values on payload ## 3.10.1 Fri, 12 May 2023 06:59:31 GMT diff --git a/libraries/tracker-core/CHANGELOG.json b/libraries/tracker-core/CHANGELOG.json index 31881e0ca..d71791875 100644 --- a/libraries/tracker-core/CHANGELOG.json +++ b/libraries/tracker-core/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@snowplow/tracker-core", "entries": [ + { + "version": "3.11.0", + "tag": "@snowplow/tracker-core_v3.11.0", + "date": "Wed, 24 May 2023 15:56:17 GMT", + "comments": { + "none": [ + { + "comment": "Make addPayloadPair more lenient with 'uknown' type" + } + ] + } + }, { "version": "3.10.1", "tag": "@snowplow/tracker-core_v3.10.1", diff --git a/libraries/tracker-core/CHANGELOG.md b/libraries/tracker-core/CHANGELOG.md index 18a244ca5..efd41eb24 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 Fri, 12 May 2023 06:59:31 GMT and should not be manually modified. +This log was last generated on Wed, 24 May 2023 15:56:17 GMT and should not be manually modified. + +## 3.11.0 +Wed, 24 May 2023 15:56:17 GMT + +### Updates + +- Make addPayloadPair more lenient with 'uknown' type ## 3.10.1 Fri, 12 May 2023 06:59:31 GMT diff --git a/plugins/browser-plugin-ad-tracking/CHANGELOG.json b/plugins/browser-plugin-ad-tracking/CHANGELOG.json index df3c14d20..f56894f82 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.11.0", + "tag": "@snowplow/browser-plugin-ad-tracking_v3.11.0", + "date": "Wed, 24 May 2023 15:56:17 GMT", + "comments": {} + }, { "version": "3.10.1", "tag": "@snowplow/browser-plugin-ad-tracking_v3.10.1", diff --git a/plugins/browser-plugin-ad-tracking/CHANGELOG.md b/plugins/browser-plugin-ad-tracking/CHANGELOG.md index fbed7d6b4..462f0a69a 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, 12 May 2023 06:59:31 GMT and should not be manually modified. +This log was last generated on Wed, 24 May 2023 15:56:17 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-browser-features/CHANGELOG.json b/plugins/browser-plugin-browser-features/CHANGELOG.json index 16426f3fa..3aa1add83 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.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", diff --git a/plugins/browser-plugin-browser-features/CHANGELOG.md b/plugins/browser-plugin-browser-features/CHANGELOG.md index 332fb891b..75b942a35 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, 12 May 2023 06:59:31 GMT and should not be manually modified. +This log was last generated on Wed, 24 May 2023 15:56:17 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-client-hints/CHANGELOG.json b/plugins/browser-plugin-client-hints/CHANGELOG.json index 9f0ee47a7..8e7030a7f 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.11.0", + "tag": "@snowplow/browser-plugin-client-hints_v3.11.0", + "date": "Wed, 24 May 2023 15:56:17 GMT", + "comments": {} + }, { "version": "3.10.1", "tag": "@snowplow/browser-plugin-client-hints_v3.10.1", diff --git a/plugins/browser-plugin-client-hints/CHANGELOG.md b/plugins/browser-plugin-client-hints/CHANGELOG.md index 1f2da8a29..28ab1667a 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, 12 May 2023 06:59:31 GMT and should not be manually modified. +This log was last generated on Wed, 24 May 2023 15:56:17 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-consent/CHANGELOG.json b/plugins/browser-plugin-consent/CHANGELOG.json index d7dd3bcac..9b9c7bcc2 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.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", diff --git a/plugins/browser-plugin-consent/CHANGELOG.md b/plugins/browser-plugin-consent/CHANGELOG.md index 8464f97c1..93b1c0390 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, 12 May 2023 06:59:31 GMT and should not be manually modified. +This log was last generated on Wed, 24 May 2023 15:56:17 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-debugger/CHANGELOG.json b/plugins/browser-plugin-debugger/CHANGELOG.json index 0a7f0268a..534769550 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.11.0", + "tag": "@snowplow/browser-plugin-debugger_v3.11.0", + "date": "Wed, 24 May 2023 15:56:17 GMT", + "comments": {} + }, { "version": "3.10.1", "tag": "@snowplow/browser-plugin-debugger_v3.10.1", diff --git a/plugins/browser-plugin-debugger/CHANGELOG.md b/plugins/browser-plugin-debugger/CHANGELOG.md index 9667560d7..2766185c2 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, 12 May 2023 06:59:31 GMT and should not be manually modified. +This log was last generated on Wed, 24 May 2023 15:56:17 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-ecommerce/CHANGELOG.json b/plugins/browser-plugin-ecommerce/CHANGELOG.json index 885d5d30b..530da0674 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.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", diff --git a/plugins/browser-plugin-ecommerce/CHANGELOG.md b/plugins/browser-plugin-ecommerce/CHANGELOG.md index da835960d..75be59b3f 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, 12 May 2023 06:59:31 GMT and should not be manually modified. +This log was last generated on Wed, 24 May 2023 15:56:17 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-enhanced-consent/CHANGELOG.json b/plugins/browser-plugin-enhanced-consent/CHANGELOG.json index 6127af741..26b94395e 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.11.0", + "tag": "@snowplow/browser-plugin-enhanced-consent_v3.11.0", + "date": "Wed, 24 May 2023 15:56:17 GMT", + "comments": {} + }, { "version": "3.10.1", "tag": "@snowplow/browser-plugin-enhanced-consent_v3.10.1", diff --git a/plugins/browser-plugin-enhanced-consent/CHANGELOG.md b/plugins/browser-plugin-enhanced-consent/CHANGELOG.md index 5618f3a74..ce31bcedc 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, 12 May 2023 06:59:31 GMT and should not be manually modified. +This log was last generated on Wed, 24 May 2023 15:56:17 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.json b/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.json index 5f368ead7..e5213360e 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.11.0", + "tag": "@snowplow/browser-plugin-enhanced-ecommerce_v3.11.0", + "date": "Wed, 24 May 2023 15:56:17 GMT", + "comments": {} + }, { "version": "3.10.1", "tag": "@snowplow/browser-plugin-enhanced-ecommerce_v3.10.1", diff --git a/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.md b/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.md index bf8e8bfe4..ffd1ceb31 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, 12 May 2023 06:59:31 GMT and should not be manually modified. +This log was last generated on Wed, 24 May 2023 15:56:17 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-error-tracking/CHANGELOG.json b/plugins/browser-plugin-error-tracking/CHANGELOG.json index a1a566026..63995f139 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.11.0", + "tag": "@snowplow/browser-plugin-error-tracking_v3.11.0", + "date": "Wed, 24 May 2023 15:56:17 GMT", + "comments": {} + }, { "version": "3.10.1", "tag": "@snowplow/browser-plugin-error-tracking_v3.10.1", diff --git a/plugins/browser-plugin-error-tracking/CHANGELOG.md b/plugins/browser-plugin-error-tracking/CHANGELOG.md index 8310b010b..e0b0e1a7f 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, 12 May 2023 06:59:31 GMT and should not be manually modified. +This log was last generated on Wed, 24 May 2023 15:56:17 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-form-tracking/CHANGELOG.json b/plugins/browser-plugin-form-tracking/CHANGELOG.json index 633580742..be93f36fa 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.11.0", + "tag": "@snowplow/browser-plugin-form-tracking_v3.11.0", + "date": "Wed, 24 May 2023 15:56:17 GMT", + "comments": {} + }, { "version": "3.10.1", "tag": "@snowplow/browser-plugin-form-tracking_v3.10.1", diff --git a/plugins/browser-plugin-form-tracking/CHANGELOG.md b/plugins/browser-plugin-form-tracking/CHANGELOG.md index 8462b3b3a..1a9831881 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, 12 May 2023 06:59:31 GMT and should not be manually modified. +This log was last generated on Wed, 24 May 2023 15:56:17 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-ga-cookies/CHANGELOG.json b/plugins/browser-plugin-ga-cookies/CHANGELOG.json index 2f40d1c1e..41ec7bf72 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.11.0", + "tag": "@snowplow/browser-plugin-ga-cookies_v3.11.0", + "date": "Wed, 24 May 2023 15:56:17 GMT", + "comments": {} + }, { "version": "3.10.1", "tag": "@snowplow/browser-plugin-ga-cookies_v3.10.1", diff --git a/plugins/browser-plugin-ga-cookies/CHANGELOG.md b/plugins/browser-plugin-ga-cookies/CHANGELOG.md index dde061b05..405a6b33c 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, 12 May 2023 06:59:31 GMT and should not be manually modified. +This log was last generated on Wed, 24 May 2023 15:56:17 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-geolocation/CHANGELOG.json b/plugins/browser-plugin-geolocation/CHANGELOG.json index 67ef57987..b3226d5d5 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.11.0", + "tag": "@snowplow/browser-plugin-geolocation_v3.11.0", + "date": "Wed, 24 May 2023 15:56:17 GMT", + "comments": {} + }, { "version": "3.10.1", "tag": "@snowplow/browser-plugin-geolocation_v3.10.1", diff --git a/plugins/browser-plugin-geolocation/CHANGELOG.md b/plugins/browser-plugin-geolocation/CHANGELOG.md index f5bd88918..3e4b36952 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, 12 May 2023 06:59:31 GMT and should not be manually modified. +This log was last generated on Wed, 24 May 2023 15:56:17 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-link-click-tracking/CHANGELOG.json b/plugins/browser-plugin-link-click-tracking/CHANGELOG.json index a1f96e2ab..aa2c6691d 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.11.0", + "tag": "@snowplow/browser-plugin-link-click-tracking_v3.11.0", + "date": "Wed, 24 May 2023 15:56:17 GMT", + "comments": {} + }, { "version": "3.10.1", "tag": "@snowplow/browser-plugin-link-click-tracking_v3.10.1", diff --git a/plugins/browser-plugin-link-click-tracking/CHANGELOG.md b/plugins/browser-plugin-link-click-tracking/CHANGELOG.md index fa1ed8981..748578875 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, 12 May 2023 06:59:31 GMT and should not be manually modified. +This log was last generated on Wed, 24 May 2023 15:56:17 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-media-tracking/CHANGELOG.json b/plugins/browser-plugin-media-tracking/CHANGELOG.json index 5770bc0f2..bfcb7af00 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.11.0", + "tag": "@snowplow/browser-plugin-media-tracking_v3.11.0", + "date": "Wed, 24 May 2023 15:56:17 GMT", + "comments": {} + }, { "version": "3.10.1", "tag": "@snowplow/browser-plugin-media-tracking_v3.10.1", diff --git a/plugins/browser-plugin-media-tracking/CHANGELOG.md b/plugins/browser-plugin-media-tracking/CHANGELOG.md index 49fb5ba48..19cabbcd2 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, 12 May 2023 06:59:31 GMT and should not be manually modified. +This log was last generated on Wed, 24 May 2023 15:56:17 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-optimizely-x/CHANGELOG.json b/plugins/browser-plugin-optimizely-x/CHANGELOG.json index 553ff97e6..18db0574c 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.11.0", + "tag": "@snowplow/browser-plugin-optimizely-x_v3.11.0", + "date": "Wed, 24 May 2023 15:56:17 GMT", + "comments": {} + }, { "version": "3.10.1", "tag": "@snowplow/browser-plugin-optimizely-x_v3.10.1", diff --git a/plugins/browser-plugin-optimizely-x/CHANGELOG.md b/plugins/browser-plugin-optimizely-x/CHANGELOG.md index 5b4489961..822d8065e 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, 12 May 2023 06:59:31 GMT and should not be manually modified. +This log was last generated on Wed, 24 May 2023 15:56:17 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-optimizely/CHANGELOG.json b/plugins/browser-plugin-optimizely/CHANGELOG.json index 2558e8b61..c5570fc9b 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.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", diff --git a/plugins/browser-plugin-optimizely/CHANGELOG.md b/plugins/browser-plugin-optimizely/CHANGELOG.md index 340cebd19..b30f5db67 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, 12 May 2023 06:59:31 GMT and should not be manually modified. +This log was last generated on Wed, 24 May 2023 15:56:17 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.json b/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.json index b3ebdc2f8..dd26f417b 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.11.0", + "tag": "@snowplow/browser-plugin-performance-navigation-timing_v3.11.0", + "date": "Wed, 24 May 2023 15:56:17 GMT", + "comments": {} + }, { "version": "3.10.1", "tag": "@snowplow/browser-plugin-performance-navigation-timing_v3.10.1", diff --git a/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.md b/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.md index b67b2d247..99dea954b 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, 12 May 2023 06:59:31 GMT and should not be manually modified. +This log was last generated on Wed, 24 May 2023 15:56:17 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-performance-timing/CHANGELOG.json b/plugins/browser-plugin-performance-timing/CHANGELOG.json index c7ff7e94c..88efbc17f 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.11.0", + "tag": "@snowplow/browser-plugin-performance-timing_v3.11.0", + "date": "Wed, 24 May 2023 15:56:17 GMT", + "comments": {} + }, { "version": "3.10.1", "tag": "@snowplow/browser-plugin-performance-timing_v3.10.1", diff --git a/plugins/browser-plugin-performance-timing/CHANGELOG.md b/plugins/browser-plugin-performance-timing/CHANGELOG.md index 1e3f1607f..fbffb851b 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, 12 May 2023 06:59:31 GMT and should not be manually modified. +This log was last generated on Wed, 24 May 2023 15:56:17 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-site-tracking/CHANGELOG.json b/plugins/browser-plugin-site-tracking/CHANGELOG.json index be0b635f2..b78e0bcf3 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.11.0", + "tag": "@snowplow/browser-plugin-site-tracking_v3.11.0", + "date": "Wed, 24 May 2023 15:56:17 GMT", + "comments": {} + }, { "version": "3.10.1", "tag": "@snowplow/browser-plugin-site-tracking_v3.10.1", diff --git a/plugins/browser-plugin-site-tracking/CHANGELOG.md b/plugins/browser-plugin-site-tracking/CHANGELOG.md index 871340546..efb3833b0 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, 12 May 2023 06:59:31 GMT and should not be manually modified. +This log was last generated on Wed, 24 May 2023 15:56:17 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.json b/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.json index b01031cc2..72978923c 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.11.0", + "tag": "@snowplow/browser-plugin-snowplow-ecommerce_v3.11.0", + "date": "Wed, 24 May 2023 15:56:17 GMT", + "comments": {} + }, { "version": "3.10.1", "tag": "@snowplow/browser-plugin-snowplow-ecommerce_v3.10.1", diff --git a/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.md b/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.md index 3019bcb93..b22e24feb 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, 12 May 2023 06:59:31 GMT and should not be manually modified. +This log was last generated on Wed, 24 May 2023 15:56:17 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-timezone/CHANGELOG.json b/plugins/browser-plugin-timezone/CHANGELOG.json index cde310460..362bf4c40 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.11.0", + "tag": "@snowplow/browser-plugin-timezone_v3.11.0", + "date": "Wed, 24 May 2023 15:56:17 GMT", + "comments": {} + }, { "version": "3.10.1", "tag": "@snowplow/browser-plugin-timezone_v3.10.1", diff --git a/plugins/browser-plugin-timezone/CHANGELOG.md b/plugins/browser-plugin-timezone/CHANGELOG.md index 0acb88ee4..e4aebcf2f 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, 12 May 2023 06:59:31 GMT and should not be manually modified. +This log was last generated on Wed, 24 May 2023 15:56:17 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-youtube-tracking/CHANGELOG.json b/plugins/browser-plugin-youtube-tracking/CHANGELOG.json index 4aa0ec3af..776474844 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.11.0", + "tag": "@snowplow/browser-plugin-youtube-tracking_v3.11.0", + "date": "Wed, 24 May 2023 15:56:17 GMT", + "comments": {} + }, { "version": "3.10.1", "tag": "@snowplow/browser-plugin-youtube-tracking_v3.10.1", diff --git a/plugins/browser-plugin-youtube-tracking/CHANGELOG.md b/plugins/browser-plugin-youtube-tracking/CHANGELOG.md index 0aee60fb4..05d3764fa 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, 12 May 2023 06:59:31 GMT and should not be manually modified. +This log was last generated on Wed, 24 May 2023 15:56:17 GMT and should not be manually modified. + +## 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 diff --git a/trackers/browser-tracker/CHANGELOG.json b/trackers/browser-tracker/CHANGELOG.json index aebfc4cd4..82712c2bd 100644 --- a/trackers/browser-tracker/CHANGELOG.json +++ b/trackers/browser-tracker/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@snowplow/browser-tracker", "entries": [ + { + "version": "3.11.0", + "tag": "@snowplow/browser-tracker_v3.11.0", + "date": "Wed, 24 May 2023 15:56:17 GMT", + "comments": { + "none": [ + { + "comment": "Add onSessionUpdate callback configuration option" + } + ] + } + }, { "version": "3.10.1", "tag": "@snowplow/browser-tracker_v3.10.1", diff --git a/trackers/browser-tracker/CHANGELOG.md b/trackers/browser-tracker/CHANGELOG.md index 3ea96ae4c..8740a6836 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 Fri, 12 May 2023 06:59:31 GMT and should not be manually modified. +This log was last generated on Wed, 24 May 2023 15:56:17 GMT and should not be manually modified. + +## 3.11.0 +Wed, 24 May 2023 15:56:17 GMT + +### Updates + +- Add onSessionUpdate callback configuration option ## 3.10.1 Fri, 12 May 2023 06:59:31 GMT diff --git a/trackers/javascript-tracker/CHANGELOG.json b/trackers/javascript-tracker/CHANGELOG.json index 9c8319418..fb85aee68 100644 --- a/trackers/javascript-tracker/CHANGELOG.json +++ b/trackers/javascript-tracker/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/javascript-tracker", "entries": [ + { + "version": "3.11.0", + "tag": "@snowplow/javascript-tracker_v3.11.0", + "date": "Wed, 24 May 2023 15:56:17 GMT", + "comments": {} + }, { "version": "3.10.1", "tag": "@snowplow/javascript-tracker_v3.10.1", diff --git a/trackers/javascript-tracker/CHANGELOG.md b/trackers/javascript-tracker/CHANGELOG.md index 93137d2a1..193e50493 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, 12 May 2023 06:59:31 GMT and should not be manually modified. +This log was last generated on Wed, 24 May 2023 15:56:17 GMT and should not be manually modified. + +## 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 diff --git a/trackers/node-tracker/CHANGELOG.json b/trackers/node-tracker/CHANGELOG.json index 92320bcd2..f9bac1f39 100644 --- a/trackers/node-tracker/CHANGELOG.json +++ b/trackers/node-tracker/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@snowplow/node-tracker", "entries": [ + { + "version": "3.11.0", + "tag": "@snowplow/node-tracker_v3.11.0", + "date": "Wed, 24 May 2023 15:56:17 GMT", + "comments": { + "none": [ + { + "comment": "Add setSessionId and setSessionIndex capability" + } + ] + } + }, { "version": "3.10.1", "tag": "@snowplow/node-tracker_v3.10.1", diff --git a/trackers/node-tracker/CHANGELOG.md b/trackers/node-tracker/CHANGELOG.md index b765588b2..c063968fb 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 Fri, 12 May 2023 06:59:31 GMT and should not be manually modified. +This log was last generated on Wed, 24 May 2023 15:56:17 GMT and should not be manually modified. + +## 3.11.0 +Wed, 24 May 2023 15:56:17 GMT + +### Updates + +- Add setSessionId and setSessionIndex capability ## 3.10.1 Fri, 12 May 2023 06:59:31 GMT From 53d84974789ceccca9041297dccebbdc7d83098b Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 24 May 2023 15:56:18 +0000 Subject: [PATCH 093/449] 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-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-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-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-site-tracking/package.json | 4 ++-- plugins/browser-plugin-snowplow-ecommerce/package.json | 4 ++-- plugins/browser-plugin-timezone/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 +- 28 files changed, 50 insertions(+), 50 deletions(-) diff --git a/common/config/rush/version-policies.json b/common/config/rush/version-policies.json index fb7723faf..0516aa892 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.10.1", + "version": "3.11.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 91e9dbea4..3596f9514 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.10.1", + "version": "3.11.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 4be238396..886941e78 100644 --- a/libraries/tracker-core/package.json +++ b/libraries/tracker-core/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/tracker-core", - "version": "3.10.1", + "version": "3.11.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 4b18d88e0..6a10bf47a 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.10.1", + "version": "3.11.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.10.1" + "@snowplow/browser-tracker": "~3.11.0" } } diff --git a/plugins/browser-plugin-browser-features/package.json b/plugins/browser-plugin-browser-features/package.json index 7abeb52e8..97a25703e 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.10.1", + "version": "3.11.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.10.1" + "@snowplow/browser-tracker": "~3.11.0" } } diff --git a/plugins/browser-plugin-client-hints/package.json b/plugins/browser-plugin-client-hints/package.json index 931dc6653..baf134c23 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.10.1", + "version": "3.11.0", "description": "Attaches Client Hints to Snowplow events", "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.10.1" + "@snowplow/browser-tracker": "~3.11.0" } } diff --git a/plugins/browser-plugin-consent/package.json b/plugins/browser-plugin-consent/package.json index 011f7408c..8c3e591fd 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.10.1", + "version": "3.11.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.10.1" + "@snowplow/browser-tracker": "~3.11.0" } } diff --git a/plugins/browser-plugin-debugger/package.json b/plugins/browser-plugin-debugger/package.json index 76537b284..8f958f62b 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.10.1", + "version": "3.11.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.10.1" + "@snowplow/browser-tracker": "~3.11.0" } } diff --git a/plugins/browser-plugin-ecommerce/package.json b/plugins/browser-plugin-ecommerce/package.json index 359ff0d7f..0d75235f9 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.10.1", + "version": "3.11.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.10.1" + "@snowplow/browser-tracker": "~3.11.0" } } diff --git a/plugins/browser-plugin-enhanced-consent/package.json b/plugins/browser-plugin-enhanced-consent/package.json index c6bf3e446..fa0daafe3 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.10.1", + "version": "3.11.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.10.1" + "@snowplow/browser-tracker": "~3.11.0" } } diff --git a/plugins/browser-plugin-enhanced-ecommerce/package.json b/plugins/browser-plugin-enhanced-ecommerce/package.json index 06c64de89..5c62d33f5 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.10.1", + "version": "3.11.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.10.1" + "@snowplow/browser-tracker": "~3.11.0" } } diff --git a/plugins/browser-plugin-error-tracking/package.json b/plugins/browser-plugin-error-tracking/package.json index c5cb89184..1b2aa2c33 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.10.1", + "version": "3.11.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.10.1" + "@snowplow/browser-tracker": "~3.11.0" } } diff --git a/plugins/browser-plugin-form-tracking/package.json b/plugins/browser-plugin-form-tracking/package.json index 30bb02bac..5e829287e 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.10.1", + "version": "3.11.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.10.1" + "@snowplow/browser-tracker": "~3.11.0" } } diff --git a/plugins/browser-plugin-ga-cookies/package.json b/plugins/browser-plugin-ga-cookies/package.json index f401e33ea..59711cd78 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.10.1", + "version": "3.11.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.10.1" + "@snowplow/browser-tracker": "~3.11.0" } } diff --git a/plugins/browser-plugin-geolocation/package.json b/plugins/browser-plugin-geolocation/package.json index 7e0bc4752..f0ea93f85 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.10.1", + "version": "3.11.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.10.1" + "@snowplow/browser-tracker": "~3.11.0" } } diff --git a/plugins/browser-plugin-link-click-tracking/package.json b/plugins/browser-plugin-link-click-tracking/package.json index 622f4f593..246534677 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.10.1", + "version": "3.11.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.10.1" + "@snowplow/browser-tracker": "~3.11.0" } } diff --git a/plugins/browser-plugin-media-tracking/package.json b/plugins/browser-plugin-media-tracking/package.json index 2a9673799..e1fcdb850 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.10.1", + "version": "3.11.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.10.1" + "@snowplow/browser-tracker": "~3.11.0" } } diff --git a/plugins/browser-plugin-optimizely-x/package.json b/plugins/browser-plugin-optimizely-x/package.json index 0be914a09..1d6f4ac66 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.10.1", + "version": "3.11.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.10.1" + "@snowplow/browser-tracker": "~3.11.0" } } diff --git a/plugins/browser-plugin-optimizely/package.json b/plugins/browser-plugin-optimizely/package.json index 253f35a09..6fa44af01 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.10.1", + "version": "3.11.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.10.1" + "@snowplow/browser-tracker": "~3.11.0" } } diff --git a/plugins/browser-plugin-performance-navigation-timing/package.json b/plugins/browser-plugin-performance-navigation-timing/package.json index d6b018294..dfc0ff0f2 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.10.1", + "version": "3.11.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.10.1" + "@snowplow/browser-tracker": "~3.11.0" } } diff --git a/plugins/browser-plugin-performance-timing/package.json b/plugins/browser-plugin-performance-timing/package.json index 36de591db..f56d47ffb 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.10.1", + "version": "3.11.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.10.1" + "@snowplow/browser-tracker": "~3.11.0" } } diff --git a/plugins/browser-plugin-site-tracking/package.json b/plugins/browser-plugin-site-tracking/package.json index 8962cf4fb..9bc004251 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.10.1", + "version": "3.11.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.10.1" + "@snowplow/browser-tracker": "~3.11.0" } } diff --git a/plugins/browser-plugin-snowplow-ecommerce/package.json b/plugins/browser-plugin-snowplow-ecommerce/package.json index dbd99791e..6e3e7005a 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.10.1", + "version": "3.11.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.10.1" + "@snowplow/browser-tracker": "~3.11.0" } } diff --git a/plugins/browser-plugin-timezone/package.json b/plugins/browser-plugin-timezone/package.json index 2ce0d9f6f..3e2faea7c 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.10.1", + "version": "3.11.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.10.1" + "@snowplow/browser-tracker": "~3.11.0" } } diff --git a/plugins/browser-plugin-youtube-tracking/package.json b/plugins/browser-plugin-youtube-tracking/package.json index 3dcda3921..c46807b32 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.10.1", + "version": "3.11.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.10.1" + "@snowplow/browser-tracker": "~3.11.0" } } diff --git a/trackers/browser-tracker/package.json b/trackers/browser-tracker/package.json index 1a39fc699..343cdf848 100644 --- a/trackers/browser-tracker/package.json +++ b/trackers/browser-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-tracker", - "version": "3.10.1", + "version": "3.11.0", "description": "Browser tracker for Snowplow", "keywords": [ "tracking", diff --git a/trackers/javascript-tracker/package.json b/trackers/javascript-tracker/package.json index 5256f375d..31eddc4c0 100644 --- a/trackers/javascript-tracker/package.json +++ b/trackers/javascript-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/javascript-tracker", - "version": "3.10.1", + "version": "3.11.0", "description": "Web analytics for Snowplow", "keywords": [ "tracking", diff --git a/trackers/node-tracker/package.json b/trackers/node-tracker/package.json index 5fd9fea8c..945d1b9f8 100644 --- a/trackers/node-tracker/package.json +++ b/trackers/node-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/node-tracker", - "version": "3.10.1", + "version": "3.11.0", "description": "Node tracker for Snowplow", "keywords": [ "snowplow", From 899cf166cb3dc7ef5642b4d1ee1c4c36a0e6bc96 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 24 May 2023 16:01:43 +0000 Subject: [PATCH 094/449] Applying documentation updates. --- ...rowser-tracker.clientsession.eventindex.md | 13 +++++++++ ...wser-tracker.clientsession.firsteventid.md | 13 +++++++++ ...acker.clientsession.firsteventtimestamp.md | 13 +++++++++ .../markdown/browser-tracker.clientsession.md | 28 +++++++++++++++++++ ...tracker.clientsession.previoussessionid.md | 13 +++++++++ ...browser-tracker.clientsession.sessionid.md | 13 +++++++++ ...wser-tracker.clientsession.sessionindex.md | 13 +++++++++ ...-tracker.clientsession.storagemechanism.md | 13 +++++++++ .../browser-tracker.clientsession.userid.md | 13 +++++++++ .../docs/markdown/browser-tracker.md | 1 + .../browser-tracker.trackerconfiguration.md | 1 + .../docs/markdown/node-tracker.tracker.md | 2 ++ .../node-tracker.tracker.setsessionid.md | 13 +++++++++ .../node-tracker.tracker.setsessionindex.md | 13 +++++++++ 14 files changed, 162 insertions(+) create mode 100644 trackers/browser-tracker/docs/markdown/browser-tracker.clientsession.eventindex.md create mode 100644 trackers/browser-tracker/docs/markdown/browser-tracker.clientsession.firsteventid.md create mode 100644 trackers/browser-tracker/docs/markdown/browser-tracker.clientsession.firsteventtimestamp.md create mode 100644 trackers/browser-tracker/docs/markdown/browser-tracker.clientsession.md create mode 100644 trackers/browser-tracker/docs/markdown/browser-tracker.clientsession.previoussessionid.md create mode 100644 trackers/browser-tracker/docs/markdown/browser-tracker.clientsession.sessionid.md create mode 100644 trackers/browser-tracker/docs/markdown/browser-tracker.clientsession.sessionindex.md create mode 100644 trackers/browser-tracker/docs/markdown/browser-tracker.clientsession.storagemechanism.md create mode 100644 trackers/browser-tracker/docs/markdown/browser-tracker.clientsession.userid.md create mode 100644 trackers/node-tracker/docs/markdown/node-tracker.tracker.setsessionid.md create mode 100644 trackers/node-tracker/docs/markdown/node-tracker.tracker.setsessionindex.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.clientsession.eventindex.md b/trackers/browser-tracker/docs/markdown/browser-tracker.clientsession.eventindex.md new file mode 100644 index 000000000..e2e336de3 --- /dev/null +++ b/trackers/browser-tracker/docs/markdown/browser-tracker.clientsession.eventindex.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [ClientSession](./browser-tracker.clientsession.md) > [eventIndex](./browser-tracker.clientsession.eventindex.md) + +## ClientSession.eventIndex property + +Index of the current event in the session + +Signature: + +```typescript +eventIndex: number; +``` diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.clientsession.firsteventid.md b/trackers/browser-tracker/docs/markdown/browser-tracker.clientsession.firsteventid.md new file mode 100644 index 000000000..8c34c93c2 --- /dev/null +++ b/trackers/browser-tracker/docs/markdown/browser-tracker.clientsession.firsteventid.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [ClientSession](./browser-tracker.clientsession.md) > [firstEventId](./browser-tracker.clientsession.firsteventid.md) + +## ClientSession.firstEventId property + +Identifier of the first event for this session + +Signature: + +```typescript +firstEventId: string | null; +``` diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.clientsession.firsteventtimestamp.md b/trackers/browser-tracker/docs/markdown/browser-tracker.clientsession.firsteventtimestamp.md new file mode 100644 index 000000000..78c6ad599 --- /dev/null +++ b/trackers/browser-tracker/docs/markdown/browser-tracker.clientsession.firsteventtimestamp.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [ClientSession](./browser-tracker.clientsession.md) > [firstEventTimestamp](./browser-tracker.clientsession.firsteventtimestamp.md) + +## ClientSession.firstEventTimestamp property + +Date-time timestamp of when the first event in the session was tracked + +Signature: + +```typescript +firstEventTimestamp: string | null; +``` diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.clientsession.md b/trackers/browser-tracker/docs/markdown/browser-tracker.clientsession.md new file mode 100644 index 000000000..bbec2182b --- /dev/null +++ b/trackers/browser-tracker/docs/markdown/browser-tracker.clientsession.md @@ -0,0 +1,28 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [ClientSession](./browser-tracker.clientsession.md) + +## ClientSession interface + +Schema for client client session context entity + +Signature: + +```typescript +interface ClientSession extends Record +``` +Extends: Record<string, unknown> + +## Properties + +| Property | Type | Description | +| --- | --- | --- | +| [eventIndex](./browser-tracker.clientsession.eventindex.md) | number | Index of the current event in the session | +| [firstEventId](./browser-tracker.clientsession.firsteventid.md) | string \| null | Identifier of the first event for this session | +| [firstEventTimestamp](./browser-tracker.clientsession.firsteventtimestamp.md) | string \| null | Date-time timestamp of when the first event in the session was tracked | +| [previousSessionId](./browser-tracker.clientsession.previoussessionid.md) | string \| null | The previous session identifier for this user | +| [sessionId](./browser-tracker.clientsession.sessionid.md) | string | An identifier for the session (same as domain\_sessionid) | +| [sessionIndex](./browser-tracker.clientsession.sessionindex.md) | number | The index of the current session for this user (same as domain\_sessionidx) | +| [storageMechanism](./browser-tracker.clientsession.storagemechanism.md) | string | The mechanism that the session information has been stored on the device | +| [userId](./browser-tracker.clientsession.userid.md) | string | An identifier for the user of the session (same as domain\_userid) | + diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.clientsession.previoussessionid.md b/trackers/browser-tracker/docs/markdown/browser-tracker.clientsession.previoussessionid.md new file mode 100644 index 000000000..594b71530 --- /dev/null +++ b/trackers/browser-tracker/docs/markdown/browser-tracker.clientsession.previoussessionid.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [ClientSession](./browser-tracker.clientsession.md) > [previousSessionId](./browser-tracker.clientsession.previoussessionid.md) + +## ClientSession.previousSessionId property + +The previous session identifier for this user + +Signature: + +```typescript +previousSessionId: string | null; +``` diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.clientsession.sessionid.md b/trackers/browser-tracker/docs/markdown/browser-tracker.clientsession.sessionid.md new file mode 100644 index 000000000..51707d88d --- /dev/null +++ b/trackers/browser-tracker/docs/markdown/browser-tracker.clientsession.sessionid.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [ClientSession](./browser-tracker.clientsession.md) > [sessionId](./browser-tracker.clientsession.sessionid.md) + +## ClientSession.sessionId property + +An identifier for the session (same as domain\_sessionid) + +Signature: + +```typescript +sessionId: string; +``` diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.clientsession.sessionindex.md b/trackers/browser-tracker/docs/markdown/browser-tracker.clientsession.sessionindex.md new file mode 100644 index 000000000..cc40d5458 --- /dev/null +++ b/trackers/browser-tracker/docs/markdown/browser-tracker.clientsession.sessionindex.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [ClientSession](./browser-tracker.clientsession.md) > [sessionIndex](./browser-tracker.clientsession.sessionindex.md) + +## ClientSession.sessionIndex property + +The index of the current session for this user (same as domain\_sessionidx) + +Signature: + +```typescript +sessionIndex: number; +``` diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.clientsession.storagemechanism.md b/trackers/browser-tracker/docs/markdown/browser-tracker.clientsession.storagemechanism.md new file mode 100644 index 000000000..5dfd14eaa --- /dev/null +++ b/trackers/browser-tracker/docs/markdown/browser-tracker.clientsession.storagemechanism.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [ClientSession](./browser-tracker.clientsession.md) > [storageMechanism](./browser-tracker.clientsession.storagemechanism.md) + +## ClientSession.storageMechanism property + +The mechanism that the session information has been stored on the device + +Signature: + +```typescript +storageMechanism: string; +``` diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.clientsession.userid.md b/trackers/browser-tracker/docs/markdown/browser-tracker.clientsession.userid.md new file mode 100644 index 000000000..3df2405e0 --- /dev/null +++ b/trackers/browser-tracker/docs/markdown/browser-tracker.clientsession.userid.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [ClientSession](./browser-tracker.clientsession.md) > [userId](./browser-tracker.clientsession.userid.md) + +## ClientSession.userId property + +An identifier for the user of the session (same as domain\_userid) + +Signature: + +```typescript +userId: string; +``` diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.md b/trackers/browser-tracker/docs/markdown/browser-tracker.md index b72de0a61..48b3032bc 100644 --- a/trackers/browser-tracker/docs/markdown/browser-tracker.md +++ b/trackers/browser-tracker/docs/markdown/browser-tracker.md @@ -52,6 +52,7 @@ | [BrowserPluginConfiguration](./browser-tracker.browserpluginconfiguration.md) | The configuration of the plugin to add | | [BrowserTracker](./browser-tracker.browsertracker.md) | The Browser Tracker | | [ClearUserDataConfiguration](./browser-tracker.clearuserdataconfiguration.md) | The configuration that can be changed when enabling anonymous tracking | +| [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 | | [DisableAnonymousTrackingConfiguration](./browser-tracker.disableanonymoustrackingconfiguration.md) | The configuration that can be changed when disabling anonymous tracking | diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.trackerconfiguration.md b/trackers/browser-tracker/docs/markdown/browser-tracker.trackerconfiguration.md index a6a0b3385..81b8fdeaf 100644 --- a/trackers/browser-tracker/docs/markdown/browser-tracker.trackerconfiguration.md +++ b/trackers/browser-tracker/docs/markdown/browser-tracker.trackerconfiguration.md @@ -39,6 +39,7 @@ type TrackerConfiguration = { customHeaders?: Record; retryStatusCodes?: number[]; dontRetryStatusCodes?: number[]; + onSessionUpdateCallback?: (updatedSession: ClientSession) => void; }; ``` diff --git a/trackers/node-tracker/docs/markdown/node-tracker.tracker.md b/trackers/node-tracker/docs/markdown/node-tracker.tracker.md index 5a13da417..8974598de 100644 --- a/trackers/node-tracker/docs/markdown/node-tracker.tracker.md +++ b/trackers/node-tracker/docs/markdown/node-tracker.tracker.md @@ -17,4 +17,6 @@ interface Tracker extends TrackerCore | --- | --- | --- | | [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) | +| [setSessionIndex](./node-tracker.tracker.setsessionindex.md) | (sessionIndex: string \| number) => void | Set the session index (domain_sessionidx in the atomic events) | diff --git a/trackers/node-tracker/docs/markdown/node-tracker.tracker.setsessionid.md b/trackers/node-tracker/docs/markdown/node-tracker.tracker.setsessionid.md new file mode 100644 index 000000000..24cc52945 --- /dev/null +++ b/trackers/node-tracker/docs/markdown/node-tracker.tracker.setsessionid.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [Tracker](./node-tracker.tracker.md) > [setSessionId](./node-tracker.tracker.setsessionid.md) + +## Tracker.setSessionId property + +Set the session ID (`domain_sessionid` in the atomic events) + +Signature: + +```typescript +setSessionId: (sessionId: string) => void; +``` diff --git a/trackers/node-tracker/docs/markdown/node-tracker.tracker.setsessionindex.md b/trackers/node-tracker/docs/markdown/node-tracker.tracker.setsessionindex.md new file mode 100644 index 000000000..0432007c2 --- /dev/null +++ b/trackers/node-tracker/docs/markdown/node-tracker.tracker.setsessionindex.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [Tracker](./node-tracker.tracker.md) > [setSessionIndex](./node-tracker.tracker.setsessionindex.md) + +## Tracker.setSessionIndex property + +Set the session index (`domain_sessionidx` in the atomic events) + +Signature: + +```typescript +setSessionIndex: (sessionIndex: string | number) => void; +``` From 021597728ca959783655db281befb818a68499b1 Mon Sep 17 00:00:00 2001 From: Matus Tomlein Date: Mon, 5 Jun 2023 10:00:31 +0200 Subject: [PATCH 095/449] Add Snowplow Media plugin with APIs to track media events (close #1176) PR #1177 --- ...ue-1176-media_plugin_2023-04-17-15-11.json | 10 + .../rush/browser-approved-packages.json | 4 +- common/config/rush/pnpm-lock.yaml | 149 ++-- common/config/rush/repo-state.json | 2 +- plugins/browser-plugin-media/CHANGELOG.json | 5 + plugins/browser-plugin-media/LICENSE | 29 + plugins/browser-plugin-media/README.md | 59 ++ plugins/browser-plugin-media/jest.config.js | 5 + plugins/browser-plugin-media/package.json | 55 ++ plugins/browser-plugin-media/rollup.config.js | 67 ++ .../browser-plugin-media/src/adTracking.ts | 65 ++ plugins/browser-plugin-media/src/api.ts | 726 ++++++++++++++++++ plugins/browser-plugin-media/src/core.ts | 60 ++ plugins/browser-plugin-media/src/index.ts | 1 + .../browser-plugin-media/src/mediaTracking.ts | 208 +++++ .../browser-plugin-media/src/pingInterval.ts | 49 ++ plugins/browser-plugin-media/src/schemata.ts | 27 + .../browser-plugin-media/src/sessionStats.ts | 203 +++++ .../src/sessionTracking.ts | 35 + plugins/browser-plugin-media/src/types.ts | 382 +++++++++ plugins/browser-plugin-media/test/api.test.ts | 653 ++++++++++++++++ .../test/pingInterval.test.ts | 71 ++ .../test/sessionStats.test.ts | 217 ++++++ plugins/browser-plugin-media/tsconfig.json | 3 + rush.json | 6 + 25 files changed, 3019 insertions(+), 72 deletions(-) create mode 100644 common/changes/@snowplow/browser-plugin-media/issue-1176-media_plugin_2023-04-17-15-11.json create mode 100644 plugins/browser-plugin-media/CHANGELOG.json create mode 100644 plugins/browser-plugin-media/LICENSE create mode 100644 plugins/browser-plugin-media/README.md create mode 100644 plugins/browser-plugin-media/jest.config.js create mode 100644 plugins/browser-plugin-media/package.json create mode 100644 plugins/browser-plugin-media/rollup.config.js create mode 100644 plugins/browser-plugin-media/src/adTracking.ts create mode 100644 plugins/browser-plugin-media/src/api.ts create mode 100644 plugins/browser-plugin-media/src/core.ts create mode 100644 plugins/browser-plugin-media/src/index.ts create mode 100644 plugins/browser-plugin-media/src/mediaTracking.ts create mode 100644 plugins/browser-plugin-media/src/pingInterval.ts create mode 100644 plugins/browser-plugin-media/src/schemata.ts create mode 100644 plugins/browser-plugin-media/src/sessionStats.ts create mode 100644 plugins/browser-plugin-media/src/sessionTracking.ts create mode 100644 plugins/browser-plugin-media/src/types.ts create mode 100644 plugins/browser-plugin-media/test/api.test.ts create mode 100644 plugins/browser-plugin-media/test/pingInterval.test.ts create mode 100644 plugins/browser-plugin-media/test/sessionStats.test.ts create mode 100644 plugins/browser-plugin-media/tsconfig.json diff --git a/common/changes/@snowplow/browser-plugin-media/issue-1176-media_plugin_2023-04-17-15-11.json b/common/changes/@snowplow/browser-plugin-media/issue-1176-media_plugin_2023-04-17-15-11.json new file mode 100644 index 000000000..12d3a95c1 --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-media/issue-1176-media_plugin_2023-04-17-15-11.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-media", + "comment": "Add Snowplow Media plugin with APIs to track media events (#1176)", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-media" +} \ 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 8dbba135f..0d47789ec 100644 --- a/common/config/rush/browser-approved-packages.json +++ b/common/config/rush/browser-approved-packages.json @@ -188,7 +188,7 @@ }, { "name": "@types/uuid", - "allowedCategories": [ "libraries", "trackers" ] + "allowedCategories": [ "libraries", "plugins", "trackers" ] }, { "name": "@types/youtube", @@ -368,7 +368,7 @@ }, { "name": "uuid", - "allowedCategories": [ "libraries", "trackers" ] + "allowedCategories": [ "libraries", "plugins", "trackers" ] }, { "name": "wdio-chromedriver-service", diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index 2af36d24e..f56229ef6 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -772,6 +772,59 @@ importers: ts-jest: 27.1.3_60149d457e34ffba7d4e845dde6a1263 typescript: 4.6.2 + ../../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 + ../../plugins/browser-plugin-media-tracking: specifiers: '@ampproject/rollup-plugin-closure-compiler': ~0.27.0 @@ -1502,7 +1555,7 @@ packages: '@babel/traverse': 7.12.10 '@babel/types': 7.16.8 convert-source-map: 1.7.0 - debug: 4.3.3 + debug: 4.3.4 gensync: 1.0.0-beta.2 json5: 2.1.3 lodash: 4.17.21 @@ -1768,7 +1821,7 @@ packages: '@babel/helper-split-export-declaration': 7.12.11 '@babel/parser': 7.16.12 '@babel/types': 7.16.8 - debug: 4.3.3 + debug: 4.3.4 globals: 11.12.0 lodash: 4.17.21 transitivePeerDependencies: @@ -1799,7 +1852,7 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 - debug: 4.3.3 + debug: 4.3.4 espree: 9.3.1 globals: 13.12.0 ignore: 5.2.0 @@ -1820,7 +1873,7 @@ packages: engines: {node: '>=10.10.0'} dependencies: '@humanwhocodes/object-schema': 1.2.1 - debug: 4.3.3 + debug: 4.3.4 minimatch: 3.0.4 transitivePeerDependencies: - supports-color @@ -2108,17 +2161,6 @@ packages: chalk: 4.1.2 dev: true - /@jest/types/27.4.2: - resolution: {integrity: sha512-j35yw0PMTPpZsUoOBiuHzr1zTYoad1cVIE0ajEjcrJONxxrko/IRGKkXx3os0Nsi4Hu3+5VmDbVfq5WhG/pWAg==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@types/istanbul-lib-coverage': 2.0.3 - '@types/istanbul-reports': 3.0.0 - '@types/node': 14.6.4 - '@types/yargs': 16.0.4 - 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} @@ -4090,7 +4132,7 @@ packages: dev: true /co/4.6.0: - resolution: {integrity: sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=} + resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} dev: true @@ -4497,7 +4539,7 @@ packages: dev: true /dedent/0.7.0: - resolution: {integrity: sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=} + resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==} dev: true /deep-is/0.1.3: @@ -4950,7 +4992,7 @@ packages: ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 - debug: 4.3.3 + debug: 4.3.4 doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.1.1 @@ -5073,7 +5115,7 @@ packages: merge-stream: 2.0.0 npm-run-path: 4.0.1 onetime: 5.1.2 - signal-exit: 3.0.3 + signal-exit: 3.0.7 strip-final-newline: 2.0.0 dev: true @@ -5098,7 +5140,7 @@ packages: dev: true /exit/0.1.2: - resolution: {integrity: sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=} + resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==} engines: {node: '>= 0.8.0'} dev: true @@ -5250,7 +5292,7 @@ packages: dev: true /fast-levenshtein/2.0.6: - resolution: {integrity: sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=} + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} dev: true /fastq/1.10.0: @@ -6442,7 +6484,7 @@ packages: resolution: {integrity: sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==} engines: {node: '>=8'} dependencies: - debug: 4.3.3 + debug: 4.3.4 istanbul-lib-coverage: 3.2.0 source-map: 0.6.1 transitivePeerDependencies: @@ -7045,18 +7087,6 @@ packages: micromatch: 4.0.2 dev: true - /jest-util/27.4.2: - resolution: {integrity: sha512-YuxxpXU6nlMan9qyLuxHaMMOzXAl5aGZWCSzben5DhLHemYQxCc4YK+4L3ZrCutT8GPQ+ui9k5D8rUJoDioMnA==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@jest/types': 27.4.2 - '@types/node': 14.6.4 - chalk: 4.1.2 - ci-info: 3.3.0 - graceful-fs: 4.2.4 - picomatch: 2.3.1 - dev: true - /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} @@ -7224,7 +7254,7 @@ packages: form-data: 3.0.0 html-encoding-sniffer: 2.0.1 http-proxy-agent: 4.0.1 - https-proxy-agent: 5.0.0 + https-proxy-agent: 5.0.1 is-potential-custom-element-name: 1.0.1 nwsapi: 2.2.0 parse5: 6.0.1 @@ -7275,7 +7305,7 @@ packages: dev: true /json-stable-stringify-without-jsonify/1.0.1: - resolution: {integrity: sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=} + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} dev: true /json-stringify-safe/5.0.1: @@ -7361,7 +7391,7 @@ packages: dev: true /levn/0.3.0: - resolution: {integrity: sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=} + resolution: {integrity: sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==} engines: {node: '>= 0.8.0'} dependencies: prelude-ls: 1.1.2 @@ -7470,7 +7500,7 @@ packages: dev: true /lodash.memoize/4.1.2: - resolution: {integrity: sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=} + resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} dev: true /lodash.merge/4.6.2: @@ -7610,7 +7640,7 @@ packages: dev: true /makeerror/1.0.11: - resolution: {integrity: sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=} + resolution: {integrity: sha512-M/XvMZ6oK4edXjvg/ZYyzByg8kjpVrF/m0x3wbhOlzJfsQgFkqP1rJnLnJExOcslmLSSeLiN6NmF+cBoKJHGTg==} dependencies: tmpl: 1.0.4 dev: true @@ -7903,7 +7933,7 @@ packages: optional: true /natural-compare/1.4.0: - resolution: {integrity: sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=} + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} dev: true /negotiator/0.6.2: @@ -7974,7 +8004,7 @@ packages: dev: true /node-int64/0.4.0: - resolution: {integrity: sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=} + resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} dev: true /node-releases/2.0.1: @@ -8655,7 +8685,7 @@ packages: dev: true /prelude-ls/1.1.2: - resolution: {integrity: sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=} + resolution: {integrity: sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==} engines: {node: '>= 0.8.0'} dev: true @@ -9391,10 +9421,6 @@ packages: resolution: {integrity: sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==} dev: true - /signal-exit/3.0.3: - resolution: {integrity: sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==} - dev: true - /signal-exit/3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} dev: true @@ -9657,15 +9683,6 @@ packages: strip-ansi: 3.0.1 dev: true - /string-width/4.2.0: - resolution: {integrity: sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==} - engines: {node: '>=8'} - dependencies: - emoji-regex: 8.0.0 - is-fullwidth-code-point: 3.0.0 - strip-ansi: 6.0.0 - dev: true - /string-width/4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} @@ -9735,13 +9752,6 @@ packages: ansi-regex: 2.1.1 dev: true - /strip-ansi/6.0.0: - resolution: {integrity: sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==} - engines: {node: '>=8'} - dependencies: - ansi-regex: 5.0.1 - dev: true - /strip-ansi/6.0.1: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} @@ -9990,7 +10000,7 @@ packages: dev: true /tmpl/1.0.4: - resolution: {integrity: sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=} + resolution: {integrity: sha512-9tP427gQBl7Mx3vzr3mquZ+Rq+1sAqIJb5dPSYEjWMYsqitxARsFCHkZS3sDptHAmrUPCZfzXNZqSuBIHdpV5A==} dev: true /to-buffer/1.1.1: @@ -9998,7 +10008,7 @@ packages: dev: true /to-fast-properties/2.0.0: - resolution: {integrity: sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=} + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} engines: {node: '>=4'} dev: true @@ -10084,7 +10094,7 @@ packages: bs-logger: 0.2.6 fast-json-stable-stringify: 2.1.0 jest: 27.5.1 - jest-util: 27.4.2 + jest-util: 27.5.1 json5: 2.1.3 lodash.memoize: 4.1.2 make-error: 1.3.6 @@ -10157,7 +10167,7 @@ packages: dev: true /type-check/0.3.2: - resolution: {integrity: sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=} + resolution: {integrity: sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==} engines: {node: '>= 0.8.0'} dependencies: prelude-ls: 1.1.2 @@ -10382,6 +10392,7 @@ packages: /w3c-hr-time/1.0.2: resolution: {integrity: sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==} + deprecated: Use your platform's native performance.now() and performance.timeOrigin. dependencies: browser-process-hrtime: 1.0.0 dev: true @@ -10394,7 +10405,7 @@ packages: dev: true /walker/1.0.7: - resolution: {integrity: sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=} + resolution: {integrity: sha512-cF4je9Fgt6sj1PKfuFt9jpQPeHosM+Ryma/hfY9U7uXGKM7pJCsF0v2r55o+Il54+i77SyYWetB4tD1dEygRkw==} dependencies: makeerror: 1.0.11 dev: true @@ -10598,7 +10609,7 @@ packages: dependencies: imurmurhash: 0.1.4 is-typedarray: 1.0.0 - signal-exit: 3.0.3 + signal-exit: 3.0.7 typedarray-to-buffer: 3.1.5 dev: true @@ -10685,7 +10696,7 @@ packages: escalade: 3.1.1 get-caller-file: 2.0.5 require-directory: 2.1.1 - string-width: 4.2.0 + string-width: 4.2.3 y18n: 5.0.5 yargs-parser: 20.2.4 dev: true diff --git a/common/config/rush/repo-state.json b/common/config/rush/repo-state.json index be8927900..7fbe4955b 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": "1b4af3f37be662be92115c24013c6b260e74acc8", + "pnpmShrinkwrapHash": "5484bd61ddb42855b5228699721d75c1d5b9cb25", "preferredVersionsHash": "bf21a9e8fbc5a3846fb05b4fa0859e0917b2202f" } diff --git a/plugins/browser-plugin-media/CHANGELOG.json b/plugins/browser-plugin-media/CHANGELOG.json new file mode 100644 index 000000000..06fb5e1d0 --- /dev/null +++ b/plugins/browser-plugin-media/CHANGELOG.json @@ -0,0 +1,5 @@ +{ + "name": "@snowplow/browser-plugin-media", + "entries": [ + ] +} diff --git a/plugins/browser-plugin-media/LICENSE b/plugins/browser-plugin-media/LICENSE new file mode 100644 index 000000000..a311732d5 --- /dev/null +++ b/plugins/browser-plugin-media/LICENSE @@ -0,0 +1,29 @@ +BSD 3-Clause License + +Copyright (c) 2023 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-media/README.md b/plugins/browser-plugin-media/README.md new file mode 100644 index 000000000..9d0a7251d --- /dev/null +++ b/plugins/browser-plugin-media/README.md @@ -0,0 +1,59 @@ +# Snowplow Media Plugin + +[![npm version][npm-image]][npm-url] +[![License][license-image]](LICENSE) + +Browser Plugin to be used with `@snowplow/browser-tracker`. + +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/). + +### 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-media +``` + +## Usage + +Initialize your tracker with the SnowplowMediaPlugin: + +```js +import { newTracker } from '@snowplow/browser-tracker'; +import { SnowplowMediaPlugin } from '@snowplow/browser-plugin-media'; + +newTracker('sp1', '{{collector_url}}', { + appId: 'my-app-id', + plugins: [ SnowplowMediaPlugin() ], +}); +``` + +For a full API reference, you can read the plugin [documentation page](https://docs.snowplow.io/docs/collecting-data/collecting-from-own-applications/javascript-trackers/browser-tracker/browser-tracker-v3-reference/plugins/media/). + +## Copyright and license + +Licensed and distributed under the [BSD 3-Clause License](LICENSE) ([An OSI Approved License][osi]). + +Copyright (c) 2022 Snowplow Analytics Ltd. + +All rights reserved. + +[npm-url]: https://www.npmjs.com/package/@snowplow/browser-plugin-media +[npm-image]: https://img.shields.io/npm/v/@snowplow/browser-plugin-media +[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-media diff --git a/plugins/browser-plugin-media/jest.config.js b/plugins/browser-plugin-media/jest.config.js new file mode 100644 index 000000000..bd3ea4e2a --- /dev/null +++ b/plugins/browser-plugin-media/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-media/package.json b/plugins/browser-plugin-media/package.json new file mode 100644 index 000000000..5f81bd350 --- /dev/null +++ b/plugins/browser-plugin-media/package.json @@ -0,0 +1,55 @@ +{ + "name": "@snowplow/browser-plugin-media", + "version": "3.11.0", + "description": "Snowplow media tracking", + "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", + "uuid": "^3.4.0" + }, + "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/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", + "typescript": "~4.6.2" + }, + "peerDependencies": { + "@snowplow/browser-tracker": "~3.11.0" + } +} diff --git a/plugins/browser-plugin-media/rollup.config.js b/plugins/browser-plugin-media/rollup.config.js new file mode 100644 index 000000000..67bc856d7 --- /dev/null +++ b/plugins/browser-plugin-media/rollup.config.js @@ -0,0 +1,67 @@ +/* + * 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 = 'snowplowMedia'; + +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-media/src/adTracking.ts b/plugins/browser-plugin-media/src/adTracking.ts new file mode 100644 index 000000000..a41ba7ba0 --- /dev/null +++ b/plugins/browser-plugin-media/src/adTracking.ts @@ -0,0 +1,65 @@ +import { SelfDescribingJson } from '@snowplow/tracker-core'; +import { buildMediaAdBreakEntity, buildMediaAdEntity } from './core'; +import { MediaPlayer, MediaAd, MediaAdUpdate, MediaAdBreak, MediaPlayerAdBreakUpdate, MediaEventType } from './types'; + +/** Keeps track of the ad and ad break entities and updates them according to tracked events. */ +export class MediaAdTracking { + ad?: MediaAd; + adBreak?: MediaAdBreak; + podPosition = 0; + + updateForThisEvent( + eventType: MediaEventType, + player: MediaPlayer, + ad?: MediaAdUpdate, + adBreak?: MediaPlayerAdBreakUpdate + ) { + if (eventType == MediaEventType.AdStart) { + this.ad = undefined; + this.podPosition++; + } else if (eventType == MediaEventType.AdBreakStart) { + this.adBreak = undefined; + this.podPosition = 0; + } + + if (ad !== undefined) { + let position = { podPosition: this.podPosition > 0 ? this.podPosition : undefined }; + if (this.ad !== undefined) { + this.ad = { ...this.ad, ...position, ...ad }; + } else { + this.ad = { ...position, ...ad }; + } + } + + if (adBreak !== undefined) { + let startTime = { startTime: player.currentTime }; + if (this.adBreak !== undefined) { + this.adBreak = { ...startTime, ...this.adBreak, ...adBreak }; + } else { + this.adBreak = { ...startTime, ...adBreak }; + } + } + } + + updateForNextEvent(eventType: MediaEventType) { + if (eventType == MediaEventType.AdBreakEnd) { + this.adBreak = undefined; + this.podPosition = 0; + } + + if (eventType == MediaEventType.AdComplete || eventType == MediaEventType.AdSkip) { + this.ad = undefined; + } + } + + getContext(): SelfDescribingJson[] { + let context = []; + if (this.ad !== undefined) { + context.push(buildMediaAdEntity(this.ad)); + } + if (this.adBreak !== undefined) { + context.push(buildMediaAdBreakEntity(this.adBreak)); + } + return context; + } +} diff --git a/plugins/browser-plugin-media/src/api.ts b/plugins/browser-plugin-media/src/api.ts new file mode 100644 index 000000000..e83ab1a1a --- /dev/null +++ b/plugins/browser-plugin-media/src/api.ts @@ -0,0 +1,726 @@ +import { BrowserPlugin, BrowserTracker, dispatchToTrackersInCollection } from '@snowplow/browser-tracker-core'; +import { buildSelfDescribingEvent, LOG, SelfDescribingJson } from '@snowplow/tracker-core'; +import { MediaTracking } from './mediaTracking'; +import { MediaPingInterval } from './pingInterval'; +import { MediaSessionTracking } from './sessionTracking'; +import { + CommonMediaEventProperties, + MediaEventType, + MediaAdBreakType, + MediaTrackArguments, + MediaTrackAdBreakArguments, + MediaTrackAdArguments, + MediaTrackingConfiguration, + MediaTrackPlaybackRateChangeArguments, + MediaEvent, + MediaTrackVolumeChangeArguments, + MediaTrackFullscreenChangeArguments, + MediaTrackPictureInPictureChangeArguments, + MediaTrackAdPercentProgressArguments, + MediaTrackQualityChangeArguments, + MediaTrackErrorArguments, + MediaTrackSelfDescribingEventArguments, +} from './types'; + +export { MediaAdBreakType as MediaPlayerAdBreakType }; + +const _trackers: Record = {}; +const _context: Record = {}; + +/** + * Adds media tracking + */ +export function SnowplowMediaPlugin(): BrowserPlugin { + let trackerId: string; + return { + activateBrowserPlugin: (tracker) => { + trackerId = tracker.id; + _trackers[trackerId] = tracker; + _context[trackerId] = []; + }, + contexts: () => { + return _context[trackerId] || []; + }, + }; +} + +const activeMedias: { [key: string]: MediaTracking } = {}; + +/** + * Starts media tracking for a single media content tracked in a media player. + * The tracking instance is uniquely identified by a given ID. + * All subsequent media track calls will be processed within this media tracking if given the same ID. + * + * @param config Configuration for setting up media tracking + * @param trackers The tracker identifiers which ping events will be sent to + */ +export function startMediaTracking( + config: MediaTrackingConfiguration & CommonMediaEventProperties, + trackers: Array = Object.keys(_trackers) +) { + const pingInterval = typeof config.pings === 'boolean' ? undefined : config.pings?.pingInterval; + const maxPausedPings = typeof config.pings === 'boolean' ? undefined : config.pings?.maxPausedPings; + const pings = + config.pings === false || config.pings === undefined + ? undefined + : new MediaPingInterval(pingInterval, maxPausedPings, () => { + track({ mediaEvent: { type: MediaEventType.Ping } }, { id: config.id }, trackers); + }); + + const sessionTracking: MediaSessionTracking | undefined = + config.session === false ? undefined : new MediaSessionTracking(config.id, config.session?.startedAt, pingInterval); + + const mediaTracking = new MediaTracking( + config.id, + config.player, + sessionTracking, + pings, + config.boundaries, + config.captureEvents, + config.updatePageActivityWhilePlaying, + config.context + ); + activeMedias[mediaTracking.id] = mediaTracking; +} + +/** + * Ends media tracking with the given ID if previously started. + * Clears local state for the media tracking. + * + * @param configuration Configuration with the media tracking ID + */ +export function endMediaTracking(configuration: { id: string }) { + if (activeMedias[configuration.id]) { + activeMedias[configuration.id].stop(); + delete activeMedias[configuration.id]; + } +} + +/** + * Updates stored attributes of the media tracking such as the current playback. + * Use this function to continually update the player attributes so that they + * can be sent in the background ping events. + * + * @param args The attributes for the media entities + * @param trackers The tracker identifiers which any resulting event will be sent to + */ +export function updateMediaTracking( + args: MediaTrackArguments & CommonMediaEventProperties, + trackers: Array = Object.keys(_trackers) +) { + track({}, args, trackers); +} + +/** + * Tracks a media player ready event that is fired when the media tracking is successfully + * attached to the player and can track events. + * + * @param args The attributes for the media player event and entities + * @param trackers The tracker identifiers which the event will be sent to + */ +export function trackMediaReady( + args: MediaTrackArguments & CommonMediaEventProperties, + trackers: Array = Object.keys(_trackers) +) { + track({ mediaEvent: { type: MediaEventType.Ready } }, args, trackers); +} + +/** + * Tracks a media player play event sent when the player changes state to playing from + * previously being paused. + * + * @param args The attributes for the media player event and entities + * @param trackers The tracker identifiers which the event will be sent to + */ +export function trackMediaPlay( + args: MediaTrackArguments & CommonMediaEventProperties, + trackers: Array = Object.keys(_trackers) +) { + track( + { mediaEvent: { type: MediaEventType.Play } }, + { + ...args, + player: { + ...args.player, + paused: false, + }, + }, + trackers + ); +} + +/** + * Tracks a media player pause event sent when the user pauses the playback. + * + * @param args The attributes for the media player event and entities + * @param trackers The tracker identifiers which the event will be sent to + */ +export function trackMediaPause( + args: MediaTrackArguments & CommonMediaEventProperties, + trackers: Array = Object.keys(_trackers) +) { + track( + { mediaEvent: { type: MediaEventType.Pause } }, + { + ...args, + player: { + ...args.player, + paused: true, + }, + }, + trackers + ); +} + +/** + * Tracks a media player end event sent when playback stops when end of the media + * is reached or because no further data is available. + * + * @param args The attributes for the media player event and entities + * @param trackers The tracker identifiers which the event will be sent to + */ +export function trackMediaEnd( + args: MediaTrackArguments & CommonMediaEventProperties, + trackers: Array = Object.keys(_trackers) +) { + track( + { mediaEvent: { type: MediaEventType.End } }, + { + ...args, + player: { + ...args.player, + ended: true, + paused: true, + }, + }, + trackers + ); +} + +/** + * Tracks a media player seek start event sent when a seek operation begins. + * + * @param args The attributes for the media player event and entities + * @param trackers The tracker identifiers which the event will be sent to + */ +export function trackMediaSeekStart( + args: MediaTrackArguments & CommonMediaEventProperties, + trackers: Array = Object.keys(_trackers) +) { + track({ mediaEvent: { type: MediaEventType.SeekStart } }, args, trackers); +} + +/** + * Tracks a media player seek end event sent when a seek operation completes. + * + * @param args The attributes for the media player event and entities + * @param trackers The tracker identifiers which the event will be sent to + */ +export function trackMediaSeekEnd( + args: MediaTrackArguments & CommonMediaEventProperties, + trackers: Array = Object.keys(_trackers) +) { + track({ mediaEvent: { type: MediaEventType.SeekEnd } }, args, trackers); +} + +/** + * Tracks a media player playback rate change event sent when the playback rate has changed. + * + * If not passed here, the previous rate is taken from the last setting in media player. + * + * @param args The attributes for the media player event and entities + * @param trackers The tracker identifiers which the event will be sent to + */ +export function trackMediaPlaybackRateChange( + args: MediaTrackArguments & MediaTrackPlaybackRateChangeArguments & CommonMediaEventProperties, + trackers: Array = Object.keys(_trackers) +) { + const { previousRate, newRate } = args; + track( + { + mediaEvent: { + type: MediaEventType.PlaybackRateChange, + eventBody: { + previousRate: previousRate ?? getMedia(args.id)?.player.playbackRate, + newRate, + }, + }, + }, + { + ...args, + player: { ...args.player, playbackRate: newRate }, + }, + trackers + ); +} + +/** + * Tracks a media player volume change event sent when the volume has changed. + * + * If not passed here, the previous volume is taken from the last setting in media player. + * + * @param args The attributes for the media player event and entities + * @param trackers The tracker identifiers which the event will be sent to + */ +export function trackMediaVolumeChange( + args: MediaTrackArguments & MediaTrackVolumeChangeArguments & CommonMediaEventProperties, + trackers: Array = Object.keys(_trackers) +) { + const { previousVolume, newVolume } = args; + track( + { + mediaEvent: { + type: MediaEventType.VolumeChange, + eventBody: { + previousVolume: previousVolume ?? getMedia(args.id)?.player.volume, + newVolume, + }, + }, + }, + { + ...args, + player: { ...args.player, volume: newVolume }, + }, + trackers + ); +} + +/** + * Tracks a media player fullscreen change event fired immediately after + * the browser switches into or out of full-screen mode. + * + * @param args The attributes for the media player event and entities + * @param trackers The tracker identifiers which the event will be sent to + */ +export function trackMediaFullscreenChange( + args: MediaTrackArguments & MediaTrackFullscreenChangeArguments & CommonMediaEventProperties, + trackers: Array = Object.keys(_trackers) +) { + const { fullscreen } = args; + track( + { + mediaEvent: { + type: MediaEventType.FullscreenChange, + eventBody: { fullscreen }, + }, + }, + { + ...args, + player: { ...args.player, fullscreen }, + }, + trackers + ); +} + +/** + * Tracks a media player picture-in-picture change event fired immediately + * after the browser switches into or out of picture-in-picture mode. + * + * @param args The attributes for the media player event and entities + * @param trackers The tracker identifiers which the event will be sent to + */ +export function trackMediaPictureInPictureChange( + args: MediaTrackArguments & MediaTrackPictureInPictureChangeArguments & CommonMediaEventProperties, + trackers: Array = Object.keys(_trackers) +) { + const { pictureInPicture } = args; + track( + { + mediaEvent: { + type: MediaEventType.PictureInPictureChange, + eventBody: { pictureInPicture }, + }, + }, + { + ...args, + player: { ...args.player, pictureInPicture }, + }, + trackers + ); +} + +/** + * Tracks a media player ad break start event that signals the start of an ad break. + * + * @param args The attributes for the media player event and entities + * @param trackers The tracker identifiers which the event will be sent to + */ +export function trackMediaAdBreakStart( + args: MediaTrackArguments & MediaTrackAdBreakArguments & CommonMediaEventProperties, + trackers: Array = Object.keys(_trackers) +) { + track({ mediaEvent: { type: MediaEventType.AdBreakStart } }, args, trackers); +} + +/** + * Tracks a media player ad break end event that signals the end of an ad break. + * + * @param args The attributes for the media player event and entities + * @param trackers The tracker identifiers which the event will be sent to + */ +export function trackMediaAdBreakEnd( + args: MediaTrackArguments & MediaTrackAdBreakArguments & CommonMediaEventProperties, + trackers: Array = Object.keys(_trackers) +) { + track({ mediaEvent: { type: MediaEventType.AdBreakEnd } }, args, trackers); +} + +/** + * Tracks a media player ad start event that signals the start of an ad. + * + * @param args The attributes for the media player event and entities + * @param trackers The tracker identifiers which the event will be sent to + */ +export function trackMediaAdStart( + args: MediaTrackArguments & MediaTrackAdBreakArguments & MediaTrackAdArguments & CommonMediaEventProperties, + trackers: Array = Object.keys(_trackers) +) { + track({ mediaEvent: { type: MediaEventType.AdStart } }, args, trackers); +} + +/** + * Tracks a media player ad skip event fired when the user activated + * a skip control to skip the ad creative. + * + * @param args The attributes for the media player event and entities + * @param trackers The tracker identifiers which the event will be sent to + */ +export function trackMediaAdSkip( + args: MediaTrackArguments & + MediaTrackAdPercentProgressArguments & + MediaTrackAdBreakArguments & + MediaTrackAdArguments & + CommonMediaEventProperties, + trackers: Array = Object.keys(_trackers) +) { + let { percentProgress } = args; + if (percentProgress !== undefined) { percentProgress = Math.floor(percentProgress); } + track( + { + mediaEvent: { + type: MediaEventType.AdSkip, + eventBody: { percentProgress }, + }, + }, + args, + trackers + ); +} + +/** + * Tracks a media player ad first quartile played event fired when + * a quartile of ad is reached after continuous ad playback at normal speed. + * + * @param args The attributes for the media player event and entities + * @param trackers The tracker identifiers which the event will be sent to + */ +export function trackMediaAdFirstQuartile( + args: MediaTrackArguments & MediaTrackAdBreakArguments & MediaTrackAdArguments & CommonMediaEventProperties, + trackers: Array = Object.keys(_trackers) +) { + track( + { + mediaEvent: { + type: MediaEventType.AdFirstQuartile, + eventBody: { percentProgress: 25 }, + }, + }, + args, + trackers + ); +} + +/** + * Tracks a media player ad midpoint played event fired when a midpoint of ad is + * reached after continuous ad playback at normal speed. + * + * @param args The attributes for the media player event and entities + * @param trackers The tracker identifiers which the event will be sent to + */ +export function trackMediaAdMidpoint( + args: MediaTrackArguments & MediaTrackAdBreakArguments & MediaTrackAdArguments & CommonMediaEventProperties, + trackers: Array = Object.keys(_trackers) +) { + track( + { + mediaEvent: { + type: MediaEventType.AdMidpoint, + eventBody: { percentProgress: 50 }, + }, + }, + args, + trackers + ); +} + +/** + * Tracks media player ad third quartile played event fired when a quartile + * of ad is reached after continuous ad playback at normal speed. + * + * @param args The attributes for the media player event and entities + * @param trackers The tracker identifiers which the event will be sent to + */ +export function trackMediaAdThirdQuartile( + args: MediaTrackArguments & MediaTrackAdBreakArguments & MediaTrackAdArguments & CommonMediaEventProperties, + trackers: Array = Object.keys(_trackers) +) { + track( + { + mediaEvent: { + type: MediaEventType.AdThirdQuartile, + eventBody: { percentProgress: 75 }, + }, + }, + args, + trackers + ); +} + +/** + * Tracks a media player ad complete event that signals the ad creative + * was played to the end at normal speed. + * + * @param args The attributes for the media player event and entities + * @param trackers The tracker identifiers which the event will be sent to + */ +export function trackMediaAdComplete( + args: MediaTrackArguments & MediaTrackAdBreakArguments & MediaTrackAdArguments & CommonMediaEventProperties, + trackers: Array = Object.keys(_trackers) +) { + track({ mediaEvent: { type: MediaEventType.AdComplete } }, args, trackers); +} + +/** + * Tracks a media player ad click event fired when the user clicked on the ad. + * + * @param args The attributes for the media player event and entities + * @param trackers The tracker identifiers which the event will be sent to + */ +export function trackMediaAdClick( + args: MediaTrackArguments & + MediaTrackAdPercentProgressArguments & + MediaTrackAdBreakArguments & + CommonMediaEventProperties, + trackers: Array = Object.keys(_trackers) +) { + let { percentProgress } = args; + if (percentProgress !== undefined) { percentProgress = Math.floor(percentProgress); } + track( + { + mediaEvent: { + type: MediaEventType.AdClick, + eventBody: { percentProgress }, + }, + }, + args, + trackers + ); +} + +/** + * Tracks a media player ad pause event fired when the user clicked the pause + * control and stopped the ad creative. + * + * @param args The attributes for the media player event and entities + * @param trackers The tracker identifiers which the event will be sent to + */ +export function trackMediaAdPause( + args: MediaTrackArguments & + MediaTrackAdPercentProgressArguments & + MediaTrackAdBreakArguments & + CommonMediaEventProperties, + trackers: Array = Object.keys(_trackers) +) { + let { percentProgress } = args; + if (percentProgress !== undefined) { percentProgress = Math.floor(percentProgress); } + track( + { + mediaEvent: { + type: MediaEventType.AdPause, + eventBody: { percentProgress }, + }, + }, + args, + trackers + ); +} + +/** + * Tracks a media player ad resume event fired when the user resumed playing the + * ad creative after it had been stopped or paused. + * + * @param args The attributes for the media player event and entities + * @param trackers The tracker identifiers which the event will be sent to + */ +export function trackMediaAdResume( + args: MediaTrackArguments & + MediaTrackAdPercentProgressArguments & + MediaTrackAdBreakArguments & + MediaTrackAdArguments & + CommonMediaEventProperties, + trackers: Array = Object.keys(_trackers) +) { + let { percentProgress } = args; + if (percentProgress !== undefined) { percentProgress = Math.floor(percentProgress); } + track( + { + mediaEvent: { + type: MediaEventType.AdResume, + eventBody: { percentProgress: percentProgress }, + }, + }, + args, + trackers + ); +} + +/** + * Tracks a media player buffering start event fired when the player goes + * into the buffering state and begins to buffer content. + * + * End of buffering can be tracked using `trackMediaBufferEnd` or `trackMediaPlay` or + * by updating the `currentTime` property. + * + * @param args The attributes for the media player event and entities + * @param trackers The tracker identifiers which the event will be sent to + */ +export function trackMediaBufferStart( + args: MediaTrackArguments & CommonMediaEventProperties, + trackers: Array = Object.keys(_trackers) +) { + track({ mediaEvent: { type: MediaEventType.BufferStart } }, args, trackers); +} + +/** + * Tracks a media player buffering end event fired when the the player + * finishes buffering content and resumes playback. + * + * @param args The attributes for the media player event and entities + * @param trackers The tracker identifiers which the event will be sent to + */ +export function trackMediaBufferEnd( + args: MediaTrackArguments & CommonMediaEventProperties, + trackers: Array = Object.keys(_trackers) +) { + track({ mediaEvent: { type: MediaEventType.BufferEnd } }, args, trackers); +} + +/** + * Tracks a media player quality change event tracked when the video + * playback quality changes automatically. + * + * If not passed here, the previous quality is taken from the last setting in media player. + * + * @param args The attributes for the media player event and entities + * @param trackers The tracker identifiers which the event will be sent to + */ +export function trackMediaQualityChange( + args: MediaTrackArguments & MediaTrackQualityChangeArguments & CommonMediaEventProperties, + trackers: Array = Object.keys(_trackers) +) { + const { previousQuality, newQuality, bitrate, framesPerSecond, automatic, id } = args; + track( + { + mediaEvent: { + type: MediaEventType.QualityChange, + eventBody: { + previousQuality: previousQuality ?? getMedia(id)?.player.quality, + newQuality, + bitrate, + framesPerSecond, + automatic, + }, + }, + }, + { + ...args, + player: { ...args.player, quality: newQuality }, + }, + trackers + ); +} + +/** + * Tracks a media player error event tracked when the resource could not be loaded due to an error. + * + * @param args The attributes for the media player event and entities + * @param trackers The tracker identifiers which the event will be sent to + */ +export function trackMediaError( + args: MediaTrackArguments & MediaTrackErrorArguments & CommonMediaEventProperties, + trackers: Array = Object.keys(_trackers) +) { + const { errorCode, errorName, errorDescription } = args; + track( + { + mediaEvent: { + type: MediaEventType.Error, + eventBody: { errorCode, errorName, errorDescription }, + }, + }, + args, + trackers + ); +} + +/** + * Tracks a custom self-describing event within the context of the media tracking. + * It will attach the context entities managed by the media tracking to the event (e.g. player, session, ad). + * + * @param args The attributes for the event and entities + * @param trackers The tracker identifiers which the event will be sent to + */ +export function trackMediaSelfDescribingEvent( + args: MediaTrackSelfDescribingEventArguments & + MediaTrackArguments & + MediaTrackAdArguments & + MediaTrackAdBreakArguments & + CommonMediaEventProperties, + trackers: Array = Object.keys(_trackers) +) { + const { event } = args; + track({ customEvent: event }, args, trackers); +} + +function getMedia(id: string): MediaTracking | undefined { + if (activeMedias[id] === undefined) { + LOG.error(`Media tracking ${id} not started.`); + return undefined; + } + + return activeMedias[id]; +} + +function track( + event: { mediaEvent?: MediaEvent; customEvent?: SelfDescribingJson }, + args: MediaTrackArguments & MediaTrackAdArguments & MediaTrackAdBreakArguments & CommonMediaEventProperties, + trackers: Array = Object.keys(_trackers) +) { + const { context = [], timestamp, player, ad, adBreak, id } = args; + const { mediaEvent, customEvent } = event; + + const mediaTracking = getMedia(id); + if (mediaTracking === undefined) { + return; + } + + const events = mediaTracking.update(mediaEvent, customEvent, player, ad, adBreak); + + // Update page activity in order to keep sending page pings if needed + if (mediaTracking.shouldUpdatePageActivity()) { + dispatchToTrackersInCollection(trackers, _trackers, (t) => { + t.updatePageActivity(); + }); + } + + if (events.length == 0) { + return; + } + + // Send all created events to the trackers + dispatchToTrackersInCollection(trackers, _trackers, (t) => { + events.forEach((event) => { + t.core.track(buildSelfDescribingEvent(event), event.context.concat(context), timestamp); + }); + }); +} diff --git a/plugins/browser-plugin-media/src/core.ts b/plugins/browser-plugin-media/src/core.ts new file mode 100644 index 000000000..54f9da276 --- /dev/null +++ b/plugins/browser-plugin-media/src/core.ts @@ -0,0 +1,60 @@ +import { SelfDescribingJson } from '@snowplow/tracker-core'; +import { + getMediaEventSchema, + MEDIA_AD_BREAK_SCHEMA, + MEDIA_AD_SCHEMA, + MEDIA_PLAYER_SCHEMA, + MEDIA_SESSION_SCHEMA, +} from './schemata'; +import { MediaPlayer, MediaAd, MediaAdBreak, MediaSession, MediaEvent } from './types'; + +export function buildMediaPlayerEvent(event: MediaEvent): SelfDescribingJson { + return { + schema: getMediaEventSchema(event.type), + data: removeEmptyProperties(event.eventBody ?? {}), + }; +} + +export function buildMediaPlayerEntity(mediaPlayer: MediaPlayer): SelfDescribingJson { + return { + schema: MEDIA_PLAYER_SCHEMA, + data: removeEmptyProperties(mediaPlayer), + }; +} + +export function buildMediaSessionEntity(session: MediaSession): SelfDescribingJson { + return { + schema: MEDIA_SESSION_SCHEMA, + data: removeEmptyProperties(session), + }; +} + +export function buildMediaAdEntity(ad: MediaAd): SelfDescribingJson { + return { + schema: MEDIA_AD_SCHEMA, + data: removeEmptyProperties(ad), + }; +} + +export function buildMediaAdBreakEntity(adBreak: MediaAdBreak): SelfDescribingJson { + return { + schema: MEDIA_AD_BREAK_SCHEMA, + data: removeEmptyProperties(adBreak), + }; +} + +/** + * Returns a copy of a JSON with undefined and null properties removed + * + * @param event - Object to clean + * @returns A cleaned copy of eventJson + */ +function removeEmptyProperties(event: Record): Record { + const ret: Record = {}; + for (const k in event) { + if (event[k] != null) { + ret[k] = event[k]; + } + } + return ret; +} diff --git a/plugins/browser-plugin-media/src/index.ts b/plugins/browser-plugin-media/src/index.ts new file mode 100644 index 000000000..b1c13e734 --- /dev/null +++ b/plugins/browser-plugin-media/src/index.ts @@ -0,0 +1 @@ +export * from './api'; diff --git a/plugins/browser-plugin-media/src/mediaTracking.ts b/plugins/browser-plugin-media/src/mediaTracking.ts new file mode 100644 index 000000000..0082057b6 --- /dev/null +++ b/plugins/browser-plugin-media/src/mediaTracking.ts @@ -0,0 +1,208 @@ +import { LOG, SelfDescribingJson } from '@snowplow/tracker-core'; +import { MediaAdTracking } from './adTracking'; +import { buildMediaPlayerEntity, buildMediaPlayerEvent } from './core'; +import { MediaPingInterval } from './pingInterval'; +import { MediaSessionTracking } from './sessionTracking'; +import { + MediaPlayer, + MediaAdUpdate, + MediaPlayerAdBreakUpdate, + MediaPlayerUpdate, + MediaEventType, + MediaEvent, +} from './types'; + +/** + * Manages the state and built-in entities for a media tracking that starts when a user + * call `startMediaTracking` and ends with `endMediaTracking`. + * + * It updates the internal state for each tracked event and returns context entities with + * properties updated based on the internal state. + */ +export class MediaTracking { + /// ID of the media tracking that is used to refer to it by the user. + id: string; + /// Percentage boundaries when to track percent progress events. + private boundaries?: number[]; + /// List of boundaries for which percent progress events were already sent to avoid sending again. + private sentBoundaries: number[] = []; + /// State for the media player context entity that is updated as new events are tracked. + player: MediaPlayer = { + currentTime: 0, + paused: true, + ended: false, + }; + + /// Used to add media player session entity. + private session?: MediaSessionTracking; + /// Tracks ping events independently but stored here to stop when media tracking stops. + private pingInterval?: MediaPingInterval; + /// Manages ad entities. + private adTracking = new MediaAdTracking(); + /// Used to prevent tracking seek start events multiple times. + private isSeeking = false; + /// Context entities to attach to all events + private customContext?: Array; + /// Optional list of event types to allow tracking and discard others. + private captureEvents?: MediaEventType[]; + // Whether to update page activity when playing media. Enabled by default. + private updatePageActivityWhilePlaying?: boolean; + + constructor( + id: string, + player?: MediaPlayerUpdate, + session?: MediaSessionTracking, + pingInterval?: MediaPingInterval, + boundaries?: number[], + captureEvents?: MediaEventType[], + updatePageActivityWhilePlaying?: boolean, + context?: Array + ) { + this.id = id; + this.updatePlayer(player); + this.session = session; + this.pingInterval = pingInterval; + this.boundaries = boundaries; + this.captureEvents = captureEvents; + this.updatePageActivityWhilePlaying = updatePageActivityWhilePlaying; + this.customContext = context; + + // validate event names in the captureEvents list + captureEvents?.forEach((eventType) => { + if (!Object.values(MediaEventType).includes(eventType)) { + LOG.warn('Unknown media event ' + eventType); + } + }); + } + + /** + * Called when user calls `endMediaTracking()`. + */ + stop() { + this.pingInterval?.clear(); + } + + /** + * Updates the internal state given the new event or new media player info and returns events to track. + * @param eventType Type of the event tracked or undefined when only updating player properties. + * @param player Updates to the media player stored entity. + * @param ad Updates to the ad entity. + * @param adBreak Updates to the ad break entity. + * @returns List of events with entities to track. + */ + update( + mediaEvent?: MediaEvent, + customEvent?: SelfDescribingJson, + player?: MediaPlayerUpdate, + ad?: MediaAdUpdate, + adBreak?: MediaPlayerAdBreakUpdate + ): { event: SelfDescribingJson; context: SelfDescribingJson[] }[] { + // update state + this.updatePlayer(player); + if (mediaEvent !== undefined) { + this.adTracking.updateForThisEvent(mediaEvent.type, this.player, ad, adBreak); + } + this.session?.update(mediaEvent?.type, this.player, this.adTracking.adBreak); + this.pingInterval?.update(this.player); + + // build context entities + let context = [buildMediaPlayerEntity(this.player)]; + if (this.session !== undefined) { + context.push(this.session.getContext()); + } + if (this.customContext) { + context = context.concat(this.customContext); + } + context = context.concat(this.adTracking.getContext()); + + // build event types to track + const mediaEventsToTrack: MediaEvent[] = []; + if (mediaEvent !== undefined && this.shouldTrackEvent(mediaEvent.type)) { + mediaEventsToTrack.push(mediaEvent); + } + if (this.shouldSendPercentProgress()) { + mediaEventsToTrack.push({ + type: MediaEventType.PercentProgress, + eventBody: { percentProgress: this.getPercentProgress() }, + }); + } + + // update state for events after this one + if (mediaEvent !== undefined) { + this.adTracking.updateForNextEvent(mediaEvent.type); + } + + const eventsToTrack = mediaEventsToTrack.map((event) => { + return { event: buildMediaPlayerEvent(event), context: context }; + }); + if (customEvent !== undefined) { + eventsToTrack.push({ event: customEvent, context: context }); + } + return eventsToTrack; + } + + shouldUpdatePageActivity(): boolean { + return (this.updatePageActivityWhilePlaying ?? true) && !this.player.paused; + } + + private updatePlayer(player?: MediaPlayerUpdate) { + if (player !== undefined) { + this.player = { + ...this.player, + ...player, + }; + } + } + + private shouldSendPercentProgress(): boolean { + const percentProgress = this.getPercentProgress(); + if (this.boundaries === undefined || percentProgress === undefined || this.player.paused) { + return false; + } + + let boundaries = this.boundaries.filter((b) => b <= (percentProgress ?? 0)); + if (boundaries.length == 0) { + return false; + } + let boundary = Math.max(...boundaries); + if (!this.sentBoundaries.includes(boundary)) { + this.sentBoundaries.push(boundary); + return true; + } + return false; + } + + private shouldTrackEvent(eventType: MediaEventType): boolean { + return this.updateSeekingAndCheckIfShouldTrack(eventType) && this.allowedToCaptureEventType(eventType); + } + + /** Prevents multiple seek start events to be tracked after each other without a seek end (happens when scrubbing). */ + private updateSeekingAndCheckIfShouldTrack(eventType: MediaEventType): boolean { + if (eventType == MediaEventType.SeekStart) { + if (this.isSeeking) { + return false; + } + + this.isSeeking = true; + } else if (eventType == MediaEventType.SeekEnd) { + this.isSeeking = false; + } + + return true; + } + + private allowedToCaptureEventType(eventType: MediaEventType): boolean { + return this.captureEvents === undefined || this.captureEvents.includes(eventType); + } + + private getPercentProgress(): number | undefined { + if ( + this.player.duration === null || + this.player.duration === undefined || + this.player.duration == 0 + ) { + return undefined; + } + return Math.floor(((this.player.currentTime ?? 0) / this.player.duration) * 100); + } +} diff --git a/plugins/browser-plugin-media/src/pingInterval.ts b/plugins/browser-plugin-media/src/pingInterval.ts new file mode 100644 index 000000000..02c798c5a --- /dev/null +++ b/plugins/browser-plugin-media/src/pingInterval.ts @@ -0,0 +1,49 @@ +import { MediaPlayer } from './types'; + +/** + * Default ping interval in seconds. + * Changing the setting is a breaking change for downstream models that work with this setting. + * If a custom interval is used, it is present in the session context entity. + **/ +const DEFAULT_PING_INTERVAL = 30; + +/** Manages the timer for firing the media ping events. */ +export class MediaPingInterval { + private interval?: ReturnType; + private paused?: boolean; + private numPausedPings = 0; + private maxPausedPings = 1; + + constructor(pingIntervalSeconds: number | undefined, maxPausedPings: number | undefined, trackPing: () => void) { + if (maxPausedPings !== undefined) { + this.maxPausedPings = maxPausedPings; + } + + this.interval = setInterval(() => { + if (!this.isPaused() || this.numPausedPings < this.maxPausedPings) { + if (this.isPaused()) { + this.numPausedPings++; + } + trackPing(); + } + }, (pingIntervalSeconds ?? DEFAULT_PING_INTERVAL) * 1000); + } + + update(player: MediaPlayer) { + this.paused = player.paused; + if (!this.paused) { + this.numPausedPings = 0; + } + } + + clear() { + if (this.interval !== undefined) { + clearInterval(this.interval); + this.interval = undefined; + } + } + + private isPaused() { + return this.paused === true; + } +} diff --git a/plugins/browser-plugin-media/src/schemata.ts b/plugins/browser-plugin-media/src/schemata.ts new file mode 100644 index 000000000..a678ee963 --- /dev/null +++ b/plugins/browser-plugin-media/src/schemata.ts @@ -0,0 +1,27 @@ +import { MediaEventType } from './types'; + +const MEDIA_SCHEMA_PREFIX = 'iglu:com.snowplowanalytics.snowplow.media/'; +const MEDIA_SCHEMA_SUFFIX = '/jsonschema/1-0-0'; +export const MEDIA_PLAYER_SCHEMA = MEDIA_SCHEMA_PREFIX + 'player' + MEDIA_SCHEMA_SUFFIX; +export const MEDIA_SESSION_SCHEMA = MEDIA_SCHEMA_PREFIX + 'session' + MEDIA_SCHEMA_SUFFIX; +export const MEDIA_AD_SCHEMA = MEDIA_SCHEMA_PREFIX + 'ad' + MEDIA_SCHEMA_SUFFIX; +export const MEDIA_AD_BREAK_SCHEMA = MEDIA_SCHEMA_PREFIX + 'ad_break' + MEDIA_SCHEMA_SUFFIX; + +function eventNameForEventType(eventType: MediaEventType): string { + /// ad first quartile, midpoint, and third quartile events share the same schema + switch (eventType) { + case MediaEventType.AdFirstQuartile: + return 'ad_quartile'; + case MediaEventType.AdMidpoint: + return 'ad_quartile'; + case MediaEventType.AdThirdQuartile: + return 'ad_quartile'; + } + + return eventType; +} + +export function getMediaEventSchema(eventType: MediaEventType): string { + const eventName = eventNameForEventType(eventType); + return MEDIA_SCHEMA_PREFIX + eventName + '_event' + MEDIA_SCHEMA_SUFFIX; +} diff --git a/plugins/browser-plugin-media/src/sessionStats.ts b/plugins/browser-plugin-media/src/sessionStats.ts new file mode 100644 index 000000000..edbf32b20 --- /dev/null +++ b/plugins/browser-plugin-media/src/sessionStats.ts @@ -0,0 +1,203 @@ +import { + MediaAdBreakType, + MediaPlayer, + MediaAdBreak, + MediaEventType, + MediaSessionStats, +} from './types'; + +/** Internal type for representing the session updates */ +type Log = { + eventType: MediaEventType | undefined; + time: number; + contentTime: number; + playbackRate?: number; + paused: boolean; + muted?: boolean; + linearAd: boolean; +}; + +const adStartTypes = [MediaEventType.AdStart, MediaEventType.AdResume]; +const adProgressTypes = [ + MediaEventType.AdClick, + MediaEventType.AdFirstQuartile, + MediaEventType.AdMidpoint, + MediaEventType.AdThirdQuartile, +]; +const adEndTypes = [MediaEventType.AdComplete, MediaEventType.AdSkip, MediaEventType.AdPause]; +const bufferingEndTypes = [MediaEventType.BufferEnd, MediaEventType.Play]; + +/** Calculates the average playback rate based on measurements of the rate over partial durations */ +class AveragePlaybackRateCalculator { + private durationWithPlaybackRate = 0; + private duration = 0; + + add(rate: number, duration: number) { + this.durationWithPlaybackRate += rate * duration; + this.duration += duration; + } + + get(): number | undefined { + return this.duration > 0 ? this.durationWithPlaybackRate / this.duration : undefined; + } +} + +/** + * Calculates statistics in the media player session as events are tracked. + */ +export class MediaSessionTrackingStats { + /// time for which ads were playing + private adPlaybackDuration = 0; + /// time for which the content was playing + private playbackDuration = 0; + /// time for which the content was playing on mute + private playbackDurationMuted = 0; + /// average playback rate calculator + private avgPlaybackRate = new AveragePlaybackRateCalculator(); + /// time for which the playback was paused + private pausedDuration = 0; + /// number of ads + private ads = 0; + /// number of ad breaks + private adBreaks = 0; + /// number of ad skip events + private adsSkipped = 0; + /// number of ad click events + private adsClicked = 0; + /// sum of time durations between the buffer start event and end of buffering + private bufferingDuration = 0; + /// set of seconds in content time that were played used to calculate the content watched duration + private playedSeconds = new Set(); + + private lastAdUpdateAt: number | undefined; + private bufferingStartedAt: number | undefined; + private bufferingStartTime: number | undefined; + private lastLog: Log | undefined; + + /// Update stats given a new event. + update(eventType: MediaEventType | undefined, player: MediaPlayer, adBreak?: MediaAdBreak) { + let log: Log = { + time: new Date().getTime() / 1000, + contentTime: player.currentTime, + eventType: eventType, + playbackRate: player.playbackRate, + paused: player.paused, + muted: player.muted, + linearAd: (adBreak?.breakType ?? MediaAdBreakType.Linear) == MediaAdBreakType.Linear, + }; + + this.updateDurationStats(log); + this.updateAdStats(log); + this.updateBufferingStats(log); + + this.lastLog = log; + } + + /// Produce part of the media session entity with the stats. + toSessionContextEntity(): MediaSessionStats { + return { + timePaused: this.pausedDuration > 0 ? this.round(this.pausedDuration) : undefined, + timePlayed: this.playbackDuration > 0 ? this.round(this.playbackDuration) : undefined, + timePlayedMuted: this.playbackDurationMuted > 0 ? this.round(this.playbackDurationMuted) : undefined, + timeSpentAds: this.adPlaybackDuration > 0 ? this.round(this.adPlaybackDuration) : undefined, + timeBuffering: this.bufferingDuration > 0 ? this.round(this.bufferingDuration) : undefined, + ads: this.ads > 0 ? this.ads : undefined, + adBreaks: this.adBreaks > 0 ? this.adBreaks : undefined, + adsSkipped: this.adsSkipped > 0 ? this.adsSkipped : undefined, + adsClicked: this.adsClicked > 0 ? this.adsClicked : undefined, + avgPlaybackRate: this.round(this.avgPlaybackRate.get()), + contentWatched: this.playedSeconds.size > 0 ? this.playedSeconds.size : undefined, + }; + } + + private updateDurationStats(log: Log) { + // if ad was playing until now and it was a linear ad, don't add the duration stats + let wasPlayingAd = this.lastAdUpdateAt !== undefined; + const shouldCountStats = (!wasPlayingAd || !log.linearAd) ?? true; + if (!shouldCountStats) { + return; + } + + if (this.lastLog !== undefined) { + // add the time diff since last event to duration stats + let duration = log.time - this.lastLog.time; + if (this.lastLog.paused) { + this.pausedDuration += duration; + } else { + this.playbackDuration += duration; + if (this.lastLog.playbackRate !== undefined) { + this.avgPlaybackRate.add(this.lastLog.playbackRate, duration); + } + + if (this.lastLog.muted) { + this.playbackDurationMuted += duration; + } + + if (!log.paused) { + for (let i = Math.floor(this.lastLog.contentTime); i < log.contentTime; i++) { + this.playedSeconds.add(i); + } + } + } + } + if (!log.paused) { + this.playedSeconds.add(Math.floor(log.contentTime)); + } + } + + private updateAdStats(log: Log) { + // only works with ad event types + if (log.eventType === undefined) { + return; + } + + // count ad actions + if (log.eventType == MediaEventType.AdBreakStart) { + this.adBreaks++; + } else if (log.eventType == MediaEventType.AdStart) { + this.ads++; + } else if (log.eventType == MediaEventType.AdSkip) { + this.adsSkipped++; + } else if (log.eventType == MediaEventType.AdClick) { + this.adsClicked++; + } + + // update ad playback duration + if (this.lastAdUpdateAt === undefined) { + if (adStartTypes.includes(log.eventType)) { + this.lastAdUpdateAt = log.time; + } + } else if (adProgressTypes.includes(log.eventType)) { + this.adPlaybackDuration += log.time - this.lastAdUpdateAt; + this.lastAdUpdateAt = log.time; + } else if (adEndTypes.includes(log.eventType)) { + this.adPlaybackDuration += log.time - this.lastAdUpdateAt; + this.lastAdUpdateAt = undefined; + } + } + + private updateBufferingStats(log: Log) { + if (log.eventType == MediaEventType.BufferStart) { + this.bufferingStartedAt = log.time; + this.bufferingStartTime = log.contentTime; + } else if (this.bufferingStartedAt !== undefined) { + // Either the playback moved or BufferEnd or Play events were tracked + if ( + (log.contentTime != this.bufferingStartTime && !log.paused) || + (log.eventType !== undefined && bufferingEndTypes.includes(log.eventType)) + ) { + this.bufferingDuration += log.time - this.bufferingStartedAt; + this.bufferingStartedAt = undefined; + this.bufferingStartTime = undefined; + } else { + this.bufferingDuration += log.time - this.bufferingStartedAt; + this.bufferingStartedAt = log.time; + } + } + } + + private round(n: number | undefined): number | undefined { + if (n === undefined) { return undefined; } + return Math.round(n * 1000) / 1000; + } +} diff --git a/plugins/browser-plugin-media/src/sessionTracking.ts b/plugins/browser-plugin-media/src/sessionTracking.ts new file mode 100644 index 000000000..2ece17141 --- /dev/null +++ b/plugins/browser-plugin-media/src/sessionTracking.ts @@ -0,0 +1,35 @@ +import { SelfDescribingJson } from '@snowplow/tracker-core'; +import { buildMediaSessionEntity } from './core'; +import { MediaSessionTrackingStats } from './sessionStats'; +import { MediaAdBreak, MediaPlayer, MediaEventType } from './types'; + +/** + * Manages the media player session that is optionally added as a context entity + * in media tracking. + */ +export class MediaSessionTracking { + /// Same as the ID of the media tracking. + private id: string; + private startedAt: Date; + private pingInterval?: number; + private stats = new MediaSessionTrackingStats(); + + constructor(id: string, startedAt?: Date, pingInterval?: number) { + this.id = id; + this.pingInterval = pingInterval; + this.startedAt = startedAt ?? new Date(); + } + + update(eventType: MediaEventType | undefined, player: MediaPlayer, adBreak?: MediaAdBreak) { + this.stats.update(eventType, player, adBreak); + } + + getContext(): SelfDescribingJson { + return buildMediaSessionEntity({ + mediaSessionId: this.id, + startedAt: this.startedAt, + pingInterval: this.pingInterval, + ...this.stats.toSessionContextEntity(), + }); + } +} diff --git a/plugins/browser-plugin-media/src/types.ts b/plugins/browser-plugin-media/src/types.ts new file mode 100644 index 000000000..923c719fb --- /dev/null +++ b/plugins/browser-plugin-media/src/types.ts @@ -0,0 +1,382 @@ +import { CommonEventProperties, SelfDescribingJson } from '@snowplow/tracker-core'; + +/** Type of media player event */ +export enum MediaEventType { + // Controlling the playback + + /** Media player event fired when the media tracking is successfully attached to the player and can track events. */ + Ready = 'ready', + /** Media player event sent when the player changes state to playing from previously being paused. */ + Play = 'play', + /** Media player event sent when the user pauses the playback. */ + Pause = 'pause', + /** Media player event sent when playback stops when end of the media is reached or because no further data is available. */ + End = 'end', + /** Media player event sent when a seek operation begins. */ + SeekStart = 'seek_start', + /** Media player event sent when a seek operation completes. */ + SeekEnd = 'seek_end', + + // Changes in playback settings + + /** Media player event sent when the playback rate has changed. */ + PlaybackRateChange = 'playback_rate_change', + /** Media player event sent when the volume has changed. */ + VolumeChange = 'volume_change', + /** Media player event fired immediately after the browser switches into or out of full-screen mode. */ + FullscreenChange = 'fullscreen_change', + /** Media player event fired immediately after the browser switches into or out of picture-in-picture mode. */ + PictureInPictureChange = 'picture_in_picture_change', + + // Tracking playback progress + + /** Media player event fired periodically during main content playback, regardless of other API events that have been sent. */ + Ping = 'ping', + /** Media player event fired when a percentage boundary set in options.boundaries is reached */ + PercentProgress = 'percent_progress', + + // Ad events + + /** Media player event that signals the start of an ad break. */ + AdBreakStart = 'ad_break_start', + /** Media player event that signals the end of an ad break. */ + AdBreakEnd = 'ad_break_end', + /** Media player event that signals the start of an ad. */ + AdStart = 'ad_start', + /** Media player event fired when a quartile of ad is reached after continuous ad playback at normal speed. */ + AdFirstQuartile = 'ad_first_quartile', + /** Media player event fired when a midpoint of ad is reached after continuous ad playback at normal speed. */ + AdMidpoint = 'ad_midpoint', + /** Media player event fired when a quartile of ad is reached after continuous ad playback at normal speed. */ + AdThirdQuartile = 'ad_third_quartile', + /** Media player event that signals the ad creative was played to the end at normal speed. */ + AdComplete = 'ad_complete', + /** Media player event fired when the user activated a skip control to skip the ad creative. */ + AdSkip = 'ad_skip', + /** Media player event fired when the user clicked on the ad. */ + AdClick = 'ad_click', + /** Media player event fired when the user clicked the pause control and stopped the ad creative. */ + AdPause = 'ad_pause', + /** Media player event fired when the user resumed playing the ad creative after it had been stopped or paused. */ + AdResume = 'ad_resume', + + // Data quality events + + /** Media player event fired when the player goes into the buffering state and begins to buffer content. */ + BufferStart = 'buffer_start', + /** Media player event fired when the the player finishes buffering content and resumes playback. */ + BufferEnd = 'buffer_end', + /** Media player event tracked when the video playback quality changes automatically. */ + QualityChange = 'quality_change', + /** Media player event tracked when the resource could not be loaded due to an error. */ + Error = 'error', +} + +export type MediaTrackingConfiguration = { + /** Unique ID of the media tracking. The same ID will be used for media player session if enabled. */ + id: string; + /** Attributes for the media player context entity */ + player?: MediaPlayerUpdate; + /** Attributes for the media player session context entity or false to disable it. Enabled by default. */ + session?: { + /** Local date-time timestamp of when the session started. Automatically set to current time if not given. */ + startedAt?: Date + } | false; + /** Configuration for sending ping events. Enabled by default. */ + pings?: + | { + /** Interval in seconds for sending ping events. Defaults to 30s. */ + pingInterval?: number; + /** Maximum number of consecutive ping events to send when playback is paused. Defaults to 1. */ + maxPausedPings?: number; + } + | boolean; + /** Update page activity in order to keep sending page ping events while playing. Enabled by default. */ + updatePageActivityWhilePlaying?: boolean; + /** Percentage boundaries when to send percent progress events. Disabled by default. */ + boundaries?: number[]; + /** + * List of event types to allow tracking. + * If not specified, all tracked events will be allowed and tracked. + * Otherwise, tracked event types not present in the list will be discarded. + */ + captureEvents?: MediaEventType[]; +}; + +export type MediaTrackPlaybackRateChangeArguments = { + /** Playback rate before the change (1 is normal) */ + previousRate?: number; + /** Playback rate after the change (1 is normal) */ + newRate: number; +}; + +export type MediaTrackVolumeChangeArguments = { + /** Volume percentage before the change. */ + previousVolume?: number; + /** Volume percentage after the change. */ + newVolume: number; +}; + +export type MediaTrackFullscreenChangeArguments = { + /** Whether the video element is fullscreen after the change. */ + fullscreen: boolean; +}; + +export type MediaTrackPictureInPictureChangeArguments = { + /** Whether the video element is showing picture-in-picture after the change. */ + pictureInPicture: boolean; +}; + +export type MediaTrackAdPercentProgressArguments = { + /** The percent of the way through the ad. */ + percentProgress?: number; +}; + +export type MediaTrackQualityChangeArguments = { + /** Quality level before the change (e.g., 1080p). */ + previousQuality?: string; + /** Quality level after the change (e.g., 1080p). */ + newQuality?: string; + /** The current bitrate in bits per second. */ + bitrate?: number; + /** The current number of frames per second. */ + framesPerSecond?: number; + /** Whether the change was automatic or triggered by the user. */ + automatic?: boolean; +}; + +export type MediaTrackErrorArguments = { + /** Error-identifying code for the playback issue. E.g. E522 */ + errorCode?: string; + /** Name for the type of error that occurred in the playback. E.g. forbidden */ + errorName?: string; + /** Longer description for the error occurred in the playback. */ + errorDescription?: string; +}; + +export type MediaTrackArguments = { + /** ID of the media tracking */ + id: string; + /** Attributes for the media player context entity */ + player?: MediaPlayerUpdate; +}; + +export type MediaTrackAdArguments = { + /** Attributes for the media player ad context entity */ + ad?: MediaAdUpdate; +}; + +export type MediaTrackAdBreakArguments = { + /** Attributes for the media player ad break context entity */ + adBreak?: MediaPlayerAdBreakUpdate; +}; + +export type MediaTrackSelfDescribingEventArguments = { + /** Self-describing event */ + event: SelfDescribingJson; +}; + +/** Type for all media player events */ +export interface MediaEvent { + /** The event fired by the media player */ + type: MediaEventType; + /** The custom media identifier given by the user */ + eventBody?: Record; +} + +/** Type of media content. */ +export enum MediaType { + /** Audio content. */ + Audio = 'audio', + /** Video content. */ + Video = 'video', +} + +/** Type/Schema for a context entity for media player events with information about the current state of the media player */ +export interface MediaPlayer extends Record { + /** The current playback time position within the media in seconds */ + currentTime: number; + /** A double-precision floating-point value indicating the duration of the media in seconds */ + duration?: number | null; + /** If playback of the media has ended */ + ended: boolean; + /** Whether the video element is fullscreen */ + fullscreen?: boolean; + /** Whether the media is a live stream */ + livestream?: boolean; + /** Human readable name given to tracked media content. */ + label?: string; + /** If the video should restart after ending */ + loop?: boolean; + /** Type of media content. */ + mediaType?: MediaType; + /** If the media element is muted */ + muted?: boolean; + /** If the media element is paused */ + paused: boolean; + /** Whether the video element is showing picture-in-picture */ + pictureInPicture?: boolean; + /** Type of the media player (e.g., com.youtube-youtube, com.vimeo-vimeo, org.whatwg-media_element) */ + playerType?: string; + /** Playback rate (1 is normal) */ + playbackRate?: number; + /** Quality level of the playback (e.g., 1080p). */ + quality?: string; + /** Volume level */ + volume?: number; +} + +/** Partial type/schema for a context entity for media player events with information about the current state of the media player */ +export interface MediaPlayerUpdate { + /** The current playback time position within the media in seconds */ + currentTime?: number; + /** A double-precision floating-point value indicating the duration of the media in seconds */ + duration?: number | null; + /** If playback of the media has ended */ + ended?: boolean; + /** Whether the video element is fullscreen */ + fullscreen?: boolean; + /** Whether the media is a live stream */ + livestream?: boolean; + /** Human readable name given to tracked media content. */ + label?: string; + /** If the video should restart after ending */ + loop?: boolean; + /** Type of media content. */ + mediaType?: MediaType; + /** If the media element is muted */ + muted?: boolean; + /** If the media element is paused */ + paused?: boolean; + /** Whether the video element is showing picture-in-picture */ + pictureInPicture?: boolean; + /** Type of the media player (e.g., com.youtube-youtube, com.vimeo-vimeo, org.whatwg-media_element) */ + playerType?: string; + /** Playback rate (1 is normal) */ + playbackRate?: number; + /** Quality level of the playback (e.g., 1080p). */ + quality?: string; + /** Volume level */ + volume?: number; +} + +/** Partial type/schema for a context entity for media player events that tracks a session of a single media player usage */ +export interface MediaSession extends Record { + /** An identifier for the media session that is kept while the media content is played in the media player. Does not reset automatically. */ + mediaSessionId: string; + /** Date-time timestamp of when the session started */ + startedAt?: Date; + /** Interval (seconds) in which the ping events will be sent */ + pingInterval?: number; +} + +/** Partial type/schema for a context entity for media player events that tracks a session of a single media player usage */ +export interface MediaSessionStats { + /** Total seconds user spent with paused content (excluding linear ads) */ + timePaused?: number; + /** Total seconds user spent playing content (excluding linear ads) */ + timePlayed?: number; + /** Total seconds user spent playing content on mute (excluding linear ads) */ + timePlayedMuted?: number; + /** Total seconds of the content played. Each part of the content played is counted once (i.e., counts rewinding or rewatching the same content only once). Playback rate does not affect this value. */ + contentWatched?: number; + /** Total seconds that ads played during the session */ + timeSpentAds?: number; + /** Total seconds that playback was buffering during the session */ + timeBuffering?: number; + /** Number of ads played */ + ads?: number; + /** Number of ads that the user clicked on */ + adsClicked?: number; + /** Number of ads that the user skipped */ + adsSkipped?: number; + /** Number of ad breaks played */ + adBreaks?: number; + /** Average playback rate (1 is normal speed) */ + avgPlaybackRate?: number; +} + +/** Partial type/schema for a context entity with information about the currently played ad */ +export interface MediaAdUpdate { + /** Friendly name of the ad */ + name?: string; + /** Unique identifier for the ad */ + adId: string; + /** The ID of the ad creative */ + creativeId?: string; + /** The position of the ad within the ad break, starting with 1 */ + podPosition?: number; + /** Length of the video ad in seconds */ + duration?: number; + /** Indicating whether skip controls are made available to the end user */ + skippable?: boolean; +} + +/** Type/Schema for a context entity with information about the currently played ad */ +export interface MediaAd extends Record { + /** Friendly name of the ad */ + name?: string; + /** Unique identifier for the ad */ + adId: string; + /** The ID of the ad creative */ + creativeId?: string; + /** The position of the ad within the ad break, starting with 1 */ + podPosition?: number; + /** Length of the video ad in seconds */ + duration?: number; + /** Indicating whether skip controls are made available to the end user */ + skippable?: boolean; +} + +/** Type of ads within the break */ +export enum MediaAdBreakType { + /** Take full control of the video for a period of time. */ + Linear = 'linear', + /** Run concurrently to the video. */ + NonLinear = 'nonlinear', + /** Accompany the video but placed outside the player. */ + Companion = 'companion', +} + +/** Type/Schema for a context entity, shared with all media_player_ad events belonging to the ad break */ +export interface MediaAdBreak extends Record { + /** Ad break name (e.g., pre-roll, mid-roll, and post-roll) */ + name?: string; + /** An identifier for the ad break */ + breakId: string; + /** Playback time in seconds at the start of the ad break. */ + startTime: number; + /** + * Type of ads within the break: + * - linear (take full control of the video for a period of time), + * - nonlinear (run concurrently to the video), + * - companion (accompany the video but placed outside the player) + */ + breakType?: MediaAdBreakType; + /** The number of ads to be played within the ad break */ + podSize?: number; +} + +/** Partial type/schema for a context entity, shared with all media_player_ad events belonging to the ad break */ +export interface MediaPlayerAdBreakUpdate { + /** Ad break name (e.g., pre-roll, mid-roll, and post-roll) */ + name?: string; + /** An identifier for the ad break */ + breakId: string; + /** Playback time in seconds at the start of the ad break. */ + startTime?: number; + /** + * Type of ads within the break: + * - linear (take full control of the video for a period of time), + * - nonlinear (run concurrently to the video), + * - companion (accompany the video but placed outside the player) + */ + breakType?: MediaAdBreakType; + /** The number of ads to be played within the ad break */ + podSize?: number; +} + +export interface CommonMediaEventProperties extends CommonEventProperties { + /** Add context entities to an event by setting an Array of Self Describing JSON */ + context?: Array; +} diff --git a/plugins/browser-plugin-media/test/api.test.ts b/plugins/browser-plugin-media/test/api.test.ts new file mode 100644 index 000000000..d71470ea9 --- /dev/null +++ b/plugins/browser-plugin-media/test/api.test.ts @@ -0,0 +1,653 @@ +import { addTracker, SharedState } from '@snowplow/browser-tracker-core'; +import { PayloadBuilder, SelfDescribingJson } from '@snowplow/tracker-core'; +import { + endMediaTracking, + SnowplowMediaPlugin, + startMediaTracking, + trackMediaAdBreakEnd, + trackMediaAdBreakStart, + trackMediaAdClick, + trackMediaAdComplete, + trackMediaAdFirstQuartile, + trackMediaAdMidpoint, + trackMediaAdPause, + trackMediaAdResume, + trackMediaAdSkip, + trackMediaAdStart, + trackMediaAdThirdQuartile, + trackMediaBufferEnd, + trackMediaBufferStart, + trackMediaEnd, + trackMediaError, + trackMediaFullscreenChange, + trackMediaPause, + trackMediaPictureInPictureChange, + trackMediaPlay, + trackMediaPlaybackRateChange, + trackMediaQualityChange, + trackMediaReady, + trackMediaSeekEnd, + trackMediaSeekStart, + trackMediaSelfDescribingEvent, + trackMediaVolumeChange, + updateMediaTracking, +} from '../src'; +import { getMediaEventSchema, MEDIA_PLAYER_SCHEMA, MEDIA_SESSION_SCHEMA } from '../src/schemata'; +import { MediaEventType } from '../src/types'; + +describe('Media Tracking API', () => { + let idx = 1; + let id = ''; + let eventQueue: { event: SelfDescribingJson; context: SelfDescribingJson[] }[] = []; + + beforeEach(() => { + addTracker(`sp${idx++}`, `sp${idx++}`, 'js-3.9.0', '', new SharedState(), { + stateStorageStrategy: 'cookie', + encodeBase64: false, + plugins: [ + SnowplowMediaPlugin(), + { + beforeTrack: (pb: PayloadBuilder) => { + const { ue_pr, co, tna } = pb.getPayload(); + if (tna == `sp${idx - 1}`) { + eventQueue.push({ event: JSON.parse(ue_pr as string).data, context: JSON.parse(co as string).data }); + } + }, + }, + ], + contexts: { webPage: false }, + }); + id = `media-${idx}`; + }); + + afterEach(() => { + endMediaTracking({ id }); + eventQueue = []; + }); + + describe('media player events', () => { + [ + { api: trackMediaReady, eventType: MediaEventType.Ready }, + { api: trackMediaPlay, eventType: MediaEventType.Play }, + { api: trackMediaPause, eventType: MediaEventType.Pause }, + { api: trackMediaEnd, eventType: MediaEventType.End }, + { api: trackMediaSeekStart, eventType: MediaEventType.SeekStart }, + { api: trackMediaSeekEnd, eventType: MediaEventType.SeekEnd }, + { api: trackMediaAdBreakStart, eventType: MediaEventType.AdBreakStart }, + { api: trackMediaAdBreakEnd, eventType: MediaEventType.AdBreakEnd }, + { api: trackMediaAdStart, eventType: MediaEventType.AdStart }, + { api: trackMediaAdComplete, eventType: MediaEventType.AdComplete }, + { api: trackMediaBufferStart, eventType: MediaEventType.BufferStart }, + { api: trackMediaBufferEnd, eventType: MediaEventType.BufferEnd }, + ].forEach((test) => { + it(`tracks a ${test.eventType} event`, () => { + startMediaTracking({ id }); + + test.api({ id }); + + const { event } = eventQueue[0]; + + expect(event).toMatchObject({ + schema: getMediaEventSchema(test.eventType), + }); + }); + }); + + it('tracks a playback rate change event and remembers the new rate', () => { + startMediaTracking({ id, session: false, player: { playbackRate: 0.5 } }); + + trackMediaPlaybackRateChange({ id, newRate: 1.5 }); + trackMediaPause({ id }); + + expect(eventQueue).toMatchObject([ + { + event: { + schema: getMediaEventSchema(MediaEventType.PlaybackRateChange), + data: { + previousRate: 0.5, + newRate: 1.5, + }, + }, + context: [{ data: { playbackRate: 1.5 } }], + }, + { + context: [{ data: { playbackRate: 1.5 } }], + }, + ]); + }); + + it('tracks a volume change event and remembers the new volume', () => { + startMediaTracking({ id, session: false, player: { volume: 50 } }); + + trackMediaVolumeChange({ id, newVolume: 70 }); + trackMediaPause({ id }); + + expect(eventQueue).toMatchObject([ + { + event: { + schema: getMediaEventSchema(MediaEventType.VolumeChange), + data: { + previousVolume: 50, + newVolume: 70, + }, + }, + context: [{ data: { volume: 70 } }], + }, + { + context: [{ data: { volume: 70 } }], + }, + ]); + }); + + it('tracks a fullscreen change event and remembers the setting', () => { + startMediaTracking({ id, session: false }); + + trackMediaFullscreenChange({ id, fullscreen: true }); + trackMediaPause({ id }); + + expect(eventQueue).toMatchObject([ + { + event: { + schema: getMediaEventSchema(MediaEventType.FullscreenChange), + data: { fullscreen: true }, + }, + context: [{ data: { fullscreen: true } }], + }, + { + context: [{ data: { fullscreen: true } }], + }, + ]); + }); + + it('tracks a picture in picture change event and remembers the setting', () => { + startMediaTracking({ id, session: false }); + + trackMediaPictureInPictureChange({ id, pictureInPicture: true }); + trackMediaPause({ id }); + + expect(eventQueue).toMatchObject([ + { + event: { + schema: getMediaEventSchema(MediaEventType.PictureInPictureChange), + data: { pictureInPicture: true }, + }, + context: [{ data: { pictureInPicture: true } }], + }, + { + context: [{ data: { pictureInPicture: true } }], + }, + ]); + }); + + it('tracks an ad first quartile event', () => { + startMediaTracking({ id, session: false }); + + trackMediaAdFirstQuartile({ id }) + + expect(eventQueue).toMatchObject([ + { + event: { + schema: getMediaEventSchema(MediaEventType.AdFirstQuartile), + data: { percentProgress: 25 }, + }, + }, + ]); + }); + + it('tracks an ad midpoint event', () => { + startMediaTracking({ id, session: false }); + + trackMediaAdMidpoint({ id }) + + expect(eventQueue).toMatchObject([ + { + event: { + schema: getMediaEventSchema(MediaEventType.AdMidpoint), + data: { percentProgress: 50 }, + }, + }, + ]); + }); + + it('tracks an ad third quartile event', () => { + startMediaTracking({ id, session: false }); + + trackMediaAdThirdQuartile({ id }) + + expect(eventQueue).toMatchObject([ + { + event: { + schema: getMediaEventSchema(MediaEventType.AdThirdQuartile), + data: { percentProgress: 75 }, + }, + }, + ]); + }); + + it('tracks an ad skip event', () => { + startMediaTracking({ id, session: false }); + + trackMediaAdSkip({ id, percentProgress: 33.33 }) + + expect(eventQueue).toMatchObject([ + { + event: { + schema: getMediaEventSchema(MediaEventType.AdSkip), + data: { percentProgress: 33 }, + }, + }, + ]); + }); + + it('tracks an ad click event', () => { + startMediaTracking({ id, session: false }); + + trackMediaAdClick({ id, percentProgress: 33.33 }) + + expect(eventQueue).toMatchObject([ + { + event: { + schema: getMediaEventSchema(MediaEventType.AdClick), + data: { percentProgress: 33 }, + }, + }, + ]); + }); + + it('tracks an ad pause event', () => { + startMediaTracking({ id, session: false }); + + trackMediaAdPause({ id, percentProgress: 33.33 }) + + expect(eventQueue).toMatchObject([ + { + event: { + schema: getMediaEventSchema(MediaEventType.AdPause), + data: { percentProgress: 33 }, + }, + }, + ]); + }); + + it('tracks an ad resume event', () => { + startMediaTracking({ id, session: false }); + + trackMediaAdResume({ id, percentProgress: 33.33 }) + + expect(eventQueue).toMatchObject([ + { + event: { + schema: getMediaEventSchema(MediaEventType.AdResume), + data: { percentProgress: 33 }, + }, + }, + ]); + }); + + it('tracks quality change event and remembers the setting', () => { + startMediaTracking({ id, session: false, player: { quality: '720p' } }); + + trackMediaQualityChange({ + id, + newQuality: '1080p', + bitrate: 1000, + framesPerSecond: 30, + automatic: false, + }); + trackMediaPause({ id }); + + expect(eventQueue).toMatchObject([ + { + event: { + schema: getMediaEventSchema(MediaEventType.QualityChange), + data: { + previousQuality: '720p', + newQuality: '1080p', + bitrate: 1000, + framesPerSecond: 30, + automatic: false, + }, + }, + context: [{ data: { quality: '1080p' } }], + }, + { context: [{ data: { quality: '1080p' } }] }, + ]); + }); + + it('tracks error event', () => { + startMediaTracking({ id, session: false }); + + trackMediaError({ + id, + errorCode: '500', + errorName: 'forbidden', + errorDescription: 'Failed to load media', + }); + + expect(eventQueue).toMatchObject([ + { + event: { + schema: getMediaEventSchema(MediaEventType.Error), + data: { + errorCode: '500', + errorName: 'forbidden', + errorDescription: 'Failed to load media', + }, + }, + }, + ]); + }); + + it('sets paused to false in media context when play is tracked', () => { + startMediaTracking({ id, player: { paused: true }, session: false }); + trackMediaPlay({ id }); + + expect(eventQueue).toMatchObject([ + { + context: [{ data: { paused: false } }], + }, + ]); + }); + + it('sets paused to true in media context when pause is tracked', () => { + startMediaTracking({ id, player: { paused: false }, session: false }); + trackMediaPause({ id }); + + expect(eventQueue).toMatchObject([ + { + context: [{ data: { paused: true } }], + }, + ]); + }); + + it('sets paused and ended to true in media context when end is tracked', () => { + startMediaTracking({ id, player: { paused: false }, session: false }); + trackMediaEnd({ id }); + + expect(eventQueue).toMatchObject([ + { + context: [{ data: { paused: true, ended: true } }], + }, + ]); + }); + + it('doesnt track seek start multiple times', () => { + startMediaTracking({ id, player: { duration: 100 }, session: false }); + trackMediaSeekStart({ id, player: { currentTime: 1 } }); + trackMediaSeekStart({ id, player: { currentTime: 2 } }); + trackMediaSeekEnd({ id, player: { currentTime: 3 } }); + trackMediaSeekStart({ id, player: { currentTime: 3 } }); + + expect(eventQueue).toMatchObject([ + { event: { schema: getMediaEventSchema(MediaEventType.SeekStart) } }, + { event: { schema: getMediaEventSchema(MediaEventType.SeekEnd) } }, + { event: { schema: getMediaEventSchema(MediaEventType.SeekStart) } }, + ]); + }); + + it('adds custom context entities to all events', () => { + const context: Array = [{ schema: 'test', data: {} }]; + startMediaTracking({ id, context, session: false }); + + trackMediaPlay({ id }); + trackMediaPause({ id }); + + expect(eventQueue).toMatchObject([ + { context: [{ data: { paused: false } }, { schema: 'test' }] }, + { context: [{ data: { paused: true } }, { schema: 'test' }] }, + ]); + }); + + it('doesnt track events not in captureEvents', () => { + startMediaTracking({ id, captureEvents: [MediaEventType.Pause], session: false }); + + trackMediaPlay({ id }); + trackMediaPause({ id }); + + expect(eventQueue).toMatchObject([{ event: { schema: getMediaEventSchema(MediaEventType.Pause) } }]); + }); + + it('tracks a custom self-describing event', () => { + startMediaTracking({ id }); + + trackMediaSelfDescribingEvent({ + id, + event: { + schema: 'iglu:com.acme/event/jsonschema/1-0-0', + data: { foo: 'bar' }, + }, + }); + + expect(eventQueue).toMatchObject([ + { + event: { + schema: 'iglu:com.acme/event/jsonschema/1-0-0', + data: { foo: 'bar' }, + }, + context: [{ schema: MEDIA_PLAYER_SCHEMA }, { schema: MEDIA_SESSION_SCHEMA }], + }, + ]); + }); + }); + + describe('session', () => { + beforeAll(() => { + jest.useFakeTimers(); + }); + + afterAll(() => { + jest.clearAllTimers(); + }); + + it('adds media session context entity with given ID', () => { + startMediaTracking({ id }); + trackMediaReady({ id }); + + const { context, event } = eventQueue[0]; + + expect(context).toMatchObject([ + { + schema: MEDIA_PLAYER_SCHEMA, + }, + { + data: { mediaSessionId: id }, + schema: MEDIA_SESSION_SCHEMA, + }, + ]); + + expect(event).toMatchObject({ + schema: getMediaEventSchema(MediaEventType.Ready), + }); + }); + + it('adds media session context entity with given started at date', () => { + let startedAt = new Date(new Date().getTime() - 100 * 1000); + startMediaTracking({ id, session: { startedAt: startedAt } }); + trackMediaReady({ id }); + + const { context, event } = eventQueue[0]; + + expect(context).toMatchObject([ + { + schema: MEDIA_PLAYER_SCHEMA, + }, + { + data: { startedAt: startedAt.toISOString() }, + schema: MEDIA_SESSION_SCHEMA, + }, + ]); + + expect(event).toMatchObject({ + schema: getMediaEventSchema(MediaEventType.Ready), + }); + }); + + it('calculates session stats', () => { + startMediaTracking({ id, player: { duration: 10 } }); + trackMediaPlay({ id }); + jest.advanceTimersByTime(10 * 1000); + updateMediaTracking({ id, player: { currentTime: 10 } }); + trackMediaEnd({ id, player: { currentTime: 10 } }); + + expect(eventQueue).toMatchObject([ + { event: { schema: getMediaEventSchema(MediaEventType.Play) } }, + { + event: { schema: getMediaEventSchema(MediaEventType.End) }, + context: [ + { schema: MEDIA_PLAYER_SCHEMA }, + { + schema: MEDIA_SESSION_SCHEMA, + data: { + timePlayed: 10, + contentWatched: 11, + }, + }, + ], + }, + ]); + }); + }); + + describe('ping events', () => { + beforeAll(() => { + jest.useFakeTimers(); + }); + + afterAll(() => { + jest.clearAllTimers(); + }); + + it('starts sending ping events after session starts', () => { + startMediaTracking({ id, pings: true }); + + jest.advanceTimersByTime(30 * 1000); + + expect(eventQueue).toMatchObject([{ event: { schema: getMediaEventSchema(MediaEventType.Ping) } }]); + }); + + it('should make a ping event in a custom interval', () => { + startMediaTracking({ id, pings: { pingInterval: 1 } }); + + jest.advanceTimersByTime(1000); + + expect(eventQueue).toMatchObject([{ event: { schema: getMediaEventSchema(MediaEventType.Ping) } }]); + }); + + it('should send ping events regardless of other events', () => { + startMediaTracking({ id, pings: { pingInterval: 1, maxPausedPings: 10 } }); + trackMediaPlay({ id }); + jest.advanceTimersByTime(1000); + trackMediaPause({ id }); + jest.advanceTimersByTime(2000); + + expect(eventQueue).toMatchObject([ + { event: { schema: getMediaEventSchema(MediaEventType.Play) } }, + { event: { schema: getMediaEventSchema(MediaEventType.Ping) } }, + { event: { schema: getMediaEventSchema(MediaEventType.Pause) } }, + { event: { schema: getMediaEventSchema(MediaEventType.Ping) } }, + { event: { schema: getMediaEventSchema(MediaEventType.Ping) } }, + ]); + }); + + it('should not send more ping events than max when paused', () => { + startMediaTracking({ id, pings: { pingInterval: 1, maxPausedPings: 1 } }); + trackMediaPause({ id }); + jest.advanceTimersByTime(1000); + jest.advanceTimersByTime(2000); + jest.advanceTimersByTime(3000); + + expect(eventQueue).toMatchObject([ + { event: { schema: getMediaEventSchema(MediaEventType.Pause) } }, + { event: { schema: getMediaEventSchema(MediaEventType.Ping) } }, + ]); + }); + }); + + describe('percent progress', () => { + it('should send progress events when boundaries reached', () => { + startMediaTracking({ + id, + boundaries: [10, 50, 90], + player: { duration: 100 }, + session: false, + }); + + trackMediaPlay({ id }); + for (let i = 1; i <= 100; i++) { + updateMediaTracking({ id, player: { currentTime: i } }); + } + + expect(eventQueue).toMatchObject([ + { event: { schema: getMediaEventSchema(MediaEventType.Play) } }, + { + event: { + schema: getMediaEventSchema(MediaEventType.PercentProgress), + data: { percentProgress: 10 }, + }, + }, + { + event: { + schema: getMediaEventSchema(MediaEventType.PercentProgress), + data: { percentProgress: 50 }, + }, + }, + { + event: { + schema: getMediaEventSchema(MediaEventType.PercentProgress), + data: { percentProgress: 90 }, + }, + }, + ]); + }); + + it('doesnt send progress events if paused', () => { + startMediaTracking({ + id, + boundaries: [10, 50, 90], + player: { duration: 100 }, + session: false, + }); + + trackMediaPause({ id }); + for (let i = 1; i <= 100; i++) { + updateMediaTracking({ id, player: { currentTime: i } }); + } + + expect(eventQueue).toMatchObject([{ event: { schema: getMediaEventSchema(MediaEventType.Pause) } }]); + }); + + it('doesnt send progress event multiple times', () => { + startMediaTracking({ + id, + boundaries: [50], + player: { duration: 100 }, + session: false, + }); + + trackMediaPlay({ id }); + for (let i = 1; i <= 100; i++) { + updateMediaTracking({ id, player: { currentTime: i } }); + } + trackMediaSeekEnd({ id, player: { currentTime: 0 } }); + for (let i = 1; i <= 100; i++) { + updateMediaTracking({ id, player: { currentTime: i } }); + } + + expect(eventQueue).toMatchObject([ + { event: { schema: getMediaEventSchema(MediaEventType.Play) } }, + { + event: { + schema: getMediaEventSchema(MediaEventType.PercentProgress), + data: { percentProgress: 50 }, + }, + }, + { + event: { + schema: getMediaEventSchema(MediaEventType.SeekEnd), + }, + context: [{ data: { currentTime: 0 } }], + }, + ]); + }); + }); +}); diff --git a/plugins/browser-plugin-media/test/pingInterval.test.ts b/plugins/browser-plugin-media/test/pingInterval.test.ts new file mode 100644 index 000000000..c13b2a6dd --- /dev/null +++ b/plugins/browser-plugin-media/test/pingInterval.test.ts @@ -0,0 +1,71 @@ +import { MediaPingInterval } from '../src/pingInterval'; + +describe('PingInterval', () => { + beforeAll(() => { + jest.useFakeTimers(); + }); + + afterAll(() => { + jest.clearAllTimers(); + }); + + it('should fire every 30 seconds', () => { + let pings = 0; + new MediaPingInterval(undefined, undefined, () => pings++); + + for (let i = 0; i < 60; i++) { + jest.advanceTimersByTime(1000); + } + + expect(pings).toBe(2); + }); + + it('should fire in a custom interval', () => { + let pings = 0; + new MediaPingInterval(5, undefined, () => pings++); + + for (let i = 0; i < 20; i++) { + jest.advanceTimersByTime(1000); + } + + expect(pings).toBe(4); + }); + + it('should stop firing after clear', () => { + let pings = 0; + const interval = new MediaPingInterval(undefined, undefined, () => pings++); + + for (let i = 0; i < 30; i++) { + jest.advanceTimersByTime(1000); + } + + interval.clear(); + + for (let i = 0; i < 10; i++) { + jest.advanceTimersByTime(1000); + } + + expect(pings).toBe(1); + }); + + it('should stop firing ping events when paused', () => { + let pings = 0; + const interval = new MediaPingInterval(1, 3, () => pings++); + interval.update({ + currentTime: 0, + ended: false, + loop: false, + livestream: false, + muted: false, + paused: true, + playbackRate: 1, + volume: 100, + }); + + for (let i = 0; i < 30; i++) { + jest.advanceTimersByTime(1000); + } + + expect(pings).toBe(3); + }); +}); diff --git a/plugins/browser-plugin-media/test/sessionStats.test.ts b/plugins/browser-plugin-media/test/sessionStats.test.ts new file mode 100644 index 000000000..1987b46ef --- /dev/null +++ b/plugins/browser-plugin-media/test/sessionStats.test.ts @@ -0,0 +1,217 @@ +import { v4 as uuid } from 'uuid'; +import { MediaSessionTrackingStats } from '../src/sessionStats'; +import { MediaAdBreakType, MediaAdBreak, MediaEventType } from '../src/types'; + +const mediaPlayerDefaults = { + ended: false, + paused: false, +}; + +describe('MediaSessionTrackingStats', () => { + beforeAll(() => { + jest.useFakeTimers(); + }); + + afterAll(() => { + jest.clearAllTimers(); + }); + + it('calculates played duration', () => { + let session = new MediaSessionTrackingStats(); + + session.update(MediaEventType.Play, { ...mediaPlayerDefaults, currentTime: 0 }); + + jest.advanceTimersByTime(60 * 1000); + session.update(MediaEventType.End, { ...mediaPlayerDefaults, currentTime: 60 }); + + let entity = session.toSessionContextEntity(); + expect(entity.contentWatched).toBe(61); + expect(entity.timePlayed).toBe(60); + expect(entity.timePlayedMuted).toBeUndefined(); + expect(entity.timePaused).toBeUndefined(); + expect(entity.avgPlaybackRate).toBeUndefined(); + }); + + it('considers pauses', () => { + let session = new MediaSessionTrackingStats(); + + session.update(MediaEventType.Play, { ...mediaPlayerDefaults, currentTime: 0 }); + + jest.advanceTimersByTime(10 * 1000); + session.update(undefined, { ...mediaPlayerDefaults, currentTime: 10 }); + session.update(MediaEventType.Pause, { ...mediaPlayerDefaults, currentTime: 10, paused: true }); + + jest.advanceTimersByTime(10 * 1000); + session.update(MediaEventType.Play, { ...mediaPlayerDefaults, currentTime: 10 }); + + jest.advanceTimersByTime(50 * 1000); + session.update(MediaEventType.End, { ...mediaPlayerDefaults, currentTime: 60 }); + + let entity = session.toSessionContextEntity(); + expect(entity.contentWatched).toBe(61); + expect(entity.timePlayed).toBe(60); + expect(entity.timePlayedMuted).toBeUndefined(); + expect(entity.timePaused).toBe(10); + expect(entity.avgPlaybackRate).toBeUndefined(); + }); + + it('calculates play on mute', () => { + let session = new MediaSessionTrackingStats(); + + session.update(MediaEventType.Play, { ...mediaPlayerDefaults, currentTime: 0, muted: false }); + + jest.advanceTimersByTime(30 * 1000); + session.update(MediaEventType.VolumeChange, { ...mediaPlayerDefaults, currentTime: 30, muted: true }); + + jest.advanceTimersByTime(30 * 1000); + session.update(MediaEventType.End, { ...mediaPlayerDefaults, currentTime: 60 }); + + let entity = session.toSessionContextEntity(); + expect(entity.contentWatched).toBe(61); + expect(entity.timePlayed).toBe(60); + expect(entity.timePlayedMuted).toBe(30); + expect(entity.timePaused).toBeUndefined(); + expect(entity.avgPlaybackRate).toBeUndefined(); + }); + + it('calculates average playback rate', () => { + let session = new MediaSessionTrackingStats(); + + session.update(MediaEventType.Play, { ...mediaPlayerDefaults, currentTime: 0, playbackRate: 1 }); + + jest.advanceTimersByTime(30 * 1000); + session.update(MediaEventType.PlaybackRateChange, { + ...mediaPlayerDefaults, + currentTime: 30, + playbackRate: 2, + }); + + jest.advanceTimersByTime(30 * 1000); + session.update(MediaEventType.End, { ...mediaPlayerDefaults, currentTime: 90 }); + + let entity = session.toSessionContextEntity(); + expect(entity.contentWatched).toBe(91); + expect(entity.timePlayed).toBe(60); + expect(entity.timePlayedMuted).toBeUndefined(); + expect(entity.timePaused).toBeUndefined(); + expect(entity.avgPlaybackRate).toBe(1.5); + }); + + it('calculates stats for linear ads', () => { + let session = new MediaSessionTrackingStats(); + + session.update(MediaEventType.Play, { ...mediaPlayerDefaults, currentTime: 0 }); + + jest.advanceTimersByTime(30 * 1000); + session.update(MediaEventType.AdStart, { ...mediaPlayerDefaults, currentTime: 30 }); + + jest.advanceTimersByTime(5 * 1000); + session.update(MediaEventType.AdClick, { ...mediaPlayerDefaults, currentTime: 30 }); + + jest.advanceTimersByTime(10 * 1000); + session.update(MediaEventType.AdComplete, { ...mediaPlayerDefaults, currentTime: 30 }); + + session.update(MediaEventType.AdStart, { ...mediaPlayerDefaults, currentTime: 30 }); + + jest.advanceTimersByTime(15 * 1000); + session.update(MediaEventType.AdComplete, { ...mediaPlayerDefaults, currentTime: 30 }); + + jest.advanceTimersByTime(30 * 1000); + session.update(MediaEventType.End, { ...mediaPlayerDefaults, currentTime: 60 }); + + let entity = session.toSessionContextEntity(); + expect(entity.timeSpentAds).toBe(30); + expect(entity.ads).toBe(2); + expect(entity.adsClicked).toBe(1); + expect(entity.adBreaks).toBeUndefined(); + expect(entity.contentWatched).toBe(61); + expect(entity.timePlayed).toBe(60); + }); + + it('calculate stats for non-linear ads', () => { + let session = new MediaSessionTrackingStats(); + let adBreak: MediaAdBreak = { breakId: uuid(), startTime: 0, breakType: MediaAdBreakType.NonLinear }; + + session.update(MediaEventType.Play, { ...mediaPlayerDefaults, currentTime: 0 }); + + jest.advanceTimersByTime(30 * 1000); + session.update(MediaEventType.AdBreakStart, { ...mediaPlayerDefaults, currentTime: 30 }, adBreak); + session.update(MediaEventType.AdStart, { ...mediaPlayerDefaults, currentTime: 30 }, adBreak); + + jest.advanceTimersByTime(15 * 1000); + session.update(MediaEventType.AdComplete, { ...mediaPlayerDefaults, currentTime: 45 }, adBreak); + session.update(MediaEventType.AdBreakEnd, { ...mediaPlayerDefaults, currentTime: 45 }, adBreak); + + jest.advanceTimersByTime(30 * 1000); + session.update(MediaEventType.End, { ...mediaPlayerDefaults, currentTime: 75 }); + + let entity = session.toSessionContextEntity(); + expect(entity.timeSpentAds).toBe(15); + expect(entity.ads).toBe(1); + expect(entity.adBreaks).toBe(1); + expect(entity.contentWatched).toBe(76); + expect(entity.timePlayed).toBe(75); + }); + + it('counts rewatched content once in contentWatched', () => { + let session = new MediaSessionTrackingStats(); + + session.update(MediaEventType.Play, { ...mediaPlayerDefaults, currentTime: 0 }); + + jest.advanceTimersByTime(30 * 1000); + session.update(MediaEventType.SeekStart, { ...mediaPlayerDefaults, currentTime: 30 }); + session.update(MediaEventType.SeekEnd, { ...mediaPlayerDefaults, currentTime: 15 }); + + jest.advanceTimersByTime(45 * 1000); + session.update(MediaEventType.End, { ...mediaPlayerDefaults, currentTime: 60 }); + + let entity = session.toSessionContextEntity(); + expect(entity.contentWatched).toBe(61); + expect(entity.timePlayed).toBe(75); + }); + + it('considers changes in ping events', () => { + let session = new MediaSessionTrackingStats(); + + session.update(MediaEventType.Play, { ...mediaPlayerDefaults, currentTime: 0 }); + + for (let i = 0; i < 60; i++) { + session.update(MediaEventType.Ping, { ...mediaPlayerDefaults, currentTime: i, muted: i % 2 == 0 }); + jest.advanceTimersByTime(1 * 1000); + } + + session.update(MediaEventType.End, { ...mediaPlayerDefaults, currentTime: 60 }); + + let entity = session.toSessionContextEntity(); + expect(entity.contentWatched).toBe(61); + expect(entity.timePlayed).toBe(60); + expect(entity.timePlayedMuted).toBe(30); + }); + + it('calculates buffering time', () => { + let session = new MediaSessionTrackingStats(); + + session.update(MediaEventType.BufferStart, { ...mediaPlayerDefaults, currentTime: 0 }); + + jest.advanceTimersByTime(30 * 1000); + session.update(MediaEventType.BufferEnd, { ...mediaPlayerDefaults, currentTime: 0 }); + + let entity = session.toSessionContextEntity(); + expect(entity.timeBuffering).toBe(30); + }); + + it('ends buffering when playback time moves', () => { + let session = new MediaSessionTrackingStats(); + + session.update(MediaEventType.BufferStart, { ...mediaPlayerDefaults, currentTime: 0 }); + + jest.advanceTimersByTime(15 * 1000); + session.update(undefined, { ...mediaPlayerDefaults, currentTime: 1 }); + + jest.advanceTimersByTime(15 * 1000); + session.update(MediaEventType.Play, { ...mediaPlayerDefaults, currentTime: 15 }); + + let entity = session.toSessionContextEntity(); + expect(entity.timeBuffering).toBe(15); + }); +}); diff --git a/plugins/browser-plugin-media/tsconfig.json b/plugins/browser-plugin-media/tsconfig.json new file mode 100644 index 000000000..4082f16a5 --- /dev/null +++ b/plugins/browser-plugin-media/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "../../tsconfig.json" +} diff --git a/rush.json b/rush.json index a317c0c6c..796a51882 100644 --- a/rush.json +++ b/rush.json @@ -547,6 +547,12 @@ "projectFolder": "plugins/browser-plugin-performance-navigation-timing", "reviewCategory": "plugins", "versionPolicyName": "tracker" + }, + { + "packageName": "@snowplow/browser-plugin-media", + "projectFolder": "plugins/browser-plugin-media", + "reviewCategory": "plugins", + "versionPolicyName": "tracker" } ] } From f1f4076dbb4d5ecdac6fe4ccd24382719f937848 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 5 Jun 2023 11:51:22 +0000 Subject: [PATCH 096/449] Update changelogs [skip ci] --- .../issue-1176-media_plugin_2023-04-17-15-11.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 ++++++- 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-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 | 12 ++++++++++++ plugins/browser-plugin-media/CHANGELOG.md | 11 +++++++++++ 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 ++++++- 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 ++++++- .../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 ++++++- 57 files changed, 347 insertions(+), 37 deletions(-) delete mode 100644 common/changes/@snowplow/browser-plugin-media/issue-1176-media_plugin_2023-04-17-15-11.json create mode 100644 plugins/browser-plugin-media/CHANGELOG.md diff --git a/common/changes/@snowplow/browser-plugin-media/issue-1176-media_plugin_2023-04-17-15-11.json b/common/changes/@snowplow/browser-plugin-media/issue-1176-media_plugin_2023-04-17-15-11.json deleted file mode 100644 index 12d3a95c1..000000000 --- a/common/changes/@snowplow/browser-plugin-media/issue-1176-media_plugin_2023-04-17-15-11.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-plugin-media", - "comment": "Add Snowplow Media plugin with APIs to track media events (#1176)", - "type": "none" - } - ], - "packageName": "@snowplow/browser-plugin-media" -} \ No newline at end of file diff --git a/libraries/browser-tracker-core/CHANGELOG.json b/libraries/browser-tracker-core/CHANGELOG.json index d695f0a9c..1beec688e 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.12.0", + "tag": "@snowplow/browser-tracker-core_v3.12.0", + "date": "Mon, 05 Jun 2023 11:51:22 GMT", + "comments": {} + }, { "version": "3.11.0", "tag": "@snowplow/browser-tracker-core_v3.11.0", diff --git a/libraries/browser-tracker-core/CHANGELOG.md b/libraries/browser-tracker-core/CHANGELOG.md index 8680b5549..5b083aed5 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 Wed, 24 May 2023 15:56:17 GMT and should not be manually modified. +This log was last generated on Mon, 05 Jun 2023 11:51:22 GMT and should not be manually modified. + +## 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 diff --git a/libraries/tracker-core/CHANGELOG.json b/libraries/tracker-core/CHANGELOG.json index d71791875..ee783c4ba 100644 --- a/libraries/tracker-core/CHANGELOG.json +++ b/libraries/tracker-core/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/tracker-core", "entries": [ + { + "version": "3.12.0", + "tag": "@snowplow/tracker-core_v3.12.0", + "date": "Mon, 05 Jun 2023 11:51:22 GMT", + "comments": {} + }, { "version": "3.11.0", "tag": "@snowplow/tracker-core_v3.11.0", diff --git a/libraries/tracker-core/CHANGELOG.md b/libraries/tracker-core/CHANGELOG.md index efd41eb24..1fdb3430b 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, 24 May 2023 15:56:17 GMT and should not be manually modified. +This log was last generated on Mon, 05 Jun 2023 11:51:22 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-ad-tracking/CHANGELOG.json b/plugins/browser-plugin-ad-tracking/CHANGELOG.json index f56894f82..d91f9f972 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.12.0", + "tag": "@snowplow/browser-plugin-ad-tracking_v3.12.0", + "date": "Mon, 05 Jun 2023 11:51:22 GMT", + "comments": {} + }, { "version": "3.11.0", "tag": "@snowplow/browser-plugin-ad-tracking_v3.11.0", diff --git a/plugins/browser-plugin-ad-tracking/CHANGELOG.md b/plugins/browser-plugin-ad-tracking/CHANGELOG.md index 462f0a69a..dab4419fa 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, 24 May 2023 15:56:17 GMT and should not be manually modified. +This log was last generated on Mon, 05 Jun 2023 11:51:22 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-browser-features/CHANGELOG.json b/plugins/browser-plugin-browser-features/CHANGELOG.json index 3aa1add83..259c96e4a 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.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", diff --git a/plugins/browser-plugin-browser-features/CHANGELOG.md b/plugins/browser-plugin-browser-features/CHANGELOG.md index 75b942a35..6bb7ace39 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, 24 May 2023 15:56:17 GMT and should not be manually modified. +This log was last generated on Mon, 05 Jun 2023 11:51:22 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-client-hints/CHANGELOG.json b/plugins/browser-plugin-client-hints/CHANGELOG.json index 8e7030a7f..a19792ed6 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.12.0", + "tag": "@snowplow/browser-plugin-client-hints_v3.12.0", + "date": "Mon, 05 Jun 2023 11:51:22 GMT", + "comments": {} + }, { "version": "3.11.0", "tag": "@snowplow/browser-plugin-client-hints_v3.11.0", diff --git a/plugins/browser-plugin-client-hints/CHANGELOG.md b/plugins/browser-plugin-client-hints/CHANGELOG.md index 28ab1667a..26430de92 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, 24 May 2023 15:56:17 GMT and should not be manually modified. +This log was last generated on Mon, 05 Jun 2023 11:51:22 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-consent/CHANGELOG.json b/plugins/browser-plugin-consent/CHANGELOG.json index 9b9c7bcc2..a58617947 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.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", diff --git a/plugins/browser-plugin-consent/CHANGELOG.md b/plugins/browser-plugin-consent/CHANGELOG.md index 93b1c0390..970c68bd9 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, 24 May 2023 15:56:17 GMT and should not be manually modified. +This log was last generated on Mon, 05 Jun 2023 11:51:22 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-debugger/CHANGELOG.json b/plugins/browser-plugin-debugger/CHANGELOG.json index 534769550..ea6738b9a 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.12.0", + "tag": "@snowplow/browser-plugin-debugger_v3.12.0", + "date": "Mon, 05 Jun 2023 11:51:22 GMT", + "comments": {} + }, { "version": "3.11.0", "tag": "@snowplow/browser-plugin-debugger_v3.11.0", diff --git a/plugins/browser-plugin-debugger/CHANGELOG.md b/plugins/browser-plugin-debugger/CHANGELOG.md index 2766185c2..b0cbc9ffc 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, 24 May 2023 15:56:17 GMT and should not be manually modified. +This log was last generated on Mon, 05 Jun 2023 11:51:22 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-ecommerce/CHANGELOG.json b/plugins/browser-plugin-ecommerce/CHANGELOG.json index 530da0674..b270a0fc2 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.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", diff --git a/plugins/browser-plugin-ecommerce/CHANGELOG.md b/plugins/browser-plugin-ecommerce/CHANGELOG.md index 75be59b3f..83c4c98e5 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, 24 May 2023 15:56:17 GMT and should not be manually modified. +This log was last generated on Mon, 05 Jun 2023 11:51:22 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-enhanced-consent/CHANGELOG.json b/plugins/browser-plugin-enhanced-consent/CHANGELOG.json index 26b94395e..85cff2dfe 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.12.0", + "tag": "@snowplow/browser-plugin-enhanced-consent_v3.12.0", + "date": "Mon, 05 Jun 2023 11:51:22 GMT", + "comments": {} + }, { "version": "3.11.0", "tag": "@snowplow/browser-plugin-enhanced-consent_v3.11.0", diff --git a/plugins/browser-plugin-enhanced-consent/CHANGELOG.md b/plugins/browser-plugin-enhanced-consent/CHANGELOG.md index ce31bcedc..ac103e2c2 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, 24 May 2023 15:56:17 GMT and should not be manually modified. +This log was last generated on Mon, 05 Jun 2023 11:51:22 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.json b/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.json index e5213360e..0fcff80c6 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.12.0", + "tag": "@snowplow/browser-plugin-enhanced-ecommerce_v3.12.0", + "date": "Mon, 05 Jun 2023 11:51:22 GMT", + "comments": {} + }, { "version": "3.11.0", "tag": "@snowplow/browser-plugin-enhanced-ecommerce_v3.11.0", diff --git a/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.md b/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.md index ffd1ceb31..278960501 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, 24 May 2023 15:56:17 GMT and should not be manually modified. +This log was last generated on Mon, 05 Jun 2023 11:51:22 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-error-tracking/CHANGELOG.json b/plugins/browser-plugin-error-tracking/CHANGELOG.json index 63995f139..4aeba7930 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.12.0", + "tag": "@snowplow/browser-plugin-error-tracking_v3.12.0", + "date": "Mon, 05 Jun 2023 11:51:22 GMT", + "comments": {} + }, { "version": "3.11.0", "tag": "@snowplow/browser-plugin-error-tracking_v3.11.0", diff --git a/plugins/browser-plugin-error-tracking/CHANGELOG.md b/plugins/browser-plugin-error-tracking/CHANGELOG.md index e0b0e1a7f..3ec92332c 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, 24 May 2023 15:56:17 GMT and should not be manually modified. +This log was last generated on Mon, 05 Jun 2023 11:51:22 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-form-tracking/CHANGELOG.json b/plugins/browser-plugin-form-tracking/CHANGELOG.json index be93f36fa..84830f1b0 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.12.0", + "tag": "@snowplow/browser-plugin-form-tracking_v3.12.0", + "date": "Mon, 05 Jun 2023 11:51:22 GMT", + "comments": {} + }, { "version": "3.11.0", "tag": "@snowplow/browser-plugin-form-tracking_v3.11.0", diff --git a/plugins/browser-plugin-form-tracking/CHANGELOG.md b/plugins/browser-plugin-form-tracking/CHANGELOG.md index 1a9831881..698f18e67 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, 24 May 2023 15:56:17 GMT and should not be manually modified. +This log was last generated on Mon, 05 Jun 2023 11:51:22 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-ga-cookies/CHANGELOG.json b/plugins/browser-plugin-ga-cookies/CHANGELOG.json index 41ec7bf72..36703c98e 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.12.0", + "tag": "@snowplow/browser-plugin-ga-cookies_v3.12.0", + "date": "Mon, 05 Jun 2023 11:51:22 GMT", + "comments": {} + }, { "version": "3.11.0", "tag": "@snowplow/browser-plugin-ga-cookies_v3.11.0", diff --git a/plugins/browser-plugin-ga-cookies/CHANGELOG.md b/plugins/browser-plugin-ga-cookies/CHANGELOG.md index 405a6b33c..f7efb309f 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, 24 May 2023 15:56:17 GMT and should not be manually modified. +This log was last generated on Mon, 05 Jun 2023 11:51:22 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-geolocation/CHANGELOG.json b/plugins/browser-plugin-geolocation/CHANGELOG.json index b3226d5d5..262f12354 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.12.0", + "tag": "@snowplow/browser-plugin-geolocation_v3.12.0", + "date": "Mon, 05 Jun 2023 11:51:22 GMT", + "comments": {} + }, { "version": "3.11.0", "tag": "@snowplow/browser-plugin-geolocation_v3.11.0", diff --git a/plugins/browser-plugin-geolocation/CHANGELOG.md b/plugins/browser-plugin-geolocation/CHANGELOG.md index 3e4b36952..c61d5658e 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, 24 May 2023 15:56:17 GMT and should not be manually modified. +This log was last generated on Mon, 05 Jun 2023 11:51:22 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-link-click-tracking/CHANGELOG.json b/plugins/browser-plugin-link-click-tracking/CHANGELOG.json index aa2c6691d..907632f5e 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.12.0", + "tag": "@snowplow/browser-plugin-link-click-tracking_v3.12.0", + "date": "Mon, 05 Jun 2023 11:51:22 GMT", + "comments": {} + }, { "version": "3.11.0", "tag": "@snowplow/browser-plugin-link-click-tracking_v3.11.0", diff --git a/plugins/browser-plugin-link-click-tracking/CHANGELOG.md b/plugins/browser-plugin-link-click-tracking/CHANGELOG.md index 748578875..7eb872710 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, 24 May 2023 15:56:17 GMT and should not be manually modified. +This log was last generated on Mon, 05 Jun 2023 11:51:22 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-media-tracking/CHANGELOG.json b/plugins/browser-plugin-media-tracking/CHANGELOG.json index bfcb7af00..656059d2a 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.12.0", + "tag": "@snowplow/browser-plugin-media-tracking_v3.12.0", + "date": "Mon, 05 Jun 2023 11:51:22 GMT", + "comments": {} + }, { "version": "3.11.0", "tag": "@snowplow/browser-plugin-media-tracking_v3.11.0", diff --git a/plugins/browser-plugin-media-tracking/CHANGELOG.md b/plugins/browser-plugin-media-tracking/CHANGELOG.md index 19cabbcd2..5dc4c024b 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, 24 May 2023 15:56:17 GMT and should not be manually modified. +This log was last generated on Mon, 05 Jun 2023 11:51:22 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-media/CHANGELOG.json b/plugins/browser-plugin-media/CHANGELOG.json index 06fb5e1d0..58ef83f12 100644 --- a/plugins/browser-plugin-media/CHANGELOG.json +++ b/plugins/browser-plugin-media/CHANGELOG.json @@ -1,5 +1,17 @@ { "name": "@snowplow/browser-plugin-media", "entries": [ + { + "version": "3.12.0", + "tag": "@snowplow/browser-plugin-media_v3.12.0", + "date": "Mon, 05 Jun 2023 11:51:22 GMT", + "comments": { + "none": [ + { + "comment": "Add Snowplow Media plugin with APIs to track media events (#1176)" + } + ] + } + } ] } diff --git a/plugins/browser-plugin-media/CHANGELOG.md b/plugins/browser-plugin-media/CHANGELOG.md new file mode 100644 index 000000000..819e8a4bd --- /dev/null +++ b/plugins/browser-plugin-media/CHANGELOG.md @@ -0,0 +1,11 @@ +# Change Log - @snowplow/browser-plugin-media + +This log was last generated on Mon, 05 Jun 2023 11:51:22 GMT and should not be manually modified. + +## 3.12.0 +Mon, 05 Jun 2023 11:51:22 GMT + +### Updates + +- Add Snowplow Media plugin with APIs to track media events (#1176) + diff --git a/plugins/browser-plugin-optimizely-x/CHANGELOG.json b/plugins/browser-plugin-optimizely-x/CHANGELOG.json index 18db0574c..eda066125 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.12.0", + "tag": "@snowplow/browser-plugin-optimizely-x_v3.12.0", + "date": "Mon, 05 Jun 2023 11:51:22 GMT", + "comments": {} + }, { "version": "3.11.0", "tag": "@snowplow/browser-plugin-optimizely-x_v3.11.0", diff --git a/plugins/browser-plugin-optimizely-x/CHANGELOG.md b/plugins/browser-plugin-optimizely-x/CHANGELOG.md index 822d8065e..ec751e7b7 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, 24 May 2023 15:56:17 GMT and should not be manually modified. +This log was last generated on Mon, 05 Jun 2023 11:51:22 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-optimizely/CHANGELOG.json b/plugins/browser-plugin-optimizely/CHANGELOG.json index c5570fc9b..bda87f321 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.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", diff --git a/plugins/browser-plugin-optimizely/CHANGELOG.md b/plugins/browser-plugin-optimizely/CHANGELOG.md index b30f5db67..bd118801e 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, 24 May 2023 15:56:17 GMT and should not be manually modified. +This log was last generated on Mon, 05 Jun 2023 11:51:22 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.json b/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.json index dd26f417b..862383af0 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.12.0", + "tag": "@snowplow/browser-plugin-performance-navigation-timing_v3.12.0", + "date": "Mon, 05 Jun 2023 11:51:22 GMT", + "comments": {} + }, { "version": "3.11.0", "tag": "@snowplow/browser-plugin-performance-navigation-timing_v3.11.0", diff --git a/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.md b/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.md index 99dea954b..d58ef618f 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, 24 May 2023 15:56:17 GMT and should not be manually modified. +This log was last generated on Mon, 05 Jun 2023 11:51:22 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-performance-timing/CHANGELOG.json b/plugins/browser-plugin-performance-timing/CHANGELOG.json index 88efbc17f..02f045789 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.12.0", + "tag": "@snowplow/browser-plugin-performance-timing_v3.12.0", + "date": "Mon, 05 Jun 2023 11:51:22 GMT", + "comments": {} + }, { "version": "3.11.0", "tag": "@snowplow/browser-plugin-performance-timing_v3.11.0", diff --git a/plugins/browser-plugin-performance-timing/CHANGELOG.md b/plugins/browser-plugin-performance-timing/CHANGELOG.md index fbffb851b..a7e322486 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, 24 May 2023 15:56:17 GMT and should not be manually modified. +This log was last generated on Mon, 05 Jun 2023 11:51:22 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-site-tracking/CHANGELOG.json b/plugins/browser-plugin-site-tracking/CHANGELOG.json index b78e0bcf3..5404fb164 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.12.0", + "tag": "@snowplow/browser-plugin-site-tracking_v3.12.0", + "date": "Mon, 05 Jun 2023 11:51:22 GMT", + "comments": {} + }, { "version": "3.11.0", "tag": "@snowplow/browser-plugin-site-tracking_v3.11.0", diff --git a/plugins/browser-plugin-site-tracking/CHANGELOG.md b/plugins/browser-plugin-site-tracking/CHANGELOG.md index efb3833b0..5ef78862f 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, 24 May 2023 15:56:17 GMT and should not be manually modified. +This log was last generated on Mon, 05 Jun 2023 11:51:22 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.json b/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.json index 72978923c..a0e5ab9f7 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.12.0", + "tag": "@snowplow/browser-plugin-snowplow-ecommerce_v3.12.0", + "date": "Mon, 05 Jun 2023 11:51:22 GMT", + "comments": {} + }, { "version": "3.11.0", "tag": "@snowplow/browser-plugin-snowplow-ecommerce_v3.11.0", diff --git a/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.md b/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.md index b22e24feb..8409474bb 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, 24 May 2023 15:56:17 GMT and should not be manually modified. +This log was last generated on Mon, 05 Jun 2023 11:51:22 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-timezone/CHANGELOG.json b/plugins/browser-plugin-timezone/CHANGELOG.json index 362bf4c40..5008a4577 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.12.0", + "tag": "@snowplow/browser-plugin-timezone_v3.12.0", + "date": "Mon, 05 Jun 2023 11:51:22 GMT", + "comments": {} + }, { "version": "3.11.0", "tag": "@snowplow/browser-plugin-timezone_v3.11.0", diff --git a/plugins/browser-plugin-timezone/CHANGELOG.md b/plugins/browser-plugin-timezone/CHANGELOG.md index e4aebcf2f..fff88e819 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, 24 May 2023 15:56:17 GMT and should not be manually modified. +This log was last generated on Mon, 05 Jun 2023 11:51:22 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-youtube-tracking/CHANGELOG.json b/plugins/browser-plugin-youtube-tracking/CHANGELOG.json index 776474844..a33b03e11 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.12.0", + "tag": "@snowplow/browser-plugin-youtube-tracking_v3.12.0", + "date": "Mon, 05 Jun 2023 11:51:22 GMT", + "comments": {} + }, { "version": "3.11.0", "tag": "@snowplow/browser-plugin-youtube-tracking_v3.11.0", diff --git a/plugins/browser-plugin-youtube-tracking/CHANGELOG.md b/plugins/browser-plugin-youtube-tracking/CHANGELOG.md index 05d3764fa..7e5422397 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, 24 May 2023 15:56:17 GMT and should not be manually modified. +This log was last generated on Mon, 05 Jun 2023 11:51:22 GMT and should not be manually modified. + +## 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 diff --git a/trackers/browser-tracker/CHANGELOG.json b/trackers/browser-tracker/CHANGELOG.json index 82712c2bd..6bb7faa94 100644 --- a/trackers/browser-tracker/CHANGELOG.json +++ b/trackers/browser-tracker/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-tracker", "entries": [ + { + "version": "3.12.0", + "tag": "@snowplow/browser-tracker_v3.12.0", + "date": "Mon, 05 Jun 2023 11:51:22 GMT", + "comments": {} + }, { "version": "3.11.0", "tag": "@snowplow/browser-tracker_v3.11.0", diff --git a/trackers/browser-tracker/CHANGELOG.md b/trackers/browser-tracker/CHANGELOG.md index 8740a6836..d33b4fefc 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, 24 May 2023 15:56:17 GMT and should not be manually modified. +This log was last generated on Mon, 05 Jun 2023 11:51:22 GMT and should not be manually modified. + +## 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 diff --git a/trackers/javascript-tracker/CHANGELOG.json b/trackers/javascript-tracker/CHANGELOG.json index fb85aee68..a865146b5 100644 --- a/trackers/javascript-tracker/CHANGELOG.json +++ b/trackers/javascript-tracker/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/javascript-tracker", "entries": [ + { + "version": "3.12.0", + "tag": "@snowplow/javascript-tracker_v3.12.0", + "date": "Mon, 05 Jun 2023 11:51:22 GMT", + "comments": {} + }, { "version": "3.11.0", "tag": "@snowplow/javascript-tracker_v3.11.0", diff --git a/trackers/javascript-tracker/CHANGELOG.md b/trackers/javascript-tracker/CHANGELOG.md index 193e50493..569e076aa 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 Wed, 24 May 2023 15:56:17 GMT and should not be manually modified. +This log was last generated on Mon, 05 Jun 2023 11:51:22 GMT and should not be manually modified. + +## 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 diff --git a/trackers/node-tracker/CHANGELOG.json b/trackers/node-tracker/CHANGELOG.json index f9bac1f39..71b505f52 100644 --- a/trackers/node-tracker/CHANGELOG.json +++ b/trackers/node-tracker/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/node-tracker", "entries": [ + { + "version": "3.12.0", + "tag": "@snowplow/node-tracker_v3.12.0", + "date": "Mon, 05 Jun 2023 11:51:22 GMT", + "comments": {} + }, { "version": "3.11.0", "tag": "@snowplow/node-tracker_v3.11.0", diff --git a/trackers/node-tracker/CHANGELOG.md b/trackers/node-tracker/CHANGELOG.md index c063968fb..c328c11ff 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, 24 May 2023 15:56:17 GMT and should not be manually modified. +This log was last generated on Mon, 05 Jun 2023 11:51:22 GMT and should not be manually modified. + +## 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 From 8e7527cc7b666a13eb504f97634601cbc5637108 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 5 Jun 2023 11:51:22 +0000 Subject: [PATCH 097/449] 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-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-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-site-tracking/package.json | 4 ++-- plugins/browser-plugin-snowplow-ecommerce/package.json | 4 ++-- plugins/browser-plugin-timezone/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 +- 29 files changed, 52 insertions(+), 52 deletions(-) diff --git a/common/config/rush/version-policies.json b/common/config/rush/version-policies.json index 0516aa892..ccb8403f3 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.11.0", + "version": "3.12.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 3596f9514..6a9333bbb 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.11.0", + "version": "3.12.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 886941e78..be5ab3b9e 100644 --- a/libraries/tracker-core/package.json +++ b/libraries/tracker-core/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/tracker-core", - "version": "3.11.0", + "version": "3.12.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 6a10bf47a..b60ce2797 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.11.0", + "version": "3.12.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.11.0" + "@snowplow/browser-tracker": "~3.12.0" } } diff --git a/plugins/browser-plugin-browser-features/package.json b/plugins/browser-plugin-browser-features/package.json index 97a25703e..9650ca8d9 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.11.0", + "version": "3.12.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.11.0" + "@snowplow/browser-tracker": "~3.12.0" } } diff --git a/plugins/browser-plugin-client-hints/package.json b/plugins/browser-plugin-client-hints/package.json index baf134c23..9309cccf0 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.11.0", + "version": "3.12.0", "description": "Attaches Client Hints to Snowplow events", "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.11.0" + "@snowplow/browser-tracker": "~3.12.0" } } diff --git a/plugins/browser-plugin-consent/package.json b/plugins/browser-plugin-consent/package.json index 8c3e591fd..c8517be50 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.11.0", + "version": "3.12.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.11.0" + "@snowplow/browser-tracker": "~3.12.0" } } diff --git a/plugins/browser-plugin-debugger/package.json b/plugins/browser-plugin-debugger/package.json index 8f958f62b..f8d8d6911 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.11.0", + "version": "3.12.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.11.0" + "@snowplow/browser-tracker": "~3.12.0" } } diff --git a/plugins/browser-plugin-ecommerce/package.json b/plugins/browser-plugin-ecommerce/package.json index 0d75235f9..80c07f09b 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.11.0", + "version": "3.12.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.11.0" + "@snowplow/browser-tracker": "~3.12.0" } } diff --git a/plugins/browser-plugin-enhanced-consent/package.json b/plugins/browser-plugin-enhanced-consent/package.json index fa0daafe3..2928881d0 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.11.0", + "version": "3.12.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.11.0" + "@snowplow/browser-tracker": "~3.12.0" } } diff --git a/plugins/browser-plugin-enhanced-ecommerce/package.json b/plugins/browser-plugin-enhanced-ecommerce/package.json index 5c62d33f5..ba0336bc1 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.11.0", + "version": "3.12.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.11.0" + "@snowplow/browser-tracker": "~3.12.0" } } diff --git a/plugins/browser-plugin-error-tracking/package.json b/plugins/browser-plugin-error-tracking/package.json index 1b2aa2c33..7ecc0720d 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.11.0", + "version": "3.12.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.11.0" + "@snowplow/browser-tracker": "~3.12.0" } } diff --git a/plugins/browser-plugin-form-tracking/package.json b/plugins/browser-plugin-form-tracking/package.json index 5e829287e..55dd1a33a 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.11.0", + "version": "3.12.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.11.0" + "@snowplow/browser-tracker": "~3.12.0" } } diff --git a/plugins/browser-plugin-ga-cookies/package.json b/plugins/browser-plugin-ga-cookies/package.json index 59711cd78..2af9e5f94 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.11.0", + "version": "3.12.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.11.0" + "@snowplow/browser-tracker": "~3.12.0" } } diff --git a/plugins/browser-plugin-geolocation/package.json b/plugins/browser-plugin-geolocation/package.json index f0ea93f85..8444053c2 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.11.0", + "version": "3.12.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.11.0" + "@snowplow/browser-tracker": "~3.12.0" } } diff --git a/plugins/browser-plugin-link-click-tracking/package.json b/plugins/browser-plugin-link-click-tracking/package.json index 246534677..68f191fc7 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.11.0", + "version": "3.12.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.11.0" + "@snowplow/browser-tracker": "~3.12.0" } } diff --git a/plugins/browser-plugin-media-tracking/package.json b/plugins/browser-plugin-media-tracking/package.json index e1fcdb850..62f69c2ef 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.11.0", + "version": "3.12.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.11.0" + "@snowplow/browser-tracker": "~3.12.0" } } diff --git a/plugins/browser-plugin-media/package.json b/plugins/browser-plugin-media/package.json index 5f81bd350..d6176b2e2 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.11.0", + "version": "3.12.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.11.0" + "@snowplow/browser-tracker": "~3.12.0" } } diff --git a/plugins/browser-plugin-optimizely-x/package.json b/plugins/browser-plugin-optimizely-x/package.json index 1d6f4ac66..4f68470fc 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.11.0", + "version": "3.12.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.11.0" + "@snowplow/browser-tracker": "~3.12.0" } } diff --git a/plugins/browser-plugin-optimizely/package.json b/plugins/browser-plugin-optimizely/package.json index 6fa44af01..22415f9ab 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.11.0", + "version": "3.12.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.11.0" + "@snowplow/browser-tracker": "~3.12.0" } } diff --git a/plugins/browser-plugin-performance-navigation-timing/package.json b/plugins/browser-plugin-performance-navigation-timing/package.json index dfc0ff0f2..c96791c27 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.11.0", + "version": "3.12.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.11.0" + "@snowplow/browser-tracker": "~3.12.0" } } diff --git a/plugins/browser-plugin-performance-timing/package.json b/plugins/browser-plugin-performance-timing/package.json index f56d47ffb..593ae0373 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.11.0", + "version": "3.12.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.11.0" + "@snowplow/browser-tracker": "~3.12.0" } } diff --git a/plugins/browser-plugin-site-tracking/package.json b/plugins/browser-plugin-site-tracking/package.json index 9bc004251..74fadf0d3 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.11.0", + "version": "3.12.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.11.0" + "@snowplow/browser-tracker": "~3.12.0" } } diff --git a/plugins/browser-plugin-snowplow-ecommerce/package.json b/plugins/browser-plugin-snowplow-ecommerce/package.json index 6e3e7005a..5f61c73cd 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.11.0", + "version": "3.12.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.11.0" + "@snowplow/browser-tracker": "~3.12.0" } } diff --git a/plugins/browser-plugin-timezone/package.json b/plugins/browser-plugin-timezone/package.json index 3e2faea7c..d5c78da53 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.11.0", + "version": "3.12.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.11.0" + "@snowplow/browser-tracker": "~3.12.0" } } diff --git a/plugins/browser-plugin-youtube-tracking/package.json b/plugins/browser-plugin-youtube-tracking/package.json index c46807b32..75f6a99ce 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.11.0", + "version": "3.12.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.11.0" + "@snowplow/browser-tracker": "~3.12.0" } } diff --git a/trackers/browser-tracker/package.json b/trackers/browser-tracker/package.json index 343cdf848..70bdb8dcf 100644 --- a/trackers/browser-tracker/package.json +++ b/trackers/browser-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-tracker", - "version": "3.11.0", + "version": "3.12.0", "description": "Browser tracker for Snowplow", "keywords": [ "tracking", diff --git a/trackers/javascript-tracker/package.json b/trackers/javascript-tracker/package.json index 31eddc4c0..643043112 100644 --- a/trackers/javascript-tracker/package.json +++ b/trackers/javascript-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/javascript-tracker", - "version": "3.11.0", + "version": "3.12.0", "description": "Web analytics for Snowplow", "keywords": [ "tracking", diff --git a/trackers/node-tracker/package.json b/trackers/node-tracker/package.json index 945d1b9f8..1defe158a 100644 --- a/trackers/node-tracker/package.json +++ b/trackers/node-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/node-tracker", - "version": "3.11.0", + "version": "3.12.0", "description": "Node tracker for Snowplow", "keywords": [ "snowplow", From b2d1116581746e1e67fe9215cb3cd63b187964e9 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 5 Jun 2023 11:55:42 +0000 Subject: [PATCH 098/449] Applying documentation updates. From c2d24c3f87fd83b4daab45426df7b4298636e6bf Mon Sep 17 00:00:00 2001 From: Peter Perlepes Date: Thu, 15 Jun 2023 11:35:17 +0300 Subject: [PATCH 099/449] 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 ccb8403f3..f600aaca5 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 bf15d7e8a7c247bf48538b09b0fff597b99224c9 Mon Sep 17 00:00:00 2001 From: Peter Perlepes Date: Thu, 15 Jun 2023 11:37:12 +0300 Subject: [PATCH 100/449] Properly prevent NaN session index parameter 'vid' (fix #1204) #1207 --- ...1204-properly-prevent-NaN-vid_2023-06-15-08-02.json | 10 ++++++++++ trackers/node-tracker/src/tracker.ts | 2 +- trackers/node-tracker/test/tracker.ts | 1 + 3 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 common/changes/@snowplow/node-tracker/fix-1204-properly-prevent-NaN-vid_2023-06-15-08-02.json diff --git a/common/changes/@snowplow/node-tracker/fix-1204-properly-prevent-NaN-vid_2023-06-15-08-02.json b/common/changes/@snowplow/node-tracker/fix-1204-properly-prevent-NaN-vid_2023-06-15-08-02.json new file mode 100644 index 000000000..6747e8511 --- /dev/null +++ b/common/changes/@snowplow/node-tracker/fix-1204-properly-prevent-NaN-vid_2023-06-15-08-02.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/node-tracker", + "comment": "Properly prevent NaN session index parameter 'vid' (fix #1204)", + "type": "none" + } + ], + "packageName": "@snowplow/node-tracker" +} \ No newline at end of file diff --git a/trackers/node-tracker/src/tracker.ts b/trackers/node-tracker/src/tracker.ts index 8a5dc672b..40ce8677c 100644 --- a/trackers/node-tracker/src/tracker.ts +++ b/trackers/node-tracker/src/tracker.ts @@ -94,7 +94,7 @@ export function tracker( payload.add('duid', domainUserId); payload.add('nuid', networkUserId); payload.add('sid', sessionId); - payload.add('vid', Number(sessionIndex)); + payload.add('vid', sessionIndex && Number(sessionIndex)); }; /** diff --git a/trackers/node-tracker/test/tracker.ts b/trackers/node-tracker/test/tracker.ts index a9e42c282..c97a0017c 100644 --- a/trackers/node-tracker/test/tracker.ts +++ b/trackers/node-tracker/test/tracker.ts @@ -95,6 +95,7 @@ function checkPayload(payloadDict: Payload, expected: Payload, t: ExecutionConte t.deepEqual(payloadDict['co'], completedContext, 'a custom context should be attached'); t.truthy(payloadDict['dtm'], 'a timestamp should be attached'); t.truthy(payloadDict['eid'], 'a UUID should be attached'); + t.falsy(typeof payloadDict['vid'] === 'string' && payloadDict['vid'] === 'NaN', 'Session index should not be NaN'); } test.before(() => { From e087201b37353908d7bd31e8e5358b666f53e9f6 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 15 Jun 2023 10:05:37 +0000 Subject: [PATCH 101/449] Update changelogs [skip ci] --- ...04-properly-prevent-NaN-vid_2023-06-15-08-02.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 ++++++- 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-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 ++++++- 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 ++++++- .../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 | 12 ++++++++++++ trackers/node-tracker/CHANGELOG.md | 9 ++++++++- 57 files changed, 344 insertions(+), 38 deletions(-) delete mode 100644 common/changes/@snowplow/node-tracker/fix-1204-properly-prevent-NaN-vid_2023-06-15-08-02.json diff --git a/common/changes/@snowplow/node-tracker/fix-1204-properly-prevent-NaN-vid_2023-06-15-08-02.json b/common/changes/@snowplow/node-tracker/fix-1204-properly-prevent-NaN-vid_2023-06-15-08-02.json deleted file mode 100644 index 6747e8511..000000000 --- a/common/changes/@snowplow/node-tracker/fix-1204-properly-prevent-NaN-vid_2023-06-15-08-02.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/node-tracker", - "comment": "Properly prevent NaN session index parameter 'vid' (fix #1204)", - "type": "none" - } - ], - "packageName": "@snowplow/node-tracker" -} \ No newline at end of file diff --git a/libraries/browser-tracker-core/CHANGELOG.json b/libraries/browser-tracker-core/CHANGELOG.json index 1beec688e..11e66f92b 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.12.1", + "tag": "@snowplow/browser-tracker-core_v3.12.1", + "date": "Thu, 15 Jun 2023 10:05:37 GMT", + "comments": {} + }, { "version": "3.12.0", "tag": "@snowplow/browser-tracker-core_v3.12.0", diff --git a/libraries/browser-tracker-core/CHANGELOG.md b/libraries/browser-tracker-core/CHANGELOG.md index 5b083aed5..06918f99a 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 Mon, 05 Jun 2023 11:51:22 GMT and should not be manually modified. +This log was last generated on Thu, 15 Jun 2023 10:05:37 GMT and should not be manually modified. + +## 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 diff --git a/libraries/tracker-core/CHANGELOG.json b/libraries/tracker-core/CHANGELOG.json index ee783c4ba..ee9d68364 100644 --- a/libraries/tracker-core/CHANGELOG.json +++ b/libraries/tracker-core/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/tracker-core", "entries": [ + { + "version": "3.12.1", + "tag": "@snowplow/tracker-core_v3.12.1", + "date": "Thu, 15 Jun 2023 10:05:37 GMT", + "comments": {} + }, { "version": "3.12.0", "tag": "@snowplow/tracker-core_v3.12.0", diff --git a/libraries/tracker-core/CHANGELOG.md b/libraries/tracker-core/CHANGELOG.md index 1fdb3430b..0c068f62b 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, 05 Jun 2023 11:51:22 GMT and should not be manually modified. +This log was last generated on Thu, 15 Jun 2023 10:05:37 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-ad-tracking/CHANGELOG.json b/plugins/browser-plugin-ad-tracking/CHANGELOG.json index d91f9f972..024bb61a5 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.12.1", + "tag": "@snowplow/browser-plugin-ad-tracking_v3.12.1", + "date": "Thu, 15 Jun 2023 10:05:37 GMT", + "comments": {} + }, { "version": "3.12.0", "tag": "@snowplow/browser-plugin-ad-tracking_v3.12.0", diff --git a/plugins/browser-plugin-ad-tracking/CHANGELOG.md b/plugins/browser-plugin-ad-tracking/CHANGELOG.md index dab4419fa..fba32a50d 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, 05 Jun 2023 11:51:22 GMT and should not be manually modified. +This log was last generated on Thu, 15 Jun 2023 10:05:37 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-browser-features/CHANGELOG.json b/plugins/browser-plugin-browser-features/CHANGELOG.json index 259c96e4a..9397841bb 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.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", diff --git a/plugins/browser-plugin-browser-features/CHANGELOG.md b/plugins/browser-plugin-browser-features/CHANGELOG.md index 6bb7ace39..078f270da 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, 05 Jun 2023 11:51:22 GMT and should not be manually modified. +This log was last generated on Thu, 15 Jun 2023 10:05:37 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-client-hints/CHANGELOG.json b/plugins/browser-plugin-client-hints/CHANGELOG.json index a19792ed6..fe6365bbf 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.12.1", + "tag": "@snowplow/browser-plugin-client-hints_v3.12.1", + "date": "Thu, 15 Jun 2023 10:05:37 GMT", + "comments": {} + }, { "version": "3.12.0", "tag": "@snowplow/browser-plugin-client-hints_v3.12.0", diff --git a/plugins/browser-plugin-client-hints/CHANGELOG.md b/plugins/browser-plugin-client-hints/CHANGELOG.md index 26430de92..4de6017f0 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, 05 Jun 2023 11:51:22 GMT and should not be manually modified. +This log was last generated on Thu, 15 Jun 2023 10:05:37 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-consent/CHANGELOG.json b/plugins/browser-plugin-consent/CHANGELOG.json index a58617947..373bf59f9 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.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", diff --git a/plugins/browser-plugin-consent/CHANGELOG.md b/plugins/browser-plugin-consent/CHANGELOG.md index 970c68bd9..796e18a96 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, 05 Jun 2023 11:51:22 GMT and should not be manually modified. +This log was last generated on Thu, 15 Jun 2023 10:05:37 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-debugger/CHANGELOG.json b/plugins/browser-plugin-debugger/CHANGELOG.json index ea6738b9a..4e477bb07 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.12.1", + "tag": "@snowplow/browser-plugin-debugger_v3.12.1", + "date": "Thu, 15 Jun 2023 10:05:37 GMT", + "comments": {} + }, { "version": "3.12.0", "tag": "@snowplow/browser-plugin-debugger_v3.12.0", diff --git a/plugins/browser-plugin-debugger/CHANGELOG.md b/plugins/browser-plugin-debugger/CHANGELOG.md index b0cbc9ffc..1fdc53c56 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, 05 Jun 2023 11:51:22 GMT and should not be manually modified. +This log was last generated on Thu, 15 Jun 2023 10:05:37 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-ecommerce/CHANGELOG.json b/plugins/browser-plugin-ecommerce/CHANGELOG.json index b270a0fc2..3a5a27cb6 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.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", diff --git a/plugins/browser-plugin-ecommerce/CHANGELOG.md b/plugins/browser-plugin-ecommerce/CHANGELOG.md index 83c4c98e5..88eefa9d0 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, 05 Jun 2023 11:51:22 GMT and should not be manually modified. +This log was last generated on Thu, 15 Jun 2023 10:05:37 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-enhanced-consent/CHANGELOG.json b/plugins/browser-plugin-enhanced-consent/CHANGELOG.json index 85cff2dfe..e35974cde 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.12.1", + "tag": "@snowplow/browser-plugin-enhanced-consent_v3.12.1", + "date": "Thu, 15 Jun 2023 10:05:37 GMT", + "comments": {} + }, { "version": "3.12.0", "tag": "@snowplow/browser-plugin-enhanced-consent_v3.12.0", diff --git a/plugins/browser-plugin-enhanced-consent/CHANGELOG.md b/plugins/browser-plugin-enhanced-consent/CHANGELOG.md index ac103e2c2..32ef0bd53 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, 05 Jun 2023 11:51:22 GMT and should not be manually modified. +This log was last generated on Thu, 15 Jun 2023 10:05:37 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.json b/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.json index 0fcff80c6..4789a711b 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.12.1", + "tag": "@snowplow/browser-plugin-enhanced-ecommerce_v3.12.1", + "date": "Thu, 15 Jun 2023 10:05:37 GMT", + "comments": {} + }, { "version": "3.12.0", "tag": "@snowplow/browser-plugin-enhanced-ecommerce_v3.12.0", diff --git a/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.md b/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.md index 278960501..470d59098 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, 05 Jun 2023 11:51:22 GMT and should not be manually modified. +This log was last generated on Thu, 15 Jun 2023 10:05:37 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-error-tracking/CHANGELOG.json b/plugins/browser-plugin-error-tracking/CHANGELOG.json index 4aeba7930..1c0ab6891 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.12.1", + "tag": "@snowplow/browser-plugin-error-tracking_v3.12.1", + "date": "Thu, 15 Jun 2023 10:05:37 GMT", + "comments": {} + }, { "version": "3.12.0", "tag": "@snowplow/browser-plugin-error-tracking_v3.12.0", diff --git a/plugins/browser-plugin-error-tracking/CHANGELOG.md b/plugins/browser-plugin-error-tracking/CHANGELOG.md index 3ec92332c..05c6ddac5 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, 05 Jun 2023 11:51:22 GMT and should not be manually modified. +This log was last generated on Thu, 15 Jun 2023 10:05:37 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-form-tracking/CHANGELOG.json b/plugins/browser-plugin-form-tracking/CHANGELOG.json index 84830f1b0..5ca90eb7e 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.12.1", + "tag": "@snowplow/browser-plugin-form-tracking_v3.12.1", + "date": "Thu, 15 Jun 2023 10:05:37 GMT", + "comments": {} + }, { "version": "3.12.0", "tag": "@snowplow/browser-plugin-form-tracking_v3.12.0", diff --git a/plugins/browser-plugin-form-tracking/CHANGELOG.md b/plugins/browser-plugin-form-tracking/CHANGELOG.md index 698f18e67..7c54fe2d0 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, 05 Jun 2023 11:51:22 GMT and should not be manually modified. +This log was last generated on Thu, 15 Jun 2023 10:05:37 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-ga-cookies/CHANGELOG.json b/plugins/browser-plugin-ga-cookies/CHANGELOG.json index 36703c98e..593013f01 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.12.1", + "tag": "@snowplow/browser-plugin-ga-cookies_v3.12.1", + "date": "Thu, 15 Jun 2023 10:05:37 GMT", + "comments": {} + }, { "version": "3.12.0", "tag": "@snowplow/browser-plugin-ga-cookies_v3.12.0", diff --git a/plugins/browser-plugin-ga-cookies/CHANGELOG.md b/plugins/browser-plugin-ga-cookies/CHANGELOG.md index f7efb309f..0370a2621 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, 05 Jun 2023 11:51:22 GMT and should not be manually modified. +This log was last generated on Thu, 15 Jun 2023 10:05:37 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-geolocation/CHANGELOG.json b/plugins/browser-plugin-geolocation/CHANGELOG.json index 262f12354..116ff135c 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.12.1", + "tag": "@snowplow/browser-plugin-geolocation_v3.12.1", + "date": "Thu, 15 Jun 2023 10:05:37 GMT", + "comments": {} + }, { "version": "3.12.0", "tag": "@snowplow/browser-plugin-geolocation_v3.12.0", diff --git a/plugins/browser-plugin-geolocation/CHANGELOG.md b/plugins/browser-plugin-geolocation/CHANGELOG.md index c61d5658e..c29a85dfe 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, 05 Jun 2023 11:51:22 GMT and should not be manually modified. +This log was last generated on Thu, 15 Jun 2023 10:05:37 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-link-click-tracking/CHANGELOG.json b/plugins/browser-plugin-link-click-tracking/CHANGELOG.json index 907632f5e..5e1d10d64 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.12.1", + "tag": "@snowplow/browser-plugin-link-click-tracking_v3.12.1", + "date": "Thu, 15 Jun 2023 10:05:37 GMT", + "comments": {} + }, { "version": "3.12.0", "tag": "@snowplow/browser-plugin-link-click-tracking_v3.12.0", diff --git a/plugins/browser-plugin-link-click-tracking/CHANGELOG.md b/plugins/browser-plugin-link-click-tracking/CHANGELOG.md index 7eb872710..5b42c1213 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, 05 Jun 2023 11:51:22 GMT and should not be manually modified. +This log was last generated on Thu, 15 Jun 2023 10:05:37 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-media-tracking/CHANGELOG.json b/plugins/browser-plugin-media-tracking/CHANGELOG.json index 656059d2a..8f5d179b5 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.12.1", + "tag": "@snowplow/browser-plugin-media-tracking_v3.12.1", + "date": "Thu, 15 Jun 2023 10:05:37 GMT", + "comments": {} + }, { "version": "3.12.0", "tag": "@snowplow/browser-plugin-media-tracking_v3.12.0", diff --git a/plugins/browser-plugin-media-tracking/CHANGELOG.md b/plugins/browser-plugin-media-tracking/CHANGELOG.md index 5dc4c024b..55da6ebb1 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, 05 Jun 2023 11:51:22 GMT and should not be manually modified. +This log was last generated on Thu, 15 Jun 2023 10:05:37 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-media/CHANGELOG.json b/plugins/browser-plugin-media/CHANGELOG.json index 58ef83f12..7410a623f 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.12.1", + "tag": "@snowplow/browser-plugin-media_v3.12.1", + "date": "Thu, 15 Jun 2023 10:05:37 GMT", + "comments": {} + }, { "version": "3.12.0", "tag": "@snowplow/browser-plugin-media_v3.12.0", diff --git a/plugins/browser-plugin-media/CHANGELOG.md b/plugins/browser-plugin-media/CHANGELOG.md index 819e8a4bd..e272f757c 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, 05 Jun 2023 11:51:22 GMT and should not be manually modified. +This log was last generated on Thu, 15 Jun 2023 10:05:37 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-optimizely-x/CHANGELOG.json b/plugins/browser-plugin-optimizely-x/CHANGELOG.json index eda066125..820f76a01 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.12.1", + "tag": "@snowplow/browser-plugin-optimizely-x_v3.12.1", + "date": "Thu, 15 Jun 2023 10:05:37 GMT", + "comments": {} + }, { "version": "3.12.0", "tag": "@snowplow/browser-plugin-optimizely-x_v3.12.0", diff --git a/plugins/browser-plugin-optimizely-x/CHANGELOG.md b/plugins/browser-plugin-optimizely-x/CHANGELOG.md index ec751e7b7..c2670f8bd 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, 05 Jun 2023 11:51:22 GMT and should not be manually modified. +This log was last generated on Thu, 15 Jun 2023 10:05:37 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-optimizely/CHANGELOG.json b/plugins/browser-plugin-optimizely/CHANGELOG.json index bda87f321..a1c471041 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.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", diff --git a/plugins/browser-plugin-optimizely/CHANGELOG.md b/plugins/browser-plugin-optimizely/CHANGELOG.md index bd118801e..38fbbc08c 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, 05 Jun 2023 11:51:22 GMT and should not be manually modified. +This log was last generated on Thu, 15 Jun 2023 10:05:37 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.json b/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.json index 862383af0..701608901 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.12.1", + "tag": "@snowplow/browser-plugin-performance-navigation-timing_v3.12.1", + "date": "Thu, 15 Jun 2023 10:05:37 GMT", + "comments": {} + }, { "version": "3.12.0", "tag": "@snowplow/browser-plugin-performance-navigation-timing_v3.12.0", diff --git a/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.md b/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.md index d58ef618f..30b64a4b6 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, 05 Jun 2023 11:51:22 GMT and should not be manually modified. +This log was last generated on Thu, 15 Jun 2023 10:05:37 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-performance-timing/CHANGELOG.json b/plugins/browser-plugin-performance-timing/CHANGELOG.json index 02f045789..acfe91444 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.12.1", + "tag": "@snowplow/browser-plugin-performance-timing_v3.12.1", + "date": "Thu, 15 Jun 2023 10:05:37 GMT", + "comments": {} + }, { "version": "3.12.0", "tag": "@snowplow/browser-plugin-performance-timing_v3.12.0", diff --git a/plugins/browser-plugin-performance-timing/CHANGELOG.md b/plugins/browser-plugin-performance-timing/CHANGELOG.md index a7e322486..b0a932119 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, 05 Jun 2023 11:51:22 GMT and should not be manually modified. +This log was last generated on Thu, 15 Jun 2023 10:05:37 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-site-tracking/CHANGELOG.json b/plugins/browser-plugin-site-tracking/CHANGELOG.json index 5404fb164..0505fbcde 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.12.1", + "tag": "@snowplow/browser-plugin-site-tracking_v3.12.1", + "date": "Thu, 15 Jun 2023 10:05:37 GMT", + "comments": {} + }, { "version": "3.12.0", "tag": "@snowplow/browser-plugin-site-tracking_v3.12.0", diff --git a/plugins/browser-plugin-site-tracking/CHANGELOG.md b/plugins/browser-plugin-site-tracking/CHANGELOG.md index 5ef78862f..434cb343d 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, 05 Jun 2023 11:51:22 GMT and should not be manually modified. +This log was last generated on Thu, 15 Jun 2023 10:05:37 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.json b/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.json index a0e5ab9f7..5b872e06c 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.12.1", + "tag": "@snowplow/browser-plugin-snowplow-ecommerce_v3.12.1", + "date": "Thu, 15 Jun 2023 10:05:37 GMT", + "comments": {} + }, { "version": "3.12.0", "tag": "@snowplow/browser-plugin-snowplow-ecommerce_v3.12.0", diff --git a/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.md b/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.md index 8409474bb..705ca2104 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 Mon, 05 Jun 2023 11:51:22 GMT and should not be manually modified. +This log was last generated on Thu, 15 Jun 2023 10:05:37 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-timezone/CHANGELOG.json b/plugins/browser-plugin-timezone/CHANGELOG.json index 5008a4577..b28c8552e 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.12.1", + "tag": "@snowplow/browser-plugin-timezone_v3.12.1", + "date": "Thu, 15 Jun 2023 10:05:37 GMT", + "comments": {} + }, { "version": "3.12.0", "tag": "@snowplow/browser-plugin-timezone_v3.12.0", diff --git a/plugins/browser-plugin-timezone/CHANGELOG.md b/plugins/browser-plugin-timezone/CHANGELOG.md index fff88e819..73150af28 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, 05 Jun 2023 11:51:22 GMT and should not be manually modified. +This log was last generated on Thu, 15 Jun 2023 10:05:37 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-youtube-tracking/CHANGELOG.json b/plugins/browser-plugin-youtube-tracking/CHANGELOG.json index a33b03e11..adbf2b62e 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.12.1", + "tag": "@snowplow/browser-plugin-youtube-tracking_v3.12.1", + "date": "Thu, 15 Jun 2023 10:05:37 GMT", + "comments": {} + }, { "version": "3.12.0", "tag": "@snowplow/browser-plugin-youtube-tracking_v3.12.0", diff --git a/plugins/browser-plugin-youtube-tracking/CHANGELOG.md b/plugins/browser-plugin-youtube-tracking/CHANGELOG.md index 7e5422397..d8cd7d8e2 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, 05 Jun 2023 11:51:22 GMT and should not be manually modified. +This log was last generated on Thu, 15 Jun 2023 10:05:37 GMT and should not be manually modified. + +## 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 diff --git a/trackers/browser-tracker/CHANGELOG.json b/trackers/browser-tracker/CHANGELOG.json index 6bb7faa94..806629cf6 100644 --- a/trackers/browser-tracker/CHANGELOG.json +++ b/trackers/browser-tracker/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-tracker", "entries": [ + { + "version": "3.12.1", + "tag": "@snowplow/browser-tracker_v3.12.1", + "date": "Thu, 15 Jun 2023 10:05:37 GMT", + "comments": {} + }, { "version": "3.12.0", "tag": "@snowplow/browser-tracker_v3.12.0", diff --git a/trackers/browser-tracker/CHANGELOG.md b/trackers/browser-tracker/CHANGELOG.md index d33b4fefc..502c43587 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, 05 Jun 2023 11:51:22 GMT and should not be manually modified. +This log was last generated on Thu, 15 Jun 2023 10:05:37 GMT and should not be manually modified. + +## 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 diff --git a/trackers/javascript-tracker/CHANGELOG.json b/trackers/javascript-tracker/CHANGELOG.json index a865146b5..0a250a8d1 100644 --- a/trackers/javascript-tracker/CHANGELOG.json +++ b/trackers/javascript-tracker/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/javascript-tracker", "entries": [ + { + "version": "3.12.1", + "tag": "@snowplow/javascript-tracker_v3.12.1", + "date": "Thu, 15 Jun 2023 10:05:37 GMT", + "comments": {} + }, { "version": "3.12.0", "tag": "@snowplow/javascript-tracker_v3.12.0", diff --git a/trackers/javascript-tracker/CHANGELOG.md b/trackers/javascript-tracker/CHANGELOG.md index 569e076aa..b3f38ba0c 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, 05 Jun 2023 11:51:22 GMT and should not be manually modified. +This log was last generated on Thu, 15 Jun 2023 10:05:37 GMT and should not be manually modified. + +## 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 diff --git a/trackers/node-tracker/CHANGELOG.json b/trackers/node-tracker/CHANGELOG.json index 71b505f52..e021ac70a 100644 --- a/trackers/node-tracker/CHANGELOG.json +++ b/trackers/node-tracker/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@snowplow/node-tracker", "entries": [ + { + "version": "3.12.1", + "tag": "@snowplow/node-tracker_v3.12.1", + "date": "Thu, 15 Jun 2023 10:05:37 GMT", + "comments": { + "none": [ + { + "comment": "Properly prevent NaN session index parameter 'vid' (fix #1204)" + } + ] + } + }, { "version": "3.12.0", "tag": "@snowplow/node-tracker_v3.12.0", diff --git a/trackers/node-tracker/CHANGELOG.md b/trackers/node-tracker/CHANGELOG.md index c328c11ff..2161dc7d5 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 Mon, 05 Jun 2023 11:51:22 GMT and should not be manually modified. +This log was last generated on Thu, 15 Jun 2023 10:05:37 GMT and should not be manually modified. + +## 3.12.1 +Thu, 15 Jun 2023 10:05:37 GMT + +### Updates + +- Properly prevent NaN session index parameter 'vid' (fix #1204) ## 3.12.0 Mon, 05 Jun 2023 11:51:22 GMT From 959d23b579c8d361e23466d5c8cd1869fcbbe66b Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 15 Jun 2023 10:05:37 +0000 Subject: [PATCH 102/449] 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-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-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-site-tracking/package.json | 4 ++-- plugins/browser-plugin-snowplow-ecommerce/package.json | 4 ++-- plugins/browser-plugin-timezone/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 +- 29 files changed, 52 insertions(+), 52 deletions(-) diff --git a/common/config/rush/version-policies.json b/common/config/rush/version-policies.json index f600aaca5..3b00a0d6f 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.12.0", + "version": "3.12.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 6a9333bbb..923951cfe 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.12.0", + "version": "3.12.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 be5ab3b9e..f7fb679ee 100644 --- a/libraries/tracker-core/package.json +++ b/libraries/tracker-core/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/tracker-core", - "version": "3.12.0", + "version": "3.12.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 b60ce2797..77401e60a 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.12.0", + "version": "3.12.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.12.0" + "@snowplow/browser-tracker": "~3.12.1" } } diff --git a/plugins/browser-plugin-browser-features/package.json b/plugins/browser-plugin-browser-features/package.json index 9650ca8d9..9a9f4fdc9 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.12.0", + "version": "3.12.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.12.0" + "@snowplow/browser-tracker": "~3.12.1" } } diff --git a/plugins/browser-plugin-client-hints/package.json b/plugins/browser-plugin-client-hints/package.json index 9309cccf0..4f58cdf5a 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.12.0", + "version": "3.12.1", "description": "Attaches Client Hints to Snowplow events", "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.12.0" + "@snowplow/browser-tracker": "~3.12.1" } } diff --git a/plugins/browser-plugin-consent/package.json b/plugins/browser-plugin-consent/package.json index c8517be50..46d5db232 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.12.0", + "version": "3.12.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.12.0" + "@snowplow/browser-tracker": "~3.12.1" } } diff --git a/plugins/browser-plugin-debugger/package.json b/plugins/browser-plugin-debugger/package.json index f8d8d6911..3653ce1ce 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.12.0", + "version": "3.12.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.12.0" + "@snowplow/browser-tracker": "~3.12.1" } } diff --git a/plugins/browser-plugin-ecommerce/package.json b/plugins/browser-plugin-ecommerce/package.json index 80c07f09b..040c5dca8 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.12.0", + "version": "3.12.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.12.0" + "@snowplow/browser-tracker": "~3.12.1" } } diff --git a/plugins/browser-plugin-enhanced-consent/package.json b/plugins/browser-plugin-enhanced-consent/package.json index 2928881d0..7e27ec4ce 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.12.0", + "version": "3.12.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.12.0" + "@snowplow/browser-tracker": "~3.12.1" } } diff --git a/plugins/browser-plugin-enhanced-ecommerce/package.json b/plugins/browser-plugin-enhanced-ecommerce/package.json index ba0336bc1..10aa0c483 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.12.0", + "version": "3.12.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.12.0" + "@snowplow/browser-tracker": "~3.12.1" } } diff --git a/plugins/browser-plugin-error-tracking/package.json b/plugins/browser-plugin-error-tracking/package.json index 7ecc0720d..b90c7f9d2 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.12.0", + "version": "3.12.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.12.0" + "@snowplow/browser-tracker": "~3.12.1" } } diff --git a/plugins/browser-plugin-form-tracking/package.json b/plugins/browser-plugin-form-tracking/package.json index 55dd1a33a..73a572505 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.12.0", + "version": "3.12.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.12.0" + "@snowplow/browser-tracker": "~3.12.1" } } diff --git a/plugins/browser-plugin-ga-cookies/package.json b/plugins/browser-plugin-ga-cookies/package.json index 2af9e5f94..8664fc1dc 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.12.0", + "version": "3.12.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.12.0" + "@snowplow/browser-tracker": "~3.12.1" } } diff --git a/plugins/browser-plugin-geolocation/package.json b/plugins/browser-plugin-geolocation/package.json index 8444053c2..b5fc4c3d6 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.12.0", + "version": "3.12.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.12.0" + "@snowplow/browser-tracker": "~3.12.1" } } diff --git a/plugins/browser-plugin-link-click-tracking/package.json b/plugins/browser-plugin-link-click-tracking/package.json index 68f191fc7..e1e1e538c 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.12.0", + "version": "3.12.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.12.0" + "@snowplow/browser-tracker": "~3.12.1" } } diff --git a/plugins/browser-plugin-media-tracking/package.json b/plugins/browser-plugin-media-tracking/package.json index 62f69c2ef..227346b65 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.12.0", + "version": "3.12.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.12.0" + "@snowplow/browser-tracker": "~3.12.1" } } diff --git a/plugins/browser-plugin-media/package.json b/plugins/browser-plugin-media/package.json index d6176b2e2..e142ce14c 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.12.0", + "version": "3.12.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.12.0" + "@snowplow/browser-tracker": "~3.12.1" } } diff --git a/plugins/browser-plugin-optimizely-x/package.json b/plugins/browser-plugin-optimizely-x/package.json index 4f68470fc..b22578f90 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.12.0", + "version": "3.12.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.12.0" + "@snowplow/browser-tracker": "~3.12.1" } } diff --git a/plugins/browser-plugin-optimizely/package.json b/plugins/browser-plugin-optimizely/package.json index 22415f9ab..431263a99 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.12.0", + "version": "3.12.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.12.0" + "@snowplow/browser-tracker": "~3.12.1" } } diff --git a/plugins/browser-plugin-performance-navigation-timing/package.json b/plugins/browser-plugin-performance-navigation-timing/package.json index c96791c27..ef6a1d31e 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.12.0", + "version": "3.12.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.12.0" + "@snowplow/browser-tracker": "~3.12.1" } } diff --git a/plugins/browser-plugin-performance-timing/package.json b/plugins/browser-plugin-performance-timing/package.json index 593ae0373..c4a4d2fe3 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.12.0", + "version": "3.12.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.12.0" + "@snowplow/browser-tracker": "~3.12.1" } } diff --git a/plugins/browser-plugin-site-tracking/package.json b/plugins/browser-plugin-site-tracking/package.json index 74fadf0d3..e9657ae9d 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.12.0", + "version": "3.12.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.12.0" + "@snowplow/browser-tracker": "~3.12.1" } } diff --git a/plugins/browser-plugin-snowplow-ecommerce/package.json b/plugins/browser-plugin-snowplow-ecommerce/package.json index 5f61c73cd..3440a7cf2 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.12.0", + "version": "3.12.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.12.0" + "@snowplow/browser-tracker": "~3.12.1" } } diff --git a/plugins/browser-plugin-timezone/package.json b/plugins/browser-plugin-timezone/package.json index d5c78da53..03be64174 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.12.0", + "version": "3.12.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.12.0" + "@snowplow/browser-tracker": "~3.12.1" } } diff --git a/plugins/browser-plugin-youtube-tracking/package.json b/plugins/browser-plugin-youtube-tracking/package.json index 75f6a99ce..88b3d4946 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.12.0", + "version": "3.12.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.12.0" + "@snowplow/browser-tracker": "~3.12.1" } } diff --git a/trackers/browser-tracker/package.json b/trackers/browser-tracker/package.json index 70bdb8dcf..c7743c430 100644 --- a/trackers/browser-tracker/package.json +++ b/trackers/browser-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-tracker", - "version": "3.12.0", + "version": "3.12.1", "description": "Browser tracker for Snowplow", "keywords": [ "tracking", diff --git a/trackers/javascript-tracker/package.json b/trackers/javascript-tracker/package.json index 643043112..ad44c70d4 100644 --- a/trackers/javascript-tracker/package.json +++ b/trackers/javascript-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/javascript-tracker", - "version": "3.12.0", + "version": "3.12.1", "description": "Web analytics for Snowplow", "keywords": [ "tracking", diff --git a/trackers/node-tracker/package.json b/trackers/node-tracker/package.json index 1defe158a..488acd545 100644 --- a/trackers/node-tracker/package.json +++ b/trackers/node-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/node-tracker", - "version": "3.12.0", + "version": "3.12.1", "description": "Node tracker for Snowplow", "keywords": [ "snowplow", From d45e52d404840eaa5745a2f355de722010fccfe9 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 15 Jun 2023 10:10:51 +0000 Subject: [PATCH 103/449] Applying documentation updates. From 9bd957ea141d580ae537b2c9c9b2a6de8585affc Mon Sep 17 00:00:00 2001 From: Peter Perlepes Date: Mon, 19 Jun 2023 18:53:53 +0300 Subject: [PATCH 104/449] Add transaction error tracking capability to snowplow-ecommerce #1201 --- ...g-snowplow-ecommerce_2023-05-31-14-51.json | 10 +++ .../src/api.ts | 24 +++++++ .../src/schemata.ts | 4 +- .../src/types.ts | 35 +++++++++- .../test/events.test.ts | 69 ++++++++++++++----- 5 files changed, 123 insertions(+), 19 deletions(-) create mode 100644 common/changes/@snowplow/browser-plugin-snowplow-ecommerce/feature-1200-add-transaction-error-tracking-snowplow-ecommerce_2023-05-31-14-51.json diff --git a/common/changes/@snowplow/browser-plugin-snowplow-ecommerce/feature-1200-add-transaction-error-tracking-snowplow-ecommerce_2023-05-31-14-51.json b/common/changes/@snowplow/browser-plugin-snowplow-ecommerce/feature-1200-add-transaction-error-tracking-snowplow-ecommerce_2023-05-31-14-51.json new file mode 100644 index 000000000..af24f8f53 --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-snowplow-ecommerce/feature-1200-add-transaction-error-tracking-snowplow-ecommerce_2023-05-31-14-51.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-snowplow-ecommerce", + "comment": "Add transaction error tracking capability to snowplow-ecommerce", + "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 a07b11bbe..9cd9e41bb 100644 --- a/plugins/browser-plugin-snowplow-ecommerce/src/api.ts +++ b/plugins/browser-plugin-snowplow-ecommerce/src/api.ts @@ -8,6 +8,7 @@ import { PRODUCT_SCHEMA, PROMO_SCHEMA, REFUND_SCHEMA, + TRANSACTION_ERROR_SCHEMA, TRANSACTION_SCHEMA, USER_SCHEMA, } from './schemata'; @@ -22,6 +23,7 @@ import { Promotion, Refund, Transaction, + TransactionError, User as UserContext, } from './types'; @@ -240,6 +242,28 @@ export function trackRefund( }); } +/** + * Track a transaction error event + * + * @param transactionError - The transaction error information + * @param trackers - The tracker identifiers which the event will be sent to + */ +export function trackTransactionError( + transactionError: TransactionError & CommonEcommerceEventProperties, + trackers: Array = Object.keys(_trackers) +) { + const { context = [], timestamp, transaction, ...transactionErrorAttributes } = transactionError; + context.push({ + schema: TRANSACTION_SCHEMA, + data: { ...transaction }, + }); + context.push({ schema: TRANSACTION_ERROR_SCHEMA, data: { ...transactionErrorAttributes } }); + + dispatchToTrackersInCollection(trackers, _trackers, (t) => { + t.core.track(buildEcommerceActionEvent({ type: 'trns_error' }), context, timestamp); + }); +} + /** * Set Ecommerce Page context * diff --git a/plugins/browser-plugin-snowplow-ecommerce/src/schemata.ts b/plugins/browser-plugin-snowplow-ecommerce/src/schemata.ts index 6f9ab7b32..196e4a3d4 100644 --- a/plugins/browser-plugin-snowplow-ecommerce/src/schemata.ts +++ b/plugins/browser-plugin-snowplow-ecommerce/src/schemata.ts @@ -1,6 +1,6 @@ export const CART_SCHEMA = 'iglu:com.snowplowanalytics.snowplow.ecommerce/cart/jsonschema/1-0-0'; export const ECOMMERCE_ACTION_SCHEMA = - 'iglu:com.snowplowanalytics.snowplow.ecommerce/snowplow_ecommerce_action/jsonschema/1-0-1'; + 'iglu:com.snowplowanalytics.snowplow.ecommerce/snowplow_ecommerce_action/jsonschema/1-0-2'; export const CHECKOUT_STEP_SCHEMA = 'iglu:com.snowplowanalytics.snowplow.ecommerce/checkout_step/jsonschema/1-0-0'; export const PRODUCT_SCHEMA = 'iglu:com.snowplowanalytics.snowplow.ecommerce/product/jsonschema/1-0-0'; export const PAGE_SCHEMA = 'iglu:com.snowplowanalytics.snowplow.ecommerce/page/jsonschema/1-0-0'; @@ -8,3 +8,5 @@ export const USER_SCHEMA = 'iglu:com.snowplowanalytics.snowplow.ecommerce/user/j export const TRANSACTION_SCHEMA = 'iglu:com.snowplowanalytics.snowplow.ecommerce/transaction/jsonschema/1-0-0'; export const PROMO_SCHEMA = 'iglu:com.snowplowanalytics.snowplow.ecommerce/promotion/jsonschema/1-0-0'; export const REFUND_SCHEMA = 'iglu:com.snowplowanalytics.snowplow.ecommerce/refund/jsonschema/1-0-0'; +export const TRANSACTION_ERROR_SCHEMA = + 'iglu:com.snowplowanalytics.snowplow.ecommerce/transaction_error/jsonschema/1-0-0'; diff --git a/plugins/browser-plugin-snowplow-ecommerce/src/types.ts b/plugins/browser-plugin-snowplow-ecommerce/src/types.ts index 797492ffe..f6eae914b 100644 --- a/plugins/browser-plugin-snowplow-ecommerce/src/types.ts +++ b/plugins/browser-plugin-snowplow-ecommerce/src/types.ts @@ -17,7 +17,8 @@ export interface Action { | 'promo_view' | 'checkout_step' | 'transaction' - | 'refund'; + | 'refund' + | 'trns_error'; /** * You can add a name for the list presented to the user. @@ -266,6 +267,38 @@ export interface Refund { products?: Product[]; } +/** + * Type/Schema for a transaction error entity in Ecommerce + */ +export interface TransactionError { + /** + * Error-identifying code for the transaction issue. E.g. E522 + */ + error_code?: string; + /** + * Shortcode for the error occurred in the transaction. E.g. declined_by_stock_api, declined_by_payment_method, card_declined, pm_card_radarBlock + */ + error_shortcode?: string; + /** + * Longer description for the error occurred in the transaction. + */ + error_description?: string; + /** + * Type of error. + * Hard error types mean the customer must provide another form of payment e.g. an expired card. + * Soft errors can be the result of temporary issues where retrying might be successful e.g. processor declined the transaction. + */ + error_type?: 'hard' | 'soft' | null; + /** + * The resolution selected for the error scenario. E.g. retry_allowed, user_blacklisted, block_gateway, contact_user, default + */ + resolution?: string; + /** + * The transaction object representing the transaction that ended up in an error. + */ + transaction: Transaction; +} + /** * Type/Schema for an user entity in Ecommerce */ diff --git a/plugins/browser-plugin-snowplow-ecommerce/test/events.test.ts b/plugins/browser-plugin-snowplow-ecommerce/test/events.test.ts index 5d7af0ece..196bbf76b 100644 --- a/plugins/browser-plugin-snowplow-ecommerce/test/events.test.ts +++ b/plugins/browser-plugin-snowplow-ecommerce/test/events.test.ts @@ -41,6 +41,7 @@ import { trackRefund, trackRemoveFromCart, trackTransaction, + trackTransactionError, } from '../src'; import { CART_SCHEMA, @@ -50,7 +51,9 @@ import { PROMO_SCHEMA, REFUND_SCHEMA, TRANSACTION_SCHEMA, + TRANSACTION_ERROR_SCHEMA, } from '../src/schemata'; +import { CheckoutStep, Product, Promotion, Refund, Transaction, TransactionError } from '../src/types'; const extractStateProperties = ({ outQueues: [ @@ -76,8 +79,8 @@ describe('SnowplowEcommercePlugin events', () => { }); it('trackAddToCart adds the expected "add to cart" event to the queue', () => { - const productX = { id: '1234', price: 12, currency: 'EUR' }; - const productY = { id: '12345', price: 25, currency: 'EUR' }; + const productX: Product = { id: '1234', price: 12, currency: 'EUR' }; + const productY: Product = { id: '12345', price: 25, currency: 'EUR' }; trackAddToCart({ total_value: 40, currency: 'EUR', @@ -111,7 +114,7 @@ describe('SnowplowEcommercePlugin events', () => { }); it('trackRemoveFromCart adds the expected "remove from cart" event to the queue', () => { - const productX = { id: '1234', price: 12, currency: 'EUR' }; + const productX: Product = { id: '1234', price: 12, currency: 'EUR' }; trackRemoveFromCart({ total_value: 40, currency: 'EUR', @@ -141,7 +144,7 @@ describe('SnowplowEcommercePlugin events', () => { }); it('trackProductView adds the expected "product view" event to the queue', () => { - const productX = { + const productX: Product = { id: '1234', price: 25, currency: 'EUR', @@ -165,7 +168,7 @@ describe('SnowplowEcommercePlugin events', () => { }); it('trackPromotionView adds the expected "promotion view" event to the queue', () => { - const promoX = { + const promoX: Promotion = { id: '1234', name: 'promo_winter', product_ids: ['P1234'], @@ -190,7 +193,7 @@ describe('SnowplowEcommercePlugin events', () => { }); it('trackPromotionClick adds the expected "promotion click" event to the queue', () => { - const promoX = { + const promoX: Promotion = { id: '1234', name: 'promo_winter', product_ids: ['P1234'], @@ -215,8 +218,8 @@ describe('SnowplowEcommercePlugin events', () => { }); it('trackProductListView adds the expected "product list view" event to the queue', () => { - const productX = { id: '1234', price: 12, currency: 'EUR' }; - const productY = { id: '12345', price: 25, currency: 'EUR' }; + const productX: Product = { id: '1234', price: 12, currency: 'EUR' }; + const productY: Product = { id: '12345', price: 25, currency: 'EUR' }; trackProductListView({ name: 'recommended products', products: [productX, productY], @@ -242,7 +245,7 @@ describe('SnowplowEcommercePlugin events', () => { }); it('trackProductListClick adds the expected "product list click" event to the queue', () => { - const productX = { id: '1234', price: 12, currency: 'EUR', position: 3 }; + const productX: Product = { id: '1234', price: 12, currency: 'EUR', position: 3 }; trackProductListClick({ name: 'recommended products', product: productX, @@ -264,7 +267,7 @@ describe('SnowplowEcommercePlugin events', () => { }); it('trackCheckoutStep adds the expected "checkout step" event to the queue', () => { - const checkoutStep = { + const checkoutStep: CheckoutStep = { step: 1, shipping_postcode: '1234', proof_of_payment: 'invoice', @@ -287,9 +290,9 @@ describe('SnowplowEcommercePlugin events', () => { }); it('trackTransaction adds the expected "transaction" event to the queue', () => { - const productX = { id: '1234', price: 12, currency: 'EUR', quantity: 4 }; - const productY = { id: '12345', price: 25, currency: 'EUR', quantity: 1 }; - const transaction = { revenue: 45, currency: 'EUR', transaction_id: '12345', payment_method: 'card' }; + 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' }; trackTransaction({ ...transaction, products: [productX, productY], @@ -315,7 +318,7 @@ describe('SnowplowEcommercePlugin events', () => { /* Expect implicit total_quantity calculation */ const emmitedTransaction = context[2].data; expect(emmitedTransaction).toHaveProperty('total_quantity'); - expect(emmitedTransaction.total_quantity).toEqual(productX.quantity + productY.quantity); + expect(emmitedTransaction.total_quantity).toEqual(productX.quantity! + productY.quantity!); expect(unstructuredEvent).toMatchObject({ schema: ECOMMERCE_ACTION_SCHEMA, @@ -324,9 +327,9 @@ describe('SnowplowEcommercePlugin events', () => { }); it('trackRefund adds the expected "refund" event to the queue', () => { - const productX = { id: '1234', price: 12, currency: 'EUR' }; - const productY = { id: '12345', price: 25, currency: 'EUR' }; - const refund = { refund_amount: 45, currency: 'EUR', transaction_id: '12345', refund_reason: 'Return' }; + 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' }; trackRefund({ ...refund, products: [productX, productY], @@ -354,4 +357,36 @@ describe('SnowplowEcommercePlugin events', () => { data: { type: 'refund' }, }); }); + + it('trackTransactionError adds the expected "trns_error" event to the queue', () => { + const transactionError: Omit = { + resolution: 'rejection', + error_code: 'E123', + error_shortcode: 'CARD_DECLINE', + error_type: 'hard', + }; + const transaction: Transaction = { revenue: 45, currency: 'EUR', transaction_id: '12345', payment_method: 'card' }; + trackTransactionError({ + ...transactionError, + transaction, + }); + + const { context, unstructuredEvent } = extractStateProperties(state); + + expect(context).toMatchObject([ + { + data: transaction, + schema: TRANSACTION_SCHEMA, + }, + { + data: transactionError, + schema: TRANSACTION_ERROR_SCHEMA, + }, + ]); + + expect(unstructuredEvent).toMatchObject({ + schema: ECOMMERCE_ACTION_SCHEMA, + data: { type: 'trns_error' }, + }); + }); }); From 7fb672270cfc97e493bab6d026d260f9b1173f9b Mon Sep 17 00:00:00 2001 From: Peter Perlepes Date: Tue, 20 Jun 2023 00:19:03 +0300 Subject: [PATCH 105/449] Add browser-plugin-web-vitals to track Web Vital metrics #1190 --- ...er-plugin-web-vitals_2023-05-16-09-13.json | 10 +++ .../rush/browser-approved-packages.json | 10 ++- common/config/rush/pnpm-lock.yaml | 55 ++++++++++++++ common/config/rush/repo-state.json | 2 +- plugins/browser-plugin-web-vitals/LICENSE | 29 ++++++++ plugins/browser-plugin-web-vitals/README.md | 68 +++++++++++++++++ .../browser-plugin-web-vitals/jest.config.js | 5 ++ .../browser-plugin-web-vitals/package.json | 54 ++++++++++++++ .../rollup.config.js | 37 ++++++++++ .../browser-plugin-web-vitals/src/index.ts | 74 +++++++++++++++++++ .../browser-plugin-web-vitals/src/schemata.ts | 1 + .../browser-plugin-web-vitals/src/types.ts | 12 +++ .../browser-plugin-web-vitals/src/utils.ts | 72 ++++++++++++++++++ .../__snapshots__/web-vitals.test.ts.snap | 16 ++++ .../test/web-vitals.test.ts | 53 +++++++++++++ .../browser-plugin-web-vitals/tsconfig.json | 3 + rush.json | 6 ++ 17 files changed, 505 insertions(+), 2 deletions(-) create mode 100644 common/changes/@snowplow/browser-plugin-web-vitals/feature-1189-browser-plugin-web-vitals_2023-05-16-09-13.json create mode 100644 plugins/browser-plugin-web-vitals/LICENSE create mode 100644 plugins/browser-plugin-web-vitals/README.md create mode 100644 plugins/browser-plugin-web-vitals/jest.config.js create mode 100644 plugins/browser-plugin-web-vitals/package.json create mode 100644 plugins/browser-plugin-web-vitals/rollup.config.js create mode 100644 plugins/browser-plugin-web-vitals/src/index.ts create mode 100644 plugins/browser-plugin-web-vitals/src/schemata.ts create mode 100644 plugins/browser-plugin-web-vitals/src/types.ts create mode 100644 plugins/browser-plugin-web-vitals/src/utils.ts create mode 100644 plugins/browser-plugin-web-vitals/test/__snapshots__/web-vitals.test.ts.snap create mode 100644 plugins/browser-plugin-web-vitals/test/web-vitals.test.ts create mode 100644 plugins/browser-plugin-web-vitals/tsconfig.json diff --git a/common/changes/@snowplow/browser-plugin-web-vitals/feature-1189-browser-plugin-web-vitals_2023-05-16-09-13.json b/common/changes/@snowplow/browser-plugin-web-vitals/feature-1189-browser-plugin-web-vitals_2023-05-16-09-13.json new file mode 100644 index 000000000..d60be47e1 --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-web-vitals/feature-1189-browser-plugin-web-vitals_2023-05-16-09-13.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-web-vitals", + "comment": "Create browser-plugin-web-vitals", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-web-vitals" +} \ 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 0d47789ec..9b10465b8 100644 --- a/common/config/rush/browser-approved-packages.json +++ b/common/config/rush/browser-approved-packages.json @@ -126,6 +126,10 @@ "name": "@snowplow/browser-plugin-timezone", "allowedCategories": [ "trackers" ] }, + { + "name": "@snowplow/browser-plugin-web-vitals", + "allowedCategories": [ "trackers" ] + }, { "name": "@snowplow/browser-plugin-youtube-tracking", "allowedCategories": [ "trackers" ] @@ -320,7 +324,7 @@ }, { "name": "rollup-plugin-filesize", - "allowedCategories": [ "trackers" ] + "allowedCategories": [ "plugins", "trackers" ] }, { "name": "rollup-plugin-license", @@ -374,6 +378,10 @@ "name": "wdio-chromedriver-service", "allowedCategories": [ "trackers" ] }, + { + "name": "web-vitals", + "allowedCategories": [ "plugins" ] + }, { "name": "webdriverio", "allowedCategories": [ "trackers" ] diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index f56229ef6..3b6e1215f 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -1231,6 +1231,57 @@ importers: ts-jest: 27.1.3_60149d457e34ffba7d4e845dde6a1263 typescript: 4.6.2 + ../../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 + ../../plugins/browser-plugin-youtube-tracking: specifiers: '@ampproject/rollup-plugin-closure-compiler': ~0.27.0 @@ -10441,6 +10492,10 @@ packages: - supports-color dev: true + /web-vitals/3.3.2: + resolution: {integrity: sha512-qRkpmSeKfEWAzNhtX541xA8gCJ+pqCqBmUlDVkVDSCSYUvfvNqF+k9g8I+uyreRcDBdfiJrd0/aLbTy5ydo49Q==} + dev: false + /webdriver/8.3.5: resolution: {integrity: sha512-TNlvRtX4OVDzkrLSH5vAVpzTRbpOEYKyU80S8wVx9OddTFgs4fc4SLEqZobdSc1W/IvKjoTNa8TkFx9M237tOw==} engines: {node: ^16.13 || >=18} diff --git a/common/config/rush/repo-state.json b/common/config/rush/repo-state.json index 7fbe4955b..d2fd0cbc9 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": "5484bd61ddb42855b5228699721d75c1d5b9cb25", + "pnpmShrinkwrapHash": "1a9deb48a8d2843fb67d9c93ff618d8373ca31c8", "preferredVersionsHash": "bf21a9e8fbc5a3846fb05b4fa0859e0917b2202f" } diff --git a/plugins/browser-plugin-web-vitals/LICENSE b/plugins/browser-plugin-web-vitals/LICENSE new file mode 100644 index 000000000..5b56059dd --- /dev/null +++ b/plugins/browser-plugin-web-vitals/LICENSE @@ -0,0 +1,29 @@ +BSD 3-Clause License + +Copyright (c) 2023 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-web-vitals/README.md b/plugins/browser-plugin-web-vitals/README.md new file mode 100644 index 000000000..b49101df0 --- /dev/null +++ b/plugins/browser-plugin-web-vitals/README.md @@ -0,0 +1,68 @@ +# Snowplow Web Vitals Tracking + +[![npm version][npm-image]][npm-url] +[![License][license-image]](LICENSE) + +Browser Plugin to be used with `@snowplow/browser-tracker`. + +The plugin adds the capability to track web performance metrics categorized as [Web Vitals](https://web.dev/vitals/). These metrics are tracked with an event based on the [web_vitals schema](https://github.com/snowplow/iglu-central/blob/master/schemas/com.snowplowanalytics.snowplow/web_vitals/jsonschema/). + +## 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-web-vitals +``` + +## Usage + +Initialize your tracker with the `WebVitalsPlugin`: + +```js +import { newTracker } from '@snowplow/browser-tracker'; +import { WebVitalsPlugin } from '@snowplow/browser-plugin-web-vitals'; + +newTracker('sp1', '{{collector}}', { plugins: [ WebVitalsPlugin(/* pluginOptions */) ] }); + +/* + * Available plugin options `WebVitalsPluginOptions`: + * { + * loadWebVitalsScript: Should the plugin immediately load the Core Web Vitals measurement script from UNPKG CDN. + * webVitalsSource: The URL endpoint the Web Vitals script should be loaded from. Defaults to the UNPKG CDN. + * } + */ +``` + +### Choosing a Web Vitals measurement source + +The default Web Vitals measurement script is loaded from the [UNPKG](https://www.unpkg.com/) CDN. This choice is chosen as a default but you should consider your own setup when choosing the script source. Selecting a script source from a CDN which might already be used in your website might save you from yet another connection startup time (_Queueing_,_DNS lookup_,_TCP_, _SSL_). + +Another reasonable choice could be [jsDelivr](https://cdn.jsdelivr.net/npm/web-vitals@3/dist/web-vitals.iife.js). + +## Copyright and license + +Licensed and distributed under the [BSD 3-Clause License](LICENSE) ([An OSI Approved License][osi]). + +Copyright (c) 2023 Snowplow Analytics Ltd. + +All rights reserved. + +[npm-url]: https://www.npmjs.com/package/@snowplow/browser-plugin-web-vitals +[npm-image]: https://img.shields.io/npm/v/@snowplow/browser-plugin-web-vitals +[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-web-vitals diff --git a/plugins/browser-plugin-web-vitals/jest.config.js b/plugins/browser-plugin-web-vitals/jest.config.js new file mode 100644 index 000000000..bd3ea4e2a --- /dev/null +++ b/plugins/browser-plugin-web-vitals/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-web-vitals/package.json b/plugins/browser-plugin-web-vitals/package.json new file mode 100644 index 000000000..7aecdaf3b --- /dev/null +++ b/plugins/browser-plugin-web-vitals/package.json @@ -0,0 +1,54 @@ +{ + "name": "@snowplow/browser-plugin-web-vitals", + "version": "3.11.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", + "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", + "web-vitals": "~3.3.2" + }, + "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.11.0" + } +} diff --git a/plugins/browser-plugin-web-vitals/rollup.config.js b/plugins/browser-plugin-web-vitals/rollup.config.js new file mode 100644 index 000000000..48d2287f5 --- /dev/null +++ b/plugins/browser-plugin-web-vitals/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 = 'snowplowWebVitals'; + +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-web-vitals/src/index.ts b/plugins/browser-plugin-web-vitals/src/index.ts new file mode 100644 index 000000000..9177d8bba --- /dev/null +++ b/plugins/browser-plugin-web-vitals/src/index.ts @@ -0,0 +1,74 @@ +import { BrowserPlugin, BrowserTracker, dispatchToTrackersInCollection } from '@snowplow/browser-tracker-core'; +import { buildSelfDescribingEvent } from '@snowplow/tracker-core'; +import { WEB_VITALS_SCHEMA } from './schemata'; +import { attachWebVitalsPageListeners, createWebVitalsScript, webVitalsListener } from './utils'; + +const _trackers: Record = {}; +const WEB_VITALS_SOURCE = 'https://unpkg.com/web-vitals@3/dist/web-vitals.iife.js'; +let listenersAttached = false; + +interface WebVitalsPluginOptions { + loadWebVitalsScript?: boolean; + webVitalsSource?: string; +} + +const defaultPluginOptions = { + loadWebVitalsScript: true, + webVitalsSource: WEB_VITALS_SOURCE, +}; + +/** + * Adds Web Vitals measurement events + * + * @param pluginOptions.loadWebVitalsScript - Should the plugin immediately load the Core Web Vitals measurement script from UNPKG CDN. + * @param pluginOptions.webVitalsSource - The URL endpoint the Web Vitals script should be loaded from. Defaults to the UNPKG CDN. + * @remarks + */ +export function WebVitalsPlugin(pluginOptions: WebVitalsPluginOptions = defaultPluginOptions): BrowserPlugin { + const webVitalsObject: Record = {}; + const options = { ...defaultPluginOptions, ...pluginOptions }; + let trackerId: string; + let webVitalsScript: HTMLScriptElement | undefined; + return { + activateBrowserPlugin: (tracker) => { + trackerId = tracker.id; + _trackers[trackerId] = tracker; + + function sendWebVitals() { + if (!Object.keys(webVitalsObject).length) { + return; + } + dispatchToTrackersInCollection(Object.keys(_trackers), _trackers, (t) => { + t.core.track( + buildSelfDescribingEvent({ + event: { + schema: WEB_VITALS_SCHEMA, + data: webVitalsObject, + }, + }) + ); + }); + } + + if (options.loadWebVitalsScript) { + webVitalsScript = createWebVitalsScript(options.webVitalsSource); + } + + /* + * Attach page listeners only once per page. + * Prevent multiple trackers from attaching listeners multiple times. + */ + if (!listenersAttached) { + if (webVitalsScript) { + webVitalsScript.addEventListener('load', () => webVitalsListener(webVitalsObject)); + } else { + webVitalsListener(webVitalsObject); + } + attachWebVitalsPageListeners(sendWebVitals); + listenersAttached = true; + } + + return; + }, + }; +} diff --git a/plugins/browser-plugin-web-vitals/src/schemata.ts b/plugins/browser-plugin-web-vitals/src/schemata.ts new file mode 100644 index 000000000..b71c38fcc --- /dev/null +++ b/plugins/browser-plugin-web-vitals/src/schemata.ts @@ -0,0 +1 @@ +export const WEB_VITALS_SCHEMA = 'iglu:com.snowplowanalytics.snowplow/web_vitals/jsonschema/1-0-0'; diff --git a/plugins/browser-plugin-web-vitals/src/types.ts b/plugins/browser-plugin-web-vitals/src/types.ts new file mode 100644 index 000000000..681b8a70f --- /dev/null +++ b/plugins/browser-plugin-web-vitals/src/types.ts @@ -0,0 +1,12 @@ +import type { ReportCallback, Metric, WebVitalsGlobal, onCLS, onLCP, onFID, onFCP, onINP, onTTFB } from 'web-vitals'; + +export interface WebVitals extends WebVitalsGlobal { + onCLS: typeof onCLS; + onFID: typeof onFID; + onLCP: typeof onLCP; + onFCP: typeof onFCP; + onINP: typeof onINP; + onTTFB: typeof onTTFB; +} + +export { Metric, ReportCallback }; diff --git a/plugins/browser-plugin-web-vitals/src/utils.ts b/plugins/browser-plugin-web-vitals/src/utils.ts new file mode 100644 index 000000000..31916bfee --- /dev/null +++ b/plugins/browser-plugin-web-vitals/src/utils.ts @@ -0,0 +1,72 @@ +import { LOG } from '@snowplow/tracker-core'; +import { ReportCallback, WebVitals } from './types'; + +/** + * Attach page listeners to collect the Web Vitals values + * @param {() => void} callback + */ +export function attachWebVitalsPageListeners(callback: () => void) { + // Safari does not fire "visibilitychange" on the tab close + // So we have 2 options: lose Safari data, or lose LCP/CLS that depends on "visibilitychange" logic. + // Current solution: if LCP/CLS supported, use `onHidden` otherwise, use `pagehide` to fire the callback in the end. + // + // More details: https://github.com/treosh/web-vitals-reporter/issues/3 + const supportedEntryTypes = (PerformanceObserver && PerformanceObserver.supportedEntryTypes) || []; + const isLatestVisibilityChangeSupported = supportedEntryTypes.indexOf('layout-shift') !== -1; + + if (isLatestVisibilityChangeSupported) { + const onVisibilityChange = () => { + if (document.visibilityState === 'hidden') { + callback(); + window.removeEventListener('visibilitychange', onVisibilityChange, true); + } + }; + window.addEventListener('visibilitychange', onVisibilityChange, true); + } else { + window.addEventListener('pagehide', callback, { capture: true, once: true }); + } +} + +/** + * + * @param {string} webVitalsSource Web Vitals script source. + * @returns {string} The script element of the Web Vitals script. Used for attaching listeners on it. + */ +export function createWebVitalsScript(webVitalsSource: string) { + const webVitalsScript = document.createElement('script'); + webVitalsScript.setAttribute('src', webVitalsSource); + webVitalsScript.setAttribute('async', '1'); + webVitalsScript.addEventListener('error', () => { + LOG.error(`Failed to load ${webVitalsSource}`); + }); + + document.head.appendChild(webVitalsScript); + return webVitalsScript; +} + +/** + * + * Adds the Web Vitals measurements on the object used by the trackers to store metric properties. + * @param {Record} webVitalsObject + * @return {void} + */ +export function webVitalsListener(webVitalsObject: Record) { + function addWebVitalsMeasurement(metricSchemaName: string): ReportCallback { + return (arg) => { + webVitalsObject[metricSchemaName] = arg.value; + webVitalsObject.navigationType = arg.navigationType; + }; + } + if (!window.webVitals) { + LOG.warn('The window.webVitals API is currently unavailable. web_vitals events will not be collected.'); + return; + } + + const webVitals = window.webVitals as WebVitals; + webVitals.onCLS(addWebVitalsMeasurement('cls')); + webVitals.onFID(addWebVitalsMeasurement('fid')); + webVitals.onLCP(addWebVitalsMeasurement('lcp')); + webVitals.onFCP(addWebVitalsMeasurement('fcp')); + webVitals.onINP(addWebVitalsMeasurement('inp')); + webVitals.onTTFB(addWebVitalsMeasurement('ttfb')); +} diff --git a/plugins/browser-plugin-web-vitals/test/__snapshots__/web-vitals.test.ts.snap b/plugins/browser-plugin-web-vitals/test/__snapshots__/web-vitals.test.ts.snap new file mode 100644 index 000000000..5eb575c50 --- /dev/null +++ b/plugins/browser-plugin-web-vitals/test/__snapshots__/web-vitals.test.ts.snap @@ -0,0 +1,16 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`Web Vitals plugin Returns values for Web Vitals properties 1`] = ` +Object { + "data": Object { + "cls": 0.01, + "fcp": 0.01, + "fid": 0.01, + "inp": 0.01, + "lcp": 0.01, + "navigationType": "navigation", + "ttfb": 0.01, + }, + "schema": "iglu:com.snowplowanalytics.snowplow/web_vitals/jsonschema/1-0-0", +} +`; diff --git a/plugins/browser-plugin-web-vitals/test/web-vitals.test.ts b/plugins/browser-plugin-web-vitals/test/web-vitals.test.ts new file mode 100644 index 000000000..9f5376957 --- /dev/null +++ b/plugins/browser-plugin-web-vitals/test/web-vitals.test.ts @@ -0,0 +1,53 @@ +import { JSDOM } from 'jsdom'; +import { trackerCore } from '@snowplow/tracker-core'; +import { WebVitalsPlugin } from '../src'; +import { BrowserTracker } from '@snowplow/browser-tracker-core'; + +declare var jsdom: JSDOM; + +// @ts-expect-error +jsdom.window.webVitals = {}; + +describe('Web Vitals plugin', () => { + function webVitalsCallback(callback: any) { + callback({ + value: 0.01, + navigationType: 'navigation', + }); + return; + } + it('Returns values for Web Vitals properties', (done) => { + Object.defineProperty(jsdom.window, 'PerformanceObserver', { value: jest.fn() }); + Object.defineProperty(jsdom.window.webVitals, 'onCLS', { + value: webVitalsCallback, + }); + Object.defineProperty(jsdom.window.webVitals, 'onLCP', { + value: webVitalsCallback, + }); + Object.defineProperty(jsdom.window.webVitals, 'onFCP', { + value: webVitalsCallback, + }); + Object.defineProperty(jsdom.window.webVitals, 'onFID', { + value: webVitalsCallback, + }); + Object.defineProperty(jsdom.window.webVitals, 'onINP', { + value: webVitalsCallback, + }); + Object.defineProperty(jsdom.window.webVitals, 'onTTFB', { + value: webVitalsCallback, + }); + + const core = trackerCore({ + corePlugins: [], + callback: (payloadBuilder) => { + const { data } = payloadBuilder.getJson()[0].json; + expect(data).toMatchSnapshot(); + done(); + }, + }); + + WebVitalsPlugin({ loadWebVitalsScript: false }).activateBrowserPlugin?.({ core } as BrowserTracker); + const pagehideEvent = new PageTransitionEvent('pagehide'); + jsdom.window.dispatchEvent(pagehideEvent); + }); +}); diff --git a/plugins/browser-plugin-web-vitals/tsconfig.json b/plugins/browser-plugin-web-vitals/tsconfig.json new file mode 100644 index 000000000..4082f16a5 --- /dev/null +++ b/plugins/browser-plugin-web-vitals/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "../../tsconfig.json" +} diff --git a/rush.json b/rush.json index 796a51882..f86224086 100644 --- a/rush.json +++ b/rush.json @@ -553,6 +553,12 @@ "projectFolder": "plugins/browser-plugin-media", "reviewCategory": "plugins", "versionPolicyName": "tracker" + }, + { + "packageName": "@snowplow/browser-plugin-web-vitals", + "projectFolder": "plugins/browser-plugin-web-vitals", + "reviewCategory": "plugins", + "versionPolicyName": "tracker" } ] } From 6c115d760641f373b4c715b6e14a3bd174461cd4 Mon Sep 17 00:00:00 2001 From: Peter Perlepes Date: Tue, 20 Jun 2023 09:44:47 +0300 Subject: [PATCH 106/449] 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 3b00a0d6f..a0fe3b5b8 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 11799eb4819a9d947246c5a28a524d79bf6627e5 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 20 Jun 2023 07:44:23 +0000 Subject: [PATCH 107/449] Update changelogs [skip ci] --- ...ing-snowplow-ecommerce_2023-05-31-14-51.json | 10 ---------- ...wser-plugin-web-vitals_2023-05-16-09-13.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 ++++++- .../browser-plugin-ad-tracking/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-ad-tracking/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 ++++++- .../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 ++++++- .../browser-plugin-site-tracking/CHANGELOG.json | 6 ++++++ .../browser-plugin-site-tracking/CHANGELOG.md | 7 ++++++- .../CHANGELOG.json | 12 ++++++++++++ .../CHANGELOG.md | 9 ++++++++- plugins/browser-plugin-timezone/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-timezone/CHANGELOG.md | 7 ++++++- .../browser-plugin-web-vitals/CHANGELOG.json | 17 +++++++++++++++++ plugins/browser-plugin-web-vitals/CHANGELOG.md | 11 +++++++++++ .../CHANGELOG.json | 6 ++++++ .../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 ++++++- 60 files changed, 372 insertions(+), 48 deletions(-) delete mode 100644 common/changes/@snowplow/browser-plugin-snowplow-ecommerce/feature-1200-add-transaction-error-tracking-snowplow-ecommerce_2023-05-31-14-51.json delete mode 100644 common/changes/@snowplow/browser-plugin-web-vitals/feature-1189-browser-plugin-web-vitals_2023-05-16-09-13.json create mode 100644 plugins/browser-plugin-web-vitals/CHANGELOG.json create mode 100644 plugins/browser-plugin-web-vitals/CHANGELOG.md diff --git a/common/changes/@snowplow/browser-plugin-snowplow-ecommerce/feature-1200-add-transaction-error-tracking-snowplow-ecommerce_2023-05-31-14-51.json b/common/changes/@snowplow/browser-plugin-snowplow-ecommerce/feature-1200-add-transaction-error-tracking-snowplow-ecommerce_2023-05-31-14-51.json deleted file mode 100644 index af24f8f53..000000000 --- a/common/changes/@snowplow/browser-plugin-snowplow-ecommerce/feature-1200-add-transaction-error-tracking-snowplow-ecommerce_2023-05-31-14-51.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-plugin-snowplow-ecommerce", - "comment": "Add transaction error tracking capability to snowplow-ecommerce", - "type": "none" - } - ], - "packageName": "@snowplow/browser-plugin-snowplow-ecommerce" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-web-vitals/feature-1189-browser-plugin-web-vitals_2023-05-16-09-13.json b/common/changes/@snowplow/browser-plugin-web-vitals/feature-1189-browser-plugin-web-vitals_2023-05-16-09-13.json deleted file mode 100644 index d60be47e1..000000000 --- a/common/changes/@snowplow/browser-plugin-web-vitals/feature-1189-browser-plugin-web-vitals_2023-05-16-09-13.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-plugin-web-vitals", - "comment": "Create browser-plugin-web-vitals", - "type": "none" - } - ], - "packageName": "@snowplow/browser-plugin-web-vitals" -} \ No newline at end of file diff --git a/libraries/browser-tracker-core/CHANGELOG.json b/libraries/browser-tracker-core/CHANGELOG.json index 11e66f92b..a6bceaf36 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.13.0", + "tag": "@snowplow/browser-tracker-core_v3.13.0", + "date": "Tue, 20 Jun 2023 07:44:23 GMT", + "comments": {} + }, { "version": "3.12.1", "tag": "@snowplow/browser-tracker-core_v3.12.1", diff --git a/libraries/browser-tracker-core/CHANGELOG.md b/libraries/browser-tracker-core/CHANGELOG.md index 06918f99a..2dd48b5cd 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, 15 Jun 2023 10:05:37 GMT and should not be manually modified. +This log was last generated on Tue, 20 Jun 2023 07:44:23 GMT and should not be manually modified. + +## 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 diff --git a/libraries/tracker-core/CHANGELOG.json b/libraries/tracker-core/CHANGELOG.json index ee9d68364..738ce9ed7 100644 --- a/libraries/tracker-core/CHANGELOG.json +++ b/libraries/tracker-core/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/tracker-core", "entries": [ + { + "version": "3.13.0", + "tag": "@snowplow/tracker-core_v3.13.0", + "date": "Tue, 20 Jun 2023 07:44:23 GMT", + "comments": {} + }, { "version": "3.12.1", "tag": "@snowplow/tracker-core_v3.12.1", diff --git a/libraries/tracker-core/CHANGELOG.md b/libraries/tracker-core/CHANGELOG.md index 0c068f62b..e1254e371 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, 15 Jun 2023 10:05:37 GMT and should not be manually modified. +This log was last generated on Tue, 20 Jun 2023 07:44:23 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-ad-tracking/CHANGELOG.json b/plugins/browser-plugin-ad-tracking/CHANGELOG.json index 024bb61a5..66521e8d5 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.13.0", + "tag": "@snowplow/browser-plugin-ad-tracking_v3.13.0", + "date": "Tue, 20 Jun 2023 07:44:23 GMT", + "comments": {} + }, { "version": "3.12.1", "tag": "@snowplow/browser-plugin-ad-tracking_v3.12.1", diff --git a/plugins/browser-plugin-ad-tracking/CHANGELOG.md b/plugins/browser-plugin-ad-tracking/CHANGELOG.md index fba32a50d..8be613faa 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, 15 Jun 2023 10:05:37 GMT and should not be manually modified. +This log was last generated on Tue, 20 Jun 2023 07:44:23 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-browser-features/CHANGELOG.json b/plugins/browser-plugin-browser-features/CHANGELOG.json index 9397841bb..09b7b2306 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.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", diff --git a/plugins/browser-plugin-browser-features/CHANGELOG.md b/plugins/browser-plugin-browser-features/CHANGELOG.md index 078f270da..676cee903 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, 15 Jun 2023 10:05:37 GMT and should not be manually modified. +This log was last generated on Tue, 20 Jun 2023 07:44:23 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-client-hints/CHANGELOG.json b/plugins/browser-plugin-client-hints/CHANGELOG.json index fe6365bbf..53b76d5b3 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.13.0", + "tag": "@snowplow/browser-plugin-client-hints_v3.13.0", + "date": "Tue, 20 Jun 2023 07:44:23 GMT", + "comments": {} + }, { "version": "3.12.1", "tag": "@snowplow/browser-plugin-client-hints_v3.12.1", diff --git a/plugins/browser-plugin-client-hints/CHANGELOG.md b/plugins/browser-plugin-client-hints/CHANGELOG.md index 4de6017f0..6298d10b2 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, 15 Jun 2023 10:05:37 GMT and should not be manually modified. +This log was last generated on Tue, 20 Jun 2023 07:44:23 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-consent/CHANGELOG.json b/plugins/browser-plugin-consent/CHANGELOG.json index 373bf59f9..0f770eb6f 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.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", diff --git a/plugins/browser-plugin-consent/CHANGELOG.md b/plugins/browser-plugin-consent/CHANGELOG.md index 796e18a96..ce5e4e607 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, 15 Jun 2023 10:05:37 GMT and should not be manually modified. +This log was last generated on Tue, 20 Jun 2023 07:44:23 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-debugger/CHANGELOG.json b/plugins/browser-plugin-debugger/CHANGELOG.json index 4e477bb07..fa94db607 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.13.0", + "tag": "@snowplow/browser-plugin-debugger_v3.13.0", + "date": "Tue, 20 Jun 2023 07:44:23 GMT", + "comments": {} + }, { "version": "3.12.1", "tag": "@snowplow/browser-plugin-debugger_v3.12.1", diff --git a/plugins/browser-plugin-debugger/CHANGELOG.md b/plugins/browser-plugin-debugger/CHANGELOG.md index 1fdc53c56..1f50119ef 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, 15 Jun 2023 10:05:37 GMT and should not be manually modified. +This log was last generated on Tue, 20 Jun 2023 07:44:23 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-ecommerce/CHANGELOG.json b/plugins/browser-plugin-ecommerce/CHANGELOG.json index 3a5a27cb6..66dbcede9 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.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", diff --git a/plugins/browser-plugin-ecommerce/CHANGELOG.md b/plugins/browser-plugin-ecommerce/CHANGELOG.md index 88eefa9d0..e73145122 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, 15 Jun 2023 10:05:37 GMT and should not be manually modified. +This log was last generated on Tue, 20 Jun 2023 07:44:23 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-enhanced-consent/CHANGELOG.json b/plugins/browser-plugin-enhanced-consent/CHANGELOG.json index e35974cde..5145047b6 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.13.0", + "tag": "@snowplow/browser-plugin-enhanced-consent_v3.13.0", + "date": "Tue, 20 Jun 2023 07:44:23 GMT", + "comments": {} + }, { "version": "3.12.1", "tag": "@snowplow/browser-plugin-enhanced-consent_v3.12.1", diff --git a/plugins/browser-plugin-enhanced-consent/CHANGELOG.md b/plugins/browser-plugin-enhanced-consent/CHANGELOG.md index 32ef0bd53..7e5837cdf 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, 15 Jun 2023 10:05:37 GMT and should not be manually modified. +This log was last generated on Tue, 20 Jun 2023 07:44:23 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.json b/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.json index 4789a711b..937986cb1 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.13.0", + "tag": "@snowplow/browser-plugin-enhanced-ecommerce_v3.13.0", + "date": "Tue, 20 Jun 2023 07:44:23 GMT", + "comments": {} + }, { "version": "3.12.1", "tag": "@snowplow/browser-plugin-enhanced-ecommerce_v3.12.1", diff --git a/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.md b/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.md index 470d59098..c1945f1eb 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, 15 Jun 2023 10:05:37 GMT and should not be manually modified. +This log was last generated on Tue, 20 Jun 2023 07:44:23 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-error-tracking/CHANGELOG.json b/plugins/browser-plugin-error-tracking/CHANGELOG.json index 1c0ab6891..30d85d931 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.13.0", + "tag": "@snowplow/browser-plugin-error-tracking_v3.13.0", + "date": "Tue, 20 Jun 2023 07:44:23 GMT", + "comments": {} + }, { "version": "3.12.1", "tag": "@snowplow/browser-plugin-error-tracking_v3.12.1", diff --git a/plugins/browser-plugin-error-tracking/CHANGELOG.md b/plugins/browser-plugin-error-tracking/CHANGELOG.md index 05c6ddac5..ae24f8f99 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, 15 Jun 2023 10:05:37 GMT and should not be manually modified. +This log was last generated on Tue, 20 Jun 2023 07:44:23 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-form-tracking/CHANGELOG.json b/plugins/browser-plugin-form-tracking/CHANGELOG.json index 5ca90eb7e..f27197272 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.13.0", + "tag": "@snowplow/browser-plugin-form-tracking_v3.13.0", + "date": "Tue, 20 Jun 2023 07:44:23 GMT", + "comments": {} + }, { "version": "3.12.1", "tag": "@snowplow/browser-plugin-form-tracking_v3.12.1", diff --git a/plugins/browser-plugin-form-tracking/CHANGELOG.md b/plugins/browser-plugin-form-tracking/CHANGELOG.md index 7c54fe2d0..6be74ef57 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, 15 Jun 2023 10:05:37 GMT and should not be manually modified. +This log was last generated on Tue, 20 Jun 2023 07:44:23 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-ga-cookies/CHANGELOG.json b/plugins/browser-plugin-ga-cookies/CHANGELOG.json index 593013f01..6c6cf13fb 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.13.0", + "tag": "@snowplow/browser-plugin-ga-cookies_v3.13.0", + "date": "Tue, 20 Jun 2023 07:44:23 GMT", + "comments": {} + }, { "version": "3.12.1", "tag": "@snowplow/browser-plugin-ga-cookies_v3.12.1", diff --git a/plugins/browser-plugin-ga-cookies/CHANGELOG.md b/plugins/browser-plugin-ga-cookies/CHANGELOG.md index 0370a2621..c4bd3da64 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, 15 Jun 2023 10:05:37 GMT and should not be manually modified. +This log was last generated on Tue, 20 Jun 2023 07:44:23 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-geolocation/CHANGELOG.json b/plugins/browser-plugin-geolocation/CHANGELOG.json index 116ff135c..2ad2ac3d8 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.13.0", + "tag": "@snowplow/browser-plugin-geolocation_v3.13.0", + "date": "Tue, 20 Jun 2023 07:44:23 GMT", + "comments": {} + }, { "version": "3.12.1", "tag": "@snowplow/browser-plugin-geolocation_v3.12.1", diff --git a/plugins/browser-plugin-geolocation/CHANGELOG.md b/plugins/browser-plugin-geolocation/CHANGELOG.md index c29a85dfe..d0844ed13 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, 15 Jun 2023 10:05:37 GMT and should not be manually modified. +This log was last generated on Tue, 20 Jun 2023 07:44:23 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-link-click-tracking/CHANGELOG.json b/plugins/browser-plugin-link-click-tracking/CHANGELOG.json index 5e1d10d64..dc4118e9e 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.13.0", + "tag": "@snowplow/browser-plugin-link-click-tracking_v3.13.0", + "date": "Tue, 20 Jun 2023 07:44:23 GMT", + "comments": {} + }, { "version": "3.12.1", "tag": "@snowplow/browser-plugin-link-click-tracking_v3.12.1", diff --git a/plugins/browser-plugin-link-click-tracking/CHANGELOG.md b/plugins/browser-plugin-link-click-tracking/CHANGELOG.md index 5b42c1213..ac3e2aa92 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, 15 Jun 2023 10:05:37 GMT and should not be manually modified. +This log was last generated on Tue, 20 Jun 2023 07:44:23 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-media-tracking/CHANGELOG.json b/plugins/browser-plugin-media-tracking/CHANGELOG.json index 8f5d179b5..b32a92368 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.13.0", + "tag": "@snowplow/browser-plugin-media-tracking_v3.13.0", + "date": "Tue, 20 Jun 2023 07:44:23 GMT", + "comments": {} + }, { "version": "3.12.1", "tag": "@snowplow/browser-plugin-media-tracking_v3.12.1", diff --git a/plugins/browser-plugin-media-tracking/CHANGELOG.md b/plugins/browser-plugin-media-tracking/CHANGELOG.md index 55da6ebb1..fecb2c600 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, 15 Jun 2023 10:05:37 GMT and should not be manually modified. +This log was last generated on Tue, 20 Jun 2023 07:44:23 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-media/CHANGELOG.json b/plugins/browser-plugin-media/CHANGELOG.json index 7410a623f..bcf62196a 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.13.0", + "tag": "@snowplow/browser-plugin-media_v3.13.0", + "date": "Tue, 20 Jun 2023 07:44:23 GMT", + "comments": {} + }, { "version": "3.12.1", "tag": "@snowplow/browser-plugin-media_v3.12.1", diff --git a/plugins/browser-plugin-media/CHANGELOG.md b/plugins/browser-plugin-media/CHANGELOG.md index e272f757c..5b0b53d09 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, 15 Jun 2023 10:05:37 GMT and should not be manually modified. +This log was last generated on Tue, 20 Jun 2023 07:44:23 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-optimizely-x/CHANGELOG.json b/plugins/browser-plugin-optimizely-x/CHANGELOG.json index 820f76a01..ae94100f7 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.13.0", + "tag": "@snowplow/browser-plugin-optimizely-x_v3.13.0", + "date": "Tue, 20 Jun 2023 07:44:23 GMT", + "comments": {} + }, { "version": "3.12.1", "tag": "@snowplow/browser-plugin-optimizely-x_v3.12.1", diff --git a/plugins/browser-plugin-optimizely-x/CHANGELOG.md b/plugins/browser-plugin-optimizely-x/CHANGELOG.md index c2670f8bd..f8e623e34 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, 15 Jun 2023 10:05:37 GMT and should not be manually modified. +This log was last generated on Tue, 20 Jun 2023 07:44:23 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-optimizely/CHANGELOG.json b/plugins/browser-plugin-optimizely/CHANGELOG.json index a1c471041..0893a0956 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.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", diff --git a/plugins/browser-plugin-optimizely/CHANGELOG.md b/plugins/browser-plugin-optimizely/CHANGELOG.md index 38fbbc08c..76d379fcd 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, 15 Jun 2023 10:05:37 GMT and should not be manually modified. +This log was last generated on Tue, 20 Jun 2023 07:44:23 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.json b/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.json index 701608901..fee7f8a66 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.13.0", + "tag": "@snowplow/browser-plugin-performance-navigation-timing_v3.13.0", + "date": "Tue, 20 Jun 2023 07:44:23 GMT", + "comments": {} + }, { "version": "3.12.1", "tag": "@snowplow/browser-plugin-performance-navigation-timing_v3.12.1", diff --git a/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.md b/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.md index 30b64a4b6..6e96cb6ba 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, 15 Jun 2023 10:05:37 GMT and should not be manually modified. +This log was last generated on Tue, 20 Jun 2023 07:44:23 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-performance-timing/CHANGELOG.json b/plugins/browser-plugin-performance-timing/CHANGELOG.json index acfe91444..603f28832 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.13.0", + "tag": "@snowplow/browser-plugin-performance-timing_v3.13.0", + "date": "Tue, 20 Jun 2023 07:44:23 GMT", + "comments": {} + }, { "version": "3.12.1", "tag": "@snowplow/browser-plugin-performance-timing_v3.12.1", diff --git a/plugins/browser-plugin-performance-timing/CHANGELOG.md b/plugins/browser-plugin-performance-timing/CHANGELOG.md index b0a932119..b58c61001 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, 15 Jun 2023 10:05:37 GMT and should not be manually modified. +This log was last generated on Tue, 20 Jun 2023 07:44:23 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-site-tracking/CHANGELOG.json b/plugins/browser-plugin-site-tracking/CHANGELOG.json index 0505fbcde..52cf982a4 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.13.0", + "tag": "@snowplow/browser-plugin-site-tracking_v3.13.0", + "date": "Tue, 20 Jun 2023 07:44:23 GMT", + "comments": {} + }, { "version": "3.12.1", "tag": "@snowplow/browser-plugin-site-tracking_v3.12.1", diff --git a/plugins/browser-plugin-site-tracking/CHANGELOG.md b/plugins/browser-plugin-site-tracking/CHANGELOG.md index 434cb343d..e77dcbd3f 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, 15 Jun 2023 10:05:37 GMT and should not be manually modified. +This log was last generated on Tue, 20 Jun 2023 07:44:23 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.json b/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.json index 5b872e06c..857d64c7b 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.13.0", + "tag": "@snowplow/browser-plugin-snowplow-ecommerce_v3.13.0", + "date": "Tue, 20 Jun 2023 07:44:23 GMT", + "comments": { + "none": [ + { + "comment": "Add transaction error tracking capability to snowplow-ecommerce" + } + ] + } + }, { "version": "3.12.1", "tag": "@snowplow/browser-plugin-snowplow-ecommerce_v3.12.1", diff --git a/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.md b/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.md index 705ca2104..756626477 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 Thu, 15 Jun 2023 10:05:37 GMT and should not be manually modified. +This log was last generated on Tue, 20 Jun 2023 07:44:23 GMT and should not be manually modified. + +## 3.13.0 +Tue, 20 Jun 2023 07:44:23 GMT + +### Updates + +- Add transaction error tracking capability to snowplow-ecommerce ## 3.12.1 Thu, 15 Jun 2023 10:05:37 GMT diff --git a/plugins/browser-plugin-timezone/CHANGELOG.json b/plugins/browser-plugin-timezone/CHANGELOG.json index b28c8552e..67799afc8 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.13.0", + "tag": "@snowplow/browser-plugin-timezone_v3.13.0", + "date": "Tue, 20 Jun 2023 07:44:23 GMT", + "comments": {} + }, { "version": "3.12.1", "tag": "@snowplow/browser-plugin-timezone_v3.12.1", diff --git a/plugins/browser-plugin-timezone/CHANGELOG.md b/plugins/browser-plugin-timezone/CHANGELOG.md index 73150af28..d9cad8e4a 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, 15 Jun 2023 10:05:37 GMT and should not be manually modified. +This log was last generated on Tue, 20 Jun 2023 07:44:23 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-web-vitals/CHANGELOG.json b/plugins/browser-plugin-web-vitals/CHANGELOG.json new file mode 100644 index 000000000..0a30b6e4d --- /dev/null +++ b/plugins/browser-plugin-web-vitals/CHANGELOG.json @@ -0,0 +1,17 @@ +{ + "name": "@snowplow/browser-plugin-web-vitals", + "entries": [ + { + "version": "3.13.0", + "tag": "@snowplow/browser-plugin-web-vitals_v3.13.0", + "date": "Tue, 20 Jun 2023 07:44:23 GMT", + "comments": { + "none": [ + { + "comment": "Create browser-plugin-web-vitals" + } + ] + } + } + ] +} diff --git a/plugins/browser-plugin-web-vitals/CHANGELOG.md b/plugins/browser-plugin-web-vitals/CHANGELOG.md new file mode 100644 index 000000000..da05245fc --- /dev/null +++ b/plugins/browser-plugin-web-vitals/CHANGELOG.md @@ -0,0 +1,11 @@ +# Change Log - @snowplow/browser-plugin-web-vitals + +This log was last generated on Tue, 20 Jun 2023 07:44:23 GMT and should not be manually modified. + +## 3.13.0 +Tue, 20 Jun 2023 07:44:23 GMT + +### Updates + +- Create browser-plugin-web-vitals + diff --git a/plugins/browser-plugin-youtube-tracking/CHANGELOG.json b/plugins/browser-plugin-youtube-tracking/CHANGELOG.json index adbf2b62e..de1f76ff8 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.13.0", + "tag": "@snowplow/browser-plugin-youtube-tracking_v3.13.0", + "date": "Tue, 20 Jun 2023 07:44:23 GMT", + "comments": {} + }, { "version": "3.12.1", "tag": "@snowplow/browser-plugin-youtube-tracking_v3.12.1", diff --git a/plugins/browser-plugin-youtube-tracking/CHANGELOG.md b/plugins/browser-plugin-youtube-tracking/CHANGELOG.md index d8cd7d8e2..df7ed6934 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, 15 Jun 2023 10:05:37 GMT and should not be manually modified. +This log was last generated on Tue, 20 Jun 2023 07:44:23 GMT and should not be manually modified. + +## 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 diff --git a/trackers/browser-tracker/CHANGELOG.json b/trackers/browser-tracker/CHANGELOG.json index 806629cf6..0cfca28b4 100644 --- a/trackers/browser-tracker/CHANGELOG.json +++ b/trackers/browser-tracker/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-tracker", "entries": [ + { + "version": "3.13.0", + "tag": "@snowplow/browser-tracker_v3.13.0", + "date": "Tue, 20 Jun 2023 07:44:23 GMT", + "comments": {} + }, { "version": "3.12.1", "tag": "@snowplow/browser-tracker_v3.12.1", diff --git a/trackers/browser-tracker/CHANGELOG.md b/trackers/browser-tracker/CHANGELOG.md index 502c43587..9d31b009b 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, 15 Jun 2023 10:05:37 GMT and should not be manually modified. +This log was last generated on Tue, 20 Jun 2023 07:44:23 GMT and should not be manually modified. + +## 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 diff --git a/trackers/javascript-tracker/CHANGELOG.json b/trackers/javascript-tracker/CHANGELOG.json index 0a250a8d1..fe3e46b62 100644 --- a/trackers/javascript-tracker/CHANGELOG.json +++ b/trackers/javascript-tracker/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/javascript-tracker", "entries": [ + { + "version": "3.13.0", + "tag": "@snowplow/javascript-tracker_v3.13.0", + "date": "Tue, 20 Jun 2023 07:44:23 GMT", + "comments": {} + }, { "version": "3.12.1", "tag": "@snowplow/javascript-tracker_v3.12.1", diff --git a/trackers/javascript-tracker/CHANGELOG.md b/trackers/javascript-tracker/CHANGELOG.md index b3f38ba0c..7601f18e7 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, 15 Jun 2023 10:05:37 GMT and should not be manually modified. +This log was last generated on Tue, 20 Jun 2023 07:44:23 GMT and should not be manually modified. + +## 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 diff --git a/trackers/node-tracker/CHANGELOG.json b/trackers/node-tracker/CHANGELOG.json index e021ac70a..265e8f984 100644 --- a/trackers/node-tracker/CHANGELOG.json +++ b/trackers/node-tracker/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/node-tracker", "entries": [ + { + "version": "3.13.0", + "tag": "@snowplow/node-tracker_v3.13.0", + "date": "Tue, 20 Jun 2023 07:44:23 GMT", + "comments": {} + }, { "version": "3.12.1", "tag": "@snowplow/node-tracker_v3.12.1", diff --git a/trackers/node-tracker/CHANGELOG.md b/trackers/node-tracker/CHANGELOG.md index 2161dc7d5..81b8ef88d 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, 15 Jun 2023 10:05:37 GMT and should not be manually modified. +This log was last generated on Tue, 20 Jun 2023 07:44:23 GMT and should not be manually modified. + +## 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 From 13d567561e3273a0296302470405c5a14f13eedb Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 20 Jun 2023 07:44:23 +0000 Subject: [PATCH 108/449] 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-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-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-site-tracking/package.json | 4 ++-- plugins/browser-plugin-snowplow-ecommerce/package.json | 4 ++-- plugins/browser-plugin-timezone/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 +- 30 files changed, 54 insertions(+), 54 deletions(-) diff --git a/common/config/rush/version-policies.json b/common/config/rush/version-policies.json index a0fe3b5b8..fdf0874e8 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.12.1", + "version": "3.13.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 923951cfe..08d566b88 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.12.1", + "version": "3.13.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 f7fb679ee..bbc0602a2 100644 --- a/libraries/tracker-core/package.json +++ b/libraries/tracker-core/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/tracker-core", - "version": "3.12.1", + "version": "3.13.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 77401e60a..f2ab3d6ea 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.12.1", + "version": "3.13.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.12.1" + "@snowplow/browser-tracker": "~3.13.0" } } diff --git a/plugins/browser-plugin-browser-features/package.json b/plugins/browser-plugin-browser-features/package.json index 9a9f4fdc9..79f011459 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.12.1", + "version": "3.13.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.12.1" + "@snowplow/browser-tracker": "~3.13.0" } } diff --git a/plugins/browser-plugin-client-hints/package.json b/plugins/browser-plugin-client-hints/package.json index 4f58cdf5a..6d68a862e 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.12.1", + "version": "3.13.0", "description": "Attaches Client Hints to Snowplow events", "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.12.1" + "@snowplow/browser-tracker": "~3.13.0" } } diff --git a/plugins/browser-plugin-consent/package.json b/plugins/browser-plugin-consent/package.json index 46d5db232..38208bb70 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.12.1", + "version": "3.13.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.12.1" + "@snowplow/browser-tracker": "~3.13.0" } } diff --git a/plugins/browser-plugin-debugger/package.json b/plugins/browser-plugin-debugger/package.json index 3653ce1ce..f8156154f 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.12.1", + "version": "3.13.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.12.1" + "@snowplow/browser-tracker": "~3.13.0" } } diff --git a/plugins/browser-plugin-ecommerce/package.json b/plugins/browser-plugin-ecommerce/package.json index 040c5dca8..c814a5cd4 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.12.1", + "version": "3.13.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.12.1" + "@snowplow/browser-tracker": "~3.13.0" } } diff --git a/plugins/browser-plugin-enhanced-consent/package.json b/plugins/browser-plugin-enhanced-consent/package.json index 7e27ec4ce..914154d19 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.12.1", + "version": "3.13.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.12.1" + "@snowplow/browser-tracker": "~3.13.0" } } diff --git a/plugins/browser-plugin-enhanced-ecommerce/package.json b/plugins/browser-plugin-enhanced-ecommerce/package.json index 10aa0c483..a55bb9436 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.12.1", + "version": "3.13.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.12.1" + "@snowplow/browser-tracker": "~3.13.0" } } diff --git a/plugins/browser-plugin-error-tracking/package.json b/plugins/browser-plugin-error-tracking/package.json index b90c7f9d2..b3e06bc4a 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.12.1", + "version": "3.13.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.12.1" + "@snowplow/browser-tracker": "~3.13.0" } } diff --git a/plugins/browser-plugin-form-tracking/package.json b/plugins/browser-plugin-form-tracking/package.json index 73a572505..d9ad3cdcc 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.12.1", + "version": "3.13.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.12.1" + "@snowplow/browser-tracker": "~3.13.0" } } diff --git a/plugins/browser-plugin-ga-cookies/package.json b/plugins/browser-plugin-ga-cookies/package.json index 8664fc1dc..2819b5430 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.12.1", + "version": "3.13.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.12.1" + "@snowplow/browser-tracker": "~3.13.0" } } diff --git a/plugins/browser-plugin-geolocation/package.json b/plugins/browser-plugin-geolocation/package.json index b5fc4c3d6..dd2d0288a 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.12.1", + "version": "3.13.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.12.1" + "@snowplow/browser-tracker": "~3.13.0" } } diff --git a/plugins/browser-plugin-link-click-tracking/package.json b/plugins/browser-plugin-link-click-tracking/package.json index e1e1e538c..34b34346d 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.12.1", + "version": "3.13.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.12.1" + "@snowplow/browser-tracker": "~3.13.0" } } diff --git a/plugins/browser-plugin-media-tracking/package.json b/plugins/browser-plugin-media-tracking/package.json index 227346b65..fed1fe8a7 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.12.1", + "version": "3.13.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.12.1" + "@snowplow/browser-tracker": "~3.13.0" } } diff --git a/plugins/browser-plugin-media/package.json b/plugins/browser-plugin-media/package.json index e142ce14c..06bad09c5 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.12.1", + "version": "3.13.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.12.1" + "@snowplow/browser-tracker": "~3.13.0" } } diff --git a/plugins/browser-plugin-optimizely-x/package.json b/plugins/browser-plugin-optimizely-x/package.json index b22578f90..2452d131d 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.12.1", + "version": "3.13.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.12.1" + "@snowplow/browser-tracker": "~3.13.0" } } diff --git a/plugins/browser-plugin-optimizely/package.json b/plugins/browser-plugin-optimizely/package.json index 431263a99..2182536ed 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.12.1", + "version": "3.13.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.12.1" + "@snowplow/browser-tracker": "~3.13.0" } } diff --git a/plugins/browser-plugin-performance-navigation-timing/package.json b/plugins/browser-plugin-performance-navigation-timing/package.json index ef6a1d31e..00562abd9 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.12.1", + "version": "3.13.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.12.1" + "@snowplow/browser-tracker": "~3.13.0" } } diff --git a/plugins/browser-plugin-performance-timing/package.json b/plugins/browser-plugin-performance-timing/package.json index c4a4d2fe3..c9f445864 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.12.1", + "version": "3.13.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.12.1" + "@snowplow/browser-tracker": "~3.13.0" } } diff --git a/plugins/browser-plugin-site-tracking/package.json b/plugins/browser-plugin-site-tracking/package.json index e9657ae9d..772da093c 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.12.1", + "version": "3.13.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.12.1" + "@snowplow/browser-tracker": "~3.13.0" } } diff --git a/plugins/browser-plugin-snowplow-ecommerce/package.json b/plugins/browser-plugin-snowplow-ecommerce/package.json index 3440a7cf2..1907ca793 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.12.1", + "version": "3.13.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.12.1" + "@snowplow/browser-tracker": "~3.13.0" } } diff --git a/plugins/browser-plugin-timezone/package.json b/plugins/browser-plugin-timezone/package.json index 03be64174..9de2a29e3 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.12.1", + "version": "3.13.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.12.1" + "@snowplow/browser-tracker": "~3.13.0" } } diff --git a/plugins/browser-plugin-web-vitals/package.json b/plugins/browser-plugin-web-vitals/package.json index 7aecdaf3b..1ba169fab 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.11.0", + "version": "3.13.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.11.0" + "@snowplow/browser-tracker": "~3.13.0" } } diff --git a/plugins/browser-plugin-youtube-tracking/package.json b/plugins/browser-plugin-youtube-tracking/package.json index 88b3d4946..6b36e2e7c 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.12.1", + "version": "3.13.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.12.1" + "@snowplow/browser-tracker": "~3.13.0" } } diff --git a/trackers/browser-tracker/package.json b/trackers/browser-tracker/package.json index c7743c430..cb5f36f96 100644 --- a/trackers/browser-tracker/package.json +++ b/trackers/browser-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-tracker", - "version": "3.12.1", + "version": "3.13.0", "description": "Browser tracker for Snowplow", "keywords": [ "tracking", diff --git a/trackers/javascript-tracker/package.json b/trackers/javascript-tracker/package.json index ad44c70d4..f0c0bf345 100644 --- a/trackers/javascript-tracker/package.json +++ b/trackers/javascript-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/javascript-tracker", - "version": "3.12.1", + "version": "3.13.0", "description": "Web analytics for Snowplow", "keywords": [ "tracking", diff --git a/trackers/node-tracker/package.json b/trackers/node-tracker/package.json index 488acd545..32e75871b 100644 --- a/trackers/node-tracker/package.json +++ b/trackers/node-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/node-tracker", - "version": "3.12.1", + "version": "3.13.0", "description": "Node tracker for Snowplow", "keywords": [ "snowplow", From d57f00dd8a63074a2c692f24ed725d9ee3c6cf37 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 20 Jun 2023 07:49:42 +0000 Subject: [PATCH 109/449] Applying documentation updates. From 3dd2283aabde66f6fe9f25db22ce779517c25639 Mon Sep 17 00:00:00 2001 From: Peter Perlepes Date: Tue, 20 Jun 2023 12:44:59 +0300 Subject: [PATCH 110/449] Update GitHub Actions packages and deprecated commands --- .github/workflows/publish.yml | 6 +++--- .github/workflows/publish_prerelease.yml | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 7c7360ab3..1ec622866 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -35,7 +35,7 @@ jobs: run: node common/scripts/install-run-rush.js install - name: Setup git - uses: oleksiyrudenko/gha-git-credentials@v2.1 + uses: oleksiyrudenko/gha-git-credentials@v2.1.1 with: token: '${{ secrets.GITHUB_TOKEN }}' name: github-actions[bot] @@ -46,7 +46,7 @@ jobs: - name: Get version id: version - run: echo "##[set-output name=TRACKER_VERSION;]$(node -p "require('./trackers/javascript-tracker/package.json').version")" + run: echo "TRACKER_VERSION=$(node -p "require('./trackers/javascript-tracker/package.json').version")" >> $GITHUB_OUTPUT - name: Fail if version mismatch if: ${{ github.event.inputs.version != steps.version.outputs.TRACKER_VERSION }} @@ -87,7 +87,7 @@ jobs: - name: Generate Release Information id: tag_version - uses: mathieudutour/github-tag-action@v5.4 + uses: mathieudutour/github-tag-action@v6.1 with: dry_run: true github_token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/publish_prerelease.yml b/.github/workflows/publish_prerelease.yml index 4452106fa..a4d07c49e 100644 --- a/.github/workflows/publish_prerelease.yml +++ b/.github/workflows/publish_prerelease.yml @@ -35,7 +35,7 @@ jobs: run: node common/scripts/install-run-rush.js install - name: Setup git - uses: oleksiyrudenko/gha-git-credentials@v2.1 + uses: oleksiyrudenko/gha-git-credentials@v2.1.1 with: token: '${{ secrets.GITHUB_TOKEN }}' name: github-actions[bot] @@ -46,7 +46,7 @@ jobs: - name: Get version id: version - run: echo "##[set-output name=TRACKER_VERSION;]$(node -p "require('./trackers/javascript-tracker/package.json').version")" + run: echo "TRACKER_VERSION=$(node -p "require('./trackers/javascript-tracker/package.json').version")" >> $GITHUB_OUTPUT - name: Fail if version mismatch if: ${{ github.event.inputs.version != steps.version.outputs.TRACKER_VERSION }} @@ -80,7 +80,7 @@ jobs: - name: Generate Release Information id: tag_version - uses: mathieudutour/github-tag-action@v5.4 + uses: mathieudutour/github-tag-action@v6.1 with: dry_run: true github_token: ${{ secrets.GITHUB_TOKEN }} From 265234fd28ba27a7ce4dc77b2a6c3f80cf8a62e0 Mon Sep 17 00:00:00 2001 From: Peter Perlepes Date: Mon, 19 Jun 2023 18:07:55 +0300 Subject: [PATCH 111/449] Add publish branch workflow to deploy any npm dist-tag from a branch --- .github/workflows/publish_branch.yml | 64 ++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 .github/workflows/publish_branch.yml diff --git a/.github/workflows/publish_branch.yml b/.github/workflows/publish_branch.yml new file mode 100644 index 000000000..39a859de6 --- /dev/null +++ b/.github/workflows/publish_branch.yml @@ -0,0 +1,64 @@ +name: Deploy Branch + +on: workflow_dispatch + +jobs: + deploy: + runs-on: ubuntu-20.04 + + env: + NPM_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} + BROWSERSLIST_IGNORE_OLD_DATA: true + + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Use Node.js 16 + uses: actions/setup-node@v3 + with: + node-version: 16 + + - name: Get dist-tag from branch name + env: + BRANCH: ${{ github.ref_name }} + id: split + run: echo "branchDescription=${BRANCH##*/}" >> "$GITHUB_OUTPUT" + + - name: Fail if no proper branch name + run: | + if test -z "${{ steps.split.outputs.branchDescription }}"; then + echo "Failed as no proper branch name was provided. Please use the format of prefix/branch-description." + exit 1 + fi + + - name: pnpm cache + uses: actions/cache@v3 + with: + path: ./common/temp/pnpm-store + key: ${{ runner.os }}-pnpm-${{ hashFiles('common/config/rush/pnpm-lock.yaml') }} + restore-keys: ${{ runner.os }}-pnpm- + + - name: Rush Install + run: node common/scripts/install-run-rush.js install + + - name: Setup git + uses: oleksiyrudenko/gha-git-credentials@v2.1.1 + with: + token: '${{ secrets.GITHUB_TOKEN }}' + name: github-actions[bot] + email: 41898282+github-actions[bot]@users.noreply.github.com + + - name: Rush Version + run: node common/scripts/install-run-rush.js version --bump --ignore-git-hooks --override-prerelease-id dev --override-bump prerelease + + - name: Rush Build + run: node common/scripts/install-run-rush.js rebuild --verbose + + - name: Rush Test + run: node common/scripts/install-run-rush.js test --verbose + + - name: Rush Publish + env: + BRANCH_DESCRIPTION: ${{ steps.split.outputs.branchDescription }} + run: node common/scripts/install-run-rush.js publish --apply --include-all --publish --tag $BRANCH_DESCRIPTION --set-access-level public --ignore-git-hooks From 01f89a0436ee42acf291ad2acda35583f72144ec Mon Sep 17 00:00:00 2001 From: Peter Perlepes Date: Thu, 29 Jun 2023 13:05:21 +0300 Subject: [PATCH 112/449] Prepare for release 3.13.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 fdf0874e8..3e3b0d8ff 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 e86f36bc4399290cd922b7087ec529afdde047ef Mon Sep 17 00:00:00 2001 From: Peter Perlepes Date: Thu, 29 Jun 2023 13:09:18 +0300 Subject: [PATCH 113/449] Allow events to be tracked on the onSessionUpdate callback (close #1213) * Allow events to be tracked on the onSessionUpdate callback (close #1213) * Increased the bundlemon browser-tracker-core size at a reasonable value * Add onSessionUpdate integration test #1214 --- .bundlemonrc.json | 2 +- ...sion-update-callback_2023-06-27-07-36.json | 10 ++ ...sion-update-callback_2023-06-28-15-24.json | 10 ++ common/config/rush/pnpm-lock.yaml | 50 ++++------ common/config/rush/repo-state.json | 2 +- .../src/tracker/id_cookie.ts | 19 ++-- .../browser-tracker-core/src/tracker/index.ts | 98 ++++++++++--------- .../test/id_cookie.test.ts | 80 ++------------- .../__snapshots__/session_data.test.ts.snap | 40 ++++++++ .../test/tracker/session_data.test.ts | 82 ++++++++++++++++ .../test/integration/onSessionUpdate.test.ts | 63 ++++++++++++ .../test/pages/session-update-callback.html | 54 ++++++++++ 12 files changed, 347 insertions(+), 163 deletions(-) create mode 100644 common/changes/@snowplow/browser-tracker-core/issue-1213-allow-events-on-session-update-callback_2023-06-27-07-36.json create mode 100644 common/changes/@snowplow/javascript-tracker/issue-1213-allow-events-on-session-update-callback_2023-06-28-15-24.json create mode 100644 libraries/browser-tracker-core/test/tracker/__snapshots__/session_data.test.ts.snap create mode 100644 trackers/javascript-tracker/test/integration/onSessionUpdate.test.ts create mode 100644 trackers/javascript-tracker/test/pages/session-update-callback.html diff --git a/.bundlemonrc.json b/.bundlemonrc.json index 2caec2531..31ef43ecb 100644 --- a/.bundlemonrc.json +++ b/.bundlemonrc.json @@ -22,7 +22,7 @@ }, { "path": "./libraries/browser-tracker-core/dist/index.module.js", - "maxSize": "25kb", + "maxSize": "26kb", "maxPercentIncrease": 10 }, { diff --git a/common/changes/@snowplow/browser-tracker-core/issue-1213-allow-events-on-session-update-callback_2023-06-27-07-36.json b/common/changes/@snowplow/browser-tracker-core/issue-1213-allow-events-on-session-update-callback_2023-06-27-07-36.json new file mode 100644 index 000000000..384022894 --- /dev/null +++ b/common/changes/@snowplow/browser-tracker-core/issue-1213-allow-events-on-session-update-callback_2023-06-27-07-36.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-tracker-core", + "comment": "Allow events to be tracked on the onSessionUpdate callback", + "type": "none" + } + ], + "packageName": "@snowplow/browser-tracker-core" +} \ No newline at end of file diff --git a/common/changes/@snowplow/javascript-tracker/issue-1213-allow-events-on-session-update-callback_2023-06-28-15-24.json b/common/changes/@snowplow/javascript-tracker/issue-1213-allow-events-on-session-update-callback_2023-06-28-15-24.json new file mode 100644 index 000000000..3390fe2fe --- /dev/null +++ b/common/changes/@snowplow/javascript-tracker/issue-1213-allow-events-on-session-update-callback_2023-06-28-15-24.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/javascript-tracker", + "comment": "Added onSessionUpdate callback integration test", + "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 3b6e1215f..752ff7d3d 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -2506,8 +2506,8 @@ packages: defer-to-connect: 2.0.1 dev: true - /@testim/chrome-version/1.1.2: - resolution: {integrity: sha512-1c4ZOETSRpI0iBfIFUqU4KqwBAB2lHUAlBjZz/YqOHqwM9dTTzjV6Km0ZkiEiSCx/tLr1BtESIKyWWMww+RUqw==} + /@testim/chrome-version/1.1.3: + resolution: {integrity: sha512-g697J3WxV/Zytemz8aTuKjTGYtta9+02kva3C1xc7KXB8GdbfE1akGJIsZLyY/FSh2QrnE+fiB7vmWU3XNcb6A==} dev: true /@tootallnate/once/1.1.2: @@ -3195,7 +3195,7 @@ packages: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} engines: {node: '>= 6.0.0'} dependencies: - debug: 4.3.3 + debug: 4.3.4 transitivePeerDependencies: - supports-color dev: true @@ -3204,7 +3204,7 @@ packages: resolution: {integrity: sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA==} engines: {node: '>= 8.0.0'} dependencies: - debug: 4.3.3 + debug: 4.3.4 depd: 1.1.2 humanize-ms: 1.2.1 transitivePeerDependencies: @@ -3496,7 +3496,7 @@ packages: /axios/0.24.0: resolution: {integrity: sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==} dependencies: - follow-redirects: 1.14.5 + follow-redirects: 1.15.2 transitivePeerDependencies: - debug dev: true @@ -3753,7 +3753,7 @@ packages: dev: true /buffer-crc32/0.2.13: - resolution: {integrity: sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=} + resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} dev: true /buffer-fill/1.0.0: @@ -4054,11 +4054,11 @@ packages: hasBin: true requiresBuild: true dependencies: - '@testim/chrome-version': 1.1.2 + '@testim/chrome-version': 1.1.3 axios: 0.24.0 del: 6.0.0 extract-zip: 2.0.1 - https-proxy-agent: 5.0.0 + https-proxy-agent: 5.0.1 proxy-from-env: 1.1.0 tcp-port-used: 1.0.2 transitivePeerDependencies: @@ -4594,7 +4594,7 @@ packages: dev: true /deep-is/0.1.3: - resolution: {integrity: sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=} + resolution: {integrity: sha512-GtxAN4HvBachZzm4OnWqc45ESpUCMwkYcsjnsPs23FwJbsO+k4t0k9bQCgOmzIlpHO28+WPK/KRbRk0DDHuuDw==} dev: true /deepmerge-ts/4.3.0: @@ -4735,7 +4735,7 @@ packages: resolution: {integrity: sha512-Tgkn2a+yiNP9FoZgMa/D9Wk+D2Db///0KOyKSYZRJa8w4+DzKyzQMkczKSdR/adQ0x46BOpeNkoyEOKjPhCzjw==} engines: {node: '>= 8.0'} dependencies: - debug: 4.3.3 + debug: 4.3.4 readable-stream: 3.6.0 split-ca: 1.0.1 ssh2: 1.5.0 @@ -5301,7 +5301,7 @@ packages: engines: {node: '>= 10.17.0'} hasBin: true dependencies: - debug: 4.3.3 + debug: 4.3.4 get-stream: 5.2.0 yauzl: 2.10.0 optionalDependencies: @@ -5359,7 +5359,7 @@ packages: dev: true /fd-slicer/1.1.0: - resolution: {integrity: sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=} + resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} dependencies: pend: 1.2.0 dev: true @@ -5509,8 +5509,8 @@ packages: resolution: {integrity: sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw==} dev: true - /follow-redirects/1.14.5: - resolution: {integrity: sha512-wtphSXy7d4/OR+MvIFbCVBDzZ5520qV8XfPklSN5QtxuMUJZ+b0Wnst1e1lCDocfzuCkHqj8k0FpZqO+UIaKNA==} + /follow-redirects/1.15.2: + resolution: {integrity: sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==} engines: {node: '>=4.0'} peerDependencies: debug: '*' @@ -6068,16 +6068,6 @@ packages: resolve-alpn: 1.2.1 dev: true - /https-proxy-agent/5.0.0: - resolution: {integrity: sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==} - engines: {node: '>= 6'} - dependencies: - agent-base: 6.0.2 - debug: 4.3.3 - transitivePeerDependencies: - - supports-color - dev: true - /https-proxy-agent/5.0.1: resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} engines: {node: '>= 6'} @@ -7674,7 +7664,7 @@ packages: cacache: 15.3.0 http-cache-semantics: 4.1.0 http-proxy-agent: 4.0.1 - https-proxy-agent: 5.0.0 + https-proxy-agent: 5.0.1 is-lambda: 1.0.1 lru-cache: 6.0.0 minipass: 3.3.4 @@ -8275,7 +8265,7 @@ packages: dev: true /once/1.4.0: - resolution: {integrity: sha1-WDsap3WWHUsROsF9nFC6753Xa9E=} + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} dependencies: wrappy: 1.0.2 @@ -8642,7 +8632,7 @@ packages: dev: true /pend/1.2.0: - resolution: {integrity: sha1-elfrVQpng/kRUzH89GY9XI4AelA=} + resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} dev: true /perf-regexes/1.0.1: @@ -9531,7 +9521,7 @@ packages: engines: {node: '>= 10'} dependencies: agent-base: 6.0.2 - debug: 4.3.3 + debug: 4.3.4 socks: 2.7.0 transitivePeerDependencies: - supports-color @@ -10657,7 +10647,7 @@ packages: dev: true /wrappy/1.0.2: - resolution: {integrity: sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=} + 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==} @@ -10793,7 +10783,7 @@ packages: dev: true /yauzl/2.10.0: - resolution: {integrity: sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=} + resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} dependencies: buffer-crc32: 0.2.13 fd-slicer: 1.1.0 diff --git a/common/config/rush/repo-state.json b/common/config/rush/repo-state.json index d2fd0cbc9..014f80bb3 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": "1a9deb48a8d2843fb67d9c93ff618d8373ca31c8", + "pnpmShrinkwrapHash": "b3670fdd35939880fb5506b045e5826aeab84996", "preferredVersionsHash": "bf21a9e8fbc5a3846fb05b4fa0859e0917b2202f" } diff --git a/libraries/browser-tracker-core/src/tracker/id_cookie.ts b/libraries/browser-tracker-core/src/tracker/id_cookie.ts index ab9f1b5c9..831d672c1 100644 --- a/libraries/browser-tracker-core/src/tracker/id_cookie.ts +++ b/libraries/browser-tracker-core/src/tracker/id_cookie.ts @@ -171,10 +171,7 @@ export function initializeDomainUserId(idCookie: ParsedIdCookie, configAnonymous } type NewSessionOptions = { - memorizedVisitCount?: number; - onSessionUpdateCallback?: (sessionState: ClientSession) => void; - configStateStorageStrategy: string; - configAnonymousTracking: boolean; + memorizedVisitCount: number; }; /** @@ -189,11 +186,11 @@ type NewSessionOptions = { * @param options.onSessionUpdateCallback Session callback triggered on every session update * @returns New session ID */ -export function startNewIdCookieSession(idCookie: ParsedIdCookie, options: NewSessionOptions) { - const { memorizedVisitCount, configStateStorageStrategy, configAnonymousTracking, onSessionUpdateCallback } = { - memorizedVisitCount: 1, - ...options, - }; +export function startNewIdCookieSession( + idCookie: ParsedIdCookie, + options: NewSessionOptions = { memorizedVisitCount: 1 } +) { + const { memorizedVisitCount } = options; // If cookies are enabled, base visit count and session ID on the cookies if (cookiesEnabledInIdCookie(idCookie)) { @@ -216,10 +213,6 @@ export function startNewIdCookieSession(idCookie: ParsedIdCookie, options: NewSe idCookie[firstEventIdIndex] = ''; idCookie[firstEventTsInMsIndex] = undefined; - if (onSessionUpdateCallback) { - onSessionUpdateCallback(clientSessionFromIdCookie(idCookie, configStateStorageStrategy, configAnonymousTracking)); - } - return sessionId; } diff --git a/libraries/browser-tracker-core/src/tracker/index.ts b/libraries/browser-tracker-core/src/tracker/index.ts index 302dcb58e..f066c5be5 100755 --- a/libraries/browser-tracker-core/src/tracker/index.ts +++ b/libraries/browser-tracker-core/src/tracker/index.ts @@ -91,6 +91,7 @@ import { clientSessionFromIdCookie, incrementEventIndexInIdCookie, emptyIdCookie, + eventIndexFromIdCookie, } from './id_cookie'; import { CLIENT_SESSION_SCHEMA, WEB_PAGE_SCHEMA, BROWSER_CONTEXT_SCHEMA } from './schemata'; import { getBrowserProperties } from '../helpers/browser_props'; @@ -315,7 +316,8 @@ export function Tracker( }, configSessionContext = trackerConfiguration.contexts?.session ?? false, toOptoutByCookie: string | boolean, - onSessionUpdateCallback = trackerConfiguration.onSessionUpdateCallback; + onSessionUpdateCallback = trackerConfiguration.onSessionUpdateCallback, + manualSessionUpdateCalled = false; if (trackerConfiguration.hasOwnProperty('discoverRootDomain') && trackerConfiguration.discoverRootDomain) { configCookieDomain = findRootDomain(configCookieSameSite, configCookieSecure); @@ -564,42 +566,51 @@ export function Tracker( return Math.round(offset); } - /* - * Sets or renews the session cookie + /** + * Sets or renews the session cookie. + * Responsible for calling the `onSessionUpdateCallback` callback. + * @returns {boolean} If the value persisted in cookies or LocalStorage */ function setSessionCookie() { const cookieName = getSnowplowCookieName('ses'); const cookieValue = '*'; - setCookie(cookieName, cookieValue, configSessionCookieTimeout); + return persistValue(cookieName, cookieValue, configSessionCookieTimeout); } - /* - * Sets the Visitor ID cookie: either the first time loadDomainUserIdCookie is called - * or when there is a new visit or a new page view + /** + * @mutates idCookie + * @param {ParsedIdCookie} idCookie + * @returns {boolean} If the value persisted in cookies or LocalStorage */ function setDomainUserIdCookie(idCookie: ParsedIdCookie) { const cookieName = getSnowplowCookieName('id'); const cookieValue = serializeIdCookie(idCookie); - setCookie(cookieName, cookieValue, configVisitorCookieTimeout); + return persistValue(cookieName, cookieValue, configVisitorCookieTimeout); } - /* + /** * no-op if anonymousTracking enabled, will still set cookies if anonymousSessionTracking is enabled * Sets a cookie based on the storage strategy: * - if 'localStorage': attempts to write to local storage * - if 'cookie' or 'cookieAndLocalStorage': writes to cookies * - otherwise: no-op + * @param {string} name Name/key of the value to persist + * @param {string} value + * @param {number} timeout Used as the expiration date for cookies or as a TTL to be checked on LocalStorage + * @returns {boolean} If the operation was successful or not */ - function setCookie(name: string, value: string, timeout: number) { + function persistValue(name: string, value: string, timeout: number): boolean { if (configAnonymousTracking && !configAnonymousSessionTracking) { - return; + return false; } if (configStateStorageStrategy == 'localStorage') { - attemptWriteLocalStorage(name, value, timeout); + 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 false; } /** @@ -658,11 +669,7 @@ export function Tracker( domainUserId = initializeDomainUserId(idCookie, configAnonymousTracking); if (!sesCookieSet) { - memorizedSessionId = startNewIdCookieSession(idCookie, { - configStateStorageStrategy, - configAnonymousTracking, - onSessionUpdateCallback, - }); + memorizedSessionId = startNewIdCookieSession(idCookie); } else { memorizedSessionId = sessionIdFromIdCookie(idCookie); } @@ -787,9 +794,11 @@ export function Tracker( return { beforeTrack: (payloadBuilder: PayloadBuilder) => { - let ses = getSnowplowCookieValue('ses'), + const existingSession = getSnowplowCookieValue('ses'), idCookie = loadDomainUserIdCookie(); + const isFirstEventInSession = eventIndexFromIdCookie(idCookie) === 0; + if (configOptOutCookie) { toOptoutByCookie = !!cookie(configOptOutCookie); } else { @@ -804,12 +813,8 @@ export function Tracker( // If cookies are enabled, base visit count and session ID on the cookies if (cookiesEnabledInIdCookie(idCookie)) { // New session? - if (!ses && configStateStorageStrategy != 'none') { - memorizedSessionId = startNewIdCookieSession(idCookie, { - configStateStorageStrategy, - configAnonymousTracking, - onSessionUpdateCallback, - }); + if (!existingSession && configStateStorageStrategy != 'none') { + memorizedSessionId = startNewIdCookieSession(idCookie); } else { memorizedSessionId = sessionIdFromIdCookie(idCookie); } @@ -818,10 +823,7 @@ export function Tracker( } else if (new Date().getTime() - lastEventTime > configSessionCookieTimeout * 1000) { memorizedVisitCount++; memorizedSessionId = startNewIdCookieSession(idCookie, { - configStateStorageStrategy, - configAnonymousTracking, memorizedVisitCount, - onSessionUpdateCallback, }); } @@ -846,17 +848,28 @@ export function Tracker( // Add the page URL last as it may take us over the IE limit (and we don't always need it) payloadBuilder.add('url', purify(configCustomUrl || locationHrefAlias)); + const clientSession = clientSessionFromIdCookie( + idCookie, + configStateStorageStrategy, + configAnonymousTracking + ); if (configSessionContext && (!configAnonymousTracking || configAnonymousSessionTracking)) { - addSessionContextToPayload( - payloadBuilder, - clientSessionFromIdCookie(idCookie, configStateStorageStrategy, configAnonymousTracking) - ); + addSessionContextToPayload(payloadBuilder, clientSession); } // Update cookies if (configStateStorageStrategy != 'none') { setDomainUserIdCookie(idCookie); - setSessionCookie(); + const sessionIdentifierPersisted = setSessionCookie(); + if ( + (!existingSession || isFirstEventInSession) && + sessionIdentifierPersisted && + onSessionUpdateCallback && + !manualSessionUpdateCalled + ) { + onSessionUpdateCallback(clientSession); + manualSessionUpdateCalled = false; + } } lastEventTime = new Date().getTime(); @@ -883,26 +896,16 @@ export function Tracker( if (cookiesEnabledInIdCookie(idCookie)) { // When cookie/local storage is enabled - make a new session if (configStateStorageStrategy != 'none') { - memorizedSessionId = startNewIdCookieSession(idCookie, { - configStateStorageStrategy, - configAnonymousTracking, - onSessionUpdateCallback, - }); + memorizedSessionId = startNewIdCookieSession(idCookie); } else { memorizedSessionId = sessionIdFromIdCookie(idCookie); } memorizedVisitCount = visitCountFromIdCookie(idCookie); - - // Create a new session cookie - setSessionCookie(); } else { memorizedVisitCount++; memorizedSessionId = startNewIdCookieSession(idCookie, { - configStateStorageStrategy, - configAnonymousTracking, memorizedVisitCount, - onSessionUpdateCallback, }); } @@ -910,8 +913,13 @@ export function Tracker( // Update cookies if (configStateStorageStrategy != 'none') { + const clientSession = clientSessionFromIdCookie(idCookie, configStateStorageStrategy, configAnonymousTracking); setDomainUserIdCookie(idCookie); - setSessionCookie(); + const sessionIdentifierPersisted = setSessionCookie(); + if (sessionIdentifierPersisted && onSessionUpdateCallback) { + manualSessionUpdateCalled = true; + onSessionUpdateCallback(clientSession); + } } lastEventTime = new Date().getTime(); @@ -1138,7 +1146,7 @@ export function Tracker( getTabId, - newSession: newSession, + newSession, getCookieName: function (basename: string) { return getSnowplowCookieName(basename); diff --git a/libraries/browser-tracker-core/test/id_cookie.test.ts b/libraries/browser-tracker-core/test/id_cookie.test.ts index dcd7d55c8..d6584e7ff 100644 --- a/libraries/browser-tracker-core/test/id_cookie.test.ts +++ b/libraries/browser-tracker-core/test/id_cookie.test.ts @@ -32,7 +32,6 @@ import * as uuid from 'uuid'; jest.mock('uuid'); const MOCK_UUID = '123456789'; jest.spyOn(uuid, 'v4').mockReturnValue(MOCK_UUID); -const ANONYMOUS_USER_ID = '00000000-0000-0000-0000-000000000000'; import { payloadBuilder } from '@snowplow/tracker-core'; import { @@ -138,13 +137,9 @@ describe('initializeDomainUserId', () => { }); describe('startNewIdCookieSession', () => { - const defaultNewSessionOptions = { - configStateStorageStrategy: '', - configAnonymousTracking: false, - }; it('Resets the first event references and event index', () => { let idCookie = parseIdCookie('def.1653632272.10.1653632282.1653632262.ses.previous.fid.1653632252.9', '', '', 0); - startNewIdCookieSession(idCookie, defaultNewSessionOptions); + startNewIdCookieSession(idCookie); expect(firstEventIdFromIdCookie(idCookie)).toBeFalsy(); expect(firstEventTsInMsFromIdCookie(idCookie)).toBeUndefined(); @@ -155,20 +150,20 @@ describe('startNewIdCookieSession', () => { let idCookie = parseIdCookie('def.1653632272.10.1653632282.1653632262', '', '', 0); expect(visitCountFromIdCookie(idCookie)).toBe(10); - startNewIdCookieSession(idCookie, defaultNewSessionOptions); + startNewIdCookieSession(idCookie); expect(visitCountFromIdCookie(idCookie)).toBe(11); }); it('Uses the passed visit count in case of disabled cookies', () => { let idCookie = parseIdCookie('', '', '', 0); - startNewIdCookieSession(idCookie, { ...defaultNewSessionOptions, memorizedVisitCount: 100 }); + startNewIdCookieSession(idCookie, { memorizedVisitCount: 100 }); expect(visitCountFromIdCookie(idCookie)).toBe(100); }); it("Doesn't set the last visit timestamp if disabled cookies and keeps now timestamp", () => { let idCookie = parseIdCookie('', '', '', 0); let nowTs = nowTsFromIdCookie(idCookie); - startNewIdCookieSession(idCookie, defaultNewSessionOptions); + startNewIdCookieSession(idCookie); expect(lastVisitTsFromIdCookie(idCookie)).toBeUndefined(); expect(nowTsFromIdCookie(idCookie)).toBe(nowTs); }); @@ -179,7 +174,7 @@ describe('startNewIdCookieSession', () => { let before = sessionIdFromIdCookie(idCookie); jest.spyOn(uuid, 'v4').mockReturnValueOnce('another_random_uuid'); - startNewIdCookieSession(idCookie, defaultNewSessionOptions); + startNewIdCookieSession(idCookie); let after = sessionIdFromIdCookie(idCookie); expect(before).not.toBe(after); @@ -188,77 +183,16 @@ describe('startNewIdCookieSession', () => { it('Moves current visit to last visit timestamp', () => { let idCookie = parseIdCookie(`def.1653632100.10.1653632200.1653632300`, '', '', 0); - startNewIdCookieSession(idCookie, defaultNewSessionOptions); + startNewIdCookieSession(idCookie); expect(lastVisitTsFromIdCookie(idCookie)).toBe(1653632200); }); it('Sets the previous session ID', () => { let idCookie = parseIdCookie('def.1653632100.10.1653632200.1653632300.ses', '', '', 0); - startNewIdCookieSession(idCookie, defaultNewSessionOptions); + startNewIdCookieSession(idCookie); expect(previousSessionIdFromIdCookie(idCookie)).toBe('ses'); }); - - describe('Session Callbacks: onUpdateSession', () => { - it('Correctly fires the callback', () => { - const idCookie = parseIdCookie('def.1653632100.10.1653632200.1653632300.ses', '', '', 0); - const onSessionUpdateCallback = jest.fn(); - startNewIdCookieSession(idCookie, { ...defaultNewSessionOptions, onSessionUpdateCallback }); - expect(onSessionUpdateCallback).toHaveBeenCalledTimes(1); - expect(onSessionUpdateCallback).toHaveBeenCalledWith({ - eventIndex: 0, - firstEventId: null, - firstEventTimestamp: null, - previousSessionId: 'ses', - sessionId: '123456789', - sessionIndex: 11, - storageMechanism: 'COOKIE_1', - userId: 'def', - }); - }); - - it('Correctly fires the callback with anonymousTracking enabled', () => { - const idCookie = parseIdCookie('def.1653632100.10.1653632200.1653632300.ses', '', '', 0); - const onSessionUpdateCallback = jest.fn(); - startNewIdCookieSession(idCookie, { - ...defaultNewSessionOptions, - onSessionUpdateCallback, - configAnonymousTracking: true, - }); - expect(onSessionUpdateCallback).toHaveBeenCalledTimes(1); - expect(onSessionUpdateCallback).toHaveBeenCalledWith({ - eventIndex: 0, - firstEventId: null, - firstEventTimestamp: null, - previousSessionId: null, - sessionId: '123456789', - sessionIndex: 11, - storageMechanism: 'COOKIE_1', - userId: ANONYMOUS_USER_ID, - }); - }); - - it('Correctly fires the callback with different stateStorageStrategy', () => { - const idCookie = parseIdCookie('def.1653632100.10.1653632200.1653632300.ses', '', '', 0); - const onSessionUpdateCallback = jest.fn(); - startNewIdCookieSession(idCookie, { - ...defaultNewSessionOptions, - onSessionUpdateCallback, - configStateStorageStrategy: 'localStorage', - }); - expect(onSessionUpdateCallback).toHaveBeenCalledTimes(1); - expect(onSessionUpdateCallback).toHaveBeenCalledWith({ - eventIndex: 0, - firstEventId: null, - firstEventTimestamp: null, - previousSessionId: 'ses', - sessionId: '123456789', - sessionIndex: 11, - storageMechanism: 'LOCAL_STORAGE', - userId: 'def', - }); - }); - }); }); describe('updateNowTsInIdCookie', () => { diff --git a/libraries/browser-tracker-core/test/tracker/__snapshots__/session_data.test.ts.snap b/libraries/browser-tracker-core/test/tracker/__snapshots__/session_data.test.ts.snap new file mode 100644 index 000000000..ea8714fe4 --- /dev/null +++ b/libraries/browser-tracker-core/test/tracker/__snapshots__/session_data.test.ts.snap @@ -0,0 +1,40 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`Tracker API: onSessionUpdateCallback functionality properly calls onSessionUpdateCallback 1`] = ` +Object { + "eventIndex": 1, + "firstEventId": "123456789", + "firstEventTimestamp": "2023-01-01T00:00:00.000Z", + "previousSessionId": null, + "sessionId": "123456789", + "sessionIndex": 1, + "storageMechanism": "COOKIE_1", + "userId": "123456789", +} +`; + +exports[`Tracker API: onSessionUpdateCallback functionality properly calls onSessionUpdateCallback with anonymousTracking and withSessionTracking 1`] = ` +Object { + "eventIndex": 1, + "firstEventId": "123456789", + "firstEventTimestamp": "2023-01-01T00:00:00.000Z", + "previousSessionId": null, + "sessionId": "123456789", + "sessionIndex": 1, + "storageMechanism": "COOKIE_1", + "userId": "00000000-0000-0000-0000-000000000000", +} +`; + +exports[`Tracker API: onSessionUpdateCallback functionality properly calls onSessionUpdateCallback with correct storage strategy 1`] = ` +Object { + "eventIndex": 1, + "firstEventId": "123456789", + "firstEventTimestamp": "2023-01-01T00:00:00.000Z", + "previousSessionId": null, + "sessionId": "123456789", + "sessionIndex": 1, + "storageMechanism": "LOCAL_STORAGE", + "userId": "123456789", +} +`; diff --git a/libraries/browser-tracker-core/test/tracker/session_data.test.ts b/libraries/browser-tracker-core/test/tracker/session_data.test.ts index 02962a339..2994063ba 100644 --- a/libraries/browser-tracker-core/test/tracker/session_data.test.ts +++ b/libraries/browser-tracker-core/test/tracker/session_data.test.ts @@ -28,6 +28,11 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +import * as uuid from 'uuid'; +jest.mock('uuid'); +const MOCK_UUID = '123456789'; +jest.spyOn(uuid, 'v4').mockReturnValue(MOCK_UUID); + import { createTestIdCookie, createTestSessionIdCookie, createTracker } from '../helpers'; jest.useFakeTimers('modern'); @@ -174,4 +179,81 @@ describe('Tracker API: ', () => { tracker?.trackPageView(); }); + + describe('onSessionUpdateCallback functionality', () => { + beforeEach(() => { + const standardDate = new Date('2023-01-01T00:00:00Z'); + jest.setSystemTime(standardDate); + }); + + it('properly calls onSessionUpdateCallback', (done) => { + const tracker = createTracker({ + contexts: { session: true }, + encodeBase64: false, + onSessionUpdateCallback(updatedSession) { + expect(updatedSession).toMatchSnapshot(); + done(); + }, + }); + + tracker?.trackPageView(); + }); + + it('properly calls onSessionUpdateCallback with correct storage strategy', (done) => { + const tracker = createTracker({ + contexts: { session: true }, + encodeBase64: false, + stateStorageStrategy: 'localStorage', + onSessionUpdateCallback(updatedSession) { + expect(updatedSession).toMatchSnapshot(); + done(); + }, + }); + + tracker?.trackPageView(); + }); + + it('properly calls onSessionUpdateCallback with anonymousTracking and withSessionTracking', (done) => { + const tracker = createTracker({ + contexts: { session: true }, + encodeBase64: false, + anonymousTracking: { withSessionTracking: true }, + onSessionUpdateCallback(updatedSession) { + expect(updatedSession).toMatchSnapshot(); + done(); + }, + }); + + tracker?.trackPageView(); + }); + + it('does not call onSessionUpdateCallback with anonymousTracking', () => { + const mockOnSessionUpdateCallback = jest.fn(); + const tracker = createTracker({ + contexts: { session: true }, + encodeBase64: false, + anonymousTracking: true, + onSessionUpdateCallback: mockOnSessionUpdateCallback, + }); + + tracker?.trackPageView(); + expect(mockOnSessionUpdateCallback).not.toHaveBeenCalled(); + }); + + it('properly calls onSessionUpdateCallback when newSession API is called', () => { + const mockOnSessionUpdateCallback = jest.fn(); + + const tracker = createTracker({ + contexts: { session: true }, + encodeBase64: false, + anonymousTracking: { withSessionTracking: true }, + onSessionUpdateCallback: mockOnSessionUpdateCallback, + }); + + tracker?.trackPageView(); + expect(mockOnSessionUpdateCallback).toHaveBeenCalledTimes(1); + tracker?.newSession(); + expect(mockOnSessionUpdateCallback).toHaveBeenCalledTimes(2); + }); + }); }); diff --git a/trackers/javascript-tracker/test/integration/onSessionUpdate.test.ts b/trackers/javascript-tracker/test/integration/onSessionUpdate.test.ts new file mode 100644 index 000000000..a274e449a --- /dev/null +++ b/trackers/javascript-tracker/test/integration/onSessionUpdate.test.ts @@ -0,0 +1,63 @@ +import F from 'lodash/fp'; +import { DockerWrapper, clearCache, fetchResults, start, stop } from '../micro'; +import { waitUntil } from './helpers'; + +describe('onSessionUpdate callback feature', () => { + if ( + browser.capabilities.browserName === 'internet explorer' && + (browser.capabilities.version === '9' || browser.capabilities.browserVersion === '10') + ) { + fit('Skip IE 9 and 10', () => true); + return; + } + + if (browser.capabilities.browserName === 'safari' && browser.capabilities.version === '8.0') { + fit('Skip Safari 8', () => true); + return; + } + + let log: Array = []; + let docker: DockerWrapper; + + const logContains = (ev: unknown) => F.some(F.isMatch(ev as object), log); + + const loadUrlAndWait = async (url: string) => { + await browser.url(url); + await browser.waitUntil(async () => (await $('#init').getText()) === 'true', { + timeout: 5000, + timeoutMsg: 'expected init after 5s', + interval: 250, + }); + }; + + beforeAll(async () => { + await browser.call(async () => (docker = await start())); + await waitUntil(browser, async () => { + return await browser.call(async () => await clearCache(docker.url)); + }); + await browser.url('/index.html'); + await browser.setCookies({ name: 'container', value: docker.url }); + await loadUrlAndWait('/session-update-callback.html'); + await browser.pause(2000); + log = await browser.call(async () => await fetchResults(docker.url)); + await browser.pause(2000); + }); + + afterAll(async () => { + await browser.call(async () => await stop(docker?.container)); + }); + + it(`properly runs the onSessionCallback`, async () => { + expect( + logContains({ + event: { + app_id: `onSessionCallback`, + event: 'struct', + se_category: 'session_callback', + se_action: 'called', + }, + }) + ).toBe(true); + expect(log.length).toEqual(2); + }); +}); diff --git a/trackers/javascript-tracker/test/pages/session-update-callback.html b/trackers/javascript-tracker/test/pages/session-update-callback.html new file mode 100644 index 000000000..37bf61b2a --- /dev/null +++ b/trackers/javascript-tracker/test/pages/session-update-callback.html @@ -0,0 +1,54 @@ + + + + onSessionUpdateCallback test page + + + +

Page for testing onSessionUpdateCallback with Snowplow Micro

+
+ + + + + + From f98ae3b0a3d9613b05b28777a1cca5abed2ee08d Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 29 Jun 2023 14:20:06 +0000 Subject: [PATCH 114/449] Update changelogs [skip ci] --- ...-on-session-update-callback_2023-06-27-07-36.json | 10 ---------- ...-on-session-update-callback_2023-06-28-15-24.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 ++++++- 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-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 ++++++- 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-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 ++++++- 60 files changed, 364 insertions(+), 49 deletions(-) delete mode 100644 common/changes/@snowplow/browser-tracker-core/issue-1213-allow-events-on-session-update-callback_2023-06-27-07-36.json delete mode 100644 common/changes/@snowplow/javascript-tracker/issue-1213-allow-events-on-session-update-callback_2023-06-28-15-24.json diff --git a/common/changes/@snowplow/browser-tracker-core/issue-1213-allow-events-on-session-update-callback_2023-06-27-07-36.json b/common/changes/@snowplow/browser-tracker-core/issue-1213-allow-events-on-session-update-callback_2023-06-27-07-36.json deleted file mode 100644 index 384022894..000000000 --- a/common/changes/@snowplow/browser-tracker-core/issue-1213-allow-events-on-session-update-callback_2023-06-27-07-36.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-tracker-core", - "comment": "Allow events to be tracked on the onSessionUpdate callback", - "type": "none" - } - ], - "packageName": "@snowplow/browser-tracker-core" -} \ No newline at end of file diff --git a/common/changes/@snowplow/javascript-tracker/issue-1213-allow-events-on-session-update-callback_2023-06-28-15-24.json b/common/changes/@snowplow/javascript-tracker/issue-1213-allow-events-on-session-update-callback_2023-06-28-15-24.json deleted file mode 100644 index 3390fe2fe..000000000 --- a/common/changes/@snowplow/javascript-tracker/issue-1213-allow-events-on-session-update-callback_2023-06-28-15-24.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/javascript-tracker", - "comment": "Added onSessionUpdate callback integration test", - "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 a6bceaf36..ffaf9d7f1 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.13.1", + "tag": "@snowplow/browser-tracker-core_v3.13.1", + "date": "Thu, 29 Jun 2023 14:20:06 GMT", + "comments": { + "none": [ + { + "comment": "Allow events to be tracked on the onSessionUpdate callback" + } + ] + } + }, { "version": "3.13.0", "tag": "@snowplow/browser-tracker-core_v3.13.0", diff --git a/libraries/browser-tracker-core/CHANGELOG.md b/libraries/browser-tracker-core/CHANGELOG.md index 2dd48b5cd..a32df93ed 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, 20 Jun 2023 07:44:23 GMT and should not be manually modified. +This log was last generated on Thu, 29 Jun 2023 14:20:06 GMT and should not be manually modified. + +## 3.13.1 +Thu, 29 Jun 2023 14:20:06 GMT + +### Updates + +- Allow events to be tracked on the onSessionUpdate callback ## 3.13.0 Tue, 20 Jun 2023 07:44:23 GMT diff --git a/libraries/tracker-core/CHANGELOG.json b/libraries/tracker-core/CHANGELOG.json index 738ce9ed7..4521ca711 100644 --- a/libraries/tracker-core/CHANGELOG.json +++ b/libraries/tracker-core/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/tracker-core", "entries": [ + { + "version": "3.13.1", + "tag": "@snowplow/tracker-core_v3.13.1", + "date": "Thu, 29 Jun 2023 14:20:06 GMT", + "comments": {} + }, { "version": "3.13.0", "tag": "@snowplow/tracker-core_v3.13.0", diff --git a/libraries/tracker-core/CHANGELOG.md b/libraries/tracker-core/CHANGELOG.md index e1254e371..e2f319b53 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, 20 Jun 2023 07:44:23 GMT and should not be manually modified. +This log was last generated on Thu, 29 Jun 2023 14:20:06 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-ad-tracking/CHANGELOG.json b/plugins/browser-plugin-ad-tracking/CHANGELOG.json index 66521e8d5..2be7d2607 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.13.1", + "tag": "@snowplow/browser-plugin-ad-tracking_v3.13.1", + "date": "Thu, 29 Jun 2023 14:20:06 GMT", + "comments": {} + }, { "version": "3.13.0", "tag": "@snowplow/browser-plugin-ad-tracking_v3.13.0", diff --git a/plugins/browser-plugin-ad-tracking/CHANGELOG.md b/plugins/browser-plugin-ad-tracking/CHANGELOG.md index 8be613faa..6c04d0db7 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, 20 Jun 2023 07:44:23 GMT and should not be manually modified. +This log was last generated on Thu, 29 Jun 2023 14:20:06 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-browser-features/CHANGELOG.json b/plugins/browser-plugin-browser-features/CHANGELOG.json index 09b7b2306..e9fa37878 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.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", diff --git a/plugins/browser-plugin-browser-features/CHANGELOG.md b/plugins/browser-plugin-browser-features/CHANGELOG.md index 676cee903..7316c53ea 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, 20 Jun 2023 07:44:23 GMT and should not be manually modified. +This log was last generated on Thu, 29 Jun 2023 14:20:06 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-client-hints/CHANGELOG.json b/plugins/browser-plugin-client-hints/CHANGELOG.json index 53b76d5b3..655c4ddff 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.13.1", + "tag": "@snowplow/browser-plugin-client-hints_v3.13.1", + "date": "Thu, 29 Jun 2023 14:20:06 GMT", + "comments": {} + }, { "version": "3.13.0", "tag": "@snowplow/browser-plugin-client-hints_v3.13.0", diff --git a/plugins/browser-plugin-client-hints/CHANGELOG.md b/plugins/browser-plugin-client-hints/CHANGELOG.md index 6298d10b2..83c1172a7 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, 20 Jun 2023 07:44:23 GMT and should not be manually modified. +This log was last generated on Thu, 29 Jun 2023 14:20:06 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-consent/CHANGELOG.json b/plugins/browser-plugin-consent/CHANGELOG.json index 0f770eb6f..560158cc0 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.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", diff --git a/plugins/browser-plugin-consent/CHANGELOG.md b/plugins/browser-plugin-consent/CHANGELOG.md index ce5e4e607..7f82894aa 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, 20 Jun 2023 07:44:23 GMT and should not be manually modified. +This log was last generated on Thu, 29 Jun 2023 14:20:06 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-debugger/CHANGELOG.json b/plugins/browser-plugin-debugger/CHANGELOG.json index fa94db607..ac905a89f 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.13.1", + "tag": "@snowplow/browser-plugin-debugger_v3.13.1", + "date": "Thu, 29 Jun 2023 14:20:06 GMT", + "comments": {} + }, { "version": "3.13.0", "tag": "@snowplow/browser-plugin-debugger_v3.13.0", diff --git a/plugins/browser-plugin-debugger/CHANGELOG.md b/plugins/browser-plugin-debugger/CHANGELOG.md index 1f50119ef..1b6de099a 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, 20 Jun 2023 07:44:23 GMT and should not be manually modified. +This log was last generated on Thu, 29 Jun 2023 14:20:06 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-ecommerce/CHANGELOG.json b/plugins/browser-plugin-ecommerce/CHANGELOG.json index 66dbcede9..acb432778 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.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", diff --git a/plugins/browser-plugin-ecommerce/CHANGELOG.md b/plugins/browser-plugin-ecommerce/CHANGELOG.md index e73145122..b190b623b 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, 20 Jun 2023 07:44:23 GMT and should not be manually modified. +This log was last generated on Thu, 29 Jun 2023 14:20:06 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-enhanced-consent/CHANGELOG.json b/plugins/browser-plugin-enhanced-consent/CHANGELOG.json index 5145047b6..71b1ee959 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.13.1", + "tag": "@snowplow/browser-plugin-enhanced-consent_v3.13.1", + "date": "Thu, 29 Jun 2023 14:20:06 GMT", + "comments": {} + }, { "version": "3.13.0", "tag": "@snowplow/browser-plugin-enhanced-consent_v3.13.0", diff --git a/plugins/browser-plugin-enhanced-consent/CHANGELOG.md b/plugins/browser-plugin-enhanced-consent/CHANGELOG.md index 7e5837cdf..405b6475d 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, 20 Jun 2023 07:44:23 GMT and should not be manually modified. +This log was last generated on Thu, 29 Jun 2023 14:20:06 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.json b/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.json index 937986cb1..d26639c5a 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.13.1", + "tag": "@snowplow/browser-plugin-enhanced-ecommerce_v3.13.1", + "date": "Thu, 29 Jun 2023 14:20:06 GMT", + "comments": {} + }, { "version": "3.13.0", "tag": "@snowplow/browser-plugin-enhanced-ecommerce_v3.13.0", diff --git a/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.md b/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.md index c1945f1eb..9280ded8f 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, 20 Jun 2023 07:44:23 GMT and should not be manually modified. +This log was last generated on Thu, 29 Jun 2023 14:20:06 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-error-tracking/CHANGELOG.json b/plugins/browser-plugin-error-tracking/CHANGELOG.json index 30d85d931..2188a7b4d 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.13.1", + "tag": "@snowplow/browser-plugin-error-tracking_v3.13.1", + "date": "Thu, 29 Jun 2023 14:20:06 GMT", + "comments": {} + }, { "version": "3.13.0", "tag": "@snowplow/browser-plugin-error-tracking_v3.13.0", diff --git a/plugins/browser-plugin-error-tracking/CHANGELOG.md b/plugins/browser-plugin-error-tracking/CHANGELOG.md index ae24f8f99..5e0b2ad52 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, 20 Jun 2023 07:44:23 GMT and should not be manually modified. +This log was last generated on Thu, 29 Jun 2023 14:20:06 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-form-tracking/CHANGELOG.json b/plugins/browser-plugin-form-tracking/CHANGELOG.json index f27197272..1f5230b29 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.13.1", + "tag": "@snowplow/browser-plugin-form-tracking_v3.13.1", + "date": "Thu, 29 Jun 2023 14:20:06 GMT", + "comments": {} + }, { "version": "3.13.0", "tag": "@snowplow/browser-plugin-form-tracking_v3.13.0", diff --git a/plugins/browser-plugin-form-tracking/CHANGELOG.md b/plugins/browser-plugin-form-tracking/CHANGELOG.md index 6be74ef57..e41870c07 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, 20 Jun 2023 07:44:23 GMT and should not be manually modified. +This log was last generated on Thu, 29 Jun 2023 14:20:06 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-ga-cookies/CHANGELOG.json b/plugins/browser-plugin-ga-cookies/CHANGELOG.json index 6c6cf13fb..486fa758f 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.13.1", + "tag": "@snowplow/browser-plugin-ga-cookies_v3.13.1", + "date": "Thu, 29 Jun 2023 14:20:06 GMT", + "comments": {} + }, { "version": "3.13.0", "tag": "@snowplow/browser-plugin-ga-cookies_v3.13.0", diff --git a/plugins/browser-plugin-ga-cookies/CHANGELOG.md b/plugins/browser-plugin-ga-cookies/CHANGELOG.md index c4bd3da64..2e5ed5e0b 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, 20 Jun 2023 07:44:23 GMT and should not be manually modified. +This log was last generated on Thu, 29 Jun 2023 14:20:06 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-geolocation/CHANGELOG.json b/plugins/browser-plugin-geolocation/CHANGELOG.json index 2ad2ac3d8..d257c7ab5 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.13.1", + "tag": "@snowplow/browser-plugin-geolocation_v3.13.1", + "date": "Thu, 29 Jun 2023 14:20:06 GMT", + "comments": {} + }, { "version": "3.13.0", "tag": "@snowplow/browser-plugin-geolocation_v3.13.0", diff --git a/plugins/browser-plugin-geolocation/CHANGELOG.md b/plugins/browser-plugin-geolocation/CHANGELOG.md index d0844ed13..cb0a94cbe 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, 20 Jun 2023 07:44:23 GMT and should not be manually modified. +This log was last generated on Thu, 29 Jun 2023 14:20:06 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-link-click-tracking/CHANGELOG.json b/plugins/browser-plugin-link-click-tracking/CHANGELOG.json index dc4118e9e..cf7eb83c0 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.13.1", + "tag": "@snowplow/browser-plugin-link-click-tracking_v3.13.1", + "date": "Thu, 29 Jun 2023 14:20:06 GMT", + "comments": {} + }, { "version": "3.13.0", "tag": "@snowplow/browser-plugin-link-click-tracking_v3.13.0", diff --git a/plugins/browser-plugin-link-click-tracking/CHANGELOG.md b/plugins/browser-plugin-link-click-tracking/CHANGELOG.md index ac3e2aa92..dfdf0eda1 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, 20 Jun 2023 07:44:23 GMT and should not be manually modified. +This log was last generated on Thu, 29 Jun 2023 14:20:06 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-media-tracking/CHANGELOG.json b/plugins/browser-plugin-media-tracking/CHANGELOG.json index b32a92368..06ef9e071 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.13.1", + "tag": "@snowplow/browser-plugin-media-tracking_v3.13.1", + "date": "Thu, 29 Jun 2023 14:20:06 GMT", + "comments": {} + }, { "version": "3.13.0", "tag": "@snowplow/browser-plugin-media-tracking_v3.13.0", diff --git a/plugins/browser-plugin-media-tracking/CHANGELOG.md b/plugins/browser-plugin-media-tracking/CHANGELOG.md index fecb2c600..f43431e99 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, 20 Jun 2023 07:44:23 GMT and should not be manually modified. +This log was last generated on Thu, 29 Jun 2023 14:20:06 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-media/CHANGELOG.json b/plugins/browser-plugin-media/CHANGELOG.json index bcf62196a..42845a725 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.13.1", + "tag": "@snowplow/browser-plugin-media_v3.13.1", + "date": "Thu, 29 Jun 2023 14:20:06 GMT", + "comments": {} + }, { "version": "3.13.0", "tag": "@snowplow/browser-plugin-media_v3.13.0", diff --git a/plugins/browser-plugin-media/CHANGELOG.md b/plugins/browser-plugin-media/CHANGELOG.md index 5b0b53d09..71f1a2528 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, 20 Jun 2023 07:44:23 GMT and should not be manually modified. +This log was last generated on Thu, 29 Jun 2023 14:20:06 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-optimizely-x/CHANGELOG.json b/plugins/browser-plugin-optimizely-x/CHANGELOG.json index ae94100f7..a53317731 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.13.1", + "tag": "@snowplow/browser-plugin-optimizely-x_v3.13.1", + "date": "Thu, 29 Jun 2023 14:20:06 GMT", + "comments": {} + }, { "version": "3.13.0", "tag": "@snowplow/browser-plugin-optimizely-x_v3.13.0", diff --git a/plugins/browser-plugin-optimizely-x/CHANGELOG.md b/plugins/browser-plugin-optimizely-x/CHANGELOG.md index f8e623e34..9dd62c268 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, 20 Jun 2023 07:44:23 GMT and should not be manually modified. +This log was last generated on Thu, 29 Jun 2023 14:20:06 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-optimizely/CHANGELOG.json b/plugins/browser-plugin-optimizely/CHANGELOG.json index 0893a0956..8e7a958f9 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.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", diff --git a/plugins/browser-plugin-optimizely/CHANGELOG.md b/plugins/browser-plugin-optimizely/CHANGELOG.md index 76d379fcd..e4e22ad8f 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, 20 Jun 2023 07:44:23 GMT and should not be manually modified. +This log was last generated on Thu, 29 Jun 2023 14:20:06 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.json b/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.json index fee7f8a66..ac0d86218 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.13.1", + "tag": "@snowplow/browser-plugin-performance-navigation-timing_v3.13.1", + "date": "Thu, 29 Jun 2023 14:20:06 GMT", + "comments": {} + }, { "version": "3.13.0", "tag": "@snowplow/browser-plugin-performance-navigation-timing_v3.13.0", diff --git a/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.md b/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.md index 6e96cb6ba..ea014845f 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, 20 Jun 2023 07:44:23 GMT and should not be manually modified. +This log was last generated on Thu, 29 Jun 2023 14:20:06 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-performance-timing/CHANGELOG.json b/plugins/browser-plugin-performance-timing/CHANGELOG.json index 603f28832..b9251cf71 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.13.1", + "tag": "@snowplow/browser-plugin-performance-timing_v3.13.1", + "date": "Thu, 29 Jun 2023 14:20:06 GMT", + "comments": {} + }, { "version": "3.13.0", "tag": "@snowplow/browser-plugin-performance-timing_v3.13.0", diff --git a/plugins/browser-plugin-performance-timing/CHANGELOG.md b/plugins/browser-plugin-performance-timing/CHANGELOG.md index b58c61001..97714e259 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, 20 Jun 2023 07:44:23 GMT and should not be manually modified. +This log was last generated on Thu, 29 Jun 2023 14:20:06 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-site-tracking/CHANGELOG.json b/plugins/browser-plugin-site-tracking/CHANGELOG.json index 52cf982a4..b129a94e7 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.13.1", + "tag": "@snowplow/browser-plugin-site-tracking_v3.13.1", + "date": "Thu, 29 Jun 2023 14:20:06 GMT", + "comments": {} + }, { "version": "3.13.0", "tag": "@snowplow/browser-plugin-site-tracking_v3.13.0", diff --git a/plugins/browser-plugin-site-tracking/CHANGELOG.md b/plugins/browser-plugin-site-tracking/CHANGELOG.md index e77dcbd3f..eff5cdf68 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, 20 Jun 2023 07:44:23 GMT and should not be manually modified. +This log was last generated on Thu, 29 Jun 2023 14:20:06 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.json b/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.json index 857d64c7b..9c825e4e8 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.13.1", + "tag": "@snowplow/browser-plugin-snowplow-ecommerce_v3.13.1", + "date": "Thu, 29 Jun 2023 14:20:06 GMT", + "comments": {} + }, { "version": "3.13.0", "tag": "@snowplow/browser-plugin-snowplow-ecommerce_v3.13.0", diff --git a/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.md b/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.md index 756626477..94e2f6317 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, 20 Jun 2023 07:44:23 GMT and should not be manually modified. +This log was last generated on Thu, 29 Jun 2023 14:20:06 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-timezone/CHANGELOG.json b/plugins/browser-plugin-timezone/CHANGELOG.json index 67799afc8..f2b2733b9 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.13.1", + "tag": "@snowplow/browser-plugin-timezone_v3.13.1", + "date": "Thu, 29 Jun 2023 14:20:06 GMT", + "comments": {} + }, { "version": "3.13.0", "tag": "@snowplow/browser-plugin-timezone_v3.13.0", diff --git a/plugins/browser-plugin-timezone/CHANGELOG.md b/plugins/browser-plugin-timezone/CHANGELOG.md index d9cad8e4a..a5293ac8f 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, 20 Jun 2023 07:44:23 GMT and should not be manually modified. +This log was last generated on Thu, 29 Jun 2023 14:20:06 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-web-vitals/CHANGELOG.json b/plugins/browser-plugin-web-vitals/CHANGELOG.json index 0a30b6e4d..3c5131264 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.13.1", + "tag": "@snowplow/browser-plugin-web-vitals_v3.13.1", + "date": "Thu, 29 Jun 2023 14:20:06 GMT", + "comments": {} + }, { "version": "3.13.0", "tag": "@snowplow/browser-plugin-web-vitals_v3.13.0", diff --git a/plugins/browser-plugin-web-vitals/CHANGELOG.md b/plugins/browser-plugin-web-vitals/CHANGELOG.md index da05245fc..b268420cf 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, 20 Jun 2023 07:44:23 GMT and should not be manually modified. +This log was last generated on Thu, 29 Jun 2023 14:20:06 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-youtube-tracking/CHANGELOG.json b/plugins/browser-plugin-youtube-tracking/CHANGELOG.json index de1f76ff8..a854b79c6 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.13.1", + "tag": "@snowplow/browser-plugin-youtube-tracking_v3.13.1", + "date": "Thu, 29 Jun 2023 14:20:06 GMT", + "comments": {} + }, { "version": "3.13.0", "tag": "@snowplow/browser-plugin-youtube-tracking_v3.13.0", diff --git a/plugins/browser-plugin-youtube-tracking/CHANGELOG.md b/plugins/browser-plugin-youtube-tracking/CHANGELOG.md index df7ed6934..e297447d3 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, 20 Jun 2023 07:44:23 GMT and should not be manually modified. +This log was last generated on Thu, 29 Jun 2023 14:20:06 GMT and should not be manually modified. + +## 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 diff --git a/trackers/browser-tracker/CHANGELOG.json b/trackers/browser-tracker/CHANGELOG.json index 0cfca28b4..09a406d93 100644 --- a/trackers/browser-tracker/CHANGELOG.json +++ b/trackers/browser-tracker/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-tracker", "entries": [ + { + "version": "3.13.1", + "tag": "@snowplow/browser-tracker_v3.13.1", + "date": "Thu, 29 Jun 2023 14:20:06 GMT", + "comments": {} + }, { "version": "3.13.0", "tag": "@snowplow/browser-tracker_v3.13.0", diff --git a/trackers/browser-tracker/CHANGELOG.md b/trackers/browser-tracker/CHANGELOG.md index 9d31b009b..65e5cac1b 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, 20 Jun 2023 07:44:23 GMT and should not be manually modified. +This log was last generated on Thu, 29 Jun 2023 14:20:06 GMT and should not be manually modified. + +## 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 diff --git a/trackers/javascript-tracker/CHANGELOG.json b/trackers/javascript-tracker/CHANGELOG.json index fe3e46b62..5b368de49 100644 --- a/trackers/javascript-tracker/CHANGELOG.json +++ b/trackers/javascript-tracker/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@snowplow/javascript-tracker", "entries": [ + { + "version": "3.13.1", + "tag": "@snowplow/javascript-tracker_v3.13.1", + "date": "Thu, 29 Jun 2023 14:20:06 GMT", + "comments": { + "none": [ + { + "comment": "Added onSessionUpdate callback integration test" + } + ] + } + }, { "version": "3.13.0", "tag": "@snowplow/javascript-tracker_v3.13.0", diff --git a/trackers/javascript-tracker/CHANGELOG.md b/trackers/javascript-tracker/CHANGELOG.md index 7601f18e7..4156ec796 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, 20 Jun 2023 07:44:23 GMT and should not be manually modified. +This log was last generated on Thu, 29 Jun 2023 14:20:06 GMT and should not be manually modified. + +## 3.13.1 +Thu, 29 Jun 2023 14:20:06 GMT + +### Updates + +- Added onSessionUpdate callback integration test ## 3.13.0 Tue, 20 Jun 2023 07:44:23 GMT diff --git a/trackers/node-tracker/CHANGELOG.json b/trackers/node-tracker/CHANGELOG.json index 265e8f984..9a45c55d9 100644 --- a/trackers/node-tracker/CHANGELOG.json +++ b/trackers/node-tracker/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/node-tracker", "entries": [ + { + "version": "3.13.1", + "tag": "@snowplow/node-tracker_v3.13.1", + "date": "Thu, 29 Jun 2023 14:20:06 GMT", + "comments": {} + }, { "version": "3.13.0", "tag": "@snowplow/node-tracker_v3.13.0", diff --git a/trackers/node-tracker/CHANGELOG.md b/trackers/node-tracker/CHANGELOG.md index 81b8ef88d..9aa11486f 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, 20 Jun 2023 07:44:23 GMT and should not be manually modified. +This log was last generated on Thu, 29 Jun 2023 14:20:06 GMT and should not be manually modified. + +## 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 From dd2a11e5b10ee3fd68b31f60718ab3974f223f2f Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 29 Jun 2023 14:20:06 +0000 Subject: [PATCH 115/449] 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-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-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-site-tracking/package.json | 4 ++-- plugins/browser-plugin-snowplow-ecommerce/package.json | 4 ++-- plugins/browser-plugin-timezone/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 +- 30 files changed, 54 insertions(+), 54 deletions(-) diff --git a/common/config/rush/version-policies.json b/common/config/rush/version-policies.json index 3e3b0d8ff..9b5303c5b 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.13.0", + "version": "3.13.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 08d566b88..cc3f131d2 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.13.0", + "version": "3.13.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 bbc0602a2..4eb1b8c45 100644 --- a/libraries/tracker-core/package.json +++ b/libraries/tracker-core/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/tracker-core", - "version": "3.13.0", + "version": "3.13.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 f2ab3d6ea..f515ceebc 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.13.0", + "version": "3.13.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.13.0" + "@snowplow/browser-tracker": "~3.13.1" } } diff --git a/plugins/browser-plugin-browser-features/package.json b/plugins/browser-plugin-browser-features/package.json index 79f011459..253fd841b 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.13.0", + "version": "3.13.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.13.0" + "@snowplow/browser-tracker": "~3.13.1" } } diff --git a/plugins/browser-plugin-client-hints/package.json b/plugins/browser-plugin-client-hints/package.json index 6d68a862e..61b9921f5 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.13.0", + "version": "3.13.1", "description": "Attaches Client Hints to Snowplow events", "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.13.0" + "@snowplow/browser-tracker": "~3.13.1" } } diff --git a/plugins/browser-plugin-consent/package.json b/plugins/browser-plugin-consent/package.json index 38208bb70..78eac9305 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.13.0", + "version": "3.13.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.13.0" + "@snowplow/browser-tracker": "~3.13.1" } } diff --git a/plugins/browser-plugin-debugger/package.json b/plugins/browser-plugin-debugger/package.json index f8156154f..62e94edb7 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.13.0", + "version": "3.13.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.13.0" + "@snowplow/browser-tracker": "~3.13.1" } } diff --git a/plugins/browser-plugin-ecommerce/package.json b/plugins/browser-plugin-ecommerce/package.json index c814a5cd4..a6f420212 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.13.0", + "version": "3.13.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.13.0" + "@snowplow/browser-tracker": "~3.13.1" } } diff --git a/plugins/browser-plugin-enhanced-consent/package.json b/plugins/browser-plugin-enhanced-consent/package.json index 914154d19..48d8ff0e2 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.13.0", + "version": "3.13.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.13.0" + "@snowplow/browser-tracker": "~3.13.1" } } diff --git a/plugins/browser-plugin-enhanced-ecommerce/package.json b/plugins/browser-plugin-enhanced-ecommerce/package.json index a55bb9436..9cbde71eb 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.13.0", + "version": "3.13.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.13.0" + "@snowplow/browser-tracker": "~3.13.1" } } diff --git a/plugins/browser-plugin-error-tracking/package.json b/plugins/browser-plugin-error-tracking/package.json index b3e06bc4a..5afefcd25 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.13.0", + "version": "3.13.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.13.0" + "@snowplow/browser-tracker": "~3.13.1" } } diff --git a/plugins/browser-plugin-form-tracking/package.json b/plugins/browser-plugin-form-tracking/package.json index d9ad3cdcc..8a087d92b 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.13.0", + "version": "3.13.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.13.0" + "@snowplow/browser-tracker": "~3.13.1" } } diff --git a/plugins/browser-plugin-ga-cookies/package.json b/plugins/browser-plugin-ga-cookies/package.json index 2819b5430..d4bc07785 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.13.0", + "version": "3.13.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.13.0" + "@snowplow/browser-tracker": "~3.13.1" } } diff --git a/plugins/browser-plugin-geolocation/package.json b/plugins/browser-plugin-geolocation/package.json index dd2d0288a..80ed3ead3 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.13.0", + "version": "3.13.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.13.0" + "@snowplow/browser-tracker": "~3.13.1" } } diff --git a/plugins/browser-plugin-link-click-tracking/package.json b/plugins/browser-plugin-link-click-tracking/package.json index 34b34346d..31a6754a0 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.13.0", + "version": "3.13.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.13.0" + "@snowplow/browser-tracker": "~3.13.1" } } diff --git a/plugins/browser-plugin-media-tracking/package.json b/plugins/browser-plugin-media-tracking/package.json index fed1fe8a7..a79b75a2f 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.13.0", + "version": "3.13.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.13.0" + "@snowplow/browser-tracker": "~3.13.1" } } diff --git a/plugins/browser-plugin-media/package.json b/plugins/browser-plugin-media/package.json index 06bad09c5..d274dc3f7 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.13.0", + "version": "3.13.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.13.0" + "@snowplow/browser-tracker": "~3.13.1" } } diff --git a/plugins/browser-plugin-optimizely-x/package.json b/plugins/browser-plugin-optimizely-x/package.json index 2452d131d..f17a22d8b 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.13.0", + "version": "3.13.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.13.0" + "@snowplow/browser-tracker": "~3.13.1" } } diff --git a/plugins/browser-plugin-optimizely/package.json b/plugins/browser-plugin-optimizely/package.json index 2182536ed..0323dc2cd 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.13.0", + "version": "3.13.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.13.0" + "@snowplow/browser-tracker": "~3.13.1" } } diff --git a/plugins/browser-plugin-performance-navigation-timing/package.json b/plugins/browser-plugin-performance-navigation-timing/package.json index 00562abd9..3e76ecb27 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.13.0", + "version": "3.13.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.13.0" + "@snowplow/browser-tracker": "~3.13.1" } } diff --git a/plugins/browser-plugin-performance-timing/package.json b/plugins/browser-plugin-performance-timing/package.json index c9f445864..370807be3 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.13.0", + "version": "3.13.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.13.0" + "@snowplow/browser-tracker": "~3.13.1" } } diff --git a/plugins/browser-plugin-site-tracking/package.json b/plugins/browser-plugin-site-tracking/package.json index 772da093c..743366157 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.13.0", + "version": "3.13.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.13.0" + "@snowplow/browser-tracker": "~3.13.1" } } diff --git a/plugins/browser-plugin-snowplow-ecommerce/package.json b/plugins/browser-plugin-snowplow-ecommerce/package.json index 1907ca793..10b25bcb1 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.13.0", + "version": "3.13.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.13.0" + "@snowplow/browser-tracker": "~3.13.1" } } diff --git a/plugins/browser-plugin-timezone/package.json b/plugins/browser-plugin-timezone/package.json index 9de2a29e3..41e062bcf 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.13.0", + "version": "3.13.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.13.0" + "@snowplow/browser-tracker": "~3.13.1" } } diff --git a/plugins/browser-plugin-web-vitals/package.json b/plugins/browser-plugin-web-vitals/package.json index 1ba169fab..18bef4e4c 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.13.0", + "version": "3.13.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.13.0" + "@snowplow/browser-tracker": "~3.13.1" } } diff --git a/plugins/browser-plugin-youtube-tracking/package.json b/plugins/browser-plugin-youtube-tracking/package.json index 6b36e2e7c..d509f14dd 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.13.0", + "version": "3.13.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.13.0" + "@snowplow/browser-tracker": "~3.13.1" } } diff --git a/trackers/browser-tracker/package.json b/trackers/browser-tracker/package.json index cb5f36f96..456de0662 100644 --- a/trackers/browser-tracker/package.json +++ b/trackers/browser-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-tracker", - "version": "3.13.0", + "version": "3.13.1", "description": "Browser tracker for Snowplow", "keywords": [ "tracking", diff --git a/trackers/javascript-tracker/package.json b/trackers/javascript-tracker/package.json index f0c0bf345..2e69f40ed 100644 --- a/trackers/javascript-tracker/package.json +++ b/trackers/javascript-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/javascript-tracker", - "version": "3.13.0", + "version": "3.13.1", "description": "Web analytics for Snowplow", "keywords": [ "tracking", diff --git a/trackers/node-tracker/package.json b/trackers/node-tracker/package.json index 32e75871b..39ae0e0d2 100644 --- a/trackers/node-tracker/package.json +++ b/trackers/node-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/node-tracker", - "version": "3.13.0", + "version": "3.13.1", "description": "Node tracker for Snowplow", "keywords": [ "snowplow", From afde2093dfe4b9336e16aa5482e527fa63b51d66 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 29 Jun 2023 14:24:21 +0000 Subject: [PATCH 116/449] Applying documentation updates. From 0adb44eb640bb9e7a92aa0e05aff5fe424179f7e Mon Sep 17 00:00:00 2001 From: Peter Perlepes Date: Wed, 2 Aug 2023 18:49:27 +0300 Subject: [PATCH 117/449] E2E minor improvements #1220 --- ...stration-improvement_2023-07-13-08-16.json | 10 + .../rush/browser-approved-packages.json | 30 +- common/config/rush/pnpm-lock.yaml | 1015 ++++++++++++++++- common/config/rush/repo-state.json | 2 +- rush.json | 2 +- trackers/javascript-tracker/package.json | 13 +- trackers/javascript-tracker/test/E2E_SETUP.md | 19 + .../test/functional/activityCallback.test.ts | 48 +- .../test/functional/cookies.test.ts | 30 - .../test/integration/autoTracking.test.ts | 106 +- .../test/integration/cookieless.test.ts | 63 +- .../test/integration/helpers.ts | 52 +- .../test/integration/integration.test.ts | 135 +-- .../test/integration/media.test.ts | 733 ++++++------ .../test/integration/onSessionUpdate.test.ts | 25 +- .../test/integration/sessionStorage.test.ts | 127 ++- .../test/integration/youtube.test.ts | 413 +++---- trackers/javascript-tracker/test/micro.ts | 74 +- .../test/pages/cookieless.html | 3 +- .../test/pages/form-tracking.html | 3 +- .../test/pages/integration.html | 7 +- .../test/pages/link-tracking.html | 3 +- .../test/pages/media/tracking-2-players.html | 5 +- .../test/pages/media/tracking-2-trackers.html | 7 +- .../test/pages/media/tracking-all-events.html | 5 +- .../test/pages/media/tracking.html | 5 +- .../test/pages/session-integration.html | 7 + .../test/pages/session-update-callback.html | 4 +- .../pages/youtube/tracking-2-trackers.html | 11 +- .../test/pages/youtube/tracking-2-videos.html | 11 +- .../test/pages/youtube/tracking-player.html | 7 +- .../test/pages/youtube/tracking.html | 89 +- .../javascript-tracker/test/tsconfig.json | 10 +- .../test/wdio.default.conf.ts | 23 +- .../test/wdio.local.conf.ts | 24 +- .../test/wdio.sauce.conf.ts | 14 +- 36 files changed, 1947 insertions(+), 1188 deletions(-) create mode 100644 common/changes/@snowplow/javascript-tracker/feature-minor-e2e-orchestration-improvement_2023-07-13-08-16.json create mode 100644 trackers/javascript-tracker/test/E2E_SETUP.md diff --git a/common/changes/@snowplow/javascript-tracker/feature-minor-e2e-orchestration-improvement_2023-07-13-08-16.json b/common/changes/@snowplow/javascript-tracker/feature-minor-e2e-orchestration-improvement_2023-07-13-08-16.json new file mode 100644 index 000000000..bbc5af499 --- /dev/null +++ b/common/changes/@snowplow/javascript-tracker/feature-minor-e2e-orchestration-improvement_2023-07-13-08-16.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/javascript-tracker", + "comment": "End to end test changes", + "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 9b10465b8..7be9b8244 100644 --- a/common/config/rush/browser-approved-packages.json +++ b/common/config/rush/browser-approved-packages.json @@ -178,6 +178,10 @@ "name": "@types/node", "allowedCategories": [ "libraries", "plugins", "trackers" ] }, + { + "name": "@types/node-fetch", + "allowedCategories": [ "trackers" ] + }, { "name": "@types/randomcolor", "allowedCategories": [ "plugins" ] @@ -196,7 +200,7 @@ }, { "name": "@types/youtube", - "allowedCategories": [ "plugins" ] + "allowedCategories": [ "plugins", "trackers" ] }, { "name": "@typescript-eslint/eslint-plugin", @@ -210,6 +214,10 @@ "name": "@wdio/cli", "allowedCategories": [ "trackers" ] }, + { + "name": "@wdio/globals", + "allowedCategories": [ "trackers" ] + }, { "name": "@wdio/jasmine-framework", "allowedCategories": [ "trackers" ] @@ -222,6 +230,10 @@ "name": "@wdio/sauce-service", "allowedCategories": [ "trackers" ] }, + { + "name": "@wdio/shared-store-service", + "allowedCategories": [ "trackers" ] + }, { "name": "@wdio/spec-reporter", "allowedCategories": [ "trackers" ] @@ -250,6 +262,10 @@ "name": "dockerode", "allowedCategories": [ "trackers" ] }, + { + "name": "edgedriver", + "allowedCategories": [ "trackers" ] + }, { "name": "eslint", "allowedCategories": [ "libraries", "plugins", "trackers" ] @@ -302,6 +318,10 @@ "name": "nock", "allowedCategories": [ "trackers" ] }, + { + "name": "node-fetch", + "allowedCategories": [ "trackers" ] + }, { "name": "npm-run-all", "allowedCategories": [ "trackers" ] @@ -378,6 +398,14 @@ "name": "wdio-chromedriver-service", "allowedCategories": [ "trackers" ] }, + { + "name": "wdio-edgedriver-service", + "allowedCategories": [ "trackers" ] + }, + { + "name": "wdio-safaridriver-service", + "allowedCategories": [ "trackers" ] + }, { "name": "web-vitals", "allowedCategories": [ "plugins" ] diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index 752ff7d3d..66c824323 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -1422,21 +1422,26 @@ importers: '@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.3.3 + '@wdio/globals': ~8.11.2 '@wdio/jasmine-framework': ~8.3.3 '@wdio/local-runner': ~8.3.3 '@wdio/sauce-service': ~8.3.3 + '@wdio/shared-store-service': ~8.11.2 '@wdio/spec-reporter': ~8.3.0 '@wdio/static-server-service': ~8.3.0 '@wdio/types': ~8.3.0 chalk: 4.1.2 - chromedriver: ~99.0.0 + chromedriver: ~114.0.0 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 @@ -1451,6 +1456,8 @@ importers: tslib: ^2.3.1 typescript: ~4.6.2 wdio-chromedriver-service: ~8.0.1 + wdio-edgedriver-service: ~3.0.2 + wdio-safaridriver-service: ~2.1.0 webdriverio: ~8.3.3 dependencies: '@snowplow/browser-plugin-ad-tracking': link:../../plugins/browser-plugin-ad-tracking @@ -1489,21 +1496,26 @@ importers: '@types/jsdom': 16.2.14 '@types/lodash': 4.14.180 '@types/node': 14.6.4 - '@wdio/cli': 8.3.5 - '@wdio/jasmine-framework': 8.3.5 - '@wdio/local-runner': 8.3.5 + '@types/node-fetch': 2.6.4 + '@types/youtube': 0.0.46 + '@wdio/cli': 8.3.5_typescript@4.6.2 + '@wdio/globals': 8.11.2_typescript@4.6.2 + '@wdio/jasmine-framework': 8.3.5_typescript@4.6.2 + '@wdio/local-runner': 8.3.5_typescript@4.6.2 '@wdio/sauce-service': 8.3.5 + '@wdio/shared-store-service': 8.11.2_typescript@4.6.2 '@wdio/spec-reporter': 8.3.0 '@wdio/static-server-service': 8.3.0 '@wdio/types': 8.3.0 chalk: 4.1.2 - chromedriver: 99.0.0 + chromedriver: 114.0.2 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 @@ -1516,7 +1528,9 @@ importers: ts-jest: 27.1.3_60149d457e34ffba7d4e845dde6a1263 ts-node: 10.9.1_3a45c3db8dee5edcd277f201fb244988 typescript: 4.6.2 - wdio-chromedriver-service: 8.0.1_e79f2276e99de797e09d92ea93561b2e + wdio-chromedriver-service: 8.0.1_004e92621c7fa5837873d8fdb8947671 + wdio-edgedriver-service: 3.0.2_@wdio+types@8.3.0 + wdio-safaridriver-service: 2.1.0_38e69deb68987ddd418b1267598e302e webdriverio: 8.3.5 ../../trackers/node-tracker: @@ -1586,6 +1600,15 @@ packages: uuid: 8.1.0 dev: true + /@arr/every/1.0.1: + resolution: {integrity: sha512-UQFQ6SgyJ6LX42W8rHCs8KVc0JS0tzVL9ct4XYedJukskYVWTo49tNiMEK9C2HTyarbNiT/RVIRSY82vH+6sTg==} + engines: {node: '>=4'} + dev: true + + /@assemblyscript/loader/0.10.1: + resolution: {integrity: sha512-H71nDOOL8Y7kWRLqf6Sums+01Q5msqBW2KhDUTemh1tvY04eSkSXrK0uj/4mmY0Xr16/3zyZmsrxN7CKuRbNRg==} + dev: true + /@babel/code-frame/7.16.7: resolution: {integrity: sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==} engines: {node: '>=6.9.0'} @@ -1934,6 +1957,18 @@ packages: resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} dev: true + /@isaacs/cliui/8.0.2: + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} + dependencies: + string-width: 5.1.2 + string-width-cjs: /string-width/4.2.3 + strip-ansi: 7.1.0 + strip-ansi-cjs: /strip-ansi/6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: /wrap-ansi/7.0.0 + dev: true + /@istanbuljs/load-nyc-config/1.1.0: resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} engines: {node: '>=8'} @@ -2081,6 +2116,14 @@ packages: jest-get-type: 29.4.2 dev: true + /@jest/expect-utils/29.6.1: + resolution: {integrity: sha512-o319vIf5pEMx0LmzSxxkYYxo4wrRLKHq9dP1yJU7FoPTB0LfAKSz8SWD6D/6U3v/O52t9cF5t+MeJiRsfk7zMw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + jest-get-type: 29.4.3 + dev: true + optional: 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} @@ -2147,6 +2190,14 @@ packages: '@sinclair/typebox': 0.25.21 dev: true + /@jest/schemas/29.6.0: + resolution: {integrity: sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@sinclair/typebox': 0.27.8 + dev: true + optional: 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} @@ -2235,6 +2286,19 @@ packages: chalk: 4.1.2 dev: true + /@jest/types/29.6.1: + resolution: {integrity: sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/schemas': 29.6.0 + '@types/istanbul-lib-coverage': 2.0.3 + '@types/istanbul-reports': 3.0.0 + '@types/node': 14.6.4 + '@types/yargs': 17.0.22 + chalk: 4.1.2 + dev: true + optional: true + /@jridgewell/gen-mapping/0.3.2: resolution: {integrity: sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==} engines: {node: '>=6.0.0'} @@ -2365,6 +2429,45 @@ packages: 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 + optional: true + + /@polka/parse/1.0.0-next.0: + resolution: {integrity: sha512-zcPNrc3PNrRLSCQ7ca8XR7h18VxdPIXhn+yvrYMdUFCHM7mhXGSPw5xBdbcf/dQ1cI4uE8pDfmm5uU+HX+WfFg==} + dev: true + + /@polka/url/0.5.0: + resolution: {integrity: sha512-oZLYFEAzUKyi3SKnXvj32ZCEGH6RDnao7COuCVhDydMS9NrCSVXhM79VaKyP5+Zc33m0QXEd2DN3UkU7OsHcfw==} + dev: true + + /@puppeteer/browsers/1.3.0_typescript@4.6.2: + resolution: {integrity: sha512-an3QdbNPkuU6qpxpbssxAbjRLJcF+eP4L8UqIY3+6n0sbaVxw5pz7PiCLy9g32XEZuoamUlV5ZQPnA6FxvkIHA==} + engines: {node: '>=16.0.0'} + hasBin: true + peerDependencies: + typescript: '>= 4.7.4' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + debug: 4.3.4 + extract-zip: 2.0.1 + http-proxy-agent: 5.0.0 + https-proxy-agent: 5.0.1 + progress: 2.0.3 + proxy-from-env: 1.1.0 + tar-fs: 2.1.1 + typescript: 4.6.2 + unbzip2-stream: 1.4.3 + yargs: 17.7.1 + 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'} @@ -2449,6 +2552,11 @@ packages: resolution: {integrity: sha512-gFukHN4t8K4+wVC+ECqeqwzBDeFeTzBXroBTqE6vcWrQGbEUpHO7LYdG0f4xnvYq4VOEwITSlHlp0JBAIFMS/g==} dev: true + /@sinclair/typebox/0.27.8: + resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + dev: true + optional: true + /@sindresorhus/is/0.7.0: resolution: {integrity: sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==} engines: {node: '>=4'} @@ -2515,6 +2623,11 @@ packages: engines: {node: '>= 6'} dev: true + /@tootallnate/once/2.0.0: + resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} + engines: {node: '>= 10'} + dev: true + /@tsconfig/node10/1.0.8: resolution: {integrity: sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==} dev: true @@ -2651,6 +2764,13 @@ packages: resolution: {integrity: sha512-XOKXa1KIxtNXgASAnwj7cnttJxS4fksBRywK/9LzRV5YxrF80BXZIGeQSuoESQ/VkUj30Ae0+YcuHc15wJCB2g==} dev: true + /@types/node-fetch/2.6.4: + resolution: {integrity: sha512-1ZX9fcN4Rvkvgv4E6PAY5WXUFWFcRWxZa3EW83UjycOB9ljJCedb2CupIP4RZMEwF/M3eTcCihbBRgwtGbg5Rg==} + dependencies: + '@types/node': 14.6.4 + form-data: 3.0.0 + dev: true + /@types/node/14.6.4: resolution: {integrity: sha512-Wk7nG1JSaMfMpoMJDKUsWYugliB2Vy55pdjLpmLixeyMi7HizW2I/9QoxsPCkXl3dO+ZOVqPumKaDUv5zJu2uQ==} @@ -2662,6 +2782,10 @@ packages: resolution: {integrity: sha512-gC3TazRzGoOnoKAhUx+Q0t8S9Tzs74z7m0ipwGpSqQrleP14hKxP4/JUeEQcD3W1/aIpnWl8pHowI7WokuZpXg==} 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 @@ -2713,6 +2837,12 @@ packages: resolution: {integrity: sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==} dev: true + /@types/split2/3.2.1: + resolution: {integrity: sha512-7uz3yU+LooBq4yNOzlZD9PU9/1Eu0rTD1MjQ6apOVEoHsPrMUrFw7W8XrvWtesm2vK67SBK9AyJcOXtMpl9bgQ==} + dependencies: + '@types/node': 14.6.4 + dev: true + /@types/ssh2-streams/0.1.9: resolution: {integrity: sha512-I2J9jKqfmvXLR5GomDiCoHrEJ58hAOmFrekfFqmCFd+A6gaEStvWnPykoWUwld1PNg4G5ag1LwdA+Lz1doRJqg==} dependencies: @@ -2730,6 +2860,10 @@ packages: resolution: {integrity: sha512-RJJrrySY7A8havqpGObOB4W92QXKJo63/jFLLgpvOtsGUqbQZ9Sbgl35KMm1DjC6j7AvmmU2bIno+3IyEaemaw==} dev: true + /@types/tcp-port-used/1.0.1: + resolution: {integrity: sha512-6pwWTx8oUtWvsiZUCrhrK/53MzKVLnuNSSaZILPy3uMes9QnTrLMar9BDlJArbMOjDcjb3QXFk6Rz8qmmuySZw==} + dev: true + /@types/tough-cookie/4.0.0: resolution: {integrity: sha512-I99sngh224D0M7XgW1s120zxCt3VYQ3IQsuw3P3jbq5GG4yc79+ZjyKznyOGIQrflfylLgcfekeZW/vk0yng6A==} dev: true @@ -2912,14 +3046,14 @@ packages: eslint-visitor-keys: 3.3.0 dev: true - /@wdio/cli/8.3.5: + /@wdio/cli/8.3.5_typescript@4.6.2: resolution: {integrity: sha512-xg/03aYpMCEWdcc9dY/GmPePfzTR/yMRJLwtp5WWYrCl6eEAeViSpf4PLC6ieC5O6IMLWVR/2Os8DrC5PKQq/Q==} engines: {node: ^16.13 || >=18} hasBin: true dependencies: '@types/node': 18.13.0 '@wdio/config': 8.3.2 - '@wdio/globals': 8.3.5 + '@wdio/globals': 8.3.5_typescript@4.6.2 '@wdio/logger': 8.1.0 '@wdio/protocols': 8.3.5 '@wdio/types': 8.3.0 @@ -2945,9 +3079,24 @@ packages: - bufferutil - encoding - supports-color + - typescript - utf-8-validate dev: true + /@wdio/config/8.11.0: + resolution: {integrity: sha512-nBQXsXbPCjddtI/3rAK5yFs3eD3f0T3lZMivweTkLLR7GKBxGjiFoBjXtfqUrHJYa+2uwfXrwxo6y+dA6fVbuw==} + engines: {node: ^16.13 || >=18} + dependencies: + '@wdio/logger': 8.11.0 + '@wdio/types': 8.10.4 + '@wdio/utils': 8.11.0 + decamelize: 6.0.0 + deepmerge-ts: 5.1.0 + glob: 10.3.1 + import-meta-resolve: 3.0.0 + read-pkg-up: 9.1.0 + dev: true + /@wdio/config/8.3.2: resolution: {integrity: sha512-lLZh53MorYRxAr08x2o6B1npRgc5ZmGEGdzH2neILnVcs/x3fQV9uFKpC9sKtMmU8B0G0oMUSoIaj8GfqygcNQ==} engines: {node: ^16.13 || >=18} @@ -2962,45 +3111,61 @@ packages: read-pkg-up: 9.1.0 dev: true - /@wdio/globals/8.3.5: + /@wdio/globals/8.11.2_typescript@4.6.2: + resolution: {integrity: sha512-oaPyGLmWOHQLYtT6Jn3mtZBSYyWxau6ncBDLPJDUwOxufi3tfT9DOen+65OGBK55GfjrCAZOSGAJ13mN/swIQQ==} + engines: {node: ^16.13 || >=18} + optionalDependencies: + expect-webdriverio: 4.2.6_typescript@4.6.2 + webdriverio: 8.11.2_typescript@4.6.2 + transitivePeerDependencies: + - bufferutil + - encoding + - supports-color + - typescript + - utf-8-validate + dev: true + + /@wdio/globals/8.3.5_typescript@4.6.2: resolution: {integrity: sha512-w8JZ2seRMe9iPfMYCiKHT1LJIZBUhgT+2ROBDd4ZUP75RzyC0ayZn9CqA6sNCPL6Iq0DSgpqx0U7YVJQCwzwMA==} engines: {node: ^16.13 || >=18} optionalDependencies: - expect-webdriverio: 4.1.1 + expect-webdriverio: 4.2.6_typescript@4.6.2 webdriverio: 8.3.5 transitivePeerDependencies: - bufferutil - encoding - supports-color + - typescript - utf-8-validate dev: true - /@wdio/jasmine-framework/8.3.5: + /@wdio/jasmine-framework/8.3.5_typescript@4.6.2: resolution: {integrity: sha512-HOWq5/nsvkFwx5OJ7ZxmCLTA80k9jVOU/5eImaI3b0b5Ewy6WOtEnQi6B1F+i8X7/G+QRotPk4qZeht/Y1NIyQ==} engines: {node: ^16.13 || >=18} dependencies: '@types/node': 18.13.0 - '@wdio/globals': 8.3.5 + '@wdio/globals': 8.3.5_typescript@4.6.2 '@wdio/logger': 8.1.0 '@wdio/types': 8.3.0 '@wdio/utils': 8.3.0 - expect-webdriverio: 4.1.1 + expect-webdriverio: 4.1.1_typescript@4.6.2 jasmine: 4.5.0 transitivePeerDependencies: - bufferutil - encoding - supports-color + - typescript - utf-8-validate dev: true - /@wdio/local-runner/8.3.5: + /@wdio/local-runner/8.3.5_typescript@4.6.2: resolution: {integrity: sha512-Sg53i8KHAgvc55VsAZ7uZC/IQ5uPtlOY5rKY+XCjemQ5Y3KqqMxHc+X4VFmlsflB43K9CWzizkzq2ukctqKDXQ==} engines: {node: ^16.13 || >=18} dependencies: '@types/node': 18.13.0 '@wdio/logger': 8.1.0 '@wdio/repl': 8.1.0 - '@wdio/runner': 8.3.5 + '@wdio/runner': 8.3.5_typescript@4.6.2 '@wdio/types': 8.3.0 async-exit-hook: 2.0.1 split2: 4.1.0 @@ -3009,6 +3174,7 @@ packages: - bufferutil - encoding - supports-color + - typescript - utf-8-validate dev: true @@ -3022,6 +3188,20 @@ packages: strip-ansi: 6.0.1 dev: true + /@wdio/logger/8.11.0: + resolution: {integrity: sha512-IsuKSaYi7NKEdgA57h8muzlN/MVp1dQG+V4C//7g4m03YJUnNQLvDhJzLjdeNTfvZy61U7foQSyt+3ktNzZkXA==} + engines: {node: ^16.13 || >=18} + dependencies: + chalk: 5.2.0 + loglevel: 1.7.1 + loglevel-plugin-prefix: 0.8.4 + strip-ansi: 7.1.0 + dev: true + + /@wdio/protocols/8.11.0: + resolution: {integrity: sha512-eXTMYt/XoaX53H/Q2qmsn1uWthIC5aSTGtX9YyXD/AkagG2hXeX3lLmzNWBaSIvKR+vWXRYbg3Y/7IvL2s25Wg==} + dev: true + /@wdio/protocols/8.3.5: resolution: {integrity: sha512-/zWz+ok6gIB1/L/VEOCoD8nCB8inNF+rsVOYps3FgNbrliQ782YLfA1uAVJTw3U6CaO+7zZ8aJw82EswpoxWjg==} dev: true @@ -3033,6 +3213,13 @@ packages: '@types/node': 18.13.0 dev: true + /@wdio/repl/8.10.1: + resolution: {integrity: sha512-VZ1WFHTNKjR8Ga97TtV2SZM6fvRjWbYI2i/f4pJB4PtusorKvONAMJf2LQcUBIyzbVobqr7KSrcjmSwRolI+yw==} + engines: {node: ^16.13 || >=18} + dependencies: + '@types/node': 20.3.3 + dev: true + /@wdio/reporter/8.3.0: resolution: {integrity: sha512-SCI6YXMDOs+rIDXUqaQYncv3SAcMPU9nQKGCLWjtZXsYHYlLZMT/PaFy7lWyebsObiRAKJYayXOqG7ymS6hDzA==} engines: {node: ^16.13 || >=18} @@ -3045,18 +3232,18 @@ packages: supports-color: 9.3.1 dev: true - /@wdio/runner/8.3.5: + /@wdio/runner/8.3.5_typescript@4.6.2: resolution: {integrity: sha512-W0h1U90zGFmYvqfWsmtb3myDqFsHhHy6z9ngQDLOCKg6iwKWFvMW2Db3BJ1D641/lA2dRWFH5XklQqD6trsydg==} engines: {node: ^16.13 || >=18} dependencies: '@types/node': 18.13.0 '@wdio/config': 8.3.2 - '@wdio/globals': 8.3.5 + '@wdio/globals': 8.3.5_typescript@4.6.2 '@wdio/logger': 8.1.0 '@wdio/types': 8.3.0 '@wdio/utils': 8.3.0 deepmerge-ts: 4.3.0 - expect-webdriverio: 4.1.1 + expect-webdriverio: 4.1.1_typescript@4.6.2 gaze: 1.1.3 webdriver: 8.3.5 webdriverio: 8.3.5 @@ -3064,6 +3251,7 @@ packages: - bufferutil - encoding - supports-color + - typescript - utf-8-validate dev: true @@ -3084,6 +3272,24 @@ packages: - utf-8-validate dev: true + /@wdio/shared-store-service/8.11.2_typescript@4.6.2: + resolution: {integrity: sha512-NLt7HFmHfe43yfG1QymWcUSzUxe9j5Wq9ak/N7Q9MYJXZoqGiMi4pXuYVVmbaFC6/QPT1Ix6yssFo3cKIT8oUA==} + engines: {node: ^16.13 || >=18} + dependencies: + '@polka/parse': 1.0.0-next.0 + '@wdio/logger': 8.11.0 + '@wdio/types': 8.10.4 + got: 12.6.1 + polka: 0.5.2 + webdriverio: 8.11.2_typescript@4.6.2 + transitivePeerDependencies: + - bufferutil + - encoding + - supports-color + - typescript + - utf-8-validate + dev: true + /@wdio/spec-reporter/8.3.0: resolution: {integrity: sha512-2K+qMNM5rYMCJdw5M3H6XfXUkto/jLnE2GgAI7VoTo6mZVOGGCRRPVtCa7NR/asWF+P0iBl9PJbPFv2/TzV59A==} engines: {node: ^16.13 || >=18} @@ -3105,6 +3311,13 @@ packages: morgan: 1.10.0 dev: true + /@wdio/types/8.10.4: + resolution: {integrity: sha512-aLJ1QQW+hhALeRK3bvMLjIrlUVyhOs3Od+91pR4Z4pLwyeNG1bJZCJRD5bAJK/mm7CnFa0NsdixPS9jJxZcRrw==} + engines: {node: ^16.13 || >=18} + dependencies: + '@types/node': 20.3.3 + dev: true + /@wdio/types/8.3.0: resolution: {integrity: sha512-TTs3ETVOJtooTIY/u2+feeBnMBx2Hb4SEItN31r0pFncn37rnIZXE/buywLNf5wvZW9ukxoCup5hCnohOR27eQ==} engines: {node: ^16.13 || >=18} @@ -3112,6 +3325,16 @@ packages: '@types/node': 18.13.0 dev: true + /@wdio/utils/8.11.0: + resolution: {integrity: sha512-XBl1zalk5UPu8QKZ7LZIA82Ad363fpNHZHP5uI5OxUFnk4ZPWgY9eCWpeD+4f9a0DS0w2Dro15E4PORNX84pIw==} + engines: {node: ^16.13 || >=18} + dependencies: + '@wdio/logger': 8.11.0 + '@wdio/types': 8.10.4 + import-meta-resolve: 3.0.0 + p-iteration: 1.1.8 + dev: true + /@wdio/utils/8.3.0: resolution: {integrity: sha512-BbgzxAu4AN99l9hwaRUvkvBJLeIxON7F6ts+vq4LASRiGVRErrwYGeO9H3ffYgpCAaYSvXnw2GtOf2SQGaPoLA==} engines: {node: ^16.13 || >=18} @@ -3257,7 +3480,7 @@ packages: dev: true /ansi-regex/2.1.1: - resolution: {integrity: sha1-w7M6te42DYbg5ijwRorn7yfWVN8=} + resolution: {integrity: sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==} engines: {node: '>=0.10.0'} dev: true @@ -3493,10 +3716,12 @@ packages: resolution: {integrity: sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==} dev: true - /axios/0.24.0: - resolution: {integrity: sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==} + /axios/1.4.0: + resolution: {integrity: sha512-S4XCWMEmzvo64T9GfvQDOXgYRDJ/wsSZc7Jvdgx5u1sd0JwsuPLqb3SYmusag+edF6ziyMensPVqLTSc1PiSEA==} dependencies: follow-redirects: 1.15.2 + form-data: 4.0.0 + proxy-from-env: 1.1.0 transitivePeerDependencies: - debug dev: true @@ -3595,11 +3820,23 @@ packages: 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 + /bl/1.2.3: resolution: {integrity: sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==} dependencies: @@ -3623,6 +3860,10 @@ packages: readable-stream: 3.6.0 dev: true + /bluebird/3.4.7: + resolution: {integrity: sha512-iD3898SR7sWVRHbiQv+sHUtHnMvC1o3nW5rAcqnq3uOn07DSAppZYUkIGslDz6gXC7HfunPe7YVBgoEJASPcHA==} + dev: true + /blueimp-md5/2.18.0: resolution: {integrity: sha512-vE52okJvzsVWhcgUHOv+69OG3Mdg151xyn41aVQN/5W5S+S43qZhxECtYLAEHMSFWX6Mv5IZrzj3T5+JqXfj5Q==} dev: true @@ -3764,6 +4005,11 @@ packages: resolution: {integrity: sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==} dev: true + /buffer-indexof-polyfill/1.0.2: + resolution: {integrity: sha512-I7wzHwA3t1/lwXQh+A5PbNvJxgfo5r3xulgpYDB5zckTu/Z9oUK9biouBKQUjEqzaz3HnAT6TYoovmE+GqSf7A==} + engines: {node: '>=0.10'} + dev: true + /buffer/5.7.1: resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} dependencies: @@ -3778,6 +4024,11 @@ packages: ieee754: 1.2.1 dev: true + /buffers/0.1.1: + resolution: {integrity: sha512-9q/rDEGSb/Qsvv2qvzIzdluL5k7AaJOTrw23z9reQthrbF7is4CtlT0DXyO1oei2DCp4uojjzQ7igaSHp1kAEQ==} + engines: {node: '>=0.2.0'} + dev: true + /builtin-modules/3.2.0: resolution: {integrity: sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA==} engines: {node: '>=6'} @@ -3838,6 +4089,19 @@ packages: engines: {node: '>=14.16'} dev: true + /cacheable-request/10.2.12: + resolution: {integrity: sha512-qtWGB5kn2OLjx47pYUkWicyOpK1vy9XZhq8yRTXOy+KAmjjESSRLx6SiExnnaGGUP1NM6/vmygMu0fGylNh9tw==} + engines: {node: '>=14.16'} + dependencies: + '@types/http-cache-semantics': 4.0.1 + get-stream: 6.0.1 + http-cache-semantics: 4.1.1 + keyv: 4.5.2 + mimic-response: 4.0.0 + normalize-url: 8.0.0 + responselike: 3.0.0 + dev: true + /cacheable-request/10.2.7: resolution: {integrity: sha512-I4SA6mKgDxcxVbSt/UmIkb9Ny8qSkg6ReBHtAAXnZHk7KOSx5g3DTiAOaYzcHCs6oOdHn+bip9T48E6tMvK9hw==} engines: {node: '>=14.16'} @@ -3892,6 +4156,13 @@ packages: engines: {node: '>=12.20'} dev: true + /camaro/6.2.0: + resolution: {integrity: sha512-81zTKgZb2LnkZKtLbIqLqBzQ6stWSlWC3I/lZd5u4NJVljDgMcsZqn9zZ+Yij/yNyiVpko0EhOKdYa6YAbOWrA==} + engines: {node: '>= 12.0.0'} + dependencies: + piscina: 3.2.0 + dev: true + /camel-case/4.1.2: resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} dependencies: @@ -3945,6 +4216,12 @@ packages: 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/1.1.3: resolution: {integrity: sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==} engines: {node: '>=0.10.0'} @@ -4048,15 +4325,15 @@ packages: lighthouse-logger: 1.2.0 dev: true - /chromedriver/99.0.0: - resolution: {integrity: sha512-pyB+5LuyZdb7EBPL3i5D5yucZUD+SlkdiUtmpjaEnLd9zAXp+SvD/hP5xF4l/ZmWvUo/1ZLxAI1YBdhazGTpgA==} - engines: {node: '>=10'} + /chromedriver/114.0.2: + resolution: {integrity: sha512-v0qrXRBknbxqmtklG7RWOe3TJ/dLaHhtB0jVxE7BAdYERxUjEaNRyqBwoGgVfQDibHCB0swzvzsj158nnfPgZw==} + engines: {node: '>=16'} hasBin: true requiresBuild: true dependencies: '@testim/chrome-version': 1.1.3 - axios: 0.24.0 - del: 6.0.0 + axios: 1.4.0 + compare-versions: 5.0.3 extract-zip: 2.0.1 https-proxy-agent: 5.0.1 proxy-from-env: 1.1.0 @@ -4066,6 +4343,15 @@ packages: - supports-color dev: true + /chromium-bidi/0.4.9_devtools-protocol@0.0.1120988: + resolution: {integrity: sha512-u3DC6XwgLCA9QJ5ak1voPslCmacQdulZNCPsI3qNXxSnEcZS7DFIbww+5RM2bznMEje7cc0oydavRLRvOIZtHw==} + peerDependencies: + devtools-protocol: '*' + dependencies: + devtools-protocol: 0.0.1120988 + mitt: 3.0.0 + dev: true + /chunkd/2.0.1: resolution: {integrity: sha512-7d58XsFmOq0j6el67Ug9mHf9ELUXsQXYJBkyxhH/k+6Ke0qXRnv0kbemx+Twc6fRJ07C49lcbdgm9FL1Ei/6SQ==} dev: true @@ -4240,6 +4526,11 @@ packages: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} dev: true + /commander/9.5.0: + resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} + engines: {node: ^12.20.0 || >=14} + dev: true + /commenting/1.1.0: resolution: {integrity: sha512-YeNK4tavZwtH7jEgK1ZINXzLKm6DZdEMfsaaieOsCAN0S8vsY7UeuO3Q7d/M018EFgE+IeUAuBOKkFccBZsUZA==} dev: true @@ -4252,6 +4543,10 @@ packages: resolution: {integrity: sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=} dev: true + /compare-versions/5.0.3: + resolution: {integrity: sha512-4UZlZP8Z99MGEY+Ovg/uJxJuvoXuN4M6B3hKaiackiHrgzQFEe3diJi1mf1PNHbFujM7FvLrK2bpgIaImbtZ1A==} + dev: true + /compatfactory/0.0.12_typescript@4.6.2: resolution: {integrity: sha512-DD5S1s2mIoVIpYfhCqNZPbOFlt9JDLkXc4d8fAZaeWWIsl7w3bmVS0HNlUkU2SB6iZOdXOjYZgeJZClmL1xnRg==} engines: {node: '>=10.0.0'} @@ -4335,7 +4630,7 @@ packages: dev: true /core-util-is/1.0.2: - resolution: {integrity: sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=} + resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==} dev: true /cpu-features/0.0.2: @@ -4376,6 +4671,14 @@ packages: - encoding dev: true + /cross-fetch/3.1.6: + resolution: {integrity: sha512-riRvo06crlE8HiqOwIpQhxwdOk4fOeR7FVM/wXoxchFEqMNUjvbs3bfo4OTgMEMHzppd4DxFBDbyySj8Cv781g==} + dependencies: + node-fetch: 2.6.12 + transitivePeerDependencies: + - encoding + dev: true + /cross-spawn/4.0.2: resolution: {integrity: sha512-yAXz/pA1tD8Gtg2S98Ekf/sewp3Lcp3YoFKJ4Hkp5h5yLWnKVTDU0kwjKJ8NDCYcfTLfyGkzTikst+jWypT1iA==} dependencies: @@ -4451,6 +4754,11 @@ packages: 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-urls/2.0.0: resolution: {integrity: sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==} engines: {node: '>=10'} @@ -4602,6 +4910,11 @@ packages: engines: {node: '>=12.4.0'} dev: true + /deepmerge-ts/5.1.0: + resolution: {integrity: sha512-eS8dRJOckyo9maw9Tu5O5RUi/4inFLrnoLkBe3cPfDMx3WZioXtmOew4TXQaxq7Rhl4xjDtR7c6x8nNTxOvbFw==} + engines: {node: '>=16.0.0'} + dev: true + /deepmerge/4.2.2: resolution: {integrity: sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==} engines: {node: '>=0.10.0'} @@ -4679,6 +4992,40 @@ packages: resolution: {integrity: sha512-3ph1q/ShAKFNnc7quSsAKTKAkQW/32gR4tRNAoqVzdAbyT8PjQFW/HzVWDm5mqP7zBd9nP1nd9jA1JHTHrJCXg==} dev: true + /devtools-protocol/0.0.1120988: + resolution: {integrity: sha512-39fCpE3Z78IaIPChJsP6Lhmkbf4dWXOmzLk/KFTdRkNk/0JymRIfUynDVRndV9HoDz8PyalK1UH21ST/ivwW5Q==} + dev: true + + /devtools-protocol/0.0.1152884: + resolution: {integrity: sha512-9eP6OmCoU1cWArpXLuzyZQcBJ2PkINOh8Nwx8W5i8u6NDigDE5/mPlLLBAfshwn5YVvIz6ZQ9jbs0PZvKGccdQ==} + dev: true + + /devtools/8.11.0_typescript@4.6.2: + resolution: {integrity: sha512-j1wXFQyjswJ6doAV1+h4Bxl8+Oeb8SMpWTpBVa0DurGsxfft8sU2OhDlMo5tx/zbX82X5sGyJDMnKHqBJ2XRvQ==} + engines: {node: ^16.13 || >=18} + dependencies: + '@types/node': 20.3.3 + '@wdio/config': 8.11.0 + '@wdio/logger': 8.11.0 + '@wdio/protocols': 8.11.0 + '@wdio/types': 8.10.4 + '@wdio/utils': 8.11.0 + chrome-launcher: 0.15.0 + edge-paths: 3.0.5 + import-meta-resolve: 3.0.0 + puppeteer-core: 20.3.0_typescript@4.6.2 + query-selector-shadow-dom: 1.0.0 + ua-parser-js: 1.0.2 + uuid: 9.0.0 + which: 3.0.1 + transitivePeerDependencies: + - bufferutil + - encoding + - supports-color + - typescript + - utf-8-validate + dev: true + /devtools/8.3.5: resolution: {integrity: sha512-ncMUl1CKH6hWyxHMfVCRnzKkVvviXJhqy1GIE2SialdUh68CsfEibzmDof+a2E9stkN1vVdmMKYeC5LAQv2i5g==} engines: {node: ^16.13 || >=18} @@ -4696,7 +5043,7 @@ packages: query-selector-shadow-dom: 1.0.0 ua-parser-js: 1.0.2 uuid: 9.0.0 - which: 3.0.0 + which: 3.0.1 transitivePeerDependencies: - bufferutil - encoding @@ -4714,6 +5061,12 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dev: true + /diff-sequences/29.4.3: + resolution: {integrity: sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dev: true + optional: true + /diff/4.0.2: resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} engines: {node: '>=0.3.1'} @@ -4799,6 +5152,12 @@ packages: resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} dev: true + /duplexer2/0.1.4: + resolution: {integrity: sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==} + dependencies: + readable-stream: 2.3.7 + dev: true + /duplexer3/0.1.4: resolution: {integrity: sha512-CEj8FwwNA4cVH2uFCoHUrmojhYh1vmCdOaneKJXwkeY1i9jnlslVo9dx+hQ5Hl9GnH/Bwy/IjxAyOePyPKYnzA==} dev: true @@ -4830,6 +5189,20 @@ packages: which: 2.0.2 dev: true + /edgedriver/5.2.1: + resolution: {integrity: sha512-H8mF7UYMR/r6izCPgQA5d+pHdIF47wncoTS2KWogoZ4hbNeFz9VbCPxPFoGPCCfizk/e4H5DhXapcYX0yyZqjg==} + hasBin: true + requiresBuild: true + dependencies: + '@wdio/logger': 8.11.0 + camaro: 6.2.0 + decamelize: 6.0.0 + edge-paths: 3.0.5 + node-fetch: 3.3.1 + unzipper: 0.10.14 + which: 3.0.1 + dev: true + /ee-first/1.1.1: resolution: {integrity: sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=} dev: true @@ -5155,6 +5528,10 @@ packages: engines: {node: '>= 0.6'} dev: true + /eventemitter-asyncresource/1.0.0: + resolution: {integrity: sha512-39F7TBIV0G7gTelxwbEqnwhp90eqCPON1k0NwNfwhgKn4Co4ybUbj2pECcXT0B3ztRKZ7Pw1JujUUgmQJHcVAQ==} + dev: true + /execa/5.1.1: resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} engines: {node: '>=10'} @@ -5195,22 +5572,42 @@ packages: engines: {node: '>= 0.8.0'} dev: true - /expect-webdriverio/4.1.1: + /expect-webdriverio/4.1.1_typescript@4.6.2: resolution: {integrity: sha512-Qx29DagUJ8DDsEJe2aT1S+OdEcidIO+A2uRxjJqM3i7cI+wUiC85MBWmupSwuvyEAoCOoEJUiRbA0NPpXXViCg==} engines: {node: '>=16 || >=18 || >=20'} dependencies: expect: 29.4.2 jest-matcher-utils: 29.4.2 optionalDependencies: - '@wdio/globals': 8.3.5 + '@wdio/globals': 8.11.2_typescript@4.6.2 webdriverio: 8.3.5 transitivePeerDependencies: - bufferutil - encoding - supports-color + - typescript - utf-8-validate dev: true + /expect-webdriverio/4.2.6_typescript@4.6.2: + resolution: {integrity: sha512-/7wImWgef6ooZSoivXq6jkCDE1vvDC42WcM7Iyguspah/h384nprUdpQPLIUkkvTCorSQdYtRftNvHJjEpVUmA==} + engines: {node: '>=16 || >=18 || >=20'} + requiresBuild: true + dependencies: + expect: 29.6.1 + jest-matcher-utils: 29.6.1 + optionalDependencies: + '@wdio/globals': 8.11.2_typescript@4.6.2 + webdriverio: 8.11.2_typescript@4.6.2 + transitivePeerDependencies: + - bufferutil + - encoding + - supports-color + - typescript + - utf-8-validate + dev: true + optional: 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} @@ -5232,6 +5629,19 @@ packages: jest-util: 29.4.2 dev: true + /expect/29.6.1: + resolution: {integrity: sha512-XEdDLonERCU1n9uR56/Stx9OqojaLAQtZf9PrCHH9Hl8YXiEIka3H4NXJ3NOIBmQJTg7+j7buh34PMHfJujc8g==} + 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 + dev: true + optional: true + /express/4.17.1: resolution: {integrity: sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==} engines: {node: '>= 0.10.0'} @@ -5364,6 +5774,14 @@ packages: pend: 1.2.0 dev: true + /fetch-blob/3.2.0: + resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} + engines: {node: ^12.20 || >= 14.13} + dependencies: + node-domexception: 1.0.0 + web-streams-polyfill: 3.2.1 + dev: true + /figures/4.0.0: resolution: {integrity: sha512-VnYcWq6H6F0qDN0QnorznBr0abEovifzUokmnezpKZBUbDmbLAt7LMryOp1TKFVxLxyNYkxEkCEADZR58U9oSw==} engines: {node: '>=12'} @@ -5519,6 +5937,14 @@ packages: optional: true dev: true + /foreground-child/3.1.1: + resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} + engines: {node: '>=14'} + dependencies: + cross-spawn: 7.0.3 + signal-exit: 4.0.2 + dev: true + /forever-agent/0.6.1: resolution: {integrity: sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==} dev: true @@ -5555,6 +5981,13 @@ packages: mime-types: 2.1.27 dev: true + /formdata-polyfill/4.0.10: + resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} + engines: {node: '>=12.20.0'} + dependencies: + fetch-blob: 3.2.0 + dev: true + /forwarded/0.1.2: resolution: {integrity: sha512-Ua9xNhH0b8pwE3yRbFfXJvfdWF0UHNCdeyb2sbi9Ul/M+r3PTdrz7Cv4SCfZRMjmzEM9PhraqfZFbGTIg3OMyA==} engines: {node: '>= 0.6'} @@ -5604,6 +6037,16 @@ packages: dev: true 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 @@ -5655,6 +6098,11 @@ packages: engines: {node: '>=8.0.0'} dev: true + /get-port/7.0.0: + resolution: {integrity: sha512-mDHFgApoQd+azgMdwylJrv2DX47ywGq1i5VFJE7fZ0dttNq3iQMfsU4IvEgBHojA3KqEudyu7Vq+oN8kNaNkWw==} + engines: {node: '>=16'} + dev: true + /get-stream/2.3.1: resolution: {integrity: sha512-AUGhbbemXxrZJRD5cDvKtQxLuYaIbNtDTK8YqupCI393Q2KSTreEsLUN3ZxAWFGiKTzL6nKuzfcIvieflUX9qA==} engines: {node: '>=0.10.0'} @@ -5706,6 +6154,18 @@ packages: 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 + 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 + /glob/7.1.6: resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==} dependencies: @@ -5860,6 +6320,23 @@ packages: responselike: 3.0.0 dev: true + /got/12.6.1: + resolution: {integrity: sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==} + engines: {node: '>=14.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'} @@ -5966,6 +6443,18 @@ packages: minimalistic-assert: 1.0.1 dev: true + /hdr-histogram-js/2.0.3: + resolution: {integrity: sha512-Hkn78wwzWHNCp2uarhzQ2SGFLU3JY8SBDDd3TAABK4fc30wm+MuPOrg5QVFVfkKOQd6Bfz3ukJEI+q9sXEkK1g==} + dependencies: + '@assemblyscript/loader': 0.10.1 + base64-js: 1.5.1 + pako: 1.0.11 + dev: true + + /hdr-histogram-percentiles-obj/3.0.0: + resolution: {integrity: sha512-7kIufnBqdsBGcSZLPJwqHT3yhk1QTsSlFsVD3kx5ixH/AlgBs9yM1q6DPhXZ8f8gtdqgh7N7/5btRLpQsS2gHw==} + dev: true + /header-case/2.0.4: resolution: {integrity: sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==} dependencies: @@ -6044,6 +6533,17 @@ packages: - supports-color dev: true + /http-proxy-agent/5.0.0: + resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==} + engines: {node: '>= 6'} + dependencies: + '@tootallnate/once': 2.0.0 + agent-base: 6.0.2 + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + dev: true + /http-signature/1.2.0: resolution: {integrity: sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==} engines: {node: '>=0.8', npm: '>=1.3.7'} @@ -6150,6 +6650,10 @@ packages: resolution: {integrity: sha512-C6lLL7EJPY44kBvA80gq4uMsVFw5x3oSKfuMl1cuZ2RkI5+UJqQXgn+6hlUew0y4ig7Ypt4CObAAIzU53Nfpuw==} dev: true + /import-meta-resolve/3.0.0: + resolution: {integrity: sha512-4IwhLhNNA8yy445rPjD/lWh++7hMDOml2eHtd58eG7h+qK3EryMuuRbsHGPikCoAgIkkDnckKfWSk2iDla/ejg==} + dev: true + /import-modules/2.1.0: resolution: {integrity: sha512-8HEWcnkbGpovH9yInoisxaSoIg9Brbul+Ju3Kqe2UsYDUBJD/iQjSgEj0zPcTDPKfPp2fs5xlv1i+JSye/m1/A==} engines: {node: '>=8'} @@ -6478,7 +6982,7 @@ packages: dev: true /isarray/1.0.0: - resolution: {integrity: sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=} + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} dev: true /isbot/3.3.4: @@ -6487,7 +6991,7 @@ packages: dev: true /isexe/2.0.0: - resolution: {integrity: sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=} + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} dev: true /isstream/0.1.2: @@ -6548,6 +7052,15 @@ packages: is-object: 1.0.2 dev: true + /jackspeak/2.2.1: + resolution: {integrity: sha512-MXbxovZ/Pm42f6cDIDkl3xpwv1AGwObKwfmjs2nQePiy85tP3fatofl3FC1aBsOtP/6fq5SbtgHwWcMsLP+bDw==} + engines: {node: '>=14'} + 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'} @@ -6768,6 +7281,17 @@ packages: pretty-format: 29.4.2 dev: true + /jest-diff/29.6.1: + resolution: {integrity: sha512-FsNCvinvl8oVxpNLttNQX7FAq7vR+gMDGj90tiP7siWw1UdakWUGqrylpsYrpvj908IYckm5Y0Q7azNAozU1Kg==} + 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 + dev: true + optional: 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} @@ -6835,6 +7359,12 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dev: true + /jest-get-type/29.4.3: + resolution: {integrity: sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dev: true + optional: true + /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} @@ -6908,6 +7438,17 @@ packages: pretty-format: 29.4.2 dev: true + /jest-matcher-utils/29.6.1: + resolution: {integrity: sha512-SLaztw9d2mfQQKHmJXKM0HCbl2PPVld/t9Xa6P9sgiExijviSp7TnZZpw2Fpt+OI3nwUO/slJbOfzfUMKKC5QA==} + 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 + dev: true + optional: true + /jest-message-util/26.6.2: resolution: {integrity: sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA==} engines: {node: '>= 10.14.2'} @@ -6953,6 +7494,22 @@ packages: stack-utils: 2.0.5 dev: true + /jest-message-util/29.6.1: + resolution: {integrity: sha512-KoAW2zAmNSd3Gk88uJ56qXUWbFk787QKmjjJVOjtGFmmGSZgDBrlIL4AfQw1xyMYPNVD7dNInfIbur9B2rd/wQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@babel/code-frame': 7.16.7 + '@jest/types': 29.6.1 + '@types/stack-utils': 2.0.0 + chalk: 4.1.2 + graceful-fs: 4.2.9 + micromatch: 4.0.4 + pretty-format: 29.6.1 + slash: 3.0.0 + stack-utils: 2.0.5 + dev: true + optional: true + /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} @@ -7152,6 +7709,19 @@ packages: picomatch: 2.3.1 dev: true + /jest-util/29.6.1: + resolution: {integrity: sha512-NRFCcjc+/uO3ijUVyNOQJluf8PtGCe/W6cix36+M3cTFgiYqFOOW5MgN4JOOcvbUhcKTYVd1CvHz/LWi8d16Mg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/types': 29.6.1 + '@types/node': 14.6.4 + chalk: 4.1.2 + ci-info: 3.3.0 + graceful-fs: 4.2.9 + picomatch: 2.3.1 + dev: true + optional: 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} @@ -7458,6 +8028,10 @@ packages: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} dev: true + /listenercount/1.0.1: + 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'} @@ -7610,6 +8184,11 @@ packages: engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: true + /lru-cache/10.0.0: + resolution: {integrity: sha512-svTf/fzsKHffP42sujkO/Rjs37BCIsQVRCeNYIm9WN8rgT7ffoUnRtZCqU+6BqcSBdv8gwJeTz8knJpgACeQMw==} + engines: {node: 14 || >=16.14} + dev: true + /lru-cache/4.1.5: resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==} dependencies: @@ -7709,6 +8288,13 @@ packages: escape-string-regexp: 5.0.0 dev: true + /matchit/1.1.0: + resolution: {integrity: sha512-+nGYoOlfHmxe5BW5tE0EMJppXEwdSf8uBA1GTZC7Q77kbT35+VKLYJMzVNWCHSsga1ps1tPYFtFyvxvKzWVmMA==} + engines: {node: '>=6'} + dependencies: + '@arr/every': 1.0.1 + dev: true + /md5-hex/3.0.1: resolution: {integrity: sha512-BUiRtTtV39LIJwinWBjqVsU9xhdnz7/i889V859IBFpuqGAj6LuOvHv5XLbgZ2R7ptJoJaEcxkv88/h25T7Ciw==} engines: {node: '>=8'} @@ -7842,10 +8428,21 @@ packages: brace-expansion: 2.0.1 dev: true + /minimatch/9.0.2: + resolution: {integrity: sha512-PZOT9g5v2ojiTL7r1xF6plNHLtOeTpSlDI007As2NlA2aYBMfVom17yqa6QzhmDP8QOhn7LjHTg7DFCVSSa6yg==} + engines: {node: '>=16 || 14 >=14.17'} + 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 + /minipass-collect/1.0.2: resolution: {integrity: sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==} engines: {node: '>= 8'} @@ -7899,6 +8496,11 @@ packages: 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 + /minizlib/2.1.2: resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} engines: {node: '>= 8'} @@ -7907,10 +8509,21 @@ packages: yallist: 4.0.0 dev: true + /mitt/3.0.0: + resolution: {integrity: sha512-7dX2/10ITVyqh4aOSVI9gdape+t9l2/8QxHrFmUXu4EEUpdlxl6RudZUPZoc+zuY2hk1j7XxVroIVIan/pD/SQ==} + dev: true + /mkdirp-classic/0.5.3: resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} dev: true + /mkdirp/0.5.6: + resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} + hasBin: true + dependencies: + minimist: 1.2.8 + dev: true + /mkdirp/1.0.4: resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} engines: {node: '>=10'} @@ -7982,6 +8595,16 @@ packages: engines: {node: '>= 0.6'} dev: true + /nice-napi/1.0.2: + resolution: {integrity: sha512-px/KnJAJZf5RuBGcfD+Sp2pAKq0ytz8j+1NehvgIGFkvtvFrDM3T8E4x/JJODXK9WZow8RRGrbA9QQ3hs+pDhA==} + os: ['!win32'] + requiresBuild: true + dependencies: + node-addon-api: 3.2.1 + node-gyp-build: 4.6.0 + dev: true + optional: true + /nice-try/1.0.5: resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} dev: true @@ -8015,6 +8638,28 @@ packages: - supports-color dev: true + /node-addon-api/3.2.1: + resolution: {integrity: sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==} + dev: true + optional: true + + /node-domexception/1.0.0: + resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} + engines: {node: '>=10.5.0'} + dev: true + + /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 + dependencies: + whatwg-url: 5.0.0 + dev: true + /node-fetch/2.6.7: resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==} engines: {node: 4.x || >=6.0.0} @@ -8027,6 +8672,21 @@ packages: whatwg-url: 5.0.0 dev: true + /node-fetch/3.3.1: + resolution: {integrity: sha512-cRVc/kyto/7E5shrWca1Wsea4y6tL9iYJE5FBCius3JQfb/4P4I295PfhgbJQBLTx6lATE4z+wK0rPM4VS2uow==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + data-uri-to-buffer: 4.0.1 + fetch-blob: 3.2.0 + formdata-polyfill: 4.0.10 + dev: true + + /node-gyp-build/4.6.0: + resolution: {integrity: sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==} + hasBin: true + dev: true + optional: true + /node-gyp/7.1.2: resolution: {integrity: sha512-CbpcIo7C3eMu3dL1c3d0xw449fHIGALIJsRP4DDPHpyiW8vcriNY7ubh9TE4zEKfSxscY7PjeFnshE7h75ynjQ==} engines: {node: '>= 10.12.0'} @@ -8318,7 +8978,7 @@ packages: is-interactive: 2.0.0 is-unicode-supported: 1.1.0 log-symbols: 5.1.0 - strip-ansi: 7.0.1 + strip-ansi: 7.1.0 wcwidth: 1.0.1 dev: true @@ -8481,6 +9141,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: @@ -8593,6 +9257,14 @@ packages: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} dev: true + /path-scurry/1.10.0: + resolution: {integrity: sha512-tZFEaRQbMLjwrsmidsGJ6wDMv0iazJWk6SfIKnY4Xru8auXgmJkOBa5DUbYFcFD2Rzk2+KDlIiF0GVXNCbgC7g==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + lru-cache: 10.0.0 + minipass: 6.0.2 + dev: true + /path-to-regexp/0.1.7: resolution: {integrity: sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=} dev: true @@ -8696,6 +9368,16 @@ packages: engines: {node: '>= 6'} dev: true + /piscina/3.2.0: + resolution: {integrity: sha512-yn/jMdHRw+q2ZJhFhyqsmANcbF6V2QwmD84c6xRau+QpQOmtrBCoRGdvTfeuFDYXB5W2m6MfLkjkvQa9lUSmIA==} + dependencies: + eventemitter-asyncresource: 1.0.0 + hdr-histogram-js: 2.0.3 + hdr-histogram-percentiles-obj: 3.0.0 + optionalDependencies: + nice-napi: 1.0.2 + dev: true + /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} @@ -8725,6 +9407,13 @@ packages: irregular-plurals: 3.3.0 dev: true + /polka/0.5.2: + resolution: {integrity: sha512-FVg3vDmCqP80tOrs+OeNlgXYmFppTXdjD5E7I4ET1NjvtNmQrb1/mJibybKkb/d4NA7YWAr1ojxuhpL3FHqdlw==} + 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'} @@ -8768,6 +9457,16 @@ packages: react-is: 18.2.0 dev: true + /pretty-format/29.6.1: + resolution: {integrity: sha512-7jRj+yXO0W7e4/tSJKoR7HRIHLPPjtNaUGG2xxKQnGvPNRkgWcQ0AZX6P4KBRJN4FcTBWb3sa7DVUJmocYuoog==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/schemas': 29.6.0 + ansi-styles: 5.2.0 + react-is: 18.2.0 + dev: true + optional: true + /pretty-ms/7.0.1: resolution: {integrity: sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==} engines: {node: '>=10'} @@ -8790,6 +9489,11 @@ packages: engines: {node: '>= 0.6.0'} dev: true + /progress/2.0.3: + resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} + engines: {node: '>=0.4.0'} + dev: true + /promise-inflight/1.0.1: resolution: {integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==} dev: true @@ -8867,6 +9571,29 @@ packages: - utf-8-validate dev: true + /puppeteer-core/20.3.0_typescript@4.6.2: + resolution: {integrity: sha512-264pBrIui5bO6NJeOcbJrLa0OCwmA4+WK00JMrLIKTfRiqe2gx8KWTzLsjyw/bizErp3TKS7vt/I0i5fTC+mAw==} + engines: {node: '>=16.0.0'} + peerDependencies: + typescript: '>= 4.7.4' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@puppeteer/browsers': 1.3.0_typescript@4.6.2 + chromium-bidi: 0.4.9_devtools-protocol@0.0.1120988 + cross-fetch: 3.1.6 + debug: 4.3.4 + devtools-protocol: 0.0.1120988 + typescript: 4.6.2 + ws: 8.13.0 + transitivePeerDependencies: + - bufferutil + - encoding + - supports-color + - utf-8-validate + dev: true + /qs/6.5.3: resolution: {integrity: sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==} engines: {node: '>=0.6'} @@ -9162,6 +9889,13 @@ packages: resolution: {integrity: sha512-22MOP1Rh7sAo1BZpDG6R5RFYzR2lYEgwq7HEmyW2qcsOqR2lQKmn+O//xV3YG/0rrhMC6KVX2hU+ZXuaw9a5bw==} dev: true + /rimraf/2.7.1: + resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==} + hasBin: true + dependencies: + glob: 7.2.0 + dev: true + /rimraf/3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} hasBin: true @@ -9305,6 +10039,10 @@ packages: tslib: 2.3.1 dev: true + /safaridriver/0.0.4: + resolution: {integrity: sha512-EgK9Vc2Bk4WaECq1E7ti9GyeQ6JKKQNs40vNOE/b5Ul5dDEt429G0Kj5Nzs4FRS5ZIVa7nBck1TyHuinOYdz2Q==} + dev: true + /safe-buffer/5.1.2: resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} dev: true @@ -9423,6 +10161,10 @@ packages: resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} dev: true + /setimmediate/1.0.5: + resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} + dev: true + /setprototypeof/1.1.1: resolution: {integrity: sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==} dev: true @@ -9466,6 +10208,11 @@ packages: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} dev: true + /signal-exit/4.0.2: + resolution: {integrity: sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==} + engines: {node: '>=14'} + dev: true + /sinon/13.0.1: resolution: {integrity: sha512-8yx2wIvkBjIq/MGY1D9h1LMraYW+z1X0mb648KZnKSdvLasvDu7maa0dFaNYdTDczFgbjNw2tOmWdTk9saVfwQ==} dependencies: @@ -9639,6 +10386,11 @@ packages: engines: {node: '>= 10.x'} dev: true + /split2/4.2.0: + resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} + engines: {node: '>= 10.x'} + dev: true + /sprintf-js/1.0.3: resolution: {integrity: sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=} dev: true @@ -9748,7 +10500,7 @@ packages: dependencies: eastasianwidth: 0.2.0 emoji-regex: 9.2.2 - strip-ansi: 7.0.1 + strip-ansi: 7.1.0 dev: true /string.prototype.padend/3.1.1: @@ -9787,7 +10539,7 @@ packages: dev: true /strip-ansi/3.0.1: - resolution: {integrity: sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=} + resolution: {integrity: sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==} engines: {node: '>=0.10.0'} dependencies: ansi-regex: 2.1.1 @@ -9807,6 +10559,13 @@ packages: 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/2.0.0: resolution: {integrity: sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==} engines: {node: '>=0.10.0'} @@ -10083,7 +10842,7 @@ packages: dev: true /tr46/0.0.3: - resolution: {integrity: sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=} + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} dev: true /tr46/2.1.0: @@ -10093,6 +10852,10 @@ packages: punycode: 2.1.1 dev: true + /traverse/0.3.9: + resolution: {integrity: sha512-iawgk0hLP3SxGKDfnDJf8wTz4p2qImnyihM5Hh/sGvQ3K37dPi/w8sRhdNIxYA1TwFwc5mDhIJq+O0RsvXBKdQ==} + dev: true + /trim-repeated/1.0.0: resolution: {integrity: sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==} engines: {node: '>=0.10.0'} @@ -10100,6 +10863,13 @@ packages: escape-string-regexp: 1.0.5 dev: true + /trouter/2.0.1: + resolution: {integrity: sha512-kr8SKKw94OI+xTGOkfsvwZQ8mWoikZDd2n8XZHjJVZUARZT+4/VV6cacRS6CLsH9bNm+HFIPU1Zx4CnNnb4qlQ==} + engines: {node: '>=6'} + 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'} @@ -10309,6 +11079,21 @@ packages: 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 + /upper-case-first/2.0.2: resolution: {integrity: sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==} dependencies: @@ -10340,7 +11125,7 @@ packages: dev: true /util-deprecate/1.0.2: - resolution: {integrity: sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=} + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} dev: true /util/0.10.4: @@ -10445,6 +11230,18 @@ packages: xml-name-validator: 3.0.0 dev: true + /wait-port/1.0.4: + resolution: {integrity: sha512-w8Ftna3h6XSFWWc2JC5gZEgp64nz8bnaTp5cvzbJSZ53j+omktWTDdwXxEF0jM8YveviLgFWvNGrSvRHnkyHyw==} + engines: {node: '>=10'} + hasBin: true + dependencies: + chalk: 4.1.2 + commander: 9.5.0 + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + dev: true + /walker/1.0.7: resolution: {integrity: sha512-cF4je9Fgt6sj1PKfuFt9jpQPeHosM+Ryma/hfY9U7uXGKM7pJCsF0v2r55o+Il54+i77SyYWetB4tD1dEygRkw==} dependencies: @@ -10458,7 +11255,7 @@ packages: defaults: 1.0.3 dev: true - /wdio-chromedriver-service/8.0.1_e79f2276e99de797e09d92ea93561b2e: + /wdio-chromedriver-service/8.0.1_004e92621c7fa5837873d8fdb8947671: resolution: {integrity: sha512-nLjJmUBlng8RtnTM/ZJt1rzwAY1QqsMZbmNDxX7/AuSZEu88URTjjUhGPHY0d9al33GSiVoF606P0QSQT6B1ag==} engines: {node: ^16.13 || >=18} peerDependencies: @@ -10473,8 +11270,50 @@ packages: dependencies: '@wdio/logger': 8.1.0 '@wdio/types': 8.3.0 - chromedriver: 99.0.0 + chromedriver: 114.0.2 + fs-extra: 11.1.0 + split2: 4.1.0 + tcp-port-used: 1.0.2 + webdriverio: 8.3.5 + transitivePeerDependencies: + - supports-color + dev: true + + /wdio-edgedriver-service/3.0.2_@wdio+types@8.3.0: + resolution: {integrity: sha512-7rDzeG1Dpcbx28w5fpHX5MOm9bteiWeTVdeVvRVIqukVdgPyjS0Ej/pU4952wZBFWqnja4er0B90x6BYU1KiIw==} + engines: {node: ^16.13 || >=18} + peerDependencies: + '@wdio/types': ^7.0.0 || ^8.0.0 + peerDependenciesMeta: + '@wdio/types': + optional: true + dependencies: + '@wdio/logger': 8.11.0 + '@wdio/types': 8.3.0 + edgedriver: 5.2.1 + get-port: 7.0.0 + split2: 4.2.0 + wait-port: 1.0.4 + transitivePeerDependencies: + - supports-color + dev: true + + /wdio-safaridriver-service/2.1.0_38e69deb68987ddd418b1267598e302e: + resolution: {integrity: sha512-Zg0aZn8KJo+MwvdOTje2cja4OcrkpoCBhQSzVlhZ3SszMnwhi4VQ1p5TdHB9mWZpuVtsLHWpmx/G7ceJWendVw==} + 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 + dependencies: + '@types/split2': 3.2.1 + '@types/tcp-port-used': 1.0.1 + '@wdio/logger': 8.11.0 + '@wdio/types': 8.3.0 fs-extra: 11.1.0 + safaridriver: 0.0.4 split2: 4.1.0 tcp-port-used: 1.0.2 webdriverio: 8.3.5 @@ -10482,10 +11321,35 @@ packages: - supports-color dev: true + /web-streams-polyfill/3.2.1: + resolution: {integrity: sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==} + engines: {node: '>= 8'} + dev: true + /web-vitals/3.3.2: resolution: {integrity: sha512-qRkpmSeKfEWAzNhtX541xA8gCJ+pqCqBmUlDVkVDSCSYUvfvNqF+k9g8I+uyreRcDBdfiJrd0/aLbTy5ydo49Q==} dev: false + /webdriver/8.11.1: + resolution: {integrity: sha512-hSpUZYzUA65t4DDtKujCHUX6hpFTUleb7lWMcf5xjPz8sxWrK9R8NIw7pXt/GU6PVS331nGAaYkzoXrqz2VB8w==} + engines: {node: ^16.13 || >=18} + dependencies: + '@types/node': 20.3.3 + '@types/ws': 8.5.4 + '@wdio/config': 8.11.0 + '@wdio/logger': 8.11.0 + '@wdio/protocols': 8.11.0 + '@wdio/types': 8.10.4 + '@wdio/utils': 8.11.0 + deepmerge-ts: 5.1.0 + got: 12.6.1 + ky: 0.33.2 + ws: 8.13.0 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + dev: true + /webdriver/8.3.5: resolution: {integrity: sha512-TNlvRtX4OVDzkrLSH5vAVpzTRbpOEYKyU80S8wVx9OddTFgs4fc4SLEqZobdSc1W/IvKjoTNa8TkFx9M237tOw==} engines: {node: ^16.13 || >=18} @@ -10506,6 +11370,43 @@ packages: - utf-8-validate dev: true + /webdriverio/8.11.2_typescript@4.6.2: + resolution: {integrity: sha512-e/9WkdNTfWeoaSo2UzK0Giec/nQX3i7U9J8esimhozH/EpwSqIaEJ2pRRlxRVafEhe2OBG1QDhnLnDjdCC5Hxg==} + engines: {node: ^16.13 || >=18} + dependencies: + '@types/node': 20.3.3 + '@wdio/config': 8.11.0 + '@wdio/logger': 8.11.0 + '@wdio/protocols': 8.11.0 + '@wdio/repl': 8.10.1 + '@wdio/types': 8.10.4 + '@wdio/utils': 8.11.0 + archiver: 5.1.0 + aria-query: 5.0.0 + css-shorthand-properties: 1.1.1 + css-value: 0.0.1 + devtools: 8.11.0_typescript@4.6.2 + devtools-protocol: 0.0.1152884 + grapheme-splitter: 1.0.4 + import-meta-resolve: 3.0.0 + is-plain-obj: 4.1.0 + lodash.clonedeep: 4.5.0 + lodash.zip: 4.2.0 + minimatch: 9.0.2 + puppeteer-core: 20.3.0_typescript@4.6.2 + query-selector-shadow-dom: 1.0.0 + resq: 1.10.0 + rgb2hex: 0.2.5 + serialize-error: 8.0.1 + webdriver: 8.11.1 + transitivePeerDependencies: + - bufferutil + - encoding + - supports-color + - typescript + - utf-8-validate + dev: true + /webdriverio/8.3.5: resolution: {integrity: sha512-Rf3Yadk7qydAJiobazk0TzIPK8iYzzbDcbNKa3xX9u3VUMK1xZeoccZunE5WImu4Llg+1BBA2IN1rW0iiQHe5w==} engines: {node: ^16.13 || >=18} @@ -10543,7 +11444,7 @@ packages: dev: true /webidl-conversions/3.0.1: - resolution: {integrity: sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=} + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} dev: true /webidl-conversions/5.0.0: @@ -10572,7 +11473,7 @@ packages: dev: true /whatwg-url/5.0.0: - resolution: {integrity: sha1-lmRU6HZUYuN2RNNib2dCzotwll0=} + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} dependencies: tr46: 0.0.3 webidl-conversions: 3.0.1 @@ -10602,8 +11503,8 @@ packages: isexe: 2.0.0 dev: true - /which/3.0.0: - resolution: {integrity: sha512-nla//68K9NU6yRiwDY/Q8aU6siKlSs64aEC7+IV56QoAuyQT2ovsJcgGYGyqMOmI/CGN1BOR6mM5EN0FBO+zyQ==} + /which/3.0.1: + resolution: {integrity: sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} hasBin: true dependencies: @@ -10643,7 +11544,7 @@ packages: dependencies: ansi-styles: 6.1.0 string-width: 5.1.2 - strip-ansi: 7.0.1 + strip-ansi: 7.1.0 dev: true /wrappy/1.0.2: @@ -10692,6 +11593,19 @@ packages: optional: true dev: 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 + dev: true + /xml-name-validator/3.0.0: resolution: {integrity: sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==} dev: true @@ -10772,6 +11686,19 @@ packages: yargs-parser: 21.1.1 dev: true + /yargs/17.7.1: + resolution: {integrity: sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw==} + engines: {node: '>=12'} + dependencies: + cliui: 8.0.1 + 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: 21.1.1 + dev: true + /yarn-install/1.0.0: resolution: {integrity: sha512-VO1u181msinhPcGvQTVMnHVOae8zjX/NSksR17e6eXHRveDvHCF5mGjh9hkN8mzyfnCqcBe42LdTs7bScuTaeg==} engines: {node: '>=6'} diff --git a/common/config/rush/repo-state.json b/common/config/rush/repo-state.json index 014f80bb3..e4a46e960 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": "b3670fdd35939880fb5506b045e5826aeab84996", + "pnpmShrinkwrapHash": "c0609797f2587b31945d0f4e1ef5755136269ae6", "preferredVersionsHash": "bf21a9e8fbc5a3846fb05b4fa0859e0917b2202f" } diff --git a/rush.json b/rush.json index f86224086..f1106d36d 100644 --- a/rush.json +++ b/rush.json @@ -59,7 +59,7 @@ * The default value is false to avoid legacy compatibility issues. * It is strongly recommended to set strictPeerDependencies=true. */ - "strictPeerDependencies": true, + "strictPeerDependencies": false, /** * Configures the strategy used to select versions during installation. diff --git a/trackers/javascript-tracker/package.json b/trackers/javascript-tracker/package.json index 2e69f40ed..6b59a553e 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:1.4.0", + "docker:micro": "docker pull snowplow/snowplow-micro:latest", "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", @@ -84,7 +84,7 @@ "@wdio/static-server-service": "~8.3.0", "@wdio/types": "~8.3.0", "chalk": "4.1.2", - "chromedriver": "~99.0.0", + "chromedriver": "~114.0.0", "dockerode": "~3.3.1", "jest": "~27.5.1", "jest-environment-jsdom": "~27.5.1", @@ -104,6 +104,13 @@ "ts-node": "~10.9.1", "typescript": "~4.6.2", "wdio-chromedriver-service": "~8.0.1", - "webdriverio": "~8.3.3" + "webdriverio": "~8.3.3", + "@wdio/shared-store-service": "~8.11.2", + "node-fetch": "2", + "@types/node-fetch": "2", + "@wdio/globals": "~8.11.2", + "wdio-safaridriver-service": "~2.1.0", + "wdio-edgedriver-service": "~3.0.2", + "@types/youtube": "~0.0.46" } } diff --git a/trackers/javascript-tracker/test/E2E_SETUP.md b/trackers/javascript-tracker/test/E2E_SETUP.md new file mode 100644 index 000000000..54bc9db67 --- /dev/null +++ b/trackers/javascript-tracker/test/E2E_SETUP.md @@ -0,0 +1,19 @@ +# End-to-end tests setup + +## Local runs + +The end-to-end testing setup options used by the `rushx test:e2e:local` can be found in [wdio.local.conf.ts](./wdio.local.conf.ts). + +By default, the enabled driver for local tests is the `chromedriver` which will instrument a local chrome instance. The version of the corresponding `chromedriver` package in the [package.json](../package.json) file should be one matching to your local chrome version. E.g. for Chrome version 140, you need to install `chromedriver@140`. + +To enable testing with other browsers such as Microsoft Edge and Safari, you need to: +1. Uncomment the capabilities and services entries on [wdio.local.conf.ts](./wdio.local.conf.ts). +2. Install the `safaridriver` and/or `msedgedriver` on your local machine. _(Instructions will depend on your OS.)_ +3. Start any driver program you want before running the tests. +4. In case of driver port conflicts, you can adjust each driver by their respective configuration. + + \ No newline at end of file diff --git a/trackers/javascript-tracker/test/functional/activityCallback.test.ts b/trackers/javascript-tracker/test/functional/activityCallback.test.ts index 4637c7f40..79d4a22ba 100644 --- a/trackers/javascript-tracker/test/functional/activityCallback.test.ts +++ b/trackers/javascript-tracker/test/functional/activityCallback.test.ts @@ -1,35 +1,5 @@ -/* - * 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 F from 'lodash/fp'; -import { DockerWrapper, start, stop } from '../micro'; +import { pageSetup } from '../integration/helpers'; declare var trackPageView: () => void; declare var findMaxX: () => number; @@ -44,22 +14,8 @@ describe('Activity tracking with callbacks', () => { return; } - let docker: DockerWrapper; - beforeAll(async () => { - await browser.call(async () => { - return await start().then((container) => { - docker = container; - }); - }); - await browser.url('/index.html'); - await browser.setCookies({ name: 'container', value: docker.url }); - }); - - afterAll(async () => { - await browser.call(async () => { - return await stop(docker.container); - }); + await pageSetup(); }); it('reports events on scroll', async () => { diff --git a/trackers/javascript-tracker/test/functional/cookies.test.ts b/trackers/javascript-tracker/test/functional/cookies.test.ts index 5f4ac33d7..a4a0005f1 100644 --- a/trackers/javascript-tracker/test/functional/cookies.test.ts +++ b/trackers/javascript-tracker/test/functional/cookies.test.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. - */ - describe('Tracker created domain cookies', () => { it('contain the expected cookie names', async () => { await browser.url('/cookies.html'); diff --git a/trackers/javascript-tracker/test/integration/autoTracking.test.ts b/trackers/javascript-tracker/test/integration/autoTracking.test.ts index 075ba4ecc..7b3b885db 100755 --- a/trackers/javascript-tracker/test/integration/autoTracking.test.ts +++ b/trackers/javascript-tracker/test/integration/autoTracking.test.ts @@ -1,38 +1,6 @@ -/* - * 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 util from 'util'; import F from 'lodash/fp'; -import { fetchResults, start, stop, DockerWrapper } from '../micro'; - -const dumpLog = (log: Array) => console.log(util.inspect(log, true, null, true)); +import { fetchResults } from '../micro'; +import { pageSetup } from './helpers'; const isMatchWithCallback = F.isMatchWith((lt, rt) => (F.isFunction(rt) ? rt(lt) : undefined)); @@ -47,7 +15,7 @@ describe('Auto tracking', () => { } let log: Array = []; - let docker: DockerWrapper; + let testIdentifier = ''; const logContains = (ev: unknown) => F.some(isMatchWithCallback(ev as object), log); @@ -61,13 +29,7 @@ describe('Auto tracking', () => { }; beforeAll(async () => { - await browser.call(async () => (docker = await start())); - await browser.url('/index.html'); - await browser.setCookies({ name: 'container', value: docker.url }); - }); - - afterAll(async () => { - await browser.call(async () => await stop(docker.container)); + testIdentifier = await pageSetup(); }); it('should send a link click events', async () => { @@ -88,7 +50,7 @@ describe('Auto tracking', () => { // time for activity to register and request to arrive await browser.pause(5000); - log = await browser.call(async () => await fetchResults(docker.url)); + log = await browser.call(async () => await fetchResults()); }); it('should send a link click event', () => { @@ -96,7 +58,7 @@ describe('Auto tracking', () => { logContains({ event: { event: 'unstruct', - app_id: 'autotracking', + app_id: 'autotracking-link-' + testIdentifier, page_url: 'http://snowplow-js-tracker.local:8080/link-tracking.html', unstruct_event: { data: { @@ -127,7 +89,7 @@ describe('Auto tracking', () => { logContains({ event: { event: 'unstruct', - app_id: 'autotracking', + app_id: 'autotracking-link-' + testIdentifier, unstruct_event: { data: { schema: 'iglu:com.snowplowanalytics.snowplow/link_click/jsonschema/1-0-1', @@ -144,7 +106,7 @@ describe('Auto tracking', () => { logContains({ event: { event: 'unstruct', - app_id: 'autotracking', + app_id: 'autotracking-link-' + testIdentifier, unstruct_event: { data: { schema: 'iglu:com.snowplowanalytics.snowplow/link_click/jsonschema/1-0-1', @@ -167,7 +129,7 @@ describe('Auto tracking', () => { logContains({ event: { event: 'unstruct', - app_id: 'autotracking', + app_id: 'autotracking-link-' + testIdentifier, unstruct_event: { data: { schema: 'iglu:com.snowplowanalytics.snowplow/link_click/jsonschema/1-0-1', @@ -184,7 +146,7 @@ describe('Auto tracking', () => { logContains({ event: { event: 'unstruct', - app_id: 'autotracking', + app_id: 'autotracking-link-' + testIdentifier, unstruct_event: { data: { schema: 'iglu:com.snowplowanalytics.snowplow/link_click/jsonschema/1-0-1', @@ -207,7 +169,7 @@ describe('Auto tracking', () => { logContains({ event: { event: 'unstruct', - app_id: 'autotracking', + app_id: 'autotracking-link-' + testIdentifier, unstruct_event: { data: { schema: 'iglu:com.snowplowanalytics.snowplow/link_click/jsonschema/1-0-1', @@ -224,7 +186,7 @@ describe('Auto tracking', () => { logContains({ event: { event: 'unstruct', - app_id: 'autotracking', + app_id: 'autotracking-link-' + testIdentifier, unstruct_event: { data: { schema: 'iglu:com.snowplowanalytics.snowplow/link_click/jsonschema/1-0-1', @@ -340,7 +302,7 @@ describe('Auto tracking', () => { // time for activity to register and request to arrive await browser.pause(2500); - log = await browser.call(async () => await fetchResults(docker.url)); + log = await browser.call(async () => await fetchResults()); }); it('should send focus_form for the dynamically added form element', () => { @@ -348,7 +310,7 @@ describe('Auto tracking', () => { logContains({ event: { event: 'unstruct', - app_id: 'autotracking', + app_id: 'autotracking-form-' + testIdentifier, unstruct_event: { data: { schema: 'iglu:com.snowplowanalytics.snowplow/focus_form/jsonschema/1-0-0', @@ -379,7 +341,7 @@ describe('Auto tracking', () => { logContains({ event: { event: 'unstruct', - app_id: 'autotracking', + app_id: 'autotracking-form-' + testIdentifier, unstruct_event: { data: { schema: 'iglu:com.snowplowanalytics.snowplow/focus_form/jsonschema/1-0-0', @@ -401,7 +363,7 @@ describe('Auto tracking', () => { logContains({ event: { event: 'unstruct', - app_id: 'autotracking', + app_id: 'autotracking-form-' + testIdentifier, unstruct_event: { data: { schema: 'iglu:com.snowplowanalytics.snowplow/change_form/jsonschema/1-0-0', @@ -423,7 +385,7 @@ describe('Auto tracking', () => { logContains({ event: { event: 'unstruct', - app_id: 'autotracking', + app_id: 'autotracking-form-' + testIdentifier, unstruct_event: { data: { schema: 'iglu:com.snowplowanalytics.snowplow/focus_form/jsonschema/1-0-0', @@ -447,7 +409,7 @@ describe('Auto tracking', () => { logContains({ event: { event: 'unstruct', - app_id: 'autotracking', + app_id: 'autotracking-form-' + testIdentifier, unstruct_event: { data: { schema: 'iglu:com.snowplowanalytics.snowplow/change_form/jsonschema/1-0-0', @@ -476,7 +438,7 @@ describe('Auto tracking', () => { logContains({ event: { event: 'unstruct', - app_id: 'autotracking', + app_id: 'autotracking-form-' + testIdentifier, unstruct_event: { data: { schema: 'iglu:com.snowplowanalytics.snowplow/focus_form/jsonschema/1-0-0', @@ -497,7 +459,7 @@ describe('Auto tracking', () => { logContains({ event: { event: 'unstruct', - app_id: 'autotracking', + app_id: 'autotracking-form-' + testIdentifier, unstruct_event: { data: { schema: 'iglu:com.snowplowanalytics.snowplow/change_form/jsonschema/1-0-0', @@ -527,7 +489,7 @@ describe('Auto tracking', () => { logContains({ event: { event: 'unstruct', - app_id: 'autotracking', + app_id: 'autotracking-form-' + testIdentifier, unstruct_event: { data: { schema: 'iglu:com.snowplowanalytics.snowplow/focus_form/jsonschema/1-0-0', @@ -548,7 +510,7 @@ describe('Auto tracking', () => { logContains({ event: { event: 'unstruct', - app_id: 'autotracking', + app_id: 'autotracking-form-' + testIdentifier, unstruct_event: { data: { schema: 'iglu:com.snowplowanalytics.snowplow/change_form/jsonschema/1-0-0', @@ -571,7 +533,7 @@ describe('Auto tracking', () => { logContains({ event: { event: 'unstruct', - app_id: 'autotracking', + app_id: 'autotracking-form-' + testIdentifier, unstruct_event: { data: { schema: 'iglu:com.snowplowanalytics.snowplow/change_form/jsonschema/1-0-0', @@ -604,7 +566,7 @@ describe('Auto tracking', () => { logContains({ event: { event: 'unstruct', - app_id: 'autotracking', + app_id: 'autotracking-form-' + testIdentifier, unstruct_event: { data: { schema: 'iglu:com.snowplowanalytics.snowplow/submit_form/jsonschema/1-0-0', @@ -668,7 +630,7 @@ describe('Auto tracking', () => { logContains({ event: { event: 'unstruct', - app_id: 'autotracking', + app_id: 'autotracking-form-' + testIdentifier, page_url: 'http://snowplow-js-tracker.local:8080/form-tracking.html?filter=exclude', unstruct_event: { data: { @@ -686,7 +648,7 @@ describe('Auto tracking', () => { logContains({ event: { event: 'unstruct', - app_id: 'autotracking', + app_id: 'autotracking-form-' + testIdentifier, page_url: 'http://snowplow-js-tracker.local:8080/form-tracking.html?filter=exclude', unstruct_event: { data: { @@ -706,7 +668,7 @@ describe('Auto tracking', () => { logContains({ event: { event: 'unstruct', - app_id: 'autotracking', + app_id: 'autotracking-form-' + testIdentifier, page_url: 'http://snowplow-js-tracker.local:8080/form-tracking.html?filter=include', unstruct_event: { data: { @@ -726,7 +688,7 @@ describe('Auto tracking', () => { logContains({ event: { event: 'unstruct', - app_id: 'autotracking', + app_id: 'autotracking-form-' + testIdentifier, page_url: 'http://snowplow-js-tracker.local:8080/form-tracking.html?filter=filter', unstruct_event: { data: { @@ -744,7 +706,7 @@ describe('Auto tracking', () => { logContains({ event: { event: 'unstruct', - app_id: 'autotracking', + app_id: 'autotracking-form-' + testIdentifier, page_url: 'http://snowplow-js-tracker.local:8080/form-tracking.html?filter=filter', unstruct_event: { data: { @@ -764,7 +726,7 @@ describe('Auto tracking', () => { logContains({ event: { event: 'unstruct', - app_id: 'autotracking', + app_id: 'autotracking-form-' + testIdentifier, unstruct_event: { data: { schema: 'iglu:com.snowplowanalytics.snowplow/focus_form/jsonschema/1-0-0', @@ -783,7 +745,7 @@ describe('Auto tracking', () => { logContains({ event: { event: 'unstruct', - app_id: 'autotracking', + app_id: 'autotracking-form-' + testIdentifier, unstruct_event: { data: { schema: 'iglu:com.snowplowanalytics.snowplow/submit_form/jsonschema/1-0-0', @@ -803,7 +765,7 @@ describe('Auto tracking', () => { logContains({ event: { event: 'unstruct', - app_id: 'autotracking', + app_id: 'autotracking-form-' + testIdentifier, page_url: 'http://snowplow-js-tracker.local:8080/form-tracking.html?filter=onlyFocus', unstruct_event: { data: { @@ -818,7 +780,7 @@ describe('Auto tracking', () => { logContains({ event: { event: 'unstruct', - app_id: 'autotracking', + app_id: 'autotracking-form-' + testIdentifier, page_url: 'http://snowplow-js-tracker.local:8080/form-tracking.html?filter=onlyFocus', unstruct_event: { data: { @@ -835,7 +797,7 @@ describe('Auto tracking', () => { logContains({ event: { event: 'unstruct', - app_id: 'autotracking', + app_id: 'autotracking-form-' + testIdentifier, page_url: 'http://snowplow-js-tracker.local:8080/form-tracking.html?filter=iframeForm', unstruct_event: { data: { diff --git a/trackers/javascript-tracker/test/integration/cookieless.test.ts b/trackers/javascript-tracker/test/integration/cookieless.test.ts index d4ed6b9a3..463cc959a 100644 --- a/trackers/javascript-tracker/test/integration/cookieless.test.ts +++ b/trackers/javascript-tracker/test/integration/cookieless.test.ts @@ -1,67 +1,29 @@ -/* - * 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 util from 'util'; import F from 'lodash/fp'; -import { DockerWrapper, fetchResults, start, stop } from '../micro'; - -const dumpLog = (log: Array) => console.log(util.inspect(log, true, null, true)); +import { fetchResults } from '../micro'; +import { pageSetup } from './helpers'; const retrieveSchemaData = (schema: unknown) => F.compose(F.get('data'), F.find({ schema }), F.get('data')); describe('Anonymous tracking features', () => { let log: Array = []; - let docker: DockerWrapper; + let testIdentifier = ''; const listContains = (items: Array, ev: unknown) => F.some(F.isMatch(ev as object), items); beforeAll(async () => { - await browser.call(async () => (docker = await start())); - await browser.url('/index.html'); - await browser.setCookies({ name: 'container', value: docker.url }); + testIdentifier = await pageSetup(); await browser.url('/cookieless.html'); await browser.pause(5000); // Time for requests to get written await browser.url('/cookieless.html?ieTest=true'); await browser.pause(2500); // Time for requests to get written - log = await browser.call(async () => await fetchResults(docker.url)); - }); - - afterAll(async () => { - await browser.call(async () => await stop(docker.container)); + log = await browser.call(async () => await fetchResults()); }); it('should have no user information in page view when server anonymisation ', () => { const expected = { event: 'page_view', - app_id: 'anon', + app_id: 'cookieless-anon-' + testIdentifier, page_title: 'Server Anon', user_id: null, domain_userid: null, @@ -72,7 +34,7 @@ describe('Anonymous tracking features', () => { const pageViews = F.filter( (ev) => F.get('event.event', ev) === 'page_view' && - F.get('event.app_id', ev) === 'anon' && + F.get('event.app_id', ev) === 'cookieless-anon-' + testIdentifier && F.get('event.page_title', ev) === 'Server Anon', log ); @@ -105,7 +67,7 @@ describe('Anonymous tracking features', () => { const pageViews = F.filter( (ev) => F.get('event.event', ev) === 'page_view' && - F.get('event.app_id', ev) === 'anon' && + F.get('event.app_id', ev) === 'cookieless-anon-' + testIdentifier && F.get('event.page_title', ev) === 'No Anon', log ); @@ -114,7 +76,7 @@ describe('Anonymous tracking features', () => { listContains(pageViews, { event: { event: 'page_view', - app_id: 'anon', + app_id: 'cookieless-anon-' + testIdentifier, page_title: 'No Anon', user_id: 'Malcolm', }, @@ -134,7 +96,7 @@ describe('Anonymous tracking features', () => { const pageViews = F.filter( (ev) => F.get('event.event', ev) === 'page_view' && - F.get('event.app_id', ev) === 'anon' && + F.get('event.app_id', ev) === 'cookieless-anon-' + testIdentifier && F.get('event.page_title', ev) === 'Client Anon', log ); @@ -143,7 +105,7 @@ describe('Anonymous tracking features', () => { listContains(pageViews, { event: { event: 'page_view', - app_id: 'anon', + app_id: 'cookieless-anon-' + testIdentifier, page_title: 'Client Anon', user_id: null, domain_userid: null, @@ -176,7 +138,8 @@ describe('Anonymous tracking features', () => { it('should send no events in IE9 when server anonymisation is enabled', () => { const pageViews = F.filter( - (ev) => F.get('event.event', ev) === 'page_view' && F.get('event.app_id', ev) === 'ie', + (ev) => + F.get('event.event', ev) === 'page_view' && F.get('event.app_id', ev) === 'cookieless-ie-' + testIdentifier, log ); diff --git a/trackers/javascript-tracker/test/integration/helpers.ts b/trackers/javascript-tracker/test/integration/helpers.ts index 1c66b7c8f..4099da8aa 100644 --- a/trackers/javascript-tracker/test/integration/helpers.ts +++ b/trackers/javascript-tracker/test/integration/helpers.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 { WaitUntilOptions } from 'webdriverio'; import util from 'util'; @@ -65,3 +35,25 @@ export const waitUntil = async ( } } }; + +/** + * Initiates the `index.html` page and sets: + * 1. the value for the micro container url in a cookie named `container`. + * 2. the value for the current test identifier in a cookie named `testIdentifier`. + * + * @returns {string} The identifier for this test, similar to the cookie set on the page. This identifier is commonly used in custom matchers for events. + */ +export async function pageSetup() { + const dockerUrl = (await browser.sharedStore.get('dockerInstanceUrl')) as string; + if (!dockerUrl) { + throw 'dockerInstanceUrl not available in `browser.sharedStore`'; + } + const testIdentifier = browser.capabilities.browserName + '_' + browser.capabilities.browserVersion; + await browser.url('/index.html'); + await browser.setCookies([ + { name: 'container', value: dockerUrl }, + { name: 'testIdentifier', value: testIdentifier }, + ]); + + return testIdentifier; +} diff --git a/trackers/javascript-tracker/test/integration/integration.test.ts b/trackers/javascript-tracker/test/integration/integration.test.ts index 46ce8bd3a..1218068ff 100755 --- a/trackers/javascript-tracker/test/integration/integration.test.ts +++ b/trackers/javascript-tracker/test/integration/integration.test.ts @@ -1,39 +1,7 @@ -/* - * 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 util from 'util'; import F from 'lodash/fp'; -import { DockerWrapper, fetchResults, start, stop } from '../micro'; +import { fetchResults } from '../micro'; import { version } from '../../package.json'; - -const dumpLog = (log: Array) => console.log(util.inspect(log, true, null, true)); +import { pageSetup } from './helpers'; const retrieveSchemaData = (schema: unknown) => F.compose(F.get('data'), F.find({ schema }), F.get('data')); @@ -74,31 +42,23 @@ describe('Snowplow Micro integration', () => { let eventMethods = ['get', 'post', 'beacon']; let log: Array = []; - let docker: DockerWrapper; + let testIdentifier = ''; const logContains = (ev: unknown) => F.some(F.isMatch(ev as object), log); const logContainsFn = (ev: unknown) => F.some(isMatchWithCallback(ev as object), log); beforeAll(async () => { - await browser.call(async () => (docker = await start())); - await browser.url('/index.html'); - await browser.setCookies({ name: 'container', value: docker.url }); - + testIdentifier = await pageSetup(); await loadUrlAndWait('/integration.html?eventMethod=get'); - await $('#bottomRight').scrollIntoView(); - await browser.pause(10000); // Time for requests to get written + await $('#bottomRight').click(); + await browser.pause(5000); // Time for requests to get written await loadUrlAndWait('/integration.html?eventMethod=post'); - await $('#bottomRight').scrollIntoView(); + await $('#bottomRight').click(); await browser.pause(6000); // Time for requests to get written await loadUrlAndWait('/integration.html?eventMethod=beacon'); - await $('#bottomRight').scrollIntoView(); + await $('#bottomRight').click(); await browser.pause(6000); // Time for requests to get written - - log = await browser.call(async () => await fetchResults(docker.url)); - }); - - afterAll(async () => { - await browser.call(async () => await stop(docker.container)); + log = await browser.call(async () => await fetchResults()); }); eventMethods.forEach((method) => { @@ -111,7 +71,7 @@ describe('Snowplow Micro integration', () => { }, }, event: { - app_id: `sp-${method}`, + app_id: `sp-${method}-${testIdentifier}`, v_tracker: `js-${version}`, }, }) @@ -124,7 +84,7 @@ describe('Snowplow Micro integration', () => { event: { event: 'page_view', platform: 'mob', - app_id: `sp-${method}`, + app_id: `sp-${method}-${testIdentifier}`, user_id: 'Malcolm', page_title: 'Integration test page', }, @@ -137,7 +97,7 @@ describe('Snowplow Micro integration', () => { event: { event: 'page_view', platform: 'mob', - app_id: `sp-${method}`, + app_id: `sp-${method}-${testIdentifier}`, user_id: 'Malcolm', page_title: 'My Title', contexts: { @@ -154,11 +114,11 @@ describe('Snowplow Micro integration', () => { expect(logContains(expected)).toBe(true); }); - it(`${method}: contains nonnonexistent event types in log`, () => { + it(`${method}: contains nonexistent event types in log`, () => { expect( logContains({ event: 'ad', - app_id: `sp-${method}`, + app_id: `sp-${method}-${testIdentifier}`, }) ).toBe(false); }); @@ -170,7 +130,7 @@ describe('Snowplow Micro integration', () => { logContainsFn({ event: { event_name: 'page_ping', - app_id: `sp-${method}`, + app_id: `sp-${method}-${testIdentifier}`, pp_xoffset_max: gtZero, pp_yoffset_max: gtZero, }, @@ -182,7 +142,7 @@ describe('Snowplow Micro integration', () => { expect( logContains({ event: { - app_id: `sp-${method}`, + app_id: `sp-${method}-${testIdentifier}`, event: 'struct', se_category: 'Mixes', se_action: 'Play', @@ -197,7 +157,7 @@ describe('Snowplow Micro integration', () => { expect( logContains({ event: { - app_id: `sp-${method}`, + app_id: `sp-${method}-${testIdentifier}`, event: 'unstruct', unstruct_event: { data: { @@ -214,7 +174,7 @@ describe('Snowplow Micro integration', () => { expect( logContains({ event: { - app_id: `sp-${method}`, + app_id: `sp-${method}-${testIdentifier}`, event: 'transaction', tr_orderid: 'order-123', tr_affiliation: 'acme', @@ -234,7 +194,7 @@ describe('Snowplow Micro integration', () => { expect( logContains({ event: { - app_id: `sp-${method}`, + app_id: `sp-${method}-${testIdentifier}`, event: 'transaction_item', ti_orderid: 'order-123', ti_sku: '1001', @@ -252,7 +212,7 @@ describe('Snowplow Micro integration', () => { expect( logContains({ event: { - app_id: `sp-${method}`, + app_id: `sp-${method}-${testIdentifier}`, unstruct_event: { data: { schema: 'iglu:com.snowplowanalytics.snowplow/application_error/jsonschema/1-0-1', @@ -273,7 +233,10 @@ describe('Snowplow Micro integration', () => { it(`${method}: shows that pageViewId is regenerated for each trackPageView`, () => { const pageViews = F.filter( - (ev) => F.get('event.event', ev) === 'page_view' && F.get('event.name_tracker', ev) === 'sp', + (ev) => + F.get('event.event', ev) === 'page_view' && + F.get('event.name_tracker', ev) === 'sp' && + F.get('event.app_id', ev) === `sp-${method}-${testIdentifier}`, log ); @@ -290,7 +253,7 @@ describe('Snowplow Micro integration', () => { expect( logContains({ event: { - app_id: `sp-${method}`, + app_id: `sp-${method}-${testIdentifier}`, contexts: { data: [ { @@ -317,7 +280,15 @@ describe('Snowplow Micro integration', () => { const fromCfTracker = F.compose(F.eq('cf'), F.get('event.name_tracker')); - const numberWithoutGdpr = F.size(F.filter((ev) => withoutGdprContext(ev) && fromCfTracker(ev), log)); + 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); }); @@ -326,7 +297,7 @@ describe('Snowplow Micro integration', () => { expect( logContains({ event: { - app_id: `sp-${method}`, + app_id: `sp-${method}-${testIdentifier}`, event: 'struct', contexts: { data: [geoContext, mobileContext], @@ -340,7 +311,7 @@ describe('Snowplow Micro integration', () => { expect( logContains({ event: { - app_id: `sp-${method}`, + app_id: `sp-${method}-${testIdentifier}`, event: 'unstruct', unstruct_event: { data: { @@ -362,7 +333,7 @@ describe('Snowplow Micro integration', () => { expect( logContains({ event: { - app_id: `sp-${method}`, + app_id: `sp-${method}-${testIdentifier}`, event: 'unstruct', unstruct_event: { data: { @@ -391,7 +362,7 @@ describe('Snowplow Micro integration', () => { event: { event: 'page_view', platform: 'web', - app_id: `no-b64-${method}`, + app_id: `no-b64-${method}-${testIdentifier}`, page_title: 'My Title', contexts: { data: [ @@ -412,7 +383,7 @@ describe('Snowplow Micro integration', () => { event: { event: 'unstruct', platform: 'mob', - app_id: `sp-${method}`, + app_id: `sp-${method}-${testIdentifier}`, user_id: 'Malcolm', unstruct_event: { data: { @@ -431,7 +402,7 @@ describe('Snowplow Micro integration', () => { event: { event: 'unstruct', platform: 'mob', - app_id: `sp-${method}`, + app_id: `sp-${method}-${testIdentifier}`, user_id: 'Malcolm', unstruct_event: { data: { @@ -459,7 +430,7 @@ describe('Snowplow Micro integration', () => { event: { event: 'unstruct', platform: 'mob', - app_id: `sp-${method}`, + app_id: `sp-${method}-${testIdentifier}`, user_id: 'Malcolm', unstruct_event: { data: { @@ -488,7 +459,7 @@ describe('Snowplow Micro integration', () => { event: { event: 'unstruct', platform: 'mob', - app_id: `sp-${method}`, + app_id: `sp-${method}-${testIdentifier}`, user_id: 'Malcolm', unstruct_event: { data: { @@ -517,7 +488,7 @@ describe('Snowplow Micro integration', () => { event: { event: 'unstruct', platform: 'mob', - app_id: `sp-${method}`, + app_id: `sp-${method}-${testIdentifier}`, user_id: 'Malcolm', unstruct_event: { data: { @@ -543,7 +514,7 @@ describe('Snowplow Micro integration', () => { event: { event: 'unstruct', platform: 'mob', - app_id: `sp-${method}`, + app_id: `sp-${method}-${testIdentifier}`, user_id: 'Malcolm', unstruct_event: { data: { @@ -569,7 +540,7 @@ describe('Snowplow Micro integration', () => { event: { event: 'unstruct', platform: 'mob', - app_id: `sp-${method}`, + app_id: `sp-${method}-${testIdentifier}`, user_id: 'Malcolm', unstruct_event: { data: { @@ -593,7 +564,7 @@ describe('Snowplow Micro integration', () => { event: { event: 'unstruct', platform: 'mob', - app_id: `sp-${method}`, + app_id: `sp-${method}-${testIdentifier}`, user_id: 'Malcolm', unstruct_event: { data: { @@ -617,7 +588,7 @@ describe('Snowplow Micro integration', () => { event: { event: 'unstruct', platform: 'mob', - app_id: `sp-${method}`, + app_id: `sp-${method}-${testIdentifier}`, user_id: 'Malcolm', contexts: { data: [ @@ -651,7 +622,7 @@ describe('Snowplow Micro integration', () => { event: { event: 'unstruct', platform: 'mob', - app_id: `sp-${method}`, + app_id: `sp-${method}-${testIdentifier}`, user_id: 'Malcolm', contexts: { data: [ @@ -685,7 +656,7 @@ describe('Snowplow Micro integration', () => { event: { event: 'unstruct', platform: 'mob', - app_id: `sp-${method}`, + app_id: `sp-${method}-${testIdentifier}`, user_id: 'Malcolm', unstruct_event: { data: { @@ -709,7 +680,7 @@ describe('Snowplow Micro integration', () => { event: { event: 'unstruct', platform: 'mob', - app_id: `sp-${method}`, + app_id: `sp-${method}-${testIdentifier}`, user_id: 'Malcolm', contexts: { data: [ @@ -776,7 +747,7 @@ describe('Snowplow Micro integration', () => { expect( logContains({ event: { - app_id: `sp-${method}`, + app_id: `sp-${method}-${testIdentifier}`, event: 'struct', se_category: 'userIdTest1', user_id: 'Dave', @@ -789,7 +760,7 @@ describe('Snowplow Micro integration', () => { expect( logContains({ event: { - app_id: `sp-${method}`, + app_id: `sp-${method}-${testIdentifier}`, event: 'struct', se_category: 'userIdTest2', user_id: 'Dave', @@ -802,7 +773,7 @@ describe('Snowplow Micro integration', () => { const results = log.filter( (event: any) => event.rawEvent.context.headers.includes('Content-Language: de-DE, en-CA') && - event.event.app_id === `sp-${method}` + event.event.app_id === `sp-${method}-${testIdentifier}` ) as Array; if (method === 'beacon' || F.isMatch({ browserName: 'internet explorer', version: '9' }, browser.capabilities)) { diff --git a/trackers/javascript-tracker/test/integration/media.test.ts b/trackers/javascript-tracker/test/integration/media.test.ts index 5253356b8..ab85750e9 100644 --- a/trackers/javascript-tracker/test/integration/media.test.ts +++ b/trackers/javascript-tracker/test/integration/media.test.ts @@ -1,35 +1,6 @@ -/* - * 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 _ from 'lodash'; -import { DockerWrapper, start, stop, fetchResults, clearCache } from '../micro'; -import { waitUntil } from './helpers'; +import { fetchResults } from '../micro'; +import { pageSetup, waitUntil } from './helpers'; const playVideoElement1Callback = () => { return (done: (_: void) => void) => { @@ -41,6 +12,7 @@ const playVideoElement1Callback = () => { } // IE does not return a promise }; }; + const playVideoElement2Callback = () => { return (done: (_: void) => void) => { const promise = (document.getElementById('html5-2') as HTMLVideoElement).play(); @@ -163,397 +135,404 @@ const compare = (expected: any, received: any) => { expect(expected.unstruct_event).toEqual(received.event.unstruct_event); }; -let docker: DockerWrapper; -let log: Array = []; - -describe('Media Tracker', () => { - const getFirstEventOfEventType = (eventType: string) => { - for (let i = log.length - 1; i >= 0; i--) { - if ((log[i] as any).event.unstruct_event.data.data.type === eventType) { - return log[i]; +describe('Media Tracking', () => { + let log: Array = []; + let testIdentifier = ''; + + describe('Media Tracker - Default Events', () => { + const getFirstEventOfEventType = (eventType: string) => { + for (let i = log.length - 1; i >= 0; i--) { + const currentEvent = log[i] as any; + if ( + currentEvent.event?.unstruct_event?.data.data.type === eventType && + currentEvent.event?.app_id === 'media-default-events-' + testIdentifier + ) { + return log[i]; + } } + }; + + if ( + browser.capabilities.browserName === 'internet explorer' && + (browser.capabilities.version === '9' || browser.capabilities.browserVersion === '10') + ) { + fit('Skip IE 9 and 10', () => true); + return; } - }; - if ( - browser.capabilities.browserName === 'internet explorer' && - (browser.capabilities.version === '9' || browser.capabilities.browserVersion === '10') - ) { - fit('Skip IE 9 and 10', () => true); - return; - } + if (browser.capabilities.browserName === 'safari' && browser.capabilities.version === '8.0') { + fit('Skip Safari 8', () => true); + return; + } - if (browser.capabilities.browserName === 'safari' && browser.capabilities.version === '8.0') { - fit('Skip Safari 8', () => true); - return; - } + beforeAll(async () => { + testIdentifier = await pageSetup(); + await browser.url('media/tracking.html'); + await waitUntil(browser, () => $('#html5').isExisting(), { + timeout: 10000, + timeoutMsg: 'expected html5 after 5s', + }); - beforeAll(async () => { - await browser.call(async () => (docker = await start())); + let actions = [ + playVideoElement1Callback(), + (done: () => void) => { + (document.getElementById('html5') as HTMLVideoElement).pause(); + done(); + }, + (done: () => void) => { + (document.getElementById('html5') as HTMLVideoElement).volume = 0.5; + done(); + }, + (done: () => void) => { + (document.getElementById('html5') as HTMLVideoElement).playbackRate = 0.9; + done(); + }, + (done: () => void) => { + (document.getElementById('html5') as HTMLVideoElement).currentTime = 18; + done(); + }, + playVideoElement1Callback(), + ]; - await browser.url('/index.html'); - await browser.setCookies({ name: 'container', value: docker.url }); - await browser.url('media/tracking.html'); + for (const a of actions) { + await browser.executeAsync(a); + await browser.pause(500); + } - await waitUntil(browser, () => $('#html5').isExisting(), { - timeout: 10000, - timeoutMsg: 'expected html5 after 5s', + // 'ended' should be the final event, if not, try again + await waitUntil( + browser, + async () => { + return await browser.call(async () => { + let log = await fetchResults(); + return log.some( + (l: any) => + l.event?.unstruct_event?.data.data.type === 'ended' && + l.event?.app_id === 'media-default-events-' + testIdentifier + ); + }); + }, + { + interval: 2000, + timeout: 60000, + timeoutMsg: 'All events not found before timeout', + } + ); + + log = await browser.call(async () => await fetchResults()); }); - let actions = [ - playVideoElement1Callback(), - (done: () => void) => { - (document.getElementById('html5') as HTMLVideoElement).pause(); - done(); - }, - (done: () => void) => { - (document.getElementById('html5') as HTMLVideoElement).volume = 0.5; - done(); - }, - (done: () => void) => { - (document.getElementById('html5') as HTMLVideoElement).playbackRate = 0.9; - done(); - }, - (done: () => void) => { - (document.getElementById('html5') as HTMLVideoElement).currentTime = 18; - done(); + const expected = { + ready: { + mediaPlayer: { paused: true, duration: jasmine.any(Number) }, + videoElement: { videoHeight: jasmine.any(Number), videoWidth: jasmine.any(Number) }, }, - playVideoElement1Callback(), - ]; - - for (const a of actions) { - await browser.executeAsync(a); - await browser.pause(500); - } - - // 'ended' should be the final event, if not, try again - await waitUntil( - browser, - async () => { - return await browser.call(async () => { - let log = await fetchResults(docker.url); - return log.some((l: any) => l.event.unstruct_event.data.data.type === 'ended'); - }); + play: {}, + pause: { mediaPlayer: { paused: true } }, + volumechange: { mediaPlayer: { paused: true, volume: 50 } }, + ratechange: { mediaPlayer: { paused: true, volume: 50, playbackRate: 0.9 } }, + seeked: { mediaPlayer: { paused: true, volume: 50, playbackRate: 0.9 } }, + percentprogress: { mediaPlayer: { volume: 50, playbackRate: jasmine.any(Number) } }, + ended: { + mediaPlayer: { volume: 50, playbackRate: jasmine.any(Number), paused: jasmine.any(Boolean), ended: true }, }, - { - interval: 2000, - timeout: 60000, - timeoutMsg: 'All events not found before timeout', - } - ); + }; - log = await browser.call(async () => await fetchResults(docker.url)); - }); - - afterAll(async () => { - await waitUntil(browser, async () => { - return await browser.call(async () => await clearCache(docker.url)); - }); - }); - - const expected = { - ready: { - mediaPlayer: { paused: true, duration: jasmine.any(Number) }, - videoElement: { videoHeight: jasmine.any(Number), videoWidth: jasmine.any(Number) }, - }, - play: {}, - pause: { mediaPlayer: { paused: true } }, - volumechange: { mediaPlayer: { paused: true, volume: 50 } }, - ratechange: { mediaPlayer: { paused: true, volume: 50, playbackRate: 0.9 } }, - seeked: { mediaPlayer: { paused: true, volume: 50, playbackRate: 0.9 } }, - percentprogress: { mediaPlayer: { volume: 50, playbackRate: jasmine.any(Number) } }, - ended: { - mediaPlayer: { volume: 50, playbackRate: jasmine.any(Number), paused: jasmine.any(Boolean), ended: true }, - }, - }; - - Object.entries(expected).forEach(([name, properties]) => { - it('tracks ' + name, () => { - const expected = makeExpectedEvent(name, properties); - const received = getFirstEventOfEventType(name); - compare(expected, received); + Object.entries(expected).forEach(([name, properties]) => { + it('tracks ' + name, () => { + const expected = makeExpectedEvent(name, properties); + const received = getFirstEventOfEventType(name); + compare(expected, received); + }); }); }); -}); - -describe('Media Tracker (2 videos, 1 tracker)', () => { - beforeAll(async () => { - await browser.url('/media/tracking-2-players.html'); - await waitUntil(browser, () => $('#html5').isExisting(), { - timeout: 10000, - timeoutMsg: 'expected html5 after 5s', - }); + describe('Media Tracker (2 videos, 1 tracker)', () => { + beforeAll(async () => { + await browser.url('/media/tracking-2-players.html'); - let actions = [ - playVideoElement1Callback(), - playVideoElement2Callback(), - (done: () => void) => { - (document.getElementById('html5') as HTMLVideoElement).pause(); - done(); - }, - (done: () => void) => { - (document.getElementById('html5-2') as HTMLVideoElement).pause(); - done(); - }, - ]; + await waitUntil(browser, () => $('#html5').isExisting(), { + timeout: 10000, + timeoutMsg: 'expected html5 after 5s', + }); - for (const a of actions) { - await browser.executeAsync(a); - await browser.pause(200); - } + let actions = [ + playVideoElement1Callback(), + playVideoElement2Callback(), + (done: () => void) => { + (document.getElementById('html5') as HTMLVideoElement).pause(); + done(); + }, + (done: () => void) => { + (document.getElementById('html5-2') as HTMLVideoElement).pause(); + done(); + }, + ]; - // wait until we have 2 'pause' events - await waitUntil( - browser, - async () => { - return await browser.call(async () => { - let log = await fetchResults(docker.url); - return log.filter((l: any) => l.event.unstruct_event.data.data.type === 'pause').length === 2; - }); - }, - { - interval: 2000, - timeout: 60000, - timeoutMsg: 'All events not found before timeout', + for (const a of actions) { + await browser.executeAsync(a); + await browser.pause(200); } - ); - log = await browser.call(async () => await fetchResults(docker.url)); - }); + // wait until we have 2 'pause' events + await waitUntil( + browser, + async () => { + return await browser.call(async () => { + let log = await fetchResults(); + return ( + log.filter( + (l: any) => + l.event?.unstruct_event?.data.data.type === 'pause' && + l.event?.app_id === 'media-2-players-1-tracker-' + testIdentifier + ).length === 2 + ); + }); + }, + { + interval: 2000, + timeout: 20000, + timeoutMsg: 'All events not found before timeout', + } + ); + + log = await browser.call(async () => await fetchResults()); + }); - afterAll(async () => { - await waitUntil(browser, async () => { - return await browser.call(async () => await clearCache(docker.url)); + const getFirstEventOfEventTypeWithId = (eventType: string, id: string) => { + let results = log.filter( + (l: any) => + l.event?.unstruct_event?.data.data.type === eventType && + l.event.contexts.data[0].data.htmlId === id && + l.event.app_id === 'media-2-players-1-tracker-' + testIdentifier + ); + return results[results.length - 1]; + }; + + it('tracks two players with a single tracker', () => { + const expectedOne = makeExpectedEvent('pause', { mediaPlayer: { paused: true } }); + const receivedOne = getFirstEventOfEventTypeWithId('pause', 'html5'); + compare(expectedOne, receivedOne); + + const expectedTwo = makeExpectedEvent('pause', { mediaPlayer: { paused: true } }, 'html5-2'); + const receivedTwo = getFirstEventOfEventTypeWithId('pause', 'html5-2'); + compare(expectedTwo, receivedTwo); }); }); - const getFirstEventOfEventTypeWithId = (eventType: string, id: string) => { - let results = log.filter( - (l: any) => l.event.unstruct_event.data.data.type === eventType && l.event.contexts.data[0].data.htmlId === id - ); - return results[results.length - 1]; - }; - - it('tracks two players with a single tracker', () => { - const expectedOne = makeExpectedEvent('pause', { mediaPlayer: { paused: true } }); - const recievedOne = getFirstEventOfEventTypeWithId('pause', 'html5'); - compare(expectedOne, recievedOne); - - const expectedTwo = makeExpectedEvent('pause', { mediaPlayer: { paused: true } }, 'html5-2'); - const recievedTwo = getFirstEventOfEventTypeWithId('pause', 'html5-2'); - compare(expectedTwo, recievedTwo); - }); -}); + describe('Media Tracker (1 video, 2 trackers)', () => { + beforeAll(async () => { + await browser.url('media/tracking-2-trackers.html'); -describe('Media Tracker (1 video, 2 trackers)', () => { - beforeAll(async () => { - await browser.url('media/tracking-2-trackers.html'); + await waitUntil(browser, () => $('#html5').isExisting(), { + timeout: 10000, + timeoutMsg: 'expected html5 after 5s', + }); - await waitUntil(browser, () => $('#html5').isExisting(), { - timeout: 10000, - timeoutMsg: 'expected html5 after 5s', + await browser.executeAsync(playVideoElement1Callback()); + await browser.pause(200); + await browser.execute(() => (document.getElementById('html5') as HTMLVideoElement).pause()); + + // wait until we have 2 'pause' events + await waitUntil( + browser, + async () => { + return await browser.call(async () => { + let log = await fetchResults(); + return ( + log.filter( + (l: any) => + l.event?.unstruct_event?.data.data.type === 'pause' && + l.event.app_id === 'media-1-player-2-trackers-' + testIdentifier + ).length === 2 + ); + }); + }, + { + interval: 2000, + timeout: 60000, + timeoutMsg: 'All events not found before timeout', + } + ); + + log = await browser.call(async () => await fetchResults()); }); - await browser.executeAsync(playVideoElement1Callback()); - await browser.pause(200); - await browser.execute(() => (document.getElementById('html5') as HTMLVideoElement).pause()); - - // wait until we have 2 'pause' events - await waitUntil( - browser, - async () => { - return await browser.call(async () => { - let log = await fetchResults(docker.url); - return log.filter((l: any) => l.event.unstruct_event.data.data.type === 'pause').length === 2; - }); - }, - { - interval: 2000, - timeout: 60000, - timeoutMsg: 'All events not found before timeout', - } - ); - - log = await browser.call(async () => await fetchResults(docker.url)); - }); - - afterAll(async () => { - await waitUntil(browser, async () => { - return await browser.call(async () => await clearCache(docker.url)); + const getEventsOfEventType = (eventType: string, limit: number = 1): Array => { + const results = log.filter( + (l: any) => + l.event?.unstruct_event?.data.data.type === eventType && + l.event.app_id === 'media-1-player-2-trackers-' + testIdentifier + ); + return results.slice(results.length - limit); + }; + + it('tracks one player with two trackers', () => { + const expected = makeExpectedEvent('pause', { mediaPlayer: { paused: true } }); + const result = getEventsOfEventType('pause', 2); + + compare(expected, result[0]); + compare(expected, result[1]); + const tracker_names = result.map((r: any) => r.event.name_tracker); + expect(tracker_names).toContain('sp1'); + expect(tracker_names).toContain('sp2'); }); }); - const getEventsOfEventType = (eventType: string, limit: number = 1): Array => { - const results = log.filter((l: any) => l.event.unstruct_event.data.data.type === eventType); - return results.slice(results.length - limit); - }; - - it('tracks one player with two trackers', () => { - const expected = makeExpectedEvent('pause', { mediaPlayer: { paused: true } }); - const result = getEventsOfEventType('pause', 2); - - compare(expected, result[0]); - compare(expected, result[1]); - const tracker_names = result.map((r: any) => r.event.name_tracker); - expect(tracker_names).toContain('sp1'); - expect(tracker_names).toContain('sp2'); - }); -}); - -describe('Media Tracker - All Events', () => { - beforeAll(async () => { - await browser.url('media/tracking-all-events.html'); - - await waitUntil(browser, () => $('#html5').isExisting(), { - timeout: 10000, - timeoutMsg: 'expected html5 after 5s', - }); + describe('Media Tracker - All Events', () => { + beforeAll(async () => { + await browser.url('media/tracking-all-events.html'); - const video_url = await browser.execute(() => { - return (document.getElementById('html5') as HTMLVideoElement).src; - }); + await waitUntil(browser, () => $('#html5').isExisting(), { + timeout: 10000, + timeoutMsg: 'expected html5 after 5s', + }); - let actions = [ - playVideoElement1Callback(), - (done: () => void) => { - (document.getElementById('html5') as HTMLVideoElement).pause(); - done(); - }, - (done: () => void) => { - (document.getElementById('html5') as HTMLVideoElement).currentTime = 18; - done(); - }, - playVideoElement1Callback(), - (done: () => void) => { - (document.getElementById('html5') as HTMLVideoElement).textTracks[0].mode = 'disabled'; - done(); - }, - (done: () => void) => { - (document.getElementById('html5') as HTMLVideoElement).src = 'not-a-video.unsupported_format'; - done(); - }, - ]; + const video_url = await browser.execute(() => { + return (document.getElementById('html5') as HTMLVideoElement).src; + }); - for (const a of actions) { - await browser.executeAsync(a); - await browser.pause(1000); - } + let actions = [ + playVideoElement1Callback(), + (done: () => void) => { + (document.getElementById('html5') as HTMLVideoElement).pause(); + done(); + }, + (done: () => void) => { + (document.getElementById('html5') as HTMLVideoElement).currentTime = 18; + done(); + }, + playVideoElement1Callback(), + (done: () => void) => { + (document.getElementById('html5') as HTMLVideoElement).textTracks[0].mode = 'disabled'; + done(); + }, + (done: () => void) => { + (document.getElementById('html5') as HTMLVideoElement).src = 'not-a-video.unsupported_format'; + done(); + }, + ]; - await browser.execute((video_url) => { - (document.getElementById('html5') as HTMLVideoElement).src = video_url; - }, video_url); - - await waitUntil( - browser, - async () => { - return await browser.call(async () => { - let log = await fetchResults(docker.url); - // Events can occur in any order, so we can't just check for the last event - // 40 - 45 events are expected, due to the timing of 'timeupdate' events - return log.length > 40; - }); - }, - { - interval: 2000, - timeout: 60000, - timeoutMsg: 'All events not found before timeout', + for (const a of actions) { + await browser.executeAsync(a); + await browser.pause(1000); } - ); - - log = await browser.call(async () => await fetchResults(docker.url)); - }); - - afterAll(async () => { - await browser.call(async () => await stop(docker.container)); - }); - const getFirstEventOfEventType = (eventType: string) => { - let results = log.filter((l: any) => l.event.unstruct_event.data.data.type === eventType); - return results[results.length - 1]; - }; + await browser.execute((video_url) => { + (document.getElementById('html5') as HTMLVideoElement).src = video_url; + }, video_url); + + await waitUntil( + browser, + async () => { + return await browser.call(async () => { + let log = await fetchResults(); + // Events can occur in any order, so we can't just check for the last event + // 40 - 45 events are expected, due to the timing of 'timeupdate' events + return log.length > 40; + }); + }, + { + interval: 2000, + timeout: 60000, + timeoutMsg: 'All events not found before timeout', + } + ); + + log = await browser.call(async () => await fetchResults()); + }); - const expected = { - canplay: { - mediaPlayer: { - paused: true, - }, - }, - canplaythrough: { - mediaPlayer: { - paused: true, - }, - }, - timeupdate: {}, - playing: {}, - seeking: { - mediaElement: { - seeking: true, - }, - mediaPlayer: { - paused: true, - }, - }, - error: { - mediaElement: { - networkState: 'NETWORK_NO_SOURCE', - readyState: 'HAVE_NOTHING', - currentSrc: 'http://snowplow-js-tracker.local:8080/media/not-a-video.unsupported_format', - src: 'http://snowplow-js-tracker.local:8080/media/not-a-video.unsupported_format', - error: jasmine.any(Object), - }, - mediaPlayer: { - duration: 0, - paused: true, + const getFirstEventOfEventType = (eventType: string) => { + let results = log.filter( + (l: any) => + l.event?.unstruct_event?.data.data.type === eventType && + l.event.app_id === 'media-all-events-' + testIdentifier + ); + return results[results.length - 1]; + }; + + const expected = { + canplay: { + mediaPlayer: { + paused: true, + }, }, - videoElement: { - videoHeight: 0, - videoWidth: 0, + canplaythrough: { + mediaPlayer: { + paused: true, + }, }, - }, - loadstart: { - mediaElement: { - error: [jasmine.any(Object), null], + timeupdate: {}, + playing: {}, + seeking: { + mediaElement: { + seeking: true, + }, + mediaPlayer: { + paused: true, + }, }, - mediaPlayer: { - currentTime: 0, - paused: true, - duration: 0, + error: { + mediaElement: { + networkState: 'NETWORK_NO_SOURCE', + readyState: 'HAVE_NOTHING', + currentSrc: 'http://snowplow-js-tracker.local:8080/media/not-a-video.unsupported_format', + src: 'http://snowplow-js-tracker.local:8080/media/not-a-video.unsupported_format', + error: jasmine.any(Object), + }, + mediaPlayer: { + duration: 0, + paused: true, + }, + videoElement: { + videoHeight: 0, + videoWidth: 0, + }, }, - videoElement: { - videoHeight: 0, - videoWidth: 0, + loadstart: { + mediaElement: { + error: [jasmine.any(Object), null], + }, + mediaPlayer: { + currentTime: 0, + paused: true, + duration: 0, + }, + videoElement: { + videoHeight: 0, + videoWidth: 0, + }, }, - }, - loadedmetadata: { - mediaPlayer: { - paused: true, + loadedmetadata: { + mediaPlayer: { + paused: true, + }, }, - }, - durationchange: { - mediaPlayer: { - paused: true, + durationchange: { + mediaPlayer: { + paused: true, + }, }, - }, - }; + }; - 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) - if ( - (name === 'error' && - browser.capabilities.browserName === 'firefox' && - browser.capabilities.browserVersion === '53.0') || - (browser.capabilities.browserName === 'chrome' && browser.capabilities.version === '60.0.3112.78') - ) { - fit('Skip events from error', () => true); - return; - } else { - it('tracks ' + name, () => { - const expected = makeExpectedEvent(name, properties); - const received = getFirstEventOfEventType(name); - compare(expected, received); - }); - } + 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) + if ( + (name === 'error' && + browser.capabilities.browserName === 'firefox' && + browser.capabilities.browserVersion === '53.0') || + (browser.capabilities.browserName === 'chrome' && browser.capabilities.version === '60.0.3112.78') + ) { + fit('Skip events from error', () => true); + return; + } else { + it('tracks ' + name, () => { + const expected = makeExpectedEvent(name, properties); + const received = getFirstEventOfEventType(name); + compare(expected, received); + }); + } + }); }); }); diff --git a/trackers/javascript-tracker/test/integration/onSessionUpdate.test.ts b/trackers/javascript-tracker/test/integration/onSessionUpdate.test.ts index a274e449a..9e77fd8e4 100644 --- a/trackers/javascript-tracker/test/integration/onSessionUpdate.test.ts +++ b/trackers/javascript-tracker/test/integration/onSessionUpdate.test.ts @@ -1,6 +1,6 @@ import F from 'lodash/fp'; -import { DockerWrapper, clearCache, fetchResults, start, stop } from '../micro'; -import { waitUntil } from './helpers'; +import { fetchResults } from '../micro'; +import { pageSetup } from './helpers'; describe('onSessionUpdate callback feature', () => { if ( @@ -17,7 +17,7 @@ describe('onSessionUpdate callback feature', () => { } let log: Array = []; - let docker: DockerWrapper; + let testIdentifier = ''; const logContains = (ev: unknown) => F.some(F.isMatch(ev as object), log); @@ -31,33 +31,24 @@ describe('onSessionUpdate callback feature', () => { }; beforeAll(async () => { - await browser.call(async () => (docker = await start())); - await waitUntil(browser, async () => { - return await browser.call(async () => await clearCache(docker.url)); - }); - await browser.url('/index.html'); - await browser.setCookies({ name: 'container', value: docker.url }); + testIdentifier = await pageSetup(); await loadUrlAndWait('/session-update-callback.html'); await browser.pause(2000); - log = await browser.call(async () => await fetchResults(docker.url)); - await browser.pause(2000); - }); - - afterAll(async () => { - await browser.call(async () => await stop(docker?.container)); + log = await browser.call(async () => await fetchResults()); }); it(`properly runs the onSessionCallback`, async () => { expect( logContains({ event: { - app_id: `onSessionCallback`, + app_id: 'onSessionCallback' + testIdentifier, event: 'struct', se_category: 'session_callback', se_action: 'called', }, }) ).toBe(true); - expect(log.length).toEqual(2); + const results = log.filter((event: any) => event.event.app_id === 'onSessionCallback' + testIdentifier); + expect(results.length).toEqual(2); }); }); diff --git a/trackers/javascript-tracker/test/integration/sessionStorage.test.ts b/trackers/javascript-tracker/test/integration/sessionStorage.test.ts index e647d65e0..04d3046aa 100644 --- a/trackers/javascript-tracker/test/integration/sessionStorage.test.ts +++ b/trackers/javascript-tracker/test/integration/sessionStorage.test.ts @@ -1,56 +1,18 @@ -/* - * 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 util from 'util'; import F from 'lodash/fp'; -import { DockerWrapper, fetchResults, start, stop } from '../micro'; - -const dumpLog = (log: Array) => console.log(util.inspect(log, true, null, true)); +import { fetchResults } from '../micro'; +import { pageSetup } from './helpers'; describe('Sessions', () => { let log: Array = []; - let docker: DockerWrapper; + let testIdentifier = ''; const logContains = (ev: unknown) => F.some(F.isMatch(ev as object), log); beforeAll(async () => { - await browser.call(async () => (docker = await start())); - await browser.url('/index.html'); - await browser.setCookies({ name: 'container', value: docker.url }); + testIdentifier = await pageSetup(); await browser.url('/session-integration.html'); await browser.pause(6000); // Time for requests to get written - log = await browser.call(async () => await fetchResults(docker.url)); - }); - - afterAll(async () => { - browser.call(async () => await stop(docker.container)); + log = await browser.call(async () => await fetchResults()); }); it('should count sessions using cookies', () => { @@ -60,6 +22,7 @@ describe('Sessions', () => { event: 'page_view', name_tracker: 'cookieSessionTracker', domain_sessionidx: 2, + app_id: 'session-integration-' + testIdentifier, }, }) ).toBe(true); @@ -72,6 +35,7 @@ describe('Sessions', () => { event: 'page_view', name_tracker: 'localStorageSessionTracker', domain_sessionidx: 2, + app_id: 'session-integration-' + testIdentifier, }, }) ).toBe(true); @@ -84,6 +48,7 @@ describe('Sessions', () => { event: 'page_view', name_tracker: 'anonymousSessionTracker', domain_sessionidx: 2, + app_id: 'session-integration-' + testIdentifier, }, }) ).toBe(true); @@ -92,13 +57,19 @@ describe('Sessions', () => { it('should only add session context when enabled', () => { const events = (ev: any) => F.get('event.name_tracker', ev) !== 'cookieSessionTracker' && - F.get('contexts[0]', ev) === 'iglu:com.snowplowanalytics.snowplow/client_session/jsonschema/1-0-2'; + F.get('contexts[0]', ev) === 'iglu:com.snowplowanalytics.snowplow/client_session/jsonschema/1-0-2' && + F.get('event.app_id', ev) === 'session-integration-' + testIdentifier; expect(F.size(F.filter(events, log))).toBe(0); }); it('should have the same information in session context as in event properties', () => { - const events = F.filter((ev: any) => F.get('event.name_tracker', ev) === 'cookieSessionTracker', log); + const events = F.filter( + (ev: any) => + F.get('event.name_tracker', ev) === 'cookieSessionTracker' && + F.get('event.app_id', ev) === 'session-integration-' + testIdentifier, + log + ); expect(F.size(events)).toBe(3); expect( @@ -125,7 +96,12 @@ describe('Sessions', () => { }); it('should increment event index in session context', () => { - const events: any[] = F.filter((ev: any) => F.get('event.name_tracker', ev) === 'cookieSessionTracker', log); + const events: any[] = F.filter( + (ev: any) => + F.get('event.name_tracker', ev) === 'cookieSessionTracker' && + F.get('event.app_id', ev) === 'session-integration-' + testIdentifier, + log + ); events.sort((a, b) => a.event.dvce_created_tstamp.localeCompare(b.event.dvce_created_tstamp)); const getEventIndex = (e: any) => e.event.contexts.data[0].data.eventIndex; @@ -135,7 +111,12 @@ describe('Sessions', () => { }); it('should match first event references to first event in session', () => { - const events: any[] = F.filter((ev: any) => F.get('event.name_tracker', ev) === 'cookieSessionTracker', log); + const events: any[] = F.filter( + (ev: any) => + F.get('event.name_tracker', ev) === 'cookieSessionTracker' && + F.get('event.app_id', ev) === 'session-integration-' + testIdentifier, + log + ); events.sort((a, b) => a.event.dvce_created_tstamp.localeCompare(b.event.dvce_created_tstamp)); const getFirstEventId = (e: any) => e.event.contexts.data[0].data.firstEventId; const getFirstEventTimestamp = (e: any) => e.event.contexts.data[0].data.firstEventTimestamp; @@ -150,7 +131,12 @@ describe('Sessions', () => { }); it('should match previous session ID in session context', () => { - const events: any[] = F.filter((ev: any) => F.get('event.name_tracker', ev) === 'cookieSessionTracker', log); + const events: any[] = F.filter( + (ev: any) => + F.get('event.name_tracker', ev) === 'cookieSessionTracker' && + F.get('event.app_id', ev) === 'session-integration-' + testIdentifier, + log + ); events.sort((a, b) => a.event.dvce_created_tstamp.localeCompare(b.event.dvce_created_tstamp)); const getSessionId = (e: any) => e.event.domain_sessionid; const getPreviousSessionId = (e: any) => e.event.contexts.data[0].data.previousSessionId; @@ -162,25 +148,58 @@ describe('Sessions', () => { it('should only increment domain_sessionidx outside of session timeout (local storage)', () => { const withSingleVid = (ev: unknown) => - F.get('event.name_tracker', ev) === 'localStorageSessionTracker' && F.get('event.domain_sessionidx', ev) === 1; + F.get('event.name_tracker', ev) === 'localStorageSessionTracker' && + F.get('event.domain_sessionidx', ev) === 1 && + F.get('event.app_id', ev) === 'session-integration-' + testIdentifier; expect(F.size(F.filter(withSingleVid, log))).toBe(2); - expect(F.size(F.filter((e) => F.get('event.name_tracker', e) === 'localStorageSessionTracker', log))).toBe(3); + expect( + F.size( + F.filter( + (e) => + F.get('event.name_tracker', e) === 'localStorageSessionTracker' && + F.get('event.app_id', e) === 'session-integration-' + testIdentifier, + log + ) + ) + ).toBe(3); }); it('should only increment domain_sessionidx outside of session timeout (anonymous session tracking)', () => { const withSingleVid = (ev: unknown) => - F.get('event.name_tracker', ev) === 'anonymousSessionTracker' && F.get('event.domain_sessionidx', ev) === 1; + F.get('event.name_tracker', ev) === 'anonymousSessionTracker' && + F.get('event.domain_sessionidx', ev) === 1 && + F.get('event.app_id', ev) === 'session-integration-' + testIdentifier; expect(F.size(F.filter(withSingleVid, log))).toBe(2); - expect(F.size(F.filter((e) => F.get('event.name_tracker', e) === 'anonymousSessionTracker', log))).toBe(3); + expect( + F.size( + F.filter( + (e) => + F.get('event.name_tracker', e) === 'anonymousSessionTracker' && + F.get('event.app_id', e) === 'session-integration-' + testIdentifier, + log + ) + ) + ).toBe(3); }); it('should only increment domain_sessionidx outside of session timeout (cookie storage)', () => { const withSingleVid = (ev: unknown) => - F.get('event.name_tracker', ev) === 'cookieSessionTracker' && F.get('event.domain_sessionidx', ev) === 1; + F.get('event.name_tracker', ev) === 'cookieSessionTracker' && + F.get('event.domain_sessionidx', ev) === 1 && + F.get('event.app_id', ev) === 'session-integration-' + testIdentifier; expect(F.size(F.filter(withSingleVid, log))).toBe(2); - expect(F.size(F.filter((e) => F.get('event.name_tracker', e) === 'cookieSessionTracker', log))).toBe(3); + expect( + F.size( + F.filter( + (e) => + F.get('event.name_tracker', e) === 'cookieSessionTracker' && + F.get('event.app_id', e) === 'session-integration-' + testIdentifier, + log + ) + ) + ).toBe(3); }); }); diff --git a/trackers/javascript-tracker/test/integration/youtube.test.ts b/trackers/javascript-tracker/test/integration/youtube.test.ts index bd60d967d..3ecd68f98 100644 --- a/trackers/javascript-tracker/test/integration/youtube.test.ts +++ b/trackers/javascript-tracker/test/integration/youtube.test.ts @@ -1,35 +1,7 @@ -/* - * 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 { DockerWrapper, start, stop, fetchResults, clearCache } from '../micro'; -import { waitUntil } from './helpers'; +import { fetchResults } from '../micro'; +import { pageSetup, waitUntil } from './helpers'; + +declare var player: YT.Player; const makeExpectedEvent = ( eventType: string, @@ -49,7 +21,7 @@ const makeExpectedEvent = ( controls: true, loaded: jasmine.any(Number), unstarted: jasmine.any(Boolean), - url: jasmine.stringMatching(/https\:\/\/www\.youtube\.com\/watch\?(t=\d+&)?v=zSM4ZyVe8xs/), + url: jasmine.stringMatching(/https\:\/\/www\.youtube\.com\/watch\?(t=\d+&)?v=ublEqhffop0/), ...values?.youtube, }, }, @@ -92,7 +64,6 @@ const compare = (expected: any, received: any) => { expect(expected.unstruct_event).toEqual(received.event.unstruct_event); }; -let docker: DockerWrapper; let log: Array = []; function shouldSkipBrowser(browser: any): boolean { @@ -107,243 +78,213 @@ function shouldSkipBrowser(browser: any): boolean { ); } -// This is simply to check that the plugin can accept an instance of `YT.Player` and emit events -// If that passes, everything else will work the same as passing in an ID -describe('YouTube Tracker with Existing Player', () => { - beforeAll(async () => { - await browser.call(async () => (docker = await start())); - - await browser.url('/index.html'); - await browser.setCookies({ name: 'container', value: docker.url }); - await browser.url('/youtube/tracking-player.html'); - await waitUntil(browser, () => $('#youtube').isExisting(), { - timeout: 5000, - timeoutMsg: 'expected youtube after 5s', - }); - - const player = await $('#youtube'); +describe('Youtube tracking', () => { + let testIdentifier = ''; - await player.click(); - await browser.pause(5000); - - await player.click(); - await browser.pause(5000); - - await browser.waitUntil( - async () => { - log = await browser.call(async () => await fetchResults(docker.url)); - return log.length > 0; - }, - { - timeout: 20000, - timeoutMsg: 'expected events after 20s', - } - ); + beforeAll(async () => { + testIdentifier = await pageSetup(); }); + // If that passes, everything else will work the same as passing in an ID + describe('YouTube Tracker with Existing Player', () => { + it('should track any event', async () => { + await browser.url('/youtube/tracking-player.html'); + await waitUntil(browser, () => $('#youtube').isExisting(), { + timeout: 5000, + timeoutMsg: 'expected youtube after 5s', + }); - afterAll(async () => { - await browser.call(async () => await clearCache(docker.url)); - }); + const player = await $('#youtube'); - it('should track any event', async () => { - // Any non-zero amount of events received means the - // plugin is successfully sending events from the player - expect(log.length).toBeGreaterThan(0); - }); -}); + await player.click(); + await browser.pause(1000); -describe('YouTube Tracker', () => { - const getFirstEventOfEventType = (eventType: string): any => { - let results = log.filter((l: any) => l.event.unstruct_event.data.data.type === eventType); - return results[results.length - 1]; - }; + await player.click(); + await browser.pause(5000); - if (shouldSkipBrowser(browser)) { - fit('Skip browser', () => true); - return; - } + const log = await browser.call(async () => await fetchResults()); + const testResults = log.filter((l: any) => l.event?.app_id === 'yt-player-' + testIdentifier); - beforeAll(async () => { - await browser.call(async () => (docker = await start())); - - await browser.url('/index.html'); - await browser.setCookies({ name: 'container', value: docker.url }); - await browser.url('/youtube/tracking.html'); - await waitUntil(browser, () => $('#youtube').isExisting(), { - timeout: 5000, - timeoutMsg: 'expected youtube after 5s', + // Any non-zero amount of events received means the + // plugin is successfully sending events from the player + expect(testResults.length).toBeGreaterThan(0); }); + }); - const player = $('#youtube'); - await player.click(); // emits 'playbackqualitychange' and 'play'; - await browser.keys(Array(2).fill('ArrowRight')); // Skips to the point just before 'percentprogress' fires - await browser.pause(15000); // Wait to track percentprogress events - - const events = [ - async () => await browser.keys(['Shift', '.', 'Shift']), // Increase playback rate - async () => await browser.keys(['ArrowRight']), // Seek - async () => await browser.keys(['ArrowDown']), // Volume down - async () => await browser.keys(['k']), // Pause - async () => await browser.keys(['9']), // Skip as close as we can to the end - ]; - - for (const e of events) { - await e(); - await browser.pause(200); + describe('YouTube Tracker', () => { + if (shouldSkipBrowser(browser)) { + fit('Skip browser', () => true); + return; } - // We've got ~216 seconds left to skip - for (let i = 0; i < 60; i++) { - // Ended - await browser.keys(['ArrowRight']); - await browser.pause(50); - } - await browser.pause(1000); + const getFirstEventOfEventType = (eventType: string): any => { + let results = log.filter( + (l: any) => + l.event?.unstruct_event?.data.data.type === eventType && l.event?.app_id === 'yt-tracking-' + testIdentifier + ); + return results[results.length - 1]; + }; - log = await browser.call(async () => await fetchResults(docker.url)); + beforeAll(async () => { + await browser.url('/youtube/tracking.html'); + await waitUntil(browser, () => $('#player').isExisting(), { + timeout: 5000, + timeoutMsg: 'expected youtube after 5s', + }); - // YouTube saves the volume level in localstorage, meaning loading a new page will have the same - // volume level as the end of this test, so we need to increase it again to return to the 'default' state - await browser.keys(['ArrowUp']); - }); + await browser.pause(1000); - const expected = { - ready: { youtube: { cued: true } }, - percentprogress: {}, - playbackqualitychange: {}, - play: {}, - playbackratechange: {}, - seek: { mediaPlayer: { paused: jasmine.any(Boolean) } }, - volumechange: { mediaPlayer: { paused: jasmine.any(Boolean) } }, - pause: { mediaPlayer: { paused: true } }, - ended: { mediaPlayer: { ended: true } }, - }; + await $('#player').click(); + await browser.pause(1000); - Object.entries(expected).forEach(([name, properties]) => { - if (browser.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') { - return; - // percentprogress events seem not be tracked reliably in Safari, should investigate why - } - it('tracks ' + name, () => { - const expected = makeExpectedEvent(name, properties); - const received = getFirstEventOfEventType(name); - compare(expected, received); - }); - }); + /* `player` is set at /youtube/tracking.html and is a YT JS API object https://developers.google.com/youtube/iframe_api_reference */ - afterAll(async () => { - await waitUntil(browser, async () => { - return await browser.call(async () => await clearCache(docker.url)); - }); - }); -}); + await browser.setTimeout({ script: 30000 }); + await browser.executeAsync((done) => { + var initialTimeMS = 0; -describe('YouTube Tracker (2 videos, 1 tracker)', () => { - if (shouldSkipBrowser(browser)) { - fit('Skip browser', () => true); - return; - } + setTimeout(() => { + var duration = player.getDuration(); + player.seekTo(duration / 5, true); + }, (initialTimeMS += 500)); - const getFirstEventOfEventTypeWithId = (eventType: string, id: string) => { - const results = log.filter( - (l: any) => l.event.unstruct_event.data.data.type === eventType && l.event.contexts.data[0].data.playerId === id - ); - return results[results.length - 1]; - }; + setTimeout(() => { + player.setPlaybackRate(1.25); + }, (initialTimeMS += 500)); - beforeAll(async () => { - await browser.url('/index.html'); - await browser.setCookies({ name: 'container', value: docker.url }); - await browser.url('/youtube/tracking-2-videos.html'); - await waitUntil(browser, () => $('#youtube').isExisting(), { - timeout: 5000, - timeoutMsg: 'expected youtube after 5s', - }); + setTimeout(() => { + player.setVolume(player.getVolume() - 10); + }, (initialTimeMS += 4000)); - const player1 = $('#youtube'); - const player2 = $('#youtube-2'); + setTimeout(() => { + player.setVolume(player.getVolume() - 10); + }, (initialTimeMS += 1000)); - const actions = [ - async () => await player1.click(), // emits 'playbackqualitychange' and 'play'; - async () => await browser.keys(['k']), // Pause - async () => await player2.click(), // emits 'playbackqualitychange' and 'play'; - async () => await browser.keys(['k']), // Pause - ]; + setTimeout(() => { + player.pauseVideo(); + }, (initialTimeMS += 1000)); - for (const a of actions) { - await a(); - await browser.pause(500); - } - await browser.pause(1000); + setTimeout(() => { + var duration = player.getDuration(); + player.seekTo(duration - 1, true); + player.playVideo(); + }, (initialTimeMS += 1000)); - log = await browser.call(async () => await fetchResults(docker.url)); - }); + setTimeout(done, (initialTimeMS += 3000)); + }); - afterAll(async () => { - await waitUntil(browser, async () => { - return await browser.call(async () => await clearCache(docker.url)); + log = await browser.call(async () => await fetchResults()); }); - }); - it('Tracks 2 YouTube players with a single tracker', () => { - const expectedOne = makeExpectedEvent('playbackqualitychange'); - const recievedOne = getFirstEventOfEventTypeWithId('playbackqualitychange', 'youtube'); - compare(expectedOne, recievedOne); - - const expectedTwo = makeExpectedEvent('playbackqualitychange', {}, 'youtube-2'); - const recievedTwo = getFirstEventOfEventTypeWithId('playbackqualitychange', 'youtube-2'); - compare(expectedTwo, recievedTwo); + const expected = { + ready: { youtube: { cued: true } }, + percentprogress: {}, + playbackqualitychange: {}, + play: {}, + playbackratechange: {}, + seek: { mediaPlayer: { paused: jasmine.any(Boolean) } }, + volumechange: { mediaPlayer: { paused: jasmine.any(Boolean) } }, + pause: { mediaPlayer: { paused: true } }, + ended: { mediaPlayer: { ended: true } }, + }; + + Object.entries(expected).forEach(([name, properties]) => { + if (browser.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') { + return; + // percentprogress events seem not be tracked reliably in Safari, should investigate why + } + it('tracks ' + name, () => { + const expected = makeExpectedEvent(name, properties, 'player'); + const received = getFirstEventOfEventType(name); + compare(expected, received); + }); + }); }); -}); -describe('YouTube Tracker (1 video, 2 trackers)', () => { - if (shouldSkipBrowser(browser)) { - fit('Skip browser', () => true); - return; - } + describe('YouTube Tracker (2 videos, 1 tracker)', () => { + if (shouldSkipBrowser(browser)) { + fit('Skip browser', () => true); + return; + } - beforeAll(async () => { - await browser.url('/index.html'); - await browser.setCookies({ name: 'container', value: docker.url }); - await browser.url('/youtube/tracking-2-trackers.html'); - await waitUntil(browser, () => $('#youtube').isExisting(), { - timeout: 5000, - timeoutMsg: 'expected youtube after 5s', - }); + const getFirstEventOfEventTypeWithId = (eventType: string, id: string) => { + const results = log.filter( + (l: any) => + l.event?.unstruct_event?.data.data.type === eventType && + l.event.contexts.data[0].data.playerId === id && + l.event?.app_id === 'yt-2-videos-' + testIdentifier + ); + return results[results.length - 1]; + }; + + it('Tracks 2 YouTube players with a single tracker', async () => { + await browser.url('/youtube/tracking-2-videos.html'); + await waitUntil(browser, () => $('#youtube').isExisting(), { + timeout: 5000, + timeoutMsg: 'expected youtube after 5s', + }); + + const player1 = $('#youtube'); + const player2 = $('#youtube-2'); + + await player1.click(); + await browser.pause(500); - const player = $('#youtube'); - await player.click(); // emits 'playbackqualitychange' and 'play'; - await browser.pause(1000); - await browser.keys(['k']); // Pause - await browser.pause(1000); + await player2.click(); + await browser.pause(3000); - log = await browser.call(async () => await fetchResults(docker.url)); - }); + log = await browser.call(async () => await fetchResults()); + const expectedOne = makeExpectedEvent('playbackqualitychange'); + const receivedOne = getFirstEventOfEventTypeWithId('playbackqualitychange', 'youtube'); + compare(expectedOne, receivedOne); - afterAll(async () => { - await browser.call(async () => await stop(docker.container)); + const expectedTwo = makeExpectedEvent('playbackqualitychange', {}, 'youtube-2'); + const receivedTwo = getFirstEventOfEventTypeWithId('playbackqualitychange', 'youtube-2'); + compare(expectedTwo, receivedTwo); + }); }); - const getTwoEventsOfEventType = (eventType: string): Array => { - const results = log.filter((l: any) => l.event.unstruct_event.data.data.type === eventType); - return results.slice(results.length - 2); - }; + describe('YouTube Tracker (1 video, 2 trackers)', () => { + if (shouldSkipBrowser(browser)) { + fit('Skip browser', () => true); + return; + } - it('Tracks 2 YouTube players with a single tracker', () => { - const expected = makeExpectedEvent('playbackqualitychange', { - mediaPlayer: { paused: jasmine.any(Boolean) }, + const getTwoEventsOfEventType = (eventType: string): Array => { + const results = log.filter( + (l: any) => + l.event?.unstruct_event?.data.data.type === eventType && l.event?.app_id === 'yt-2-trackers-' + testIdentifier + ); + return results.slice(results.length - 2); + }; + + it('Tracks 1 YouTube player with two trackers', async () => { + await browser.url('/youtube/tracking-2-trackers.html'); + await waitUntil(browser, () => $('#youtube').isExisting(), { + timeout: 5000, + timeoutMsg: 'expected youtube after 5s', + }); + + const player = $('#youtube'); + await player.click(); // emits 'playbackqualitychange' and 'play'; + await browser.pause(2000); + + log = await browser.call(async () => await fetchResults()); + + const expected = makeExpectedEvent('playbackqualitychange', { + mediaPlayer: { paused: jasmine.any(Boolean) }, + }); + const result = getTwoEventsOfEventType('playbackqualitychange'); + compare(expected, result[0]); + compare(expected, result[1]); + const tracker_names = result.map((r: any) => r.event.name_tracker); + expect(tracker_names).toContain('sp1'); + expect(tracker_names).toContain('sp2'); }); - const result = getTwoEventsOfEventType('playbackqualitychange'); - compare(expected, result[0]); - compare(expected, result[1]); - const tracker_names = result.map((r: any) => r.event.name_tracker); - expect(tracker_names).toContain('sp1'); - expect(tracker_names).toContain('sp2'); }); }); diff --git a/trackers/javascript-tracker/test/micro.ts b/trackers/javascript-tracker/test/micro.ts index 4c511e433..92ddf80d1 100644 --- a/trackers/javascript-tracker/test/micro.ts +++ b/trackers/javascript-tracker/test/micro.ts @@ -1,36 +1,6 @@ -/* - * 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 http from 'http'; import Docker from 'dockerode'; import { Writable } from 'stream'; +import fetch from 'node-fetch'; export interface DockerWrapper { url: string; @@ -39,10 +9,15 @@ export interface DockerWrapper { const docker = new Docker(); -export const start = () => { +/** + * Start the micro Docker container to accept events. + * @param {boolean} [isRemote] For local runs, we use the local address, for remote, a custom host which has been set on the remote machine. + * @return {*} + */ +export const start = (isRemote?: boolean) => { return docker .createContainer({ - Image: 'snowplow/snowplow-micro:1.4.0', + Image: 'snowplow/snowplow-micro:latest', AttachStdin: false, AttachStdout: true, AttachStderr: true, @@ -85,7 +60,9 @@ export const start = () => { c.inspect().then((info) => { resolve({ container: c, - url: `snowplow-js-tracker.local:${info.NetworkSettings.Ports['9090/tcp'][0].HostPort}`, + url: `${isRemote ? 'snowplow-js-tracker.local' : '127.0.0.1'}:${ + info.NetworkSettings.Ports['9090/tcp'][0].HostPort + }`, }); }) ); @@ -96,25 +73,10 @@ export const start = () => { export const stop = (container: Docker.Container) => container.stop().then(() => container.remove()); -const createMicroCall = (url: string) => () => - new Promise((resolve, reject) => { - const req = http.request(url, (res) => { - let body = ''; - res.on('data', (chunk) => { - body += chunk; - }); - res.on('end', () => { - resolve(body); - }); - }); - req.on('error', reject); - req.end(); - }); - -export const fetchResults = async (containerUrl: string) => - JSON.parse((await createMicroCall(`http://${containerUrl}/micro/good`)()) as string); - -export const clearCache = async (containerUrl: string) => { - await createMicroCall(`http://${containerUrl}/micro/reset`)(); - return true; -}; +export async function fetchResults() { + const dockerUrl = (await browser.sharedStore.get('dockerInstanceUrl')) as string; + if (!dockerUrl) { + throw 'dockerInstanceUrl not set in shared store.'; + } + return (await fetch(`http://${dockerUrl}/micro/good`)).json(); +} diff --git a/trackers/javascript-tracker/test/pages/cookieless.html b/trackers/javascript-tracker/test/pages/cookieless.html index 3aff795e0..ce2a387ac 100644 --- a/trackers/javascript-tracker/test/pages/cookieless.html +++ b/trackers/javascript-tracker/test/pages/cookieless.html @@ -9,6 +9,7 @@ @@ -46,7 +47,7 @@ var ieTest = parseQuery().ieTest; window.snowplow('newTracker', 'sp', collector_endpoint, { - appId: ieTest ? 'ie' : 'anon', + appId: (ieTest ? 'cookieless-ie-' : 'cookieless-anon-') + testIdentifier, eventMethod: 'post', contexts: { webPage: true, diff --git a/trackers/javascript-tracker/test/pages/form-tracking.html b/trackers/javascript-tracker/test/pages/form-tracking.html index 23dff601b..627f067d1 100644 --- a/trackers/javascript-tracker/test/pages/form-tracking.html +++ b/trackers/javascript-tracker/test/pages/form-tracking.html @@ -66,6 +66,7 @@ @@ -66,7 +67,7 @@ var eventMethod = parseQuery().eventMethod; window.snowplow('newTracker', 'sp', collector_endpoint, { - appId: 'sp-' + eventMethod, + appId: 'sp-' + eventMethod + '-' + testIdentifier, platform: 'mob', eventMethod: eventMethod, contexts: { @@ -78,7 +79,7 @@ }); window.secondSnowplow('newTracker', 'b64off', collector_endpoint, { - appId: 'no-b64-' + eventMethod, + appId: 'no-b64-' + eventMethod + '-' + testIdentifier, platform: 'web', eventMethod: eventMethod, encodeBase64: false, diff --git a/trackers/javascript-tracker/test/pages/link-tracking.html b/trackers/javascript-tracker/test/pages/link-tracking.html index c17b76b5c..a600fe3be 100644 --- a/trackers/javascript-tracker/test/pages/link-tracking.html +++ b/trackers/javascript-tracker/test/pages/link-tracking.html @@ -25,6 +25,7 @@ @@ -48,7 +49,7 @@ document.write(collector_endpoint); snowplow('newTracker', 'sp', collector_endpoint, { - appId: 'autotracking', + appId: 'autotracking-link-' + testIdentifier, }); snowplow(function () { document.getElementById('init').innerText = 'true'; diff --git a/trackers/javascript-tracker/test/pages/media/tracking-2-players.html b/trackers/javascript-tracker/test/pages/media/tracking-2-players.html index ffd87fc98..1341a8160 100644 --- a/trackers/javascript-tracker/test/pages/media/tracking-2-players.html +++ b/trackers/javascript-tracker/test/pages/media/tracking-2-players.html @@ -3,7 +3,8 @@ Page for HTML5 media tracking testing with Snowplow Micro @@ -28,7 +29,7 @@ document.write(collector_endpoint); window.snowplow('newTracker', 'sp2', collector_endpoint, { - appId: 'html5-track-test', + appId: 'media-2-players-1-tracker-' + testIdentifier, }); window.snowplow('enableMediaTracking', { diff --git a/trackers/javascript-tracker/test/pages/media/tracking-2-trackers.html b/trackers/javascript-tracker/test/pages/media/tracking-2-trackers.html index 598c15165..3a56b5646 100644 --- a/trackers/javascript-tracker/test/pages/media/tracking-2-trackers.html +++ b/trackers/javascript-tracker/test/pages/media/tracking-2-trackers.html @@ -3,7 +3,8 @@ Page for HTML5 media tracking testing with Snowplow Micro @@ -28,10 +29,10 @@ document.write(collector_endpoint); window.snowplow('newTracker', 'sp1', collector_endpoint, { - appId: 'html5-track-test', + appId: 'media-1-player-2-trackers-' + testIdentifier, }); window.snowplow('newTracker', 'sp2', collector_endpoint, { - appId: 'html5-track-test', + appId: 'media-1-player-2-trackers-' + testIdentifier, }); window.snowplow('enableMediaTracking', { diff --git a/trackers/javascript-tracker/test/pages/media/tracking-all-events.html b/trackers/javascript-tracker/test/pages/media/tracking-all-events.html index bc6ad0f5d..9b517e26f 100644 --- a/trackers/javascript-tracker/test/pages/media/tracking-all-events.html +++ b/trackers/javascript-tracker/test/pages/media/tracking-all-events.html @@ -3,7 +3,8 @@ Page for HTML5 media tracking testing with Snowplow Micro @@ -28,7 +29,7 @@ document.write(collector_endpoint); window.snowplow('newTracker', 'sp2', collector_endpoint, { - appId: 'html5-track-test', + appId: 'media-all-events-' + testIdentifier, }); window.snowplow('enableMediaTracking', { diff --git a/trackers/javascript-tracker/test/pages/media/tracking.html b/trackers/javascript-tracker/test/pages/media/tracking.html index 712bf9310..6883ccf7b 100644 --- a/trackers/javascript-tracker/test/pages/media/tracking.html +++ b/trackers/javascript-tracker/test/pages/media/tracking.html @@ -3,7 +3,8 @@ Page for HTML5 media tracking testing with Snowplow Micro @@ -28,7 +29,7 @@ document.write(collector_endpoint); window.snowplow('newTracker', 'sp2', collector_endpoint, { - appId: 'html5-track-test', + appId: 'media-default-events-' + testIdentifier, }); window.snowplow('enableMediaTracking', { diff --git a/trackers/javascript-tracker/test/pages/session-integration.html b/trackers/javascript-tracker/test/pages/session-integration.html index 7e578611b..be3f72365 100644 --- a/trackers/javascript-tracker/test/pages/session-integration.html +++ b/trackers/javascript-tracker/test/pages/session-integration.html @@ -8,6 +8,7 @@ @@ -31,9 +32,11 @@ document.write(collector_endpoint); window.snowplow('newTracker', 'cookieSessionTracker', collector_endpoint, { + appId: 'session-integration-' + testIdentifier, sessionCookieTimeout: 1, cookieSameSite: 'Lax', cookieSecure: false, + cookieName: testIdentifier, contexts: { session: true, webPage: false, @@ -50,6 +53,8 @@ }, 3000); window.snowplow('newTracker', 'localStorageSessionTracker', collector_endpoint, { + appId: 'session-integration-' + testIdentifier, + cookieName: testIdentifier, sessionCookieTimeout: 1, stateStorageStrategy: 'localStorage', }); @@ -64,6 +69,8 @@ }, 3000); window.snowplow('newTracker', 'anonymousSessionTracker', collector_endpoint, { + appId: 'session-integration-' + testIdentifier, + cookieName: testIdentifier, sessionCookieTimeout: 1, stateStorageStrategy: 'localStorage', anonymousTracking: { withSessionTracking: true }, diff --git a/trackers/javascript-tracker/test/pages/session-update-callback.html b/trackers/javascript-tracker/test/pages/session-update-callback.html index 37bf61b2a..232b54a66 100644 --- a/trackers/javascript-tracker/test/pages/session-update-callback.html +++ b/trackers/javascript-tracker/test/pages/session-update-callback.html @@ -10,6 +10,7 @@ @@ -33,9 +34,10 @@ document.write(collector_endpoint); snowplow('newTracker', 'sp', collector_endpoint, { - appId: 'onSessionCallback', + appId: 'onSessionCallback' + testIdentifier, cookieSameSite: 'Lax', cookieSecure: false, + eventMethod: 'get', onSessionUpdateCallback: function (session) { snowplow('trackStructEvent:sp', { category: 'session_callback', diff --git a/trackers/javascript-tracker/test/pages/youtube/tracking-2-trackers.html b/trackers/javascript-tracker/test/pages/youtube/tracking-2-trackers.html index 7dac3936e..ca29cfc4e 100644 --- a/trackers/javascript-tracker/test/pages/youtube/tracking-2-trackers.html +++ b/trackers/javascript-tracker/test/pages/youtube/tracking-2-trackers.html @@ -2,7 +2,8 @@ Page for YouTube tracking testing with Snowplow Micro @@ -27,14 +28,14 @@ document.write(collector_endpoint); window.snowplow('newTracker', 'sp1', collector_endpoint, { - appId: 'youtube-track-test', + appId: 'yt-2-trackers-' + testIdentifier, }); window.snowplow('newTracker', 'sp2', collector_endpoint, { - appId: 'youtube-track-test', + appId: 'yt-2-trackers-' + testIdentifier, }); - let args = { + var args = { id: 'youtube', options: { label: 'test-label', @@ -48,7 +49,7 @@ id="youtube" width="560" height="315" - src="https://www.youtube.com/embed/zSM4ZyVe8xs" + src="https://www.youtube.com/embed/ublEqhffop0" title="YouTube video player" rel="0" frameborder="0" diff --git a/trackers/javascript-tracker/test/pages/youtube/tracking-2-videos.html b/trackers/javascript-tracker/test/pages/youtube/tracking-2-videos.html index 0c378f09c..72daf4395 100644 --- a/trackers/javascript-tracker/test/pages/youtube/tracking-2-videos.html +++ b/trackers/javascript-tracker/test/pages/youtube/tracking-2-videos.html @@ -2,7 +2,8 @@ Page for YouTube tracking testing with Snowplow Micro @@ -27,10 +28,10 @@ document.write(collector_endpoint); window.snowplow('newTracker', 'sp2', collector_endpoint, { - appId: 'youtube-track-test', + appId: 'yt-2-videos-' + testIdentifier, }); - let args = { + var args = { id: 'youtube', options: { label: 'test-label', @@ -54,7 +55,7 @@ id="youtube" width="560" height="315" - src="https://www.youtube.com/embed/zSM4ZyVe8xs" + src="https://www.youtube.com/embed/ublEqhffop0" title="YouTube video player" rel="0" frameborder="0" @@ -65,7 +66,7 @@ id="youtube-2" width="560" height="315" - src="https://www.youtube.com/embed/zSM4ZyVe8xs" + src="https://www.youtube.com/embed/ublEqhffop0" title="YouTube video player" rel="0" frameborder="0" diff --git a/trackers/javascript-tracker/test/pages/youtube/tracking-player.html b/trackers/javascript-tracker/test/pages/youtube/tracking-player.html index 068fac5bc..30215d3cd 100644 --- a/trackers/javascript-tracker/test/pages/youtube/tracking-player.html +++ b/trackers/javascript-tracker/test/pages/youtube/tracking-player.html @@ -2,7 +2,8 @@ Page for YouTube tracking testing with Snowplow Micro @@ -27,7 +28,7 @@ document.write(collector_endpoint); window.snowplow('newTracker', 'sp2', collector_endpoint, { - appId: 'youtube-track-test', + appId: 'yt-player-' + testIdentifier, });
@@ -41,7 +42,7 @@ // `onYouTubeIframeAPIReady` will run once the API is loaded function onYouTubeIframeAPIReady() { new YT.Player('youtube', { - videoId: 'zSM4ZyVe8xs', + videoId: 'ublEqhffop0', events: { onReady: (e) => window.snowplow('enableYouTubeTracking', { diff --git a/trackers/javascript-tracker/test/pages/youtube/tracking.html b/trackers/javascript-tracker/test/pages/youtube/tracking.html index 1aca8ce48..c522d64f8 100644 --- a/trackers/javascript-tracker/test/pages/youtube/tracking.html +++ b/trackers/javascript-tracker/test/pages/youtube/tracking.html @@ -2,52 +2,63 @@ Page for YouTube tracking testing with Snowplow Micro +
+ - diff --git a/trackers/javascript-tracker/test/tsconfig.json b/trackers/javascript-tracker/test/tsconfig.json index 581951010..7a2873829 100644 --- a/trackers/javascript-tracker/test/tsconfig.json +++ b/trackers/javascript-tracker/test/tsconfig.json @@ -1,7 +1,15 @@ { "extends": "../tsconfig.json", "compilerOptions": { - "types": ["node", "@wdio/types", "@wdio/globals/types", "@wdio/jasmine-framework", "jest"] + "types": [ + "node", + "@wdio/types", + "@wdio/globals/types", + "@wdio/jasmine-framework", + "jest", + "@wdio/shared-store-service", + "youtube" + ] }, "include": ["./**/*.test.ts"] } diff --git a/trackers/javascript-tracker/test/wdio.default.conf.ts b/trackers/javascript-tracker/test/wdio.default.conf.ts index d500b2ab3..99f3ed1a1 100644 --- a/trackers/javascript-tracker/test/wdio.default.conf.ts +++ b/trackers/javascript-tracker/test/wdio.default.conf.ts @@ -1,15 +1,21 @@ -function getFullPath(path: String): String { +import { DockerWrapper, start, stop } from './micro'; +import { setValue } from '@wdio/shared-store-service'; +import type { Options } from '@wdio/types'; + +function getFullPath(path: string): string { return process.cwd() + '/' + path; } -export const config = { - specs: [getFullPath('test/functional/*.test.ts'), getFullPath('test/integration/*.test.ts')], +type CustomTestRunnerConfig = Options.Testrunner & { dockerInstance?: DockerWrapper }; + +export const config: Omit = { + specs: [[getFullPath('test/functional/*.test.ts'), getFullPath('test/integration/*.test.ts')]], logLevel: 'warn', baseUrl: 'http://snowplow-js-tracker.local:8080', waitforTimeout: 30000, connectionRetryTimeout: 120000, connectionRetryCount: 3, - specFileRetries: 3, + specFileRetries: 1, specFileRetriesDelay: 60, // Delay in seconds between the spec file retry attempts specFileRetriesDeferred: true, // Defer retries to the end of the queue maxInstances: 5, // Maximum number of total parallel running workers @@ -18,4 +24,13 @@ export const config = { jasmineOpts: { defaultTimeoutInterval: 120000, }, + async onPrepare(config: CustomTestRunnerConfig) { + const isSauce = config.services?.some((service) => Array.isArray(service) && service[0] === 'sauce'); + config.dockerInstance = await start(isSauce); + await setValue('dockerInstanceUrl', config.dockerInstance.url); + return; + }, + async onComplete(_, config: CustomTestRunnerConfig) { + await stop(config.dockerInstance!.container); + }, }; diff --git a/trackers/javascript-tracker/test/wdio.local.conf.ts b/trackers/javascript-tracker/test/wdio.local.conf.ts index 273d6fa70..b46884fee 100644 --- a/trackers/javascript-tracker/test/wdio.local.conf.ts +++ b/trackers/javascript-tracker/test/wdio.local.conf.ts @@ -1,9 +1,10 @@ +import { Options } from '@wdio/types'; import { config as defaultConfig } from './wdio.default.conf'; -export const config = { +export const config: Partial = { ...defaultConfig, - maxInstances: 1, + maxInstances: 2, capabilities: [ { browserName: 'chrome', @@ -11,12 +12,24 @@ export const config = { args: ['--auto-open-devtools-for-tabs'], }, }, + // { + // browserName: 'safari', + // }, + // { + // browserName: 'MicrosoftEdge', + // port: 9515, + // 'ms:edgeOptions': { + // args: ['--auto-open-devtools-for-tabs'], + // }, + // } ], specFileRetries: 0, - logLevel: 'debug', - bail: 1, + logLevel: 'info', + bail: 4, services: [ - ['chromedriver', {}], + 'chromedriver', + // 'safaridriver', + // 'edgedriver', [ 'static-server', { @@ -24,5 +37,6 @@ export const config = { port: 8080, }, ], + 'shared-store', ], }; diff --git a/trackers/javascript-tracker/test/wdio.sauce.conf.ts b/trackers/javascript-tracker/test/wdio.sauce.conf.ts index 1d0f6bdf2..c0de2fea3 100644 --- a/trackers/javascript-tracker/test/wdio.sauce.conf.ts +++ b/trackers/javascript-tracker/test/wdio.sauce.conf.ts @@ -1,3 +1,4 @@ +import { Options } from '@wdio/types'; import { config as defaultConfig } from './wdio.default.conf'; let buildIdentifier = Math.floor(Math.random() * 1000000).toString(); @@ -7,7 +8,7 @@ if (process.env.GITHUB_WORKFLOW) { const buildName = `snowplow-js-tracker-${buildIdentifier}`; -export const config = { +export const config: Partial = { ...defaultConfig, user: process.env.SAUCE_USERNAME, @@ -50,15 +51,7 @@ export const config = { { browserName: 'MicrosoftEdge', platformName: 'Windows 10', - browserVersion: '97', - 'sauce:options': { - build: buildName, - }, - }, - { - browserName: 'internet explorer', - platformName: 'Windows 8.1', - browserVersion: '11', + browserVersion: 'latest', 'sauce:options': { build: buildName, }, @@ -95,5 +88,6 @@ export const config = { port: 8080, }, ], + 'shared-store', ], }; From c96c9eeb1070d5c5becccff72c6e3faf31f545ff Mon Sep 17 00:00:00 2001 From: Matus Tomlein Date: Mon, 7 Aug 2023 18:06:41 +0200 Subject: [PATCH 118/449] Filter out repeated seek and volume change events happening when user holds down the player controls (close #1218) PR #1219 --- ...epeated_media_events_2023-06-30-20-36.json | 10 ++ plugins/browser-plugin-media/src/api.ts | 25 ++-- .../browser-plugin-media/src/mediaTracking.ts | 43 ++---- .../src/repeatedEventFilter.ts | 79 +++++++++++ plugins/browser-plugin-media/src/types.ts | 43 +++++- plugins/browser-plugin-media/test/api.test.ts | 134 +++++++++++++++--- 6 files changed, 268 insertions(+), 66 deletions(-) create mode 100644 common/changes/@snowplow/browser-plugin-media/issue-1218-filter_out_repeated_media_events_2023-06-30-20-36.json create mode 100644 plugins/browser-plugin-media/src/repeatedEventFilter.ts diff --git a/common/changes/@snowplow/browser-plugin-media/issue-1218-filter_out_repeated_media_events_2023-06-30-20-36.json b/common/changes/@snowplow/browser-plugin-media/issue-1218-filter_out_repeated_media_events_2023-06-30-20-36.json new file mode 100644 index 000000000..037797552 --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-media/issue-1218-filter_out_repeated_media_events_2023-06-30-20-36.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-media", + "comment": "Filter out repeated seek and volume change events happening when user holds down the player controls (#1218)", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-media" +} \ 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 e83ab1a1a..8ef0bbf91 100644 --- a/plugins/browser-plugin-media/src/api.ts +++ b/plugins/browser-plugin-media/src/api.ts @@ -20,6 +20,7 @@ import { MediaTrackQualityChangeArguments, MediaTrackErrorArguments, MediaTrackSelfDescribingEventArguments, + EventWithContext, } from './types'; export { MediaAdBreakType as MediaPlayerAdBreakType }; @@ -78,6 +79,7 @@ export function startMediaTracking( config.boundaries, config.captureEvents, config.updatePageActivityWhilePlaying, + config.filterOutRepeatedEvents, config.context ); activeMedias[mediaTracking.id] = mediaTracking; @@ -85,13 +87,13 @@ export function startMediaTracking( /** * Ends media tracking with the given ID if previously started. - * Clears local state for the media tracking. + * Clears local state for the media tracking and sends any events waiting to be sent. * * @param configuration Configuration with the media tracking ID */ export function endMediaTracking(configuration: { id: string }) { if (activeMedias[configuration.id]) { - activeMedias[configuration.id].stop(); + activeMedias[configuration.id].flushAndStop(); delete activeMedias[configuration.id]; } } @@ -704,7 +706,13 @@ function track( return; } - const events = mediaTracking.update(mediaEvent, customEvent, player, ad, adBreak); + const trackEvent = (event: EventWithContext) => { + dispatchToTrackersInCollection(trackers, _trackers, (t) => { + t.core.track(buildSelfDescribingEvent(event), (event.context ?? []).concat(context), timestamp); + }); + }; + + mediaTracking.update(trackEvent, mediaEvent, customEvent, player, ad, adBreak); // Update page activity in order to keep sending page pings if needed if (mediaTracking.shouldUpdatePageActivity()) { @@ -712,15 +720,4 @@ function track( t.updatePageActivity(); }); } - - if (events.length == 0) { - return; - } - - // Send all created events to the trackers - dispatchToTrackersInCollection(trackers, _trackers, (t) => { - events.forEach((event) => { - t.core.track(buildSelfDescribingEvent(event), event.context.concat(context), timestamp); - }); - }); } diff --git a/plugins/browser-plugin-media/src/mediaTracking.ts b/plugins/browser-plugin-media/src/mediaTracking.ts index 0082057b6..e60a5f81f 100644 --- a/plugins/browser-plugin-media/src/mediaTracking.ts +++ b/plugins/browser-plugin-media/src/mediaTracking.ts @@ -10,7 +10,10 @@ import { MediaPlayerUpdate, MediaEventType, MediaEvent, + EventWithContext, + FilterOutRepeatedEvents, } from './types'; +import { RepeatedEventFilter } from './repeatedEventFilter'; /** * Manages the state and built-in entities for a media tracking that starts when a user @@ -39,14 +42,14 @@ export class MediaTracking { private pingInterval?: MediaPingInterval; /// Manages ad entities. private adTracking = new MediaAdTracking(); - /// Used to prevent tracking seek start events multiple times. - private isSeeking = false; /// Context entities to attach to all events private customContext?: Array; /// Optional list of event types to allow tracking and discard others. private captureEvents?: MediaEventType[]; // Whether to update page activity when playing media. Enabled by default. private updatePageActivityWhilePlaying?: boolean; + /// Filters out repeated events based on the configuration. + private repeatedEventFilter: RepeatedEventFilter; constructor( id: string, @@ -56,6 +59,7 @@ export class MediaTracking { boundaries?: number[], captureEvents?: MediaEventType[], updatePageActivityWhilePlaying?: boolean, + filterRepeatedEvents?: FilterOutRepeatedEvents, context?: Array ) { this.id = id; @@ -66,6 +70,7 @@ export class MediaTracking { this.captureEvents = captureEvents; this.updatePageActivityWhilePlaying = updatePageActivityWhilePlaying; this.customContext = context; + this.repeatedEventFilter = new RepeatedEventFilter(filterRepeatedEvents); // validate event names in the captureEvents list captureEvents?.forEach((eventType) => { @@ -78,8 +83,9 @@ export class MediaTracking { /** * Called when user calls `endMediaTracking()`. */ - stop() { + flushAndStop() { this.pingInterval?.clear(); + this.repeatedEventFilter.flush(); } /** @@ -91,12 +97,13 @@ export class MediaTracking { * @returns List of events with entities to track. */ update( + trackEvent: (event: EventWithContext) => void, mediaEvent?: MediaEvent, customEvent?: SelfDescribingJson, player?: MediaPlayerUpdate, ad?: MediaAdUpdate, adBreak?: MediaPlayerAdBreakUpdate - ): { event: SelfDescribingJson; context: SelfDescribingJson[] }[] { + ) { // update state this.updatePlayer(player); if (mediaEvent !== undefined) { @@ -138,7 +145,8 @@ export class MediaTracking { if (customEvent !== undefined) { eventsToTrack.push({ event: customEvent, context: context }); } - return eventsToTrack; + + this.repeatedEventFilter.trackFilteredEvents(eventsToTrack, trackEvent); } shouldUpdatePageActivity(): boolean { @@ -173,34 +181,11 @@ export class MediaTracking { } private shouldTrackEvent(eventType: MediaEventType): boolean { - return this.updateSeekingAndCheckIfShouldTrack(eventType) && this.allowedToCaptureEventType(eventType); - } - - /** Prevents multiple seek start events to be tracked after each other without a seek end (happens when scrubbing). */ - private updateSeekingAndCheckIfShouldTrack(eventType: MediaEventType): boolean { - if (eventType == MediaEventType.SeekStart) { - if (this.isSeeking) { - return false; - } - - this.isSeeking = true; - } else if (eventType == MediaEventType.SeekEnd) { - this.isSeeking = false; - } - - return true; - } - - private allowedToCaptureEventType(eventType: MediaEventType): boolean { return this.captureEvents === undefined || this.captureEvents.includes(eventType); } private getPercentProgress(): number | undefined { - if ( - this.player.duration === null || - this.player.duration === undefined || - this.player.duration == 0 - ) { + if (this.player.duration === null || this.player.duration === undefined || this.player.duration == 0) { return undefined; } return Math.floor(((this.player.currentTime ?? 0) / this.player.duration) * 100); diff --git a/plugins/browser-plugin-media/src/repeatedEventFilter.ts b/plugins/browser-plugin-media/src/repeatedEventFilter.ts new file mode 100644 index 000000000..2b2f6a400 --- /dev/null +++ b/plugins/browser-plugin-media/src/repeatedEventFilter.ts @@ -0,0 +1,79 @@ +import { getMediaEventSchema } from './schemata'; +import { FilterOutRepeatedEvents, MediaEventType, EventWithContext } from './types'; + +/** + * This class filters out repeated events that are sent by the media player. + * This applies to seek and volume change events. + */ +export class RepeatedEventFilter { + private aggregateEventsWithOrder: { [schema: string]: boolean } = {}; + private eventsToAggregate: { [schema: string]: (() => void)[] } = {}; + private flushTimeout?: number; + private flushTimeoutMs: number; + + constructor(configuration?: FilterOutRepeatedEvents) { + let allFiltersEnabled = configuration === undefined || configuration === true; + if (allFiltersEnabled || (typeof configuration === 'object' && configuration.seekEvents !== false)) { + this.aggregateEventsWithOrder[getMediaEventSchema(MediaEventType.SeekStart)] = true; + this.aggregateEventsWithOrder[getMediaEventSchema(MediaEventType.SeekEnd)] = false; + } + if (allFiltersEnabled || (typeof configuration === 'object' && configuration.volumeChangeEvents !== false)) { + this.aggregateEventsWithOrder[getMediaEventSchema(MediaEventType.VolumeChange)] = false; + } + + this.flushTimeoutMs = (typeof configuration === 'object' ? configuration.flushTimeoutMs : undefined) ?? 5000; + + Object.keys(this.aggregateEventsWithOrder).forEach((schema) => { + this.eventsToAggregate[schema] = []; + }); + } + + trackFilteredEvents(events: EventWithContext[], trackEvent: (event: EventWithContext) => void) { + let startFlushTimeout = false; + + events.forEach(({ event, context }) => { + if (this.eventsToAggregate[event.schema] !== undefined) { + startFlushTimeout = true; + this.eventsToAggregate[event.schema].push(() => trackEvent({ event, context })); + } else { + startFlushTimeout = false; + // flush any events waiting + this.flush(); + + trackEvent({ event, context }); + } + }); + + if (startFlushTimeout && this.flushTimeout === undefined) { + this.setFlushTimeout(); + } + } + + flush() { + this.clearFlushTimeout(); + + Object.keys(this.eventsToAggregate).forEach((schema) => { + let eventsToAggregate = this.eventsToAggregate[schema]; + if (eventsToAggregate.length > 0) { + if (this.aggregateEventsWithOrder[schema]) { + eventsToAggregate[0](); + } else { + eventsToAggregate[eventsToAggregate.length - 1](); + } + this.eventsToAggregate[schema] = []; + } + }); + } + + private clearFlushTimeout() { + if (this.flushTimeout !== undefined) { + clearTimeout(this.flushTimeout); + this.flushTimeout = undefined; + } + } + + private setFlushTimeout() { + this.clearFlushTimeout(); + this.flushTimeout = window.setTimeout(() => this.flush(), this.flushTimeoutMs); + } +} diff --git a/plugins/browser-plugin-media/src/types.ts b/plugins/browser-plugin-media/src/types.ts index 923c719fb..dda74a041 100644 --- a/plugins/browser-plugin-media/src/types.ts +++ b/plugins/browser-plugin-media/src/types.ts @@ -72,16 +72,40 @@ export enum MediaEventType { Error = 'error', } +/** + * Configuration for filtering out repeated events of the same type tracked after each other. + * By default, the seek start, seek end and volume change events are filtered out. + */ +export type FilterOutRepeatedEvents = + | { + /** + * Whether to filter out seek start and end events tracked after each other. + */ + seekEvents?: boolean; + /** + * Whether to filter out volume change events tracked after each other. + */ + volumeChangeEvents?: boolean; + /** + * Timeout in milliseconds after which to send the events that are queued for filtering. + * Defaults to 5000 ms. + */ + flushTimeoutMs?: number; + } + | boolean; + export type MediaTrackingConfiguration = { /** Unique ID of the media tracking. The same ID will be used for media player session if enabled. */ id: string; /** Attributes for the media player context entity */ player?: MediaPlayerUpdate; /** Attributes for the media player session context entity or false to disable it. Enabled by default. */ - session?: { - /** Local date-time timestamp of when the session started. Automatically set to current time if not given. */ - startedAt?: Date - } | false; + session?: + | { + /** Local date-time timestamp of when the session started. Automatically set to current time if not given. */ + startedAt?: Date; + } + | false; /** Configuration for sending ping events. Enabled by default. */ pings?: | { @@ -101,6 +125,13 @@ export type MediaTrackingConfiguration = { * Otherwise, tracked event types not present in the list will be discarded. */ captureEvents?: MediaEventType[]; + /** + * Whether to filter out repeated events of the same type tracked after each other. + * Useful to filter out repeated seek and volume change events tracked when the user holds down the seek or volume control. + * Only applies to seek and volume change events. + * Defaults to true. + */ + filterOutRepeatedEvents?: FilterOutRepeatedEvents; }; export type MediaTrackPlaybackRateChangeArguments = { @@ -380,3 +411,7 @@ export interface CommonMediaEventProperties extends CommonEventProperties { /** Add context entities to an event by setting an Array of Self Describing JSON */ context?: Array; } + +export interface EventWithContext extends CommonEventProperties { + event: SelfDescribingJson; +} diff --git a/plugins/browser-plugin-media/test/api.test.ts b/plugins/browser-plugin-media/test/api.test.ts index d71470ea9..68803bb12 100644 --- a/plugins/browser-plugin-media/test/api.test.ts +++ b/plugins/browser-plugin-media/test/api.test.ts @@ -81,7 +81,7 @@ describe('Media Tracking API', () => { { api: trackMediaBufferEnd, eventType: MediaEventType.BufferEnd }, ].forEach((test) => { it(`tracks a ${test.eventType} event`, () => { - startMediaTracking({ id }); + startMediaTracking({ id, filterOutRepeatedEvents: false }); test.api({ id }); @@ -182,7 +182,7 @@ describe('Media Tracking API', () => { it('tracks an ad first quartile event', () => { startMediaTracking({ id, session: false }); - trackMediaAdFirstQuartile({ id }) + trackMediaAdFirstQuartile({ id }); expect(eventQueue).toMatchObject([ { @@ -197,7 +197,7 @@ describe('Media Tracking API', () => { it('tracks an ad midpoint event', () => { startMediaTracking({ id, session: false }); - trackMediaAdMidpoint({ id }) + trackMediaAdMidpoint({ id }); expect(eventQueue).toMatchObject([ { @@ -212,7 +212,7 @@ describe('Media Tracking API', () => { it('tracks an ad third quartile event', () => { startMediaTracking({ id, session: false }); - trackMediaAdThirdQuartile({ id }) + trackMediaAdThirdQuartile({ id }); expect(eventQueue).toMatchObject([ { @@ -227,7 +227,7 @@ describe('Media Tracking API', () => { it('tracks an ad skip event', () => { startMediaTracking({ id, session: false }); - trackMediaAdSkip({ id, percentProgress: 33.33 }) + trackMediaAdSkip({ id, percentProgress: 33.33 }); expect(eventQueue).toMatchObject([ { @@ -242,7 +242,7 @@ describe('Media Tracking API', () => { it('tracks an ad click event', () => { startMediaTracking({ id, session: false }); - trackMediaAdClick({ id, percentProgress: 33.33 }) + trackMediaAdClick({ id, percentProgress: 33.33 }); expect(eventQueue).toMatchObject([ { @@ -257,7 +257,7 @@ describe('Media Tracking API', () => { it('tracks an ad pause event', () => { startMediaTracking({ id, session: false }); - trackMediaAdPause({ id, percentProgress: 33.33 }) + trackMediaAdPause({ id, percentProgress: 33.33 }); expect(eventQueue).toMatchObject([ { @@ -272,7 +272,7 @@ describe('Media Tracking API', () => { it('tracks an ad resume event', () => { startMediaTracking({ id, session: false }); - trackMediaAdResume({ id, percentProgress: 33.33 }) + trackMediaAdResume({ id, percentProgress: 33.33 }); expect(eventQueue).toMatchObject([ { @@ -371,18 +371,112 @@ describe('Media Tracking API', () => { ]); }); - it('doesnt track seek start multiple times', () => { - startMediaTracking({ id, player: { duration: 100 }, session: false }); - trackMediaSeekStart({ id, player: { currentTime: 1 } }); - trackMediaSeekStart({ id, player: { currentTime: 2 } }); - trackMediaSeekEnd({ id, player: { currentTime: 3 } }); - trackMediaSeekStart({ id, player: { currentTime: 3 } }); + describe('filtering repeated events', () => { + it('doesnt track seek start and end multiple times', () => { + startMediaTracking({ id, player: { duration: 100 }, session: false }); + trackMediaSeekStart({ id, player: { currentTime: 1 } }); + trackMediaSeekEnd({ id, player: { currentTime: 2 } }); + trackMediaSeekStart({ id, player: { currentTime: 2 } }); + trackMediaSeekEnd({ id, player: { currentTime: 3 } }); + trackMediaSeekStart({ id, player: { currentTime: 3 } }); + trackMediaSeekEnd({ id, player: { currentTime: 4 } }); + trackMediaPlay({ id }); + + expect(eventQueue).toMatchObject([ + { + event: { schema: getMediaEventSchema(MediaEventType.SeekStart) }, + context: [{ data: { currentTime: 1 } }], + }, + { + event: { schema: getMediaEventSchema(MediaEventType.SeekEnd) }, + context: [{ data: { currentTime: 4 } }], + }, + { event: { schema: getMediaEventSchema(MediaEventType.Play) } }, + ]); + }); - expect(eventQueue).toMatchObject([ - { event: { schema: getMediaEventSchema(MediaEventType.SeekStart) } }, - { event: { schema: getMediaEventSchema(MediaEventType.SeekEnd) } }, - { event: { schema: getMediaEventSchema(MediaEventType.SeekStart) } }, - ]); + it('doesnt filter out repeated seek events when disabled', () => { + startMediaTracking({ id, filterOutRepeatedEvents: { seekEvents: false } }); + trackMediaSeekStart({ id, player: { currentTime: 1 } }); + trackMediaSeekEnd({ id, player: { currentTime: 2 } }); + trackMediaSeekStart({ id, player: { currentTime: 2 } }); + trackMediaSeekEnd({ id, player: { currentTime: 3 } }); + trackMediaSeekStart({ id, player: { currentTime: 3 } }); + trackMediaSeekEnd({ id, player: { currentTime: 4 } }); + + expect(eventQueue.length).toBe(6); + }); + + it('doesnt track volume change multiple times', () => { + startMediaTracking({ id, session: false }); + trackMediaVolumeChange({ id, newVolume: 50 }); + trackMediaVolumeChange({ id, newVolume: 60 }); + trackMediaVolumeChange({ id, newVolume: 70 }); + trackMediaPause({ id }); + + expect(eventQueue).toMatchObject([ + { + event: { + schema: getMediaEventSchema(MediaEventType.VolumeChange), + data: { + previousVolume: 60, + newVolume: 70, + }, + }, + }, + { event: { schema: getMediaEventSchema(MediaEventType.Pause) } }, + ]); + }); + + it('doesnt filter out repeated volume change events when disabled', () => { + startMediaTracking({ id, filterOutRepeatedEvents: { volumeChangeEvents: false } }); + trackMediaVolumeChange({ id, newVolume: 50 }); + trackMediaVolumeChange({ id, newVolume: 60 }); + trackMediaVolumeChange({ id, newVolume: 70 }); + trackMediaPause({ id }); + + expect(eventQueue.length).toBe(4); + }); + + it('flushes aggregated events on end tracking', () => { + startMediaTracking({ id, session: false }); + trackMediaVolumeChange({ id, newVolume: 50 }); + trackMediaVolumeChange({ id, newVolume: 60 }); + trackMediaVolumeChange({ id, newVolume: 70 }); + endMediaTracking({ id }); + + expect(eventQueue).toMatchObject([ + { + event: { + schema: getMediaEventSchema(MediaEventType.VolumeChange), + data: { + previousVolume: 60, + newVolume: 70, + }, + }, + }, + ]); + }); + + it('remembers context entities on flush', () => { + startMediaTracking({ id, session: false }); + trackMediaVolumeChange({ id, newVolume: 50 }); + trackMediaVolumeChange({ id, newVolume: 60 }); + trackMediaVolumeChange({ id, newVolume: 70, context: [{ schema: 'entity', data: {} }] }); + endMediaTracking({ id }); + + expect(eventQueue).toMatchObject([{ context: [{ schema: MEDIA_PLAYER_SCHEMA }, { schema: 'entity' }] }]); + }); + + it('flushes events that are waiting to be filtered automatically after timeout', (done) => { + startMediaTracking({ id, filterOutRepeatedEvents: { flushTimeoutMs: 0 } }); + trackMediaVolumeChange({ id, newVolume: 50 }); + + setTimeout(() => { + expect(eventQueue.length).toBe(1); + done(); + }, 0); + }); }); it('adds custom context entities to all events', () => { @@ -632,6 +726,7 @@ describe('Media Tracking API', () => { for (let i = 1; i <= 100; i++) { updateMediaTracking({ id, player: { currentTime: i } }); } + trackMediaEnd({ id, player: { currentTime: 100 } }); expect(eventQueue).toMatchObject([ { event: { schema: getMediaEventSchema(MediaEventType.Play) } }, @@ -647,6 +742,7 @@ describe('Media Tracking API', () => { }, context: [{ data: { currentTime: 0 } }], }, + { event: { schema: getMediaEventSchema(MediaEventType.End) } }, ]); }); }); From bb92a4574c0bf6601c9c4f35ce4fe76ecb74f0df Mon Sep 17 00:00:00 2001 From: Greg Leonard <45019882+greg-el@users.noreply.github.com> Date: Mon, 7 Aug 2023 17:37:12 +0100 Subject: [PATCH 119/449] Add Vimeo tracking plugin (close #1156) PR: #1212 This commit adds a plugin to automatically track Vimeo videos, utilising the Snowplow Media plugin. --- ...ue-1156-vimeo_plugin_2023-06-27-11-42.json | 10 + ...ue-1156-vimeo_plugin_2023-06-27-11-42.json | 10 + .../rush/browser-approved-packages.json | 82 ++---- common/config/rush/pnpm-lock.yaml | 139 ++++++--- common/config/rush/repo-state.json | 2 +- .../browser-plugin-vimeo-tracking/.gitignore | 3 + plugins/browser-plugin-vimeo-tracking/LICENSE | 29 ++ .../browser-plugin-vimeo-tracking/README.md | 59 ++++ .../jest.config.js | 5 + .../package.json | 55 ++++ .../rollup.config.js | 37 +++ .../src/events.ts | 106 +++++++ .../src/index.ts | 17 ++ .../src/initialization.ts | 108 +++++++ .../src/mediaPluginBinding.ts | 202 +++++++++++++ .../src/schema.ts | 25 ++ .../src/types.ts | 196 +++++++++++++ .../src/utils.ts | 121 ++++++++ .../test/vimeo.test.ts | 54 ++++ .../tsconfig.json | 3 + rush.json | 6 + trackers/javascript-tracker/package.json | 2 + trackers/javascript-tracker/src/features.ts | 12 + .../test/integration/vimeo.test.ts | 272 ++++++++++++++++++ .../test/pages/vimeo/iframe.html | 52 ++++ .../test/pages/vimeo/player.html | 54 ++++ trackers/javascript-tracker/tracker.config.ts | 2 + .../javascript-tracker/tracker.lite.config.ts | 2 + .../javascript-tracker/tracker.test.config.ts | 2 + 29 files changed, 1572 insertions(+), 95 deletions(-) create mode 100644 common/changes/@snowplow/browser-plugin-vimeo-tracking/issue-1156-vimeo_plugin_2023-06-27-11-42.json create mode 100644 common/changes/@snowplow/javascript-tracker/issue-1156-vimeo_plugin_2023-06-27-11-42.json create mode 100644 plugins/browser-plugin-vimeo-tracking/.gitignore create mode 100644 plugins/browser-plugin-vimeo-tracking/LICENSE create mode 100644 plugins/browser-plugin-vimeo-tracking/README.md create mode 100644 plugins/browser-plugin-vimeo-tracking/jest.config.js create mode 100644 plugins/browser-plugin-vimeo-tracking/package.json create mode 100644 plugins/browser-plugin-vimeo-tracking/rollup.config.js create mode 100644 plugins/browser-plugin-vimeo-tracking/src/events.ts create mode 100644 plugins/browser-plugin-vimeo-tracking/src/index.ts create mode 100644 plugins/browser-plugin-vimeo-tracking/src/initialization.ts create mode 100644 plugins/browser-plugin-vimeo-tracking/src/mediaPluginBinding.ts create mode 100644 plugins/browser-plugin-vimeo-tracking/src/schema.ts create mode 100644 plugins/browser-plugin-vimeo-tracking/src/types.ts create mode 100644 plugins/browser-plugin-vimeo-tracking/src/utils.ts create mode 100644 plugins/browser-plugin-vimeo-tracking/test/vimeo.test.ts create mode 100644 plugins/browser-plugin-vimeo-tracking/tsconfig.json create mode 100644 trackers/javascript-tracker/test/integration/vimeo.test.ts create mode 100644 trackers/javascript-tracker/test/pages/vimeo/iframe.html create mode 100644 trackers/javascript-tracker/test/pages/vimeo/player.html diff --git a/common/changes/@snowplow/browser-plugin-vimeo-tracking/issue-1156-vimeo_plugin_2023-06-27-11-42.json b/common/changes/@snowplow/browser-plugin-vimeo-tracking/issue-1156-vimeo_plugin_2023-06-27-11-42.json new file mode 100644 index 000000000..82d1f2082 --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-vimeo-tracking/issue-1156-vimeo_plugin_2023-06-27-11-42.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-vimeo-tracking", + "comment": "Add Vimeo tracking plugin (close #1156)", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-vimeo-tracking" +} \ No newline at end of file diff --git a/common/changes/@snowplow/javascript-tracker/issue-1156-vimeo_plugin_2023-06-27-11-42.json b/common/changes/@snowplow/javascript-tracker/issue-1156-vimeo_plugin_2023-06-27-11-42.json new file mode 100644 index 000000000..ae2f53795 --- /dev/null +++ b/common/changes/@snowplow/javascript-tracker/issue-1156-vimeo_plugin_2023-06-27-11-42.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/common/config/rush/browser-approved-packages.json b/common/config/rush/browser-approved-packages.json index 7be9b8244..c898dc7ff 100644 --- a/common/config/rush/browser-approved-packages.json +++ b/common/config/rush/browser-approved-packages.json @@ -26,22 +26,6 @@ "name": "@rollup/plugin-replace", "allowedCategories": [ "trackers" ] }, - { - "name": "@snowplow/browser-core", - "allowedCategories": [ "plugins", "trackers" ] - }, - { - "name": "@snowplow/browser-detectors", - "allowedCategories": [ "trackers" ] - }, - { - "name": "@snowplow/browser-environment", - "allowedCategories": [ "libraries" ] - }, - { - "name": "@snowplow/browser-helpers", - "allowedCategories": [ "plugins", "trackers" ] - }, { "name": "@snowplow/browser-plugin-ad-tracking", "allowedCategories": [ "trackers" ] @@ -58,10 +42,6 @@ "name": "@snowplow/browser-plugin-consent", "allowedCategories": [ "trackers" ] }, - { - "name": "@snowplow/browser-plugin-core", - "allowedCategories": [ "plugins" ] - }, { "name": "@snowplow/browser-plugin-ecommerce", "allowedCategories": [ "trackers" ] @@ -86,10 +66,6 @@ "name": "@snowplow/browser-plugin-ga-cookies", "allowedCategories": [ "trackers" ] }, - { - "name": "@snowplow/browser-plugin-gdpr", - "allowedCategories": [ "trackers" ] - }, { "name": "@snowplow/browser-plugin-geolocation", "allowedCategories": [ "trackers" ] @@ -98,6 +74,10 @@ "name": "@snowplow/browser-plugin-link-click-tracking", "allowedCategories": [ "trackers" ] }, + { + "name": "@snowplow/browser-plugin-media", + "allowedCategories": [ "plugins", "trackers" ] + }, { "name": "@snowplow/browser-plugin-media-tracking", "allowedCategories": [ "trackers" ] @@ -127,7 +107,7 @@ "allowedCategories": [ "trackers" ] }, { - "name": "@snowplow/browser-plugin-web-vitals", + "name": "@snowplow/browser-plugin-vimeo-tracking", "allowedCategories": [ "trackers" ] }, { @@ -142,10 +122,6 @@ "name": "@snowplow/browser-tracker-core", "allowedCategories": [ "plugins", "trackers" ] }, - { - "name": "@snowplow/plugin-core", - "allowedCategories": [ "libraries", "plugins" ] - }, { "name": "@snowplow/tracker-core", "allowedCategories": [ "libraries", "plugins", "trackers" ] @@ -164,19 +140,15 @@ }, { "name": "@types/jstimezonedetect", - "allowedCategories": [ "libraries", "plugins", "trackers" ] + "allowedCategories": [ "plugins" ] }, { "name": "@types/lodash", - "allowedCategories": [ "libraries", "plugins", "trackers" ] - }, - { - "name": "@types/nock", - "allowedCategories": [ "trackers" ] + "allowedCategories": [ "plugins", "trackers" ] }, { "name": "@types/node", - "allowedCategories": [ "libraries", "plugins", "trackers" ] + "allowedCategories": [ "libraries", "trackers" ] }, { "name": "@types/node-fetch", @@ -188,7 +160,7 @@ }, { "name": "@types/sha1", - "allowedCategories": [ "libraries", "trackers" ] + "allowedCategories": [ "libraries" ] }, { "name": "@types/sinon", @@ -196,7 +168,11 @@ }, { "name": "@types/uuid", - "allowedCategories": [ "libraries", "plugins", "trackers" ] + "allowedCategories": [ "libraries", "plugins" ] + }, + { + "name": "@types/vimeo__player", + "allowedCategories": [ "plugins" ] }, { "name": "@types/youtube", @@ -210,6 +186,10 @@ "name": "@typescript-eslint/parser", "allowedCategories": [ "libraries", "plugins", "trackers" ] }, + { + "name": "@vimeo/player", + "allowedCategories": [ "plugins" ] + }, { "name": "@wdio/cli", "allowedCategories": [ "trackers" ] @@ -248,7 +228,7 @@ }, { "name": "ava", - "allowedCategories": [ "libraries", "plugins", "trackers" ] + "allowedCategories": [ "libraries", "trackers" ] }, { "name": "chalk", @@ -294,21 +274,13 @@ "name": "jest-standard-reporter", "allowedCategories": [ "libraries", "plugins", "trackers" ] }, - { - "name": "jsdom", - "allowedCategories": [ "libraries" ] - }, - { - "name": "jsdom-global", - "allowedCategories": [ "libraries" ] - }, { "name": "jstimezonedetect", - "allowedCategories": [ "libraries", "plugins", "trackers" ] + "allowedCategories": [ "plugins" ] }, { "name": "lodash", - "allowedCategories": [ "libraries", "plugins", "trackers" ] + "allowedCategories": [ "plugins", "trackers" ] }, { "name": "moment-timezone", @@ -326,10 +298,6 @@ "name": "npm-run-all", "allowedCategories": [ "trackers" ] }, - { - "name": "prettier", - "allowedCategories": [ "libraries", "plugins", "trackers" ] - }, { "name": "randomcolor", "allowedCategories": [ "plugins" ] @@ -344,7 +312,7 @@ }, { "name": "rollup-plugin-filesize", - "allowedCategories": [ "plugins", "trackers" ] + "allowedCategories": [ "trackers" ] }, { "name": "rollup-plugin-license", @@ -368,7 +336,7 @@ }, { "name": "sha1", - "allowedCategories": [ "libraries", "trackers" ] + "allowedCategories": [ "libraries" ] }, { "name": "sinon", @@ -380,7 +348,7 @@ }, { "name": "ts-node", - "allowedCategories": [ "libraries", "plugins", "trackers" ] + "allowedCategories": [ "libraries", "trackers" ] }, { "name": "tslib", @@ -392,7 +360,7 @@ }, { "name": "uuid", - "allowedCategories": [ "libraries", "plugins", "trackers" ] + "allowedCategories": [ "libraries", "plugins" ] }, { "name": "wdio-chromedriver-service", diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index 66c824323..0afcff1f7 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -1231,6 +1231,61 @@ importers: ts-jest: 27.1.3_60149d457e34ffba7d4e845dde6a1263 typescript: 4.6.2 + ../../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 + ../../plugins/browser-plugin-web-vitals: specifiers: '@ampproject/rollup-plugin-closure-compiler': ~0.27.0 @@ -1406,6 +1461,7 @@ importers: '@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:* @@ -1413,6 +1469,7 @@ importers: '@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:* @@ -1472,6 +1529,7 @@ importers: '@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 @@ -1479,6 +1537,7 @@ importers: '@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 @@ -2545,7 +2604,7 @@ packages: engines: {node: '>= 8.0.0'} dependencies: estree-walker: 2.0.2 - picomatch: 2.2.2 + picomatch: 2.3.1 dev: true /@sinclair/typebox/0.25.21: @@ -2876,6 +2935,10 @@ packages: resolution: {integrity: sha512-XDwyIlt/47l2kWLTzw/mtrpLdB+GPSskR2n/PIcPn+VYhVO77rGhRncIR5GPU0KRzXuqkDO+J5qqrG0Y8P6jzQ==} dev: true + /@types/vimeo__player/2.16.3: + resolution: {integrity: sha512-hsOe6CZFTNyfjRjQUrNHBF4LDmjvjcU2yQIPWp5AglKeGxt11JYGToQhKUPM876gBXggqR6rMQ0/sNI06ec2Rg==} + dev: true + /@types/which/2.0.1: resolution: {integrity: sha512-Jjakcv8Roqtio6w1gr0D7y6twbhx6gGgFGF5BLwajPpnOIOxFkakFhCq+LmyyeAz7BX6ULrjBOxdKaCDy+4+dQ==} dev: true @@ -3046,6 +3109,13 @@ packages: eslint-visitor-keys: 3.3.0 dev: true + /@vimeo/player/2.16.4: + resolution: {integrity: sha512-i+ids9ziQuai3mp8XzF9Q5b2hLgRCekRcefdnoy+RkKUR8Xq0cJndnk9jHugEOw8v6PLj7tO3eEAw4lu2/AG2Q==} + dependencies: + native-promise-only: 0.8.1 + weakmap-polyfill: 2.0.4 + dev: false + /@wdio/cli/8.3.5_typescript@4.6.2: resolution: {integrity: sha512-xg/03aYpMCEWdcc9dY/GmPePfzTR/yMRJLwtp5WWYrCl6eEAeViSpf4PLC6ieC5O6IMLWVR/2Os8DrC5PKQq/Q==} engines: {node: ^16.13 || >=18} @@ -3646,7 +3716,7 @@ packages: dev: true /asynckit/0.4.0: - resolution: {integrity: sha1-x57Zf380y48robyXkLzDZkdLS3k=} + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} dev: true /ava/4.1.0: @@ -3800,7 +3870,7 @@ packages: dev: true /balanced-match/1.0.0: - resolution: {integrity: sha1-ibTRmasr7kneFk6gK4nORi1xt2c=} + resolution: {integrity: sha512-9Y0g0Q8rmSt+H33DfKv7FOc3v+iRI+o1lbzt8jGcIosYW37IIW/2XVYq5NPdmaD5NQ59Nk26Kl/vZbwW9Fr8vg==} dev: true /base64-js/1.5.1: @@ -4503,7 +4573,7 @@ packages: dev: true /color-name/1.1.3: - resolution: {integrity: sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=} + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} dev: true /color-name/1.1.4: @@ -4957,7 +5027,7 @@ packages: dev: true /delayed-stream/1.0.0: - resolution: {integrity: sha1-3zrhmayt+31ECqrgsp4icrJOxhk=} + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} engines: {node: '>=0.4.0'} dev: true @@ -5316,7 +5386,7 @@ packages: dev: true /escape-string-regexp/1.0.5: - resolution: {integrity: sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=} + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} engines: {node: '>=0.8.0'} dev: true @@ -6528,7 +6598,7 @@ packages: dependencies: '@tootallnate/once': 1.1.2 agent-base: 6.0.2 - debug: 4.3.3 + debug: 4.3.4 transitivePeerDependencies: - supports-color dev: true @@ -6660,7 +6730,7 @@ packages: dev: true /imurmurhash/0.1.4: - resolution: {integrity: sha1-khi5srkoojixPcT7a21XbyMUU+o=} + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} dev: true @@ -6751,7 +6821,7 @@ packages: dev: true /is-arrayish/0.2.1: - resolution: {integrity: sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=} + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} dev: true /is-binary-path/2.1.0: @@ -6801,7 +6871,7 @@ packages: dev: true /is-extglob/2.1.1: - resolution: {integrity: sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=} + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} dev: true @@ -6940,7 +7010,7 @@ packages: dev: true /is-typedarray/1.0.0: - resolution: {integrity: sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=} + resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} dev: true /is-unicode-supported/1.1.0: @@ -7457,11 +7527,11 @@ packages: '@jest/types': 26.6.2 '@types/stack-utils': 2.0.0 chalk: 4.1.2 - graceful-fs: 4.2.4 - micromatch: 4.0.2 + graceful-fs: 4.2.9 + micromatch: 4.0.4 pretty-format: 26.6.2 slash: 3.0.0 - stack-utils: 2.0.3 + stack-utils: 2.0.5 dev: true /jest-message-util/27.5.1: @@ -7680,9 +7750,9 @@ packages: '@jest/types': 26.6.2 '@types/node': 14.6.4 chalk: 4.1.2 - graceful-fs: 4.2.4 + graceful-fs: 4.2.9 is-ci: 2.0.0 - micromatch: 4.0.2 + micromatch: 4.0.4 dev: true /jest-util/27.5.1: @@ -7928,7 +7998,7 @@ packages: engines: {node: '>=6'} hasBin: true dependencies: - minimist: 1.2.5 + minimist: 1.2.8 dev: true /jsonfile/6.1.0: @@ -8342,14 +8412,6 @@ packages: resolution: {integrity: sha512-lkJ3Rj/mtjlRcHk6YyCbvZhyWTOzdBvTHsxMmZSk5jxN1YyVSQ+JETAom55mdzfcyDrY/49Z7UCW760BK30crg==} dev: true - /micromatch/4.0.2: - resolution: {integrity: sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==} - engines: {node: '>=8'} - dependencies: - braces: 3.0.2 - picomatch: 2.2.2 - dev: true - /micromatch/4.0.4: resolution: {integrity: sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==} engines: {node: '>=8.6'} @@ -8586,6 +8648,10 @@ packages: dev: true optional: true + /native-promise-only/0.8.1: + resolution: {integrity: sha512-zkVhZUA3y8mbz652WrL5x0fB0ehrBkulWT3TomAQ9iDtyXZvzKeEA6GPxAItBYeNYl5yngKRX612qHOhvMkDeg==} + dev: false + /natural-compare/1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} dev: true @@ -9297,7 +9363,7 @@ packages: dev: true /path/0.12.7: - resolution: {integrity: sha1-1NwqUGxM4hl+tIHr/NWzbAFAsQ8=} + resolution: {integrity: sha512-aXXC6s+1w7otVF9UletFkFcDsJeO7lSZBPUQhtb5O0xJe8LtYhj/GxldoL09bBj9+ZmE2hNoHqQSFMN5fikh4Q==} dependencies: process: 0.11.10 util: 0.10.4 @@ -9485,7 +9551,7 @@ packages: dev: true /process/0.11.10: - resolution: {integrity: sha1-czIwDoQBYb2j5podHZGn1LwW8YI=} + resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} engines: {node: '>= 0.6.0'} dev: true @@ -9960,6 +10026,7 @@ packages: /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: @@ -10311,7 +10378,7 @@ packages: dev: true /source-map/0.5.7: - resolution: {integrity: sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=} + resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} engines: {node: '>=0.10.0'} dev: true @@ -10392,7 +10459,7 @@ packages: dev: true /sprintf-js/1.0.3: - resolution: {integrity: sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=} + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} dev: true /ssh2/1.5.0: @@ -10430,13 +10497,6 @@ packages: minipass: 3.3.4 dev: true - /stack-utils/2.0.3: - resolution: {integrity: sha512-gL//fkxfWUsIlFL2Tl42Cl6+HFALEaB1FU76I/Fy+oZjRreP7OPMXFlGbxM7NQsI0ZpUfw76sHnv0WNYuTb7Iw==} - engines: {node: '>=10'} - dependencies: - escape-string-regexp: 2.0.0 - dev: true - /stack-utils/2.0.5: resolution: {integrity: sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==} engines: {node: '>=10'} @@ -10771,7 +10831,7 @@ packages: dev: true /text-table/0.2.0: - resolution: {integrity: sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=} + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} dev: true /throat/6.0.1: @@ -11321,6 +11381,11 @@ packages: - supports-color dev: true + /weakmap-polyfill/2.0.4: + resolution: {integrity: sha512-ZzxBf288iALJseijWelmECm/1x7ZwQn3sMYIkDr2VvZp7r6SEKuT8D0O9Wiq6L9Nl5mazrOMcmiZE/2NCenaxw==} + engines: {node: '>=8.10.0'} + dev: false + /web-streams-polyfill/3.2.1: resolution: {integrity: sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==} engines: {node: '>= 8'} diff --git a/common/config/rush/repo-state.json b/common/config/rush/repo-state.json index e4a46e960..d7b879a75 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": "c0609797f2587b31945d0f4e1ef5755136269ae6", + "pnpmShrinkwrapHash": "8dee87dc9d46510a27807789c4f80af0823ce444", "preferredVersionsHash": "bf21a9e8fbc5a3846fb05b4fa0859e0917b2202f" } diff --git a/plugins/browser-plugin-vimeo-tracking/.gitignore b/plugins/browser-plugin-vimeo-tracking/.gitignore new file mode 100644 index 000000000..0e796c3f1 --- /dev/null +++ b/plugins/browser-plugin-vimeo-tracking/.gitignore @@ -0,0 +1,3 @@ +node_modules +dist +build \ No newline at end of file diff --git a/plugins/browser-plugin-vimeo-tracking/LICENSE b/plugins/browser-plugin-vimeo-tracking/LICENSE new file mode 100644 index 000000000..b91bf94ae --- /dev/null +++ b/plugins/browser-plugin-vimeo-tracking/LICENSE @@ -0,0 +1,29 @@ +BSD 3-Clause License + +Copyright (c) 2023 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. diff --git a/plugins/browser-plugin-vimeo-tracking/README.md b/plugins/browser-plugin-vimeo-tracking/README.md new file mode 100644 index 000000000..e89392e6f --- /dev/null +++ b/plugins/browser-plugin-vimeo-tracking/README.md @@ -0,0 +1,59 @@ +# Snowplow vimeo-tracking Plugin + +[![npm version][npm-image]][npm-url] +[![License][license-image]](LICENSE) + +Browser Plugin to be used with `@snowplow/browser-tracker`. + +This plugin enables automatic tracking of Vimeo videos, utilizing the [Snowplow Media Plugin](https://docs.snowplowanalytics.com/docs/collecting-data/collecting-from-own-applications/javascript-trackers/browser-tracker/browser-tracker-v3-reference/plugins/media-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/). + +### 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-vimeo-tracking +``` + +## Usage + +Initialize your tracker with the Vimeo tracking plugin: + +```js +import { newTracker } from '@snowplow/browser-tracker'; +import { VimeoTrackingPlujgin } from '@snowplow/browser-plugin-vimeo-tracking'; + +newTracker('sp1', '{{collector_url}}', { + appId: 'my-app-id', + plugins: [ VimeoTrackingPlugin() ], +}); +``` + +For a full API reference, you can read the plugin [documentation page](https://docs.snowplow.io/docs/collecting-data/collecting-from-own-applications/javascript-trackers/browser-tracker/browser-tracker-v3-reference/plugins/vimeo-tracking/). + +## Copyright and license + +Licensed and distributed under the [BSD 3-Clause License](LICENSE) ([An OSI Approved License][osi]). + +Copyright (c) 2023 Snowplow Analytics Ltd. + +All rights reserved. + +[npm-url]: https://www.npmjs.com/package/@snowplow/browser-plugin-vimeo-tracking +[npm-image]: https://img.shields.io/npm/v/@snowplow/browser-plugin-vimeo-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-vimeo-tracking diff --git a/plugins/browser-plugin-vimeo-tracking/jest.config.js b/plugins/browser-plugin-vimeo-tracking/jest.config.js new file mode 100644 index 000000000..bd3ea4e2a --- /dev/null +++ b/plugins/browser-plugin-vimeo-tracking/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-vimeo-tracking/package.json b/plugins/browser-plugin-vimeo-tracking/package.json new file mode 100644 index 000000000..865f17453 --- /dev/null +++ b/plugins/browser-plugin-vimeo-tracking/package.json @@ -0,0 +1,55 @@ +{ + "name": "@snowplow/browser-plugin-vimeo-tracking", + "version": "3.13.1", + "description": "Vimeo tracking for Snowplow", + "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/)", + "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:*", + "@snowplow/browser-plugin-media": "workspace:*", + "tslib": "^2.3.1", + "@vimeo/player": "2.16.4" + }, + "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/vimeo__player": "~2.16.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", + "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.13.1" + } +} diff --git a/plugins/browser-plugin-vimeo-tracking/rollup.config.js b/plugins/browser-plugin-vimeo-tracking/rollup.config.js new file mode 100644 index 000000000..474f254a8 --- /dev/null +++ b/plugins/browser-plugin-vimeo-tracking/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'; // 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 = 'snowplowVimeoTracking'; + +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-vimeo-tracking/src/events.ts b/plugins/browser-plugin-vimeo-tracking/src/events.ts new file mode 100644 index 000000000..073bdd9ab --- /dev/null +++ b/plugins/browser-plugin-vimeo-tracking/src/events.ts @@ -0,0 +1,106 @@ +import { MediaEventType } from '@snowplow/browser-plugin-media/src/types'; + +/** Events that can be passed into Vimeo's `on` method */ +export enum InternalVimeoEvent { + // Events with direct Media plugin event-sending functions + LOADED = 'loaded', + PLAY = 'play', + PAUSE = 'pause', + ENDED = 'ended', + SEEKING = 'seeking', + SEEKED = 'seeked', + ERROR = 'error', + BUFFERSTART = 'bufferstart', + BUFFEREND = 'bufferend', + VOLUMECHANGE = 'volumechange', + QUALITYCHANGE = 'qualitychange', + FULLSCREENCHANGE = 'fullscreenchange', + PLAYBACKRATECHANGE = 'playbackratechange', + ENTERPICTUREINPICTURE = 'enterpictureinpicture', + LEAVEPICTUREINPICTURE = 'leavepictureinpicture', + + // Events that cause state updates in the Media plugin + TIMEUPDATE = 'timeupdate', + PROGRESS = 'progress', + + // Events that send `trackMediaSelfDescribingEvent` + CUEPOINT = 'cuepoint', + CHAPTERCHANGE = 'chapterchange', + TEXTTRACKCHANGE = 'texttrackchange', + INTERACTIVEHOTSPOTCLICKED = 'interactivehotspotclicked', + INTERACTIVEOVERLAYPANELCLICKED = 'interactiveoverlaypanelclicked', +} + +/** Vimeo-specific events not present in {@link MediaEventType} + * + * These are the values a user would place in `captureEvents`, to match the + * style of the existing events from the Media plugin + */ +export enum VimeoEventType { + CuePoint = 'cue_point', + ChapterChange = 'chapter_change', + TextTrackChange = 'text_track_change', + InteractiveHotSpotClicked = 'interactive_hot_spot_clicked', + InteractiveOverlayPanelClicked = 'interactive_overlay_panel_clicked', +} + +// Events from InternalVimeoEvent that can be captured by the user +// This allows us to only attached listeners to the InternalVimeoEvents that the user wants to capture +export const CapturableInternalVimeoEvents: InternalVimeoEvent[] = [ + InternalVimeoEvent.CUEPOINT, + InternalVimeoEvent.CHAPTERCHANGE, + InternalVimeoEvent.TEXTTRACKCHANGE, + InternalVimeoEvent.INTERACTIVEHOTSPOTCLICKED, + InternalVimeoEvent.INTERACTIVEOVERLAYPANELCLICKED, +]; + +// Internal Vimeo events that can't be disabled by the user +export const AlwaysOnInternalVimeoEvents = [ + InternalVimeoEvent.TIMEUPDATE, // Used to run `updateMediaTracking` at regular intervals (every ~250ms) + InternalVimeoEvent.PROGRESS, // Used to run `updateMediaTracking` when the video is buffering +]; + +// Events from the Media plugin that are automatically tracked with this plugin +export type AvailableMediaEventType = + | MediaEventType.Ready + | MediaEventType.Play + | MediaEventType.Pause + | MediaEventType.End + | MediaEventType.SeekStart + | MediaEventType.SeekEnd + | MediaEventType.PlaybackRateChange + | MediaEventType.VolumeChange + | MediaEventType.FullscreenChange + | MediaEventType.PictureInPictureChange + | MediaEventType.Ping + | MediaEventType.PercentProgress + | MediaEventType.BufferStart + | MediaEventType.BufferEnd + | MediaEventType.QualityChange + | MediaEventType.Error; + +// Events from the Media plugin that are automatically tracked with this plugin +export const AvailableMediaEventType = { + Ready: MediaEventType.Ready as VimeoEvent, + Play: MediaEventType.Play as VimeoEvent, + Pause: MediaEventType.Pause as VimeoEvent, + End: MediaEventType.End as VimeoEvent, + SeekStart: MediaEventType.SeekStart as VimeoEvent, + SeekEnd: MediaEventType.SeekEnd as VimeoEvent, + PlaybackRateChange: MediaEventType.PlaybackRateChange as VimeoEvent, + VolumeChange: MediaEventType.VolumeChange as VimeoEvent, + FullscreenChange: MediaEventType.FullscreenChange as VimeoEvent, + PictureInPictureChange: MediaEventType.PictureInPictureChange as VimeoEvent, + Ping: MediaEventType.Ping as VimeoEvent, + PercentProgress: MediaEventType.PercentProgress as VimeoEvent, + BufferStart: MediaEventType.BufferStart as VimeoEvent, + BufferEnd: MediaEventType.BufferEnd as VimeoEvent, + QualityChange: MediaEventType.QualityChange as VimeoEvent, + Error: MediaEventType.Error as VimeoEvent, +}; + +/** Events accepted by `VimeoTrackingConfiguration.captureEvents` */ +export type VimeoEvent = AvailableMediaEventType | VimeoEventType; +export const VimeoEvent = { ...AvailableMediaEventType, ...VimeoEventType }; + +export const AllEvents: VimeoEvent[] = [...Object.values(AvailableMediaEventType), ...Object.values(VimeoEventType)]; diff --git a/plugins/browser-plugin-vimeo-tracking/src/index.ts b/plugins/browser-plugin-vimeo-tracking/src/index.ts new file mode 100644 index 000000000..d0f1ed301 --- /dev/null +++ b/plugins/browser-plugin-vimeo-tracking/src/index.ts @@ -0,0 +1,17 @@ +export { VimeoEvent } from './events'; +export { VimeoTrackingConfiguration } from './types'; +export { startVimeoTracking, endVimeoTracking, VimeoTrackingPlugin } from './initialization'; +export { + trackMediaAdBreakEnd, + trackMediaAdBreakStart, + trackMediaAdClick, + trackMediaAdComplete, + trackMediaAdFirstQuartile, + trackMediaAdMidpoint, + trackMediaAdPause, + trackMediaAdResume, + trackMediaAdSkip, + trackMediaAdStart, + trackMediaAdThirdQuartile, + trackMediaSelfDescribingEvent, +} from '@snowplow/browser-plugin-media'; diff --git a/plugins/browser-plugin-vimeo-tracking/src/initialization.ts b/plugins/browser-plugin-vimeo-tracking/src/initialization.ts new file mode 100644 index 000000000..aee05f6f8 --- /dev/null +++ b/plugins/browser-plugin-vimeo-tracking/src/initialization.ts @@ -0,0 +1,108 @@ +import Player, { EventMap } from '@vimeo/player'; + +import { LOG } from '@snowplow/tracker-core'; +import { BrowserPlugin } from '@snowplow/browser-tracker-core'; +import { MediaEventType, MediaTrackingConfiguration, MediaType } from '@snowplow/browser-plugin-media/src/types'; +import { SnowplowMediaPlugin, endMediaTracking, startMediaTracking } from '@snowplow/browser-plugin-media'; + +import { trackEvent } from './mediaPluginBinding'; +import { CapturableInternalVimeoEvents, InternalVimeoEvent } from './events'; +import { EventData, TrackedPlayer, VimeoTrackingConfiguration } from './types'; +import { filterVimeoEvents, getErrorCallback, getVimeoMediaAttributes } from './utils'; + +export function VimeoTrackingPlugin(): BrowserPlugin { + return SnowplowMediaPlugin(); +} + +const trackedPlayers: Record = {}; + +/** Start tracking a Vimeo Iframe element or existing Vimeo {@link Player} */ +export function startVimeoTracking(args: VimeoTrackingConfiguration): void { + const { video, ...config } = args; + if (video === undefined) { + LOG.error("Property 'video' is undefined"); + } else if (video instanceof HTMLIFrameElement && video.nodeName !== 'IFRAME') { + LOG.error("Property 'video' is not an Iframe"); + } else { + const internalConfig = filterVimeoEvents(config as VimeoTrackingConfiguration); + + if ((video as HTMLIFrameElement).nodeName === 'IFRAME') { + startVimeoTrackingOnIframe(video as HTMLIFrameElement, internalConfig); + } else { + startVimeoTrackingOnPlayer(video as Player, internalConfig); + } + } +} + +/** + * Ends media tracking with the given ID if previously started. Clears local state for the media tracking. + * Clears all listeners set by the plugin on the Vimeo player. + */ +export function endVimeoTracking(id: string): void { + const playerToEnd = trackedPlayers[id]; + if (playerToEnd === undefined) { + LOG.error(`No Vimeo player found with ID ${id}`); + } else { + Object.entries(playerToEnd.eventListeners).forEach(([eventType, callback]) => + playerToEnd.player.off(eventType as keyof EventMap, callback) + ); + endMediaTracking({ id: playerToEnd.config.id }); + } +} + +/** Enables the tracking of Vimeo events on an Iframe */ +function startVimeoTrackingOnIframe(iframe: HTMLIFrameElement, config: VimeoTrackingConfiguration): void { + setInitialPlayerAttributes({ + player: new Player(iframe), + config, + eventListeners: {}, + }); +} + +/** Enables the tracking of Vimeo events on an existing Vimeo player */ +function startVimeoTrackingOnPlayer(player: Player, config: VimeoTrackingConfiguration): void { + setInitialPlayerAttributes({ + player, + config, + eventListeners: {}, + }); +} + +/** Set the initial Media plugin player configuration before tracking begins */ +async function setInitialPlayerAttributes(trackedPlayer: TrackedPlayer): Promise { + trackedPlayer.config.player = { + ...(await getVimeoMediaAttributes(trackedPlayer)), + ...trackedPlayer.config.player, + ...{ mediaType: MediaType.Video, playerType: 'com.vimeo' }, + }; + + trackedPlayers[trackedPlayer.config.id] = trackedPlayer; + startTracking(trackedPlayer); +} + +/** Attaches listeners to the Vimeo player for each event in {@link VimeoTrackingConfiguration.vimeoCaptureEvents | vimeoCaptureEvents} */ +async function startTracking(trackedPlayer: TrackedPlayer): Promise { + const errorCallback = getErrorCallback(trackedPlayer); + + startMediaTracking(trackedPlayer.config as MediaTrackingConfiguration); + + trackEvent(trackedPlayer, MediaEventType.Ready, {}, errorCallback); + + // Track every event, event filtering is done by the Media Plugin + Object.keys(InternalVimeoEvent).forEach((eventName) => { + const eventType = InternalVimeoEvent[eventName as keyof typeof InternalVimeoEvent]; + // Don't attach listeners for Vimeo events that haven't been passed in with the Media Plugin config + if ( + CapturableInternalVimeoEvents.includes(eventType) && + !trackedPlayer.config.vimeoCaptureEvents?.includes(eventType) + ) { + return; + } + + // Create a named function to allow us to remove the listener later + const callback = (eventData: EventData | unknown) => trackEvent(trackedPlayer, eventType, eventData, errorCallback); + trackedPlayer.eventListeners[eventType] = callback; + + trackedPlayer.player.on(eventType, callback); + }); +} diff --git a/plugins/browser-plugin-vimeo-tracking/src/mediaPluginBinding.ts b/plugins/browser-plugin-vimeo-tracking/src/mediaPluginBinding.ts new file mode 100644 index 000000000..4ec0ad300 --- /dev/null +++ b/plugins/browser-plugin-vimeo-tracking/src/mediaPluginBinding.ts @@ -0,0 +1,202 @@ +import { Error as VimeoError } from '@vimeo/player'; + +import { + trackMediaBufferEnd, + trackMediaBufferStart, + trackMediaEnd, + trackMediaFullscreenChange, + trackMediaPause, + trackMediaPictureInPictureChange, + trackMediaPlay, + trackMediaPlaybackRateChange, + trackMediaQualityChange, + trackMediaReady, + trackMediaSeekEnd, + trackMediaSeekStart, + trackMediaSelfDescribingEvent, + trackMediaVolumeChange, + updateMediaTracking, +} from '@snowplow/browser-plugin-media'; +import { MediaEventType, MediaPlayer } from '@snowplow/browser-plugin-media/src/types'; + +import { getVimeoMetadata, getVimeoMediaAttributes } from './utils'; +import { VimeoSchema } from './schema'; +import { InternalVimeoEvent } from './events'; +import { + TrackedPlayer, + EventData, + EventType, + asVimeoInteractiveHotspotClickedData, + asVimeoInteractiveOverlayPanelClickedData, + asTextTrackData, + asTimeUpdateData, + asQualityChangeEvent, + asVimeoPlayerCuePointData, + asChapterData, +} from './types'; + +export function trackEvent( + trackedPlayer: TrackedPlayer, + eventType: EventType, + eventData: EventData | unknown = {}, + trackError: (error: VimeoError) => void +): void { + getVimeoMediaAttributes(trackedPlayer) + .then((mediaPlayer) => { + runMediaPluginFunction(mediaPlayer, trackedPlayer, eventType, eventData, trackError); + }) + .catch(trackError); +} + +/** Run the relevant Media plugin function for the event type */ +export function runMediaPluginFunction( + player: MediaPlayer, + trackedPlayer: TrackedPlayer, + eventType: EventType, + eventData: EventData | unknown = {}, + trackError: (error: VimeoError) => void +): void { + const id = trackedPlayer.config.id; + + switch (eventType) { + case InternalVimeoEvent.PLAY: + trackMediaPlay({ id, player }); + break; + + case InternalVimeoEvent.PAUSE: + trackMediaPause({ id, player }); + break; + + case InternalVimeoEvent.ENDED: + trackMediaEnd({ id, player }); + break; + + case InternalVimeoEvent.SEEKING: + trackMediaSeekStart({ id, player }); + break; + + case InternalVimeoEvent.SEEKED: + trackMediaSeekEnd({ id, player }); + break; + + case InternalVimeoEvent.ERROR: + trackError(eventData as VimeoError); + break; + + case InternalVimeoEvent.TIMEUPDATE: + updateMediaTracking({ id, player: { ...player, currentTime: asTimeUpdateData(eventData).seconds } }); + break; + + case InternalVimeoEvent.BUFFERSTART: + trackMediaBufferStart({ id, player }); + break; + + case InternalVimeoEvent.BUFFEREND: + trackMediaBufferEnd({ id, player }); + break; + + case InternalVimeoEvent.VOLUMECHANGE: + trackedPlayer.player + .getVolume() + .then((newVolume) => trackMediaVolumeChange({ id, player, newVolume: Math.round(newVolume * 100) })) + .catch(trackError); + break; + + case InternalVimeoEvent.FULLSCREENCHANGE: + trackedPlayer.player + .getFullscreen() + .then((fullscreen) => trackMediaFullscreenChange({ id, player, fullscreen })) + .catch(trackError); + break; + + case InternalVimeoEvent.PLAYBACKRATECHANGE: + trackedPlayer.player + .getPlaybackRate() + .then((newRate) => trackMediaPlaybackRateChange({ id, player, newRate })) + .catch(trackError); + break; + + case InternalVimeoEvent.ENTERPICTUREINPICTURE: + trackMediaPictureInPictureChange({ id, player, pictureInPicture: true }); + break; + + case InternalVimeoEvent.LEAVEPICTUREINPICTURE: + trackMediaPictureInPictureChange({ id, player, pictureInPicture: false }); + break; + + case InternalVimeoEvent.QUALITYCHANGE: + trackMediaQualityChange({ id, player, newQuality: asQualityChangeEvent(eventData).quality }); + break; + + case InternalVimeoEvent.CUEPOINT: + trackMediaSelfDescribingEvent({ + id, + player, + event: { + schema: VimeoSchema.CUEPOINT, + data: asVimeoPlayerCuePointData(eventData), + }, + }); + break; + + case InternalVimeoEvent.TEXTTRACKCHANGE: + trackMediaSelfDescribingEvent({ + id, + player, + event: { + schema: VimeoSchema.TEXT_TRACK_CHANGE, + data: asTextTrackData(eventData), + }, + }); + break; + + case InternalVimeoEvent.INTERACTIVEHOTSPOTCLICKED: + trackMediaSelfDescribingEvent({ + id, + player, + event: { + schema: VimeoSchema.HOTSPOT_CLICK, + data: {}, + }, + context: [{ schema: VimeoSchema.INTERACTION, data: asVimeoInteractiveHotspotClickedData(eventData) }], + }); + break; + + case InternalVimeoEvent.INTERACTIVEOVERLAYPANELCLICKED: + trackMediaSelfDescribingEvent({ + id, + player, + event: { + schema: VimeoSchema.OVERLAY_CLICK, + data: {}, + }, + context: [{ schema: VimeoSchema.INTERACTION, data: asVimeoInteractiveOverlayPanelClickedData(eventData) }], + }); + break; + + case InternalVimeoEvent.CHAPTERCHANGE: + trackMediaSelfDescribingEvent({ + id, + player, + event: { + schema: VimeoSchema.CHAPTER_CHANGE, + data: asChapterData(eventData), + }, + }); + break; + + case InternalVimeoEvent.LOADED: + updateMediaTracking({ id, player }); + break; + + case InternalVimeoEvent.PROGRESS: + updateMediaTracking({ id, player }); + break; + + case MediaEventType.Ready: + getVimeoMetadata(trackedPlayer) + .then((entities) => trackMediaReady({ id, player, context: [entities] })) + .catch(trackError); + break; + } +} diff --git a/plugins/browser-plugin-vimeo-tracking/src/schema.ts b/plugins/browser-plugin-vimeo-tracking/src/schema.ts new file mode 100644 index 000000000..40f00fb90 --- /dev/null +++ b/plugins/browser-plugin-vimeo-tracking/src/schema.ts @@ -0,0 +1,25 @@ +const iglu = 'iglu:com.vimeo/'; +const jsonschema = '/jsonschema/1-0-0'; +export const VimeoSchema = { + // iglu:com.vimeo/meta/jsonschema/1-0-0 + META: iglu + 'meta' + jsonschema, + + // iglu:com.vimeo/cue_point_event/jsonschema/1-0-0 + CUEPOINT: iglu + 'cue_point_event' + jsonschema, + + // iglu:com.vimeo/chapter_change_event/jsonschema/1-0-0 + CHAPTER_CHANGE: iglu + 'chapter_change_event' + jsonschema, + + // iglu:com.vimeo/text_track_change_event/jsonschema/1-0-0 + TEXT_TRACK_CHANGE: iglu + 'text_track_change_event' + jsonschema, + + // iglu:com.vimeo/interactive_hotspot_click_event/jsonschema/1-0-0 + HOTSPOT_CLICK: iglu + 'interactive_hotspot_click_event' + jsonschema, + + // iglu:com.vimeo/interactive_overlay_click_event/jsonschema/1-0-0 + OVERLAY_CLICK: iglu + 'interactive_overlay_panel_click_event' + jsonschema, + + // iglu:com.vimeo/interaction/jsonschema/1-0-0 + // context schema for HOTSPOT_CLICK and OVERLAY_CLICK + INTERACTION: iglu + 'interaction' + jsonschema, +}; diff --git a/plugins/browser-plugin-vimeo-tracking/src/types.ts b/plugins/browser-plugin-vimeo-tracking/src/types.ts new file mode 100644 index 000000000..481df9a19 --- /dev/null +++ b/plugins/browser-plugin-vimeo-tracking/src/types.ts @@ -0,0 +1,196 @@ +import Player, { Error as VimeoError, QualityChangeEvent, TrackKind, VimeoCuePoint } from '@vimeo/player'; +import { InternalVimeoEvent, VimeoEvent } from './events'; +import { MediaEventType, MediaTrackingConfiguration } from '@snowplow/browser-plugin-media/src/types'; + +/** The configuration object for the Vimeo tracking plugin */ +export interface VimeoTrackingConfiguration extends Omit { + video: HTMLIFrameElement | Player; + captureEvents?: VimeoEvent[]; +} + +// An internal configuration type to avoid exposing `vimeoCaptureEvents` to the user +export interface InternalVimeoTrackingConfiguration extends VimeoTrackingConfiguration { + /** Events filtered from `captureEvents` that are passed into the Vimeo player's `on` method */ + vimeoCaptureEvents?: InternalVimeoEvent[]; +} + +/** A {@link Player} and its associated {@link VimeoTrackingConfiguration | configuration} */ +export type TrackedPlayer = { + player: Player; + eventListeners: Partial void>>; + config: InternalVimeoTrackingConfiguration; +}; + +/** Associated type for the Vimeo "meta" schema */ +export type VimeoPlayerMetadata = { + videoId: number; + videoTitle: string; + videoUrl?: string; + videoWidth: number; + videoHeight: number; +}; + +/** Event types that trigger a Media Plugin function */ +export type EventType = InternalVimeoEvent | MediaEventType.Ready; + +/** Sum type of all event data types */ +export type EventData = + | VimeoError + | QualityChangeEvent + | TimeUpdateData + | ChapterData + | TextTrackData + | VimeoPlayerCuePointData + | VimeoInteractiveHotspotClickedData + | VimeoInteractiveOverlayPanelClickedData; + +/** 'time' can be a reserved word in some warehouses, so we extend the Vimeo type to rename the field to 'cuePointData' */ +export interface VimeoPlayerCuePointData extends Omit { + cuePointTime: number; + [key: string]: unknown; +} + +export function asVimeoPlayerCuePointData(eventData: EventData | unknown): VimeoPlayerCuePointData { + const data = eventData as VimeoCuePoint; + return { + cuePointTime: data.time, + data: data.data, + id: data.id, + }; +} + +/** + * The event data associated with a `timeupdate` event + * https://developer.vimeo.com/player/sdk/reference#timeupdate + */ +export type TimeUpdateData = { + duration: number; + percent: number; + seconds: number; +}; + +export function asTimeUpdateData(eventData: EventData | unknown): TimeUpdateData { + const data = eventData as TimeUpdateData; + return { + duration: data.duration, + percent: data.percent, + seconds: data.seconds, + }; +} + +/** + * The event data associated with a `texttrackchange` event + * https://developer.vimeo.com/player/sdk/reference#texttrackchange + */ +export type TextTrackData = { + language: string; + kind: TrackKind; + label: string; +}; + +export function asTextTrackData(eventData: EventData | unknown): TextTrackData { + const data = eventData as TextTrackData; + return { + language: data.language, + kind: data.kind, + label: data.label, + }; +} + +/** + * The event data associated with a `chapterchange` event + * https://developer.vimeo.com/player/sdk/reference#chapterchange + */ +export type ChapterData = { + index: number; + startTime: number; + title: string; +}; + +/** + * The event data for an `interactivehotspotclicked` event + * https://developer.vimeo.com/player/sdk/reference#events-for-interactive-videos + */ +export type VimeoInteractiveHotspotClickedData = { + action: string; + actionPreference: { + pauseOnAction: boolean; + overlayId: number; + seekTo?: number; + url?: string; + }; + currentTime: number; + customPayloadData?: Object; + hotspotId: number; +}; + +export function asVimeoInteractiveHotspotClickedData( + eventData: EventData | unknown +): VimeoInteractiveHotspotClickedData { + const data = eventData as VimeoInteractiveHotspotClickedData; + return { + action: data.action, + actionPreference: { + pauseOnAction: data.actionPreference.pauseOnAction, + overlayId: data.actionPreference.overlayId, + seekTo: data.actionPreference?.seekTo, + url: data.actionPreference?.url, + }, + currentTime: data.currentTime, + customPayloadData: data.customPayloadData, + hotspotId: data.hotspotId, + } as VimeoInteractiveHotspotClickedData; +} + +/** + * The event data for an `interactiveoverlaypanelclicked` event + * https://developer.vimeo.com/player/sdk/reference#events-for-interactive-videos + */ +export type VimeoInteractiveOverlayPanelClickedData = { + action: string; + actionPreference: { + pauseOnAction: boolean; + seekTo?: number; + url?: string; + }; + currentTime: number; + customPayloadData?: Object; + hotspotId: number; + panelId: number; +}; + +export function asVimeoInteractiveOverlayPanelClickedData( + eventData: EventData | unknown +): VimeoInteractiveOverlayPanelClickedData { + const data = eventData as VimeoInteractiveOverlayPanelClickedData; + return { + action: data.action, + actionPreference: { + pauseOnAction: data.actionPreference.pauseOnAction, + seekTo: data.actionPreference?.seekTo, + url: data.actionPreference?.url, + }, + currentTime: data.currentTime, + customPayloadData: data.customPayloadData, + hotspotId: data.hotspotId, + panelId: data.panelId, + }; +} + +// Conversion functions for types from the Vimeo SDK + +export function asChapterData(eventData: EventData | unknown): ChapterData { + const data = eventData as ChapterData; + return { + index: data.index, + startTime: data.startTime, + title: data.title, + }; +} + +export function asQualityChangeEvent(eventData: EventData | unknown): QualityChangeEvent { + const data = eventData as QualityChangeEvent; + return { + quality: data.quality, + }; +} diff --git a/plugins/browser-plugin-vimeo-tracking/src/utils.ts b/plugins/browser-plugin-vimeo-tracking/src/utils.ts new file mode 100644 index 000000000..bbe7b1f69 --- /dev/null +++ b/plugins/browser-plugin-vimeo-tracking/src/utils.ts @@ -0,0 +1,121 @@ +import { Error as VimeoError, VimeoPromise } from '@vimeo/player'; + +import { LOG, SelfDescribingJson } from '@snowplow/tracker-core'; +import { trackMediaError } from '@snowplow/browser-plugin-media'; +import { MediaPlayer } from '@snowplow/browser-plugin-media/src/types'; + +import { + InternalVimeoEvent, + VimeoEventType, + AllEvents, + AvailableMediaEventType, + AlwaysOnInternalVimeoEvents, +} from './events'; +import { + InternalVimeoTrackingConfiguration, + TrackedPlayer, + VimeoPlayerMetadata, + VimeoTrackingConfiguration, +} from './types'; +import { VimeoSchema } from './schema'; + +/** + * Split the `captureEvents` array into two arrays: + * - `captureEvents` - events that are passed onto the Media plugins `captureEvents` property + * - `vimeoCaptureEvents` - events that can be passed into the `on` method of the Vimeo player + */ +export function filterVimeoEvents(configuration: VimeoTrackingConfiguration): InternalVimeoTrackingConfiguration { + configuration.captureEvents = configuration.captureEvents ?? AllEvents; + // Extract any events that are in the MediaEventType enum + const mediaEventTypes = Object.values(AvailableMediaEventType); + const captureEvents = configuration.captureEvents.filter((event) => + mediaEventTypes.includes(event as AvailableMediaEventType) + ) as AvailableMediaEventType[]; + + // Extract any events that aren't in the MediaEventType enum + // Check if they are in the VimeoEventType enum + // If so, remove any underscores and add them to the vimeoCaptureEvents array + const vimeoEventTypes = Object.values(VimeoEventType); + let vimeoCaptureEvents = configuration.captureEvents + .filter((event) => vimeoEventTypes.includes(event as string as VimeoEventType)) + .map((e) => e.replace(/_/g, '') as InternalVimeoEvent) as InternalVimeoEvent[]; + + // Add any always-on events that aren't already in the vimeoCaptureEvents array + for (const event of AlwaysOnInternalVimeoEvents) { + if (!vimeoCaptureEvents.includes(event)) { + vimeoCaptureEvents.push(event); + } + } + + return { + ...configuration, + captureEvents, + vimeoCaptureEvents, + }; +} + +/** + * Attempt to get the value of a Vimeo promise, or return undefined + * if the method fails + * + * The Vimeo player will throw an error if the getter methods' promise is rejected + * So to minimise event loss, we ignore any returned error value and return undefined instead, + * so the property isn't serialized + * + * @param promise The promise returned by the Vimeo getter method + * @returns The value returned from the promise, or undefined if the promise is rejected + */ +function tryVimeoPromise(promise: VimeoPromise): T | undefined { + let ret: T | undefined; + promise + .then((v) => (ret = v)) + .catch((e) => { + LOG.warn(e); + }); + return ret; +} + +export async function getVimeoMetadata(trackedPlayer: TrackedPlayer): Promise { + const { player } = trackedPlayer; + + const data: VimeoPlayerMetadata = { + videoId: await player.getVideoId(), + videoTitle: await player.getVideoTitle(), + videoWidth: await player.getVideoWidth(), + videoHeight: await player.getVideoHeight(), + // 'getVideoUrl' can fail due to privacy settings + videoUrl: tryVimeoPromise(player.getVideoUrl()), + }; + + return { + schema: VimeoSchema.META, + data, + }; +} + +/** Get all attributes that can be passed into `updateMediaTracking` */ +export async function getVimeoMediaAttributes(trackedPlayer: TrackedPlayer): Promise { + const { player } = trackedPlayer; + return { + currentTime: await player.getCurrentTime(), + duration: await player.getDuration(), + ended: await player.getEnded(), + loop: await player.getLoop(), + muted: await player.getMuted(), + paused: await player.getPaused(), + playbackRate: await player.getPlaybackRate(), + volume: Math.round((await player.getVolume()) * 100), + pictureInPicture: await player.getPictureInPicture(), + }; +} + +/** A callback function for the current player, to use in the `.catch()` callback of the Vimeo Player getter methods */ +export function getErrorCallback(trackedPlayer: TrackedPlayer) { + return (error: VimeoError): void => { + trackMediaError({ + id: trackedPlayer.config.id, + errorName: error.name, + errorDescription: `${error.method} - ${error.message}`, + }); + }; +} diff --git a/plugins/browser-plugin-vimeo-tracking/test/vimeo.test.ts b/plugins/browser-plugin-vimeo-tracking/test/vimeo.test.ts new file mode 100644 index 000000000..8283e75f6 --- /dev/null +++ b/plugins/browser-plugin-vimeo-tracking/test/vimeo.test.ts @@ -0,0 +1,54 @@ +import { + VimeoEventType, + InternalVimeoEvent, + CapturableInternalVimeoEvents, + AvailableMediaEventType, +} from '../src/events'; +import { filterVimeoEvents } from '../src/utils'; +import { InternalVimeoTrackingConfiguration } from '../src/types'; + +describe('Vimeo Tracking', () => { + describe('captureEvents', () => { + // The video element is irrelevant for this test, but a required parameter + const video = document.createElement('iframe'); + const alwaysOnEvents = [InternalVimeoEvent.TIMEUPDATE, InternalVimeoEvent.PROGRESS]; + + const defaultConfiguration: InternalVimeoTrackingConfiguration = { + video, + id: 'test', + captureEvents: Object.values(AvailableMediaEventType), + vimeoCaptureEvents: [...CapturableInternalVimeoEvents, ...alwaysOnEvents], + }; + + it('assigns defaults if no captureEvents passed', () => { + const trackingOptions = filterVimeoEvents({ video, id: 'test' }); + expect(trackingOptions.captureEvents).toEqual(defaultConfiguration.captureEvents); + trackingOptions.vimeoCaptureEvents?.forEach((event) => { + expect(trackingOptions.vimeoCaptureEvents).toContain(event); + }); + }); + + it("doesn't assign default if empty array is passed", () => { + const trackingOptions = filterVimeoEvents({ video, id: 'test', captureEvents: [] }); + expect(trackingOptions).toEqual({ + ...defaultConfiguration, + captureEvents: [], + vimeoCaptureEvents: alwaysOnEvents, + }); + }); + + it('assigns to captureEvents and vimeoCaptureEvents if valid events passed', () => { + const trackingOptions = filterVimeoEvents({ + video, + id: 'test', + captureEvents: [AvailableMediaEventType.Play, VimeoEventType.TextTrackChange], + }); + + expect(trackingOptions).toEqual({ + ...defaultConfiguration, + captureEvents: [AvailableMediaEventType.Play], + vimeoCaptureEvents: expect.arrayContaining([InternalVimeoEvent.TEXTTRACKCHANGE, ...alwaysOnEvents]), + }); + }); + }); +}); diff --git a/plugins/browser-plugin-vimeo-tracking/tsconfig.json b/plugins/browser-plugin-vimeo-tracking/tsconfig.json new file mode 100644 index 000000000..4082f16a5 --- /dev/null +++ b/plugins/browser-plugin-vimeo-tracking/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "../../tsconfig.json" +} diff --git a/rush.json b/rush.json index f1106d36d..09e746ccb 100644 --- a/rush.json +++ b/rush.json @@ -559,6 +559,12 @@ "projectFolder": "plugins/browser-plugin-web-vitals", "reviewCategory": "plugins", "versionPolicyName": "tracker" + }, + { + "packageName": "@snowplow/browser-plugin-vimeo-tracking", + "projectFolder": "plugins/browser-plugin-vimeo-tracking", + "reviewCategory": "plugins", + "versionPolicyName": "tracker" } ] } diff --git a/trackers/javascript-tracker/package.json b/trackers/javascript-tracker/package.json index 6b59a553e..984e561d4 100644 --- a/trackers/javascript-tracker/package.json +++ b/trackers/javascript-tracker/package.json @@ -58,6 +58,8 @@ "@snowplow/browser-plugin-snowplow-ecommerce": "workspace:*", "@snowplow/browser-plugin-timezone": "workspace:*", "@snowplow/browser-plugin-youtube-tracking": "workspace:*", + "@snowplow/browser-plugin-media": "workspace:*", + "@snowplow/browser-plugin-vimeo-tracking": "workspace:*", "@snowplow/browser-tracker": "workspace:*", "@snowplow/browser-tracker-core": "workspace:*", "@snowplow/tracker-core": "workspace:*", diff --git a/trackers/javascript-tracker/src/features.ts b/trackers/javascript-tracker/src/features.ts index b08fe3460..86a63d4b1 100644 --- a/trackers/javascript-tracker/src/features.ts +++ b/trackers/javascript-tracker/src/features.ts @@ -51,6 +51,8 @@ import * as plugins from '../tracker.config'; import { BrowserPlugin } from '@snowplow/browser-tracker-core'; import { JavaScriptTrackerConfiguration } from './configuration'; import * as EnhancedConsent from '@snowplow/browser-plugin-enhanced-consent'; +import * as SnowplowMedia from '@snowplow/browser-plugin-media'; +import * as VimeoTracking from '@snowplow/browser-plugin-vimeo-tracking'; /** * Calculates the required plugins to intialise per tracker @@ -196,5 +198,15 @@ export function Plugins(configuration: JavaScriptTrackerConfiguration) { activatedPlugins.push([EnhancedConsentPlugin(), apiMethods]); } + if (plugins.snowplowMedia) { + const { SnowplowMediaPlugin, ...apiMethods } = SnowplowMedia; + activatedPlugins.push([SnowplowMediaPlugin(), apiMethods]); + } + + if (plugins.vimeoTracking) { + const { VimeoTrackingPlugin, ...apiMethods } = VimeoTracking; + activatedPlugins.push([VimeoTrackingPlugin(), apiMethods]); + } + return activatedPlugins; } diff --git a/trackers/javascript-tracker/test/integration/vimeo.test.ts b/trackers/javascript-tracker/test/integration/vimeo.test.ts new file mode 100644 index 000000000..2093ad73b --- /dev/null +++ b/trackers/javascript-tracker/test/integration/vimeo.test.ts @@ -0,0 +1,272 @@ +import { VimeoEvent } from '@snowplow/browser-plugin-vimeo-tracking'; +import { pageSetup } from './helpers'; +import { fetchResults } from '../micro'; + +function compareContextObjects(expected: any, received: any) { + expect(expected.schema).toEqual(received.schema); + for (let i = 0; i < expected.data.length; i++) { + expect(expected.data[i].schema).toEqual(received.data[i].schema); + Object.keys(expected.data[i].data).forEach((key) => { + // Only test if the key exists in the received data + if (received.data[i].data[key] !== undefined) { + expect(expected.data[i].data[key]).toEqual(received.data[i].data[key]); + } + }); + } +} + +const makeSchema = (eventType: string) => { + return `iglu:com.snowplowanalytics.snowplow.media/${eventType}_event/jsonschema/1-0-0`; +}; + +const makeContext = () => { + return { + schema: 'iglu:com.snowplowanalytics.snowplow/contexts/jsonschema/1-0-0', + data: [ + { + schema: 'iglu:com.snowplowanalytics.snowplow.media/player/jsonschema/1-0-0', + data: { + currentTime: jasmine.any(Number), + paused: jasmine.any(Boolean), + ended: jasmine.any(Boolean), + duration: jasmine.any(Number), + loop: jasmine.any(Boolean), + muted: jasmine.any(Boolean), + playbackRate: jasmine.any(Number), + volume: jasmine.any(Number), + quality: jasmine.any(String), + pictureInPicture: jasmine.any(Boolean), + }, + }, + { + schema: 'iglu:com.snowplowanalytics.snowplow.media/session/jsonschema/1-0-0', + data: { + sessionId: 'test', + startedAt: jasmine.any(String), + pingInterval: 5, + }, + }, + ], + }; +}; + +const skipBrowsers = (browser: any) => { + if (browser.capabilities.browserName === 'internet explorer' && browser.capabilities.version === '9') { + fit('Skip IE 9', () => true); + return; + } + + if (browser.capabilities.browserName === 'internet explorer' && browser.capabilities.browserVersion === '10') { + fit('Skip IE 10', () => true); + return; + } + + // element not interactable: Element is not displayed + if (browser.capabilities.browserName === 'internet explorer' && browser.capabilities.browserVersion === '11') { + fit('Skip IE 11', () => true); + return; + } + + // Unknown command: {"name":"sendKeysToActiveElement","parameters":{"value":["k"]}} + if (browser.capabilities.browserName === 'safari' && browser.capabilities.version === '8.0') { + fit('Skip Safari 8', () => true); + 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); + return; + } + + // Driver info: driver.version: unknown + if (browser.capabilities.browserName === 'firefox' && browser.capabilities.version === '53.0') { + fit('Skip Firefox 53', () => true); + return; + } +}; + +describe('Vimeo Tracker - Player', () => { + skipBrowsers(browser); + let testResults: any[]; + let testIdentifier = ''; + + beforeAll(async () => { + testIdentifier = await pageSetup(); + await browser.url('/vimeo/player.html'); + await browser.waitUntil(() => $('#vimeo').isExisting(), { + timeout: 10000, + timeoutMsg: 'expected vimeo after 5s', + }); + + const player = await $('#vimeo'); + + await browser.pause(5000); // Time for the video to load + + // user has to interacted with by the user to avoid: + // element not interactable + // (Session info: chrome=114.0.5735.133) + await player.click(); + + // This would work better as an async function, but it will throw an error: + // [0-0] 2023-06-19T10:58:17.232Z ERROR webdriver: Request failed with status 500 due to javascript error: javascript error: tslib_1 is not defined + await browser.execute(() => { + const player = new Vimeo.Player('vimeo'); + + const methods = [ + () => player.play.bind(player), + () => player.pause.bind(player), + () => player.play.bind(player), + () => player.setPlaybackRate.bind(player, 1.5), + () => player.setVolume.bind(player, 0.5), + () => player.setCurrentTime.bind(player, 0), + () => player.enableTextTrack.bind(player, 'en'), + ]; + + // An incorrect event name will cause an error + player.on('not a real event', () => {}); + + for (let i = 0; i < methods.length; i++) { + setTimeout(methods[i](), 1500 * (i + 1)); + } + }); + + // Wait for the 'ended' callback to signal the end of the video on the page + await browser.waitUntil(async () => { + const elem = await $('#ended'); + return (await elem.getText()) === 'true'; + }); + + await browser.pause(5_000); + + const log = await browser.call(async () => await fetchResults()); + testResults = log.filter((l: any) => l.event?.app_id === 'vimeo-player-test-' + testIdentifier); + }); + + const expectedEvents = [ + VimeoEvent.Ready, + VimeoEvent.Play, + VimeoEvent.Pause, + VimeoEvent.End, + VimeoEvent.SeekStart, + VimeoEvent.SeekEnd, + VimeoEvent.VolumeChange, + VimeoEvent.PlaybackRateChange, + VimeoEvent.PercentProgress, + VimeoEvent.Ping, + ]; + + expectedEvents.forEach((eventName) => { + it(`tracks media event: ${eventName}`, () => { + const expectedSchema = makeSchema(eventName); + + const expectedContext = makeContext(); + + const received = testResults.filter((e) => e.event.unstruct_event.data.schema === expectedSchema)[0]; + + if (received === undefined) { + fail(`Event ${eventName} not found`); + } + + compareContextObjects(expectedContext, received.event.contexts); + + const eventSchemas = testResults.map((e: any) => e.event.unstruct_event.data.schema); + expect(eventSchemas.includes(expectedSchema)).toBe(true); + }); + }); + + // InteractiveHotspotClicked and InteractiveOverlayPanelClicked aren't tested here, + // as they require a paid Vimeo account to enable + let vimeoEvents = { + [VimeoEvent.CuePoint]: { + schema: 'iglu:com.vimeo/cue_point_event/jsonschema/1-0-0', + data: { + cuePointTime: 1, + data: { foo: 'bar' }, + id: jasmine.any(String), + }, + }, + + [VimeoEvent.TextTrackChange]: { + schema: 'iglu:com.vimeo/text_track_change_event/jsonschema/1-0-0', + data: { label: 'English', language: 'en', kind: 'subtitles' }, + }, + }; + + Object.entries(vimeoEvents).forEach(([eventName, expectedEvent]) => { + it(`tracks vimeo event: ${eventName}`, () => { + const event = testResults.filter((e) => e.event.unstruct_event.data.schema === expectedEvent.schema)[0]; + if (event === undefined) { + fail(`Event ${eventName} not found`); + } + const eventData = event.event.unstruct_event.data.data; + + if (eventName === VimeoEvent.CuePoint) { + expect(eventData.data.foo).toEqual(expectedEvent.data.data.foo); + expect(eventData.time).toEqual(expectedEvent.data.time); + expect(eventData.id).toEqual(expectedEvent.data.id); + } + + if (eventName === VimeoEvent.ChapterChange) { + expect(eventData.startTime).toEqual(expectedEvent.data.startTime); + expect(eventData.title).toEqual(expectedEvent.data.title); + expect(eventData.index).toEqual(expectedEvent.data.index); + } + + if (eventName === VimeoEvent.TextTrackChange) { + expect(eventData.label).toEqual(expectedEvent.data.label); + expect(eventData.language).toEqual(expectedEvent.data.language); + expect(eventData.kind).toEqual(expectedEvent.data.kind); + } + }); + }); +}); + +describe('Vimeo Tracker - IFRAME', () => { + skipBrowsers(browser); + let testResults: any[]; + let testIdentifier = ''; + + beforeAll(async () => { + testIdentifier = await pageSetup(); + + await browser.url('/vimeo/iframe.html'); + await browser.waitUntil(() => $('#vimeo').isExisting(), { + timeout: 10000, + timeoutMsg: 'expected vimeo after 5s', + }); + + const player = await $('#vimeo'); + await browser.pause(5000); // Time for the video to load + + await player.click(); // 'play' + + await browser.pause(10_000); + + const log = await browser.call(async () => await fetchResults()); + testResults = log.filter((l: any) => l.event?.app_id === 'vimeo-iframe-test-' + testIdentifier); + }); + + // 'ready' doesn't require attaching the listeners to the player, as it is fired "manually" in the plugin, + // so 'play' ensures we are getting events produced by the event listeners + const expectedEvents = [VimeoEvent.Ready, VimeoEvent.Play]; + + expectedEvents.forEach((eventName) => { + it(`tracks ${eventName}`, () => { + const expectedSchema = makeSchema(eventName); + + const expectedContext = makeContext(eventName); + + const received = testResults.filter((e) => e.event.unstruct_event.data.schema === expectedSchema)[0]; + + if (received === undefined) { + fail(`Event ${eventName} not found`); + } + + compareContextObjects(expectedContext, received.event.contexts); + + const eventSchemas = testResults.map((e: any) => e.event.unstruct_event.data.schema); + expect(eventSchemas.includes(expectedSchema)).toBe(true); + }); + }); +}); diff --git a/trackers/javascript-tracker/test/pages/vimeo/iframe.html b/trackers/javascript-tracker/test/pages/vimeo/iframe.html new file mode 100644 index 000000000..9e010dac5 --- /dev/null +++ b/trackers/javascript-tracker/test/pages/vimeo/iframe.html @@ -0,0 +1,52 @@ + + + Page for YouTube tracking testing with Snowplow Micro + + + + + + + + + diff --git a/trackers/javascript-tracker/test/pages/vimeo/player.html b/trackers/javascript-tracker/test/pages/vimeo/player.html new file mode 100644 index 000000000..23f8b3b9c --- /dev/null +++ b/trackers/javascript-tracker/test/pages/vimeo/player.html @@ -0,0 +1,54 @@ + + + Page for YouTube tracking testing with Snowplow Micro + + + + + + +
+
false
+ + + diff --git a/trackers/javascript-tracker/tracker.config.ts b/trackers/javascript-tracker/tracker.config.ts index 1ca88db56..a6ccc8a3d 100644 --- a/trackers/javascript-tracker/tracker.config.ts +++ b/trackers/javascript-tracker/tracker.config.ts @@ -48,3 +48,5 @@ export const browserFeatures = false; export const mediaTracking = false; export const youtubeTracking = false; export const enhancedConsent = false; +export const snowplowMedia = false; +export const vimeoTracking = false; diff --git a/trackers/javascript-tracker/tracker.lite.config.ts b/trackers/javascript-tracker/tracker.lite.config.ts index a9ec92f7a..3c3fad3d0 100644 --- a/trackers/javascript-tracker/tracker.lite.config.ts +++ b/trackers/javascript-tracker/tracker.lite.config.ts @@ -48,3 +48,5 @@ export const browserFeatures = false; export const mediaTracking = false; export const youtubeTracking = false; export const enhancedConsent = false; +export const snowplowMedia = false; +export const vimeoTracking = false; diff --git a/trackers/javascript-tracker/tracker.test.config.ts b/trackers/javascript-tracker/tracker.test.config.ts index a4ec3ebee..310727c00 100644 --- a/trackers/javascript-tracker/tracker.test.config.ts +++ b/trackers/javascript-tracker/tracker.test.config.ts @@ -48,3 +48,5 @@ export const browserFeatures = true; export const mediaTracking = true; export const youtubeTracking = true; export const enhancedConsent = false; +export const snowplowMedia = true; +export const vimeoTracking = true; From e97528c4ebe8e4bb847324cff3de30fc88439146 Mon Sep 17 00:00:00 2001 From: Matus Tomlein Date: Wed, 9 Aug 2023 11:24:48 +0200 Subject: [PATCH 120/449] Update vendor and version of the player schema used in the media plugin (close #1222) PR #1223 --- ...sue-1222-update_player_schema_2023-08-08-08-01.json | 10 ++++++++++ plugins/browser-plugin-media/src/schemata.ts | 3 ++- .../javascript-tracker/test/integration/vimeo.test.ts | 2 +- 3 files changed, 13 insertions(+), 2 deletions(-) create mode 100644 common/changes/@snowplow/browser-plugin-media/issue-1222-update_player_schema_2023-08-08-08-01.json diff --git a/common/changes/@snowplow/browser-plugin-media/issue-1222-update_player_schema_2023-08-08-08-01.json b/common/changes/@snowplow/browser-plugin-media/issue-1222-update_player_schema_2023-08-08-08-01.json new file mode 100644 index 000000000..fa9a34a7f --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-media/issue-1222-update_player_schema_2023-08-08-08-01.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-media", + "comment": "Update version of the player schema used in the media plugin to 2-0-0 (#1222)", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-media" +} \ No newline at end of file diff --git a/plugins/browser-plugin-media/src/schemata.ts b/plugins/browser-plugin-media/src/schemata.ts index a678ee963..15b27811a 100644 --- a/plugins/browser-plugin-media/src/schemata.ts +++ b/plugins/browser-plugin-media/src/schemata.ts @@ -2,7 +2,8 @@ import { MediaEventType } from './types'; const MEDIA_SCHEMA_PREFIX = 'iglu:com.snowplowanalytics.snowplow.media/'; const MEDIA_SCHEMA_SUFFIX = '/jsonschema/1-0-0'; -export const MEDIA_PLAYER_SCHEMA = MEDIA_SCHEMA_PREFIX + 'player' + MEDIA_SCHEMA_SUFFIX; +// NOTE: The player schema has a different vendor than the other media schemas because it builds on an older version of the same schema. Versions 3.12 to 3.13.1 of the media plugin used a conflicting schema URI which has since been removed from Iglu Central. +export const MEDIA_PLAYER_SCHEMA = 'iglu:com.snowplowanalytics.snowplow/media_player/jsonschema/2-0-0'; export const MEDIA_SESSION_SCHEMA = MEDIA_SCHEMA_PREFIX + 'session' + MEDIA_SCHEMA_SUFFIX; export const MEDIA_AD_SCHEMA = MEDIA_SCHEMA_PREFIX + 'ad' + MEDIA_SCHEMA_SUFFIX; export const MEDIA_AD_BREAK_SCHEMA = MEDIA_SCHEMA_PREFIX + 'ad_break' + MEDIA_SCHEMA_SUFFIX; diff --git a/trackers/javascript-tracker/test/integration/vimeo.test.ts b/trackers/javascript-tracker/test/integration/vimeo.test.ts index 2093ad73b..ef2ef1102 100644 --- a/trackers/javascript-tracker/test/integration/vimeo.test.ts +++ b/trackers/javascript-tracker/test/integration/vimeo.test.ts @@ -24,7 +24,7 @@ const makeContext = () => { schema: 'iglu:com.snowplowanalytics.snowplow/contexts/jsonschema/1-0-0', data: [ { - schema: 'iglu:com.snowplowanalytics.snowplow.media/player/jsonschema/1-0-0', + schema: 'iglu:com.snowplowanalytics.snowplow/media_player/jsonschema/2-0-0', data: { currentTime: jasmine.any(Number), paused: jasmine.any(Boolean), From 5a4b81dc41f3f33b28f998de9c5778f8053424ae Mon Sep 17 00:00:00 2001 From: Peter Perlepes Date: Wed, 9 Aug 2023 15:07:48 +0300 Subject: [PATCH 121/449] Allow disabling activity tracking actions (close #1161) #1224 --- ...ng-activity-tracking_2023-08-08-08-55.json | 10 +++ ...ng-activity-tracking_2023-08-08-08-55.json | 10 +++ .../browser-tracker-core/src/tracker/index.ts | 33 +++++++--- .../browser-tracker-core/src/tracker/types.ts | 10 +++ .../docs/browser-tracker.api.md | 8 +++ trackers/browser-tracker/src/api.ts | 22 +++++++ trackers/browser-tracker/test/tracker.test.ts | 63 +++++++++++++++++++ 7 files changed, 149 insertions(+), 7 deletions(-) create mode 100644 common/changes/@snowplow/browser-tracker-core/feature-1161-allow-disabling-activity-tracking_2023-08-08-08-55.json create mode 100644 common/changes/@snowplow/browser-tracker/feature-1161-allow-disabling-activity-tracking_2023-08-08-08-55.json diff --git a/common/changes/@snowplow/browser-tracker-core/feature-1161-allow-disabling-activity-tracking_2023-08-08-08-55.json b/common/changes/@snowplow/browser-tracker-core/feature-1161-allow-disabling-activity-tracking_2023-08-08-08-55.json new file mode 100644 index 000000000..df70f3066 --- /dev/null +++ b/common/changes/@snowplow/browser-tracker-core/feature-1161-allow-disabling-activity-tracking_2023-08-08-08-55.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-tracker-core", + "comment": "Allow disabling activity tracking actions with disableActivityTracking and disableActivityTrackingCallback APIs", + "type": "none" + } + ], + "packageName": "@snowplow/browser-tracker-core" +} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-tracker/feature-1161-allow-disabling-activity-tracking_2023-08-08-08-55.json b/common/changes/@snowplow/browser-tracker/feature-1161-allow-disabling-activity-tracking_2023-08-08-08-55.json new file mode 100644 index 000000000..50969d761 --- /dev/null +++ b/common/changes/@snowplow/browser-tracker/feature-1161-allow-disabling-activity-tracking_2023-08-08-08-55.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-tracker", + "comment": "Allow disabling activity tracking actions with disableActivityTracking and disableActivityTrackingCallback APIs", + "type": "none" + } + ], + "packageName": "@snowplow/browser-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 f066c5be5..8eb055dd4 100755 --- a/libraries/browser-tracker-core/src/tracker/index.ts +++ b/libraries/browser-tracker-core/src/tracker/index.ts @@ -1048,20 +1048,20 @@ export function Tracker( //Clear page ping heartbeat on new page view window.clearInterval(config.activityInterval); - activityInterval(config, context, contextCallback); + scheduleActivityInterval(config, context, contextCallback); } } } } - function activityInterval( + function scheduleActivityInterval( config: ActivityConfig, context?: Array | null, contextCallback?: (() => Array) | null ) { - const executePagePing = (cb: ActivityCallback, c: Array) => { + const executePagePing = (cb: ActivityCallback, context: Array) => { refreshUrl(); - cb({ context: c, pageViewId: getPageViewId(), minXOffset, minYOffset, maxXOffset, maxYOffset }); + cb({ context, pageViewId: getPageViewId(), minXOffset, minYOffset, maxXOffset, maxYOffset }); resetMaxScrolls(); }; @@ -1087,10 +1087,10 @@ export function Tracker( } }; - if (config.configMinimumVisitLength != 0) { - config.activityInterval = window.setTimeout(timeout, config.configMinimumVisitLength); - } else { + if (config.configMinimumVisitLength === 0) { config.activityInterval = window.setInterval(heartbeat, config.configHeartBeatTimer); + } else { + config.activityInterval = window.setTimeout(timeout, config.configMinimumVisitLength); } } @@ -1137,6 +1137,17 @@ export function Tracker( ); } + function disableActivityTrackingAction(actionKey: keyof ActivityConfigurations) { + const callbackConfiguration = activityTrackingConfig.configurations[actionKey]; + if (callbackConfiguration?.configMinimumVisitLength === 0) { + window.clearTimeout(callbackConfiguration?.activityInterval); + } else { + window.clearInterval(callbackConfiguration?.activityInterval); + } + + activityTrackingConfig.configurations[actionKey] = undefined; + } + const apiMethods = { getDomainSessionIndex: function () { return memorizedVisitCount; @@ -1219,6 +1230,14 @@ export function Tracker( } }, + disableActivityTracking: function () { + disableActivityTrackingAction('pagePing'); + }, + + disableActivityTrackingCallback: function () { + disableActivityTrackingAction('callback'); + }, + updatePageActivity: function () { activityHandler(); }, diff --git a/libraries/browser-tracker-core/src/tracker/types.ts b/libraries/browser-tracker-core/src/tracker/types.ts index b45f5f8fe..f986e2a2d 100755 --- a/libraries/browser-tracker-core/src/tracker/types.ts +++ b/libraries/browser-tracker-core/src/tracker/types.ts @@ -481,6 +481,16 @@ export interface BrowserTracker { configuration: ActivityTrackingConfiguration & ActivityTrackingConfigurationCallback ) => void; + /** + * Disables page activity tracking. + */ + disableActivityTracking: () => void; + + /** + * Disables page activity tracking callback. + */ + disableActivityTrackingCallback: () => void; + /** * Triggers the activityHandler manually to allow external user defined * activity. i.e. While watching a video diff --git a/trackers/browser-tracker/docs/browser-tracker.api.md b/trackers/browser-tracker/docs/browser-tracker.api.md index 3d7214028..1fedc9d25 100644 --- a/trackers/browser-tracker/docs/browser-tracker.api.md +++ b/trackers/browser-tracker/docs/browser-tracker.api.md @@ -63,6 +63,8 @@ export interface BrowserTracker { // 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; + disableActivityTrackingCallback: () => void; disableAnonymousTracking: (configuration?: DisableAnonymousTrackingConfiguration) => void; discardBrace: (enableFilter: boolean) => void; discardHashTag: (enableFilter: boolean) => void; @@ -172,6 +174,12 @@ export type CookieSameSite = "None" | "Lax" | "Strict"; // @public export function crossDomainLinker(crossDomainLinkerCriterion: (elt: HTMLAnchorElement | HTMLAreaElement) => boolean, trackers?: Array): void; +// @public +export function disableActivityTracking(trackers?: Array): void; + +// @public +export function disableActivityTrackingCallback(trackers?: Array): void; + // @public export function disableAnonymousTracking(configuration?: DisableAnonymousTrackingConfiguration, trackers?: Array): void; diff --git a/trackers/browser-tracker/src/api.ts b/trackers/browser-tracker/src/api.ts index 7c35e3863..e8eba06b6 100644 --- a/trackers/browser-tracker/src/api.ts +++ b/trackers/browser-tracker/src/api.ts @@ -226,6 +226,28 @@ export function enableActivityTrackingCallback( }); } +/** + * Disables page activity tracking. + * + * @param trackers - The tracker identifiers the activity tracking will be disabled. + */ +export function disableActivityTracking(trackers?: Array) { + dispatchToTrackers(trackers, (t) => { + t.disableActivityTracking(); + }); +} + +/** + * Disables page activity tracking callback. + * + * @param trackers - The tracker identifiers the activity tracking callback will be disabled. + */ +export function disableActivityTrackingCallback(trackers?: Array) { + dispatchToTrackers(trackers, (t) => { + t.disableActivityTrackingCallback(); + }); +} + /** * Triggers the activityHandler manually to allow external user defined activity. i.e. While watching a video * diff --git a/trackers/browser-tracker/test/tracker.test.ts b/trackers/browser-tracker/test/tracker.test.ts index b26982afd..085f3edc9 100644 --- a/trackers/browser-tracker/test/tracker.test.ts +++ b/trackers/browser-tracker/test/tracker.test.ts @@ -275,4 +275,67 @@ describe('Activity tracker behaviour', () => { expect(firstPageId).toBe(extractPageId(pph)); expect(secondPageId).toBe(extractPageId(ppl)); }); + + it('disables activity tracking', () => { + const state = new SharedState(); + const t = + addTracker('sp6', 'sp6', '', '', state, { stateStorageStrategy: 'cookie' }) ?? fail('Failed to create tracker'); + t.enableActivityTracking({ minimumVisitLength: 5, heartbeatDelay: 5 }); + t.trackPageView(); + + jest.advanceTimersByTime(100); + t.updatePageActivity(); + jest.advanceTimersByTime(4900); + + expect(F.size(getPPEvents(state.outQueues))).toBe(1); + + // page ping timer starts tracking + jest.advanceTimersByTime(100); + t.updatePageActivity(); + jest.advanceTimersByTime(4900); + + expect(F.size(getPPEvents(state.outQueues))).toBe(2); + + /* Disabling activity tracking and callback is expected to not allow more activity actions */ + t.disableActivityTracking(); + t.disableActivityTrackingCallback(); + + jest.advanceTimersByTime(100); + t.updatePageActivity(); + jest.advanceTimersByTime(4900); + + expect(F.size(getPPEvents(state.outQueues))).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'); + t.enableActivityTrackingCallback({ minimumVisitLength: 5, heartbeatDelay: 5, callback: () => callbacks++ }); + t.trackPageView(); + + jest.advanceTimersByTime(100); + t.updatePageActivity(); + jest.advanceTimersByTime(4900); + + expect(callbacks).toBe(1); + + // page ping timer starts tracking + jest.advanceTimersByTime(100); + t.updatePageActivity(); + jest.advanceTimersByTime(4900); + + expect(callbacks).toBe(2); + + /* Disabling activity tracking and callback is expected to not allow more activity actions */ + t.disableActivityTracking(); + t.disableActivityTrackingCallback(); + + jest.advanceTimersByTime(100); + t.updatePageActivity(); + jest.advanceTimersByTime(4900); + + expect(callbacks).toBe(2); + }); }); From 507a40d5903ec418cdd343881321aa0175a0609c Mon Sep 17 00:00:00 2001 From: Peter Perlepes Date: Wed, 9 Aug 2023 16:20:21 +0300 Subject: [PATCH 122/449] Add PrivacySandboxPlugin (close #1205) #1206 --- ...ivacy-sandbox-plugin_2023-06-14-20-26.json | 10 ++ ...ivacy-sandbox-plugin_2023-08-04-12-00.json | 10 ++ .../rush/browser-approved-packages.json | 4 + common/config/rush/pnpm-lock.yaml | 51 ++++++++++ common/config/rush/repo-state.json | 2 +- .../browser-plugin-privacy-sandbox/LICENSE | 29 ++++++ .../browser-plugin-privacy-sandbox/README.md | 62 ++++++++++++ .../jest.config.js | 5 + .../package.json | 53 ++++++++++ .../rollup.config.js | 37 +++++++ .../src/index.ts | 43 ++++++++ .../src/schemata.ts | 1 + .../src/types.ts | 14 +++ .../privacy-sandbox.test.ts.snap | 22 +++++ .../test/privacy-sandbox.test.ts | 98 +++++++++++++++++++ .../tsconfig.json | 3 + rush.json | 6 ++ trackers/javascript-tracker/package.json | 3 +- trackers/javascript-tracker/src/features.ts | 6 ++ trackers/javascript-tracker/tracker.config.ts | 1 + .../javascript-tracker/tracker.lite.config.ts | 1 + .../javascript-tracker/tracker.test.config.ts | 1 + 22 files changed, 460 insertions(+), 2 deletions(-) create mode 100644 common/changes/@snowplow/browser-plugin-privacy-sandbox/feature-add-privacy-sandbox-plugin_2023-06-14-20-26.json create mode 100644 common/changes/@snowplow/javascript-tracker/feature-1205-add-privacy-sandbox-plugin_2023-08-04-12-00.json create mode 100644 plugins/browser-plugin-privacy-sandbox/LICENSE create mode 100644 plugins/browser-plugin-privacy-sandbox/README.md create mode 100644 plugins/browser-plugin-privacy-sandbox/jest.config.js create mode 100644 plugins/browser-plugin-privacy-sandbox/package.json create mode 100644 plugins/browser-plugin-privacy-sandbox/rollup.config.js create mode 100644 plugins/browser-plugin-privacy-sandbox/src/index.ts create mode 100644 plugins/browser-plugin-privacy-sandbox/src/schemata.ts create mode 100644 plugins/browser-plugin-privacy-sandbox/src/types.ts create mode 100644 plugins/browser-plugin-privacy-sandbox/test/__snapshots__/privacy-sandbox.test.ts.snap create mode 100644 plugins/browser-plugin-privacy-sandbox/test/privacy-sandbox.test.ts create mode 100644 plugins/browser-plugin-privacy-sandbox/tsconfig.json diff --git a/common/changes/@snowplow/browser-plugin-privacy-sandbox/feature-add-privacy-sandbox-plugin_2023-06-14-20-26.json b/common/changes/@snowplow/browser-plugin-privacy-sandbox/feature-add-privacy-sandbox-plugin_2023-06-14-20-26.json new file mode 100644 index 000000000..7d163ead2 --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-privacy-sandbox/feature-add-privacy-sandbox-plugin_2023-06-14-20-26.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-privacy-sandbox", + "comment": "Introduce PrivacySandboxPlugin", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-privacy-sandbox" +} \ No newline at end of file diff --git a/common/changes/@snowplow/javascript-tracker/feature-1205-add-privacy-sandbox-plugin_2023-08-04-12-00.json b/common/changes/@snowplow/javascript-tracker/feature-1205-add-privacy-sandbox-plugin_2023-08-04-12-00.json new file mode 100644 index 000000000..3ae431ccc --- /dev/null +++ b/common/changes/@snowplow/javascript-tracker/feature-1205-add-privacy-sandbox-plugin_2023-08-04-12-00.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/javascript-tracker", + "comment": "Introduce PrivacySandboxPlugin", + "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 c898dc7ff..fd359cee8 100644 --- a/common/config/rush/browser-approved-packages.json +++ b/common/config/rush/browser-approved-packages.json @@ -94,6 +94,10 @@ "name": "@snowplow/browser-plugin-performance-timing", "allowedCategories": [ "trackers" ] }, + { + "name": "@snowplow/browser-plugin-privacy-sandbox", + "allowedCategories": [ "trackers" ] + }, { "name": "@snowplow/browser-plugin-site-tracking", "allowedCategories": [ "trackers" ] diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index 0afcff1f7..261787db4 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -1070,6 +1070,55 @@ importers: ts-jest: 27.1.3_60149d457e34ffba7d4e845dde6a1263 typescript: 4.6.2 + ../../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 + ../../plugins/browser-plugin-site-tracking: specifiers: '@ampproject/rollup-plugin-closure-compiler': ~0.27.0 @@ -1466,6 +1515,7 @@ importers: '@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:* @@ -1534,6 +1584,7 @@ importers: '@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 diff --git a/common/config/rush/repo-state.json b/common/config/rush/repo-state.json index d7b879a75..fc69b38e4 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": "8dee87dc9d46510a27807789c4f80af0823ce444", + "pnpmShrinkwrapHash": "a8b7bdefbe86b839e0c359de02cae9c4ccc90039", "preferredVersionsHash": "bf21a9e8fbc5a3846fb05b4fa0859e0917b2202f" } diff --git a/plugins/browser-plugin-privacy-sandbox/LICENSE b/plugins/browser-plugin-privacy-sandbox/LICENSE new file mode 100644 index 000000000..b91bf94ae --- /dev/null +++ b/plugins/browser-plugin-privacy-sandbox/LICENSE @@ -0,0 +1,29 @@ +BSD 3-Clause License + +Copyright (c) 2023 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. diff --git a/plugins/browser-plugin-privacy-sandbox/README.md b/plugins/browser-plugin-privacy-sandbox/README.md new file mode 100644 index 000000000..ec680e6e4 --- /dev/null +++ b/plugins/browser-plugin-privacy-sandbox/README.md @@ -0,0 +1,62 @@ +# Snowplow Privacy Sandbox Tracking + +[![npm version][npm-image]][npm-url] +[![License][license-image]](LICENSE) + +Browser Plugin to be used with `@snowplow/browser-tracker`. + +Allows for adding Privacy Sandbox related data to your Snowplow tracking. To learn more about the Privacy Sandbox you can visit the official [website](https://www.privacysandbox.com/). As more and more APIs become available or further refined, we will be upgrading the plugin with more capabilities and options as more APIs are added to the Privacy Sandbox. + +Currently supported APIs: +- [Topics API](https://developer.chrome.com/docs/privacy-sandbox/topics/overview/) + + +__Note:__ Some of the APIs and data will not be available by default in all users. This is commonly due to these APIs being dependent on browser support, user privacy preferences, browser feature-flags or ad-blocking software. The plugin will not modify or request access explicitly to any of these features if not available by default. + +## 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-privacy-sandbox +``` + +## Usage + +Initialize your tracker with the PrivacySandboxPlugin: + +```js +import { newTracker } from '@snowplow/browser-tracker'; +import { PrivacySandboxPlugin } from '@snowplow/browser-plugin-privacy-sandbox'; + +newTracker('sp1', '{{collector}}', { plugins: [ PrivacySandboxPlugin() ] }); +``` + +With the plugin added to your tracker, a new context will be attached to every event, when Privacy Sandbox [Topics](https://developer.chrome.com/docs/privacy-sandbox/topics/overview/) are detected for a user. + +## Copyright and license + +Licensed and distributed under the [BSD 3-Clause License](LICENSE) ([An OSI Approved License][osi]). + +Copyright (c) 2023 Snowplow Analytics Ltd. + +All rights reserved. + +[npm-url]: https://www.npmjs.com/package/@snowplow/browser-plugin-privacy-sandbox +[npm-image]: https://img.shields.io/npm/v/@snowplow/browser-plugin-privacy-sandbox +[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-privacy-sandbox diff --git a/plugins/browser-plugin-privacy-sandbox/jest.config.js b/plugins/browser-plugin-privacy-sandbox/jest.config.js new file mode 100644 index 000000000..bd3ea4e2a --- /dev/null +++ b/plugins/browser-plugin-privacy-sandbox/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-privacy-sandbox/package.json b/plugins/browser-plugin-privacy-sandbox/package.json new file mode 100644 index 000000000..a969df587 --- /dev/null +++ b/plugins/browser-plugin-privacy-sandbox/package.json @@ -0,0 +1,53 @@ +{ + "name": "@snowplow/browser-plugin-privacy-sandbox", + "version": "3.13.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", + "repository": { + "type": "git", + "url": "https://github.com/snowplow/snowplow-javascript-tracker.git" + }, + "license": "BSD-3-Clause", + "author": "Peter Perlepes", + "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.13.1" + } +} diff --git a/plugins/browser-plugin-privacy-sandbox/rollup.config.js b/plugins/browser-plugin-privacy-sandbox/rollup.config.js new file mode 100644 index 000000000..6c968d34c --- /dev/null +++ b/plugins/browser-plugin-privacy-sandbox/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 = 'snowplowPrivacySandbox'; + +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-privacy-sandbox/src/index.ts b/plugins/browser-plugin-privacy-sandbox/src/index.ts new file mode 100644 index 000000000..fc65f8b65 --- /dev/null +++ b/plugins/browser-plugin-privacy-sandbox/src/index.ts @@ -0,0 +1,43 @@ +import { BrowserPlugin } from '@snowplow/browser-tracker-core'; +import { PRIVACY_SANDBOX_TOPICS_SCHEMA } from './schemata'; +import { LOG } from '@snowplow/tracker-core'; +import { BrowsingTopicsOptions, PrivacySandboxTopic, Topic } from './types'; + +declare global { + interface Document { + /* Declare Feature Policy types https://developer.mozilla.org/en-US/docs/Web/API/FeaturePolicy */ + featurePolicy?: { + allowsFeature: (feature: string, origin?: string) => boolean; + }; + browsingTopics: (options: BrowsingTopicsOptions) => Promise; + } +} + +/** + * Adds Privacy Sandbox Topics context to events + */ +export function PrivacySandboxPlugin(): BrowserPlugin { + let topics: Topic[] = []; + + return { + activateBrowserPlugin: function () { + const isTopicsApiAvailable = + 'browsingTopics' in document && document.featurePolicy?.allowsFeature('browsing-topics'); + + if (isTopicsApiAvailable) { + document + .browsingTopics({ skipObservation: true }) + .then((availableTopics) => { + topics = availableTopics.map(({ topic, version }) => ({ + topic, + version, + })); + }) + .catch((err) => LOG.error(err)); + } + }, + contexts: function () { + return topics.length ? [{ schema: PRIVACY_SANDBOX_TOPICS_SCHEMA, data: { topics } }] : []; + }, + }; +} diff --git a/plugins/browser-plugin-privacy-sandbox/src/schemata.ts b/plugins/browser-plugin-privacy-sandbox/src/schemata.ts new file mode 100644 index 000000000..e759a94b0 --- /dev/null +++ b/plugins/browser-plugin-privacy-sandbox/src/schemata.ts @@ -0,0 +1 @@ +export const PRIVACY_SANDBOX_TOPICS_SCHEMA = 'iglu:com.google.privacysandbox/topics/jsonschema/1-0-0'; diff --git a/plugins/browser-plugin-privacy-sandbox/src/types.ts b/plugins/browser-plugin-privacy-sandbox/src/types.ts new file mode 100644 index 000000000..41ca0f1a7 --- /dev/null +++ b/plugins/browser-plugin-privacy-sandbox/src/types.ts @@ -0,0 +1,14 @@ +export type PrivacySandboxTopic = { + configVersion: string; + modelVersion: string; + taxonomyVersion: string; + topic: number; + version: string; +}; + +export type Topic = Pick; + +export type BrowsingTopicsOptions = { + /* Enabling will not cause the current page to be included in the weekly epoch calculation or update the list of topics observed for the caller. */ + skipObservation?: boolean; +}; diff --git a/plugins/browser-plugin-privacy-sandbox/test/__snapshots__/privacy-sandbox.test.ts.snap b/plugins/browser-plugin-privacy-sandbox/test/__snapshots__/privacy-sandbox.test.ts.snap new file mode 100644 index 000000000..8b7bbd864 --- /dev/null +++ b/plugins/browser-plugin-privacy-sandbox/test/__snapshots__/privacy-sandbox.test.ts.snap @@ -0,0 +1,22 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`Privacy Sandbox plugin Returns no values when feature policy "browsing-topics" is off 1`] = `undefined`; + +exports[`Privacy Sandbox plugin Returns values for Privacy Sandbox properties 1`] = ` +Object { + "data": Array [ + Object { + "data": Object { + "topics": Array [ + Object { + "topic": 1, + "version": "chrome.1:1:1", + }, + ], + }, + "schema": "iglu:com.google.privacysandbox/topics/jsonschema/1-0-0", + }, + ], + "schema": "iglu:com.snowplowanalytics.snowplow/contexts/jsonschema/1-0-0", +} +`; diff --git a/plugins/browser-plugin-privacy-sandbox/test/privacy-sandbox.test.ts b/plugins/browser-plugin-privacy-sandbox/test/privacy-sandbox.test.ts new file mode 100644 index 000000000..7324ecdee --- /dev/null +++ b/plugins/browser-plugin-privacy-sandbox/test/privacy-sandbox.test.ts @@ -0,0 +1,98 @@ +import { buildLinkClick, trackerCore } from '@snowplow/tracker-core'; +import { JSDOM } from 'jsdom'; +import { PrivacySandboxPlugin } from '../src'; +import { BrowserTracker } from '@snowplow/browser-tracker-core'; +import { setImmediate } from 'timers'; + +declare var jsdom: JSDOM; + +describe('Privacy Sandbox plugin', () => { + it('Returns values for Privacy Sandbox properties', async () => { + const sampleTopicEntry = { + topic: 1, + taxonomyVersion: '1', + version: 'chrome.1:1:1', + modelVersion: '1', + configurationVersion: '1', + }; + + Object.defineProperties(jsdom.window.document, { + browsingTopics: { + value: () => { + return Promise.resolve([sampleTopicEntry]); + }, + configurable: true, + }, + featurePolicy: { + value: { + allowsFeature: (feature: string) => feature === 'browsing-topics', + }, + configurable: true, + }, + }); + + const plugin = PrivacySandboxPlugin(); + + const core = trackerCore({ + corePlugins: [plugin], + callback: (payloadBuilder) => { + const json = payloadBuilder.getJson().filter((e) => e.keyIfEncoded === 'cx'); + expect(json[0].json).toMatchSnapshot(); + }, + }); + + plugin.activateBrowserPlugin?.({ core } as BrowserTracker); + + const flushPromises = () => new Promise(setImmediate); + await flushPromises(); + + core.track(buildLinkClick({ targetUrl: 'https://example.com' })); + }); + + it('Returns no values when feature policy "browsing-topics" is off', async () => { + const sampleTopicEntry = { + topic: 1, + taxonomyVersion: '1', + version: 'chrome.1:1:1', + modelVersion: '1', + configurationVersion: '1', + }; + + Object.defineProperties(jsdom.window.document, { + browsingTopics: { + value: () => { + return Promise.resolve([sampleTopicEntry]); + }, + configurable: true, + }, + featurePolicy: { + value: { + allowsFeature: function (feature: string) { + if (feature === 'browsing-topics') { + return false; + } + return true; + }, + }, + configurable: true, + }, + }); + + const plugin = PrivacySandboxPlugin(); + + const core = trackerCore({ + corePlugins: [plugin], + callback: (payloadBuilder) => { + const json = payloadBuilder.getJson().filter((e) => e.keyIfEncoded === 'cx'); + expect(json[0]?.json).toMatchSnapshot(); + }, + }); + + plugin.activateBrowserPlugin?.({ core } as BrowserTracker); + + const flushPromises = () => new Promise(setImmediate); + await flushPromises(); + + core.track(buildLinkClick({ targetUrl: 'https://example.com' })); + }); +}); diff --git a/plugins/browser-plugin-privacy-sandbox/tsconfig.json b/plugins/browser-plugin-privacy-sandbox/tsconfig.json new file mode 100644 index 000000000..4082f16a5 --- /dev/null +++ b/plugins/browser-plugin-privacy-sandbox/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "../../tsconfig.json" +} diff --git a/rush.json b/rush.json index 09e746ccb..b2f795e50 100644 --- a/rush.json +++ b/rush.json @@ -565,6 +565,12 @@ "projectFolder": "plugins/browser-plugin-vimeo-tracking", "reviewCategory": "plugins", "versionPolicyName": "tracker" + }, + { + "packageName": "@snowplow/browser-plugin-privacy-sandbox", + "projectFolder": "plugins/browser-plugin-privacy-sandbox", + "reviewCategory": "plugins", + "versionPolicyName": "tracker" } ] } diff --git a/trackers/javascript-tracker/package.json b/trackers/javascript-tracker/package.json index 984e561d4..e96097c5d 100644 --- a/trackers/javascript-tracker/package.json +++ b/trackers/javascript-tracker/package.json @@ -64,7 +64,8 @@ "@snowplow/browser-tracker-core": "workspace:*", "@snowplow/tracker-core": "workspace:*", "tslib": "^2.3.1", - "@snowplow/browser-plugin-enhanced-consent": "workspace:*" + "@snowplow/browser-plugin-enhanced-consent": "workspace:*", + "@snowplow/browser-plugin-privacy-sandbox": "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 86a63d4b1..6a2932a75 100644 --- a/trackers/javascript-tracker/src/features.ts +++ b/trackers/javascript-tracker/src/features.ts @@ -53,6 +53,7 @@ import { JavaScriptTrackerConfiguration } from './configuration'; import * as EnhancedConsent from '@snowplow/browser-plugin-enhanced-consent'; 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'; /** * Calculates the required plugins to intialise per tracker @@ -207,6 +208,11 @@ export function Plugins(configuration: JavaScriptTrackerConfiguration) { const { VimeoTrackingPlugin, ...apiMethods } = VimeoTracking; activatedPlugins.push([VimeoTrackingPlugin(), apiMethods]); } + + if (plugins.privacySandbox) { + const { PrivacySandboxPlugin, ...apiMethods } = PrivacySandbox; + activatedPlugins.push([PrivacySandboxPlugin(), apiMethods]); + } return activatedPlugins; } diff --git a/trackers/javascript-tracker/tracker.config.ts b/trackers/javascript-tracker/tracker.config.ts index a6ccc8a3d..3ee40fc1e 100644 --- a/trackers/javascript-tracker/tracker.config.ts +++ b/trackers/javascript-tracker/tracker.config.ts @@ -50,3 +50,4 @@ export const youtubeTracking = false; export const enhancedConsent = false; export const snowplowMedia = false; export const vimeoTracking = false; +export const privacySandbox = false; diff --git a/trackers/javascript-tracker/tracker.lite.config.ts b/trackers/javascript-tracker/tracker.lite.config.ts index 3c3fad3d0..4ad8c4046 100644 --- a/trackers/javascript-tracker/tracker.lite.config.ts +++ b/trackers/javascript-tracker/tracker.lite.config.ts @@ -50,3 +50,4 @@ export const youtubeTracking = false; export const enhancedConsent = false; export const snowplowMedia = false; export const vimeoTracking = false; +export const privacySandbox = false; diff --git a/trackers/javascript-tracker/tracker.test.config.ts b/trackers/javascript-tracker/tracker.test.config.ts index 310727c00..4f3c136a2 100644 --- a/trackers/javascript-tracker/tracker.test.config.ts +++ b/trackers/javascript-tracker/tracker.test.config.ts @@ -50,3 +50,4 @@ export const youtubeTracking = true; export const enhancedConsent = false; export const snowplowMedia = true; export const vimeoTracking = true; +export const privacySandbox = false; From 44e2b7039019392c43baf4b8d075031a9d7b0926 Mon Sep 17 00:00:00 2001 From: Greg Leonard <45019882+greg-el@users.noreply.github.com> Date: Thu, 10 Aug 2023 12:02:32 +0100 Subject: [PATCH 123/449] Prepare for release 3.14.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 9b5303c5b..7a199e9d3 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 b9138bf83c572701d8ede88aa61100ddedab659b Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 10 Aug 2023 13:56:44 +0000 Subject: [PATCH 124/449] Update changelogs [skip ci] --- ..._repeated_media_events_2023-06-30-20-36.json | 10 ---------- ...2-update_player_schema_2023-08-08-08-01.json | 10 ---------- ...privacy-sandbox-plugin_2023-06-14-20-26.json | 10 ---------- ...ssue-1156-vimeo_plugin_2023-06-27-11-42.json | 10 ---------- ...ling-activity-tracking_2023-08-08-08-55.json | 10 ---------- ...ling-activity-tracking_2023-08-08-08-55.json | 10 ---------- ...privacy-sandbox-plugin_2023-08-04-12-00.json | 10 ---------- ...hestration-improvement_2023-07-13-08-16.json | 10 ---------- ...ssue-1156-vimeo_plugin_2023-06-27-11-42.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 ++++++- .../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 ++++++- .../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 | 15 +++++++++++++++ plugins/browser-plugin-media/CHANGELOG.md | 10 +++++++++- .../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 | 17 +++++++++++++++++ .../browser-plugin-privacy-sandbox/CHANGELOG.md | 11 +++++++++++ .../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 | 17 +++++++++++++++++ .../browser-plugin-vimeo-tracking/CHANGELOG.md | 11 +++++++++++ .../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 | 12 ++++++++++++ trackers/browser-tracker/CHANGELOG.md | 9 ++++++++- trackers/javascript-tracker/CHANGELOG.json | 15 +++++++++++++++ trackers/javascript-tracker/CHANGELOG.md | 10 +++++++++- trackers/node-tracker/CHANGELOG.json | 6 ++++++ trackers/node-tracker/CHANGELOG.md | 7 ++++++- 71 files changed, 444 insertions(+), 119 deletions(-) delete mode 100644 common/changes/@snowplow/browser-plugin-media/issue-1218-filter_out_repeated_media_events_2023-06-30-20-36.json delete mode 100644 common/changes/@snowplow/browser-plugin-media/issue-1222-update_player_schema_2023-08-08-08-01.json delete mode 100644 common/changes/@snowplow/browser-plugin-privacy-sandbox/feature-add-privacy-sandbox-plugin_2023-06-14-20-26.json delete mode 100644 common/changes/@snowplow/browser-plugin-vimeo-tracking/issue-1156-vimeo_plugin_2023-06-27-11-42.json delete mode 100644 common/changes/@snowplow/browser-tracker-core/feature-1161-allow-disabling-activity-tracking_2023-08-08-08-55.json delete mode 100644 common/changes/@snowplow/browser-tracker/feature-1161-allow-disabling-activity-tracking_2023-08-08-08-55.json delete mode 100644 common/changes/@snowplow/javascript-tracker/feature-1205-add-privacy-sandbox-plugin_2023-08-04-12-00.json delete mode 100644 common/changes/@snowplow/javascript-tracker/feature-minor-e2e-orchestration-improvement_2023-07-13-08-16.json delete mode 100644 common/changes/@snowplow/javascript-tracker/issue-1156-vimeo_plugin_2023-06-27-11-42.json create mode 100644 plugins/browser-plugin-privacy-sandbox/CHANGELOG.json create mode 100644 plugins/browser-plugin-privacy-sandbox/CHANGELOG.md create mode 100644 plugins/browser-plugin-vimeo-tracking/CHANGELOG.json create mode 100644 plugins/browser-plugin-vimeo-tracking/CHANGELOG.md diff --git a/common/changes/@snowplow/browser-plugin-media/issue-1218-filter_out_repeated_media_events_2023-06-30-20-36.json b/common/changes/@snowplow/browser-plugin-media/issue-1218-filter_out_repeated_media_events_2023-06-30-20-36.json deleted file mode 100644 index 037797552..000000000 --- a/common/changes/@snowplow/browser-plugin-media/issue-1218-filter_out_repeated_media_events_2023-06-30-20-36.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-plugin-media", - "comment": "Filter out repeated seek and volume change events happening when user holds down the player controls (#1218)", - "type": "none" - } - ], - "packageName": "@snowplow/browser-plugin-media" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-media/issue-1222-update_player_schema_2023-08-08-08-01.json b/common/changes/@snowplow/browser-plugin-media/issue-1222-update_player_schema_2023-08-08-08-01.json deleted file mode 100644 index fa9a34a7f..000000000 --- a/common/changes/@snowplow/browser-plugin-media/issue-1222-update_player_schema_2023-08-08-08-01.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-plugin-media", - "comment": "Update version of the player schema used in the media plugin to 2-0-0 (#1222)", - "type": "none" - } - ], - "packageName": "@snowplow/browser-plugin-media" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-privacy-sandbox/feature-add-privacy-sandbox-plugin_2023-06-14-20-26.json b/common/changes/@snowplow/browser-plugin-privacy-sandbox/feature-add-privacy-sandbox-plugin_2023-06-14-20-26.json deleted file mode 100644 index 7d163ead2..000000000 --- a/common/changes/@snowplow/browser-plugin-privacy-sandbox/feature-add-privacy-sandbox-plugin_2023-06-14-20-26.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-plugin-privacy-sandbox", - "comment": "Introduce PrivacySandboxPlugin", - "type": "none" - } - ], - "packageName": "@snowplow/browser-plugin-privacy-sandbox" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-vimeo-tracking/issue-1156-vimeo_plugin_2023-06-27-11-42.json b/common/changes/@snowplow/browser-plugin-vimeo-tracking/issue-1156-vimeo_plugin_2023-06-27-11-42.json deleted file mode 100644 index 82d1f2082..000000000 --- a/common/changes/@snowplow/browser-plugin-vimeo-tracking/issue-1156-vimeo_plugin_2023-06-27-11-42.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-plugin-vimeo-tracking", - "comment": "Add Vimeo tracking plugin (close #1156)", - "type": "none" - } - ], - "packageName": "@snowplow/browser-plugin-vimeo-tracking" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-tracker-core/feature-1161-allow-disabling-activity-tracking_2023-08-08-08-55.json b/common/changes/@snowplow/browser-tracker-core/feature-1161-allow-disabling-activity-tracking_2023-08-08-08-55.json deleted file mode 100644 index df70f3066..000000000 --- a/common/changes/@snowplow/browser-tracker-core/feature-1161-allow-disabling-activity-tracking_2023-08-08-08-55.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-tracker-core", - "comment": "Allow disabling activity tracking actions with disableActivityTracking and disableActivityTrackingCallback APIs", - "type": "none" - } - ], - "packageName": "@snowplow/browser-tracker-core" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-tracker/feature-1161-allow-disabling-activity-tracking_2023-08-08-08-55.json b/common/changes/@snowplow/browser-tracker/feature-1161-allow-disabling-activity-tracking_2023-08-08-08-55.json deleted file mode 100644 index 50969d761..000000000 --- a/common/changes/@snowplow/browser-tracker/feature-1161-allow-disabling-activity-tracking_2023-08-08-08-55.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-tracker", - "comment": "Allow disabling activity tracking actions with disableActivityTracking and disableActivityTrackingCallback APIs", - "type": "none" - } - ], - "packageName": "@snowplow/browser-tracker" -} \ No newline at end of file diff --git a/common/changes/@snowplow/javascript-tracker/feature-1205-add-privacy-sandbox-plugin_2023-08-04-12-00.json b/common/changes/@snowplow/javascript-tracker/feature-1205-add-privacy-sandbox-plugin_2023-08-04-12-00.json deleted file mode 100644 index 3ae431ccc..000000000 --- a/common/changes/@snowplow/javascript-tracker/feature-1205-add-privacy-sandbox-plugin_2023-08-04-12-00.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/javascript-tracker", - "comment": "Introduce PrivacySandboxPlugin", - "type": "none" - } - ], - "packageName": "@snowplow/javascript-tracker" -} \ No newline at end of file diff --git a/common/changes/@snowplow/javascript-tracker/feature-minor-e2e-orchestration-improvement_2023-07-13-08-16.json b/common/changes/@snowplow/javascript-tracker/feature-minor-e2e-orchestration-improvement_2023-07-13-08-16.json deleted file mode 100644 index bbc5af499..000000000 --- a/common/changes/@snowplow/javascript-tracker/feature-minor-e2e-orchestration-improvement_2023-07-13-08-16.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/javascript-tracker", - "comment": "End to end test changes", - "type": "none" - } - ], - "packageName": "@snowplow/javascript-tracker" -} \ No newline at end of file diff --git a/common/changes/@snowplow/javascript-tracker/issue-1156-vimeo_plugin_2023-06-27-11-42.json b/common/changes/@snowplow/javascript-tracker/issue-1156-vimeo_plugin_2023-06-27-11-42.json deleted file mode 100644 index ae2f53795..000000000 --- a/common/changes/@snowplow/javascript-tracker/issue-1156-vimeo_plugin_2023-06-27-11-42.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "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/CHANGELOG.json b/libraries/browser-tracker-core/CHANGELOG.json index ffaf9d7f1..4c3dc6b7d 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.14.0", + "tag": "@snowplow/browser-tracker-core_v3.14.0", + "date": "Thu, 10 Aug 2023 13:56:44 GMT", + "comments": { + "none": [ + { + "comment": "Allow disabling activity tracking actions with disableActivityTracking and disableActivityTrackingCallback APIs" + } + ] + } + }, { "version": "3.13.1", "tag": "@snowplow/browser-tracker-core_v3.13.1", diff --git a/libraries/browser-tracker-core/CHANGELOG.md b/libraries/browser-tracker-core/CHANGELOG.md index a32df93ed..65998c211 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 Thu, 29 Jun 2023 14:20:06 GMT and should not be manually modified. +This log was last generated on Thu, 10 Aug 2023 13:56:44 GMT and should not be manually modified. + +## 3.14.0 +Thu, 10 Aug 2023 13:56:44 GMT + +### Updates + +- Allow disabling activity tracking actions with disableActivityTracking and disableActivityTrackingCallback APIs ## 3.13.1 Thu, 29 Jun 2023 14:20:06 GMT diff --git a/libraries/tracker-core/CHANGELOG.json b/libraries/tracker-core/CHANGELOG.json index 4521ca711..dd47bb7bb 100644 --- a/libraries/tracker-core/CHANGELOG.json +++ b/libraries/tracker-core/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/tracker-core", "entries": [ + { + "version": "3.14.0", + "tag": "@snowplow/tracker-core_v3.14.0", + "date": "Thu, 10 Aug 2023 13:56:44 GMT", + "comments": {} + }, { "version": "3.13.1", "tag": "@snowplow/tracker-core_v3.13.1", diff --git a/libraries/tracker-core/CHANGELOG.md b/libraries/tracker-core/CHANGELOG.md index e2f319b53..7089f61c8 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, 29 Jun 2023 14:20:06 GMT and should not be manually modified. +This log was last generated on Thu, 10 Aug 2023 13:56:44 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-ad-tracking/CHANGELOG.json b/plugins/browser-plugin-ad-tracking/CHANGELOG.json index 2be7d2607..4be63befc 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.14.0", + "tag": "@snowplow/browser-plugin-ad-tracking_v3.14.0", + "date": "Thu, 10 Aug 2023 13:56:44 GMT", + "comments": {} + }, { "version": "3.13.1", "tag": "@snowplow/browser-plugin-ad-tracking_v3.13.1", diff --git a/plugins/browser-plugin-ad-tracking/CHANGELOG.md b/plugins/browser-plugin-ad-tracking/CHANGELOG.md index 6c04d0db7..909179630 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, 29 Jun 2023 14:20:06 GMT and should not be manually modified. +This log was last generated on Thu, 10 Aug 2023 13:56:44 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-browser-features/CHANGELOG.json b/plugins/browser-plugin-browser-features/CHANGELOG.json index e9fa37878..3ee4131f6 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.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", diff --git a/plugins/browser-plugin-browser-features/CHANGELOG.md b/plugins/browser-plugin-browser-features/CHANGELOG.md index 7316c53ea..e89371870 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, 29 Jun 2023 14:20:06 GMT and should not be manually modified. +This log was last generated on Thu, 10 Aug 2023 13:56:44 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-client-hints/CHANGELOG.json b/plugins/browser-plugin-client-hints/CHANGELOG.json index 655c4ddff..89ff9a1ca 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.14.0", + "tag": "@snowplow/browser-plugin-client-hints_v3.14.0", + "date": "Thu, 10 Aug 2023 13:56:44 GMT", + "comments": {} + }, { "version": "3.13.1", "tag": "@snowplow/browser-plugin-client-hints_v3.13.1", diff --git a/plugins/browser-plugin-client-hints/CHANGELOG.md b/plugins/browser-plugin-client-hints/CHANGELOG.md index 83c1172a7..d9be7495d 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, 29 Jun 2023 14:20:06 GMT and should not be manually modified. +This log was last generated on Thu, 10 Aug 2023 13:56:44 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-consent/CHANGELOG.json b/plugins/browser-plugin-consent/CHANGELOG.json index 560158cc0..fdc797eea 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.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", diff --git a/plugins/browser-plugin-consent/CHANGELOG.md b/plugins/browser-plugin-consent/CHANGELOG.md index 7f82894aa..ab5692176 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, 29 Jun 2023 14:20:06 GMT and should not be manually modified. +This log was last generated on Thu, 10 Aug 2023 13:56:44 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-debugger/CHANGELOG.json b/plugins/browser-plugin-debugger/CHANGELOG.json index ac905a89f..234e7e40a 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.14.0", + "tag": "@snowplow/browser-plugin-debugger_v3.14.0", + "date": "Thu, 10 Aug 2023 13:56:44 GMT", + "comments": {} + }, { "version": "3.13.1", "tag": "@snowplow/browser-plugin-debugger_v3.13.1", diff --git a/plugins/browser-plugin-debugger/CHANGELOG.md b/plugins/browser-plugin-debugger/CHANGELOG.md index 1b6de099a..2ad30f3e8 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, 29 Jun 2023 14:20:06 GMT and should not be manually modified. +This log was last generated on Thu, 10 Aug 2023 13:56:44 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-ecommerce/CHANGELOG.json b/plugins/browser-plugin-ecommerce/CHANGELOG.json index acb432778..23a34d735 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.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", diff --git a/plugins/browser-plugin-ecommerce/CHANGELOG.md b/plugins/browser-plugin-ecommerce/CHANGELOG.md index b190b623b..fbee898a3 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, 29 Jun 2023 14:20:06 GMT and should not be manually modified. +This log was last generated on Thu, 10 Aug 2023 13:56:44 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-enhanced-consent/CHANGELOG.json b/plugins/browser-plugin-enhanced-consent/CHANGELOG.json index 71b1ee959..dc9aa0294 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.14.0", + "tag": "@snowplow/browser-plugin-enhanced-consent_v3.14.0", + "date": "Thu, 10 Aug 2023 13:56:44 GMT", + "comments": {} + }, { "version": "3.13.1", "tag": "@snowplow/browser-plugin-enhanced-consent_v3.13.1", diff --git a/plugins/browser-plugin-enhanced-consent/CHANGELOG.md b/plugins/browser-plugin-enhanced-consent/CHANGELOG.md index 405b6475d..27ead6d8f 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, 29 Jun 2023 14:20:06 GMT and should not be manually modified. +This log was last generated on Thu, 10 Aug 2023 13:56:44 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.json b/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.json index d26639c5a..ca272cd75 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.14.0", + "tag": "@snowplow/browser-plugin-enhanced-ecommerce_v3.14.0", + "date": "Thu, 10 Aug 2023 13:56:44 GMT", + "comments": {} + }, { "version": "3.13.1", "tag": "@snowplow/browser-plugin-enhanced-ecommerce_v3.13.1", diff --git a/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.md b/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.md index 9280ded8f..2a9e66daf 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, 29 Jun 2023 14:20:06 GMT and should not be manually modified. +This log was last generated on Thu, 10 Aug 2023 13:56:44 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-error-tracking/CHANGELOG.json b/plugins/browser-plugin-error-tracking/CHANGELOG.json index 2188a7b4d..65c2d6558 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.14.0", + "tag": "@snowplow/browser-plugin-error-tracking_v3.14.0", + "date": "Thu, 10 Aug 2023 13:56:44 GMT", + "comments": {} + }, { "version": "3.13.1", "tag": "@snowplow/browser-plugin-error-tracking_v3.13.1", diff --git a/plugins/browser-plugin-error-tracking/CHANGELOG.md b/plugins/browser-plugin-error-tracking/CHANGELOG.md index 5e0b2ad52..9d0af70b8 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, 29 Jun 2023 14:20:06 GMT and should not be manually modified. +This log was last generated on Thu, 10 Aug 2023 13:56:44 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-form-tracking/CHANGELOG.json b/plugins/browser-plugin-form-tracking/CHANGELOG.json index 1f5230b29..0d264cd96 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.14.0", + "tag": "@snowplow/browser-plugin-form-tracking_v3.14.0", + "date": "Thu, 10 Aug 2023 13:56:44 GMT", + "comments": {} + }, { "version": "3.13.1", "tag": "@snowplow/browser-plugin-form-tracking_v3.13.1", diff --git a/plugins/browser-plugin-form-tracking/CHANGELOG.md b/plugins/browser-plugin-form-tracking/CHANGELOG.md index e41870c07..2b54eefc2 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, 29 Jun 2023 14:20:06 GMT and should not be manually modified. +This log was last generated on Thu, 10 Aug 2023 13:56:44 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-ga-cookies/CHANGELOG.json b/plugins/browser-plugin-ga-cookies/CHANGELOG.json index 486fa758f..3fcabfa99 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.14.0", + "tag": "@snowplow/browser-plugin-ga-cookies_v3.14.0", + "date": "Thu, 10 Aug 2023 13:56:44 GMT", + "comments": {} + }, { "version": "3.13.1", "tag": "@snowplow/browser-plugin-ga-cookies_v3.13.1", diff --git a/plugins/browser-plugin-ga-cookies/CHANGELOG.md b/plugins/browser-plugin-ga-cookies/CHANGELOG.md index 2e5ed5e0b..ea72d29c5 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, 29 Jun 2023 14:20:06 GMT and should not be manually modified. +This log was last generated on Thu, 10 Aug 2023 13:56:44 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-geolocation/CHANGELOG.json b/plugins/browser-plugin-geolocation/CHANGELOG.json index d257c7ab5..41d468b93 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.14.0", + "tag": "@snowplow/browser-plugin-geolocation_v3.14.0", + "date": "Thu, 10 Aug 2023 13:56:44 GMT", + "comments": {} + }, { "version": "3.13.1", "tag": "@snowplow/browser-plugin-geolocation_v3.13.1", diff --git a/plugins/browser-plugin-geolocation/CHANGELOG.md b/plugins/browser-plugin-geolocation/CHANGELOG.md index cb0a94cbe..adc5c0208 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, 29 Jun 2023 14:20:06 GMT and should not be manually modified. +This log was last generated on Thu, 10 Aug 2023 13:56:44 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-link-click-tracking/CHANGELOG.json b/plugins/browser-plugin-link-click-tracking/CHANGELOG.json index cf7eb83c0..5f444eb27 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.14.0", + "tag": "@snowplow/browser-plugin-link-click-tracking_v3.14.0", + "date": "Thu, 10 Aug 2023 13:56:44 GMT", + "comments": {} + }, { "version": "3.13.1", "tag": "@snowplow/browser-plugin-link-click-tracking_v3.13.1", diff --git a/plugins/browser-plugin-link-click-tracking/CHANGELOG.md b/plugins/browser-plugin-link-click-tracking/CHANGELOG.md index dfdf0eda1..dc85537cd 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, 29 Jun 2023 14:20:06 GMT and should not be manually modified. +This log was last generated on Thu, 10 Aug 2023 13:56:44 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-media-tracking/CHANGELOG.json b/plugins/browser-plugin-media-tracking/CHANGELOG.json index 06ef9e071..52db5dbe6 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.14.0", + "tag": "@snowplow/browser-plugin-media-tracking_v3.14.0", + "date": "Thu, 10 Aug 2023 13:56:44 GMT", + "comments": {} + }, { "version": "3.13.1", "tag": "@snowplow/browser-plugin-media-tracking_v3.13.1", diff --git a/plugins/browser-plugin-media-tracking/CHANGELOG.md b/plugins/browser-plugin-media-tracking/CHANGELOG.md index f43431e99..89906c860 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, 29 Jun 2023 14:20:06 GMT and should not be manually modified. +This log was last generated on Thu, 10 Aug 2023 13:56:44 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-media/CHANGELOG.json b/plugins/browser-plugin-media/CHANGELOG.json index 42845a725..490cf8835 100644 --- a/plugins/browser-plugin-media/CHANGELOG.json +++ b/plugins/browser-plugin-media/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@snowplow/browser-plugin-media", "entries": [ + { + "version": "3.14.0", + "tag": "@snowplow/browser-plugin-media_v3.14.0", + "date": "Thu, 10 Aug 2023 13:56:44 GMT", + "comments": { + "none": [ + { + "comment": "Filter out repeated seek and volume change events happening when user holds down the player controls (#1218)" + }, + { + "comment": "Update version of the player schema used in the media plugin to 2-0-0 (#1222)" + } + ] + } + }, { "version": "3.13.1", "tag": "@snowplow/browser-plugin-media_v3.13.1", diff --git a/plugins/browser-plugin-media/CHANGELOG.md b/plugins/browser-plugin-media/CHANGELOG.md index 71f1a2528..77a4f1977 100644 --- a/plugins/browser-plugin-media/CHANGELOG.md +++ b/plugins/browser-plugin-media/CHANGELOG.md @@ -1,6 +1,14 @@ # Change Log - @snowplow/browser-plugin-media -This log was last generated on Thu, 29 Jun 2023 14:20:06 GMT and should not be manually modified. +This log was last generated on Thu, 10 Aug 2023 13:56:44 GMT and should not be manually modified. + +## 3.14.0 +Thu, 10 Aug 2023 13:56:44 GMT + +### Updates + +- Filter out repeated seek and volume change events happening when user holds down the player controls (#1218) +- Update version of the player schema used in the media plugin to 2-0-0 (#1222) ## 3.13.1 Thu, 29 Jun 2023 14:20:06 GMT diff --git a/plugins/browser-plugin-optimizely-x/CHANGELOG.json b/plugins/browser-plugin-optimizely-x/CHANGELOG.json index a53317731..f5990a50e 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.14.0", + "tag": "@snowplow/browser-plugin-optimizely-x_v3.14.0", + "date": "Thu, 10 Aug 2023 13:56:44 GMT", + "comments": {} + }, { "version": "3.13.1", "tag": "@snowplow/browser-plugin-optimizely-x_v3.13.1", diff --git a/plugins/browser-plugin-optimizely-x/CHANGELOG.md b/plugins/browser-plugin-optimizely-x/CHANGELOG.md index 9dd62c268..aef73e9df 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, 29 Jun 2023 14:20:06 GMT and should not be manually modified. +This log was last generated on Thu, 10 Aug 2023 13:56:44 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-optimizely/CHANGELOG.json b/plugins/browser-plugin-optimizely/CHANGELOG.json index 8e7a958f9..9a60d00af 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.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", diff --git a/plugins/browser-plugin-optimizely/CHANGELOG.md b/plugins/browser-plugin-optimizely/CHANGELOG.md index e4e22ad8f..f93d75543 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, 29 Jun 2023 14:20:06 GMT and should not be manually modified. +This log was last generated on Thu, 10 Aug 2023 13:56:44 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.json b/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.json index ac0d86218..9fa705c7b 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.14.0", + "tag": "@snowplow/browser-plugin-performance-navigation-timing_v3.14.0", + "date": "Thu, 10 Aug 2023 13:56:44 GMT", + "comments": {} + }, { "version": "3.13.1", "tag": "@snowplow/browser-plugin-performance-navigation-timing_v3.13.1", diff --git a/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.md b/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.md index ea014845f..9f89391c2 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, 29 Jun 2023 14:20:06 GMT and should not be manually modified. +This log was last generated on Thu, 10 Aug 2023 13:56:44 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-performance-timing/CHANGELOG.json b/plugins/browser-plugin-performance-timing/CHANGELOG.json index b9251cf71..f465c90bc 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.14.0", + "tag": "@snowplow/browser-plugin-performance-timing_v3.14.0", + "date": "Thu, 10 Aug 2023 13:56:44 GMT", + "comments": {} + }, { "version": "3.13.1", "tag": "@snowplow/browser-plugin-performance-timing_v3.13.1", diff --git a/plugins/browser-plugin-performance-timing/CHANGELOG.md b/plugins/browser-plugin-performance-timing/CHANGELOG.md index 97714e259..26db20165 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, 29 Jun 2023 14:20:06 GMT and should not be manually modified. +This log was last generated on Thu, 10 Aug 2023 13:56:44 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-privacy-sandbox/CHANGELOG.json b/plugins/browser-plugin-privacy-sandbox/CHANGELOG.json new file mode 100644 index 000000000..c4caee8ae --- /dev/null +++ b/plugins/browser-plugin-privacy-sandbox/CHANGELOG.json @@ -0,0 +1,17 @@ +{ + "name": "@snowplow/browser-plugin-privacy-sandbox", + "entries": [ + { + "version": "3.14.0", + "tag": "@snowplow/browser-plugin-privacy-sandbox_v3.14.0", + "date": "Thu, 10 Aug 2023 13:56:44 GMT", + "comments": { + "none": [ + { + "comment": "Introduce PrivacySandboxPlugin" + } + ] + } + } + ] +} diff --git a/plugins/browser-plugin-privacy-sandbox/CHANGELOG.md b/plugins/browser-plugin-privacy-sandbox/CHANGELOG.md new file mode 100644 index 000000000..b2535d83f --- /dev/null +++ b/plugins/browser-plugin-privacy-sandbox/CHANGELOG.md @@ -0,0 +1,11 @@ +# Change Log - @snowplow/browser-plugin-privacy-sandbox + +This log was last generated on Thu, 10 Aug 2023 13:56:44 GMT and should not be manually modified. + +## 3.14.0 +Thu, 10 Aug 2023 13:56:44 GMT + +### Updates + +- Introduce PrivacySandboxPlugin + diff --git a/plugins/browser-plugin-site-tracking/CHANGELOG.json b/plugins/browser-plugin-site-tracking/CHANGELOG.json index b129a94e7..cc6e5dcef 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.14.0", + "tag": "@snowplow/browser-plugin-site-tracking_v3.14.0", + "date": "Thu, 10 Aug 2023 13:56:44 GMT", + "comments": {} + }, { "version": "3.13.1", "tag": "@snowplow/browser-plugin-site-tracking_v3.13.1", diff --git a/plugins/browser-plugin-site-tracking/CHANGELOG.md b/plugins/browser-plugin-site-tracking/CHANGELOG.md index eff5cdf68..c2e6813c3 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, 29 Jun 2023 14:20:06 GMT and should not be manually modified. +This log was last generated on Thu, 10 Aug 2023 13:56:44 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.json b/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.json index 9c825e4e8..68d46e75c 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.14.0", + "tag": "@snowplow/browser-plugin-snowplow-ecommerce_v3.14.0", + "date": "Thu, 10 Aug 2023 13:56:44 GMT", + "comments": {} + }, { "version": "3.13.1", "tag": "@snowplow/browser-plugin-snowplow-ecommerce_v3.13.1", diff --git a/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.md b/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.md index 94e2f6317..fa03076f5 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, 29 Jun 2023 14:20:06 GMT and should not be manually modified. +This log was last generated on Thu, 10 Aug 2023 13:56:44 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-timezone/CHANGELOG.json b/plugins/browser-plugin-timezone/CHANGELOG.json index f2b2733b9..98d60b891 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.14.0", + "tag": "@snowplow/browser-plugin-timezone_v3.14.0", + "date": "Thu, 10 Aug 2023 13:56:44 GMT", + "comments": {} + }, { "version": "3.13.1", "tag": "@snowplow/browser-plugin-timezone_v3.13.1", diff --git a/plugins/browser-plugin-timezone/CHANGELOG.md b/plugins/browser-plugin-timezone/CHANGELOG.md index a5293ac8f..f0317d67d 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, 29 Jun 2023 14:20:06 GMT and should not be manually modified. +This log was last generated on Thu, 10 Aug 2023 13:56:44 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-vimeo-tracking/CHANGELOG.json b/plugins/browser-plugin-vimeo-tracking/CHANGELOG.json new file mode 100644 index 000000000..c4082842d --- /dev/null +++ b/plugins/browser-plugin-vimeo-tracking/CHANGELOG.json @@ -0,0 +1,17 @@ +{ + "name": "@snowplow/browser-plugin-vimeo-tracking", + "entries": [ + { + "version": "3.14.0", + "tag": "@snowplow/browser-plugin-vimeo-tracking_v3.14.0", + "date": "Thu, 10 Aug 2023 13:56:44 GMT", + "comments": { + "none": [ + { + "comment": "Add Vimeo tracking plugin (close #1156)" + } + ] + } + } + ] +} diff --git a/plugins/browser-plugin-vimeo-tracking/CHANGELOG.md b/plugins/browser-plugin-vimeo-tracking/CHANGELOG.md new file mode 100644 index 000000000..913d3f00d --- /dev/null +++ b/plugins/browser-plugin-vimeo-tracking/CHANGELOG.md @@ -0,0 +1,11 @@ +# Change Log - @snowplow/browser-plugin-vimeo-tracking + +This log was last generated on Thu, 10 Aug 2023 13:56:44 GMT and should not be manually modified. + +## 3.14.0 +Thu, 10 Aug 2023 13:56:44 GMT + +### Updates + +- Add Vimeo tracking plugin (close #1156) + diff --git a/plugins/browser-plugin-web-vitals/CHANGELOG.json b/plugins/browser-plugin-web-vitals/CHANGELOG.json index 3c5131264..2c521de4a 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.14.0", + "tag": "@snowplow/browser-plugin-web-vitals_v3.14.0", + "date": "Thu, 10 Aug 2023 13:56:44 GMT", + "comments": {} + }, { "version": "3.13.1", "tag": "@snowplow/browser-plugin-web-vitals_v3.13.1", diff --git a/plugins/browser-plugin-web-vitals/CHANGELOG.md b/plugins/browser-plugin-web-vitals/CHANGELOG.md index b268420cf..c2a3d963a 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, 29 Jun 2023 14:20:06 GMT and should not be manually modified. +This log was last generated on Thu, 10 Aug 2023 13:56:44 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-youtube-tracking/CHANGELOG.json b/plugins/browser-plugin-youtube-tracking/CHANGELOG.json index a854b79c6..59aa8e7fb 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.14.0", + "tag": "@snowplow/browser-plugin-youtube-tracking_v3.14.0", + "date": "Thu, 10 Aug 2023 13:56:44 GMT", + "comments": {} + }, { "version": "3.13.1", "tag": "@snowplow/browser-plugin-youtube-tracking_v3.13.1", diff --git a/plugins/browser-plugin-youtube-tracking/CHANGELOG.md b/plugins/browser-plugin-youtube-tracking/CHANGELOG.md index e297447d3..ab4363782 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, 29 Jun 2023 14:20:06 GMT and should not be manually modified. +This log was last generated on Thu, 10 Aug 2023 13:56:44 GMT and should not be manually modified. + +## 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 diff --git a/trackers/browser-tracker/CHANGELOG.json b/trackers/browser-tracker/CHANGELOG.json index 09a406d93..800b34d5c 100644 --- a/trackers/browser-tracker/CHANGELOG.json +++ b/trackers/browser-tracker/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@snowplow/browser-tracker", "entries": [ + { + "version": "3.14.0", + "tag": "@snowplow/browser-tracker_v3.14.0", + "date": "Thu, 10 Aug 2023 13:56:44 GMT", + "comments": { + "none": [ + { + "comment": "Allow disabling activity tracking actions with disableActivityTracking and disableActivityTrackingCallback APIs" + } + ] + } + }, { "version": "3.13.1", "tag": "@snowplow/browser-tracker_v3.13.1", diff --git a/trackers/browser-tracker/CHANGELOG.md b/trackers/browser-tracker/CHANGELOG.md index 65e5cac1b..e3be79aec 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 Thu, 29 Jun 2023 14:20:06 GMT and should not be manually modified. +This log was last generated on Thu, 10 Aug 2023 13:56:44 GMT and should not be manually modified. + +## 3.14.0 +Thu, 10 Aug 2023 13:56:44 GMT + +### Updates + +- Allow disabling activity tracking actions with disableActivityTracking and disableActivityTrackingCallback APIs ## 3.13.1 Thu, 29 Jun 2023 14:20:06 GMT diff --git a/trackers/javascript-tracker/CHANGELOG.json b/trackers/javascript-tracker/CHANGELOG.json index 5b368de49..24abe60ff 100644 --- a/trackers/javascript-tracker/CHANGELOG.json +++ b/trackers/javascript-tracker/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@snowplow/javascript-tracker", "entries": [ + { + "version": "3.14.0", + "tag": "@snowplow/javascript-tracker_v3.14.0", + "date": "Thu, 10 Aug 2023 13:56:44 GMT", + "comments": { + "none": [ + { + "comment": "Introduce PrivacySandboxPlugin" + }, + { + "comment": "End to end test changes" + } + ] + } + }, { "version": "3.13.1", "tag": "@snowplow/javascript-tracker_v3.13.1", diff --git a/trackers/javascript-tracker/CHANGELOG.md b/trackers/javascript-tracker/CHANGELOG.md index 4156ec796..29eabe18d 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 Thu, 29 Jun 2023 14:20:06 GMT and should not be manually modified. +This log was last generated on Thu, 10 Aug 2023 13:56:44 GMT and should not be manually modified. + +## 3.14.0 +Thu, 10 Aug 2023 13:56:44 GMT + +### Updates + +- Introduce PrivacySandboxPlugin +- End to end test changes ## 3.13.1 Thu, 29 Jun 2023 14:20:06 GMT diff --git a/trackers/node-tracker/CHANGELOG.json b/trackers/node-tracker/CHANGELOG.json index 9a45c55d9..b0e529a11 100644 --- a/trackers/node-tracker/CHANGELOG.json +++ b/trackers/node-tracker/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/node-tracker", "entries": [ + { + "version": "3.14.0", + "tag": "@snowplow/node-tracker_v3.14.0", + "date": "Thu, 10 Aug 2023 13:56:44 GMT", + "comments": {} + }, { "version": "3.13.1", "tag": "@snowplow/node-tracker_v3.13.1", diff --git a/trackers/node-tracker/CHANGELOG.md b/trackers/node-tracker/CHANGELOG.md index 9aa11486f..5567058c7 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, 29 Jun 2023 14:20:06 GMT and should not be manually modified. +This log was last generated on Thu, 10 Aug 2023 13:56:44 GMT and should not be manually modified. + +## 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 From 9fdad424906c1cdc2e94f9c09d01e1eb6b168f86 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 10 Aug 2023 13:56:45 +0000 Subject: [PATCH 125/449] 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-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-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 +- 32 files changed, 58 insertions(+), 58 deletions(-) diff --git a/common/config/rush/version-policies.json b/common/config/rush/version-policies.json index 7a199e9d3..09a6ad8da 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.13.1", + "version": "3.14.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 cc3f131d2..370920f23 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.13.1", + "version": "3.14.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 4eb1b8c45..2d845f7b4 100644 --- a/libraries/tracker-core/package.json +++ b/libraries/tracker-core/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/tracker-core", - "version": "3.13.1", + "version": "3.14.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 f515ceebc..df809efb0 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.13.1", + "version": "3.14.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.13.1" + "@snowplow/browser-tracker": "~3.14.0" } } diff --git a/plugins/browser-plugin-browser-features/package.json b/plugins/browser-plugin-browser-features/package.json index 253fd841b..3900dcb3e 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.13.1", + "version": "3.14.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.13.1" + "@snowplow/browser-tracker": "~3.14.0" } } diff --git a/plugins/browser-plugin-client-hints/package.json b/plugins/browser-plugin-client-hints/package.json index 61b9921f5..1ff617309 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.13.1", + "version": "3.14.0", "description": "Attaches Client Hints to Snowplow events", "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.13.1" + "@snowplow/browser-tracker": "~3.14.0" } } diff --git a/plugins/browser-plugin-consent/package.json b/plugins/browser-plugin-consent/package.json index 78eac9305..2dda1576c 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.13.1", + "version": "3.14.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.13.1" + "@snowplow/browser-tracker": "~3.14.0" } } diff --git a/plugins/browser-plugin-debugger/package.json b/plugins/browser-plugin-debugger/package.json index 62e94edb7..d431bf40e 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.13.1", + "version": "3.14.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.13.1" + "@snowplow/browser-tracker": "~3.14.0" } } diff --git a/plugins/browser-plugin-ecommerce/package.json b/plugins/browser-plugin-ecommerce/package.json index a6f420212..f1aa21a0c 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.13.1", + "version": "3.14.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.13.1" + "@snowplow/browser-tracker": "~3.14.0" } } diff --git a/plugins/browser-plugin-enhanced-consent/package.json b/plugins/browser-plugin-enhanced-consent/package.json index 48d8ff0e2..db0dd4dc4 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.13.1", + "version": "3.14.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.13.1" + "@snowplow/browser-tracker": "~3.14.0" } } diff --git a/plugins/browser-plugin-enhanced-ecommerce/package.json b/plugins/browser-plugin-enhanced-ecommerce/package.json index 9cbde71eb..447a3839a 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.13.1", + "version": "3.14.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.13.1" + "@snowplow/browser-tracker": "~3.14.0" } } diff --git a/plugins/browser-plugin-error-tracking/package.json b/plugins/browser-plugin-error-tracking/package.json index 5afefcd25..442459188 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.13.1", + "version": "3.14.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.13.1" + "@snowplow/browser-tracker": "~3.14.0" } } diff --git a/plugins/browser-plugin-form-tracking/package.json b/plugins/browser-plugin-form-tracking/package.json index 8a087d92b..791574c52 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.13.1", + "version": "3.14.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.13.1" + "@snowplow/browser-tracker": "~3.14.0" } } diff --git a/plugins/browser-plugin-ga-cookies/package.json b/plugins/browser-plugin-ga-cookies/package.json index d4bc07785..dbc3d46fe 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.13.1", + "version": "3.14.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.13.1" + "@snowplow/browser-tracker": "~3.14.0" } } diff --git a/plugins/browser-plugin-geolocation/package.json b/plugins/browser-plugin-geolocation/package.json index 80ed3ead3..58202d5fb 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.13.1", + "version": "3.14.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.13.1" + "@snowplow/browser-tracker": "~3.14.0" } } diff --git a/plugins/browser-plugin-link-click-tracking/package.json b/plugins/browser-plugin-link-click-tracking/package.json index 31a6754a0..91946a84d 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.13.1", + "version": "3.14.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.13.1" + "@snowplow/browser-tracker": "~3.14.0" } } diff --git a/plugins/browser-plugin-media-tracking/package.json b/plugins/browser-plugin-media-tracking/package.json index a79b75a2f..5689e5735 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.13.1", + "version": "3.14.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.13.1" + "@snowplow/browser-tracker": "~3.14.0" } } diff --git a/plugins/browser-plugin-media/package.json b/plugins/browser-plugin-media/package.json index d274dc3f7..2aea501d0 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.13.1", + "version": "3.14.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.13.1" + "@snowplow/browser-tracker": "~3.14.0" } } diff --git a/plugins/browser-plugin-optimizely-x/package.json b/plugins/browser-plugin-optimizely-x/package.json index f17a22d8b..edbd2680b 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.13.1", + "version": "3.14.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.13.1" + "@snowplow/browser-tracker": "~3.14.0" } } diff --git a/plugins/browser-plugin-optimizely/package.json b/plugins/browser-plugin-optimizely/package.json index 0323dc2cd..f01fc9c77 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.13.1", + "version": "3.14.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.13.1" + "@snowplow/browser-tracker": "~3.14.0" } } diff --git a/plugins/browser-plugin-performance-navigation-timing/package.json b/plugins/browser-plugin-performance-navigation-timing/package.json index 3e76ecb27..a4763da6a 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.13.1", + "version": "3.14.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.13.1" + "@snowplow/browser-tracker": "~3.14.0" } } diff --git a/plugins/browser-plugin-performance-timing/package.json b/plugins/browser-plugin-performance-timing/package.json index 370807be3..735be8d5f 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.13.1", + "version": "3.14.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.13.1" + "@snowplow/browser-tracker": "~3.14.0" } } diff --git a/plugins/browser-plugin-privacy-sandbox/package.json b/plugins/browser-plugin-privacy-sandbox/package.json index a969df587..814bd3e3c 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.13.1", + "version": "3.14.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.13.1" + "@snowplow/browser-tracker": "~3.14.0" } } diff --git a/plugins/browser-plugin-site-tracking/package.json b/plugins/browser-plugin-site-tracking/package.json index 743366157..140e2640a 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.13.1", + "version": "3.14.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.13.1" + "@snowplow/browser-tracker": "~3.14.0" } } diff --git a/plugins/browser-plugin-snowplow-ecommerce/package.json b/plugins/browser-plugin-snowplow-ecommerce/package.json index 10b25bcb1..a85d676f5 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.13.1", + "version": "3.14.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.13.1" + "@snowplow/browser-tracker": "~3.14.0" } } diff --git a/plugins/browser-plugin-timezone/package.json b/plugins/browser-plugin-timezone/package.json index 41e062bcf..c5f2fd83c 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.13.1", + "version": "3.14.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.13.1" + "@snowplow/browser-tracker": "~3.14.0" } } diff --git a/plugins/browser-plugin-vimeo-tracking/package.json b/plugins/browser-plugin-vimeo-tracking/package.json index 865f17453..79a5bbf76 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.13.1", + "version": "3.14.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.13.1" + "@snowplow/browser-tracker": "~3.14.0" } } diff --git a/plugins/browser-plugin-web-vitals/package.json b/plugins/browser-plugin-web-vitals/package.json index 18bef4e4c..2792bfe95 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.13.1", + "version": "3.14.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.13.1" + "@snowplow/browser-tracker": "~3.14.0" } } diff --git a/plugins/browser-plugin-youtube-tracking/package.json b/plugins/browser-plugin-youtube-tracking/package.json index d509f14dd..1754c311a 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.13.1", + "version": "3.14.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.13.1" + "@snowplow/browser-tracker": "~3.14.0" } } diff --git a/trackers/browser-tracker/package.json b/trackers/browser-tracker/package.json index 456de0662..cfde721c8 100644 --- a/trackers/browser-tracker/package.json +++ b/trackers/browser-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-tracker", - "version": "3.13.1", + "version": "3.14.0", "description": "Browser tracker for Snowplow", "keywords": [ "tracking", diff --git a/trackers/javascript-tracker/package.json b/trackers/javascript-tracker/package.json index e96097c5d..f75b4ddeb 100644 --- a/trackers/javascript-tracker/package.json +++ b/trackers/javascript-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/javascript-tracker", - "version": "3.13.1", + "version": "3.14.0", "description": "Web analytics for Snowplow", "keywords": [ "tracking", diff --git a/trackers/node-tracker/package.json b/trackers/node-tracker/package.json index 39ae0e0d2..0d6874f33 100644 --- a/trackers/node-tracker/package.json +++ b/trackers/node-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/node-tracker", - "version": "3.13.1", + "version": "3.14.0", "description": "Node tracker for Snowplow", "keywords": [ "snowplow", From f71766614f59eb90eaab6bf9141aed0b9255683d Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 10 Aug 2023 14:01:44 +0000 Subject: [PATCH 126/449] Applying documentation updates. --- ....browsertracker.disableactivitytracking.md | 13 ++++++++++ ...tracker.disableactivitytrackingcallback.md | 13 ++++++++++ .../browser-tracker.browsertracker.md | 2 ++ ...browser-tracker.disableactivitytracking.md | 24 +++++++++++++++++++ ...tracker.disableactivitytrackingcallback.md | 24 +++++++++++++++++++ .../docs/markdown/browser-tracker.md | 2 ++ 6 files changed, 78 insertions(+) create mode 100644 trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.disableactivitytracking.md create mode 100644 trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.disableactivitytrackingcallback.md create mode 100644 trackers/browser-tracker/docs/markdown/browser-tracker.disableactivitytracking.md create mode 100644 trackers/browser-tracker/docs/markdown/browser-tracker.disableactivitytrackingcallback.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.disableactivitytracking.md b/trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.disableactivitytracking.md new file mode 100644 index 000000000..6b80aec01 --- /dev/null +++ b/trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.disableactivitytracking.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [BrowserTracker](./browser-tracker.browsertracker.md) > [disableActivityTracking](./browser-tracker.browsertracker.disableactivitytracking.md) + +## BrowserTracker.disableActivityTracking property + +Disables page activity tracking. + +Signature: + +```typescript +disableActivityTracking: () => void; +``` diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.disableactivitytrackingcallback.md b/trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.disableactivitytrackingcallback.md new file mode 100644 index 000000000..056a79fb0 --- /dev/null +++ b/trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.disableactivitytrackingcallback.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [BrowserTracker](./browser-tracker.browsertracker.md) > [disableActivityTrackingCallback](./browser-tracker.browsertracker.disableactivitytrackingcallback.md) + +## BrowserTracker.disableActivityTrackingCallback property + +Disables page activity tracking callback. + +Signature: + +```typescript +disableActivityTrackingCallback: () => void; +``` diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.md b/trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.md index 8938242be..abbf32f60 100644 --- a/trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.md +++ b/trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.md @@ -20,6 +20,8 @@ interface BrowserTracker | [clearUserData](./browser-tracker.browsertracker.clearuserdata.md) | (configuration?: ClearUserDataConfiguration) => void | Clears all cookies and local storage containing user and session identifiers | | [core](./browser-tracker.browsertracker.core.md) | TrackerCore | The instance of the core library which this tracker has initialised | | [crossDomainLinker](./browser-tracker.browsertracker.crossdomainlinker.md) | (crossDomainLinkerCriterion: (elt: HTMLAnchorElement \| HTMLAreaElement) => boolean) => void | Enable querystring decoration for links passing a filter | +| [disableActivityTracking](./browser-tracker.browsertracker.disableactivitytracking.md) | () => void | Disables page activity tracking. | +| [disableActivityTrackingCallback](./browser-tracker.browsertracker.disableactivitytrackingcallback.md) | () => void | Disables page activity tracking callback. | | [disableAnonymousTracking](./browser-tracker.browsertracker.disableanonymoustracking.md) | (configuration?: DisableAnonymousTrackingConfiguration) => void | Disables anonymous tracking if active (ie. tracker initialized with anonymousTracking) For stateStorageStrategy override, uses supplied value first, falls back to one defined in initial config, otherwise uses cookieAndLocalStorage. | | [discardBrace](./browser-tracker.browsertracker.discardbrace.md) | (enableFilter: boolean) => void | Strip braces from URL | | [discardHashTag](./browser-tracker.browsertracker.discardhashtag.md) | (enableFilter: boolean) => void | Strip hash tag (or anchor) from URL | diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.disableactivitytracking.md b/trackers/browser-tracker/docs/markdown/browser-tracker.disableactivitytracking.md new file mode 100644 index 000000000..be17fdb57 --- /dev/null +++ b/trackers/browser-tracker/docs/markdown/browser-tracker.disableactivitytracking.md @@ -0,0 +1,24 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [disableActivityTracking](./browser-tracker.disableactivitytracking.md) + +## disableActivityTracking() function + +Disables page activity tracking. + +Signature: + +```typescript +declare function disableActivityTracking(trackers?: Array): void; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| trackers | Array<string> | The tracker identifiers the activity tracking will be disabled. | + +Returns: + +void + diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.disableactivitytrackingcallback.md b/trackers/browser-tracker/docs/markdown/browser-tracker.disableactivitytrackingcallback.md new file mode 100644 index 000000000..9b15963b1 --- /dev/null +++ b/trackers/browser-tracker/docs/markdown/browser-tracker.disableactivitytrackingcallback.md @@ -0,0 +1,24 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [disableActivityTrackingCallback](./browser-tracker.disableactivitytrackingcallback.md) + +## disableActivityTrackingCallback() function + +Disables page activity tracking callback. + +Signature: + +```typescript +declare function disableActivityTrackingCallback(trackers?: Array): void; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| trackers | Array<string> | The tracker identifiers the activity tracking callback will be disabled. | + +Returns: + +void + diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.md b/trackers/browser-tracker/docs/markdown/browser-tracker.md index 48b3032bc..66ea8d974 100644 --- a/trackers/browser-tracker/docs/markdown/browser-tracker.md +++ b/trackers/browser-tracker/docs/markdown/browser-tracker.md @@ -13,6 +13,8 @@ | [clearGlobalContexts(trackers)](./browser-tracker.clearglobalcontexts.md) | Clear all global contexts that are sent with events | | [clearUserData(configuration, trackers)](./browser-tracker.clearuserdata.md) | Clears all cookies and local storage containing user and session identifiers | | [crossDomainLinker(crossDomainLinkerCriterion, trackers)](./browser-tracker.crossdomainlinker.md) | Enable querystring decoration for links pasing a filter | +| [disableActivityTracking(trackers)](./browser-tracker.disableactivitytracking.md) | Disables page activity tracking. | +| [disableActivityTrackingCallback(trackers)](./browser-tracker.disableactivitytrackingcallback.md) | Disables page activity tracking callback. | | [disableAnonymousTracking(configuration, trackers)](./browser-tracker.disableanonymoustracking.md) | Disables anonymous tracking if active (ie. tracker initialized with anonymousTracking) For stateStorageStrategy override, uses supplied value first, falls back to one defined in initial config, otherwise uses cookieAndLocalStorage. | | [discardBrace(enable, trackers)](./browser-tracker.discardbrace.md) | Strip braces from URL | | [discardHashTag(enable, trackers)](./browser-tracker.discardhashtag.md) | Strip hash tag (or anchor) from URL | From 100309bd24405dcfffd7368ea7688f5b2d771d37 Mon Sep 17 00:00:00 2001 From: Peter Perlepes Date: Wed, 23 Aug 2023 11:18:26 +0300 Subject: [PATCH 127/449] Add E2E testIdentifier randomness between test retries #1228 --- ...dentifier-between-e2e-retries_2023-08-16-07-58.json | 10 ++++++++++ .../javascript-tracker/test/integration/helpers.ts | 3 ++- 2 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 common/changes/@snowplow/javascript-tracker/fix-proper-test-identifier-between-e2e-retries_2023-08-16-07-58.json diff --git a/common/changes/@snowplow/javascript-tracker/fix-proper-test-identifier-between-e2e-retries_2023-08-16-07-58.json b/common/changes/@snowplow/javascript-tracker/fix-proper-test-identifier-between-e2e-retries_2023-08-16-07-58.json new file mode 100644 index 000000000..ae2f53795 --- /dev/null +++ b/common/changes/@snowplow/javascript-tracker/fix-proper-test-identifier-between-e2e-retries_2023-08-16-07-58.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/trackers/javascript-tracker/test/integration/helpers.ts b/trackers/javascript-tracker/test/integration/helpers.ts index 4099da8aa..e71d298ca 100644 --- a/trackers/javascript-tracker/test/integration/helpers.ts +++ b/trackers/javascript-tracker/test/integration/helpers.ts @@ -48,7 +48,8 @@ export async function pageSetup() { if (!dockerUrl) { throw 'dockerInstanceUrl not available in `browser.sharedStore`'; } - const testIdentifier = browser.capabilities.browserName + '_' + browser.capabilities.browserVersion; + const testIdentifier = + browser.capabilities.browserName + '_' + browser.capabilities.browserVersion + '_' + Math.random(); await browser.url('/index.html'); await browser.setCookies([ { name: 'container', value: dockerUrl }, From 0421bb650db8f101821ff0ef33f3ea428b56a238 Mon Sep 17 00:00:00 2001 From: Peter Perlepes Date: Fri, 25 Aug 2023 11:55:31 +0300 Subject: [PATCH 128/449] Add the idService option to the tracker configuration (close #1185) #1186 --- ...85-id-service-option_2023-05-11-20-22.json | 10 ++ ...85-id-service-option_2023-05-12-07-26.json | 10 ++ .../browser-tracker-core/src/tracker/index.ts | 3 +- .../src/tracker/out_queue.ts | 24 +++- .../browser-tracker-core/src/tracker/types.ts | 7 + .../test/out_queue.test.ts | 121 ++++++++++++++++++ .../docs/browser-tracker.api.md | 1 + 7 files changed, 171 insertions(+), 5 deletions(-) create mode 100644 common/changes/@snowplow/browser-tracker-core/feature-1185-id-service-option_2023-05-11-20-22.json create mode 100644 common/changes/@snowplow/browser-tracker/feature-1185-id-service-option_2023-05-12-07-26.json diff --git a/common/changes/@snowplow/browser-tracker-core/feature-1185-id-service-option_2023-05-11-20-22.json b/common/changes/@snowplow/browser-tracker-core/feature-1185-id-service-option_2023-05-11-20-22.json new file mode 100644 index 000000000..de331a7c7 --- /dev/null +++ b/common/changes/@snowplow/browser-tracker-core/feature-1185-id-service-option_2023-05-11-20-22.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-tracker-core", + "comment": "Add idService option", + "type": "none" + } + ], + "packageName": "@snowplow/browser-tracker-core" +} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-tracker/feature-1185-id-service-option_2023-05-12-07-26.json b/common/changes/@snowplow/browser-tracker/feature-1185-id-service-option_2023-05-12-07-26.json new file mode 100644 index 000000000..934020399 --- /dev/null +++ b/common/changes/@snowplow/browser-tracker/feature-1185-id-service-option_2023-05-12-07-26.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-tracker", + "comment": "Add idService option", + "type": "none" + } + ], + "packageName": "@snowplow/browser-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 8eb055dd4..a6443a932 100755 --- a/libraries/browser-tracker-core/src/tracker/index.ts +++ b/libraries/browser-tracker-core/src/tracker/index.ts @@ -302,7 +302,8 @@ export function Tracker( trackerConfiguration.customHeaders ?? {}, trackerConfiguration.withCredentials ?? true, trackerConfiguration.retryStatusCodes ?? [], - (trackerConfiguration.dontRetryStatusCodes ?? []).concat([400, 401, 403, 410, 422]) + (trackerConfiguration.dontRetryStatusCodes ?? []).concat([400, 401, 403, 410, 422]), + trackerConfiguration.idService ), // Whether pageViewId should be regenerated after each trackPageView. Affect web_page context preservePageViewId = false, diff --git a/libraries/browser-tracker-core/src/tracker/out_queue.ts b/libraries/browser-tracker-core/src/tracker/out_queue.ts index b838ba436..92e3ad968 100644 --- a/libraries/browser-tracker-core/src/tracker/out_queue.ts +++ b/libraries/browser-tracker-core/src/tracker/out_queue.ts @@ -63,6 +63,7 @@ export interface OutQueue { * @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. * @returns object OutQueueManager instance */ export function OutQueueManager( @@ -81,7 +82,8 @@ export function OutQueueManager( customHeaders: Record, withCredentials: boolean, retryStatusCodes: number[], - dontRetryStatusCodes: number[] + dontRetryStatusCodes: number[], + idService?: string ): OutQueue { type PostEvent = { evt: Record; @@ -90,7 +92,8 @@ export function OutQueueManager( let executingQueue = false, configCollectorUrl: string, - outQueue: Array | Array = []; + outQueue: Array | Array = [], + idServiceCalled = false; //Force to lower case if its a string eventMethod = typeof eventMethod === 'string' ? eventMethod.toLowerCase() : eventMethod; @@ -222,7 +225,7 @@ export function OutQueueManager( } const postable = (queue: Array | Array): queue is Array => { - return typeof queue[0] === 'object'; + return typeof queue[0] === 'object' && 'evt' in queue[0]; }; /** @@ -293,7 +296,7 @@ export function OutQueueManager( outQueue.shift(); } - if (outQueue.length < 1) { + if (!outQueue.length) { executingQueue = false; return; } @@ -305,6 +308,19 @@ export function OutQueueManager( 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 }>) => { diff --git a/libraries/browser-tracker-core/src/tracker/types.ts b/libraries/browser-tracker-core/src/tracker/types.ts index f986e2a2d..0f5801c9d 100755 --- a/libraries/browser-tracker-core/src/tracker/types.ts +++ b/libraries/browser-tracker-core/src/tracker/types.ts @@ -242,6 +242,13 @@ export type TrackerConfiguration = { * @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; }; /** diff --git a/libraries/browser-tracker-core/test/out_queue.test.ts b/libraries/browser-tracker-core/test/out_queue.test.ts index c51b71194..bab53486b 100644 --- a/libraries/browser-tracker-core/test/out_queue.test.ts +++ b/libraries/browser-tracker-core/test/out_queue.test.ts @@ -216,4 +216,125 @@ describe('OutQueueManager', () => { expect(xhrOpenMock).toHaveBeenCalledWith('POST', 'http://acme.com/com.snowplowanalytics.snowplow/tp2', true); // should make the POST request }); }); + + describe('idService requests', () => { + const idServiceEndpoint = 'http://example.com/id'; + 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('&'); + + describe('GET requests', () => { + const createGetQueue = () => + OutQueueManager( + 'sp', + new SharedState(), + true, + 'get', + '/com.snowplowanalytics.snowplow/tp2', + 1, + 40000, + 0, + false, + maxQueueSize, + 5000, + false, + {}, + true, + [], + [], + idServiceEndpoint + ); + + it('should first execute the idService request and in the same `enqueueRequest` the tracking request', () => { + 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); + }); + + it('should first execute the idService request and in the same `enqueueRequest` the tracking request irregardless of failure of the idService endpoint', () => { + 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); + }); + }); + + describe('POST requests', () => { + const createPostQueue = () => + OutQueueManager( + 'sp', + new SharedState(), + true, + 'post', + '/com.snowplowanalytics.snowplow/tp2', + 1, + 40000, + 0, + false, + maxQueueSize, + 5000, + false, + {}, + true, + [], + [], + idServiceEndpoint + ); + + it('should first execute the idService request and in the same `enqueueRequest` the tracking request irregardless of failure of the idService endpoint', () => { + 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); + }); + }); + }); }); diff --git a/trackers/browser-tracker/docs/browser-tracker.api.md b/trackers/browser-tracker/docs/browser-tracker.api.md index 1fedc9d25..70aabae95 100644 --- a/trackers/browser-tracker/docs/browser-tracker.api.md +++ b/trackers/browser-tracker/docs/browser-tracker.api.md @@ -368,6 +368,7 @@ export type TrackerConfiguration = { retryStatusCodes?: number[]; dontRetryStatusCodes?: number[]; onSessionUpdateCallback?: (updatedSession: ClientSession) => void; + idService?: string; }; // @public From aebf8a4a9a0cc1fdd5824d03c7475ff526a3b318 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 28 Aug 2023 14:25:14 +0000 Subject: [PATCH 129/449] Update changelogs [skip ci] --- ...ture-1185-id-service-option_2023-05-11-20-22.json | 10 ---------- ...ture-1185-id-service-option_2023-05-12-07-26.json | 10 ---------- ...ntifier-between-e2e-retries_2023-08-16-07-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 ++++++- 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-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 | 6 ++++++ trackers/javascript-tracker/CHANGELOG.md | 7 ++++++- trackers/node-tracker/CHANGELOG.json | 6 ++++++ trackers/node-tracker/CHANGELOG.md | 7 ++++++- 65 files changed, 388 insertions(+), 61 deletions(-) delete mode 100644 common/changes/@snowplow/browser-tracker-core/feature-1185-id-service-option_2023-05-11-20-22.json delete mode 100644 common/changes/@snowplow/browser-tracker/feature-1185-id-service-option_2023-05-12-07-26.json delete mode 100644 common/changes/@snowplow/javascript-tracker/fix-proper-test-identifier-between-e2e-retries_2023-08-16-07-58.json diff --git a/common/changes/@snowplow/browser-tracker-core/feature-1185-id-service-option_2023-05-11-20-22.json b/common/changes/@snowplow/browser-tracker-core/feature-1185-id-service-option_2023-05-11-20-22.json deleted file mode 100644 index de331a7c7..000000000 --- a/common/changes/@snowplow/browser-tracker-core/feature-1185-id-service-option_2023-05-11-20-22.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-tracker-core", - "comment": "Add idService option", - "type": "none" - } - ], - "packageName": "@snowplow/browser-tracker-core" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-tracker/feature-1185-id-service-option_2023-05-12-07-26.json b/common/changes/@snowplow/browser-tracker/feature-1185-id-service-option_2023-05-12-07-26.json deleted file mode 100644 index 934020399..000000000 --- a/common/changes/@snowplow/browser-tracker/feature-1185-id-service-option_2023-05-12-07-26.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-tracker", - "comment": "Add idService option", - "type": "none" - } - ], - "packageName": "@snowplow/browser-tracker" -} \ No newline at end of file diff --git a/common/changes/@snowplow/javascript-tracker/fix-proper-test-identifier-between-e2e-retries_2023-08-16-07-58.json b/common/changes/@snowplow/javascript-tracker/fix-proper-test-identifier-between-e2e-retries_2023-08-16-07-58.json deleted file mode 100644 index ae2f53795..000000000 --- a/common/changes/@snowplow/javascript-tracker/fix-proper-test-identifier-between-e2e-retries_2023-08-16-07-58.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "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/CHANGELOG.json b/libraries/browser-tracker-core/CHANGELOG.json index 4c3dc6b7d..b25b0c079 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.15.0", + "tag": "@snowplow/browser-tracker-core_v3.15.0", + "date": "Mon, 28 Aug 2023 14:25:14 GMT", + "comments": { + "none": [ + { + "comment": "Add idService option" + } + ] + } + }, { "version": "3.14.0", "tag": "@snowplow/browser-tracker-core_v3.14.0", diff --git a/libraries/browser-tracker-core/CHANGELOG.md b/libraries/browser-tracker-core/CHANGELOG.md index 65998c211..88501ac1b 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 Thu, 10 Aug 2023 13:56:44 GMT and should not be manually modified. +This log was last generated on Mon, 28 Aug 2023 14:25:14 GMT and should not be manually modified. + +## 3.15.0 +Mon, 28 Aug 2023 14:25:14 GMT + +### Updates + +- Add idService option ## 3.14.0 Thu, 10 Aug 2023 13:56:44 GMT diff --git a/libraries/tracker-core/CHANGELOG.json b/libraries/tracker-core/CHANGELOG.json index dd47bb7bb..834d26709 100644 --- a/libraries/tracker-core/CHANGELOG.json +++ b/libraries/tracker-core/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/tracker-core", "entries": [ + { + "version": "3.15.0", + "tag": "@snowplow/tracker-core_v3.15.0", + "date": "Mon, 28 Aug 2023 14:25:14 GMT", + "comments": {} + }, { "version": "3.14.0", "tag": "@snowplow/tracker-core_v3.14.0", diff --git a/libraries/tracker-core/CHANGELOG.md b/libraries/tracker-core/CHANGELOG.md index 7089f61c8..bcebc2c07 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, 10 Aug 2023 13:56:44 GMT and should not be manually modified. +This log was last generated on Mon, 28 Aug 2023 14:25:14 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-ad-tracking/CHANGELOG.json b/plugins/browser-plugin-ad-tracking/CHANGELOG.json index 4be63befc..a91cd9666 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.15.0", + "tag": "@snowplow/browser-plugin-ad-tracking_v3.15.0", + "date": "Mon, 28 Aug 2023 14:25:14 GMT", + "comments": {} + }, { "version": "3.14.0", "tag": "@snowplow/browser-plugin-ad-tracking_v3.14.0", diff --git a/plugins/browser-plugin-ad-tracking/CHANGELOG.md b/plugins/browser-plugin-ad-tracking/CHANGELOG.md index 909179630..e251dddaa 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, 10 Aug 2023 13:56:44 GMT and should not be manually modified. +This log was last generated on Mon, 28 Aug 2023 14:25:14 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-browser-features/CHANGELOG.json b/plugins/browser-plugin-browser-features/CHANGELOG.json index 3ee4131f6..3efcda4cb 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.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", diff --git a/plugins/browser-plugin-browser-features/CHANGELOG.md b/plugins/browser-plugin-browser-features/CHANGELOG.md index e89371870..521110f7d 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, 10 Aug 2023 13:56:44 GMT and should not be manually modified. +This log was last generated on Mon, 28 Aug 2023 14:25:14 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-client-hints/CHANGELOG.json b/plugins/browser-plugin-client-hints/CHANGELOG.json index 89ff9a1ca..9421091a2 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.15.0", + "tag": "@snowplow/browser-plugin-client-hints_v3.15.0", + "date": "Mon, 28 Aug 2023 14:25:14 GMT", + "comments": {} + }, { "version": "3.14.0", "tag": "@snowplow/browser-plugin-client-hints_v3.14.0", diff --git a/plugins/browser-plugin-client-hints/CHANGELOG.md b/plugins/browser-plugin-client-hints/CHANGELOG.md index d9be7495d..c2d21d34e 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, 10 Aug 2023 13:56:44 GMT and should not be manually modified. +This log was last generated on Mon, 28 Aug 2023 14:25:14 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-consent/CHANGELOG.json b/plugins/browser-plugin-consent/CHANGELOG.json index fdc797eea..110210fc0 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.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", diff --git a/plugins/browser-plugin-consent/CHANGELOG.md b/plugins/browser-plugin-consent/CHANGELOG.md index ab5692176..53c2cc797 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, 10 Aug 2023 13:56:44 GMT and should not be manually modified. +This log was last generated on Mon, 28 Aug 2023 14:25:14 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-debugger/CHANGELOG.json b/plugins/browser-plugin-debugger/CHANGELOG.json index 234e7e40a..b5473a1fb 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.15.0", + "tag": "@snowplow/browser-plugin-debugger_v3.15.0", + "date": "Mon, 28 Aug 2023 14:25:14 GMT", + "comments": {} + }, { "version": "3.14.0", "tag": "@snowplow/browser-plugin-debugger_v3.14.0", diff --git a/plugins/browser-plugin-debugger/CHANGELOG.md b/plugins/browser-plugin-debugger/CHANGELOG.md index 2ad30f3e8..13b88ce1b 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, 10 Aug 2023 13:56:44 GMT and should not be manually modified. +This log was last generated on Mon, 28 Aug 2023 14:25:14 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-ecommerce/CHANGELOG.json b/plugins/browser-plugin-ecommerce/CHANGELOG.json index 23a34d735..f5f051a63 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.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", diff --git a/plugins/browser-plugin-ecommerce/CHANGELOG.md b/plugins/browser-plugin-ecommerce/CHANGELOG.md index fbee898a3..4d4c40cd5 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, 10 Aug 2023 13:56:44 GMT and should not be manually modified. +This log was last generated on Mon, 28 Aug 2023 14:25:14 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-enhanced-consent/CHANGELOG.json b/plugins/browser-plugin-enhanced-consent/CHANGELOG.json index dc9aa0294..116520065 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.15.0", + "tag": "@snowplow/browser-plugin-enhanced-consent_v3.15.0", + "date": "Mon, 28 Aug 2023 14:25:14 GMT", + "comments": {} + }, { "version": "3.14.0", "tag": "@snowplow/browser-plugin-enhanced-consent_v3.14.0", diff --git a/plugins/browser-plugin-enhanced-consent/CHANGELOG.md b/plugins/browser-plugin-enhanced-consent/CHANGELOG.md index 27ead6d8f..8e2ca61f7 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, 10 Aug 2023 13:56:44 GMT and should not be manually modified. +This log was last generated on Mon, 28 Aug 2023 14:25:14 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.json b/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.json index ca272cd75..6f539f919 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.15.0", + "tag": "@snowplow/browser-plugin-enhanced-ecommerce_v3.15.0", + "date": "Mon, 28 Aug 2023 14:25:14 GMT", + "comments": {} + }, { "version": "3.14.0", "tag": "@snowplow/browser-plugin-enhanced-ecommerce_v3.14.0", diff --git a/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.md b/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.md index 2a9e66daf..83bd91a9c 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, 10 Aug 2023 13:56:44 GMT and should not be manually modified. +This log was last generated on Mon, 28 Aug 2023 14:25:14 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-error-tracking/CHANGELOG.json b/plugins/browser-plugin-error-tracking/CHANGELOG.json index 65c2d6558..7557d2fe7 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.15.0", + "tag": "@snowplow/browser-plugin-error-tracking_v3.15.0", + "date": "Mon, 28 Aug 2023 14:25:14 GMT", + "comments": {} + }, { "version": "3.14.0", "tag": "@snowplow/browser-plugin-error-tracking_v3.14.0", diff --git a/plugins/browser-plugin-error-tracking/CHANGELOG.md b/plugins/browser-plugin-error-tracking/CHANGELOG.md index 9d0af70b8..3324e0a57 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, 10 Aug 2023 13:56:44 GMT and should not be manually modified. +This log was last generated on Mon, 28 Aug 2023 14:25:14 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-form-tracking/CHANGELOG.json b/plugins/browser-plugin-form-tracking/CHANGELOG.json index 0d264cd96..a317c0d11 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.15.0", + "tag": "@snowplow/browser-plugin-form-tracking_v3.15.0", + "date": "Mon, 28 Aug 2023 14:25:14 GMT", + "comments": {} + }, { "version": "3.14.0", "tag": "@snowplow/browser-plugin-form-tracking_v3.14.0", diff --git a/plugins/browser-plugin-form-tracking/CHANGELOG.md b/plugins/browser-plugin-form-tracking/CHANGELOG.md index 2b54eefc2..56d0e56fa 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, 10 Aug 2023 13:56:44 GMT and should not be manually modified. +This log was last generated on Mon, 28 Aug 2023 14:25:14 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-ga-cookies/CHANGELOG.json b/plugins/browser-plugin-ga-cookies/CHANGELOG.json index 3fcabfa99..09043257b 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.15.0", + "tag": "@snowplow/browser-plugin-ga-cookies_v3.15.0", + "date": "Mon, 28 Aug 2023 14:25:14 GMT", + "comments": {} + }, { "version": "3.14.0", "tag": "@snowplow/browser-plugin-ga-cookies_v3.14.0", diff --git a/plugins/browser-plugin-ga-cookies/CHANGELOG.md b/plugins/browser-plugin-ga-cookies/CHANGELOG.md index ea72d29c5..566398dfc 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, 10 Aug 2023 13:56:44 GMT and should not be manually modified. +This log was last generated on Mon, 28 Aug 2023 14:25:14 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-geolocation/CHANGELOG.json b/plugins/browser-plugin-geolocation/CHANGELOG.json index 41d468b93..2a51c5b3b 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.15.0", + "tag": "@snowplow/browser-plugin-geolocation_v3.15.0", + "date": "Mon, 28 Aug 2023 14:25:14 GMT", + "comments": {} + }, { "version": "3.14.0", "tag": "@snowplow/browser-plugin-geolocation_v3.14.0", diff --git a/plugins/browser-plugin-geolocation/CHANGELOG.md b/plugins/browser-plugin-geolocation/CHANGELOG.md index adc5c0208..5b8978723 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, 10 Aug 2023 13:56:44 GMT and should not be manually modified. +This log was last generated on Mon, 28 Aug 2023 14:25:14 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-link-click-tracking/CHANGELOG.json b/plugins/browser-plugin-link-click-tracking/CHANGELOG.json index 5f444eb27..d8e645110 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.15.0", + "tag": "@snowplow/browser-plugin-link-click-tracking_v3.15.0", + "date": "Mon, 28 Aug 2023 14:25:14 GMT", + "comments": {} + }, { "version": "3.14.0", "tag": "@snowplow/browser-plugin-link-click-tracking_v3.14.0", diff --git a/plugins/browser-plugin-link-click-tracking/CHANGELOG.md b/plugins/browser-plugin-link-click-tracking/CHANGELOG.md index dc85537cd..9341ba145 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, 10 Aug 2023 13:56:44 GMT and should not be manually modified. +This log was last generated on Mon, 28 Aug 2023 14:25:14 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-media-tracking/CHANGELOG.json b/plugins/browser-plugin-media-tracking/CHANGELOG.json index 52db5dbe6..0a71c8eb2 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.15.0", + "tag": "@snowplow/browser-plugin-media-tracking_v3.15.0", + "date": "Mon, 28 Aug 2023 14:25:14 GMT", + "comments": {} + }, { "version": "3.14.0", "tag": "@snowplow/browser-plugin-media-tracking_v3.14.0", diff --git a/plugins/browser-plugin-media-tracking/CHANGELOG.md b/plugins/browser-plugin-media-tracking/CHANGELOG.md index 89906c860..571ab38b1 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, 10 Aug 2023 13:56:44 GMT and should not be manually modified. +This log was last generated on Mon, 28 Aug 2023 14:25:14 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-media/CHANGELOG.json b/plugins/browser-plugin-media/CHANGELOG.json index 490cf8835..7cd56742f 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.15.0", + "tag": "@snowplow/browser-plugin-media_v3.15.0", + "date": "Mon, 28 Aug 2023 14:25:14 GMT", + "comments": {} + }, { "version": "3.14.0", "tag": "@snowplow/browser-plugin-media_v3.14.0", diff --git a/plugins/browser-plugin-media/CHANGELOG.md b/plugins/browser-plugin-media/CHANGELOG.md index 77a4f1977..fea228a00 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, 10 Aug 2023 13:56:44 GMT and should not be manually modified. +This log was last generated on Mon, 28 Aug 2023 14:25:14 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-optimizely-x/CHANGELOG.json b/plugins/browser-plugin-optimizely-x/CHANGELOG.json index f5990a50e..85bc0f0dc 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.15.0", + "tag": "@snowplow/browser-plugin-optimizely-x_v3.15.0", + "date": "Mon, 28 Aug 2023 14:25:14 GMT", + "comments": {} + }, { "version": "3.14.0", "tag": "@snowplow/browser-plugin-optimizely-x_v3.14.0", diff --git a/plugins/browser-plugin-optimizely-x/CHANGELOG.md b/plugins/browser-plugin-optimizely-x/CHANGELOG.md index aef73e9df..5b50231b8 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, 10 Aug 2023 13:56:44 GMT and should not be manually modified. +This log was last generated on Mon, 28 Aug 2023 14:25:14 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-optimizely/CHANGELOG.json b/plugins/browser-plugin-optimizely/CHANGELOG.json index 9a60d00af..95360a9e9 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.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", diff --git a/plugins/browser-plugin-optimizely/CHANGELOG.md b/plugins/browser-plugin-optimizely/CHANGELOG.md index f93d75543..ec192ca22 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, 10 Aug 2023 13:56:44 GMT and should not be manually modified. +This log was last generated on Mon, 28 Aug 2023 14:25:14 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.json b/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.json index 9fa705c7b..79a81ade2 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.15.0", + "tag": "@snowplow/browser-plugin-performance-navigation-timing_v3.15.0", + "date": "Mon, 28 Aug 2023 14:25:14 GMT", + "comments": {} + }, { "version": "3.14.0", "tag": "@snowplow/browser-plugin-performance-navigation-timing_v3.14.0", diff --git a/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.md b/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.md index 9f89391c2..518d5611a 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, 10 Aug 2023 13:56:44 GMT and should not be manually modified. +This log was last generated on Mon, 28 Aug 2023 14:25:14 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-performance-timing/CHANGELOG.json b/plugins/browser-plugin-performance-timing/CHANGELOG.json index f465c90bc..68b28c5d8 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.15.0", + "tag": "@snowplow/browser-plugin-performance-timing_v3.15.0", + "date": "Mon, 28 Aug 2023 14:25:14 GMT", + "comments": {} + }, { "version": "3.14.0", "tag": "@snowplow/browser-plugin-performance-timing_v3.14.0", diff --git a/plugins/browser-plugin-performance-timing/CHANGELOG.md b/plugins/browser-plugin-performance-timing/CHANGELOG.md index 26db20165..b25cda7f9 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, 10 Aug 2023 13:56:44 GMT and should not be manually modified. +This log was last generated on Mon, 28 Aug 2023 14:25:14 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-privacy-sandbox/CHANGELOG.json b/plugins/browser-plugin-privacy-sandbox/CHANGELOG.json index c4caee8ae..4bfeeb66f 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.15.0", + "tag": "@snowplow/browser-plugin-privacy-sandbox_v3.15.0", + "date": "Mon, 28 Aug 2023 14:25:14 GMT", + "comments": {} + }, { "version": "3.14.0", "tag": "@snowplow/browser-plugin-privacy-sandbox_v3.14.0", diff --git a/plugins/browser-plugin-privacy-sandbox/CHANGELOG.md b/plugins/browser-plugin-privacy-sandbox/CHANGELOG.md index b2535d83f..6812b6bd7 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, 10 Aug 2023 13:56:44 GMT and should not be manually modified. +This log was last generated on Mon, 28 Aug 2023 14:25:14 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-site-tracking/CHANGELOG.json b/plugins/browser-plugin-site-tracking/CHANGELOG.json index cc6e5dcef..b20a2aa59 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.15.0", + "tag": "@snowplow/browser-plugin-site-tracking_v3.15.0", + "date": "Mon, 28 Aug 2023 14:25:14 GMT", + "comments": {} + }, { "version": "3.14.0", "tag": "@snowplow/browser-plugin-site-tracking_v3.14.0", diff --git a/plugins/browser-plugin-site-tracking/CHANGELOG.md b/plugins/browser-plugin-site-tracking/CHANGELOG.md index c2e6813c3..ce546eeba 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, 10 Aug 2023 13:56:44 GMT and should not be manually modified. +This log was last generated on Mon, 28 Aug 2023 14:25:14 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.json b/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.json index 68d46e75c..d463c17dc 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.15.0", + "tag": "@snowplow/browser-plugin-snowplow-ecommerce_v3.15.0", + "date": "Mon, 28 Aug 2023 14:25:14 GMT", + "comments": {} + }, { "version": "3.14.0", "tag": "@snowplow/browser-plugin-snowplow-ecommerce_v3.14.0", diff --git a/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.md b/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.md index fa03076f5..853c98133 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, 10 Aug 2023 13:56:44 GMT and should not be manually modified. +This log was last generated on Mon, 28 Aug 2023 14:25:14 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-timezone/CHANGELOG.json b/plugins/browser-plugin-timezone/CHANGELOG.json index 98d60b891..3357152a7 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.15.0", + "tag": "@snowplow/browser-plugin-timezone_v3.15.0", + "date": "Mon, 28 Aug 2023 14:25:14 GMT", + "comments": {} + }, { "version": "3.14.0", "tag": "@snowplow/browser-plugin-timezone_v3.14.0", diff --git a/plugins/browser-plugin-timezone/CHANGELOG.md b/plugins/browser-plugin-timezone/CHANGELOG.md index f0317d67d..e84d66de4 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, 10 Aug 2023 13:56:44 GMT and should not be manually modified. +This log was last generated on Mon, 28 Aug 2023 14:25:14 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-vimeo-tracking/CHANGELOG.json b/plugins/browser-plugin-vimeo-tracking/CHANGELOG.json index c4082842d..862c9e933 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.15.0", + "tag": "@snowplow/browser-plugin-vimeo-tracking_v3.15.0", + "date": "Mon, 28 Aug 2023 14:25:14 GMT", + "comments": {} + }, { "version": "3.14.0", "tag": "@snowplow/browser-plugin-vimeo-tracking_v3.14.0", diff --git a/plugins/browser-plugin-vimeo-tracking/CHANGELOG.md b/plugins/browser-plugin-vimeo-tracking/CHANGELOG.md index 913d3f00d..aa0b99919 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, 10 Aug 2023 13:56:44 GMT and should not be manually modified. +This log was last generated on Mon, 28 Aug 2023 14:25:14 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-web-vitals/CHANGELOG.json b/plugins/browser-plugin-web-vitals/CHANGELOG.json index 2c521de4a..1ad602765 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.15.0", + "tag": "@snowplow/browser-plugin-web-vitals_v3.15.0", + "date": "Mon, 28 Aug 2023 14:25:14 GMT", + "comments": {} + }, { "version": "3.14.0", "tag": "@snowplow/browser-plugin-web-vitals_v3.14.0", diff --git a/plugins/browser-plugin-web-vitals/CHANGELOG.md b/plugins/browser-plugin-web-vitals/CHANGELOG.md index c2a3d963a..eac0845f1 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, 10 Aug 2023 13:56:44 GMT and should not be manually modified. +This log was last generated on Mon, 28 Aug 2023 14:25:14 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-youtube-tracking/CHANGELOG.json b/plugins/browser-plugin-youtube-tracking/CHANGELOG.json index 59aa8e7fb..908c2d615 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.15.0", + "tag": "@snowplow/browser-plugin-youtube-tracking_v3.15.0", + "date": "Mon, 28 Aug 2023 14:25:14 GMT", + "comments": {} + }, { "version": "3.14.0", "tag": "@snowplow/browser-plugin-youtube-tracking_v3.14.0", diff --git a/plugins/browser-plugin-youtube-tracking/CHANGELOG.md b/plugins/browser-plugin-youtube-tracking/CHANGELOG.md index ab4363782..bb353b41b 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, 10 Aug 2023 13:56:44 GMT and should not be manually modified. +This log was last generated on Mon, 28 Aug 2023 14:25:14 GMT and should not be manually modified. + +## 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 diff --git a/trackers/browser-tracker/CHANGELOG.json b/trackers/browser-tracker/CHANGELOG.json index 800b34d5c..d648da0bb 100644 --- a/trackers/browser-tracker/CHANGELOG.json +++ b/trackers/browser-tracker/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@snowplow/browser-tracker", "entries": [ + { + "version": "3.15.0", + "tag": "@snowplow/browser-tracker_v3.15.0", + "date": "Mon, 28 Aug 2023 14:25:14 GMT", + "comments": { + "none": [ + { + "comment": "Add idService option" + } + ] + } + }, { "version": "3.14.0", "tag": "@snowplow/browser-tracker_v3.14.0", diff --git a/trackers/browser-tracker/CHANGELOG.md b/trackers/browser-tracker/CHANGELOG.md index e3be79aec..babcf4706 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 Thu, 10 Aug 2023 13:56:44 GMT and should not be manually modified. +This log was last generated on Mon, 28 Aug 2023 14:25:14 GMT and should not be manually modified. + +## 3.15.0 +Mon, 28 Aug 2023 14:25:14 GMT + +### Updates + +- Add idService option ## 3.14.0 Thu, 10 Aug 2023 13:56:44 GMT diff --git a/trackers/javascript-tracker/CHANGELOG.json b/trackers/javascript-tracker/CHANGELOG.json index 24abe60ff..3bf9eb3a5 100644 --- a/trackers/javascript-tracker/CHANGELOG.json +++ b/trackers/javascript-tracker/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/javascript-tracker", "entries": [ + { + "version": "3.15.0", + "tag": "@snowplow/javascript-tracker_v3.15.0", + "date": "Mon, 28 Aug 2023 14:25:14 GMT", + "comments": {} + }, { "version": "3.14.0", "tag": "@snowplow/javascript-tracker_v3.14.0", diff --git a/trackers/javascript-tracker/CHANGELOG.md b/trackers/javascript-tracker/CHANGELOG.md index 29eabe18d..aab9bc81e 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, 10 Aug 2023 13:56:44 GMT and should not be manually modified. +This log was last generated on Mon, 28 Aug 2023 14:25:14 GMT and should not be manually modified. + +## 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 diff --git a/trackers/node-tracker/CHANGELOG.json b/trackers/node-tracker/CHANGELOG.json index b0e529a11..0619ba575 100644 --- a/trackers/node-tracker/CHANGELOG.json +++ b/trackers/node-tracker/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/node-tracker", "entries": [ + { + "version": "3.15.0", + "tag": "@snowplow/node-tracker_v3.15.0", + "date": "Mon, 28 Aug 2023 14:25:14 GMT", + "comments": {} + }, { "version": "3.14.0", "tag": "@snowplow/node-tracker_v3.14.0", diff --git a/trackers/node-tracker/CHANGELOG.md b/trackers/node-tracker/CHANGELOG.md index 5567058c7..21e1f5a6f 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, 10 Aug 2023 13:56:44 GMT and should not be manually modified. +This log was last generated on Mon, 28 Aug 2023 14:25:14 GMT and should not be manually modified. + +## 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 From d337cd36fc5696e51ab057579bfed8c82b8ab5a6 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 28 Aug 2023 14:25:14 +0000 Subject: [PATCH 130/449] 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-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-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 +- 32 files changed, 58 insertions(+), 58 deletions(-) diff --git a/common/config/rush/version-policies.json b/common/config/rush/version-policies.json index 09a6ad8da..0553e91c8 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.14.0", + "version": "3.15.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 370920f23..2f4d8b36f 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.14.0", + "version": "3.15.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 2d845f7b4..129977f8b 100644 --- a/libraries/tracker-core/package.json +++ b/libraries/tracker-core/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/tracker-core", - "version": "3.14.0", + "version": "3.15.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 df809efb0..55f199a37 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.14.0", + "version": "3.15.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.14.0" + "@snowplow/browser-tracker": "~3.15.0" } } diff --git a/plugins/browser-plugin-browser-features/package.json b/plugins/browser-plugin-browser-features/package.json index 3900dcb3e..99d4ba3a1 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.14.0", + "version": "3.15.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.14.0" + "@snowplow/browser-tracker": "~3.15.0" } } diff --git a/plugins/browser-plugin-client-hints/package.json b/plugins/browser-plugin-client-hints/package.json index 1ff617309..62e01a71b 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.14.0", + "version": "3.15.0", "description": "Attaches Client Hints to Snowplow events", "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.14.0" + "@snowplow/browser-tracker": "~3.15.0" } } diff --git a/plugins/browser-plugin-consent/package.json b/plugins/browser-plugin-consent/package.json index 2dda1576c..24c02bb2a 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.14.0", + "version": "3.15.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.14.0" + "@snowplow/browser-tracker": "~3.15.0" } } diff --git a/plugins/browser-plugin-debugger/package.json b/plugins/browser-plugin-debugger/package.json index d431bf40e..341bba65b 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.14.0", + "version": "3.15.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.14.0" + "@snowplow/browser-tracker": "~3.15.0" } } diff --git a/plugins/browser-plugin-ecommerce/package.json b/plugins/browser-plugin-ecommerce/package.json index f1aa21a0c..e3b741e9f 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.14.0", + "version": "3.15.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.14.0" + "@snowplow/browser-tracker": "~3.15.0" } } diff --git a/plugins/browser-plugin-enhanced-consent/package.json b/plugins/browser-plugin-enhanced-consent/package.json index db0dd4dc4..e35a4892b 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.14.0", + "version": "3.15.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.14.0" + "@snowplow/browser-tracker": "~3.15.0" } } diff --git a/plugins/browser-plugin-enhanced-ecommerce/package.json b/plugins/browser-plugin-enhanced-ecommerce/package.json index 447a3839a..9ef7a7642 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.14.0", + "version": "3.15.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.14.0" + "@snowplow/browser-tracker": "~3.15.0" } } diff --git a/plugins/browser-plugin-error-tracking/package.json b/plugins/browser-plugin-error-tracking/package.json index 442459188..9a1b82aa6 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.14.0", + "version": "3.15.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.14.0" + "@snowplow/browser-tracker": "~3.15.0" } } diff --git a/plugins/browser-plugin-form-tracking/package.json b/plugins/browser-plugin-form-tracking/package.json index 791574c52..5a12708dc 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.14.0", + "version": "3.15.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.14.0" + "@snowplow/browser-tracker": "~3.15.0" } } diff --git a/plugins/browser-plugin-ga-cookies/package.json b/plugins/browser-plugin-ga-cookies/package.json index dbc3d46fe..7e3ac52b2 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.14.0", + "version": "3.15.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.14.0" + "@snowplow/browser-tracker": "~3.15.0" } } diff --git a/plugins/browser-plugin-geolocation/package.json b/plugins/browser-plugin-geolocation/package.json index 58202d5fb..f675a82a7 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.14.0", + "version": "3.15.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.14.0" + "@snowplow/browser-tracker": "~3.15.0" } } diff --git a/plugins/browser-plugin-link-click-tracking/package.json b/plugins/browser-plugin-link-click-tracking/package.json index 91946a84d..7893f5819 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.14.0", + "version": "3.15.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.14.0" + "@snowplow/browser-tracker": "~3.15.0" } } diff --git a/plugins/browser-plugin-media-tracking/package.json b/plugins/browser-plugin-media-tracking/package.json index 5689e5735..961eed562 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.14.0", + "version": "3.15.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.14.0" + "@snowplow/browser-tracker": "~3.15.0" } } diff --git a/plugins/browser-plugin-media/package.json b/plugins/browser-plugin-media/package.json index 2aea501d0..7ef089062 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.14.0", + "version": "3.15.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.14.0" + "@snowplow/browser-tracker": "~3.15.0" } } diff --git a/plugins/browser-plugin-optimizely-x/package.json b/plugins/browser-plugin-optimizely-x/package.json index edbd2680b..3cc6d1f67 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.14.0", + "version": "3.15.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.14.0" + "@snowplow/browser-tracker": "~3.15.0" } } diff --git a/plugins/browser-plugin-optimizely/package.json b/plugins/browser-plugin-optimizely/package.json index f01fc9c77..e5a6adeb1 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.14.0", + "version": "3.15.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.14.0" + "@snowplow/browser-tracker": "~3.15.0" } } diff --git a/plugins/browser-plugin-performance-navigation-timing/package.json b/plugins/browser-plugin-performance-navigation-timing/package.json index a4763da6a..988f9aac9 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.14.0", + "version": "3.15.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.14.0" + "@snowplow/browser-tracker": "~3.15.0" } } diff --git a/plugins/browser-plugin-performance-timing/package.json b/plugins/browser-plugin-performance-timing/package.json index 735be8d5f..62371fa5b 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.14.0", + "version": "3.15.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.14.0" + "@snowplow/browser-tracker": "~3.15.0" } } diff --git a/plugins/browser-plugin-privacy-sandbox/package.json b/plugins/browser-plugin-privacy-sandbox/package.json index 814bd3e3c..044fc0ebf 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.14.0", + "version": "3.15.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.14.0" + "@snowplow/browser-tracker": "~3.15.0" } } diff --git a/plugins/browser-plugin-site-tracking/package.json b/plugins/browser-plugin-site-tracking/package.json index 140e2640a..6ce2289a5 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.14.0", + "version": "3.15.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.14.0" + "@snowplow/browser-tracker": "~3.15.0" } } diff --git a/plugins/browser-plugin-snowplow-ecommerce/package.json b/plugins/browser-plugin-snowplow-ecommerce/package.json index a85d676f5..b77b11c16 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.14.0", + "version": "3.15.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.14.0" + "@snowplow/browser-tracker": "~3.15.0" } } diff --git a/plugins/browser-plugin-timezone/package.json b/plugins/browser-plugin-timezone/package.json index c5f2fd83c..5c0d9f9eb 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.14.0", + "version": "3.15.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.14.0" + "@snowplow/browser-tracker": "~3.15.0" } } diff --git a/plugins/browser-plugin-vimeo-tracking/package.json b/plugins/browser-plugin-vimeo-tracking/package.json index 79a5bbf76..a3398edb9 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.14.0", + "version": "3.15.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.14.0" + "@snowplow/browser-tracker": "~3.15.0" } } diff --git a/plugins/browser-plugin-web-vitals/package.json b/plugins/browser-plugin-web-vitals/package.json index 2792bfe95..261418096 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.14.0", + "version": "3.15.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.14.0" + "@snowplow/browser-tracker": "~3.15.0" } } diff --git a/plugins/browser-plugin-youtube-tracking/package.json b/plugins/browser-plugin-youtube-tracking/package.json index 1754c311a..b5d48bc7a 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.14.0", + "version": "3.15.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.14.0" + "@snowplow/browser-tracker": "~3.15.0" } } diff --git a/trackers/browser-tracker/package.json b/trackers/browser-tracker/package.json index cfde721c8..802a60683 100644 --- a/trackers/browser-tracker/package.json +++ b/trackers/browser-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-tracker", - "version": "3.14.0", + "version": "3.15.0", "description": "Browser tracker for Snowplow", "keywords": [ "tracking", diff --git a/trackers/javascript-tracker/package.json b/trackers/javascript-tracker/package.json index f75b4ddeb..4aa352dda 100644 --- a/trackers/javascript-tracker/package.json +++ b/trackers/javascript-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/javascript-tracker", - "version": "3.14.0", + "version": "3.15.0", "description": "Web analytics for Snowplow", "keywords": [ "tracking", diff --git a/trackers/node-tracker/package.json b/trackers/node-tracker/package.json index 0d6874f33..f290411f0 100644 --- a/trackers/node-tracker/package.json +++ b/trackers/node-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/node-tracker", - "version": "3.14.0", + "version": "3.15.0", "description": "Node tracker for Snowplow", "keywords": [ "snowplow", From de97c3bef9ef4ceccd001ea051eddbf2a05e2c70 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 28 Aug 2023 14:30:55 +0000 Subject: [PATCH 131/449] Applying documentation updates. --- .../docs/markdown/browser-tracker.trackerconfiguration.md | 1 + 1 file changed, 1 insertion(+) diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.trackerconfiguration.md b/trackers/browser-tracker/docs/markdown/browser-tracker.trackerconfiguration.md index 81b8fdeaf..b0f36777d 100644 --- a/trackers/browser-tracker/docs/markdown/browser-tracker.trackerconfiguration.md +++ b/trackers/browser-tracker/docs/markdown/browser-tracker.trackerconfiguration.md @@ -40,6 +40,7 @@ type TrackerConfiguration = { retryStatusCodes?: number[]; dontRetryStatusCodes?: number[]; onSessionUpdateCallback?: (updatedSession: ClientSession) => void; + idService?: string; }; ``` From 41d3a7589192089c095c1c558a6ad6fed0d064d6 Mon Sep 17 00:00:00 2001 From: Matus Tomlein Date: Thu, 5 Oct 2023 14:15:46 +0200 Subject: [PATCH 132/449] Add plugin to send requests with user ID to a Kantar FocalMeter endpoint (close #1133) PR #1243 and #1134 --- .../issue-focalmeter_2022-12-22-13-04.json | 10 ++ .../rush/browser-approved-packages.json | 4 + common/config/rush/pnpm-lock.yaml | 49 ++++++ common/config/rush/repo-state.json | 2 +- .../browser-plugin-focalmeter/CHANGELOG.json | 5 + plugins/browser-plugin-focalmeter/LICENSE | 29 ++++ plugins/browser-plugin-focalmeter/README.md | 56 ++++++ .../browser-plugin-focalmeter/jest.config.js | 5 + .../browser-plugin-focalmeter/package.json | 53 ++++++ .../rollup.config.js | 67 ++++++++ .../browser-plugin-focalmeter/src/index.ts | 159 +++++++++++++++++ .../test/request.test.ts | 161 ++++++++++++++++++ .../browser-plugin-focalmeter/tsconfig.json | 3 + rush.json | 6 + 14 files changed, 608 insertions(+), 1 deletion(-) create mode 100644 common/changes/@snowplow/browser-plugin-focalmeter/issue-focalmeter_2022-12-22-13-04.json create mode 100644 plugins/browser-plugin-focalmeter/CHANGELOG.json create mode 100644 plugins/browser-plugin-focalmeter/LICENSE create mode 100644 plugins/browser-plugin-focalmeter/README.md create mode 100644 plugins/browser-plugin-focalmeter/jest.config.js create mode 100644 plugins/browser-plugin-focalmeter/package.json create mode 100644 plugins/browser-plugin-focalmeter/rollup.config.js create mode 100644 plugins/browser-plugin-focalmeter/src/index.ts create mode 100644 plugins/browser-plugin-focalmeter/test/request.test.ts create mode 100644 plugins/browser-plugin-focalmeter/tsconfig.json diff --git a/common/changes/@snowplow/browser-plugin-focalmeter/issue-focalmeter_2022-12-22-13-04.json b/common/changes/@snowplow/browser-plugin-focalmeter/issue-focalmeter_2022-12-22-13-04.json new file mode 100644 index 000000000..325547edf --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-focalmeter/issue-focalmeter_2022-12-22-13-04.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-focalmeter", + "comment": "Add plugin to send requests with user ID to a Kantar FocalMeter endpoint (#1133)", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-focalmeter" +} \ 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 fd359cee8..c931363cf 100644 --- a/common/config/rush/browser-approved-packages.json +++ b/common/config/rush/browser-approved-packages.json @@ -118,6 +118,10 @@ "name": "@snowplow/browser-plugin-youtube-tracking", "allowedCategories": [ "trackers" ] }, + { + "name": "@snowplow/browser-plugin-focalmeter", + "allowedCategories": [ "trackers" ] + }, { "name": "@snowplow/browser-tracker", "allowedCategories": [ "plugins", "trackers" ] diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index 261787db4..d9205c692 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -572,6 +572,55 @@ importers: ts-jest: 27.1.3_60149d457e34ffba7d4e845dde6a1263 typescript: 4.6.2 + ../../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 + 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-form-tracking: specifiers: '@ampproject/rollup-plugin-closure-compiler': ~0.27.0 diff --git a/common/config/rush/repo-state.json b/common/config/rush/repo-state.json index fc69b38e4..bbb32c307 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": "a8b7bdefbe86b839e0c359de02cae9c4ccc90039", + "pnpmShrinkwrapHash": "1a1088b00d3708ad3e18a4dae34bc79e9b057acd", "preferredVersionsHash": "bf21a9e8fbc5a3846fb05b4fa0859e0917b2202f" } diff --git a/plugins/browser-plugin-focalmeter/CHANGELOG.json b/plugins/browser-plugin-focalmeter/CHANGELOG.json new file mode 100644 index 000000000..7f74dc674 --- /dev/null +++ b/plugins/browser-plugin-focalmeter/CHANGELOG.json @@ -0,0 +1,5 @@ +{ + "name": "@snowplow/browser-plugin-focalmeter", + "entries": [ + ] +} diff --git a/plugins/browser-plugin-focalmeter/LICENSE b/plugins/browser-plugin-focalmeter/LICENSE new file mode 100644 index 000000000..a311732d5 --- /dev/null +++ b/plugins/browser-plugin-focalmeter/LICENSE @@ -0,0 +1,29 @@ +BSD 3-Clause License + +Copyright (c) 2023 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-focalmeter/README.md b/plugins/browser-plugin-focalmeter/README.md new file mode 100644 index 000000000..c3ef91f10 --- /dev/null +++ b/plugins/browser-plugin-focalmeter/README.md @@ -0,0 +1,56 @@ +# Snowplow FocalMeter Integration + +[![npm version][npm-image]][npm-url] +[![License][license-image]](LICENSE) + +Browser Plugin to be used with `@snowplow/browser-tracker`. + +Adds integration with the Kantar FocalMeter to your Snowplow tracking. +The plugin sends requests with the domain user ID to a Kantar endpoint used with the FocalMeter system. +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/). + +### 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-focalmeter +``` + +## Usage + +Initialize your tracker with the FocalMeterPlugin: + +```js +import { newTracker } from '@snowplow/browser-tracker'; +import { FocalMeterPlugin } from '@snowplow/browser-plugin-focalmeter'; + +newTracker('sp1', '{{collector}}', { plugins: [ FocalMeterPlugin() ] }); // 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) 2023 Snowplow Analytics Ltd, 2010 Anthon Pang. + +All rights reserved. + +[npm-url]: https://www.npmjs.com/package/@snowplow/browser-plugin-focalmeter +[npm-image]: https://img.shields.io/npm/v/@snowplow/browser-plugin-focalmeter +[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-focalmeter diff --git a/plugins/browser-plugin-focalmeter/jest.config.js b/plugins/browser-plugin-focalmeter/jest.config.js new file mode 100644 index 000000000..bd3ea4e2a --- /dev/null +++ b/plugins/browser-plugin-focalmeter/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-focalmeter/package.json b/plugins/browser-plugin-focalmeter/package.json new file mode 100644 index 000000000..45820c514 --- /dev/null +++ b/plugins/browser-plugin-focalmeter/package.json @@ -0,0 +1,53 @@ +{ + "name": "@snowplow/browser-plugin-focalmeter", + "version": "3.15.0", + "description": "Kantar FocalMeter integration 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": "Matus Tomlein", + "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.15.0" + } +} diff --git a/plugins/browser-plugin-focalmeter/rollup.config.js b/plugins/browser-plugin-focalmeter/rollup.config.js new file mode 100644 index 000000000..dfef86c7b --- /dev/null +++ b/plugins/browser-plugin-focalmeter/rollup.config.js @@ -0,0 +1,67 @@ +/* + * Copyright (c) 2023 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 = 'snowplowFocalMeter'; + +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-focalmeter/src/index.ts b/plugins/browser-plugin-focalmeter/src/index.ts new file mode 100644 index 000000000..ef2c290f8 --- /dev/null +++ b/plugins/browser-plugin-focalmeter/src/index.ts @@ -0,0 +1,159 @@ +/* + * Copyright (c) 2023 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 { + attemptGetLocalStorage, + BrowserPlugin, + hasLocalStorage, + BrowserTracker, + attemptWriteLocalStorage, +} from '@snowplow/browser-tracker-core'; +import { Logger, Payload } from '@snowplow/tracker-core'; + +/** FocalMeter plugin configuration */ +export interface FocalMeterConfiguration { + /** URL of the Kantar endpoint to send the requests to (including protocol) */ + kantarEndpoint: string; + /** Whether to store information about the last submitted user ID in local storage to prevent sending it again on next load (defaults not to use local storage) */ + useLocalStorage?: boolean; + /** Callback to process user ID before sending it in a request. This may be used to apply hashing to the value. */ + processUserId?: (userId: string) => string; +} + +const _trackers: Record = {}; +const _configurations: Record = {}; + +/** + * The FocalMeter Plugin + * + * The plugin sends requests with the domain user ID to a Kantar endpoint used with the FocalMeter system. + * A request is made when the first event with a new user ID is tracked. + * + * Call `enableFocalMeterIntegration()` to enable the integration with given configuration. + */ +export function FocalMeterPlugin(): BrowserPlugin { + let LOG: Logger; + let lastUserId: string | undefined | null; + let trackerId: string; + + return { + activateBrowserPlugin: (tracker: BrowserTracker) => { + trackerId = tracker.id; + _trackers[tracker.id] = tracker; + }, + + logger: (logger: Logger) => { + LOG = logger; + }, + + afterTrack: (payload: Payload) => { + if (!_configurations[trackerId]) { + LOG.error('FocalMeter integration not enabled'); + return; + } + + const newUserId = payload['duid'] as string; + const { kantarEndpoint, useLocalStorage, processUserId } = _configurations[trackerId]; + + if (!lastUserId && useLocalStorage && hasLocalStorage()) { + const key = getLocalStorageKey(trackerId); + lastUserId = attemptGetLocalStorage(key); + } + + if (newUserId && newUserId != lastUserId) { + lastUserId = newUserId; + const processedUserId = processUserId !== undefined ? processUserId(newUserId) : newUserId; + + sendRequest(kantarEndpoint, processedUserId, LOG, () => { + // only write in local storage if the request succeeded + if (useLocalStorage && hasLocalStorage()) { + const key = getLocalStorageKey(trackerId); + attemptWriteLocalStorage(key, newUserId); + } + }); + } + }, + }; +} + +/** + * Enables the integration with Kantar FocalMeter. + * + * @param configuration - Configuration with the URL endpoint to send requests to + * @param trackers - The tracker identifiers which should have the context enabled + */ +export function enableFocalMeterIntegration( + configuration: FocalMeterConfiguration, + trackers: Array = Object.keys(_trackers) +): void { + for (const id of trackers) { + if (_trackers[id]) { + _configurations[id] = configuration; + } + } +} + +function getLocalStorageKey(trackerId: string): string { + return `sp-fclmtr-${trackerId}`; +} + +function sendRequest(url: string, userId: string, LOG: Logger, successCallback: () => void): void { + const xhr = new XMLHttpRequest(); + xhr.open('GET', getKantarURL(url, userId)); + xhr.timeout = 5000; + + xhr.onreadystatechange = function () { + if (xhr.readyState === 4 && xhr.status >= 200) { + if (xhr.status < 300) { + successCallback(); + LOG.debug(`ID sent to Kantar: ${userId}`); + } else { + LOG.error(`Kantar request failed: ${xhr.status}: ${xhr.statusText}`); + } + } + }; + + xhr.send(); +} + +function getKantarURL(url: string, userId: string): string { + const query: Record = { + vendor: 'snowplow', + cs_fpid: userId, + c12: 'not_set', + }; + return ( + url + + '?' + + Object.keys(query) + .map((key) => key + '=' + query[key]) + .join('&') + ); +} diff --git a/plugins/browser-plugin-focalmeter/test/request.test.ts b/plugins/browser-plugin-focalmeter/test/request.test.ts new file mode 100644 index 000000000..40ec88ecd --- /dev/null +++ b/plugins/browser-plugin-focalmeter/test/request.test.ts @@ -0,0 +1,161 @@ +/* + * Copyright (c) 2023 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 { enableFocalMeterIntegration, FocalMeterPlugin } from '../src'; + +describe('AdTrackingPlugin', () => { + // Mock XHR network requests + let xhrMock: Partial; + let xhrOpenMock: jest.Mock; + let queuedStateChangeCallbacks: any[] = []; + let domain = 'https://kantar.com'; + + beforeEach(() => { + xhrOpenMock = jest.fn(); + xhrMock = { + open: xhrOpenMock, + send: jest.fn(), + setRequestHeader: jest.fn(), + withCredentials: true, + status: 200, + response: '', + readyState: 4, + }; + + Object.defineProperty(xhrMock, 'onreadystatechange', { + set: (val) => { + queuedStateChangeCallbacks.push(val); + }, + }); + + jest.spyOn(window, 'XMLHttpRequest').mockImplementation(() => xhrMock as XMLHttpRequest); + }); + + it('makes a request to Kantar endpoint with user ID', async () => { + const tracker = createTrackerWithPlugin(); + enableFocalMeterIntegration({ kantarEndpoint: domain }); + + tracker?.trackPageView(); + const userId = tracker?.getDomainUserId(); + + await checkMock(() => { + expect(xhrOpenMock).toHaveBeenCalledTimes(2); + expect(xhrOpenMock).toHaveBeenLastCalledWith('GET', `${domain}?vendor=snowplow&cs_fpid=${userId}&c12=not_set`); + }); + }); + + it('makes a request to Kantar endpoint with processed user ID', async () => { + const tracker = createTrackerWithPlugin(); + enableFocalMeterIntegration({ kantarEndpoint: domain, processUserId: (userId) => userId + '-processed' }); + + tracker?.trackPageView(); + const userId = tracker?.getDomainUserId(); + + await checkMock(() => { + expect(xhrOpenMock).toHaveBeenCalledTimes(2); + expect(xhrOpenMock).toHaveBeenLastCalledWith('GET', `${domain}?vendor=snowplow&cs_fpid=${userId}-processed&c12=not_set`); + }); + }); + + it('makes a request to Kantar endpoint when user ID changes', async () => { + const tracker = createTrackerWithPlugin(); + enableFocalMeterIntegration({ kantarEndpoint: domain }); + + // Doesn't make a request if anonymous tracking + tracker?.enableAnonymousTracking(); + tracker?.trackPageView(); + await checkMock(() => { + expect(xhrOpenMock).toHaveBeenCalledTimes(1); + }); + + // Makes a request when disabling anonymous tracking + tracker?.disableAnonymousTracking(); + tracker?.trackPageView(); + const userId = tracker?.getDomainUserId(); + await checkMock(() => { + expect(xhrOpenMock).toHaveBeenCalledTimes(2); + 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); + }); + }); + + it('can work with multiple trackers', async () => { + const tracker1 = createTrackerWithPlugin(); + const tracker2 = createTrackerWithPlugin(); + + enableFocalMeterIntegration( + { + kantarEndpoint: domain, + }, + [tracker1!.namespace, tracker2!.namespace] + ); + + // Makes requests for both trackers + tracker1?.trackPageView(); + await checkMock(() => expect(xhrOpenMock).toHaveBeenCalledTimes(2)); + tracker2?.trackPageView(); + await checkMock(() => expect(xhrOpenMock).toHaveBeenCalledTimes(2)); + + // Doesn't make any more requests for the trackers + tracker1?.trackPageView(); + await checkMock(() => expect(xhrOpenMock).toHaveBeenCalledTimes(1)); + tracker2?.trackPageView(); + await checkMock(() => expect(xhrOpenMock).toHaveBeenCalledTimes(1)); + }); + + function createTrackerWithPlugin(id: string | undefined = undefined) { + const state = new SharedState(); + id ??= 'sp-' + Math.random(); + + return addTracker(id, id, 'js-3.0.0', '', state, { + stateStorageStrategy: 'cookie', + encodeBase64: false, + plugins: [FocalMeterPlugin()], + }); + } + + function checkMock(callback: () => void) { + return new Promise((resolve) => { + setTimeout(() => { + callback(); + queuedStateChangeCallbacks.forEach((callback) => callback()); + queuedStateChangeCallbacks = []; + xhrOpenMock.mockReset(); + resolve(true); + }, 100); + }); + } +}); diff --git a/plugins/browser-plugin-focalmeter/tsconfig.json b/plugins/browser-plugin-focalmeter/tsconfig.json new file mode 100644 index 000000000..4082f16a5 --- /dev/null +++ b/plugins/browser-plugin-focalmeter/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "../../tsconfig.json" +} diff --git a/rush.json b/rush.json index b2f795e50..0ff69c59a 100644 --- a/rush.json +++ b/rush.json @@ -571,6 +571,12 @@ "projectFolder": "plugins/browser-plugin-privacy-sandbox", "reviewCategory": "plugins", "versionPolicyName": "tracker" + }, + { + "packageName": "@snowplow/browser-plugin-focalmeter", + "projectFolder": "plugins/browser-plugin-focalmeter", + "reviewCategory": "plugins", + "versionPolicyName": "tracker" } ] } From 6be372615a3ebbe3fa06c11a9bf690791553e09d Mon Sep 17 00:00:00 2001 From: adatzer Date: Thu, 12 Oct 2023 17:50:35 +0300 Subject: [PATCH 133/449] Make pre-commit hook script POSIX compliant (close #1246) --- common/git-hooks/pre-commit | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/common/git-hooks/pre-commit b/common/git-hooks/pre-commit index 57df62b1a..07b96ad6c 100644 --- a/common/git-hooks/pre-commit +++ b/common/git-hooks/pre-commit @@ -12,7 +12,7 @@ ERROR_COLOR='\033[0;31m' WARNING_COLOR='\033[0;33m' STOP_COLOR='\033[0m' -if ! command -v gitleaks &> /dev/null +if ! command -v gitleaks > /dev/null 2>&1 then echo "${ERROR_COLOR}\nGitleaks not found. To commit you safely, you need to install it per the instructions at https://github.com/gitleaks/gitleaks.${STOP_COLOR}" exit 1 @@ -21,4 +21,4 @@ then echo "${WARNING_COLOR}\nGitleaks skipped for this commit.${STOP_COLOR}" else gitleaks protect -v --staged --report-path ./findings.json -fi \ No newline at end of file +fi From f18328af8eea1403494f609cf21cd682219fc874 Mon Sep 17 00:00:00 2001 From: adatzer Date: Thu, 12 Oct 2023 17:52:43 +0300 Subject: [PATCH 134/449] Fix transform function for submit_form event (close #1241) --- .../issue-1241_2023-10-10-10-15.json | 10 +++ .../issue-1241_2023-10-10-10-15.json | 10 +++ .../src/helpers.ts | 67 +++++++----------- .../browser-plugin-form-tracking/src/index.ts | 30 -------- .../test/integration/autoTracking.test.ts | 70 +++++++++++++++++++ .../test/pages/form-tracking.html | 17 +++++ 6 files changed, 132 insertions(+), 72 deletions(-) create mode 100644 common/changes/@snowplow/browser-plugin-form-tracking/issue-1241_2023-10-10-10-15.json create mode 100644 common/changes/@snowplow/javascript-tracker/issue-1241_2023-10-10-10-15.json diff --git a/common/changes/@snowplow/browser-plugin-form-tracking/issue-1241_2023-10-10-10-15.json b/common/changes/@snowplow/browser-plugin-form-tracking/issue-1241_2023-10-10-10-15.json new file mode 100644 index 000000000..57bdb1ff0 --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-form-tracking/issue-1241_2023-10-10-10-15.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-form-tracking", + "comment": "Fix transform function for submit_form event", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-form-tracking" +} \ No newline at end of file diff --git a/common/changes/@snowplow/javascript-tracker/issue-1241_2023-10-10-10-15.json b/common/changes/@snowplow/javascript-tracker/issue-1241_2023-10-10-10-15.json new file mode 100644 index 000000000..ae2f53795 --- /dev/null +++ b/common/changes/@snowplow/javascript-tracker/issue-1241_2023-10-10-10-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/src/helpers.ts b/plugins/browser-plugin-form-tracking/src/helpers.ts index da21e3f4c..4b424dd04 100644 --- a/plugins/browser-plugin-form-tracking/src/helpers.ts +++ b/plugins/browser-plugin-form-tracking/src/helpers.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 { getCssClasses, addEventListener, @@ -90,12 +60,18 @@ export interface ElementData extends Record { type?: string; } -export type transformFn = (x: string | null, elt: ElementData | TrackedHTMLElement) => string | null; +export 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; interface FormConfiguration { @@ -242,7 +218,7 @@ function getParentFormIdentifier(elt: Node | null) { * Returns a list of the input, textarea, and select elements inside a form along with their values */ function getInnerFormElements(trackingMarker: string, elt: HTMLFormElement) { - var innerElements: Array = []; + 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); @@ -252,17 +228,20 @@ function getInnerFormElements(trackingMarker: string, elt: HTMLFormElement) { if (child.type === 'submit') { return; } - var elementJson: ElementData = { - name: getElementIdentifier(child), - value: child.value, - nodeName: child.nodeName, + var elementJson: ElementDataWrapper = { + elementData: { + name: getElementIdentifier(child), + value: child.value, + nodeName: child.nodeName, + }, + originalElement: child, }; if (child.type && child.nodeName.toUpperCase() === 'INPUT') { - elementJson.type = child.type; + elementJson.elementData.type = child.type; } if ((child.type === 'checkbox' || child.type === 'radio') && !(child as HTMLInputElement).checked) { - elementJson.value = null; + elementJson.elementData.value = null; } innerElements.push(elementJson); }); @@ -285,7 +264,9 @@ function getFormChangeListener( 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.type === 'checkbox' && !(elt as HTMLInputElement).checked + ? null + : config.fieldTransform(elt.value, elt, elt); if (event_type === 'change_form' || (type !== 'checkbox' && type !== 'radio')) { tracker.core.track( buildFormFocusOrChange({ @@ -317,15 +298,17 @@ function getFormSubmissionListener( var elt = e.target as HTMLFormElement; var innerElements = getInnerFormElements(trackingMarker, elt); innerElements.forEach(function (innerElement) { - innerElement.value = config.fieldTransform(innerElement.value, innerElement) ?? innerElement.value; + 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: innerElements, + elements: elementsData, }), - resolveDynamicContext(context, elt, innerElements) + resolveDynamicContext(context, elt, elementsData) ); }; } diff --git a/plugins/browser-plugin-form-tracking/src/index.ts b/plugins/browser-plugin-form-tracking/src/index.ts index 24ddfcc4a..3f3f79a39 100644 --- a/plugins/browser-plugin-form-tracking/src/index.ts +++ b/plugins/browser-plugin-form-tracking/src/index.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 { BrowserPlugin, BrowserTracker } from '@snowplow/browser-tracker-core'; import { addFormListeners, FormTrackingConfiguration } from './helpers'; diff --git a/trackers/javascript-tracker/test/integration/autoTracking.test.ts b/trackers/javascript-tracker/test/integration/autoTracking.test.ts index 7b3b885db..ca9c28005 100755 --- a/trackers/javascript-tracker/test/integration/autoTracking.test.ts +++ b/trackers/javascript-tracker/test/integration/autoTracking.test.ts @@ -280,6 +280,11 @@ describe('Auto tracking', () => { await $('#fname').click(); await $('#lname').click(); + await loadUrlAndWait('/form-tracking.html?filter=transform'); + + await $('#pid').click(); + await $('#submit').click(); + await browser.pause(1000); await loadUrlAndWait('/form-tracking.html?filter=excludedForm'); @@ -808,4 +813,69 @@ describe('Auto tracking', () => { }) ).toBe(true); }); + + it('should use transform function for pii field', () => { + expect( + logContains({ + event: { + event: 'unstruct', + app_id: 'autotracking-form-' + testIdentifier, + unstruct_event: { + data: { + schema: 'iglu:com.snowplowanalytics.snowplow/focus_form/jsonschema/1-0-0', + data: { + formId: 'myForm', + elementId: 'pname', + nodeName: 'INPUT', + elementClasses: [], + value: 'redacted', + elementType: 'text', + }, + }, + }, + }, + }) + ).toBe(true); + + expect( + logContains({ + event: { + event: 'unstruct', + app_id: 'autotracking-form-' + testIdentifier, + unstruct_event: { + data: { + schema: 'iglu:com.snowplowanalytics.snowplow/submit_form/jsonschema/1-0-0', + data: { + formId: 'myForm', + formClasses: ['formy-mcformface'], + elements: [ + { + name: 'message', + value: 'This is a message', + nodeName: 'TEXTAREA', + }, + { + name: 'fname', + value: 'John', + nodeName: 'INPUT', + type: 'text', + }, + { name: 'lname', value: 'Doe', nodeName: 'INPUT', type: 'text' }, + { + name: 'pname', + value: 'redacted', + nodeName: 'INPUT', + type: 'text', + }, + { name: 'vehicle', value: null, nodeName: 'INPUT', type: 'radio' }, + { name: 'terms', value: null, nodeName: 'INPUT', type: 'checkbox' }, + { name: 'cars', value: 'volvo', nodeName: 'SELECT' }, + ], + }, + }, + }, + }, + }) + ).toBe(true); + }); }); diff --git a/trackers/javascript-tracker/test/pages/form-tracking.html b/trackers/javascript-tracker/test/pages/form-tracking.html index 627f067d1..3717b0d17 100644 --- a/trackers/javascript-tracker/test/pages/form-tracking.html +++ b/trackers/javascript-tracker/test/pages/form-tracking.html @@ -41,6 +41,10 @@



+ +
+

+
@@ -106,6 +110,12 @@ function formFilter(formElement) { return formElement.id !== 'lname'; } + function redactPII(eltValue, _, elt) { + if (elt.id === 'pid') { + return 'redacted'; + } + return eltValue; + } switch (parseQuery().filter) { case 'exclude': @@ -122,6 +132,13 @@ }, }); break; + case 'transform': + snowplow('enableFormTracking', { + options: { + fields: { transform: redactPII }, + }, + }); + break; case 'excludedForm': snowplow('enableFormTracking', { options: { forms: { denylist: ['excluded-form'] } } }); break; From fa6943d127e5f9bc9e0aa43c21f83d264d6dd6c5 Mon Sep 17 00:00:00 2001 From: Matus Tomlein Date: Mon, 16 Oct 2023 12:58:23 +0200 Subject: [PATCH 135/449] Update saucelabs and webdriverio dependencies (#1253) --- common/config/rush/pnpm-lock.yaml | 1880 +++++++++++----------- common/config/rush/repo-state.json | 2 +- trackers/javascript-tracker/package.json | 28 +- 3 files changed, 911 insertions(+), 999 deletions(-) diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index d9205c692..62165f52e 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -1580,15 +1580,15 @@ importers: '@types/node': ~14.6.0 '@types/node-fetch': '2' '@types/youtube': ~0.0.46 - '@wdio/cli': ~8.3.3 - '@wdio/globals': ~8.11.2 - '@wdio/jasmine-framework': ~8.3.3 - '@wdio/local-runner': ~8.3.3 - '@wdio/sauce-service': ~8.3.3 - '@wdio/shared-store-service': ~8.11.2 - '@wdio/spec-reporter': ~8.3.0 - '@wdio/static-server-service': ~8.3.0 - '@wdio/types': ~8.3.0 + '@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 chalk: 4.1.2 chromedriver: ~114.0.0 dockerode: ~3.3.1 @@ -1606,15 +1606,15 @@ importers: rollup-plugin-sizes: ~1.0.4 rollup-plugin-terser: ~7.0.2 rollup-plugin-ts: ~2.0.5 - saucelabs: ~7.2.0 + saucelabs: ~7.4.0 ts-jest: ~27.1.3 ts-node: ~10.9.1 tslib: ^2.3.1 typescript: ~4.6.2 - wdio-chromedriver-service: ~8.0.1 - wdio-edgedriver-service: ~3.0.2 - wdio-safaridriver-service: ~2.1.0 - webdriverio: ~8.3.3 + wdio-chromedriver-service: ~8.1.1 + wdio-edgedriver-service: ~3.0.3 + wdio-safaridriver-service: ~2.1.1 + webdriverio: ~8.18.2 dependencies: '@snowplow/browser-plugin-ad-tracking': link:../../plugins/browser-plugin-ad-tracking '@snowplow/browser-plugin-browser-features': link:../../plugins/browser-plugin-browser-features @@ -1657,15 +1657,15 @@ importers: '@types/node': 14.6.4 '@types/node-fetch': 2.6.4 '@types/youtube': 0.0.46 - '@wdio/cli': 8.3.5_typescript@4.6.2 - '@wdio/globals': 8.11.2_typescript@4.6.2 - '@wdio/jasmine-framework': 8.3.5_typescript@4.6.2 - '@wdio/local-runner': 8.3.5_typescript@4.6.2 - '@wdio/sauce-service': 8.3.5 - '@wdio/shared-store-service': 8.11.2_typescript@4.6.2 - '@wdio/spec-reporter': 8.3.0 - '@wdio/static-server-service': 8.3.0 - '@wdio/types': 8.3.0 + '@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 chalk: 4.1.2 chromedriver: 114.0.2 dockerode: 3.3.1 @@ -1683,14 +1683,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.2.0 + saucelabs: 7.4.0 ts-jest: 27.1.3_60149d457e34ffba7d4e845dde6a1263 ts-node: 10.9.1_3a45c3db8dee5edcd277f201fb244988 typescript: 4.6.2 - wdio-chromedriver-service: 8.0.1_004e92621c7fa5837873d8fdb8947671 - wdio-edgedriver-service: 3.0.2_@wdio+types@8.3.0 - wdio-safaridriver-service: 2.1.0_38e69deb68987ddd418b1267598e302e - webdriverio: 8.3.5 + wdio-chromedriver-service: 8.1.1_514dbdcecc2bde428ae175e957c6d0fe + 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 ../../trackers/node-tracker: specifiers: @@ -1764,10 +1764,6 @@ packages: engines: {node: '>=4'} dev: true - /@assemblyscript/loader/0.10.1: - resolution: {integrity: sha512-H71nDOOL8Y7kWRLqf6Sums+01Q5msqBW2KhDUTemh1tvY04eSkSXrK0uj/4mmY0Xr16/3zyZmsrxN7CKuRbNRg==} - dev: true - /@babel/code-frame/7.16.7: resolution: {integrity: sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==} engines: {node: '>=6.9.0'} @@ -1775,6 +1771,14 @@ packages: '@babel/highlight': 7.16.10 dev: true + /@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/core/7.12.10: resolution: {integrity: sha512-eTAlQKq65zHfkHZV0sIVODCPGVgoo1HdBlbSLi9CqOzuZanMv2ihzY+4paiKr1mH+XmYESMAmJ/dpZ68eN6d8w==} engines: {node: '>=6.9.0'} @@ -1887,6 +1891,11 @@ packages: engines: {node: '>=6.9.0'} dev: true + /@babel/helper-validator-identifier/7.22.20: + resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} + engines: {node: '>=6.9.0'} + dev: true + /@babel/helpers/7.12.5: resolution: {integrity: sha512-lgKGMQlKqA8meJqKsW6rUnc4MdUk35Ln0ATDqdM1a/UpARODdI4j5Y5lVfUScnSNkJcdCRAaWkspykNoFg9sJA==} dependencies: @@ -1906,6 +1915,15 @@ packages: js-tokens: 4.0.0 dev: true + /@babel/highlight/7.22.20: + resolution: {integrity: sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.22.20 + chalk: 2.4.2 + js-tokens: 4.0.0 + dev: true + /@babel/parser/7.16.12: resolution: {integrity: sha512-VfaV15po8RiZssrkPweyvbGVSe4x2y+aciFCgn0n0/SJMR22cwofRV1mtnJQYcSB1wUTaA/X1LnA3es66MCO5A==} engines: {node: '>=6.0.0'} @@ -2080,6 +2098,13 @@ packages: '@jridgewell/trace-mapping': 0.3.9 dev: true + /@eggjs/yauzl/2.11.0: + resolution: {integrity: sha512-Jq+k2fCZJ3i3HShb0nxLUiAgq5pwo8JTT1TrH22JoehZQ0Nm2dvByGIja1NYfNyuE4Tx5/Dns5nVsBN/mlC8yg==} + 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} @@ -2268,20 +2293,12 @@ packages: jest-mock: 27.5.1 dev: true - /@jest/expect-utils/29.4.2: - resolution: {integrity: sha512-Dd3ilDJpBnqa0GiPN7QrudVs0cczMMHtehSo2CSTjm3zdHx0RcpmhFNVEltuEFeqfLIyWKFI224FsMSQ/nsJQA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - jest-get-type: 29.4.2 - dev: true - /@jest/expect-utils/29.6.1: resolution: {integrity: sha512-o319vIf5pEMx0LmzSxxkYYxo4wrRLKHq9dP1yJU7FoPTB0LfAKSz8SWD6D/6U3v/O52t9cF5t+MeJiRsfk7zMw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: jest-get-type: 29.4.3 dev: true - optional: true /@jest/fake-timers/27.5.1: resolution: {integrity: sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==} @@ -2342,20 +2359,12 @@ packages: - supports-color dev: true - /@jest/schemas/29.4.2: - resolution: {integrity: sha512-ZrGzGfh31NtdVH8tn0mgJw4khQuNHiKqdzJAFbCaERbyCP9tHlxWuL/mnMu8P7e/+k4puWjI1NOzi/sFsjce/g==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@sinclair/typebox': 0.25.21 - dev: true - /@jest/schemas/29.6.0: resolution: {integrity: sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@sinclair/typebox': 0.27.8 dev: true - optional: true /@jest/source-map/27.5.1: resolution: {integrity: sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==} @@ -2433,18 +2442,6 @@ packages: chalk: 4.1.2 dev: true - /@jest/types/29.4.2: - resolution: {integrity: sha512-CKlngyGP0fwlgC1BRUtPZSiWLBhyS9dKwKmyGxk8Z6M82LBEGB2aLQSg+U1MyLsU+M7UjnlLllBM2BLWKVm/Uw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/schemas': 29.4.2 - '@types/istanbul-lib-coverage': 2.0.3 - '@types/istanbul-reports': 3.0.0 - '@types/node': 14.6.4 - '@types/yargs': 17.0.22 - chalk: 4.1.2 - dev: true - /@jest/types/29.6.1: resolution: {integrity: sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -2456,7 +2453,6 @@ packages: '@types/yargs': 17.0.22 chalk: 4.1.2 dev: true - optional: true /@jridgewell/gen-mapping/0.3.2: resolution: {integrity: sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==} @@ -2507,6 +2503,13 @@ packages: '@jridgewell/sourcemap-codec': 1.4.14 dev: true + /@ljharb/through/2.3.11: + resolution: {integrity: sha512-ccfcIDlogiXNq5KcbAwbaO7lMh3Tm1i3khMPYpxlK8hH/W53zN81KM9coerRLOnTGu3nfXIniAmQbRI9OxbC0w==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + dev: true + /@mdn/browser-compat-data/4.1.4: resolution: {integrity: sha512-GT+WV0p/3Y90zfyv3alYZykqkySbFxq6lJcK1RMnaoPoA6RGrbXwOnOhD9RPw+Jy6IKdzfUjvtXvrep+qkwwrQ==} dev: true @@ -2603,9 +2606,9 @@ packages: resolution: {integrity: sha512-oZLYFEAzUKyi3SKnXvj32ZCEGH6RDnao7COuCVhDydMS9NrCSVXhM79VaKyP5+Zc33m0QXEd2DN3UkU7OsHcfw==} dev: true - /@puppeteer/browsers/1.3.0_typescript@4.6.2: - resolution: {integrity: sha512-an3QdbNPkuU6qpxpbssxAbjRLJcF+eP4L8UqIY3+6n0sbaVxw5pz7PiCLy9g32XEZuoamUlV5ZQPnA6FxvkIHA==} - engines: {node: '>=16.0.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' @@ -2615,11 +2618,9 @@ packages: dependencies: debug: 4.3.4 extract-zip: 2.0.1 - http-proxy-agent: 5.0.0 - https-proxy-agent: 5.0.1 progress: 2.0.3 - proxy-from-env: 1.1.0 - tar-fs: 2.1.1 + proxy-agent: 6.3.0 + tar-fs: 3.0.4 typescript: 4.6.2 unbzip2-stream: 1.4.3 yargs: 17.7.1 @@ -2627,6 +2628,22 @@ packages: - supports-color dev: true + /@puppeteer/browsers/1.7.1: + resolution: {integrity: sha512-nIb8SOBgDEMFY2iS2MdnUZOg2ikcYchRrBoF+wtdjieRFKR2uGRipHY/oFLo+2N6anDualyClPzGywTHRGrLfw==} + engines: {node: '>=16.3.0'} + hasBin: true + dependencies: + debug: 4.3.4 + extract-zip: 2.0.1 + progress: 2.0.3 + proxy-agent: 6.3.1 + tar-fs: 3.0.4 + unbzip2-stream: 1.4.3 + yargs: 17.7.1 + 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'} @@ -2707,14 +2724,9 @@ packages: picomatch: 2.3.1 dev: true - /@sinclair/typebox/0.25.21: - resolution: {integrity: sha512-gFukHN4t8K4+wVC+ECqeqwzBDeFeTzBXroBTqE6vcWrQGbEUpHO7LYdG0f4xnvYq4VOEwITSlHlp0JBAIFMS/g==} - dev: true - /@sinclair/typebox/0.27.8: resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} dev: true - optional: true /@sindresorhus/is/0.7.0: resolution: {integrity: sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==} @@ -2764,7 +2776,7 @@ packages: resolution: {integrity: sha512-PyRA9sm1Yayuj5OIoJ1hGt2YISX45w9WcFbh6ddT0Z/0yaFxOtGLInr4jUfU1EAFVs0Yfyfev4RNwBlUaHdlDQ==} engines: {node: '>=10'} dependencies: - defer-to-connect: 2.0.0 + defer-to-connect: 2.0.1 /@szmarczak/http-timer/5.0.1: resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==} @@ -2782,9 +2794,8 @@ packages: engines: {node: '>= 6'} dev: true - /@tootallnate/once/2.0.0: - resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} - engines: {node: '>= 10'} + /@tootallnate/quickjs-emscripten/0.23.0: + resolution: {integrity: sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==} dev: true /@tsconfig/node10/1.0.8: @@ -2835,7 +2846,7 @@ packages: /@types/cacheable-request/6.0.1: resolution: {integrity: sha512-ykFq2zmBGOCbpIXtoVbz4SKY5QriWPh3AjyU4G74RYbtt5yOc5OfaY75ftjg7mikMOla1CTGpX3lLbuJh8DTrQ==} dependencies: - '@types/http-cache-semantics': 4.0.0 + '@types/http-cache-semantics': 4.0.1 '@types/keyv': 3.1.1 '@types/node': 14.6.4 '@types/responselike': 1.0.0 @@ -2868,12 +2879,8 @@ packages: '@types/node': 14.6.4 dev: true - /@types/http-cache-semantics/4.0.0: - resolution: {integrity: sha512-c3Xy026kOF7QOTn00hbIllV1dLR9hG9NkSrLQgCVs8NF6sBU+VGWjD3wLPhmh1TYAc7ugCFsvHYMN4VcBN1U1A==} - /@types/http-cache-semantics/4.0.1: resolution: {integrity: sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==} - dev: true /@types/istanbul-lib-coverage/2.0.3: resolution: {integrity: sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==} @@ -2937,10 +2944,6 @@ packages: resolution: {integrity: sha512-Pf8M1XD9i1ksZEcCP8vuSNwooJ/bZapNmIzpmsMaL+jMI+8mEYU3PKvs+xDNuQcJWF/x24WzY4qxLtB0zNow9A==} dev: true - /@types/node/18.13.0: - resolution: {integrity: sha512-gC3TazRzGoOnoKAhUx+Q0t8S9Tzs74z7m0ipwGpSqQrleP14hKxP4/JUeEQcD3W1/aIpnWl8pHowI7WokuZpXg==} - dev: true - /@types/node/20.3.3: resolution: {integrity: sha512-wheIYdr4NYML61AjC8MKj/2jrR/kDQri/CIpVoZwldwhnIrD/j9jIU5bJ8yBKuB2VhpFV7Ab6G2XkBjv9r9Zzw==} dev: true @@ -2996,8 +2999,8 @@ packages: resolution: {integrity: sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==} dev: true - /@types/split2/3.2.1: - resolution: {integrity: sha512-7uz3yU+LooBq4yNOzlZD9PU9/1Eu0rTD1MjQ6apOVEoHsPrMUrFw7W8XrvWtesm2vK67SBK9AyJcOXtMpl9bgQ==} + /@types/split2/4.2.1: + resolution: {integrity: sha512-QwkIwu4daHHpmRYhKIUxQjpVKxKMAniJOiu50ST7vHzFQFrvtGj3d8BJZfqgkAEir/oOcgg43WX5G2VHC6NFtw==} dependencies: '@types/node': 14.6.4 dev: true @@ -3216,150 +3219,118 @@ packages: weakmap-polyfill: 2.0.4 dev: false - /@wdio/cli/8.3.5_typescript@4.6.2: - resolution: {integrity: sha512-xg/03aYpMCEWdcc9dY/GmPePfzTR/yMRJLwtp5WWYrCl6eEAeViSpf4PLC6ieC5O6IMLWVR/2Os8DrC5PKQq/Q==} + /@wdio/cli/8.18.2_typescript@4.6.2: + resolution: {integrity: sha512-vjMedd7PEHZywxbRE/rHzAPbj+hsCJz5b7vPTXu9QuwH2wWU2ab79ZqQpaUMKwZx8yXJfG6neb89tEbF9ximqQ==} engines: {node: ^16.13 || >=18} hasBin: true dependencies: - '@types/node': 18.13.0 - '@wdio/config': 8.3.2 - '@wdio/globals': 8.3.5_typescript@4.6.2 - '@wdio/logger': 8.1.0 - '@wdio/protocols': 8.3.5 - '@wdio/types': 8.3.0 - '@wdio/utils': 8.3.0 + '@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 async-exit-hook: 2.0.1 chalk: 5.2.0 chokidar: 3.5.3 - cli-spinners: 2.7.0 - ejs: 3.1.8 - execa: 6.1.0 - import-meta-resolve: 2.2.1 - inquirer: 9.1.2 + 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 lodash.flattendeep: 4.4.0 lodash.pickby: 4.6.0 lodash.union: 4.6.0 - mkdirp: 2.1.3 - read-pkg-up: 9.1.0 - recursive-readdir: 2.2.2 - webdriverio: 8.3.5 - yargs: 17.6.2 + read-pkg-up: 10.1.0 + recursive-readdir: 2.2.3 + webdriverio: 8.18.2_typescript@4.6.2 + yargs: 17.7.2 yarn-install: 1.0.0 transitivePeerDependencies: - bufferutil + - devtools - encoding - supports-color - typescript - utf-8-validate dev: true - /@wdio/config/8.11.0: - resolution: {integrity: sha512-nBQXsXbPCjddtI/3rAK5yFs3eD3f0T3lZMivweTkLLR7GKBxGjiFoBjXtfqUrHJYa+2uwfXrwxo6y+dA6fVbuw==} + /@wdio/config/8.18.2: + resolution: {integrity: sha512-O3K36Wk/G/P5t9NfI/jBjLMdJq1KEDQTmbLvrbRckqzX5SQmPFg2pg18gE9N3JQE4A7qR+imxVo45HmhFDyn4w==} engines: {node: ^16.13 || >=18} dependencies: - '@wdio/logger': 8.11.0 - '@wdio/types': 8.10.4 - '@wdio/utils': 8.11.0 + '@wdio/logger': 8.16.17 + '@wdio/types': 8.17.0 + '@wdio/utils': 8.18.2 decamelize: 6.0.0 deepmerge-ts: 5.1.0 glob: 10.3.1 import-meta-resolve: 3.0.0 - read-pkg-up: 9.1.0 - dev: true - - /@wdio/config/8.3.2: - resolution: {integrity: sha512-lLZh53MorYRxAr08x2o6B1npRgc5ZmGEGdzH2neILnVcs/x3fQV9uFKpC9sKtMmU8B0G0oMUSoIaj8GfqygcNQ==} - engines: {node: ^16.13 || >=18} - dependencies: - '@wdio/logger': 8.1.0 - '@wdio/types': 8.3.0 - '@wdio/utils': 8.3.0 - decamelize: 6.0.0 - deepmerge-ts: 4.3.0 - glob: 8.1.0 - import-meta-resolve: 2.2.1 - read-pkg-up: 9.1.0 - dev: true - - /@wdio/globals/8.11.2_typescript@4.6.2: - resolution: {integrity: sha512-oaPyGLmWOHQLYtT6Jn3mtZBSYyWxau6ncBDLPJDUwOxufi3tfT9DOen+65OGBK55GfjrCAZOSGAJ13mN/swIQQ==} - engines: {node: ^16.13 || >=18} - optionalDependencies: - expect-webdriverio: 4.2.6_typescript@4.6.2 - webdriverio: 8.11.2_typescript@4.6.2 + read-pkg-up: 10.1.0 transitivePeerDependencies: - - bufferutil - - encoding - supports-color - - typescript - - utf-8-validate dev: true - /@wdio/globals/8.3.5_typescript@4.6.2: - resolution: {integrity: sha512-w8JZ2seRMe9iPfMYCiKHT1LJIZBUhgT+2ROBDd4ZUP75RzyC0ayZn9CqA6sNCPL6Iq0DSgpqx0U7YVJQCwzwMA==} + /@wdio/globals/8.18.2_typescript@4.6.2: + resolution: {integrity: sha512-hHZqqWlvEaVHru+e5bMXsTBbPqKi85JO5q2XKX+ixS4XWoZXoMjN5WzL/3N9GkF2mJqIkyb9DHUT0T2vvf3oNA==} engines: {node: ^16.13 || >=18} optionalDependencies: expect-webdriverio: 4.2.6_typescript@4.6.2 - webdriverio: 8.3.5 + webdriverio: 8.18.2_typescript@4.6.2 transitivePeerDependencies: - bufferutil + - devtools - encoding - supports-color - typescript - utf-8-validate dev: true - /@wdio/jasmine-framework/8.3.5_typescript@4.6.2: - resolution: {integrity: sha512-HOWq5/nsvkFwx5OJ7ZxmCLTA80k9jVOU/5eImaI3b0b5Ewy6WOtEnQi6B1F+i8X7/G+QRotPk4qZeht/Y1NIyQ==} + /@wdio/jasmine-framework/8.18.2_typescript@4.6.2: + resolution: {integrity: sha512-NB4U75PX6ZaVmskSHZriSFSFSEUqmzSjlZpjC0gm/an/FZGxeMflJlHLO8E8T2T8/xsYiWuin0OywFfPK/9anA==} engines: {node: ^16.13 || >=18} dependencies: - '@types/node': 18.13.0 - '@wdio/globals': 8.3.5_typescript@4.6.2 - '@wdio/logger': 8.1.0 - '@wdio/types': 8.3.0 - '@wdio/utils': 8.3.0 - expect-webdriverio: 4.1.1_typescript@4.6.2 - jasmine: 4.5.0 + '@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 + jasmine: 5.1.0 transitivePeerDependencies: - bufferutil + - devtools - encoding - supports-color - typescript - utf-8-validate dev: true - /@wdio/local-runner/8.3.5_typescript@4.6.2: - resolution: {integrity: sha512-Sg53i8KHAgvc55VsAZ7uZC/IQ5uPtlOY5rKY+XCjemQ5Y3KqqMxHc+X4VFmlsflB43K9CWzizkzq2ukctqKDXQ==} + /@wdio/local-runner/8.18.2_typescript@4.6.2: + resolution: {integrity: sha512-W5QRXmH+MngHEVktsX6WXyoP/WI3mSlN66E1xGYLtMVwPhp3wMXDIrk1K/0UCAViX7lQ3tvo0B2QoZhsAXVT+A==} engines: {node: ^16.13 || >=18} dependencies: - '@types/node': 18.13.0 - '@wdio/logger': 8.1.0 - '@wdio/repl': 8.1.0 - '@wdio/runner': 8.3.5_typescript@4.6.2 - '@wdio/types': 8.3.0 + '@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 async-exit-hook: 2.0.1 - split2: 4.1.0 + split2: 4.2.0 stream-buffers: 3.0.2 transitivePeerDependencies: - bufferutil + - devtools - encoding - supports-color - typescript - utf-8-validate dev: true - /@wdio/logger/8.1.0: - resolution: {integrity: sha512-QRC5b7FF4JIYUCqggnVA0sZ80TwIUFN9JyBSbuGuMxaSLSLujSo7WfuSrnQXVvsRbnJ16wWwJWYigfLkxOW86Q==} - engines: {node: ^16.13 || >=18} - dependencies: - chalk: 5.2.0 - loglevel: 1.7.1 - loglevel-plugin-prefix: 0.8.4 - strip-ansi: 6.0.1 - dev: true - - /@wdio/logger/8.11.0: - resolution: {integrity: sha512-IsuKSaYi7NKEdgA57h8muzlN/MVp1dQG+V4C//7g4m03YJUnNQLvDhJzLjdeNTfvZy61U7foQSyt+3ktNzZkXA==} + /@wdio/logger/8.16.17: + resolution: {integrity: sha512-zeQ41z3T+b4IsrriZZipayXxLNDuGsm7TdExaviNGojPVrIsQUCSd/FvlLHM32b7ZrMyInHenu/zx1cjAZO71g==} engines: {node: ^16.13 || >=18} dependencies: chalk: 5.2.0 @@ -3368,19 +3339,8 @@ packages: strip-ansi: 7.1.0 dev: true - /@wdio/protocols/8.11.0: - resolution: {integrity: sha512-eXTMYt/XoaX53H/Q2qmsn1uWthIC5aSTGtX9YyXD/AkagG2hXeX3lLmzNWBaSIvKR+vWXRYbg3Y/7IvL2s25Wg==} - dev: true - - /@wdio/protocols/8.3.5: - resolution: {integrity: sha512-/zWz+ok6gIB1/L/VEOCoD8nCB8inNF+rsVOYps3FgNbrliQ782YLfA1uAVJTw3U6CaO+7zZ8aJw82EswpoxWjg==} - dev: true - - /@wdio/repl/8.1.0: - resolution: {integrity: sha512-96G4TzbYnRf95+GURo15FYt6iTYq85nbWU6YQedLRAV15RfSp4foKTbAnq++bKKMALNL6gdzTc+HGhQr3Q0sQg==} - engines: {node: ^16.13 || >=18} - dependencies: - '@types/node': 18.13.0 + /@wdio/protocols/8.18.0: + resolution: {integrity: sha512-TABA0mksHvu5tE8qNYYDR0fDyo90NCANeghbGAtsI8TUsJzgH0dwpos3WSSiB97J9HRSZuWIMa7YuABEkBIjWQ==} dev: true /@wdio/repl/8.10.1: @@ -3390,129 +3350,127 @@ packages: '@types/node': 20.3.3 dev: true - /@wdio/reporter/8.3.0: - resolution: {integrity: sha512-SCI6YXMDOs+rIDXUqaQYncv3SAcMPU9nQKGCLWjtZXsYHYlLZMT/PaFy7lWyebsObiRAKJYayXOqG7ymS6hDzA==} + /@wdio/reporter/8.17.0: + resolution: {integrity: sha512-U4GMgHjH+mgtwKUXHk1fYsIwET0NUvC5efWN8z/pSyzc93iHHzl1cY4FSAjND6KTnPFpxJB+3EamgQRpC2P92Q==} engines: {node: ^16.13 || >=18} dependencies: - '@types/node': 18.13.0 - '@wdio/logger': 8.1.0 - '@wdio/types': 8.3.0 + '@types/node': 20.3.3 + '@wdio/logger': 8.16.17 + '@wdio/types': 8.17.0 diff: 5.0.0 object-inspect: 1.12.0 - supports-color: 9.3.1 dev: true - /@wdio/runner/8.3.5_typescript@4.6.2: - resolution: {integrity: sha512-W0h1U90zGFmYvqfWsmtb3myDqFsHhHy6z9ngQDLOCKg6iwKWFvMW2Db3BJ1D641/lA2dRWFH5XklQqD6trsydg==} + /@wdio/runner/8.18.2_typescript@4.6.2: + resolution: {integrity: sha512-UPfvKA9yunEadHHDZwveZmKL0ayHDCkUegzUzgHFYmhnijUAa1Xeo837NpBe9y753TWt5PgRA4BIXSDlxJ9ySA==} engines: {node: ^16.13 || >=18} dependencies: - '@types/node': 18.13.0 - '@wdio/config': 8.3.2 - '@wdio/globals': 8.3.5_typescript@4.6.2 - '@wdio/logger': 8.1.0 - '@wdio/types': 8.3.0 - '@wdio/utils': 8.3.0 - deepmerge-ts: 4.3.0 - expect-webdriverio: 4.1.1_typescript@4.6.2 + '@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 + deepmerge-ts: 5.1.0 + expect-webdriverio: 4.2.6_typescript@4.6.2 gaze: 1.1.3 - webdriver: 8.3.5 - webdriverio: 8.3.5 + webdriver: 8.18.2 + webdriverio: 8.18.2_typescript@4.6.2 transitivePeerDependencies: - bufferutil + - devtools - encoding - supports-color - typescript - utf-8-validate dev: true - /@wdio/sauce-service/8.3.5: - resolution: {integrity: sha512-KC4akZf3KlV5E2dikcVAbxzIY+XfexjomDD/2EzrvOtkZzSLwAHZ7aNzLBWrmYxFPDBjj34a/AenWGKSBpko1A==} + /@wdio/sauce-service/8.18.2_typescript@4.6.2: + resolution: {integrity: sha512-lKSWJGrpqb0BBOCko8uf/aKu3jsLeJ3E3dZL/D97amVH7oXTo2XOWr3n8mbSxkJjEFRW3CtbQ9FgXVAcNmnVuQ==} engines: {node: ^16.13 || >=18} dependencies: - '@wdio/logger': 8.1.0 - '@wdio/types': 8.3.0 - '@wdio/utils': 8.3.0 + '@wdio/logger': 8.16.17 + '@wdio/types': 8.17.0 + '@wdio/utils': 8.18.2 ip: 1.1.8 - saucelabs: 7.2.0 - webdriverio: 8.3.5 + saucelabs: 7.2.2 + webdriverio: 8.18.2_typescript@4.6.2 transitivePeerDependencies: - bufferutil + - devtools - encoding - supports-color + - typescript - utf-8-validate dev: true - /@wdio/shared-store-service/8.11.2_typescript@4.6.2: - resolution: {integrity: sha512-NLt7HFmHfe43yfG1QymWcUSzUxe9j5Wq9ak/N7Q9MYJXZoqGiMi4pXuYVVmbaFC6/QPT1Ix6yssFo3cKIT8oUA==} + /@wdio/shared-store-service/8.18.2_typescript@4.6.2: + resolution: {integrity: sha512-zxbPVP/YAU4ZhqPeusUtAMvXWrT2xKtEcWTRWrvh42xzPQ0JIMx0GLMxatP+zyhciUIsT4yLEXTugX+sGiLrLQ==} engines: {node: ^16.13 || >=18} dependencies: '@polka/parse': 1.0.0-next.0 - '@wdio/logger': 8.11.0 - '@wdio/types': 8.10.4 + '@wdio/logger': 8.16.17 + '@wdio/types': 8.17.0 got: 12.6.1 polka: 0.5.2 - webdriverio: 8.11.2_typescript@4.6.2 + webdriverio: 8.18.2_typescript@4.6.2 transitivePeerDependencies: - bufferutil + - devtools - encoding - supports-color - typescript - utf-8-validate dev: true - /@wdio/spec-reporter/8.3.0: - resolution: {integrity: sha512-2K+qMNM5rYMCJdw5M3H6XfXUkto/jLnE2GgAI7VoTo6mZVOGGCRRPVtCa7NR/asWF+P0iBl9PJbPFv2/TzV59A==} + /@wdio/spec-reporter/8.18.1: + resolution: {integrity: sha512-p6l8mR7K+l66QJl/m+sV9ahCp570ThaqxLc3npYDt5N4ut/qqDgqnwVU3qt0kwx/QMLrYLiXjjMKXqs6DkJTiA==} engines: {node: ^16.13 || >=18} dependencies: - '@wdio/reporter': 8.3.0 - '@wdio/types': 8.3.0 + '@wdio/reporter': 8.17.0 + '@wdio/types': 8.17.0 chalk: 5.2.0 easy-table: 1.2.0 pretty-ms: 7.0.1 dev: true - /@wdio/static-server-service/8.3.0: - resolution: {integrity: sha512-kh77zj+Zz4W/EnhnmlHnWjEhj0W0fVL6kXh0AeH/SGHTfiI7o8NdJa8e0yjr8Dh5mCUZuvBp4eIU1Ull25qhfg==} + /@wdio/static-server-service/8.17.0: + resolution: {integrity: sha512-EzivlQDF2/P5jqlp4+0PjwrVSkMAHtoXwcDfA+nabVyoxW/F6tHvooKGOL7gWQhO+T5C5JwMUmsF00KldHkZow==} engines: {node: ^16.13 || >=18} dependencies: - '@wdio/logger': 8.1.0 - '@wdio/types': 8.3.0 + '@wdio/logger': 8.16.17 + '@wdio/types': 8.17.0 express: 4.17.1 morgan: 1.10.0 dev: true - /@wdio/types/8.10.4: - resolution: {integrity: sha512-aLJ1QQW+hhALeRK3bvMLjIrlUVyhOs3Od+91pR4Z4pLwyeNG1bJZCJRD5bAJK/mm7CnFa0NsdixPS9jJxZcRrw==} + /@wdio/types/8.17.0: + resolution: {integrity: sha512-OkIpr5iHcwFXQpr4csXsiQ/WelX+Dhz/A8STFzoDQFYxMlR3nzm/S+Q1P4UoJfyhrNWlsFpLhShGK1cn+XUE5Q==} engines: {node: ^16.13 || >=18} dependencies: '@types/node': 20.3.3 dev: true - /@wdio/types/8.3.0: - resolution: {integrity: sha512-TTs3ETVOJtooTIY/u2+feeBnMBx2Hb4SEItN31r0pFncn37rnIZXE/buywLNf5wvZW9ukxoCup5hCnohOR27eQ==} + /@wdio/utils/8.18.2: + resolution: {integrity: sha512-TQrrKv+knFn4Z/T/e/+wdnBoykNBg6rfo0NsAwaWh4PbJ1tf+Dc9GjzWhvJTgHwZf4v78K8Z+77qkqoLCF1wSg==} engines: {node: ^16.13 || >=18} dependencies: - '@types/node': 18.13.0 - dev: true - - /@wdio/utils/8.11.0: - resolution: {integrity: sha512-XBl1zalk5UPu8QKZ7LZIA82Ad363fpNHZHP5uI5OxUFnk4ZPWgY9eCWpeD+4f9a0DS0w2Dro15E4PORNX84pIw==} - engines: {node: ^16.13 || >=18} - dependencies: - '@wdio/logger': 8.11.0 - '@wdio/types': 8.10.4 + '@puppeteer/browsers': 1.7.1 + '@wdio/logger': 8.16.17 + '@wdio/types': 8.17.0 + decamelize: 6.0.0 + deepmerge-ts: 5.1.0 + edgedriver: 5.3.8 + geckodriver: 4.2.1 + get-port: 7.0.0 + got: 13.0.0 import-meta-resolve: 3.0.0 - p-iteration: 1.1.8 - dev: true - - /@wdio/utils/8.3.0: - resolution: {integrity: sha512-BbgzxAu4AN99l9hwaRUvkvBJLeIxON7F6ts+vq4LASRiGVRErrwYGeO9H3ffYgpCAaYSvXnw2GtOf2SQGaPoLA==} - engines: {node: ^16.13 || >=18} - dependencies: - '@wdio/logger': 8.1.0 - '@wdio/types': 8.3.0 - import-meta-resolve: 2.2.1 - p-iteration: 1.1.8 + locate-app: 2.1.0 + safaridriver: 0.1.0 + split2: 4.2.0 + wait-port: 1.0.4 + transitivePeerDependencies: + - supports-color dev: true /@wessberg/stringutil/1.0.19: @@ -3593,6 +3551,15 @@ packages: - supports-color dev: true + /agent-base/7.1.0: + resolution: {integrity: sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==} + engines: {node: '>= 14'} + dependencies: + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + dev: true + /agentkeepalive/4.2.1: resolution: {integrity: sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA==} engines: {node: '>= 8.0.0'} @@ -3642,11 +3609,11 @@ packages: type-fest: 0.11.0 dev: true - /ansi-escapes/5.0.0: - resolution: {integrity: sha512-5GFMVX8HqE/TB+FuBJGuO5XG0WrsA6ptUqoODaT/n9mmUaZFkqnBueB4leqGBCmrUHnCnC4PCZTCd0E7QQ83bA==} - engines: {node: '>=12'} + /ansi-escapes/4.3.2: + resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} + engines: {node: '>=8'} dependencies: - type-fest: 1.4.0 + type-fest: 0.21.3 dev: true /ansi-regex/2.1.1: @@ -3712,33 +3679,29 @@ packages: file-type: 4.4.0 dev: true - /archiver-utils/2.1.0: - resolution: {integrity: sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==} - engines: {node: '>= 6'} + /archiver-utils/4.0.1: + resolution: {integrity: sha512-Q4Q99idbvzmgCTEAAhi32BkOyq8iVI5EwdO0PmBDSGIzzjYNdcFn7Q7k3OzbLy4kLUPXfJtG6fO2RjftXbobBg==} + engines: {node: '>= 12.0.0'} dependencies: - glob: 7.2.0 + glob: 8.1.0 graceful-fs: 4.2.9 lazystream: 1.0.0 - lodash.defaults: 4.2.0 - lodash.difference: 4.5.0 - lodash.flatten: 4.4.0 - lodash.isplainobject: 4.0.6 - lodash.union: 4.6.0 + lodash: 4.17.21 normalize-path: 3.0.0 - readable-stream: 2.3.7 + readable-stream: 3.6.0 dev: true - /archiver/5.1.0: - resolution: {integrity: sha512-iKuQUP1nuKzBC2PFlGet5twENzCfyODmvkxwDV0cEFXavwcLrIW5ssTuHi9dyTPvpWr6Faweo2eQaQiLIwyXTA==} - engines: {node: '>= 10'} + /archiver/6.0.1: + resolution: {integrity: sha512-CXGy4poOLBKptiZH//VlWdFuUC1RESbdZjGjILwBuZ73P7WkAUN0htfSfBq/7k6FRFlpu7bg4JOkj1vU9G6jcQ==} + engines: {node: '>= 12.0.0'} dependencies: - archiver-utils: 2.1.0 - async: 3.2.0 + archiver-utils: 4.0.1 + async: 3.2.4 buffer-crc32: 0.2.13 readable-stream: 3.6.0 - readdir-glob: 1.1.1 - tar-stream: 2.1.4 - zip-stream: 4.0.4 + readdir-glob: 1.1.3 + tar-stream: 3.1.6 + zip-stream: 5.0.1 dev: true /are-we-there-yet/1.1.7: @@ -3802,15 +3765,18 @@ packages: engines: {node: '>=0.8'} dev: true + /ast-types/0.13.4: + resolution: {integrity: sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==} + engines: {node: '>=4'} + dependencies: + tslib: 2.3.1 + dev: true + /async-exit-hook/2.0.1: resolution: {integrity: sha512-NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw==} engines: {node: '>=0.12.0'} dev: true - /async/3.2.0: - resolution: {integrity: sha512-TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw==} - dev: true - /async/3.2.4: resolution: {integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==} dev: true @@ -3896,6 +3862,10 @@ packages: - debug dev: true + /b4a/1.6.4: + resolution: {integrity: sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==} + dev: true + /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} @@ -3984,6 +3954,11 @@ packages: 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 + /bcrypt-pbkdf/1.0.2: resolution: {integrity: sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=} dependencies: @@ -4014,22 +3989,14 @@ packages: safe-buffer: 5.2.1 dev: true - /bl/4.0.3: - resolution: {integrity: sha512-fs4G6/Hu4/EE+F75J8DuN/0IpQqNjAdC7aEQv7Qt8MHGUH7Ckv2MwTEEeN9QehD0pfIDkMI1bkHYkKy7xHyKIg==} + /bl/4.1.0: + resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} dependencies: buffer: 5.7.1 inherits: 2.0.4 readable-stream: 3.6.0 dev: true - /bl/5.1.0: - resolution: {integrity: sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==} - dependencies: - buffer: 6.0.3 - inherits: 2.0.4 - readable-stream: 3.6.0 - dev: true - /bluebird/3.4.7: resolution: {integrity: sha512-iD3898SR7sWVRHbiQv+sHUtHnMvC1o3nW5rAcqnq3uOn07DSAppZYUkIGslDz6gXC7HfunPe7YVBgoEJASPcHA==} dev: true @@ -4187,13 +4154,6 @@ 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'} @@ -4220,7 +4180,7 @@ packages: camelcase-keys: 3.0.0 chalk: 1.1.3 indent-string: 3.2.0 - minimist: 1.2.5 + minimist: 1.2.8 read-pkg-up: 1.0.1 suffix: 0.1.1 text-table: 0.2.0 @@ -4272,19 +4232,6 @@ packages: responselike: 3.0.0 dev: true - /cacheable-request/10.2.7: - resolution: {integrity: sha512-I4SA6mKgDxcxVbSt/UmIkb9Ny8qSkg6ReBHtAAXnZHk7KOSx5g3DTiAOaYzcHCs6oOdHn+bip9T48E6tMvK9hw==} - engines: {node: '>=14.16'} - dependencies: - '@types/http-cache-semantics': 4.0.1 - get-stream: 6.0.1 - http-cache-semantics: 4.1.1 - keyv: 4.5.2 - mimic-response: 4.0.0 - normalize-url: 8.0.0 - responselike: 3.0.0 - dev: true - /cacheable-request/2.1.4: resolution: {integrity: sha512-vag0O2LKZ/najSoUwDbVlnlCFvhBE/7mGTY2B5FgCBDcRD+oVV1HYTOwM6JZfMg/hIcM6IwnTZ1uQQL5/X3xIQ==} dependencies: @@ -4303,8 +4250,8 @@ packages: dependencies: clone-response: 1.0.2 get-stream: 5.2.0 - http-cache-semantics: 4.1.0 - keyv: 4.0.3 + http-cache-semantics: 4.1.1 + keyv: 4.5.2 lowercase-keys: 2.0.0 normalize-url: 6.1.0 responselike: 2.0.0 @@ -4326,13 +4273,6 @@ packages: engines: {node: '>=12.20'} dev: true - /camaro/6.2.0: - resolution: {integrity: sha512-81zTKgZb2LnkZKtLbIqLqBzQ6stWSlWC3I/lZd5u4NJVljDgMcsZqn9zZ+Yij/yNyiVpko0EhOKdYa6YAbOWrA==} - engines: {node: '>= 12.0.0'} - dependencies: - piscina: 3.2.0 - dev: true - /camel-case/4.1.2: resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} dependencies: @@ -4430,6 +4370,11 @@ packages: 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 + /change-case/4.1.2: resolution: {integrity: sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A==} dependencies: @@ -4484,17 +4429,6 @@ packages: engines: {node: '>=10'} dev: true - /chrome-launcher/0.15.0: - resolution: {integrity: sha512-ZQqX5kb9H0+jy1OqLnWampfocrtSZaGl7Ny3F9GRha85o4odbL8x55paUzh51UC7cEmZ5obp3H2Mm70uC2PpRA==} - engines: {node: '>=12.13.0'} - hasBin: true - dependencies: - '@types/node': 14.6.4 - escape-string-regexp: 4.0.0 - is-wsl: 2.2.0 - lighthouse-logger: 1.2.0 - dev: true - /chromedriver/114.0.2: resolution: {integrity: sha512-v0qrXRBknbxqmtklG7RWOe3TJ/dLaHhtB0jVxE7BAdYERxUjEaNRyqBwoGgVfQDibHCB0swzvzsj158nnfPgZw==} engines: {node: '>=16'} @@ -4513,12 +4447,12 @@ packages: - supports-color dev: true - /chromium-bidi/0.4.9_devtools-protocol@0.0.1120988: - resolution: {integrity: sha512-u3DC6XwgLCA9QJ5ak1voPslCmacQdulZNCPsI3qNXxSnEcZS7DFIbww+5RM2bznMEje7cc0oydavRLRvOIZtHw==} + /chromium-bidi/0.4.16_devtools-protocol@0.0.1147663: + resolution: {integrity: sha512-7ZbXdWERxRxSwo3txsBjjmc/NLxqb1Bk30mRb0BMS4YIaiV6zvKZqL/UAH+DdqcDYayDWk2n/y8klkBDODrPvA==} peerDependencies: devtools-protocol: '*' dependencies: - devtools-protocol: 0.0.1120988 + devtools-protocol: 0.0.1147663 mitt: 3.0.0 dev: true @@ -4564,15 +4498,15 @@ packages: engines: {node: '>=6'} dev: true - /cli-cursor/4.0.0: - resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + /cli-cursor/3.1.0: + resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} + engines: {node: '>=8'} dependencies: - restore-cursor: 4.0.0 + restore-cursor: 3.1.0 dev: true - /cli-spinners/2.7.0: - resolution: {integrity: sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==} + /cli-spinners/2.9.1: + resolution: {integrity: sha512-jHgecW0pxkonBJdrKsqxgRX9AcG+u/5k0Q7WPDfi8AogLAdwxEkyYYNWwZ5GvVFoFx2uiY1eNcSK00fh+1+FyQ==} engines: {node: '>=6'} dev: true @@ -4584,8 +4518,8 @@ packages: string-width: 5.1.0 dev: true - /cli-width/4.0.0: - resolution: {integrity: sha512-ZksGS2xpa/bYkNzN3BAw1wEjsLV/ZKOf/CCrJ/QOBsxx6fOARIkwTutxp1XIOIohi6HKmOFjMoK/XaqDVUpEEw==} + /cli-width/4.1.0: + resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==} engines: {node: '>= 12'} dev: true @@ -4612,7 +4546,7 @@ packages: dev: true /clone-response/1.0.2: - resolution: {integrity: sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=} + resolution: {integrity: sha512-yjLXh88P599UOyPTFX0POsd7WxnbsVsGohcwzHOLspIhhpalPw1BcqED8NblyZLKcGrL8dTgMlcaZxV2jAD41Q==} dependencies: mimic-response: 1.0.1 @@ -4727,16 +4661,31 @@ packages: typescript: 4.6.2 dev: true - /compress-commons/4.0.2: - resolution: {integrity: sha512-qhd32a9xgzmpfoga1VQEiLEwdKZ6Plnpx5UCgIsf89FSolyJ7WnifY4Gtjgv5WR6hWAyRaHxC5MiEhU/38U70A==} - engines: {node: '>= 10'} + /compress-commons/5.0.1: + resolution: {integrity: sha512-MPh//1cERdLtqwO3pOFLeXtpuai0Y2WCd5AhtKxznqM7WtaMYaOEMSgn45d9D10sIHSfIKE603HlOp8OPGrvag==} + engines: {node: '>= 12.0.0'} dependencies: - buffer-crc32: 0.2.13 - crc32-stream: 4.0.1 + crc-32: 1.2.0 + crc32-stream: 5.0.0 normalize-path: 3.0.0 readable-stream: 3.6.0 dev: true + /compressing/1.10.0: + resolution: {integrity: sha512-k2vpbZLaJoHe9euyUZjYYE8vOrbR19aU3HcWIYw5EBXiUs34ygfDVnXU+ubI41JXMriHutnoiu0ZFdwCkH6jPA==} + engines: {node: '>= 4.0.0'} + dependencies: + '@eggjs/yauzl': 2.11.0 + flushwritable: 1.0.0 + get-ready: 1.0.0 + iconv-lite: 0.5.2 + mkdirp: 0.5.6 + pump: 3.0.0 + 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 @@ -4821,9 +4770,9 @@ packages: printj: 1.1.2 dev: true - /crc32-stream/4.0.1: - resolution: {integrity: sha512-FN5V+weeO/8JaXsamelVYO1PHyeCsuL3HcG4cqsj0ceARcocxalaShCsohZMSAF+db7UYFwBy1rARK/0oFItUw==} - engines: {node: '>= 10'} + /crc32-stream/5.0.0: + resolution: {integrity: sha512-B0EPa1UK+qnpBZpG+7FgPCu0J2ETLpXq09o9BkLkEAhdB6Z61Qo4pJ3JYu0c+Qi+/SAL7QThqnzS06pmSSyZaw==} + engines: {node: '>= 12.0.0'} dependencies: crc-32: 1.2.0 readable-stream: 3.6.0 @@ -4833,16 +4782,8 @@ packages: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} dev: true - /cross-fetch/3.1.5: - resolution: {integrity: sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==} - dependencies: - node-fetch: 2.6.7 - transitivePeerDependencies: - - encoding - dev: true - - /cross-fetch/3.1.6: - resolution: {integrity: sha512-riRvo06crlE8HiqOwIpQhxwdOk4fOeR7FVM/wXoxchFEqMNUjvbs3bfo4OTgMEMHzppd4DxFBDbyySj8Cv781g==} + /cross-fetch/4.0.0: + resolution: {integrity: sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==} dependencies: node-fetch: 2.6.12 transitivePeerDependencies: @@ -4929,6 +4870,11 @@ packages: engines: {node: '>= 12'} dev: true + /data-uri-to-buffer/6.0.1: + resolution: {integrity: sha512-MZd3VlchQkp8rdend6vrx7MmVDJzSNTBvghvKjirLkD+WTChA3KUf0jkE68Q4UyctNqI11zZO9/x2Yx+ub5Cvg==} + engines: {node: '>= 14'} + dev: true + /data-urls/2.0.0: resolution: {integrity: sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==} engines: {node: '>=10'} @@ -4996,8 +4942,8 @@ packages: resolution: {integrity: sha512-KaL7+6Fw6i5A2XSnsbhm/6B+NuEA7TZ4vqxnd5tXz9sbKtrN9Srj8ab4vKVdK8YAqZO9P1kg45Y6YLoduPf+kw==} dev: true - /decode-uri-component/0.2.0: - resolution: {integrity: sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==} + /decode-uri-component/0.2.2: + resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==} engines: {node: '>=0.10'} dev: true @@ -5075,11 +5021,6 @@ packages: resolution: {integrity: sha512-GtxAN4HvBachZzm4OnWqc45ESpUCMwkYcsjnsPs23FwJbsO+k4t0k9bQCgOmzIlpHO28+WPK/KRbRk0DDHuuDw==} dev: true - /deepmerge-ts/4.3.0: - resolution: {integrity: sha512-if3ZYdkD2dClhnXR5reKtG98cwyaRT1NeugQoAPTTfsOpV9kqyeiBF9Qa5RHjemb3KzD5ulqygv6ED3t5j9eJw==} - engines: {node: '>=12.4.0'} - dev: true - /deepmerge-ts/5.1.0: resolution: {integrity: sha512-eS8dRJOckyo9maw9Tu5O5RUi/4inFLrnoLkBe3cPfDMx3WZioXtmOew4TXQaxq7Rhl4xjDtR7c6x8nNTxOvbFw==} engines: {node: '>=16.0.0'} @@ -5096,14 +5037,9 @@ packages: clone: 1.0.4 dev: true - /defer-to-connect/2.0.0: - resolution: {integrity: sha512-bYL2d05vOSf1JEZNx5vSAtPuBMkX8K9EUutg7zlKvTqKXHt7RhWJFbmd7qakVuf13i+IkGmp6FwSsONOf6VYIg==} - engines: {node: '>=10'} - /defer-to-connect/2.0.1: resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} engines: {node: '>=10'} - dev: true /define-properties/1.1.3: resolution: {integrity: sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==} @@ -5112,6 +5048,15 @@ packages: object-keys: 1.1.1 dev: true + /degenerator/5.0.1: + resolution: {integrity: sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==} + engines: {node: '>= 14'} + 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'} @@ -5136,7 +5081,7 @@ packages: dev: true /depd/1.1.2: - resolution: {integrity: sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=} + resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} engines: {node: '>= 0.6'} dev: true @@ -5154,71 +5099,12 @@ packages: engines: {node: '>=8'} dev: true - /devtools-protocol/0.0.1082910: - resolution: {integrity: sha512-RqoZ2GmqaNxyx+99L/RemY5CkwG9D0WEfOKxekwCRXOGrDCep62ngezEJUVMq6rISYQ+085fJnWDQqGHlxVNww==} - dev: true - - /devtools-protocol/0.0.1101329: - resolution: {integrity: sha512-3ph1q/ShAKFNnc7quSsAKTKAkQW/32gR4tRNAoqVzdAbyT8PjQFW/HzVWDm5mqP7zBd9nP1nd9jA1JHTHrJCXg==} + /devtools-protocol/0.0.1147663: + resolution: {integrity: sha512-hyWmRrexdhbZ1tcJUGpO95ivbRhWXz++F4Ko+n21AY5PNln2ovoJw+8ZMNDTtip+CNFQfrtLVh/w4009dXO/eQ==} dev: true - /devtools-protocol/0.0.1120988: - resolution: {integrity: sha512-39fCpE3Z78IaIPChJsP6Lhmkbf4dWXOmzLk/KFTdRkNk/0JymRIfUynDVRndV9HoDz8PyalK1UH21ST/ivwW5Q==} - dev: true - - /devtools-protocol/0.0.1152884: - resolution: {integrity: sha512-9eP6OmCoU1cWArpXLuzyZQcBJ2PkINOh8Nwx8W5i8u6NDigDE5/mPlLLBAfshwn5YVvIz6ZQ9jbs0PZvKGccdQ==} - dev: true - - /devtools/8.11.0_typescript@4.6.2: - resolution: {integrity: sha512-j1wXFQyjswJ6doAV1+h4Bxl8+Oeb8SMpWTpBVa0DurGsxfft8sU2OhDlMo5tx/zbX82X5sGyJDMnKHqBJ2XRvQ==} - engines: {node: ^16.13 || >=18} - dependencies: - '@types/node': 20.3.3 - '@wdio/config': 8.11.0 - '@wdio/logger': 8.11.0 - '@wdio/protocols': 8.11.0 - '@wdio/types': 8.10.4 - '@wdio/utils': 8.11.0 - chrome-launcher: 0.15.0 - edge-paths: 3.0.5 - import-meta-resolve: 3.0.0 - puppeteer-core: 20.3.0_typescript@4.6.2 - query-selector-shadow-dom: 1.0.0 - ua-parser-js: 1.0.2 - uuid: 9.0.0 - which: 3.0.1 - transitivePeerDependencies: - - bufferutil - - encoding - - supports-color - - typescript - - utf-8-validate - dev: true - - /devtools/8.3.5: - resolution: {integrity: sha512-ncMUl1CKH6hWyxHMfVCRnzKkVvviXJhqy1GIE2SialdUh68CsfEibzmDof+a2E9stkN1vVdmMKYeC5LAQv2i5g==} - engines: {node: ^16.13 || >=18} - dependencies: - '@types/node': 18.13.0 - '@wdio/config': 8.3.2 - '@wdio/logger': 8.1.0 - '@wdio/protocols': 8.3.5 - '@wdio/types': 8.3.0 - '@wdio/utils': 8.3.0 - chrome-launcher: 0.15.0 - edge-paths: 3.0.5 - import-meta-resolve: 2.2.1 - puppeteer-core: 19.6.3 - query-selector-shadow-dom: 1.0.0 - ua-parser-js: 1.0.2 - uuid: 9.0.0 - which: 3.0.1 - transitivePeerDependencies: - - bufferutil - - encoding - - supports-color - - utf-8-validate + /devtools-protocol/0.0.1206220: + resolution: {integrity: sha512-zTcXveZkrQdpBwZzAd6spwu+WZet0hU+m/hAm7j61PDUQgG42YkMMdbFYqbDrxIiMTEgJInn70ck1Jl10RQ1aQ==} dev: true /diff-sequences/27.5.1: @@ -5226,16 +5112,10 @@ packages: engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dev: true - /diff-sequences/29.4.2: - resolution: {integrity: sha512-R6P0Y6PrsH3n4hUXxL3nns0rbRk6Q33js3ygJBeEpbzLzgcNuJ61+u0RXasFpTKISw99TxUzFnumSnRLsjhLaw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true - /diff-sequences/29.4.3: resolution: {integrity: sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dev: true - optional: true /diff/4.0.2: resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} @@ -5297,6 +5177,11 @@ packages: tslib: 2.3.1 dev: true + /dotenv/16.3.1: + resolution: {integrity: sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==} + engines: {node: '>=12'} + dev: true + /download/8.0.0: resolution: {integrity: sha512-ASRY5QhDk7FK+XrQtQyvhpDKanLluEEQtWl/J7Lxuf/b+i8RYh997QeXvL85xitrmRKVlx9c7eTrcRdq2GS4eA==} engines: {node: '>=10'} @@ -5328,8 +5213,8 @@ packages: readable-stream: 2.3.7 dev: true - /duplexer3/0.1.4: - resolution: {integrity: sha512-CEj8FwwNA4cVH2uFCoHUrmojhYh1vmCdOaneKJXwkeY1i9jnlslVo9dx+hQ5Hl9GnH/Bwy/IjxAyOePyPKYnzA==} + /duplexer3/0.1.5: + resolution: {integrity: sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==} dev: true /eastasianwidth/0.2.0: @@ -5359,26 +5244,25 @@ packages: which: 2.0.2 dev: true - /edgedriver/5.2.1: - resolution: {integrity: sha512-H8mF7UYMR/r6izCPgQA5d+pHdIF47wncoTS2KWogoZ4hbNeFz9VbCPxPFoGPCCfizk/e4H5DhXapcYX0yyZqjg==} + /edgedriver/5.3.8: + resolution: {integrity: sha512-FWLPDuwJDeGGgtmlqTXb4lQi/HV9yylLo1F9O1g9TLqSemA5T6xH28seUIfyleVirLFtDQyKNUxKsMhMT4IfnA==} hasBin: true requiresBuild: true dependencies: - '@wdio/logger': 8.11.0 - camaro: 6.2.0 + '@wdio/logger': 8.16.17 decamelize: 6.0.0 edge-paths: 3.0.5 - node-fetch: 3.3.1 + node-fetch: 3.3.2 unzipper: 0.10.14 - which: 3.0.1 + which: 4.0.0 dev: true /ee-first/1.1.1: resolution: {integrity: sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=} dev: true - /ejs/3.1.8: - resolution: {integrity: sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==} + /ejs/3.1.9: + resolution: {integrity: sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==} engines: {node: '>=0.10.0'} hasBin: true dependencies: @@ -5518,6 +5402,18 @@ packages: source-map: 0.6.1 dev: true + /escodegen/2.1.0: + resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==} + engines: {node: '>=6.0'} + hasBin: true + dependencies: + esprima: 4.0.1 + estraverse: 5.2.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'} @@ -5698,10 +5594,6 @@ packages: engines: {node: '>= 0.6'} dev: true - /eventemitter-asyncresource/1.0.0: - resolution: {integrity: sha512-39F7TBIV0G7gTelxwbEqnwhp90eqCPON1k0NwNfwhgKn4Co4ybUbj2pECcXT0B3ztRKZ7Pw1JujUUgmQJHcVAQ==} - dev: true - /execa/5.1.1: resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} engines: {node: '>=10'} @@ -5717,18 +5609,18 @@ packages: strip-final-newline: 2.0.0 dev: true - /execa/6.1.0: - resolution: {integrity: sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + /execa/8.0.1: + resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} + engines: {node: '>=16.17'} dependencies: cross-spawn: 7.0.3 - get-stream: 6.0.1 - human-signals: 3.0.1 + 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 onetime: 6.0.0 - signal-exit: 3.0.7 + signal-exit: 4.1.0 strip-final-newline: 3.0.0 dev: true @@ -5742,23 +5634,6 @@ packages: engines: {node: '>= 0.8.0'} dev: true - /expect-webdriverio/4.1.1_typescript@4.6.2: - resolution: {integrity: sha512-Qx29DagUJ8DDsEJe2aT1S+OdEcidIO+A2uRxjJqM3i7cI+wUiC85MBWmupSwuvyEAoCOoEJUiRbA0NPpXXViCg==} - engines: {node: '>=16 || >=18 || >=20'} - dependencies: - expect: 29.4.2 - jest-matcher-utils: 29.4.2 - optionalDependencies: - '@wdio/globals': 8.11.2_typescript@4.6.2 - webdriverio: 8.3.5 - transitivePeerDependencies: - - bufferutil - - encoding - - supports-color - - typescript - - utf-8-validate - dev: true - /expect-webdriverio/4.2.6_typescript@4.6.2: resolution: {integrity: sha512-/7wImWgef6ooZSoivXq6jkCDE1vvDC42WcM7Iyguspah/h384nprUdpQPLIUkkvTCorSQdYtRftNvHJjEpVUmA==} engines: {node: '>=16 || >=18 || >=20'} @@ -5767,16 +5642,16 @@ packages: expect: 29.6.1 jest-matcher-utils: 29.6.1 optionalDependencies: - '@wdio/globals': 8.11.2_typescript@4.6.2 - webdriverio: 8.11.2_typescript@4.6.2 + '@wdio/globals': 8.18.2_typescript@4.6.2 + webdriverio: 8.18.2_typescript@4.6.2 transitivePeerDependencies: - bufferutil + - devtools - encoding - supports-color - typescript - utf-8-validate dev: true - optional: true /expect/27.5.1: resolution: {integrity: sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==} @@ -5788,17 +5663,6 @@ packages: jest-message-util: 27.5.1 dev: true - /expect/29.4.2: - resolution: {integrity: sha512-+JHYg9O3hd3RlICG90OPVjRkPBoiUH7PxvDVMnRiaq1g6JUgZStX514erMl0v2Dc5SkfVbm7ztqbd6qHHPn+mQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/expect-utils': 29.4.2 - jest-get-type: 29.4.2 - jest-matcher-utils: 29.4.2 - jest-message-util: 29.4.2 - jest-util: 29.4.2 - dev: true - /expect/29.6.1: resolution: {integrity: sha512-XEdDLonERCU1n9uR56/Stx9OqojaLAQtZf9PrCHH9Hl8YXiEIka3H4NXJ3NOIBmQJTg7+j7buh34PMHfJujc8g==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -5810,7 +5674,6 @@ packages: jest-message-util: 29.6.1 jest-util: 29.6.1 dev: true - optional: true /express/4.17.1: resolution: {integrity: sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==} @@ -5852,7 +5715,7 @@ packages: resolution: {integrity: sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA==} engines: {node: '>=0.10.0'} dependencies: - mime-db: 1.45.0 + mime-db: 1.44.0 dev: true /ext-name/5.0.0: @@ -5896,7 +5759,7 @@ packages: dev: true /fast-deep-equal/2.0.1: - resolution: {integrity: sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=} + resolution: {integrity: sha512-bCK/2Z4zLidyB4ReuIsvALH6w31YfAQDmXMqMx6FyfHqvBxtjC0eRumeSu4Bs3XtXwpyIywtSTrVT99BxY1f9w==} dev: true /fast-deep-equal/3.1.3: @@ -5907,6 +5770,10 @@ packages: resolution: {integrity: sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==} dev: true + /fast-fifo/1.3.2: + resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==} + dev: true + /fast-glob/3.2.11: resolution: {integrity: sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==} engines: {node: '>=8.6.0'} @@ -5944,6 +5811,12 @@ packages: pend: 1.2.0 dev: true + /fd-slicer2/1.2.0: + resolution: {integrity: sha512-3lBUNUckhMZduCc4g+Pw4Ve16LD9vpX9b8qUkkKq2mgDRLYWzblszZH2luADnJqjJe+cypngjCuKRm/IW12rRw==} + dependencies: + pend: 1.2.0 + dev: true + /fetch-blob/3.2.0: resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} engines: {node: ^12.20 || >= 14.13} @@ -6003,7 +5876,7 @@ packages: /filelist/1.0.1: resolution: {integrity: sha512-8zSK6Nu0DQIC08mUC46sWGXi+q3GGpKydAG36k+JDba6VRpkevvOWUW5a/PhShij4+vHT9M+ghgG7eM+a9JDUQ==} dependencies: - minimatch: 3.0.4 + minimatch: 3.1.2 dev: true /filename-reserved-regex/2.0.0: @@ -6032,6 +5905,11 @@ packages: 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 + /finalhandler/1.1.2: resolution: {integrity: sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==} engines: {node: '>= 0.8'} @@ -6097,6 +5975,10 @@ packages: resolution: {integrity: sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw==} dev: true + /flushwritable/1.0.0: + resolution: {integrity: sha512-3VELfuWCLVzt5d2Gblk8qcqFro6nuwvxwMzHaENVDHI7rxcBRtMCwTk/E9FXcgh+82DSpavPNDueA9+RxXJoFg==} + dev: true + /follow-redirects/1.15.2: resolution: {integrity: sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==} engines: {node: '>=4.0'} @@ -6112,7 +5994,7 @@ packages: engines: {node: '>=14'} dependencies: cross-spawn: 7.0.3 - signal-exit: 4.0.2 + signal-exit: 4.1.0 dev: true /forever-agent/0.6.1: @@ -6188,6 +6070,24 @@ packages: universalify: 2.0.0 dev: true + /fs-extra/11.1.1: + resolution: {integrity: sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==} + engines: {node: '>=14.14'} + dependencies: + graceful-fs: 4.2.9 + 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 + /fs-minipass/2.1.0: resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} engines: {node: '>= 8'} @@ -6245,6 +6145,24 @@ packages: globule: 1.3.2 dev: true + /geckodriver/4.2.1: + resolution: {integrity: sha512-4m/CRk0OI8MaANRuFIahvOxYTSjlNAO2p9JmE14zxueknq6cdtB5M9UGRQ8R9aMV0bLGNVHHDnDXmoXdOwJfWg==} + engines: {node: ^16.13 || >=18 || >=20} + hasBin: true + requiresBuild: true + dependencies: + '@wdio/logger': 8.16.17 + decamelize: 6.0.0 + http-proxy-agent: 7.0.0 + https-proxy-agent: 7.0.2 + node-fetch: 3.3.2 + tar-fs: 3.0.4 + unzipper: 0.10.14 + 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'} @@ -6273,6 +6191,10 @@ packages: engines: {node: '>=16'} dev: true + /get-ready/1.0.0: + resolution: {integrity: sha512-mFXCZPJIlcYcth+N8267+mghfYN9h3EhsDa6JSnbA3Wrhh/XFpuowviFcsDeYZtKspQyWyJqfs4O6P8CHeTwzw==} + dev: true + /get-stream/2.3.1: resolution: {integrity: sha512-AUGhbbemXxrZJRD5cDvKtQxLuYaIbNtDTK8YqupCI393Q2KSTreEsLUN3ZxAWFGiKTzL6nKuzfcIvieflUX9qA==} engines: {node: '>=0.10.0'} @@ -6304,6 +6226,23 @@ packages: engines: {node: '>=10'} dev: true + /get-stream/8.0.1: + resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} + engines: {node: '>=16'} + dev: true + + /get-uri/6.0.2: + resolution: {integrity: sha512-5KLucCJobh8vBY1K07EFV4+cPZH3mrV9YeAruUseCQKHB58SGjjT2l9/eA9LD082IiuMjSlFJEcdJ27TXvbZNw==} + engines: {node: '>= 14'} + dependencies: + basic-ftp: 5.0.3 + data-uri-to-buffer: 6.0.1 + debug: 4.3.4 + fs-extra: 8.1.0 + transitivePeerDependencies: + - supports-color + dev: true + /getpass/0.1.7: resolution: {integrity: sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==} dependencies: @@ -6342,7 +6281,7 @@ packages: 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 @@ -6365,7 +6304,7 @@ packages: fs.realpath: 1.0.0 inflight: 1.0.6 inherits: 2.0.4 - minimatch: 5.0.1 + minimatch: 5.1.6 once: 1.4.0 dev: true @@ -6472,15 +6411,33 @@ packages: lowercase-keys: 2.0.0 p-cancelable: 2.0.0 responselike: 2.0.0 + dev: false - /got/12.5.3: - resolution: {integrity: sha512-8wKnb9MGU8IPGRIo+/ukTy9XLJBwDiCpIf5TVzQ9Cpol50eMTpBq2GAuDsuDIz7hTYmZgMgC1e9ydr6kSDWs3w==} + /got/11.8.6: + resolution: {integrity: sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==} + engines: {node: '>=10.19.0'} + 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: true + + /got/12.6.1: + resolution: {integrity: sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==} engines: {node: '>=14.16'} dependencies: '@sindresorhus/is': 5.3.0 '@szmarczak/http-timer': 5.0.1 cacheable-lookup: 7.0.0 - cacheable-request: 10.2.7 + cacheable-request: 10.2.12 decompress-response: 6.0.0 form-data-encoder: 2.1.4 get-stream: 6.0.1 @@ -6490,9 +6447,9 @@ packages: responselike: 3.0.0 dev: true - /got/12.6.1: - resolution: {integrity: sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==} - engines: {node: '>=14.16'} + /got/13.0.0: + resolution: {integrity: sha512-XfBk1CxOOScDcMr9O1yKkNaQyy865NbYs+F7dr4H0LZMVgCj2Le59k6PqbNHoL5ToeaEQUYh6c6yMfVcc6SJxA==} + engines: {node: '>=16'} dependencies: '@sindresorhus/is': 5.3.0 '@szmarczak/http-timer': 5.0.1 @@ -6514,7 +6471,7 @@ packages: '@sindresorhus/is': 0.7.0 cacheable-request: 2.1.4 decompress-response: 3.3.0 - duplexer3: 0.1.4 + duplexer3: 0.1.5 get-stream: 3.0.0 into-stream: 3.1.0 is-retry-allowed: 1.2.0 @@ -6613,18 +6570,6 @@ packages: minimalistic-assert: 1.0.1 dev: true - /hdr-histogram-js/2.0.3: - resolution: {integrity: sha512-Hkn78wwzWHNCp2uarhzQ2SGFLU3JY8SBDDd3TAABK4fc30wm+MuPOrg5QVFVfkKOQd6Bfz3ukJEI+q9sXEkK1g==} - dependencies: - '@assemblyscript/loader': 0.10.1 - base64-js: 1.5.1 - pako: 1.0.11 - dev: true - - /hdr-histogram-percentiles-obj/3.0.0: - resolution: {integrity: sha512-7kIufnBqdsBGcSZLPJwqHT3yhk1QTsSlFsVD3kx5ixH/AlgBs9yM1q6DPhXZ8f8gtdqgh7N7/5btRLpQsS2gHw==} - dev: true - /header-case/2.0.4: resolution: {integrity: sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==} dependencies: @@ -6648,6 +6593,13 @@ packages: 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} + dependencies: + lru-cache: 10.0.1 + dev: true + /html-encoding-sniffer/2.0.1: resolution: {integrity: sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==} engines: {node: '>=10'} @@ -6663,12 +6615,8 @@ packages: resolution: {integrity: sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==} dev: true - /http-cache-semantics/4.1.0: - resolution: {integrity: sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==} - /http-cache-semantics/4.1.1: resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} - dev: true /http-errors/1.7.2: resolution: {integrity: sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==} @@ -6703,12 +6651,11 @@ packages: - supports-color dev: true - /http-proxy-agent/5.0.0: - resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==} - engines: {node: '>= 6'} + /http-proxy-agent/7.0.0: + resolution: {integrity: sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==} + engines: {node: '>= 14'} dependencies: - '@tootallnate/once': 2.0.0 - agent-base: 6.0.2 + agent-base: 7.1.0 debug: 4.3.4 transitivePeerDependencies: - supports-color @@ -6728,7 +6675,7 @@ packages: engines: {node: '>=10.19.0'} dependencies: quick-lru: 5.1.1 - resolve-alpn: 1.0.0 + resolve-alpn: 1.2.1 /http2-wrapper/2.2.0: resolution: {integrity: sha512-kZB0wxMo0sh1PehyjJUWRFEd99KC5TLjZ2cULC4f9iqJBAmKQQXEICjxl5iPJRwP40dpeHFqqhm7tYCvODpqpQ==} @@ -6748,14 +6695,24 @@ packages: - supports-color dev: true + /https-proxy-agent/7.0.2: + resolution: {integrity: sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==} + engines: {node: '>= 14'} + dependencies: + agent-base: 7.1.0 + debug: 4.3.4 + 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/3.0.1: - resolution: {integrity: sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ==} - engines: {node: '>=12.20.0'} + /human-signals/5.0.0: + resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} + engines: {node: '>=16.17.0'} dev: true /humanize-ms/1.2.1: @@ -6771,6 +6728,13 @@ packages: safer-buffer: 2.1.2 dev: true + /iconv-lite/0.5.2: + resolution: {integrity: sha512-kERHXvpSaB4aU3eANwidg79K8FlrN77m8G9V+0vOR3HYaRifrlwMEpT7ZBJqLSEIHnEgJTHcWK82wwLwwKwtag==} + engines: {node: '>=0.10.0'} + 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'} @@ -6791,7 +6755,7 @@ packages: /ignore-walk/3.0.4: resolution: {integrity: sha512-PY6Ii8o1jMRA1z4F2hRkH/xN59ox43DavKvD3oDpfurRlOJyAHpifIwpbdv1n4jt4ov0jSpw3kQ4GhJnpBL6WQ==} dependencies: - minimatch: 3.0.4 + minimatch: 3.1.2 dev: true /ignore/5.2.0: @@ -6816,10 +6780,6 @@ packages: resolve-cwd: 3.0.0 dev: true - /import-meta-resolve/2.2.1: - resolution: {integrity: sha512-C6lLL7EJPY44kBvA80gq4uMsVFw5x3oSKfuMl1cuZ2RkI5+UJqQXgn+6hlUew0y4ig7Ypt4CObAAIzU53Nfpuw==} - dev: true - /import-meta-resolve/3.0.0: resolution: {integrity: sha512-4IwhLhNNA8yy445rPjD/lWh++7hMDOml2eHtd58eG7h+qK3EryMuuRbsHGPikCoAgIkkDnckKfWSk2iDla/ejg==} dev: true @@ -6868,25 +6828,25 @@ packages: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} dev: true - /inquirer/9.1.2: - resolution: {integrity: sha512-Hj2Ml1WpxKJU2npP2Rj0OURGkHV+GtNW2CwFdHDiXlqUBAUrWTcZHxCkFywX/XHzOS7wrG/kExgJFbUkVgyHzg==} - engines: {node: '>=12.0.0'} + /inquirer/9.2.11: + resolution: {integrity: sha512-B2LafrnnhbRzCWfAdOXisUzL89Kg8cVJlYmhqoi3flSiV/TveO+nsXwgKr9h9PIo+J1hz7nBSk6gegRIMBBf7g==} + engines: {node: '>=14.18.0'} dependencies: - ansi-escapes: 5.0.0 - chalk: 5.2.0 - cli-cursor: 4.0.0 - cli-width: 4.0.0 + '@ljharb/through': 2.3.11 + ansi-escapes: 4.3.2 + chalk: 5.3.0 + cli-cursor: 3.1.0 + cli-width: 4.1.0 external-editor: 3.1.0 figures: 5.0.0 lodash: 4.17.21 - mute-stream: 0.0.8 - ora: 6.1.2 - run-async: 2.4.1 - rxjs: 7.8.0 - string-width: 5.1.2 - strip-ansi: 7.0.1 - through: 2.3.8 - wrap-ansi: 8.1.0 + mute-stream: 1.0.0 + ora: 5.4.1 + run-async: 3.0.0 + rxjs: 7.8.1 + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 6.2.0 dev: true /into-stream/3.1.0: @@ -6960,12 +6920,6 @@ packages: engines: {node: '>= 0.4'} dev: true - /is-docker/2.1.1: - resolution: {integrity: sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw==} - engines: {node: '>=8'} - hasBin: true - dev: true - /is-error/2.2.2: resolution: {integrity: sha512-IOQqts/aHWbiisY5DuPJQ0gcbvaLFCa7fBa9xoLfxBZvQ+ZI/Zh9xoI7Gk+G64N0FdK4AbibytHht2tWgpJWLg==} dev: true @@ -7004,9 +6958,9 @@ packages: is-extglob: 2.1.1 dev: true - /is-interactive/2.0.0: - resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==} - engines: {node: '>=12'} + /is-interactive/1.0.0: + resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} + engines: {node: '>=8'} dev: true /is-lambda/1.0.1: @@ -7113,6 +7067,11 @@ packages: resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} dev: true + /is-unicode-supported/0.1.0: + resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} + engines: {node: '>=10'} + dev: true + /is-unicode-supported/1.1.0: resolution: {integrity: sha512-lDcxivp8TJpLG75/DpatAqNzOpDPSpED8XNtrpBHTdQ2InQ1PbW78jhwSxyxhhu+xbVSast2X38bwj8atwoUQA==} engines: {node: '>=12'} @@ -7131,13 +7090,6 @@ packages: resolution: {integrity: sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==} dev: true - /is-wsl/2.2.0: - resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} - engines: {node: '>=8'} - dependencies: - is-docker: 2.1.1 - dev: true - /is2/2.0.6: resolution: {integrity: sha512-+Z62OHOjA6k2sUDOKXoZI3EXv7Fb1K52jpTBLbkfx62bcUeSsrTBLhEquCRDKTx0XE5XbHcG/S2vrtE3lnEDsQ==} engines: {node: '>=v0.10.0'} @@ -7164,6 +7116,11 @@ packages: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} dev: true + /isexe/3.1.1: + resolution: {integrity: sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==} + engines: {node: '>=16'} + dev: true + /isstream/0.1.2: resolution: {integrity: sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==} dev: true @@ -7239,19 +7196,19 @@ packages: async: 3.2.4 chalk: 4.1.2 filelist: 1.0.1 - minimatch: 3.0.4 + minimatch: 3.1.2 dev: true - /jasmine-core/4.5.0: - resolution: {integrity: sha512-9PMzyvhtocxb3aXJVOPqBDswdgyAeSB81QnLop4npOpbqnheaTEwPc9ZloQeVswugPManznQBjD8kWDTjlnHuw==} + /jasmine-core/5.1.1: + resolution: {integrity: sha512-UrzO3fL7nnxlQXlvTynNAenL+21oUQRlzqQFsA2U11ryb4+NLOCOePZ70PTojEaUKhiFugh7dG0Q+I58xlPdWg==} dev: true - /jasmine/4.5.0: - resolution: {integrity: sha512-9olGRvNZyADIwYL9XBNBst5BTU/YaePzuddK+YRslc7rI9MdTIE4r3xaBKbv2GEmzYYUfMOdTR8/i6JfLZaxSQ==} + /jasmine/5.1.0: + resolution: {integrity: sha512-prmJlC1dbLhti4nE4XAPDWmfJesYO15sjGXVp7Cs7Ym5I9Xtwa/hUHxxJXjnpfLO72+ySttA0Ztf8g/RiVnUKw==} hasBin: true dependencies: - glob: 7.2.0 - jasmine-core: 4.5.0 + glob: 10.3.1 + jasmine-core: 5.1.1 dev: true /jest-changed-files/27.5.1: @@ -7441,16 +7398,6 @@ packages: pretty-format: 27.5.1 dev: true - /jest-diff/29.4.2: - resolution: {integrity: sha512-EK8DSajVtnjx9sa1BkjZq3mqChm2Cd8rIzdXkQMA8e0wuXq53ypz6s5o5V8HRZkoEt2ywJ3eeNWFKWeYr8HK4g==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - chalk: 4.1.2 - diff-sequences: 29.4.2 - jest-get-type: 29.4.2 - pretty-format: 29.4.2 - dev: true - /jest-diff/29.6.1: resolution: {integrity: sha512-FsNCvinvl8oVxpNLttNQX7FAq7vR+gMDGj90tiP7siWw1UdakWUGqrylpsYrpvj908IYckm5Y0Q7azNAozU1Kg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -7460,7 +7407,6 @@ packages: jest-get-type: 29.4.3 pretty-format: 29.6.1 dev: true - optional: true /jest-docblock/27.5.1: resolution: {integrity: sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==} @@ -7524,16 +7470,10 @@ packages: engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dev: true - /jest-get-type/29.4.2: - resolution: {integrity: sha512-vERN30V5i2N6lqlFu4ljdTqQAgrkTFMC9xaIIfOPYBw04pufjXRty5RuXBiB1d72tGbURa/UgoiHB90ruOSivg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true - /jest-get-type/29.4.3: resolution: {integrity: sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dev: true - optional: true /jest-haste-map/27.5.1: resolution: {integrity: sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==} @@ -7598,16 +7538,6 @@ packages: pretty-format: 27.5.1 dev: true - /jest-matcher-utils/29.4.2: - resolution: {integrity: sha512-EZaAQy2je6Uqkrm6frnxBIdaWtSYFoR8SVb2sNLAtldswlR/29JAgx+hy67llT3+hXBaLB0zAm5UfeqerioZyg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - chalk: 4.1.2 - jest-diff: 29.4.2 - jest-get-type: 29.4.2 - pretty-format: 29.4.2 - dev: true - /jest-matcher-utils/29.6.1: resolution: {integrity: sha512-SLaztw9d2mfQQKHmJXKM0HCbl2PPVld/t9Xa6P9sgiExijviSp7TnZZpw2Fpt+OI3nwUO/slJbOfzfUMKKC5QA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -7617,7 +7547,6 @@ packages: jest-get-type: 29.4.3 pretty-format: 29.6.1 dev: true - optional: true /jest-message-util/26.6.2: resolution: {integrity: sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA==} @@ -7649,26 +7578,11 @@ packages: stack-utils: 2.0.5 dev: true - /jest-message-util/29.4.2: - resolution: {integrity: sha512-SElcuN4s6PNKpOEtTInjOAA8QvItu0iugkXqhYyguRvQoXapg5gN+9RQxLAkakChZA7Y26j6yUCsFWN+hlKD6g==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@babel/code-frame': 7.16.7 - '@jest/types': 29.4.2 - '@types/stack-utils': 2.0.0 - chalk: 4.1.2 - graceful-fs: 4.2.9 - micromatch: 4.0.4 - pretty-format: 29.4.2 - slash: 3.0.0 - stack-utils: 2.0.5 - dev: true - /jest-message-util/29.6.1: resolution: {integrity: sha512-KoAW2zAmNSd3Gk88uJ56qXUWbFk787QKmjjJVOjtGFmmGSZgDBrlIL4AfQw1xyMYPNVD7dNInfIbur9B2rd/wQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@babel/code-frame': 7.16.7 + '@babel/code-frame': 7.22.13 '@jest/types': 29.6.1 '@types/stack-utils': 2.0.0 chalk: 4.1.2 @@ -7678,7 +7592,6 @@ packages: slash: 3.0.0 stack-utils: 2.0.5 dev: true - optional: true /jest-mock/27.5.1: resolution: {integrity: sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==} @@ -7867,18 +7780,6 @@ packages: picomatch: 2.3.1 dev: true - /jest-util/29.4.2: - resolution: {integrity: sha512-wKnm6XpJgzMUSRFB7YF48CuwdzuDIHenVuoIb1PLuJ6F+uErZsuDkU+EiExkChf6473XcawBrSfDSnXl+/YG4g==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/types': 29.4.2 - '@types/node': 14.6.4 - chalk: 4.1.2 - ci-info: 3.3.0 - graceful-fs: 4.2.9 - picomatch: 2.3.1 - dev: true - /jest-util/29.6.1: resolution: {integrity: sha512-NRFCcjc+/uO3ijUVyNOQJluf8PtGCe/W6cix36+M3cTFgiYqFOOW5MgN4JOOcvbUhcKTYVd1CvHz/LWi8d16Mg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -7890,7 +7791,6 @@ packages: graceful-fs: 4.2.9 picomatch: 2.3.1 dev: true - optional: true /jest-validate/27.5.1: resolution: {integrity: sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==} @@ -8077,6 +7977,11 @@ packages: resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} dev: true + /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-schema-traverse/0.4.1: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} dev: true @@ -8101,6 +8006,12 @@ packages: minimist: 1.2.8 dev: true + /jsonfile/4.0.0: + resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} + optionalDependencies: + graceful-fs: 4.2.9 + dev: true + /jsonfile/6.1.0: resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} dependencies: @@ -8138,16 +8049,10 @@ packages: json-buffer: 3.0.0 dev: true - /keyv/4.0.3: - resolution: {integrity: sha512-zdGa2TOpSZPq5mU6iowDARnMBZgtCqJ11dJROFi6tg6kTn4nuUdU09lFyLFSaHrWqpIJ+EBq4E8/Dc0Vx5vLdA==} - dependencies: - json-buffer: 3.0.1 - /keyv/4.5.2: resolution: {integrity: sha512-5MHbFaKn8cNSmVW7BYnijeAVlE4cYA/SVkifVgrh7yotnfhKmjuXpDKjrABLnT0SfHWV21P8ow07OGfRrNDg8g==} dependencies: json-buffer: 3.0.1 - dev: true /kleur/3.0.3: resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} @@ -8187,17 +8092,15 @@ packages: type-check: 0.4.0 dev: true - /lighthouse-logger/1.2.0: - resolution: {integrity: sha512-wzUvdIeJZhRsG6gpZfmSCfysaxNEr43i+QT+Hie94wvHDKFLi4n7C2GqZ4sTC+PH5b5iktmXJvU87rWvhP3lHw==} - dependencies: - debug: 2.6.9 - marky: 1.2.1 - 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 + /listenercount/1.0.1: resolution: {integrity: sha512-3mk/Zag0+IJxeDrxSgaDPy4zZ3w05PRZeJNnlWhzFz5OkX49J4krc+A8X2d2M69vGMBEX0uyl8M+W+8gH+kBqQ==} dev: true @@ -8228,6 +8131,14 @@ packages: engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: true + /locate-app/2.1.0: + resolution: {integrity: sha512-rcVo/iLUxrd9d0lrmregK/Z5Y5NCpSwf9KlMbPpOHmKmdxdQY1Fj8NDQ5QymJTryCsBLqwmniFv2f3JKbk9Bvg==} + dependencies: + n12: 0.4.0 + type-fest: 2.13.0 + userhome: 1.0.0 + dev: true + /locate-path/5.0.0: resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} engines: {node: '>=8'} @@ -8260,18 +8171,6 @@ packages: resolution: {integrity: sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==} dev: true - /lodash.defaults/4.2.0: - resolution: {integrity: sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==} - dev: true - - /lodash.difference/4.5.0: - resolution: {integrity: sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA==} - dev: true - - /lodash.flatten/4.4.0: - resolution: {integrity: sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==} - dev: true - /lodash.flattendeep/4.4.0: resolution: {integrity: sha512-uHaJFihxmJcEX3kT4I23ABqKKalJ/zDrDg0lsFtc1h+3uw49SIJ5beyhx5ExVRti3AvKoOJngIj7xz3oylPdWQ==} dev: true @@ -8280,10 +8179,6 @@ packages: resolution: {integrity: sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=} dev: true - /lodash.isplainobject/4.0.6: - resolution: {integrity: sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=} - dev: true - /lodash.memoize/4.1.2: resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} dev: true @@ -8305,19 +8200,19 @@ packages: dev: true /lodash.zip/4.2.0: - resolution: {integrity: sha1-7GZi5IlkCO1KtsVCo5kLcswIACA=} + resolution: {integrity: sha512-C7IOaBBK/0gMORRBd8OETNx3kmOkgIWIPvyDpZSCTwUrpYmgZwJkjZeOD8ww4xbOUOs4/attY+pciKvadNfFbg==} dev: true /lodash/4.17.21: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} dev: true - /log-symbols/5.1.0: - resolution: {integrity: sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==} - engines: {node: '>=12'} + /log-symbols/4.1.0: + resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} + engines: {node: '>=10'} dependencies: - chalk: 5.2.0 - is-unicode-supported: 1.3.0 + chalk: 4.1.2 + is-unicode-supported: 0.1.0 dev: true /loglevel-plugin-prefix/0.8.4: @@ -8354,8 +8249,8 @@ packages: engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: true - /lru-cache/10.0.0: - resolution: {integrity: sha512-svTf/fzsKHffP42sujkO/Rjs37BCIsQVRCeNYIm9WN8rgT7ffoUnRtZCqU+6BqcSBdv8gwJeTz8knJpgACeQMw==} + /lru-cache/10.0.1: + resolution: {integrity: sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==} engines: {node: 14 || >=16.14} dev: true @@ -8373,6 +8268,11 @@ packages: yallist: 4.0.0 dev: true + /lru-cache/7.18.3: + resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==} + engines: {node: '>=12'} + dev: true + /magic-string/0.25.7: resolution: {integrity: sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==} dependencies: @@ -8411,7 +8311,7 @@ packages: dependencies: agentkeepalive: 4.2.1 cacache: 15.3.0 - http-cache-semantics: 4.1.0 + http-cache-semantics: 4.1.1 http-proxy-agent: 4.0.1 https-proxy-agent: 5.0.1 is-lambda: 1.0.1 @@ -8447,10 +8347,6 @@ packages: engines: {node: '>=0.10.0'} dev: true - /marky/1.2.1: - resolution: {integrity: sha512-md9k+Gxa3qLH6sUKpeC2CNkJK/Ld+bEz5X96nYwloqphQE0CKCVEKco/6jxEZixinqNdz5RFi/KaCyfbMDMAXQ==} - dev: true - /matcher/5.0.0: resolution: {integrity: sha512-s2EMBOWtXFc8dgqvoAzKJXxNHibcdJMV0gwqKUaw9E2JBJuGUK7DrNKrA6g/i+v72TT16+6sVm5mS3thaMLQUw==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -8525,11 +8421,6 @@ packages: engines: {node: '>= 0.6'} dev: true - /mime-db/1.45.0: - resolution: {integrity: sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w==} - engines: {node: '>= 0.6'} - dev: true - /mime-types/2.1.27: resolution: {integrity: sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==} engines: {node: '>= 0.6'} @@ -8576,15 +8467,14 @@ packages: brace-expansion: 1.1.11 dev: true - /minimatch/5.0.1: - resolution: {integrity: sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==} - engines: {node: '>=10'} + /minimatch/3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} dependencies: - brace-expansion: 2.0.1 + brace-expansion: 1.1.11 dev: true - /minimatch/6.1.6: - resolution: {integrity: sha512-6bR3UIeh/DF8+p6A9Spyuy67ShOq42rOkHWi7eUe3Ua99Zo5lZfGC6lJJWkeoK4k9jQFT3Pl7czhTXimG2XheA==} + /minimatch/5.1.6: + resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} engines: {node: '>=10'} dependencies: brace-expansion: 2.0.1 @@ -8692,12 +8582,6 @@ packages: hasBin: true dev: true - /mkdirp/2.1.3: - resolution: {integrity: sha512-sjAkg21peAG9HS+Dkx7hlG9Ztx7HLeKnvB3NQRcu/mltCVmvkF0pisbiTSfDVYTT86XEfZrTUosLdZLStquZUw==} - engines: {node: '>=10'} - hasBin: true - dev: true - /module-details-from-path/1.0.3: resolution: {integrity: sha1-EUyUlnPiqKNenTV4hSeqN7Z52is=} dev: true @@ -8739,8 +8623,13 @@ packages: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} dev: true - /mute-stream/0.0.8: - resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} + /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 + + /n12/0.4.0: + resolution: {integrity: sha512-p/hj4zQ8d3pbbFLQuN1K9honUxiDDhueOWyFLw/XgBv+wZCE44bcLH4CIcsolOceJQduh4Jf7m/LfaTxyGmGtQ==} dev: true /nan/2.15.0: @@ -8761,15 +8650,10 @@ packages: engines: {node: '>= 0.6'} dev: true - /nice-napi/1.0.2: - resolution: {integrity: sha512-px/KnJAJZf5RuBGcfD+Sp2pAKq0ytz8j+1NehvgIGFkvtvFrDM3T8E4x/JJODXK9WZow8RRGrbA9QQ3hs+pDhA==} - os: ['!win32'] - requiresBuild: true - dependencies: - node-addon-api: 3.2.1 - node-gyp-build: 4.6.0 + /netmask/2.0.2: + resolution: {integrity: sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==} + engines: {node: '>= 0.4.0'} dev: true - optional: true /nice-try/1.0.5: resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} @@ -8804,11 +8688,6 @@ packages: - supports-color dev: true - /node-addon-api/3.2.1: - resolution: {integrity: sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==} - dev: true - optional: true - /node-domexception/1.0.0: resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} engines: {node: '>=10.5.0'} @@ -8826,20 +8705,8 @@ packages: whatwg-url: 5.0.0 dev: true - /node-fetch/2.6.7: - resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==} - engines: {node: 4.x || >=6.0.0} - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true - dependencies: - whatwg-url: 5.0.0 - dev: true - - /node-fetch/3.3.1: - resolution: {integrity: sha512-cRVc/kyto/7E5shrWca1Wsea4y6tL9iYJE5FBCius3JQfb/4P4I295PfhgbJQBLTx6lATE4z+wK0rPM4VS2uow==} + /node-fetch/3.3.2: + resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: data-uri-to-buffer: 4.0.1 @@ -8847,12 +8714,6 @@ packages: formdata-polyfill: 4.0.10 dev: true - /node-gyp-build/4.6.0: - resolution: {integrity: sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==} - hasBin: true - dev: true - optional: true - /node-gyp/7.1.2: resolution: {integrity: sha512-CbpcIo7C3eMu3dL1c3d0xw449fHIGALIJsRP4DDPHpyiW8vcriNY7ubh9TE4zEKfSxscY7PjeFnshE7h75ynjQ==} engines: {node: '>= 10.12.0'} @@ -8900,11 +8761,11 @@ packages: validate-npm-package-license: 3.0.4 dev: true - /normalize-package-data/3.0.3: - resolution: {integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==} - engines: {node: '>=10'} + /normalize-package-data/6.0.0: + resolution: {integrity: sha512-UL7ELRVxYBHBgYEtZCXjxuD5vPxnmvMGq0jp/dGPKKrN7tfsBh2IY7TlJ15WWwdjRWD3RJbnsygUurTK3xkPkg==} + engines: {node: ^16.14.0 || >=18.0.0} dependencies: - hosted-git-info: 4.1.0 + hosted-git-info: 7.0.1 is-core-module: 2.8.1 semver: 7.3.5 validate-npm-package-license: 3.0.4 @@ -9133,18 +8994,18 @@ packages: word-wrap: 1.2.3 dev: true - /ora/6.1.2: - resolution: {integrity: sha512-EJQ3NiP5Xo94wJXIzAyOtSb0QEIAUu7m8t6UZ9krbz0vAJqr92JpcK/lEXg91q6B9pEGqrykkd2EQplnifDSBw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + /ora/5.4.1: + resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} + engines: {node: '>=10'} dependencies: - bl: 5.1.0 - chalk: 5.2.0 - cli-cursor: 4.0.0 - cli-spinners: 2.7.0 - is-interactive: 2.0.0 - is-unicode-supported: 1.1.0 - log-symbols: 5.1.0 - strip-ansi: 7.1.0 + bl: 4.1.0 + chalk: 4.1.2 + cli-cursor: 3.1.0 + cli-spinners: 2.9.1 + 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 @@ -9196,11 +9057,6 @@ packages: engines: {node: '>=4'} dev: true - /p-iteration/1.1.8: - resolution: {integrity: sha512-IMFBSDIYcPNnW7uWYGrBqmvTiq7W0uB0fJn6shQZs7dlF3OvrHOre+JT9ikSZ7gZS3vWqclVgoQSvToJrns7uQ==} - engines: {node: '>=8.0.0'} - dev: true - /p-limit/2.3.0: resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} engines: {node: '>=6'} @@ -9274,6 +9130,31 @@ packages: engines: {node: '>=6'} dev: true + /pac-proxy-agent/7.0.1: + resolution: {integrity: sha512-ASV8yU4LLKBAjqIPMbrgtaKIvxQri/yh2OpI+S6hVa9JRkUI3Y3NPFbfngDtY7oFtSMD3w31Xns89mDa3Feo5A==} + engines: {node: '>= 14'} + dependencies: + '@tootallnate/quickjs-emscripten': 0.23.0 + 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 + pac-resolver: 7.0.0 + socks-proxy-agent: 8.0.2 + transitivePeerDependencies: + - supports-color + dev: true + + /pac-resolver/7.0.0: + resolution: {integrity: sha512-Fd9lT9vJbHYRACT8OhCbZBbxr6KRSawSovFpy8nDGshaK99S/EBhVIHp9+crhxrsZOuvLpgL1n23iyPg6Rl2hg==} + engines: {node: '>= 14'} + 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'} @@ -9307,10 +9188,6 @@ 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: @@ -9350,6 +9227,17 @@ packages: lines-and-columns: 1.2.4 dev: true + /parse-json/7.1.0: + resolution: {integrity: sha512-ihtdrgbqdONYD156Ap6qTcaGcGdkdAxodO1wLqQ/j7HP1u2sFYppINiq4jyC8F+Nm+4fVufylCV00QmkTHkSUg==} + engines: {node: '>=16'} + dependencies: + '@babel/code-frame': 7.22.13 + error-ex: 1.3.2 + json-parse-even-better-errors: 3.0.0 + lines-and-columns: 2.0.3 + type-fest: 3.13.1 + dev: true + /parse-ms/2.1.0: resolution: {integrity: sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==} engines: {node: '>=6'} @@ -9427,7 +9315,7 @@ packages: resolution: {integrity: sha512-tZFEaRQbMLjwrsmidsGJ6wDMv0iazJWk6SfIKnY4Xru8auXgmJkOBa5DUbYFcFD2Rzk2+KDlIiF0GVXNCbgC7g==} engines: {node: '>=16 || 14 >=14.17'} dependencies: - lru-cache: 10.0.0 + lru-cache: 10.0.1 minipass: 6.0.2 dev: true @@ -9503,7 +9391,7 @@ packages: dev: true /pify/2.3.0: - resolution: {integrity: sha1-7RQaasBDqEnqWISY59yosVMw6Qw=} + resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} engines: {node: '>=0.10.0'} dev: true @@ -9518,14 +9406,14 @@ packages: dev: true /pinkie-promise/2.0.1: - resolution: {integrity: sha1-ITXW36ejWMBprJsXh3YogihFD/o=} + resolution: {integrity: sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==} engines: {node: '>=0.10.0'} dependencies: pinkie: 2.0.4 dev: true /pinkie/2.0.4: - resolution: {integrity: sha1-clVrgM+g1IqXToDnckjoDtT3+HA=} + resolution: {integrity: sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==} engines: {node: '>=0.10.0'} dev: true @@ -9534,16 +9422,6 @@ packages: engines: {node: '>= 6'} dev: true - /piscina/3.2.0: - resolution: {integrity: sha512-yn/jMdHRw+q2ZJhFhyqsmANcbF6V2QwmD84c6xRau+QpQOmtrBCoRGdvTfeuFDYXB5W2m6MfLkjkvQa9lUSmIA==} - dependencies: - eventemitter-asyncresource: 1.0.0 - hdr-histogram-js: 2.0.3 - hdr-histogram-percentiles-obj: 3.0.0 - optionalDependencies: - nice-napi: 1.0.2 - dev: true - /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} @@ -9614,15 +9492,6 @@ packages: react-is: 17.0.1 dev: true - /pretty-format/29.4.2: - resolution: {integrity: sha512-qKlHR8yFVCbcEWba0H0TOC8dnLlO4vPlyEjRPw31FZ2Rupy9nLa8ZLbYny8gWEl8CkEhJqAE6IzdNELTBVcBEg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/schemas': 29.4.2 - ansi-styles: 5.2.0 - react-is: 18.2.0 - dev: true - /pretty-format/29.6.1: resolution: {integrity: sha512-7jRj+yXO0W7e4/tSJKoR7HRIHLPPjtNaUGG2xxKQnGvPNRkgWcQ0AZX6P4KBRJN4FcTBWb3sa7DVUJmocYuoog==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -9631,7 +9500,6 @@ packages: ansi-styles: 5.2.0 react-is: 18.2.0 dev: true - optional: true /pretty-ms/7.0.1: resolution: {integrity: sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==} @@ -9693,6 +9561,38 @@ packages: ipaddr.js: 1.9.1 dev: true + /proxy-agent/6.3.0: + resolution: {integrity: sha512-0LdR757eTj/JfuU7TL2YCuAZnxWXu3tkJbg4Oq3geW/qFNT/32T0sp2HnZ9O0lMR4q3vwAt0+xCA8SR0WAD0og==} + engines: {node: '>= 14'} + dependencies: + agent-base: 7.1.0 + debug: 4.3.4 + http-proxy-agent: 7.0.0 + https-proxy-agent: 7.0.2 + 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-agent/6.3.1: + resolution: {integrity: sha512-Rb5RVBy1iyqOtNl15Cw/llpeLH8bsb37gM1FUfKQ+Wck6xHlbAhWGUFiTRHtkjqGTA5pSHz6+0hrPW/oECihPQ==} + engines: {node: '>= 14'} + dependencies: + agent-base: 7.1.0 + debug: 4.3.4 + http-proxy-agent: 7.0.0 + https-proxy-agent: 7.0.2 + 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 @@ -9716,41 +9616,20 @@ packages: engines: {node: '>=6'} dev: true - /puppeteer-core/19.6.3: - resolution: {integrity: sha512-8MbhioSlkDaHkmolpQf9Z7ui7jplFfOFTnN8d5kPsCazRRTNIH6/bVxPskn0v5Gh9oqOBlknw0eHH0/OBQAxpQ==} - engines: {node: '>=14.1.0'} - dependencies: - cross-fetch: 3.1.5 - debug: 4.3.4 - devtools-protocol: 0.0.1082910 - extract-zip: 2.0.1 - https-proxy-agent: 5.0.1 - proxy-from-env: 1.1.0 - rimraf: 3.0.2 - tar-fs: 2.1.1 - unbzip2-stream: 1.4.3 - ws: 8.11.0 - transitivePeerDependencies: - - bufferutil - - encoding - - supports-color - - utf-8-validate - dev: true - - /puppeteer-core/20.3.0_typescript@4.6.2: - resolution: {integrity: sha512-264pBrIui5bO6NJeOcbJrLa0OCwmA4+WK00JMrLIKTfRiqe2gx8KWTzLsjyw/bizErp3TKS7vt/I0i5fTC+mAw==} - engines: {node: '>=16.0.0'} + /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 dependencies: - '@puppeteer/browsers': 1.3.0_typescript@4.6.2 - chromium-bidi: 0.4.9_devtools-protocol@0.0.1120988 - cross-fetch: 3.1.6 + '@puppeteer/browsers': 1.4.6_typescript@4.6.2 + chromium-bidi: 0.4.16_devtools-protocol@0.0.1147663 + cross-fetch: 4.0.0 debug: 4.3.4 - devtools-protocol: 0.0.1120988 + devtools-protocol: 0.0.1147663 typescript: 4.6.2 ws: 8.13.0 transitivePeerDependencies: @@ -9778,11 +9657,25 @@ packages: resolution: {integrity: sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==} engines: {node: '>=0.10.0'} dependencies: - decode-uri-component: 0.2.0 + 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'} + 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 + /quick-lru/5.1.1: resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} engines: {node: '>=10'} @@ -9836,13 +9729,13 @@ packages: read-pkg: 1.1.0 dev: true - /read-pkg-up/9.1.0: - resolution: {integrity: sha512-vaMRR1AC1nrd5CQM0PhlRsO5oc2AAigqr7cCrZ/MW/Rsaflz4RlgzkpL4qoU/z1F6wrbd85iFv1OQj/y5RdGvg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + /read-pkg-up/10.1.0: + resolution: {integrity: sha512-aNtBq4jR8NawpKJQldrQcSW9y/d+KWH4v24HWkHljOZ7H0av+YTGANBzRh9A5pw7v/bLVsLVPpOhJ7gHNVy8lA==} + engines: {node: '>=16'} dependencies: find-up: 6.3.0 - read-pkg: 7.1.0 - type-fest: 2.19.0 + read-pkg: 8.1.0 + type-fest: 4.4.0 dev: true /read-pkg/1.1.0: @@ -9863,14 +9756,14 @@ packages: path-type: 3.0.0 dev: true - /read-pkg/7.1.0: - resolution: {integrity: sha512-5iOehe+WF75IccPc30bWTbpdDQLOCc3Uu8bi3Dte3Eueij81yx1Mrufk8qBx/YAbR4uL1FdUr+7BKXDwEtisXg==} - engines: {node: '>=12.20'} + /read-pkg/8.1.0: + resolution: {integrity: sha512-PORM8AgzXeskHO/WEv312k9U03B8K9JSiWF/8N9sUuFjBa+9SF2u6K7VClzXwDXab51jCd8Nd36CNM+zR97ScQ==} + engines: {node: '>=16'} dependencies: '@types/normalize-package-data': 2.4.1 - normalize-package-data: 3.0.3 - parse-json: 5.2.0 - type-fest: 2.19.0 + normalize-package-data: 6.0.0 + parse-json: 7.1.0 + type-fest: 4.4.0 dev: true /readable-stream/2.3.7: @@ -9894,10 +9787,10 @@ packages: util-deprecate: 1.0.2 dev: true - /readdir-glob/1.1.1: - resolution: {integrity: sha512-91/k1EzZwDx6HbERR+zucygRFfiPl2zkIYZtv3Jjr6Mn7SkKcVct8aVO+sSRiGMc6fLf72du3d92/uY63YPdEA==} + /readdir-glob/1.1.3: + resolution: {integrity: sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==} dependencies: - minimatch: 3.0.4 + minimatch: 5.1.6 dev: true /readdirp/3.6.0: @@ -9907,11 +9800,11 @@ packages: picomatch: 2.3.1 dev: true - /recursive-readdir/2.2.2: - resolution: {integrity: sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg==} - engines: {node: '>=0.10.0'} + /recursive-readdir/2.2.3: + resolution: {integrity: sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==} + engines: {node: '>=6.0.0'} dependencies: - minimatch: 3.0.4 + minimatch: 3.1.2 dev: true /regenerator-runtime/0.13.9: @@ -9964,12 +9857,8 @@ packages: engines: {node: '>=0.10.0'} dev: true - /resolve-alpn/1.0.0: - resolution: {integrity: sha512-rTuiIEqFmGxne4IovivKSDzld2lWW9QCjqv80SYjPgf+gS35eaCAjaP54CCwGAwBtnCsvNLYtqxe1Nw+i6JEmA==} - /resolve-alpn/1.2.1: resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} - dev: true /resolve-cwd/3.0.0: resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} @@ -10033,9 +9922,9 @@ packages: fast-deep-equal: 2.0.1 dev: true - /restore-cursor/4.0.0: - resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + /restore-cursor/3.1.0: + resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} + engines: {node: '>=8'} dependencies: onetime: 5.1.2 signal-exit: 3.0.7 @@ -10191,8 +10080,8 @@ packages: fsevents: 2.3.2 dev: true - /run-async/2.4.1: - resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} + /run-async/3.0.0: + resolution: {integrity: sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q==} engines: {node: '>=0.12.0'} dev: true @@ -10200,14 +10089,18 @@ packages: resolution: {integrity: sha512-zb/1OuZ6flOlH6tQyMPUrE3x3Ulxjlo9WIVXR4yVYi4H9UXQaeIsPbLn2R3O3vQCnDKkAl2qHiuocKKX4Tz/Sw==} dev: true - /rxjs/7.8.0: - resolution: {integrity: sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==} + /rxjs/7.8.1: + resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} dependencies: tslib: 2.3.1 dev: true - /safaridriver/0.0.4: - resolution: {integrity: sha512-EgK9Vc2Bk4WaECq1E7ti9GyeQ6JKKQNs40vNOE/b5Ul5dDEt429G0Kj5Nzs4FRS5ZIVa7nBck1TyHuinOYdz2Q==} + /safaridriver/0.0.6: + resolution: {integrity: sha512-cU8eBBOOoCsPKb3o/lvx8ppYWFVmTsnAu2MofkPbUPCfDvyFRtD8VyOGwWTtuJTdMNIC+dPnOgaoPNnsk7zs0Q==} + dev: true + + /safaridriver/0.1.0: + resolution: {integrity: sha512-azzzIP3gR1TB9bVPv7QO4Zjw0rR1BWEU/s2aFdUMN48gxDjxEB13grAEuXDmkKPgE74cObymDxmAmZnL3clj4w==} dev: true /safe-buffer/5.1.2: @@ -10222,17 +10115,32 @@ packages: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} dev: true - /saucelabs/7.2.0: - resolution: {integrity: sha512-87NDR3J5aH+mOSO9MY49ukxd2+PpvqYghAA0Vr6CHHw/0yuKtF94henVMdnC1HxpWe9agBizV+Gh9Bi98qzQow==} + /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.5 + got: 11.8.6 hash.js: 1.1.7 + query-string: 7.1.3 tunnel: 0.0.6 - yargs: 17.3.1 + yargs: 17.7.1 + dev: true + + /saucelabs/7.4.0: + resolution: {integrity: sha512-8EQTiYd+ntJhrWGFCQt74RnhilRvyQLHC/VVlL5PweF/c5slIeY6A/XaIKBF25cLGZTnEKuexZmOewfPOi0mUQ==} + hasBin: true + dependencies: + change-case: 4.1.2 + compressing: 1.10.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 /saxes/5.0.1: @@ -10294,18 +10202,18 @@ packages: upper-case-first: 2.0.2 dev: true - /serialize-error/7.0.1: - resolution: {integrity: sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==} - engines: {node: '>=10'} + /serialize-error/11.0.2: + resolution: {integrity: sha512-o43i0jLcA0LXA5Uu+gI1Vj+lF66KR9IAcy0ThbGq1bAMPN+k5IgSHsulfnqf/ddKAz6dWf+k8PD5hAr9oCSHEQ==} + engines: {node: '>=14.16'} dependencies: - type-fest: 0.13.1 + type-fest: 2.19.0 dev: true - /serialize-error/8.0.1: - resolution: {integrity: sha512-r5o60rWFS+8/b49DNAbB+GXZA0SpDpuWE758JxDKgRTga05r3U5lwyksE91dYKDhXSmnu36RALj615E6Aj5pSg==} + /serialize-error/7.0.1: + resolution: {integrity: sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==} engines: {node: '>=10'} dependencies: - type-fest: 0.20.2 + type-fest: 0.13.1 dev: true /serialize-javascript/4.0.0: @@ -10375,8 +10283,8 @@ packages: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} dev: true - /signal-exit/4.0.2: - resolution: {integrity: sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==} + /signal-exit/4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} dev: true @@ -10441,6 +10349,17 @@ packages: - supports-color dev: true + /socks-proxy-agent/8.0.2: + resolution: {integrity: sha512-8zuqoLv1aP/66PHF5TqwJ7Czm3Yv32urJQHrVyhD7mmA6d61Zv8cIXQYPTWwmg6qlupnPvs/QKDmfa4P/qct2g==} + engines: {node: '>= 14'} + dependencies: + agent-base: 7.1.0 + debug: 4.3.4 + socks: 2.7.1 + 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'} @@ -10449,6 +10368,14 @@ packages: 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'} + dependencies: + ip: 2.0.0 + 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'} @@ -10548,9 +10475,9 @@ packages: resolution: {integrity: sha1-bIOv82kvphJW4M0ZfgXp3hV2kaY=} dev: true - /split2/4.1.0: - resolution: {integrity: sha512-VBiJxFkxiXRlUIeyMQi8s4hgvKCSjtknJv/LVYbrgALPwf5zSKmEwV9Lst25AkvMDnvxODugjdl6KZgwKM1WYQ==} - engines: {node: '>= 10.x'} + /split-on-first/1.1.0: + resolution: {integrity: sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==} + engines: {node: '>=6'} dev: true /split2/4.2.0: @@ -10614,11 +10541,28 @@ packages: engines: {node: '>= 0.10.0'} dev: true + /streamifier/0.1.1: + resolution: {integrity: sha512-zDgl+muIlWzXNsXeyUfOk9dChMjlpkq0DRsxujtYPgyJ676yQ8jEm6zzaaWHFDg5BNcLuif0eD2MTyJdZqXpdg==} + engines: {node: '>=0.10'} + dev: true + + /streamx/2.15.1: + resolution: {integrity: sha512-fQMzy2O/Q47rgwErk/eGeLu/roaFWV0jVsogDmrszM9uIw8L5OA+t+V93MgYlufNptfjmYR1tOMWhei/Eh7TQA==} + dependencies: + fast-fifo: 1.3.2 + 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'} + dev: true + /string-length/4.0.1: resolution: {integrity: sha512-PKyXUd0LK0ePjSOnWn34V2uD6acUWev9uy0Ft05k0E8xRW+SKcA0F7eMr7h5xlzfn+4O3N+55rduYyet3Jk+jw==} engines: {node: '>=10'} @@ -10812,11 +10756,6 @@ packages: has-flag: 4.0.0 dev: true - /supports-color/9.3.1: - resolution: {integrity: sha512-knBY82pjmnIzK3NifMo3RxEIRD9E0kIzV4BKcyTZ9+9kWgLMxd4PrsTSMoFQUabgRBbF8KOLRDCyKgNV+iK44Q==} - engines: {node: '>=12'} - dev: true - /supports-hyperlinks/2.1.0: resolution: {integrity: sha512-zoE5/e+dnEijk6ASB6/qrK+oYdm2do1hjoLWrqUC/8WEIW1gbxFcKuBof7sW8ArN6e+AYvsE8HBGiVRWL/F5CA==} engines: {node: '>=8'} @@ -10843,13 +10782,12 @@ packages: tar-stream: 2.1.4 dev: true - /tar-fs/2.1.1: - resolution: {integrity: sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==} + /tar-fs/3.0.4: + resolution: {integrity: sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w==} dependencies: - chownr: 1.1.4 mkdirp-classic: 0.5.3 pump: 3.0.0 - tar-stream: 2.1.4 + tar-stream: 3.1.6 dev: true /tar-stream/1.6.2: @@ -10869,13 +10807,21 @@ packages: resolution: {integrity: sha512-o3pS2zlG4gxr67GmFYBLlq+dM8gyRGUOvsrHclSkvtVtQbjV0s/+ZE8OpICbaj8clrX3tjeHngYGP7rweaBnuw==} engines: {node: '>=6'} dependencies: - bl: 4.0.3 + 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 + /tar-stream/3.1.6: + resolution: {integrity: sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==} + dependencies: + b4a: 1.6.4 + fast-fifo: 1.3.2 + streamx: 2.15.1 + dev: true + /tar/6.1.11: resolution: {integrity: sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==} engines: {node: '>= 10'} @@ -10939,7 +10885,7 @@ packages: dev: true /through/2.3.8: - resolution: {integrity: sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=} + resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} dev: true /time-zone/1.0.0: @@ -11171,16 +11117,31 @@ packages: engines: {node: '>=10'} dev: true - /type-fest/1.4.0: - resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==} + /type-fest/0.21.3: + resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} engines: {node: '>=10'} dev: true + /type-fest/2.13.0: + resolution: {integrity: sha512-lPfAm42MxE4/456+QyIaaVBAwgpJb6xZ8PRu09utnhPdWwcyj9vgy6Sq0Z5yNbJ21EdxB5dRU/Qg8bsyAMtlcw==} + engines: {node: '>=12.20'} + dev: true + /type-fest/2.19.0: resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} engines: {node: '>=12.20'} dev: true + /type-fest/3.13.1: + resolution: {integrity: sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==} + engines: {node: '>=14.16'} + dev: true + + /type-fest/4.4.0: + resolution: {integrity: sha512-HT3RRs7sTfY22KuPQJkD/XjbTbxgP2Je5HPt6H6JEGvcjHd5Lqru75EbrP3tb4FYjNJ+DjLp+MNQTFQU0mhXNw==} + engines: {node: '>=16'} + dev: true + /type-is/1.6.18: resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} engines: {node: '>= 0.6'} @@ -11284,6 +11245,11 @@ packages: engines: {node: '>= 4'} dev: true + /userhome/1.0.0: + resolution: {integrity: sha512-ayFKY3H+Pwfy4W98yPdtH1VqH4psDeyW8lYYFzfecR9d6hqLpqhecktvYR3SEEXt7vG0S1JEpciI3g94pMErig==} + engines: {node: '>= 0.8.0'} + dev: true + /util-deprecate/1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} dev: true @@ -11309,11 +11275,6 @@ packages: hasBin: true dev: true - /uuid/9.0.0: - resolution: {integrity: sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==} - hasBin: true - dev: true - /v8-compile-cache-lib/3.0.1: resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} dev: true @@ -11415,8 +11376,8 @@ packages: defaults: 1.0.3 dev: true - /wdio-chromedriver-service/8.0.1_004e92621c7fa5837873d8fdb8947671: - resolution: {integrity: sha512-nLjJmUBlng8RtnTM/ZJt1rzwAY1QqsMZbmNDxX7/AuSZEu88URTjjUhGPHY0d9al33GSiVoF606P0QSQT6B1ag==} + /wdio-chromedriver-service/8.1.1_514dbdcecc2bde428ae175e957c6d0fe: + resolution: {integrity: sha512-pN3GiOkTIMnalfq4PJAHdX95pDp1orHnTY8W1fIbd6ok81ba97UjerTgS7lUDRUh1p0MAm35Ww0uc0/9wzB7SA==} engines: {node: ^16.13 || >=18} peerDependencies: '@wdio/types': ^7.0.0 || ^8.0.0-alpha.219 @@ -11428,19 +11389,19 @@ packages: chromedriver: optional: true dependencies: - '@wdio/logger': 8.1.0 - '@wdio/types': 8.3.0 + '@wdio/logger': 8.16.17 + '@wdio/types': 8.17.0 chromedriver: 114.0.2 fs-extra: 11.1.0 - split2: 4.1.0 + split2: 4.2.0 tcp-port-used: 1.0.2 - webdriverio: 8.3.5 + webdriverio: 8.18.2_typescript@4.6.2 transitivePeerDependencies: - supports-color dev: true - /wdio-edgedriver-service/3.0.2_@wdio+types@8.3.0: - resolution: {integrity: sha512-7rDzeG1Dpcbx28w5fpHX5MOm9bteiWeTVdeVvRVIqukVdgPyjS0Ej/pU4952wZBFWqnja4er0B90x6BYU1KiIw==} + /wdio-edgedriver-service/3.0.3_@wdio+types@8.17.0: + resolution: {integrity: sha512-oHKUFnh9Nn4s749Yl8hp20xvfF8GnK4jNV84qoy52/a0ETgWh0FG5qlRVXBIqIulqhGlfrCgL5/pIizMnEix1w==} engines: {node: ^16.13 || >=18} peerDependencies: '@wdio/types': ^7.0.0 || ^8.0.0 @@ -11448,9 +11409,9 @@ packages: '@wdio/types': optional: true dependencies: - '@wdio/logger': 8.11.0 - '@wdio/types': 8.3.0 - edgedriver: 5.2.1 + '@wdio/logger': 8.16.17 + '@wdio/types': 8.17.0 + edgedriver: 5.3.8 get-port: 7.0.0 split2: 4.2.0 wait-port: 1.0.4 @@ -11458,8 +11419,8 @@ packages: - supports-color dev: true - /wdio-safaridriver-service/2.1.0_38e69deb68987ddd418b1267598e302e: - resolution: {integrity: sha512-Zg0aZn8KJo+MwvdOTje2cja4OcrkpoCBhQSzVlhZ3SszMnwhi4VQ1p5TdHB9mWZpuVtsLHWpmx/G7ceJWendVw==} + /wdio-safaridriver-service/2.1.1_4fb69569f1618470b3fa12973abeed28: + resolution: {integrity: sha512-Rz8uls7EY0bHOZJpykmAMIQzT0gNe6lg32XdCjO/ppSvscWKP57lePGWD80RCU4kKnwX1TbrTivqfjl6vK/1rQ==} engines: {node: ^16.13 || >=18} peerDependencies: '@wdio/types': ^7.0.0 || ^8.0.0-alpha.219 @@ -11468,15 +11429,15 @@ packages: '@wdio/types': optional: true dependencies: - '@types/split2': 3.2.1 + '@types/split2': 4.2.1 '@types/tcp-port-used': 1.0.1 - '@wdio/logger': 8.11.0 - '@wdio/types': 8.3.0 - fs-extra: 11.1.0 - safaridriver: 0.0.4 - split2: 4.1.0 + '@wdio/logger': 8.16.17 + '@wdio/types': 8.17.0 + fs-extra: 11.1.1 + safaridriver: 0.0.6 + split2: 4.2.0 tcp-port-used: 1.0.2 - webdriverio: 8.3.5 + webdriverio: 8.18.2_typescript@4.6.2 transitivePeerDependencies: - supports-color dev: true @@ -11495,75 +11456,60 @@ packages: resolution: {integrity: sha512-qRkpmSeKfEWAzNhtX541xA8gCJ+pqCqBmUlDVkVDSCSYUvfvNqF+k9g8I+uyreRcDBdfiJrd0/aLbTy5ydo49Q==} dev: false - /webdriver/8.11.1: - resolution: {integrity: sha512-hSpUZYzUA65t4DDtKujCHUX6hpFTUleb7lWMcf5xjPz8sxWrK9R8NIw7pXt/GU6PVS331nGAaYkzoXrqz2VB8w==} + /webdriver/8.18.2: + resolution: {integrity: sha512-7xr8K2jlrRdhqK6LLHrg96OiccWT5EeBIQXk9xAifgIbs6l/JfzCjC9WqC0AmX9plXjR8wf2LS+Ob9Ajhx6v+A==} engines: {node: ^16.13 || >=18} dependencies: '@types/node': 20.3.3 '@types/ws': 8.5.4 - '@wdio/config': 8.11.0 - '@wdio/logger': 8.11.0 - '@wdio/protocols': 8.11.0 - '@wdio/types': 8.10.4 - '@wdio/utils': 8.11.0 + '@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 deepmerge-ts: 5.1.0 got: 12.6.1 ky: 0.33.2 ws: 8.13.0 transitivePeerDependencies: - bufferutil + - supports-color - utf-8-validate dev: true - /webdriver/8.3.5: - resolution: {integrity: sha512-TNlvRtX4OVDzkrLSH5vAVpzTRbpOEYKyU80S8wVx9OddTFgs4fc4SLEqZobdSc1W/IvKjoTNa8TkFx9M237tOw==} - engines: {node: ^16.13 || >=18} - dependencies: - '@types/node': 18.13.0 - '@types/ws': 8.5.4 - '@wdio/config': 8.3.2 - '@wdio/logger': 8.1.0 - '@wdio/protocols': 8.3.5 - '@wdio/types': 8.3.0 - '@wdio/utils': 8.3.0 - deepmerge-ts: 4.3.0 - got: 12.5.3 - ky: 0.33.2 - ws: 8.11.0 - transitivePeerDependencies: - - bufferutil - - utf-8-validate - dev: true - - /webdriverio/8.11.2_typescript@4.6.2: - resolution: {integrity: sha512-e/9WkdNTfWeoaSo2UzK0Giec/nQX3i7U9J8esimhozH/EpwSqIaEJ2pRRlxRVafEhe2OBG1QDhnLnDjdCC5Hxg==} + /webdriverio/8.18.2_typescript@4.6.2: + resolution: {integrity: sha512-vX+U4QH9HdyT3upcOzP6YMpnAA1oZJJAZetvf9aWZ9KnBzgkL60LiZ/q9xCX+VWYKEIvNZ66ekppbuZ8FpobIQ==} engines: {node: ^16.13 || >=18} + peerDependencies: + devtools: ^8.14.0 + peerDependenciesMeta: + devtools: + optional: true dependencies: '@types/node': 20.3.3 - '@wdio/config': 8.11.0 - '@wdio/logger': 8.11.0 - '@wdio/protocols': 8.11.0 + '@wdio/config': 8.18.2 + '@wdio/logger': 8.16.17 + '@wdio/protocols': 8.18.0 '@wdio/repl': 8.10.1 - '@wdio/types': 8.10.4 - '@wdio/utils': 8.11.0 - archiver: 5.1.0 + '@wdio/types': 8.17.0 + '@wdio/utils': 8.18.2 + archiver: 6.0.1 aria-query: 5.0.0 css-shorthand-properties: 1.1.1 css-value: 0.0.1 - devtools: 8.11.0_typescript@4.6.2 - devtools-protocol: 0.0.1152884 + devtools-protocol: 0.0.1206220 grapheme-splitter: 1.0.4 import-meta-resolve: 3.0.0 is-plain-obj: 4.1.0 lodash.clonedeep: 4.5.0 lodash.zip: 4.2.0 minimatch: 9.0.2 - puppeteer-core: 20.3.0_typescript@4.6.2 + puppeteer-core: 20.9.0_typescript@4.6.2 query-selector-shadow-dom: 1.0.0 resq: 1.10.0 rgb2hex: 0.2.5 - serialize-error: 8.0.1 - webdriver: 8.11.1 + serialize-error: 11.0.2 + webdriver: 8.18.2 transitivePeerDependencies: - bufferutil - encoding @@ -11572,42 +11518,6 @@ packages: - utf-8-validate dev: true - /webdriverio/8.3.5: - resolution: {integrity: sha512-Rf3Yadk7qydAJiobazk0TzIPK8iYzzbDcbNKa3xX9u3VUMK1xZeoccZunE5WImu4Llg+1BBA2IN1rW0iiQHe5w==} - engines: {node: ^16.13 || >=18} - dependencies: - '@types/node': 18.13.0 - '@wdio/config': 8.3.2 - '@wdio/logger': 8.1.0 - '@wdio/protocols': 8.3.5 - '@wdio/repl': 8.1.0 - '@wdio/types': 8.3.0 - '@wdio/utils': 8.3.0 - archiver: 5.1.0 - aria-query: 5.0.0 - css-shorthand-properties: 1.1.1 - css-value: 0.0.1 - devtools: 8.3.5 - devtools-protocol: 0.0.1101329 - grapheme-splitter: 1.0.4 - import-meta-resolve: 2.2.1 - is-plain-obj: 4.1.0 - lodash.clonedeep: 4.5.0 - lodash.zip: 4.2.0 - minimatch: 6.1.6 - puppeteer-core: 19.6.3 - query-selector-shadow-dom: 1.0.0 - resq: 1.10.0 - rgb2hex: 0.2.5 - serialize-error: 8.0.1 - webdriver: 8.3.5 - transitivePeerDependencies: - - bufferutil - - encoding - - supports-color - - utf-8-validate - dev: true - /webidl-conversions/3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} dev: true @@ -11668,12 +11578,12 @@ packages: isexe: 2.0.0 dev: true - /which/3.0.1: - resolution: {integrity: sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + /which/4.0.0: + resolution: {integrity: sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==} + engines: {node: ^16.13.0 || >=18.0.0} hasBin: true dependencies: - isexe: 2.0.0 + isexe: 3.1.1 dev: true /wide-align/1.1.5: @@ -11694,6 +11604,15 @@ packages: engines: {node: '>=0.10.0'} dev: true + /wrap-ansi/6.2.0: + resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} + engines: {node: '>=8'} + 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'} @@ -11745,19 +11664,6 @@ packages: optional: true dev: true - /ws/8.11.0: - resolution: {integrity: sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==} - 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: resolution: {integrity: sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==} engines: {node: '>=10.0.0'} @@ -11838,8 +11744,8 @@ packages: yargs-parser: 21.0.0 dev: true - /yargs/17.6.2: - resolution: {integrity: sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==} + /yargs/17.7.1: + resolution: {integrity: sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw==} engines: {node: '>=12'} dependencies: cliui: 8.0.1 @@ -11851,8 +11757,8 @@ packages: yargs-parser: 21.1.1 dev: true - /yargs/17.7.1: - resolution: {integrity: sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw==} + /yargs/17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} engines: {node: '>=12'} dependencies: cliui: 8.0.1 @@ -11881,6 +11787,12 @@ packages: fd-slicer: 1.1.0 dev: true + /yazl/2.5.1: + resolution: {integrity: sha512-phENi2PLiHnHb6QBVot+dJnaAZ0xosj7p3fWl+znIjBDlnMI2PsZCJZ306BPTFOaHf5qdDEI8x5qFrSOBN5vrw==} + dependencies: + buffer-crc32: 0.2.13 + dev: true + /yn/3.1.1: resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} engines: {node: '>=6'} @@ -11896,12 +11808,12 @@ packages: engines: {node: '>=12.20'} dev: true - /zip-stream/4.0.4: - resolution: {integrity: sha512-a65wQ3h5gcQ/nQGWV1mSZCEzCML6EK/vyVPcrPNynySP1j3VBbQKh3nhC8CbORb+jfl2vXvh56Ul5odP1bAHqw==} - engines: {node: '>= 10'} + /zip-stream/5.0.1: + resolution: {integrity: sha512-UfZ0oa0C8LI58wJ+moL46BDIMgCQbnsb+2PoiJYtonhBsMh2bq1eRBVkvjfVsqbEHd9/EgKPUuL9saSSsec8OA==} + engines: {node: '>= 12.0.0'} dependencies: - archiver-utils: 2.1.0 - compress-commons: 4.0.2 + archiver-utils: 4.0.1 + compress-commons: 5.0.1 readable-stream: 3.6.0 dev: true diff --git a/common/config/rush/repo-state.json b/common/config/rush/repo-state.json index bbb32c307..77d8ad8e4 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": "1a1088b00d3708ad3e18a4dae34bc79e9b057acd", + "pnpmShrinkwrapHash": "c272b447631dc0e0be0f52f2e7d1ed6aa6603939", "preferredVersionsHash": "bf21a9e8fbc5a3846fb05b4fa0859e0917b2202f" } diff --git a/trackers/javascript-tracker/package.json b/trackers/javascript-tracker/package.json index 4aa352dda..9d660ed2b 100644 --- a/trackers/javascript-tracker/package.json +++ b/trackers/javascript-tracker/package.json @@ -79,13 +79,13 @@ "@types/jsdom": "~16.2.14", "@types/lodash": "~4.14.180", "@types/node": "~14.6.0", - "@wdio/cli": "~8.3.3", - "@wdio/jasmine-framework": "~8.3.3", - "@wdio/local-runner": "~8.3.3", - "@wdio/sauce-service": "~8.3.3", - "@wdio/spec-reporter": "~8.3.0", - "@wdio/static-server-service": "~8.3.0", - "@wdio/types": "~8.3.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", "chalk": "4.1.2", "chromedriver": "~114.0.0", "dockerode": "~3.3.1", @@ -102,18 +102,18 @@ "rollup-plugin-sizes": "~1.0.4", "rollup-plugin-terser": "~7.0.2", "rollup-plugin-ts": "~2.0.5", - "saucelabs": "~7.2.0", + "saucelabs": "~7.4.0", "ts-jest": "~27.1.3", "ts-node": "~10.9.1", "typescript": "~4.6.2", - "wdio-chromedriver-service": "~8.0.1", - "webdriverio": "~8.3.3", - "@wdio/shared-store-service": "~8.11.2", + "wdio-chromedriver-service": "~8.1.1", + "webdriverio": "~8.18.2", + "@wdio/shared-store-service": "~8.18.2", "node-fetch": "2", "@types/node-fetch": "2", - "@wdio/globals": "~8.11.2", - "wdio-safaridriver-service": "~2.1.0", - "wdio-edgedriver-service": "~3.0.2", + "@wdio/globals": "~8.18.2", + "wdio-safaridriver-service": "~2.1.1", + "wdio-edgedriver-service": "~3.0.3", "@types/youtube": "~0.0.46" } } From 613ba5de520b997e87aa3a93d6d3dd5a5a3ec015 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 16 Oct 2023 14:58:08 +0000 Subject: [PATCH 136/449] Update changelogs [skip ci] --- .../issue-focalmeter_2022-12-22-13-04.json | 10 ---------- .../issue-1241_2023-10-10-10-15.json | 10 ---------- .../issue-1241_2023-10-10-10-15.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 ++++++- 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 | 12 ++++++++++++ plugins/browser-plugin-focalmeter/CHANGELOG.md | 11 +++++++++++ plugins/browser-plugin-form-tracking/CHANGELOG.json | 12 ++++++++++++ plugins/browser-plugin-form-tracking/CHANGELOG.md | 9 ++++++++- 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 ++++++- 67 files changed, 403 insertions(+), 61 deletions(-) delete mode 100644 common/changes/@snowplow/browser-plugin-focalmeter/issue-focalmeter_2022-12-22-13-04.json delete mode 100644 common/changes/@snowplow/browser-plugin-form-tracking/issue-1241_2023-10-10-10-15.json delete mode 100644 common/changes/@snowplow/javascript-tracker/issue-1241_2023-10-10-10-15.json create mode 100644 plugins/browser-plugin-focalmeter/CHANGELOG.md diff --git a/common/changes/@snowplow/browser-plugin-focalmeter/issue-focalmeter_2022-12-22-13-04.json b/common/changes/@snowplow/browser-plugin-focalmeter/issue-focalmeter_2022-12-22-13-04.json deleted file mode 100644 index 325547edf..000000000 --- a/common/changes/@snowplow/browser-plugin-focalmeter/issue-focalmeter_2022-12-22-13-04.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-plugin-focalmeter", - "comment": "Add plugin to send requests with user ID to a Kantar FocalMeter endpoint (#1133)", - "type": "none" - } - ], - "packageName": "@snowplow/browser-plugin-focalmeter" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-form-tracking/issue-1241_2023-10-10-10-15.json b/common/changes/@snowplow/browser-plugin-form-tracking/issue-1241_2023-10-10-10-15.json deleted file mode 100644 index 57bdb1ff0..000000000 --- a/common/changes/@snowplow/browser-plugin-form-tracking/issue-1241_2023-10-10-10-15.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-plugin-form-tracking", - "comment": "Fix transform function for submit_form event", - "type": "none" - } - ], - "packageName": "@snowplow/browser-plugin-form-tracking" -} \ No newline at end of file diff --git a/common/changes/@snowplow/javascript-tracker/issue-1241_2023-10-10-10-15.json b/common/changes/@snowplow/javascript-tracker/issue-1241_2023-10-10-10-15.json deleted file mode 100644 index ae2f53795..000000000 --- a/common/changes/@snowplow/javascript-tracker/issue-1241_2023-10-10-10-15.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "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/CHANGELOG.json b/libraries/browser-tracker-core/CHANGELOG.json index b25b0c079..828399fee 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.16.0", + "tag": "@snowplow/browser-tracker-core_v3.16.0", + "date": "Mon, 16 Oct 2023 14:58:08 GMT", + "comments": {} + }, { "version": "3.15.0", "tag": "@snowplow/browser-tracker-core_v3.15.0", diff --git a/libraries/browser-tracker-core/CHANGELOG.md b/libraries/browser-tracker-core/CHANGELOG.md index 88501ac1b..fb800840a 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 Mon, 28 Aug 2023 14:25:14 GMT and should not be manually modified. +This log was last generated on Mon, 16 Oct 2023 14:58:08 GMT and should not be manually modified. + +## 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 diff --git a/libraries/tracker-core/CHANGELOG.json b/libraries/tracker-core/CHANGELOG.json index 834d26709..5ae8b3e2e 100644 --- a/libraries/tracker-core/CHANGELOG.json +++ b/libraries/tracker-core/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/tracker-core", "entries": [ + { + "version": "3.16.0", + "tag": "@snowplow/tracker-core_v3.16.0", + "date": "Mon, 16 Oct 2023 14:58:08 GMT", + "comments": {} + }, { "version": "3.15.0", "tag": "@snowplow/tracker-core_v3.15.0", diff --git a/libraries/tracker-core/CHANGELOG.md b/libraries/tracker-core/CHANGELOG.md index bcebc2c07..6aba93d0d 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, 28 Aug 2023 14:25:14 GMT and should not be manually modified. +This log was last generated on Mon, 16 Oct 2023 14:58:08 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-ad-tracking/CHANGELOG.json b/plugins/browser-plugin-ad-tracking/CHANGELOG.json index a91cd9666..beecede67 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.16.0", + "tag": "@snowplow/browser-plugin-ad-tracking_v3.16.0", + "date": "Mon, 16 Oct 2023 14:58:08 GMT", + "comments": {} + }, { "version": "3.15.0", "tag": "@snowplow/browser-plugin-ad-tracking_v3.15.0", diff --git a/plugins/browser-plugin-ad-tracking/CHANGELOG.md b/plugins/browser-plugin-ad-tracking/CHANGELOG.md index e251dddaa..bd8faf463 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, 28 Aug 2023 14:25:14 GMT and should not be manually modified. +This log was last generated on Mon, 16 Oct 2023 14:58:08 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-browser-features/CHANGELOG.json b/plugins/browser-plugin-browser-features/CHANGELOG.json index 3efcda4cb..68d98c2a2 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.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", diff --git a/plugins/browser-plugin-browser-features/CHANGELOG.md b/plugins/browser-plugin-browser-features/CHANGELOG.md index 521110f7d..88e13827b 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, 28 Aug 2023 14:25:14 GMT and should not be manually modified. +This log was last generated on Mon, 16 Oct 2023 14:58:08 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-client-hints/CHANGELOG.json b/plugins/browser-plugin-client-hints/CHANGELOG.json index 9421091a2..90ba29aee 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.16.0", + "tag": "@snowplow/browser-plugin-client-hints_v3.16.0", + "date": "Mon, 16 Oct 2023 14:58:08 GMT", + "comments": {} + }, { "version": "3.15.0", "tag": "@snowplow/browser-plugin-client-hints_v3.15.0", diff --git a/plugins/browser-plugin-client-hints/CHANGELOG.md b/plugins/browser-plugin-client-hints/CHANGELOG.md index c2d21d34e..5ddaa5b2f 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, 28 Aug 2023 14:25:14 GMT and should not be manually modified. +This log was last generated on Mon, 16 Oct 2023 14:58:08 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-consent/CHANGELOG.json b/plugins/browser-plugin-consent/CHANGELOG.json index 110210fc0..4d94def9f 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.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", diff --git a/plugins/browser-plugin-consent/CHANGELOG.md b/plugins/browser-plugin-consent/CHANGELOG.md index 53c2cc797..1b24d546f 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, 28 Aug 2023 14:25:14 GMT and should not be manually modified. +This log was last generated on Mon, 16 Oct 2023 14:58:08 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-debugger/CHANGELOG.json b/plugins/browser-plugin-debugger/CHANGELOG.json index b5473a1fb..1d6914eb4 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.16.0", + "tag": "@snowplow/browser-plugin-debugger_v3.16.0", + "date": "Mon, 16 Oct 2023 14:58:08 GMT", + "comments": {} + }, { "version": "3.15.0", "tag": "@snowplow/browser-plugin-debugger_v3.15.0", diff --git a/plugins/browser-plugin-debugger/CHANGELOG.md b/plugins/browser-plugin-debugger/CHANGELOG.md index 13b88ce1b..4a3e1a857 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, 28 Aug 2023 14:25:14 GMT and should not be manually modified. +This log was last generated on Mon, 16 Oct 2023 14:58:08 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-ecommerce/CHANGELOG.json b/plugins/browser-plugin-ecommerce/CHANGELOG.json index f5f051a63..f3dd02145 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.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", diff --git a/plugins/browser-plugin-ecommerce/CHANGELOG.md b/plugins/browser-plugin-ecommerce/CHANGELOG.md index 4d4c40cd5..018495162 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, 28 Aug 2023 14:25:14 GMT and should not be manually modified. +This log was last generated on Mon, 16 Oct 2023 14:58:08 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-enhanced-consent/CHANGELOG.json b/plugins/browser-plugin-enhanced-consent/CHANGELOG.json index 116520065..74e33fac7 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.16.0", + "tag": "@snowplow/browser-plugin-enhanced-consent_v3.16.0", + "date": "Mon, 16 Oct 2023 14:58:08 GMT", + "comments": {} + }, { "version": "3.15.0", "tag": "@snowplow/browser-plugin-enhanced-consent_v3.15.0", diff --git a/plugins/browser-plugin-enhanced-consent/CHANGELOG.md b/plugins/browser-plugin-enhanced-consent/CHANGELOG.md index 8e2ca61f7..dfcea66ba 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, 28 Aug 2023 14:25:14 GMT and should not be manually modified. +This log was last generated on Mon, 16 Oct 2023 14:58:08 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.json b/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.json index 6f539f919..4bc290418 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.16.0", + "tag": "@snowplow/browser-plugin-enhanced-ecommerce_v3.16.0", + "date": "Mon, 16 Oct 2023 14:58:08 GMT", + "comments": {} + }, { "version": "3.15.0", "tag": "@snowplow/browser-plugin-enhanced-ecommerce_v3.15.0", diff --git a/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.md b/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.md index 83bd91a9c..8ccbcaa80 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, 28 Aug 2023 14:25:14 GMT and should not be manually modified. +This log was last generated on Mon, 16 Oct 2023 14:58:08 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-error-tracking/CHANGELOG.json b/plugins/browser-plugin-error-tracking/CHANGELOG.json index 7557d2fe7..d2b65fdbb 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.16.0", + "tag": "@snowplow/browser-plugin-error-tracking_v3.16.0", + "date": "Mon, 16 Oct 2023 14:58:08 GMT", + "comments": {} + }, { "version": "3.15.0", "tag": "@snowplow/browser-plugin-error-tracking_v3.15.0", diff --git a/plugins/browser-plugin-error-tracking/CHANGELOG.md b/plugins/browser-plugin-error-tracking/CHANGELOG.md index 3324e0a57..dc22bbbac 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, 28 Aug 2023 14:25:14 GMT and should not be manually modified. +This log was last generated on Mon, 16 Oct 2023 14:58:08 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-focalmeter/CHANGELOG.json b/plugins/browser-plugin-focalmeter/CHANGELOG.json index 7f74dc674..b25f75995 100644 --- a/plugins/browser-plugin-focalmeter/CHANGELOG.json +++ b/plugins/browser-plugin-focalmeter/CHANGELOG.json @@ -1,5 +1,17 @@ { "name": "@snowplow/browser-plugin-focalmeter", "entries": [ + { + "version": "3.16.0", + "tag": "@snowplow/browser-plugin-focalmeter_v3.16.0", + "date": "Mon, 16 Oct 2023 14:58:08 GMT", + "comments": { + "none": [ + { + "comment": "Add plugin to send requests with user ID to a Kantar FocalMeter endpoint (#1133)" + } + ] + } + } ] } diff --git a/plugins/browser-plugin-focalmeter/CHANGELOG.md b/plugins/browser-plugin-focalmeter/CHANGELOG.md new file mode 100644 index 000000000..1137844eb --- /dev/null +++ b/plugins/browser-plugin-focalmeter/CHANGELOG.md @@ -0,0 +1,11 @@ +# Change Log - @snowplow/browser-plugin-focalmeter + +This log was last generated on Mon, 16 Oct 2023 14:58:08 GMT and should not be manually modified. + +## 3.16.0 +Mon, 16 Oct 2023 14:58:08 GMT + +### Updates + +- Add plugin to send requests with user ID to a Kantar FocalMeter endpoint (#1133) + diff --git a/plugins/browser-plugin-form-tracking/CHANGELOG.json b/plugins/browser-plugin-form-tracking/CHANGELOG.json index a317c0d11..a8caf3bd9 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.16.0", + "tag": "@snowplow/browser-plugin-form-tracking_v3.16.0", + "date": "Mon, 16 Oct 2023 14:58:08 GMT", + "comments": { + "none": [ + { + "comment": "Fix transform function for submit_form event" + } + ] + } + }, { "version": "3.15.0", "tag": "@snowplow/browser-plugin-form-tracking_v3.15.0", diff --git a/plugins/browser-plugin-form-tracking/CHANGELOG.md b/plugins/browser-plugin-form-tracking/CHANGELOG.md index 56d0e56fa..367d30ce9 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 Mon, 28 Aug 2023 14:25:14 GMT and should not be manually modified. +This log was last generated on Mon, 16 Oct 2023 14:58:08 GMT and should not be manually modified. + +## 3.16.0 +Mon, 16 Oct 2023 14:58:08 GMT + +### Updates + +- Fix transform function for submit_form event ## 3.15.0 Mon, 28 Aug 2023 14:25:14 GMT diff --git a/plugins/browser-plugin-ga-cookies/CHANGELOG.json b/plugins/browser-plugin-ga-cookies/CHANGELOG.json index 09043257b..07b158b9f 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.16.0", + "tag": "@snowplow/browser-plugin-ga-cookies_v3.16.0", + "date": "Mon, 16 Oct 2023 14:58:08 GMT", + "comments": {} + }, { "version": "3.15.0", "tag": "@snowplow/browser-plugin-ga-cookies_v3.15.0", diff --git a/plugins/browser-plugin-ga-cookies/CHANGELOG.md b/plugins/browser-plugin-ga-cookies/CHANGELOG.md index 566398dfc..9cf7fd021 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, 28 Aug 2023 14:25:14 GMT and should not be manually modified. +This log was last generated on Mon, 16 Oct 2023 14:58:08 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-geolocation/CHANGELOG.json b/plugins/browser-plugin-geolocation/CHANGELOG.json index 2a51c5b3b..1a9c9807d 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.16.0", + "tag": "@snowplow/browser-plugin-geolocation_v3.16.0", + "date": "Mon, 16 Oct 2023 14:58:08 GMT", + "comments": {} + }, { "version": "3.15.0", "tag": "@snowplow/browser-plugin-geolocation_v3.15.0", diff --git a/plugins/browser-plugin-geolocation/CHANGELOG.md b/plugins/browser-plugin-geolocation/CHANGELOG.md index 5b8978723..51ebbc62c 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, 28 Aug 2023 14:25:14 GMT and should not be manually modified. +This log was last generated on Mon, 16 Oct 2023 14:58:08 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-link-click-tracking/CHANGELOG.json b/plugins/browser-plugin-link-click-tracking/CHANGELOG.json index d8e645110..40751bc40 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.16.0", + "tag": "@snowplow/browser-plugin-link-click-tracking_v3.16.0", + "date": "Mon, 16 Oct 2023 14:58:08 GMT", + "comments": {} + }, { "version": "3.15.0", "tag": "@snowplow/browser-plugin-link-click-tracking_v3.15.0", diff --git a/plugins/browser-plugin-link-click-tracking/CHANGELOG.md b/plugins/browser-plugin-link-click-tracking/CHANGELOG.md index 9341ba145..bd0343cb3 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, 28 Aug 2023 14:25:14 GMT and should not be manually modified. +This log was last generated on Mon, 16 Oct 2023 14:58:08 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-media-tracking/CHANGELOG.json b/plugins/browser-plugin-media-tracking/CHANGELOG.json index 0a71c8eb2..d3ced4f81 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.16.0", + "tag": "@snowplow/browser-plugin-media-tracking_v3.16.0", + "date": "Mon, 16 Oct 2023 14:58:08 GMT", + "comments": {} + }, { "version": "3.15.0", "tag": "@snowplow/browser-plugin-media-tracking_v3.15.0", diff --git a/plugins/browser-plugin-media-tracking/CHANGELOG.md b/plugins/browser-plugin-media-tracking/CHANGELOG.md index 571ab38b1..672724506 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, 28 Aug 2023 14:25:14 GMT and should not be manually modified. +This log was last generated on Mon, 16 Oct 2023 14:58:08 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-media/CHANGELOG.json b/plugins/browser-plugin-media/CHANGELOG.json index 7cd56742f..68f6fc329 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.16.0", + "tag": "@snowplow/browser-plugin-media_v3.16.0", + "date": "Mon, 16 Oct 2023 14:58:08 GMT", + "comments": {} + }, { "version": "3.15.0", "tag": "@snowplow/browser-plugin-media_v3.15.0", diff --git a/plugins/browser-plugin-media/CHANGELOG.md b/plugins/browser-plugin-media/CHANGELOG.md index fea228a00..403804cae 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, 28 Aug 2023 14:25:14 GMT and should not be manually modified. +This log was last generated on Mon, 16 Oct 2023 14:58:08 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-optimizely-x/CHANGELOG.json b/plugins/browser-plugin-optimizely-x/CHANGELOG.json index 85bc0f0dc..0ff6566eb 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.16.0", + "tag": "@snowplow/browser-plugin-optimizely-x_v3.16.0", + "date": "Mon, 16 Oct 2023 14:58:08 GMT", + "comments": {} + }, { "version": "3.15.0", "tag": "@snowplow/browser-plugin-optimizely-x_v3.15.0", diff --git a/plugins/browser-plugin-optimizely-x/CHANGELOG.md b/plugins/browser-plugin-optimizely-x/CHANGELOG.md index 5b50231b8..e999560d4 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, 28 Aug 2023 14:25:14 GMT and should not be manually modified. +This log was last generated on Mon, 16 Oct 2023 14:58:08 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-optimizely/CHANGELOG.json b/plugins/browser-plugin-optimizely/CHANGELOG.json index 95360a9e9..9c9d14cea 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.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", diff --git a/plugins/browser-plugin-optimizely/CHANGELOG.md b/plugins/browser-plugin-optimizely/CHANGELOG.md index ec192ca22..d2b8cef5d 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, 28 Aug 2023 14:25:14 GMT and should not be manually modified. +This log was last generated on Mon, 16 Oct 2023 14:58:08 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.json b/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.json index 79a81ade2..76f585902 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.16.0", + "tag": "@snowplow/browser-plugin-performance-navigation-timing_v3.16.0", + "date": "Mon, 16 Oct 2023 14:58:08 GMT", + "comments": {} + }, { "version": "3.15.0", "tag": "@snowplow/browser-plugin-performance-navigation-timing_v3.15.0", diff --git a/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.md b/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.md index 518d5611a..3bd8f1a82 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, 28 Aug 2023 14:25:14 GMT and should not be manually modified. +This log was last generated on Mon, 16 Oct 2023 14:58:08 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-performance-timing/CHANGELOG.json b/plugins/browser-plugin-performance-timing/CHANGELOG.json index 68b28c5d8..90701849a 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.16.0", + "tag": "@snowplow/browser-plugin-performance-timing_v3.16.0", + "date": "Mon, 16 Oct 2023 14:58:08 GMT", + "comments": {} + }, { "version": "3.15.0", "tag": "@snowplow/browser-plugin-performance-timing_v3.15.0", diff --git a/plugins/browser-plugin-performance-timing/CHANGELOG.md b/plugins/browser-plugin-performance-timing/CHANGELOG.md index b25cda7f9..be6da19bc 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, 28 Aug 2023 14:25:14 GMT and should not be manually modified. +This log was last generated on Mon, 16 Oct 2023 14:58:08 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-privacy-sandbox/CHANGELOG.json b/plugins/browser-plugin-privacy-sandbox/CHANGELOG.json index 4bfeeb66f..54b9aa4ae 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.16.0", + "tag": "@snowplow/browser-plugin-privacy-sandbox_v3.16.0", + "date": "Mon, 16 Oct 2023 14:58:08 GMT", + "comments": {} + }, { "version": "3.15.0", "tag": "@snowplow/browser-plugin-privacy-sandbox_v3.15.0", diff --git a/plugins/browser-plugin-privacy-sandbox/CHANGELOG.md b/plugins/browser-plugin-privacy-sandbox/CHANGELOG.md index 6812b6bd7..8d96b4370 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, 28 Aug 2023 14:25:14 GMT and should not be manually modified. +This log was last generated on Mon, 16 Oct 2023 14:58:08 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-site-tracking/CHANGELOG.json b/plugins/browser-plugin-site-tracking/CHANGELOG.json index b20a2aa59..45b140296 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.16.0", + "tag": "@snowplow/browser-plugin-site-tracking_v3.16.0", + "date": "Mon, 16 Oct 2023 14:58:08 GMT", + "comments": {} + }, { "version": "3.15.0", "tag": "@snowplow/browser-plugin-site-tracking_v3.15.0", diff --git a/plugins/browser-plugin-site-tracking/CHANGELOG.md b/plugins/browser-plugin-site-tracking/CHANGELOG.md index ce546eeba..b2c0f21aa 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, 28 Aug 2023 14:25:14 GMT and should not be manually modified. +This log was last generated on Mon, 16 Oct 2023 14:58:08 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.json b/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.json index d463c17dc..78e6537a4 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.16.0", + "tag": "@snowplow/browser-plugin-snowplow-ecommerce_v3.16.0", + "date": "Mon, 16 Oct 2023 14:58:08 GMT", + "comments": {} + }, { "version": "3.15.0", "tag": "@snowplow/browser-plugin-snowplow-ecommerce_v3.15.0", diff --git a/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.md b/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.md index 853c98133..24a95a9ed 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 Mon, 28 Aug 2023 14:25:14 GMT and should not be manually modified. +This log was last generated on Mon, 16 Oct 2023 14:58:08 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-timezone/CHANGELOG.json b/plugins/browser-plugin-timezone/CHANGELOG.json index 3357152a7..f04989af6 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.16.0", + "tag": "@snowplow/browser-plugin-timezone_v3.16.0", + "date": "Mon, 16 Oct 2023 14:58:08 GMT", + "comments": {} + }, { "version": "3.15.0", "tag": "@snowplow/browser-plugin-timezone_v3.15.0", diff --git a/plugins/browser-plugin-timezone/CHANGELOG.md b/plugins/browser-plugin-timezone/CHANGELOG.md index e84d66de4..56d5bd19c 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, 28 Aug 2023 14:25:14 GMT and should not be manually modified. +This log was last generated on Mon, 16 Oct 2023 14:58:08 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-vimeo-tracking/CHANGELOG.json b/plugins/browser-plugin-vimeo-tracking/CHANGELOG.json index 862c9e933..76f066ac3 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.16.0", + "tag": "@snowplow/browser-plugin-vimeo-tracking_v3.16.0", + "date": "Mon, 16 Oct 2023 14:58:08 GMT", + "comments": {} + }, { "version": "3.15.0", "tag": "@snowplow/browser-plugin-vimeo-tracking_v3.15.0", diff --git a/plugins/browser-plugin-vimeo-tracking/CHANGELOG.md b/plugins/browser-plugin-vimeo-tracking/CHANGELOG.md index aa0b99919..a1ba1fc95 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, 28 Aug 2023 14:25:14 GMT and should not be manually modified. +This log was last generated on Mon, 16 Oct 2023 14:58:08 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-web-vitals/CHANGELOG.json b/plugins/browser-plugin-web-vitals/CHANGELOG.json index 1ad602765..3fbf078b5 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.16.0", + "tag": "@snowplow/browser-plugin-web-vitals_v3.16.0", + "date": "Mon, 16 Oct 2023 14:58:08 GMT", + "comments": {} + }, { "version": "3.15.0", "tag": "@snowplow/browser-plugin-web-vitals_v3.15.0", diff --git a/plugins/browser-plugin-web-vitals/CHANGELOG.md b/plugins/browser-plugin-web-vitals/CHANGELOG.md index eac0845f1..5603ea40c 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, 28 Aug 2023 14:25:14 GMT and should not be manually modified. +This log was last generated on Mon, 16 Oct 2023 14:58:08 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-youtube-tracking/CHANGELOG.json b/plugins/browser-plugin-youtube-tracking/CHANGELOG.json index 908c2d615..04ef3b205 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.16.0", + "tag": "@snowplow/browser-plugin-youtube-tracking_v3.16.0", + "date": "Mon, 16 Oct 2023 14:58:08 GMT", + "comments": {} + }, { "version": "3.15.0", "tag": "@snowplow/browser-plugin-youtube-tracking_v3.15.0", diff --git a/plugins/browser-plugin-youtube-tracking/CHANGELOG.md b/plugins/browser-plugin-youtube-tracking/CHANGELOG.md index bb353b41b..d7612f962 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, 28 Aug 2023 14:25:14 GMT and should not be manually modified. +This log was last generated on Mon, 16 Oct 2023 14:58:08 GMT and should not be manually modified. + +## 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 diff --git a/trackers/browser-tracker/CHANGELOG.json b/trackers/browser-tracker/CHANGELOG.json index d648da0bb..bfc97e3b0 100644 --- a/trackers/browser-tracker/CHANGELOG.json +++ b/trackers/browser-tracker/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-tracker", "entries": [ + { + "version": "3.16.0", + "tag": "@snowplow/browser-tracker_v3.16.0", + "date": "Mon, 16 Oct 2023 14:58:08 GMT", + "comments": {} + }, { "version": "3.15.0", "tag": "@snowplow/browser-tracker_v3.15.0", diff --git a/trackers/browser-tracker/CHANGELOG.md b/trackers/browser-tracker/CHANGELOG.md index babcf4706..1aa0da24c 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, 28 Aug 2023 14:25:14 GMT and should not be manually modified. +This log was last generated on Mon, 16 Oct 2023 14:58:08 GMT and should not be manually modified. + +## 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 diff --git a/trackers/javascript-tracker/CHANGELOG.json b/trackers/javascript-tracker/CHANGELOG.json index 3bf9eb3a5..8455da56a 100644 --- a/trackers/javascript-tracker/CHANGELOG.json +++ b/trackers/javascript-tracker/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/javascript-tracker", "entries": [ + { + "version": "3.16.0", + "tag": "@snowplow/javascript-tracker_v3.16.0", + "date": "Mon, 16 Oct 2023 14:58:08 GMT", + "comments": {} + }, { "version": "3.15.0", "tag": "@snowplow/javascript-tracker_v3.15.0", diff --git a/trackers/javascript-tracker/CHANGELOG.md b/trackers/javascript-tracker/CHANGELOG.md index aab9bc81e..14d58d26f 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, 28 Aug 2023 14:25:14 GMT and should not be manually modified. +This log was last generated on Mon, 16 Oct 2023 14:58:08 GMT and should not be manually modified. + +## 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 diff --git a/trackers/node-tracker/CHANGELOG.json b/trackers/node-tracker/CHANGELOG.json index 0619ba575..aff6bdf55 100644 --- a/trackers/node-tracker/CHANGELOG.json +++ b/trackers/node-tracker/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/node-tracker", "entries": [ + { + "version": "3.16.0", + "tag": "@snowplow/node-tracker_v3.16.0", + "date": "Mon, 16 Oct 2023 14:58:08 GMT", + "comments": {} + }, { "version": "3.15.0", "tag": "@snowplow/node-tracker_v3.15.0", diff --git a/trackers/node-tracker/CHANGELOG.md b/trackers/node-tracker/CHANGELOG.md index 21e1f5a6f..96a3f599f 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, 28 Aug 2023 14:25:14 GMT and should not be manually modified. +This log was last generated on Mon, 16 Oct 2023 14:58:08 GMT and should not be manually modified. + +## 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 From 120917a9166260e264fb2a03f9e0e67fcd1c9842 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 16 Oct 2023 14:58:08 +0000 Subject: [PATCH 137/449] 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-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 +- 33 files changed, 60 insertions(+), 60 deletions(-) diff --git a/common/config/rush/version-policies.json b/common/config/rush/version-policies.json index 0553e91c8..24536d1eb 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.15.0", + "version": "3.16.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 2f4d8b36f..ff76ab25c 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.15.0", + "version": "3.16.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 129977f8b..6bc3764c7 100644 --- a/libraries/tracker-core/package.json +++ b/libraries/tracker-core/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/tracker-core", - "version": "3.15.0", + "version": "3.16.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 55f199a37..10d4ea616 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.15.0", + "version": "3.16.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.15.0" + "@snowplow/browser-tracker": "~3.16.0" } } diff --git a/plugins/browser-plugin-browser-features/package.json b/plugins/browser-plugin-browser-features/package.json index 99d4ba3a1..3d8dbce8f 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.15.0", + "version": "3.16.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.15.0" + "@snowplow/browser-tracker": "~3.16.0" } } diff --git a/plugins/browser-plugin-client-hints/package.json b/plugins/browser-plugin-client-hints/package.json index 62e01a71b..d74b53452 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.15.0", + "version": "3.16.0", "description": "Attaches Client Hints to Snowplow events", "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.15.0" + "@snowplow/browser-tracker": "~3.16.0" } } diff --git a/plugins/browser-plugin-consent/package.json b/plugins/browser-plugin-consent/package.json index 24c02bb2a..c939e9576 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.15.0", + "version": "3.16.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.15.0" + "@snowplow/browser-tracker": "~3.16.0" } } diff --git a/plugins/browser-plugin-debugger/package.json b/plugins/browser-plugin-debugger/package.json index 341bba65b..9661c63f3 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.15.0", + "version": "3.16.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.15.0" + "@snowplow/browser-tracker": "~3.16.0" } } diff --git a/plugins/browser-plugin-ecommerce/package.json b/plugins/browser-plugin-ecommerce/package.json index e3b741e9f..cefc89f7c 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.15.0", + "version": "3.16.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.15.0" + "@snowplow/browser-tracker": "~3.16.0" } } diff --git a/plugins/browser-plugin-enhanced-consent/package.json b/plugins/browser-plugin-enhanced-consent/package.json index e35a4892b..248a4aa0b 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.15.0", + "version": "3.16.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.15.0" + "@snowplow/browser-tracker": "~3.16.0" } } diff --git a/plugins/browser-plugin-enhanced-ecommerce/package.json b/plugins/browser-plugin-enhanced-ecommerce/package.json index 9ef7a7642..71c0ed960 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.15.0", + "version": "3.16.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.15.0" + "@snowplow/browser-tracker": "~3.16.0" } } diff --git a/plugins/browser-plugin-error-tracking/package.json b/plugins/browser-plugin-error-tracking/package.json index 9a1b82aa6..4f13656fb 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.15.0", + "version": "3.16.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.15.0" + "@snowplow/browser-tracker": "~3.16.0" } } diff --git a/plugins/browser-plugin-focalmeter/package.json b/plugins/browser-plugin-focalmeter/package.json index 45820c514..39da12dbc 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.15.0", + "version": "3.16.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.15.0" + "@snowplow/browser-tracker": "~3.16.0" } } diff --git a/plugins/browser-plugin-form-tracking/package.json b/plugins/browser-plugin-form-tracking/package.json index 5a12708dc..f054213b8 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.15.0", + "version": "3.16.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.15.0" + "@snowplow/browser-tracker": "~3.16.0" } } diff --git a/plugins/browser-plugin-ga-cookies/package.json b/plugins/browser-plugin-ga-cookies/package.json index 7e3ac52b2..ccb1d3d63 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.15.0", + "version": "3.16.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.15.0" + "@snowplow/browser-tracker": "~3.16.0" } } diff --git a/plugins/browser-plugin-geolocation/package.json b/plugins/browser-plugin-geolocation/package.json index f675a82a7..71e79ffd6 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.15.0", + "version": "3.16.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.15.0" + "@snowplow/browser-tracker": "~3.16.0" } } diff --git a/plugins/browser-plugin-link-click-tracking/package.json b/plugins/browser-plugin-link-click-tracking/package.json index 7893f5819..926ecb918 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.15.0", + "version": "3.16.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.15.0" + "@snowplow/browser-tracker": "~3.16.0" } } diff --git a/plugins/browser-plugin-media-tracking/package.json b/plugins/browser-plugin-media-tracking/package.json index 961eed562..789512e8a 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.15.0", + "version": "3.16.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.15.0" + "@snowplow/browser-tracker": "~3.16.0" } } diff --git a/plugins/browser-plugin-media/package.json b/plugins/browser-plugin-media/package.json index 7ef089062..5b061c85f 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.15.0", + "version": "3.16.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.15.0" + "@snowplow/browser-tracker": "~3.16.0" } } diff --git a/plugins/browser-plugin-optimizely-x/package.json b/plugins/browser-plugin-optimizely-x/package.json index 3cc6d1f67..c36b81e9a 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.15.0", + "version": "3.16.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.15.0" + "@snowplow/browser-tracker": "~3.16.0" } } diff --git a/plugins/browser-plugin-optimizely/package.json b/plugins/browser-plugin-optimizely/package.json index e5a6adeb1..8dbcccb40 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.15.0", + "version": "3.16.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.15.0" + "@snowplow/browser-tracker": "~3.16.0" } } diff --git a/plugins/browser-plugin-performance-navigation-timing/package.json b/plugins/browser-plugin-performance-navigation-timing/package.json index 988f9aac9..533ae94e0 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.15.0", + "version": "3.16.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.15.0" + "@snowplow/browser-tracker": "~3.16.0" } } diff --git a/plugins/browser-plugin-performance-timing/package.json b/plugins/browser-plugin-performance-timing/package.json index 62371fa5b..f60bc0f4a 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.15.0", + "version": "3.16.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.15.0" + "@snowplow/browser-tracker": "~3.16.0" } } diff --git a/plugins/browser-plugin-privacy-sandbox/package.json b/plugins/browser-plugin-privacy-sandbox/package.json index 044fc0ebf..bce009331 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.15.0", + "version": "3.16.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.15.0" + "@snowplow/browser-tracker": "~3.16.0" } } diff --git a/plugins/browser-plugin-site-tracking/package.json b/plugins/browser-plugin-site-tracking/package.json index 6ce2289a5..5eaf3fb87 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.15.0", + "version": "3.16.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.15.0" + "@snowplow/browser-tracker": "~3.16.0" } } diff --git a/plugins/browser-plugin-snowplow-ecommerce/package.json b/plugins/browser-plugin-snowplow-ecommerce/package.json index b77b11c16..44162c6d5 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.15.0", + "version": "3.16.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.15.0" + "@snowplow/browser-tracker": "~3.16.0" } } diff --git a/plugins/browser-plugin-timezone/package.json b/plugins/browser-plugin-timezone/package.json index 5c0d9f9eb..05e3afa6f 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.15.0", + "version": "3.16.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.15.0" + "@snowplow/browser-tracker": "~3.16.0" } } diff --git a/plugins/browser-plugin-vimeo-tracking/package.json b/plugins/browser-plugin-vimeo-tracking/package.json index a3398edb9..29b7f7432 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.15.0", + "version": "3.16.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.15.0" + "@snowplow/browser-tracker": "~3.16.0" } } diff --git a/plugins/browser-plugin-web-vitals/package.json b/plugins/browser-plugin-web-vitals/package.json index 261418096..72b45dc0c 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.15.0", + "version": "3.16.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.15.0" + "@snowplow/browser-tracker": "~3.16.0" } } diff --git a/plugins/browser-plugin-youtube-tracking/package.json b/plugins/browser-plugin-youtube-tracking/package.json index b5d48bc7a..db8556d76 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.15.0", + "version": "3.16.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.15.0" + "@snowplow/browser-tracker": "~3.16.0" } } diff --git a/trackers/browser-tracker/package.json b/trackers/browser-tracker/package.json index 802a60683..a3c846c77 100644 --- a/trackers/browser-tracker/package.json +++ b/trackers/browser-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-tracker", - "version": "3.15.0", + "version": "3.16.0", "description": "Browser tracker for Snowplow", "keywords": [ "tracking", diff --git a/trackers/javascript-tracker/package.json b/trackers/javascript-tracker/package.json index 9d660ed2b..8e30995de 100644 --- a/trackers/javascript-tracker/package.json +++ b/trackers/javascript-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/javascript-tracker", - "version": "3.15.0", + "version": "3.16.0", "description": "Web analytics for Snowplow", "keywords": [ "tracking", diff --git a/trackers/node-tracker/package.json b/trackers/node-tracker/package.json index f290411f0..5a23d8162 100644 --- a/trackers/node-tracker/package.json +++ b/trackers/node-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/node-tracker", - "version": "3.15.0", + "version": "3.16.0", "description": "Node tracker for Snowplow", "keywords": [ "snowplow", From 1df5e9f48411720a6449a8882665e490a58cbdbf Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 16 Oct 2023 15:04:06 +0000 Subject: [PATCH 138/449] Applying documentation updates. From 010b952adf017e5b3096c710e3be15c5d097785b Mon Sep 17 00:00:00 2001 From: Greg Leonard <45019882+greg-el@users.noreply.github.com> Date: Fri, 20 Oct 2023 16:35:55 +0100 Subject: [PATCH 139/449] Consider status codes <200 (close #1244) --- ...nsider-status-codes-under-200_2023-10-20-16-20.json | 10 ++++++++++ .../browser-tracker-core/src/tracker/out_queue.ts | 4 ++-- 2 files changed, 12 insertions(+), 2 deletions(-) create mode 100644 common/changes/@snowplow/browser-tracker-core/issue-1244-consider-status-codes-under-200_2023-10-20-16-20.json diff --git a/common/changes/@snowplow/browser-tracker-core/issue-1244-consider-status-codes-under-200_2023-10-20-16-20.json b/common/changes/@snowplow/browser-tracker-core/issue-1244-consider-status-codes-under-200_2023-10-20-16-20.json new file mode 100644 index 000000000..8b89f8b54 --- /dev/null +++ b/common/changes/@snowplow/browser-tracker-core/issue-1244-consider-status-codes-under-200_2023-10-20-16-20.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-tracker-core", + "comment": "Consider status codes <200", + "type": "none" + } + ], + "packageName": "@snowplow/browser-tracker-core" +} \ No newline at end of file diff --git a/libraries/browser-tracker-core/src/tracker/out_queue.ts b/libraries/browser-tracker-core/src/tracker/out_queue.ts index 92e3ad968..eb5d8894d 100644 --- a/libraries/browser-tracker-core/src/tracker/out_queue.ts +++ b/libraries/browser-tracker-core/src/tracker/out_queue.ts @@ -371,9 +371,9 @@ export function OutQueueManager( }; xhr.onreadystatechange = function () { - if (xhr.readyState === 4 && xhr.status >= 200) { + if (xhr.readyState === 4) { clearTimeout(xhrTimeout); - if (xhr.status < 300) { + if (xhr.status >= 200 && xhr.status < 300) { onPostSuccess(numberToSend); } else { if (!shouldRetryForStatusCode(xhr.status)) { From c39677b56f839fa2eb1fe269f5366d06623f9470 Mon Sep 17 00:00:00 2001 From: Greg Leonard <45019882+greg-el@users.noreply.github.com> Date: Thu, 19 Oct 2023 14:22:41 +0100 Subject: [PATCH 140/449] Provide option not to retry on event send failure (close #1248) --- ...failure-retry-option_2023-10-23-14-24.json | 10 ++ ...failure-retry-option_2023-10-23-14-29.json | 10 ++ .../browser-tracker-core/src/tracker/index.ts | 3 +- .../src/tracker/out_queue.ts | 12 ++- .../browser-tracker-core/src/tracker/types.ts | 13 +++ .../test/out_queue.test.ts | 94 ++++++++++++++++++- .../docs/browser-tracker.api.md | 1 + 7 files changed, 136 insertions(+), 7 deletions(-) create mode 100644 common/changes/@snowplow/browser-tracker/issue-1248-send-failure-retry-option_2023-10-23-14-24.json create mode 100644 common/changes/@snowplow/browser-tracker/issue-1248-send-failure-retry-option_2023-10-23-14-29.json diff --git a/common/changes/@snowplow/browser-tracker/issue-1248-send-failure-retry-option_2023-10-23-14-24.json b/common/changes/@snowplow/browser-tracker/issue-1248-send-failure-retry-option_2023-10-23-14-24.json new file mode 100644 index 000000000..4a400f6fc --- /dev/null +++ b/common/changes/@snowplow/browser-tracker/issue-1248-send-failure-retry-option_2023-10-23-14-24.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-tracker", + "comment": "Update API docs with retryFailedRequests", + "type": "none" + } + ], + "packageName": "@snowplow/browser-tracker" +} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-tracker/issue-1248-send-failure-retry-option_2023-10-23-14-29.json b/common/changes/@snowplow/browser-tracker/issue-1248-send-failure-retry-option_2023-10-23-14-29.json new file mode 100644 index 000000000..5fcd9f286 --- /dev/null +++ b/common/changes/@snowplow/browser-tracker/issue-1248-send-failure-retry-option_2023-10-23-14-29.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-tracker", + "comment": "Add retryFailedRequests", + "type": "none" + } + ], + "packageName": "@snowplow/browser-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 a6443a932..2183981c0 100755 --- a/libraries/browser-tracker-core/src/tracker/index.ts +++ b/libraries/browser-tracker-core/src/tracker/index.ts @@ -303,7 +303,8 @@ export function Tracker( trackerConfiguration.withCredentials ?? true, trackerConfiguration.retryStatusCodes ?? [], (trackerConfiguration.dontRetryStatusCodes ?? []).concat([400, 401, 403, 410, 422]), - trackerConfiguration.idService + trackerConfiguration.idService, + trackerConfiguration.retryFailedRequests ), // Whether pageViewId should be regenerated after each trackPageView. Affect web_page context preservePageViewId = false, diff --git a/libraries/browser-tracker-core/src/tracker/out_queue.ts b/libraries/browser-tracker-core/src/tracker/out_queue.ts index eb5d8894d..13772d5a6 100644 --- a/libraries/browser-tracker-core/src/tracker/out_queue.ts +++ b/libraries/browser-tracker-core/src/tracker/out_queue.ts @@ -64,6 +64,7 @@ export interface OutQueue { * @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` * @returns object OutQueueManager instance */ export function OutQueueManager( @@ -83,7 +84,8 @@ export function OutQueueManager( withCredentials: boolean, retryStatusCodes: number[], dontRetryStatusCodes: number[], - idService?: string + idService?: string, + retryFailedRequests: boolean = true ): OutQueue { type PostEvent = { evt: Record; @@ -351,6 +353,10 @@ export function OutQueueManager( // Time out POST requests after connectionTimeout const xhrTimeout = setTimeout(function () { xhr.abort(); + + if (!retryFailedRequests) { + removeEventsFromQueue(numberToSend); + } executingQueue = false; }, connectionTimeout); @@ -458,6 +464,10 @@ export function OutQueueManager( return false; } + if (!retryFailedRequests) { + return false; + } + // retry if status code among custom user-supplied retry codes if (retryStatusCodes.includes(statusCode)) { return true; diff --git a/libraries/browser-tracker-core/src/tracker/types.ts b/libraries/browser-tracker-core/src/tracker/types.ts index 0f5801c9d..85fd60261 100755 --- a/libraries/browser-tracker-core/src/tracker/types.ts +++ b/libraries/browser-tracker-core/src/tracker/types.ts @@ -249,6 +249,19 @@ export type TrackerConfiguration = { * 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; }; /** diff --git a/libraries/browser-tracker-core/test/out_queue.test.ts b/libraries/browser-tracker-core/test/out_queue.test.ts index bab53486b..98f8b6be2 100644 --- a/libraries/browser-tracker-core/test/out_queue.test.ts +++ b/libraries/browser-tracker-core/test/out_queue.test.ts @@ -31,6 +31,12 @@ import { OutQueueManager, OutQueue } from '../src/tracker/out_queue'; import { SharedState } from '../src/state'; +const readPostQueue = () => { + return JSON.parse( + window.localStorage.getItem('snowplowOutQueue_sp_post2') ?? fail('Unable to find local storage queue') + ); +}; + describe('OutQueueManager', () => { const maxQueueSize = 2; @@ -45,6 +51,7 @@ describe('OutQueueManager', () => { send: jest.fn(), setRequestHeader: jest.fn(), withCredentials: true, + abort: jest.fn(), }; jest.spyOn(window, 'XMLHttpRequest').mockImplementation(() => xhrMock as XMLHttpRequest); @@ -219,11 +226,6 @@ describe('OutQueueManager', () => { describe('idService requests', () => { const idServiceEndpoint = 'http://example.com/id'; - 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')); @@ -337,4 +339,86 @@ describe('OutQueueManager', () => { }); }); }); + + 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 + ); + + it('should remain in queue on failure', (done) => { + let outQueue = createOutQueue(); + outQueue.enqueueRequest(request, 'http://example.com'); + + let retrievedQueue = readPostQueue(); + expect(retrievedQueue).toHaveLength(1); + + respondMockRequest(0); + + setTimeout(() => { + retrievedQueue = readPostQueue(); + expect(retrievedQueue).toHaveLength(1); + done(); + }, 20); + }); + }); + + 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 + ); + + it('should remove from queue on failure', (done) => { + let outQueue = createOutQueue(); + outQueue.enqueueRequest(request, 'http://example.com'); + + let retrievedQueue = readPostQueue(); + expect(retrievedQueue).toHaveLength(1); + + respondMockRequest(0); + + setTimeout(() => { + retrievedQueue = readPostQueue(); + expect(retrievedQueue).toHaveLength(0); + done(); + }, 20); + }); + }); }); diff --git a/trackers/browser-tracker/docs/browser-tracker.api.md b/trackers/browser-tracker/docs/browser-tracker.api.md index 70aabae95..4328b687e 100644 --- a/trackers/browser-tracker/docs/browser-tracker.api.md +++ b/trackers/browser-tracker/docs/browser-tracker.api.md @@ -369,6 +369,7 @@ export type TrackerConfiguration = { dontRetryStatusCodes?: number[]; onSessionUpdateCallback?: (updatedSession: ClientSession) => void; idService?: string; + retryFailedRequests?: boolean; }; // @public From 99e3e64d6cb1eea6adce821e397502e0f744031d Mon Sep 17 00:00:00 2001 From: adatzer Date: Wed, 25 Oct 2023 15:07:26 +0300 Subject: [PATCH 141/449] Bump browser_context schema to 2-0-0 (close #1260) --- ...sue-1260_bump_browser_context_2023-10-25-12-15.json | 10 ++++++++++ libraries/browser-tracker-core/src/tracker/schemata.ts | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 common/changes/@snowplow/browser-tracker-core/issue-1260_bump_browser_context_2023-10-25-12-15.json diff --git a/common/changes/@snowplow/browser-tracker-core/issue-1260_bump_browser_context_2023-10-25-12-15.json b/common/changes/@snowplow/browser-tracker-core/issue-1260_bump_browser_context_2023-10-25-12-15.json new file mode 100644 index 000000000..48cb88901 --- /dev/null +++ b/common/changes/@snowplow/browser-tracker-core/issue-1260_bump_browser_context_2023-10-25-12-15.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-tracker-core", + "comment": "Bump browser_context schema to 2-0-0", + "type": "none" + } + ], + "packageName": "@snowplow/browser-tracker-core" +} \ No newline at end of file diff --git a/libraries/browser-tracker-core/src/tracker/schemata.ts b/libraries/browser-tracker-core/src/tracker/schemata.ts index 61db684e5..ccd0df3c8 100644 --- a/libraries/browser-tracker-core/src/tracker/schemata.ts +++ b/libraries/browser-tracker-core/src/tracker/schemata.ts @@ -1,4 +1,4 @@ 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/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'; From 67a22e412abe1819b07a28002c40117a11576c7a Mon Sep 17 00:00:00 2001 From: adatzer Date: Sat, 11 Nov 2023 13:09:11 +0200 Subject: [PATCH 142/449] Drop invalid client hints (close #1264) --- ...ue-1264_client_hints_2023-11-11-11-25.json | 10 ++ common/config/rush/pnpm-lock.yaml | 2 + common/config/rush/repo-state.json | 2 +- .../jest.config.js | 5 + .../browser-plugin-client-hints/package.json | 3 +- .../src/contexts.ts | 30 ---- .../browser-plugin-client-hints/src/index.ts | 95 +++++----- .../test/client-hints.test.ts | 170 ++++++++++++++++++ 8 files changed, 242 insertions(+), 75 deletions(-) create mode 100644 common/changes/@snowplow/browser-plugin-client-hints/issue-1264_client_hints_2023-11-11-11-25.json create mode 100644 plugins/browser-plugin-client-hints/jest.config.js create mode 100644 plugins/browser-plugin-client-hints/test/client-hints.test.ts diff --git a/common/changes/@snowplow/browser-plugin-client-hints/issue-1264_client_hints_2023-11-11-11-25.json b/common/changes/@snowplow/browser-plugin-client-hints/issue-1264_client_hints_2023-11-11-11-25.json new file mode 100644 index 000000000..e4a5135cf --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-client-hints/issue-1264_client_hints_2023-11-11-11-25.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-client-hints", + "comment": "Drop invalid client hints", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-client-hints" +} \ No newline at end of file diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index 62165f52e..92caee30a 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -213,6 +213,7 @@ importers: '@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 @@ -237,6 +238,7 @@ importers: '@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 diff --git a/common/config/rush/repo-state.json b/common/config/rush/repo-state.json index 77d8ad8e4..5b45dccaf 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": "c272b447631dc0e0be0f52f2e7d1ed6aa6603939", + "pnpmShrinkwrapHash": "57af2bb401d45bb58b802eb1a04a7ee62b3aa732", "preferredVersionsHash": "bf21a9e8fbc5a3846fb05b4fa0859e0917b2202f" } diff --git a/plugins/browser-plugin-client-hints/jest.config.js b/plugins/browser-plugin-client-hints/jest.config.js new file mode 100644 index 000000000..bd3ea4e2a --- /dev/null +++ b/plugins/browser-plugin-client-hints/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-client-hints/package.json b/plugins/browser-plugin-client-hints/package.json index d74b53452..cff50908e 100644 --- a/plugins/browser-plugin-client-hints/package.json +++ b/plugins/browser-plugin-client-hints/package.json @@ -19,7 +19,7 @@ ], "scripts": { "build": "rollup -c --silent --failAfterWarnings", - "test": "" + "test": "jest" }, "dependencies": { "@snowplow/browser-tracker-core": "workspace:*", @@ -29,6 +29,7 @@ "@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", diff --git a/plugins/browser-plugin-client-hints/src/contexts.ts b/plugins/browser-plugin-client-hints/src/contexts.ts index 068800ebb..5d55b5c0f 100644 --- a/plugins/browser-plugin-client-hints/src/contexts.ts +++ b/plugins/browser-plugin-client-hints/src/contexts.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. - */ - /** * Values based upon the user agents characteristics, typically requested via the ACCEPT-CH HTTP header, as defined in the HTTP Client Hint specification */ diff --git a/plugins/browser-plugin-client-hints/src/index.ts b/plugins/browser-plugin-client-hints/src/index.ts index e8b4917ee..02205cc7b 100644 --- a/plugins/browser-plugin-client-hints/src/index.ts +++ b/plugins/browser-plugin-client-hints/src/index.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 { BrowserPlugin } from '@snowplow/browser-tracker-core'; import { HttpClientHints } from './contexts'; @@ -63,11 +33,44 @@ let uaClientHints: HttpClientHints; function forceArray(array: T[] | Record): T[] { if (Array.isArray(array)) return array; - return Object.keys(array).map((e) => { - return array[e]; + if (Object.prototype.toString.call(array) === '[object Object]') { + return Object.keys(array).map((e) => { + return array[e]; + }); + } + + return []; +} + +/** + * Returns the client-hints brands, ensuring no additional properties. + */ +function getBrands(brands: Array): Array { + return brands.map((b) => { + const { brand, version } = b; + return { brand, version }; }); } +/** + * Validates whether userAgentData is compliant to the client-hints interface. + * https://wicg.github.io/ua-client-hints/#interface + */ +function validClientHints(hints: HttpClientHints): boolean { + if (!hints || typeof hints.isMobile !== 'boolean' || !Array.isArray(hints.brands)) { + return false; + } + + if ( + hints.brands.length === 0 || + hints.brands.some((brand) => typeof brand.brand !== 'string' || typeof brand.version !== 'string') + ) { + return false; + } + + return true; +} + /** * Attaches Client Hint information where available * @param includeHighEntropy - Should high entropy values be included @@ -75,23 +78,29 @@ function forceArray(array: T[] | Record): T[] { export function ClientHintsPlugin(includeHighEntropy?: boolean): BrowserPlugin { const populateClientHints = () => { const navigatorAlias = navigator; + const uaData = navigatorAlias.userAgentData; - if (navigatorAlias.userAgentData) { - uaClientHints = { - isMobile: navigatorAlias.userAgentData.mobile, - brands: forceArray(navigatorAlias.userAgentData.brands), + if (uaData) { + let candidateHints: HttpClientHints; + candidateHints = { + isMobile: uaData.mobile, + brands: getBrands(forceArray(uaData.brands)), }; - if (includeHighEntropy && navigatorAlias.userAgentData.getHighEntropyValues) { - navigatorAlias.userAgentData + if (includeHighEntropy && uaData.getHighEntropyValues) { + uaData .getHighEntropyValues(['platform', 'platformVersion', 'architecture', 'model', 'uaFullVersion']) .then((res) => { - uaClientHints.architecture = res.architecture; - uaClientHints.model = res.model; - uaClientHints.platform = res.platform; - uaClientHints.uaFullVersion = res.uaFullVersion; - uaClientHints.platformVersion = res.platformVersion; + candidateHints.architecture = res.architecture; + candidateHints.model = res.model; + candidateHints.platform = res.platform; + candidateHints.uaFullVersion = res.uaFullVersion; + candidateHints.platformVersion = res.platformVersion; }); } + + if (validClientHints(candidateHints)) { + uaClientHints = candidateHints; + } } }; diff --git a/plugins/browser-plugin-client-hints/test/client-hints.test.ts b/plugins/browser-plugin-client-hints/test/client-hints.test.ts new file mode 100644 index 000000000..4da682972 --- /dev/null +++ b/plugins/browser-plugin-client-hints/test/client-hints.test.ts @@ -0,0 +1,170 @@ +import { buildLinkClick, trackerCore } from '@snowplow/tracker-core'; +import { BrowserTracker } from '@snowplow/browser-tracker-core'; +import { JSDOM } from 'jsdom'; +import { setImmediate } from 'timers'; +import { ClientHintsPlugin } from '../src'; + +declare var jsdom: JSDOM; + +describe('Client Hints plugin', () => { + const ctxSchema = 'iglu:com.snowplowanalytics.snowplow/contexts/jsonschema/1-0-0'; + const hintsSchema = 'iglu:org.ietf/http_client_hints/jsonschema/1-0-0'; + + it('Attaches no context on undefined userAgentData', (done) => { + const plugin = ClientHintsPlugin(false); + const core = trackerCore({ + corePlugins: [plugin], + callback: (payloadBuilder) => { + const json = payloadBuilder.getJson().filter((e) => e.keyIfEncoded === 'cx'); + expect(json.length).toBe(0); + done(); + }, + }); + + plugin.activateBrowserPlugin?.({ core } as BrowserTracker); + core.track(buildLinkClick({ targetUrl: 'https://example.com' })); + }); + + it('Attaches no context on invalid userAgentData(no mobile)', (done) => { + const sampleUserAgentData = { + brands: [ + { + brand: 'Opera GX', + version: '98', + }, + ], + } as any; + + Object.defineProperty(jsdom.window.navigator, 'userAgentData', { + value: sampleUserAgentData, + configurable: true, + }); + + const plugin = ClientHintsPlugin(false); + const core = trackerCore({ + corePlugins: [plugin], + callback: (payloadBuilder) => { + const json = payloadBuilder.getJson().filter((e) => e.keyIfEncoded === 'cx'); + expect(json.length).toBe(0); + done(); + }, + }); + + plugin.activateBrowserPlugin?.({ core } as BrowserTracker); + core.track(buildLinkClick({ targetUrl: 'https://example.com' })); + }); + + it('Attaches no context on invalid userAgentData(no brands)', (done) => { + const sampleUserAgentData = { + mobile: true, + } as any; + + Object.defineProperty(jsdom.window.navigator, 'userAgentData', { + value: sampleUserAgentData, + configurable: true, + }); + + const plugin = ClientHintsPlugin(false); + const core = trackerCore({ + corePlugins: [plugin], + callback: (payloadBuilder) => { + const json = payloadBuilder.getJson().filter((e) => e.keyIfEncoded === 'cx'); + expect(json.length).toBe(0); + done(); + }, + }); + + plugin.activateBrowserPlugin?.({ core } as BrowserTracker); + core.track(buildLinkClick({ targetUrl: 'https://example.com' })); + }); + + it('Attaches no context on invalid userAgentData(no valid brands)', (done) => { + const sampleUserAgentData = { + mobile: false, + brands: [ + { + brand: 'Opera GX', + version: 98, + }, + ], + } as any; + + Object.defineProperty(jsdom.window.navigator, 'userAgentData', { + value: sampleUserAgentData, + configurable: true, + }); + + const plugin = ClientHintsPlugin(true); + const core = trackerCore({ + corePlugins: [plugin], + callback: (payloadBuilder) => { + const json = payloadBuilder.getJson().filter((e) => e.keyIfEncoded === 'cx'); + expect(json.length).toBe(0); + done(); + }, + }); + + plugin.activateBrowserPlugin?.({ core } as BrowserTracker); + core.track(buildLinkClick({ targetUrl: 'https://example.com' })); + }); + + it('Attaches context on valid userAgentData properties', async () => { + const highEntropyVals = { + platform: 'PhoneOS', + platformVersion: '10A', + architecture: 'arm', + model: 'X633GTM', + uaFullVersion: '73.32.AGX.5', + }; + const sampleUserAgentData = { + brands: [ + { + brand: 'Chromium', + version: '119', + }, + { + brand: 'Not?A_Brand', + version: '24', + }, + ], + mobile: false, + getHighEntropyValues: (_: any) => Promise.resolve(highEntropyVals), + }; + + const expected = { + schema: ctxSchema, + data: [ + { + schema: hintsSchema, + data: Object.assign( + { + isMobile: false, + brands: sampleUserAgentData.brands, + }, + highEntropyVals + ), + }, + ], + }; + + Object.defineProperty(jsdom.window.navigator, 'userAgentData', { + value: sampleUserAgentData, + configurable: true, + }); + + const plugin = ClientHintsPlugin(true); + const core = trackerCore({ + corePlugins: [plugin], + callback: (payloadBuilder) => { + const json = payloadBuilder.getJson().filter((e) => e.keyIfEncoded === 'cx'); + + expect(json[0].json).toMatchObject(expected); + }, + }); + + plugin.activateBrowserPlugin?.({ core } as BrowserTracker); + const flushPromises = () => Promise.resolve(setImmediate); + await flushPromises(); + core.track(buildLinkClick({ targetUrl: 'https://example.com' })); + }); +}); From 6acd10b2826ca3248af5c477a20cf5a8fd634d2a Mon Sep 17 00:00:00 2001 From: Peter Perlepes Date: Tue, 14 Nov 2023 14:36:40 +0200 Subject: [PATCH 143/449] Update browser-plugin-ga-cookies to include options for Google Analytics 4 cookies (close #1225) --- ...ga4-cookies-addition_2023-08-08-14-04.json | 10 + ...ga4-cookies-addition_2023-08-14-14-18.json | 10 + plugins/browser-plugin-ga-cookies/README.md | 18 +- .../browser-plugin-ga-cookies/jest.config.js | 5 + .../browser-plugin-ga-cookies/package.json | 2 +- .../browser-plugin-ga-cookies/src/contexts.ts | 42 ----- .../browser-plugin-ga-cookies/src/index.ts | 126 ++++++++----- .../browser-plugin-ga-cookies/src/schemata.ts | 2 + .../browser-plugin-ga-cookies/src/types.ts | 20 ++ .../__snapshots__/ga-cookies.test.ts.snap | 170 +++++++++++++++++ .../test/ga-cookies.test.ts | 175 ++++++++++++++++++ trackers/javascript-tracker/src/features.ts | 5 +- 12 files changed, 494 insertions(+), 91 deletions(-) create mode 100644 common/changes/@snowplow/browser-plugin-ga-cookies/feature-ga-cookies-plugin-ga4-cookies-addition_2023-08-08-14-04.json create mode 100644 common/changes/@snowplow/javascript-tracker/feature-1225-ga-cookies-plugin-ga4-cookies-addition_2023-08-14-14-18.json create mode 100644 plugins/browser-plugin-ga-cookies/jest.config.js delete mode 100644 plugins/browser-plugin-ga-cookies/src/contexts.ts create mode 100644 plugins/browser-plugin-ga-cookies/src/schemata.ts create mode 100644 plugins/browser-plugin-ga-cookies/src/types.ts create mode 100644 plugins/browser-plugin-ga-cookies/test/__snapshots__/ga-cookies.test.ts.snap create mode 100644 plugins/browser-plugin-ga-cookies/test/ga-cookies.test.ts diff --git a/common/changes/@snowplow/browser-plugin-ga-cookies/feature-ga-cookies-plugin-ga4-cookies-addition_2023-08-08-14-04.json b/common/changes/@snowplow/browser-plugin-ga-cookies/feature-ga-cookies-plugin-ga4-cookies-addition_2023-08-08-14-04.json new file mode 100644 index 000000000..7273f3046 --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-ga-cookies/feature-ga-cookies-plugin-ga4-cookies-addition_2023-08-08-14-04.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-ga-cookies", + "comment": "Update to include options for Google Analytics 4 cookies", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-ga-cookies" +} \ No newline at end of file diff --git a/common/changes/@snowplow/javascript-tracker/feature-1225-ga-cookies-plugin-ga4-cookies-addition_2023-08-14-14-18.json b/common/changes/@snowplow/javascript-tracker/feature-1225-ga-cookies-plugin-ga4-cookies-addition_2023-08-14-14-18.json new file mode 100644 index 000000000..e3ff286e4 --- /dev/null +++ b/common/changes/@snowplow/javascript-tracker/feature-1225-ga-cookies-plugin-ga4-cookies-addition_2023-08-14-14-18.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/javascript-tracker", + "comment": "Add further options for the gaCookies context", + "type": "none" + } + ], + "packageName": "@snowplow/javascript-tracker" +} \ No newline at end of file diff --git a/plugins/browser-plugin-ga-cookies/README.md b/plugins/browser-plugin-ga-cookies/README.md index 098e8283b..0d8775d62 100644 --- a/plugins/browser-plugin-ga-cookies/README.md +++ b/plugins/browser-plugin-ga-cookies/README.md @@ -5,7 +5,7 @@ Browser Plugin to be used with `@snowplow/browser-tracker`. -Adds GA Cookies to your Snowplow tracking. +Adds Universal Analytics and Google Analytics 4 cookies to your Snowplow tracking. ## Maintainer quick start @@ -36,14 +36,26 @@ Initialize your tracker with the GaCookiesPlugin: import { newTracker } from '@snowplow/browser-tracker'; import { GaCookiesPlugin } from '@snowplow/browser-plugin-ga-cookies'; -newTracker('sp1', '{{collector}}', { plugins: [ GaCookiesPlugin() ] }); // Also stores reference at module level +newTracker('sp1', '{{collector}}', { plugins: [ GaCookiesPlugin( + /* pluginOptions */ +) ] }); + +/* + * Available plugin options `GACookiesPluginOptions`: + * { + * ua: Send Universal Analytics specific cookie values. Defaults to true. + * ga4: Send Google Analytics 4 specific cookie values. Defaults to false. + * ga4MeasurementId: Measurement id/ids to search the Google Analytics 4 session cookie. Can be a single measurement id as a string or an array of measurement id strings. The cookie has the form of _ga_ where is the data stream container id and is the optional cookie_prefix option of the gtag.js tracker. + * cookiePrefix: Cookie prefix set on the Google Analytics 4 cookies using the cookie_prefix option of the gtag.js tracker. + * } + */ ``` ## 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. +Copyright (c) 2023 Snowplow Analytics Ltd. All rights reserved. diff --git a/plugins/browser-plugin-ga-cookies/jest.config.js b/plugins/browser-plugin-ga-cookies/jest.config.js new file mode 100644 index 000000000..bd3ea4e2a --- /dev/null +++ b/plugins/browser-plugin-ga-cookies/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-ga-cookies/package.json b/plugins/browser-plugin-ga-cookies/package.json index ccb1d3d63..87011a3e5 100644 --- a/plugins/browser-plugin-ga-cookies/package.json +++ b/plugins/browser-plugin-ga-cookies/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-ga-cookies/src/contexts.ts b/plugins/browser-plugin-ga-cookies/src/contexts.ts deleted file mode 100644 index 044e41eaf..000000000 --- a/plugins/browser-plugin-ga-cookies/src/contexts.ts +++ /dev/null @@ -1,42 +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 context of Google Analytics cookie values - */ -export interface Cookies { - __utma?: string; - __utmb?: string; - __utmc?: string; - __utmv?: string; - __utmz?: string; - _ga?: string; - [key: string]: string | undefined; -} diff --git a/plugins/browser-plugin-ga-cookies/src/index.ts b/plugins/browser-plugin-ga-cookies/src/index.ts index 4e695ec1c..bd7a78ed3 100644 --- a/plugins/browser-plugin-ga-cookies/src/index.ts +++ b/plugins/browser-plugin-ga-cookies/src/index.ts @@ -1,54 +1,94 @@ -/* - * 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 { SelfDescribingJson } from '@snowplow/tracker-core'; import { BrowserPlugin, cookie } from '@snowplow/browser-tracker-core'; -import { Cookies } from './contexts'; +import { GA4Cookies, GA4SessionCookies, UACookies } from './types'; +import { GOOGLE_ANALYTICS_4_COOKIES_SCHEMA, UNIVERSAL_ANALYTICS_COOKIES_SCHEMA } from './schemata'; + +interface GACookiesPluginOptions { + ua?: boolean; + ga4?: boolean; + ga4MeasurementId?: string | string[]; + cookiePrefix?: string | string[]; +} + +const defaultPluginOptions: GACookiesPluginOptions = { + ua: true, + ga4: false, + ga4MeasurementId: '', + cookiePrefix: [], +}; /** * Captures the GA cookies on a page and sends as context on each event + * @param pluginOptions.ua - Send Universal Analytics specific cookie values. + * @param pluginOptions.ga4 - Send Google Analytics 4 specific cookie values. + * @param pluginOptions.ga4MeasurementId - Measurement id/ids to search the Google Analytics 4 session cookie. Can be a single measurement id as a string or an array of measurement id strings. The cookie has the form of _ga_ where is the data stream container id. + * @param pluginOptions.cookiePrefix - Cookie prefix set on the Google Analytics 4 cookies using the cookie_prefix option of the gtag.js tracker. */ -export function GaCookiesPlugin(): BrowserPlugin { +export function GaCookiesPlugin(pluginOptions: GACookiesPluginOptions = defaultPluginOptions): BrowserPlugin { return { contexts: () => { - const gaCookieData: SelfDescribingJson = { - schema: 'iglu:com.google.analytics/cookies/jsonschema/1-0-0', - data: {}, - }; - ['__utma', '__utmb', '__utmc', '__utmv', '__utmz', '_ga'].forEach(function (cookieType) { - var value = cookie(cookieType); - if (value) { - gaCookieData.data[cookieType] = value; - } - }); - return [gaCookieData]; + const contexts: SelfDescribingJson>[] = []; + const { ga4, ga4MeasurementId, ua, cookiePrefix } = { ...defaultPluginOptions, ...pluginOptions }; + const GA_USER_COOKIE = '_ga'; + const GA4_MEASUREMENT_ID_PREFIX = 'G-'; + const GA4_COOKIE_PREFIX = '_ga_'; + + if (ua) { + const uaCookiesContext: SelfDescribingJson = { + schema: UNIVERSAL_ANALYTICS_COOKIES_SCHEMA, + data: {}, + }; + ['__utma', '__utmb', '__utmc', '__utmv', '__utmz', GA_USER_COOKIE].forEach(function (cookieType) { + var value = cookie(cookieType); + if (value) { + uaCookiesContext.data[cookieType] = value; + } + }); + contexts.push(uaCookiesContext); + } + + if (ga4) { + const cookiePrefixes = Array.isArray(cookiePrefix) ? [...cookiePrefix] : [cookiePrefix]; + + /* We also will search for the default (no prefix) in every case. */ + cookiePrefixes.unshift(''); + cookiePrefixes.forEach((prefix) => { + const userCookie = cookie(prefix + GA_USER_COOKIE); + const sessionCookies: GA4SessionCookies[] = []; + if (ga4MeasurementId) { + const measurementIdentifiers = Array.isArray(ga4MeasurementId) ? [...ga4MeasurementId] : [ga4MeasurementId]; + + measurementIdentifiers.forEach(function (cookieIdentifier) { + const sessionCookieValue = cookie( + prefix + cookieIdentifier.replace(GA4_MEASUREMENT_ID_PREFIX, GA4_COOKIE_PREFIX) + ); + if (sessionCookieValue) { + sessionCookies.push({ + measurement_id: cookieIdentifier, + session_cookie: sessionCookieValue, + }); + } + }); + } + + if (!userCookie && !sessionCookies.length) { + return; + } + + const ga4CookiesContext: SelfDescribingJson = { + schema: GOOGLE_ANALYTICS_4_COOKIES_SCHEMA, + data: { + _ga: userCookie, + session_cookies: sessionCookies.length ? sessionCookies : undefined, + cookie_prefix: prefix || undefined, + }, + }; + + contexts.push(ga4CookiesContext); + }); + } + + return contexts; }, }; } diff --git a/plugins/browser-plugin-ga-cookies/src/schemata.ts b/plugins/browser-plugin-ga-cookies/src/schemata.ts new file mode 100644 index 000000000..39e923674 --- /dev/null +++ b/plugins/browser-plugin-ga-cookies/src/schemata.ts @@ -0,0 +1,2 @@ +export const UNIVERSAL_ANALYTICS_COOKIES_SCHEMA = 'iglu:com.google.analytics/cookies/jsonschema/1-0-0'; +export const GOOGLE_ANALYTICS_4_COOKIES_SCHEMA = 'iglu:com.google.ga4/cookies/jsonschema/1-0-0'; diff --git a/plugins/browser-plugin-ga-cookies/src/types.ts b/plugins/browser-plugin-ga-cookies/src/types.ts new file mode 100644 index 000000000..6e41dfe54 --- /dev/null +++ b/plugins/browser-plugin-ga-cookies/src/types.ts @@ -0,0 +1,20 @@ +export interface UACookies { + __utma?: string; + __utmb?: string; + __utmc?: string; + __utmv?: string; + __utmz?: string; + _ga?: string; + [key: string]: string | undefined; +} + +export interface GA4Cookies { + _ga?: string; + session_cookies?: GA4SessionCookies[]; + [key: string]: unknown; +} + +export interface GA4SessionCookies { + measurement_id: string; + session_cookie?: string; +} diff --git a/plugins/browser-plugin-ga-cookies/test/__snapshots__/ga-cookies.test.ts.snap b/plugins/browser-plugin-ga-cookies/test/__snapshots__/ga-cookies.test.ts.snap new file mode 100644 index 000000000..fff2ed783 --- /dev/null +++ b/plugins/browser-plugin-ga-cookies/test/__snapshots__/ga-cookies.test.ts.snap @@ -0,0 +1,170 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`GA Cookies plugin Correctly returns values for GA4 cookies for multiple measurement ids 1`] = ` +Array [ + Object { + "data": Object { + "_ga": "1234", + "cookie_prefix": undefined, + "session_cookies": Array [ + Object { + "measurement_id": "G-1234", + "session_cookie": "567", + }, + Object { + "measurement_id": "G-5678", + "session_cookie": "789", + }, + ], + }, + "schema": "iglu:com.google.ga4/cookies/jsonschema/1-0-0", + }, +] +`; + +exports[`GA Cookies plugin Correctly returns values for GA4 cookies with cookie prefix 1`] = ` +Array [ + Object { + "data": Object { + "_ga": "1234", + "cookie_prefix": "test", + "session_cookies": Array [ + Object { + "measurement_id": "G-1234", + "session_cookie": "567", + }, + ], + }, + "schema": "iglu:com.google.ga4/cookies/jsonschema/1-0-0", + }, +] +`; + +exports[`GA Cookies plugin Does not add any additional GA4 context when GA4 cookies are not detected 1`] = ` +Array [ + Object { + "data": Object {}, + "schema": "iglu:com.google.analytics/cookies/jsonschema/1-0-0", + }, +] +`; + +exports[`GA Cookies plugin Only returns values for GA4 user cookies without measurement id/s and GA4 enabled 1`] = ` +Array [ + Object { + "data": Object { + "_ga": "1234", + "cookie_prefix": undefined, + "session_cookies": undefined, + }, + "schema": "iglu:com.google.ga4/cookies/jsonschema/1-0-0", + }, +] +`; + +exports[`GA Cookies plugin Returns separate contexts for GA4 enabled setup with different cookie_prefix options 1`] = ` +Array [ + Object { + "data": Object { + "_ga": "1234", + "cookie_prefix": undefined, + "session_cookies": undefined, + }, + "schema": "iglu:com.google.ga4/cookies/jsonschema/1-0-0", + }, + Object { + "data": Object { + "_ga": "890", + "cookie_prefix": "test", + "session_cookies": undefined, + }, + "schema": "iglu:com.google.ga4/cookies/jsonschema/1-0-0", + }, +] +`; + +exports[`GA Cookies plugin Returns separate contexts for GA4 enabled setup with different cookie_prefix options and measurement ids 1`] = ` +Array [ + Object { + "data": Object { + "_ga": "1234", + "cookie_prefix": undefined, + "session_cookies": Array [ + Object { + "measurement_id": "G-1234", + "session_cookie": "567", + }, + ], + }, + "schema": "iglu:com.google.ga4/cookies/jsonschema/1-0-0", + }, + Object { + "data": Object { + "_ga": "890", + "cookie_prefix": "test", + "session_cookies": Array [ + Object { + "measurement_id": "G-567", + "session_cookie": "098", + }, + ], + }, + "schema": "iglu:com.google.ga4/cookies/jsonschema/1-0-0", + }, +] +`; + +exports[`GA Cookies plugin Returns values for GA4 cookies and Universal Analytics cookies 1`] = ` +Array [ + Object { + "data": Object { + "__utma": "567", + "_ga": "1234", + }, + "schema": "iglu:com.google.analytics/cookies/jsonschema/1-0-0", + }, + Object { + "data": Object { + "_ga": "1234", + "cookie_prefix": undefined, + "session_cookies": Array [ + Object { + "measurement_id": "G-1234", + "session_cookie": "567", + }, + ], + }, + "schema": "iglu:com.google.ga4/cookies/jsonschema/1-0-0", + }, +] +`; + +exports[`GA Cookies plugin Returns values for GA4 cookies and not Universal Analytics cookies 1`] = ` +Array [ + Object { + "data": Object { + "_ga": "1234", + "cookie_prefix": undefined, + "session_cookies": Array [ + Object { + "measurement_id": "G-1234", + "session_cookie": "567", + }, + ], + }, + "schema": "iglu:com.google.ga4/cookies/jsonschema/1-0-0", + }, +] +`; + +exports[`GA Cookies plugin Returns values for Universal Analytics cookies by default 1`] = ` +Array [ + Object { + "data": Object { + "__utma": "567", + "_ga": "1234", + }, + "schema": "iglu:com.google.analytics/cookies/jsonschema/1-0-0", + }, +] +`; diff --git a/plugins/browser-plugin-ga-cookies/test/ga-cookies.test.ts b/plugins/browser-plugin-ga-cookies/test/ga-cookies.test.ts new file mode 100644 index 000000000..6e82c5ec3 --- /dev/null +++ b/plugins/browser-plugin-ga-cookies/test/ga-cookies.test.ts @@ -0,0 +1,175 @@ +import { buildLinkClick, trackerCore } from '@snowplow/tracker-core'; +import { GaCookiesPlugin } from '../src'; + +describe('GA Cookies plugin', () => { + let cookieJar: string; + + beforeAll(() => { + cookieJar = ''; + jest.spyOn(document, 'cookie', 'set').mockImplementation((cookie) => { + cookieJar += cookie; + }); + jest.spyOn(document, 'cookie', 'get').mockImplementation(() => cookieJar); + }); + + afterEach(() => { + cookieJar = ''; + jest.clearAllTimers(); + }); + + afterAll(() => { + jest.clearAllMocks(); + }); + + it('Returns values for Universal Analytics cookies by default', (done) => { + const containerId = '1234'; + document.cookie = `_ga=1234; __utma=567; _ga_${containerId}=567;`; + const core = trackerCore({ + corePlugins: [GaCookiesPlugin()], + callback: (payloadBuilder) => { + const { data } = payloadBuilder.getJson()[1].json; + expect(data).toMatchSnapshot(); + done(); + }, + }); + + core.track(buildLinkClick({ targetUrl: 'https://example.com' })); + }); + + it('Does not add any additional GA4 context when GA4 cookies are not detected', (done) => { + /* In v3, an empty Universal Analytics cookies context was added to the contexts array. */ + const containerId = '1234'; + const measurementId = `G-${containerId}`; + document.cookie = ``; + const core = trackerCore({ + corePlugins: [GaCookiesPlugin({ ga4: true, ga4MeasurementId: measurementId })], + callback: (payloadBuilder) => { + const { data } = payloadBuilder.getJson()[1].json; + expect(data).toMatchSnapshot(); + done(); + }, + }); + + core.track(buildLinkClick({ targetUrl: 'https://example.com' })); + }); + + it('Returns values for GA4 cookies and Universal Analytics cookies', (done) => { + const containerId = '1234'; + const measurementId = `G-${containerId}`; + document.cookie = `_ga=1234; __utma=567; _ga_${containerId}=567;`; + const core = trackerCore({ + corePlugins: [GaCookiesPlugin({ ga4: true, ga4MeasurementId: measurementId })], + callback: (payloadBuilder) => { + const { data } = payloadBuilder.getJson()[1].json; + expect(data).toMatchSnapshot(); + done(); + }, + }); + + core.track(buildLinkClick({ targetUrl: 'https://example.com' })); + }); + + it('Returns values for GA4 cookies and not Universal Analytics cookies', (done) => { + const containerId = '1234'; + const measurementId = `G-${containerId}`; + document.cookie = `_ga=1234; __utma=567; _ga_${containerId}=567;`; + const core = trackerCore({ + corePlugins: [GaCookiesPlugin({ ua: false, ga4: true, ga4MeasurementId: measurementId })], + callback: (payloadBuilder) => { + const { data } = payloadBuilder.getJson()[1].json; + expect(data).toMatchSnapshot(); + done(); + }, + }); + + core.track(buildLinkClick({ targetUrl: 'https://example.com' })); + }); + + it('Correctly returns values for GA4 cookies for multiple measurement ids', (done) => { + const containerIdFoo = '1234'; + const containerIdBar = '5678'; + const measurementIds = [`G-${containerIdFoo}`, `G-${containerIdBar}`]; + document.cookie = `_ga=1234; __utma=567; _ga_${containerIdFoo}=567; _ga_${containerIdBar}=789;`; + const core = trackerCore({ + corePlugins: [GaCookiesPlugin({ ua: false, ga4: true, ga4MeasurementId: measurementIds })], + callback: (payloadBuilder) => { + const { data } = payloadBuilder.getJson()[1].json; + expect(data).toMatchSnapshot(); + done(); + }, + }); + + core.track(buildLinkClick({ targetUrl: 'https://example.com' })); + }); + + it('Correctly returns values for GA4 cookies with cookie prefix', (done) => { + const containerId = '1234'; + const measurementId = `G-${containerId}`; + const cookiePrefix = 'test'; + document.cookie = `${cookiePrefix}_ga=1234; __utma=567; ${cookiePrefix}_ga_${containerId}=567;`; + const core = trackerCore({ + corePlugins: [GaCookiesPlugin({ ua: false, ga4: true, ga4MeasurementId: measurementId, cookiePrefix })], + callback: (payloadBuilder) => { + const { data } = payloadBuilder.getJson()[1].json; + expect(data).toMatchSnapshot(); + done(); + }, + }); + + core.track(buildLinkClick({ targetUrl: 'https://example.com' })); + }); + + it('Only returns values for GA4 user cookies without measurement id/s and GA4 enabled', (done) => { + const containerId = '1234'; + document.cookie = `_ga=1234; __utma=567; _ga_${containerId}=567;`; + const core = trackerCore({ + corePlugins: [GaCookiesPlugin({ ua: false, ga4: true })], + callback: (payloadBuilder) => { + const { data } = payloadBuilder.getJson()[1].json; + expect(data).toMatchSnapshot(); + done(); + }, + }); + + core.track(buildLinkClick({ targetUrl: 'https://example.com' })); + }); + + it('Returns separate contexts for GA4 enabled setup with different cookie_prefix options', (done) => { + const containerId = '1234'; + const cookiePrefix = 'test'; + /* gtag.js with the { cookie_prefix } option will create {cookie_prefix}_ga and {cookie_prefix}_ga_{containerId} cookies. */ + document.cookie = `_ga=1234; __utma=567; _ga_${containerId}=567; ${cookiePrefix}_ga=890;`; + const core = trackerCore({ + corePlugins: [GaCookiesPlugin({ ua: false, ga4: true, cookiePrefix })], + callback: (payloadBuilder) => { + const { data } = payloadBuilder.getJson()[1].json; + expect(data).toMatchSnapshot(); + done(); + }, + }); + + core.track(buildLinkClick({ targetUrl: 'https://example.com' })); + }); + + it('Returns separate contexts for GA4 enabled setup with different cookie_prefix options and measurement ids', (done) => { + const containerId = '1234'; + const measurementId = `G-${containerId}`; + const prefixContainerId = '567'; + const prefixMeasurementId = `G-${prefixContainerId}`; + const cookiePrefix = 'test'; + /* gtag.js with the { cookie_prefix } option will create {cookie_prefix}_ga and {cookie_prefix}_ga_{containerId} cookies. */ + document.cookie = `_ga=1234; __utma=567; _ga_${containerId}=567; ${cookiePrefix}_ga=890; ${cookiePrefix}_ga_${prefixContainerId}=098`; + const core = trackerCore({ + corePlugins: [ + GaCookiesPlugin({ ua: false, ga4: true, cookiePrefix, ga4MeasurementId: [measurementId, prefixMeasurementId] }), + ], + callback: (payloadBuilder) => { + const { data } = payloadBuilder.getJson()[1].json; + expect(data).toMatchSnapshot(); + done(); + }, + }); + + core.track(buildLinkClick({ targetUrl: 'https://example.com' })); + }); +}); diff --git a/trackers/javascript-tracker/src/features.ts b/trackers/javascript-tracker/src/features.ts index 6a2932a75..c576696ce 100644 --- a/trackers/javascript-tracker/src/features.ts +++ b/trackers/javascript-tracker/src/features.ts @@ -121,7 +121,8 @@ export function Plugins(configuration: JavaScriptTrackerConfiguration) { if (plugins.gaCookies && gaCookies) { const { GaCookiesPlugin, ...apiMethods } = GaCookies; - activatedPlugins.push([GaCookiesPlugin(), apiMethods]); + const gaCookiesPlugin = typeof gaCookies === 'object' ? GaCookiesPlugin(gaCookies) : GaCookiesPlugin(); + activatedPlugins.push([gaCookiesPlugin, apiMethods]); } if (plugins.consent) { @@ -208,7 +209,7 @@ export function Plugins(configuration: JavaScriptTrackerConfiguration) { const { VimeoTrackingPlugin, ...apiMethods } = VimeoTracking; activatedPlugins.push([VimeoTrackingPlugin(), apiMethods]); } - + if (plugins.privacySandbox) { const { PrivacySandboxPlugin, ...apiMethods } = PrivacySandbox; activatedPlugins.push([PrivacySandboxPlugin(), apiMethods]); From a7131c32213c0423d8e85fc69af5242d24d5c78a Mon Sep 17 00:00:00 2001 From: Peter Perlepes Date: Tue, 14 Nov 2023 15:53:12 +0200 Subject: [PATCH 144/449] Add CommonEventProperties type argument (close #1249) #1254 --- ...mon-event-properties-type-arg_2023-10-11-10-45.json | 10 ++++++++++ ...mon-event-properties-type-arg_2023-10-11-10-22.json | 10 ++++++++++ libraries/tracker-core/src/core.ts | 4 ++-- trackers/browser-tracker/docs/browser-tracker.api.md | 4 ++-- 4 files changed, 24 insertions(+), 4 deletions(-) create mode 100644 common/changes/@snowplow/browser-tracker/feature-1249-common-event-properties-type-arg_2023-10-11-10-45.json create mode 100644 common/changes/@snowplow/tracker-core/feature-1249-common-event-properties-type-arg_2023-10-11-10-22.json diff --git a/common/changes/@snowplow/browser-tracker/feature-1249-common-event-properties-type-arg_2023-10-11-10-45.json b/common/changes/@snowplow/browser-tracker/feature-1249-common-event-properties-type-arg_2023-10-11-10-45.json new file mode 100644 index 000000000..da9cef551 --- /dev/null +++ b/common/changes/@snowplow/browser-tracker/feature-1249-common-event-properties-type-arg_2023-10-11-10-45.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-tracker", + "comment": "Add CommonEventProperties type argument", + "type": "none" + } + ], + "packageName": "@snowplow/browser-tracker" +} \ No newline at end of file diff --git a/common/changes/@snowplow/tracker-core/feature-1249-common-event-properties-type-arg_2023-10-11-10-22.json b/common/changes/@snowplow/tracker-core/feature-1249-common-event-properties-type-arg_2023-10-11-10-22.json new file mode 100644 index 000000000..bdb8e0495 --- /dev/null +++ b/common/changes/@snowplow/tracker-core/feature-1249-common-event-properties-type-arg_2023-10-11-10-22.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/tracker-core", + "comment": "Add CommonEventProperties type argument", + "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 4a37e7f16..6bb8e277c 100644 --- a/libraries/tracker-core/src/core.ts +++ b/libraries/tracker-core/src/core.ts @@ -119,9 +119,9 @@ 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; + context?: Array> | null; /** Set the true timestamp or overwrite the device sent timestamp on an event */ timestamp?: Timestamp | null; } diff --git a/trackers/browser-tracker/docs/browser-tracker.api.md b/trackers/browser-tracker/docs/browser-tracker.api.md index 4328b687e..f064fc99b 100644 --- a/trackers/browser-tracker/docs/browser-tracker.api.md +++ b/trackers/browser-tracker/docs/browser-tracker.api.md @@ -142,8 +142,8 @@ export interface ClientSession extends Record { } // @public -export interface CommonEventProperties { - context?: Array | null; +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; } From 77ea93c36bfc0eb2328a0bef46d8d9b0a6f6222d Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 14 Nov 2023 17:58:27 +0000 Subject: [PATCH 145/449] Update changelogs [skip ci] --- ...sue-1264_client_hints_2023-11-11-11-25.json | 10 ---------- ...-ga4-cookies-addition_2023-08-08-14-04.json | 10 ---------- ...tatus-codes-under-200_2023-10-20-16-20.json | 10 ---------- ..._bump_browser_context_2023-10-25-12-15.json | 10 ---------- ...t-properties-type-arg_2023-10-11-10-45.json | 10 ---------- ...-failure-retry-option_2023-10-23-14-24.json | 10 ---------- ...-failure-retry-option_2023-10-23-14-29.json | 10 ---------- ...-ga4-cookies-addition_2023-08-14-14-18.json | 10 ---------- ...t-properties-type-arg_2023-10-11-10-22.json | 10 ---------- libraries/browser-tracker-core/CHANGELOG.json | 15 +++++++++++++++ libraries/browser-tracker-core/CHANGELOG.md | 10 +++++++++- libraries/tracker-core/CHANGELOG.json | 12 ++++++++++++ libraries/tracker-core/CHANGELOG.md | 9 ++++++++- .../browser-plugin-ad-tracking/CHANGELOG.json | 6 ++++++ .../browser-plugin-ad-tracking/CHANGELOG.md | 7 ++++++- .../CHANGELOG.json | 6 ++++++ .../CHANGELOG.md | 7 ++++++- .../browser-plugin-client-hints/CHANGELOG.json | 12 ++++++++++++ .../browser-plugin-client-hints/CHANGELOG.md | 9 ++++++++- 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 ++++++- .../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 ++++++- .../browser-plugin-focalmeter/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-focalmeter/CHANGELOG.md | 7 ++++++- .../CHANGELOG.json | 6 ++++++ .../browser-plugin-form-tracking/CHANGELOG.md | 7 ++++++- .../browser-plugin-ga-cookies/CHANGELOG.json | 12 ++++++++++++ plugins/browser-plugin-ga-cookies/CHANGELOG.md | 9 ++++++++- .../browser-plugin-geolocation/CHANGELOG.json | 6 ++++++ .../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 ++++++ .../CHANGELOG.md | 7 ++++++- .../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 | 18 ++++++++++++++++++ trackers/browser-tracker/CHANGELOG.md | 11 ++++++++++- trackers/javascript-tracker/CHANGELOG.json | 12 ++++++++++++ trackers/javascript-tracker/CHANGELOG.md | 9 ++++++++- trackers/node-tracker/CHANGELOG.json | 6 ++++++ trackers/node-tracker/CHANGELOG.md | 7 ++++++- 73 files changed, 444 insertions(+), 122 deletions(-) delete mode 100644 common/changes/@snowplow/browser-plugin-client-hints/issue-1264_client_hints_2023-11-11-11-25.json delete mode 100644 common/changes/@snowplow/browser-plugin-ga-cookies/feature-ga-cookies-plugin-ga4-cookies-addition_2023-08-08-14-04.json delete mode 100644 common/changes/@snowplow/browser-tracker-core/issue-1244-consider-status-codes-under-200_2023-10-20-16-20.json delete mode 100644 common/changes/@snowplow/browser-tracker-core/issue-1260_bump_browser_context_2023-10-25-12-15.json delete mode 100644 common/changes/@snowplow/browser-tracker/feature-1249-common-event-properties-type-arg_2023-10-11-10-45.json delete mode 100644 common/changes/@snowplow/browser-tracker/issue-1248-send-failure-retry-option_2023-10-23-14-24.json delete mode 100644 common/changes/@snowplow/browser-tracker/issue-1248-send-failure-retry-option_2023-10-23-14-29.json delete mode 100644 common/changes/@snowplow/javascript-tracker/feature-1225-ga-cookies-plugin-ga4-cookies-addition_2023-08-14-14-18.json delete mode 100644 common/changes/@snowplow/tracker-core/feature-1249-common-event-properties-type-arg_2023-10-11-10-22.json diff --git a/common/changes/@snowplow/browser-plugin-client-hints/issue-1264_client_hints_2023-11-11-11-25.json b/common/changes/@snowplow/browser-plugin-client-hints/issue-1264_client_hints_2023-11-11-11-25.json deleted file mode 100644 index e4a5135cf..000000000 --- a/common/changes/@snowplow/browser-plugin-client-hints/issue-1264_client_hints_2023-11-11-11-25.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-plugin-client-hints", - "comment": "Drop invalid client hints", - "type": "none" - } - ], - "packageName": "@snowplow/browser-plugin-client-hints" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-ga-cookies/feature-ga-cookies-plugin-ga4-cookies-addition_2023-08-08-14-04.json b/common/changes/@snowplow/browser-plugin-ga-cookies/feature-ga-cookies-plugin-ga4-cookies-addition_2023-08-08-14-04.json deleted file mode 100644 index 7273f3046..000000000 --- a/common/changes/@snowplow/browser-plugin-ga-cookies/feature-ga-cookies-plugin-ga4-cookies-addition_2023-08-08-14-04.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-plugin-ga-cookies", - "comment": "Update to include options for Google Analytics 4 cookies", - "type": "none" - } - ], - "packageName": "@snowplow/browser-plugin-ga-cookies" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-tracker-core/issue-1244-consider-status-codes-under-200_2023-10-20-16-20.json b/common/changes/@snowplow/browser-tracker-core/issue-1244-consider-status-codes-under-200_2023-10-20-16-20.json deleted file mode 100644 index 8b89f8b54..000000000 --- a/common/changes/@snowplow/browser-tracker-core/issue-1244-consider-status-codes-under-200_2023-10-20-16-20.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-tracker-core", - "comment": "Consider status codes <200", - "type": "none" - } - ], - "packageName": "@snowplow/browser-tracker-core" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-tracker-core/issue-1260_bump_browser_context_2023-10-25-12-15.json b/common/changes/@snowplow/browser-tracker-core/issue-1260_bump_browser_context_2023-10-25-12-15.json deleted file mode 100644 index 48cb88901..000000000 --- a/common/changes/@snowplow/browser-tracker-core/issue-1260_bump_browser_context_2023-10-25-12-15.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-tracker-core", - "comment": "Bump browser_context schema to 2-0-0", - "type": "none" - } - ], - "packageName": "@snowplow/browser-tracker-core" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-tracker/feature-1249-common-event-properties-type-arg_2023-10-11-10-45.json b/common/changes/@snowplow/browser-tracker/feature-1249-common-event-properties-type-arg_2023-10-11-10-45.json deleted file mode 100644 index da9cef551..000000000 --- a/common/changes/@snowplow/browser-tracker/feature-1249-common-event-properties-type-arg_2023-10-11-10-45.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-tracker", - "comment": "Add CommonEventProperties type argument", - "type": "none" - } - ], - "packageName": "@snowplow/browser-tracker" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-tracker/issue-1248-send-failure-retry-option_2023-10-23-14-24.json b/common/changes/@snowplow/browser-tracker/issue-1248-send-failure-retry-option_2023-10-23-14-24.json deleted file mode 100644 index 4a400f6fc..000000000 --- a/common/changes/@snowplow/browser-tracker/issue-1248-send-failure-retry-option_2023-10-23-14-24.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-tracker", - "comment": "Update API docs with retryFailedRequests", - "type": "none" - } - ], - "packageName": "@snowplow/browser-tracker" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-tracker/issue-1248-send-failure-retry-option_2023-10-23-14-29.json b/common/changes/@snowplow/browser-tracker/issue-1248-send-failure-retry-option_2023-10-23-14-29.json deleted file mode 100644 index 5fcd9f286..000000000 --- a/common/changes/@snowplow/browser-tracker/issue-1248-send-failure-retry-option_2023-10-23-14-29.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-tracker", - "comment": "Add retryFailedRequests", - "type": "none" - } - ], - "packageName": "@snowplow/browser-tracker" -} \ No newline at end of file diff --git a/common/changes/@snowplow/javascript-tracker/feature-1225-ga-cookies-plugin-ga4-cookies-addition_2023-08-14-14-18.json b/common/changes/@snowplow/javascript-tracker/feature-1225-ga-cookies-plugin-ga4-cookies-addition_2023-08-14-14-18.json deleted file mode 100644 index e3ff286e4..000000000 --- a/common/changes/@snowplow/javascript-tracker/feature-1225-ga-cookies-plugin-ga4-cookies-addition_2023-08-14-14-18.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/javascript-tracker", - "comment": "Add further options for the gaCookies context", - "type": "none" - } - ], - "packageName": "@snowplow/javascript-tracker" -} \ No newline at end of file diff --git a/common/changes/@snowplow/tracker-core/feature-1249-common-event-properties-type-arg_2023-10-11-10-22.json b/common/changes/@snowplow/tracker-core/feature-1249-common-event-properties-type-arg_2023-10-11-10-22.json deleted file mode 100644 index bdb8e0495..000000000 --- a/common/changes/@snowplow/tracker-core/feature-1249-common-event-properties-type-arg_2023-10-11-10-22.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/tracker-core", - "comment": "Add CommonEventProperties type argument", - "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 828399fee..a4ff09af1 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.17.0", + "tag": "@snowplow/browser-tracker-core_v3.17.0", + "date": "Tue, 14 Nov 2023 17:58:26 GMT", + "comments": { + "none": [ + { + "comment": "Consider status codes <200" + }, + { + "comment": "Bump browser_context schema to 2-0-0" + } + ] + } + }, { "version": "3.16.0", "tag": "@snowplow/browser-tracker-core_v3.16.0", diff --git a/libraries/browser-tracker-core/CHANGELOG.md b/libraries/browser-tracker-core/CHANGELOG.md index fb800840a..8aaec122f 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 Mon, 16 Oct 2023 14:58:08 GMT and should not be manually modified. +This log was last generated on Tue, 14 Nov 2023 17:58:26 GMT and should not be manually modified. + +## 3.17.0 +Tue, 14 Nov 2023 17:58:26 GMT + +### Updates + +- Consider status codes <200 +- Bump browser_context schema to 2-0-0 ## 3.16.0 Mon, 16 Oct 2023 14:58:08 GMT diff --git a/libraries/tracker-core/CHANGELOG.json b/libraries/tracker-core/CHANGELOG.json index 5ae8b3e2e..829312ffe 100644 --- a/libraries/tracker-core/CHANGELOG.json +++ b/libraries/tracker-core/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@snowplow/tracker-core", "entries": [ + { + "version": "3.17.0", + "tag": "@snowplow/tracker-core_v3.17.0", + "date": "Tue, 14 Nov 2023 17:58:26 GMT", + "comments": { + "none": [ + { + "comment": "Add CommonEventProperties type argument" + } + ] + } + }, { "version": "3.16.0", "tag": "@snowplow/tracker-core_v3.16.0", diff --git a/libraries/tracker-core/CHANGELOG.md b/libraries/tracker-core/CHANGELOG.md index 6aba93d0d..040fa978d 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 Mon, 16 Oct 2023 14:58:08 GMT and should not be manually modified. +This log was last generated on Tue, 14 Nov 2023 17:58:26 GMT and should not be manually modified. + +## 3.17.0 +Tue, 14 Nov 2023 17:58:26 GMT + +### Updates + +- Add CommonEventProperties type argument ## 3.16.0 Mon, 16 Oct 2023 14:58:08 GMT diff --git a/plugins/browser-plugin-ad-tracking/CHANGELOG.json b/plugins/browser-plugin-ad-tracking/CHANGELOG.json index beecede67..7c1315957 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.17.0", + "tag": "@snowplow/browser-plugin-ad-tracking_v3.17.0", + "date": "Tue, 14 Nov 2023 17:58:26 GMT", + "comments": {} + }, { "version": "3.16.0", "tag": "@snowplow/browser-plugin-ad-tracking_v3.16.0", diff --git a/plugins/browser-plugin-ad-tracking/CHANGELOG.md b/plugins/browser-plugin-ad-tracking/CHANGELOG.md index bd8faf463..6fee35ddc 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, 16 Oct 2023 14:58:08 GMT and should not be manually modified. +This log was last generated on Tue, 14 Nov 2023 17:58:26 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-browser-features/CHANGELOG.json b/plugins/browser-plugin-browser-features/CHANGELOG.json index 68d98c2a2..20df0b7d0 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.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", diff --git a/plugins/browser-plugin-browser-features/CHANGELOG.md b/plugins/browser-plugin-browser-features/CHANGELOG.md index 88e13827b..ff7365703 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, 16 Oct 2023 14:58:08 GMT and should not be manually modified. +This log was last generated on Tue, 14 Nov 2023 17:58:26 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-client-hints/CHANGELOG.json b/plugins/browser-plugin-client-hints/CHANGELOG.json index 90ba29aee..880dfc665 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.17.0", + "tag": "@snowplow/browser-plugin-client-hints_v3.17.0", + "date": "Tue, 14 Nov 2023 17:58:26 GMT", + "comments": { + "none": [ + { + "comment": "Drop invalid client hints" + } + ] + } + }, { "version": "3.16.0", "tag": "@snowplow/browser-plugin-client-hints_v3.16.0", diff --git a/plugins/browser-plugin-client-hints/CHANGELOG.md b/plugins/browser-plugin-client-hints/CHANGELOG.md index 5ddaa5b2f..134a63b1e 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 Mon, 16 Oct 2023 14:58:08 GMT and should not be manually modified. +This log was last generated on Tue, 14 Nov 2023 17:58:26 GMT and should not be manually modified. + +## 3.17.0 +Tue, 14 Nov 2023 17:58:26 GMT + +### Updates + +- Drop invalid client hints ## 3.16.0 Mon, 16 Oct 2023 14:58:08 GMT diff --git a/plugins/browser-plugin-consent/CHANGELOG.json b/plugins/browser-plugin-consent/CHANGELOG.json index 4d94def9f..3c4d51266 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.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", diff --git a/plugins/browser-plugin-consent/CHANGELOG.md b/plugins/browser-plugin-consent/CHANGELOG.md index 1b24d546f..283949292 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, 16 Oct 2023 14:58:08 GMT and should not be manually modified. +This log was last generated on Tue, 14 Nov 2023 17:58:26 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-debugger/CHANGELOG.json b/plugins/browser-plugin-debugger/CHANGELOG.json index 1d6914eb4..6e482089e 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.17.0", + "tag": "@snowplow/browser-plugin-debugger_v3.17.0", + "date": "Tue, 14 Nov 2023 17:58:26 GMT", + "comments": {} + }, { "version": "3.16.0", "tag": "@snowplow/browser-plugin-debugger_v3.16.0", diff --git a/plugins/browser-plugin-debugger/CHANGELOG.md b/plugins/browser-plugin-debugger/CHANGELOG.md index 4a3e1a857..cfd8dceb9 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, 16 Oct 2023 14:58:08 GMT and should not be manually modified. +This log was last generated on Tue, 14 Nov 2023 17:58:26 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-ecommerce/CHANGELOG.json b/plugins/browser-plugin-ecommerce/CHANGELOG.json index f3dd02145..268e04e6f 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.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", diff --git a/plugins/browser-plugin-ecommerce/CHANGELOG.md b/plugins/browser-plugin-ecommerce/CHANGELOG.md index 018495162..dfc2cbe2e 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, 16 Oct 2023 14:58:08 GMT and should not be manually modified. +This log was last generated on Tue, 14 Nov 2023 17:58:26 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-enhanced-consent/CHANGELOG.json b/plugins/browser-plugin-enhanced-consent/CHANGELOG.json index 74e33fac7..f8fb3ae2e 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.17.0", + "tag": "@snowplow/browser-plugin-enhanced-consent_v3.17.0", + "date": "Tue, 14 Nov 2023 17:58:26 GMT", + "comments": {} + }, { "version": "3.16.0", "tag": "@snowplow/browser-plugin-enhanced-consent_v3.16.0", diff --git a/plugins/browser-plugin-enhanced-consent/CHANGELOG.md b/plugins/browser-plugin-enhanced-consent/CHANGELOG.md index dfcea66ba..130862ea9 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, 16 Oct 2023 14:58:08 GMT and should not be manually modified. +This log was last generated on Tue, 14 Nov 2023 17:58:26 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.json b/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.json index 4bc290418..2535d6bae 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.17.0", + "tag": "@snowplow/browser-plugin-enhanced-ecommerce_v3.17.0", + "date": "Tue, 14 Nov 2023 17:58:26 GMT", + "comments": {} + }, { "version": "3.16.0", "tag": "@snowplow/browser-plugin-enhanced-ecommerce_v3.16.0", diff --git a/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.md b/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.md index 8ccbcaa80..19728327a 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, 16 Oct 2023 14:58:08 GMT and should not be manually modified. +This log was last generated on Tue, 14 Nov 2023 17:58:26 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-error-tracking/CHANGELOG.json b/plugins/browser-plugin-error-tracking/CHANGELOG.json index d2b65fdbb..4013cb598 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.17.0", + "tag": "@snowplow/browser-plugin-error-tracking_v3.17.0", + "date": "Tue, 14 Nov 2023 17:58:26 GMT", + "comments": {} + }, { "version": "3.16.0", "tag": "@snowplow/browser-plugin-error-tracking_v3.16.0", diff --git a/plugins/browser-plugin-error-tracking/CHANGELOG.md b/plugins/browser-plugin-error-tracking/CHANGELOG.md index dc22bbbac..e08b28a34 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, 16 Oct 2023 14:58:08 GMT and should not be manually modified. +This log was last generated on Tue, 14 Nov 2023 17:58:26 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-focalmeter/CHANGELOG.json b/plugins/browser-plugin-focalmeter/CHANGELOG.json index b25f75995..b1aa00ab5 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.17.0", + "tag": "@snowplow/browser-plugin-focalmeter_v3.17.0", + "date": "Tue, 14 Nov 2023 17:58:26 GMT", + "comments": {} + }, { "version": "3.16.0", "tag": "@snowplow/browser-plugin-focalmeter_v3.16.0", diff --git a/plugins/browser-plugin-focalmeter/CHANGELOG.md b/plugins/browser-plugin-focalmeter/CHANGELOG.md index 1137844eb..a0f431080 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, 16 Oct 2023 14:58:08 GMT and should not be manually modified. +This log was last generated on Tue, 14 Nov 2023 17:58:26 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-form-tracking/CHANGELOG.json b/plugins/browser-plugin-form-tracking/CHANGELOG.json index a8caf3bd9..2fe2e91df 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.17.0", + "tag": "@snowplow/browser-plugin-form-tracking_v3.17.0", + "date": "Tue, 14 Nov 2023 17:58:26 GMT", + "comments": {} + }, { "version": "3.16.0", "tag": "@snowplow/browser-plugin-form-tracking_v3.16.0", diff --git a/plugins/browser-plugin-form-tracking/CHANGELOG.md b/plugins/browser-plugin-form-tracking/CHANGELOG.md index 367d30ce9..6bba89c44 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, 16 Oct 2023 14:58:08 GMT and should not be manually modified. +This log was last generated on Tue, 14 Nov 2023 17:58:26 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-ga-cookies/CHANGELOG.json b/plugins/browser-plugin-ga-cookies/CHANGELOG.json index 07b158b9f..8f604fb24 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.17.0", + "tag": "@snowplow/browser-plugin-ga-cookies_v3.17.0", + "date": "Tue, 14 Nov 2023 17:58:26 GMT", + "comments": { + "none": [ + { + "comment": "Update to include options for Google Analytics 4 cookies" + } + ] + } + }, { "version": "3.16.0", "tag": "@snowplow/browser-plugin-ga-cookies_v3.16.0", diff --git a/plugins/browser-plugin-ga-cookies/CHANGELOG.md b/plugins/browser-plugin-ga-cookies/CHANGELOG.md index 9cf7fd021..d202c0cc8 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 Mon, 16 Oct 2023 14:58:08 GMT and should not be manually modified. +This log was last generated on Tue, 14 Nov 2023 17:58:26 GMT and should not be manually modified. + +## 3.17.0 +Tue, 14 Nov 2023 17:58:26 GMT + +### Updates + +- Update to include options for Google Analytics 4 cookies ## 3.16.0 Mon, 16 Oct 2023 14:58:08 GMT diff --git a/plugins/browser-plugin-geolocation/CHANGELOG.json b/plugins/browser-plugin-geolocation/CHANGELOG.json index 1a9c9807d..077bb4511 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.17.0", + "tag": "@snowplow/browser-plugin-geolocation_v3.17.0", + "date": "Tue, 14 Nov 2023 17:58:26 GMT", + "comments": {} + }, { "version": "3.16.0", "tag": "@snowplow/browser-plugin-geolocation_v3.16.0", diff --git a/plugins/browser-plugin-geolocation/CHANGELOG.md b/plugins/browser-plugin-geolocation/CHANGELOG.md index 51ebbc62c..8009d2dc9 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, 16 Oct 2023 14:58:08 GMT and should not be manually modified. +This log was last generated on Tue, 14 Nov 2023 17:58:26 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-link-click-tracking/CHANGELOG.json b/plugins/browser-plugin-link-click-tracking/CHANGELOG.json index 40751bc40..734a4f300 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.17.0", + "tag": "@snowplow/browser-plugin-link-click-tracking_v3.17.0", + "date": "Tue, 14 Nov 2023 17:58:26 GMT", + "comments": {} + }, { "version": "3.16.0", "tag": "@snowplow/browser-plugin-link-click-tracking_v3.16.0", diff --git a/plugins/browser-plugin-link-click-tracking/CHANGELOG.md b/plugins/browser-plugin-link-click-tracking/CHANGELOG.md index bd0343cb3..1a2cbf0a0 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, 16 Oct 2023 14:58:08 GMT and should not be manually modified. +This log was last generated on Tue, 14 Nov 2023 17:58:26 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-media-tracking/CHANGELOG.json b/plugins/browser-plugin-media-tracking/CHANGELOG.json index d3ced4f81..33e1dd2ce 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.17.0", + "tag": "@snowplow/browser-plugin-media-tracking_v3.17.0", + "date": "Tue, 14 Nov 2023 17:58:26 GMT", + "comments": {} + }, { "version": "3.16.0", "tag": "@snowplow/browser-plugin-media-tracking_v3.16.0", diff --git a/plugins/browser-plugin-media-tracking/CHANGELOG.md b/plugins/browser-plugin-media-tracking/CHANGELOG.md index 672724506..4a4e19035 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, 16 Oct 2023 14:58:08 GMT and should not be manually modified. +This log was last generated on Tue, 14 Nov 2023 17:58:26 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-media/CHANGELOG.json b/plugins/browser-plugin-media/CHANGELOG.json index 68f6fc329..c84f9bb90 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.17.0", + "tag": "@snowplow/browser-plugin-media_v3.17.0", + "date": "Tue, 14 Nov 2023 17:58:26 GMT", + "comments": {} + }, { "version": "3.16.0", "tag": "@snowplow/browser-plugin-media_v3.16.0", diff --git a/plugins/browser-plugin-media/CHANGELOG.md b/plugins/browser-plugin-media/CHANGELOG.md index 403804cae..07210f2be 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, 16 Oct 2023 14:58:08 GMT and should not be manually modified. +This log was last generated on Tue, 14 Nov 2023 17:58:26 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-optimizely-x/CHANGELOG.json b/plugins/browser-plugin-optimizely-x/CHANGELOG.json index 0ff6566eb..1ddbffd0f 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.17.0", + "tag": "@snowplow/browser-plugin-optimizely-x_v3.17.0", + "date": "Tue, 14 Nov 2023 17:58:26 GMT", + "comments": {} + }, { "version": "3.16.0", "tag": "@snowplow/browser-plugin-optimizely-x_v3.16.0", diff --git a/plugins/browser-plugin-optimizely-x/CHANGELOG.md b/plugins/browser-plugin-optimizely-x/CHANGELOG.md index e999560d4..6db6afce9 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, 16 Oct 2023 14:58:08 GMT and should not be manually modified. +This log was last generated on Tue, 14 Nov 2023 17:58:26 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-optimizely/CHANGELOG.json b/plugins/browser-plugin-optimizely/CHANGELOG.json index 9c9d14cea..3f2c98ba7 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.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", diff --git a/plugins/browser-plugin-optimizely/CHANGELOG.md b/plugins/browser-plugin-optimizely/CHANGELOG.md index d2b8cef5d..108d8dc43 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, 16 Oct 2023 14:58:08 GMT and should not be manually modified. +This log was last generated on Tue, 14 Nov 2023 17:58:26 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.json b/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.json index 76f585902..6afd161cb 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.17.0", + "tag": "@snowplow/browser-plugin-performance-navigation-timing_v3.17.0", + "date": "Tue, 14 Nov 2023 17:58:26 GMT", + "comments": {} + }, { "version": "3.16.0", "tag": "@snowplow/browser-plugin-performance-navigation-timing_v3.16.0", diff --git a/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.md b/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.md index 3bd8f1a82..9c3cc3c1a 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, 16 Oct 2023 14:58:08 GMT and should not be manually modified. +This log was last generated on Tue, 14 Nov 2023 17:58:26 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-performance-timing/CHANGELOG.json b/plugins/browser-plugin-performance-timing/CHANGELOG.json index 90701849a..b3becbcad 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.17.0", + "tag": "@snowplow/browser-plugin-performance-timing_v3.17.0", + "date": "Tue, 14 Nov 2023 17:58:26 GMT", + "comments": {} + }, { "version": "3.16.0", "tag": "@snowplow/browser-plugin-performance-timing_v3.16.0", diff --git a/plugins/browser-plugin-performance-timing/CHANGELOG.md b/plugins/browser-plugin-performance-timing/CHANGELOG.md index be6da19bc..81f6836de 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, 16 Oct 2023 14:58:08 GMT and should not be manually modified. +This log was last generated on Tue, 14 Nov 2023 17:58:26 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-privacy-sandbox/CHANGELOG.json b/plugins/browser-plugin-privacy-sandbox/CHANGELOG.json index 54b9aa4ae..81cd4b930 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.17.0", + "tag": "@snowplow/browser-plugin-privacy-sandbox_v3.17.0", + "date": "Tue, 14 Nov 2023 17:58:26 GMT", + "comments": {} + }, { "version": "3.16.0", "tag": "@snowplow/browser-plugin-privacy-sandbox_v3.16.0", diff --git a/plugins/browser-plugin-privacy-sandbox/CHANGELOG.md b/plugins/browser-plugin-privacy-sandbox/CHANGELOG.md index 8d96b4370..e8d2923d9 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, 16 Oct 2023 14:58:08 GMT and should not be manually modified. +This log was last generated on Tue, 14 Nov 2023 17:58:26 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-site-tracking/CHANGELOG.json b/plugins/browser-plugin-site-tracking/CHANGELOG.json index 45b140296..e66dfbd5f 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.17.0", + "tag": "@snowplow/browser-plugin-site-tracking_v3.17.0", + "date": "Tue, 14 Nov 2023 17:58:26 GMT", + "comments": {} + }, { "version": "3.16.0", "tag": "@snowplow/browser-plugin-site-tracking_v3.16.0", diff --git a/plugins/browser-plugin-site-tracking/CHANGELOG.md b/plugins/browser-plugin-site-tracking/CHANGELOG.md index b2c0f21aa..792815bda 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, 16 Oct 2023 14:58:08 GMT and should not be manually modified. +This log was last generated on Tue, 14 Nov 2023 17:58:26 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.json b/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.json index 78e6537a4..c21b6bc00 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.17.0", + "tag": "@snowplow/browser-plugin-snowplow-ecommerce_v3.17.0", + "date": "Tue, 14 Nov 2023 17:58:26 GMT", + "comments": {} + }, { "version": "3.16.0", "tag": "@snowplow/browser-plugin-snowplow-ecommerce_v3.16.0", diff --git a/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.md b/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.md index 24a95a9ed..1a48b1b15 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 Mon, 16 Oct 2023 14:58:08 GMT and should not be manually modified. +This log was last generated on Tue, 14 Nov 2023 17:58:26 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-timezone/CHANGELOG.json b/plugins/browser-plugin-timezone/CHANGELOG.json index f04989af6..356396868 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.17.0", + "tag": "@snowplow/browser-plugin-timezone_v3.17.0", + "date": "Tue, 14 Nov 2023 17:58:26 GMT", + "comments": {} + }, { "version": "3.16.0", "tag": "@snowplow/browser-plugin-timezone_v3.16.0", diff --git a/plugins/browser-plugin-timezone/CHANGELOG.md b/plugins/browser-plugin-timezone/CHANGELOG.md index 56d5bd19c..d00b0adb7 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, 16 Oct 2023 14:58:08 GMT and should not be manually modified. +This log was last generated on Tue, 14 Nov 2023 17:58:26 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-vimeo-tracking/CHANGELOG.json b/plugins/browser-plugin-vimeo-tracking/CHANGELOG.json index 76f066ac3..aaab409a9 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.17.0", + "tag": "@snowplow/browser-plugin-vimeo-tracking_v3.17.0", + "date": "Tue, 14 Nov 2023 17:58:26 GMT", + "comments": {} + }, { "version": "3.16.0", "tag": "@snowplow/browser-plugin-vimeo-tracking_v3.16.0", diff --git a/plugins/browser-plugin-vimeo-tracking/CHANGELOG.md b/plugins/browser-plugin-vimeo-tracking/CHANGELOG.md index a1ba1fc95..665229c51 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, 16 Oct 2023 14:58:08 GMT and should not be manually modified. +This log was last generated on Tue, 14 Nov 2023 17:58:26 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-web-vitals/CHANGELOG.json b/plugins/browser-plugin-web-vitals/CHANGELOG.json index 3fbf078b5..69c2113fd 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.17.0", + "tag": "@snowplow/browser-plugin-web-vitals_v3.17.0", + "date": "Tue, 14 Nov 2023 17:58:26 GMT", + "comments": {} + }, { "version": "3.16.0", "tag": "@snowplow/browser-plugin-web-vitals_v3.16.0", diff --git a/plugins/browser-plugin-web-vitals/CHANGELOG.md b/plugins/browser-plugin-web-vitals/CHANGELOG.md index 5603ea40c..72b8ba42a 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, 16 Oct 2023 14:58:08 GMT and should not be manually modified. +This log was last generated on Tue, 14 Nov 2023 17:58:26 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-youtube-tracking/CHANGELOG.json b/plugins/browser-plugin-youtube-tracking/CHANGELOG.json index 04ef3b205..bd6a910c6 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.17.0", + "tag": "@snowplow/browser-plugin-youtube-tracking_v3.17.0", + "date": "Tue, 14 Nov 2023 17:58:26 GMT", + "comments": {} + }, { "version": "3.16.0", "tag": "@snowplow/browser-plugin-youtube-tracking_v3.16.0", diff --git a/plugins/browser-plugin-youtube-tracking/CHANGELOG.md b/plugins/browser-plugin-youtube-tracking/CHANGELOG.md index d7612f962..f33052866 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, 16 Oct 2023 14:58:08 GMT and should not be manually modified. +This log was last generated on Tue, 14 Nov 2023 17:58:26 GMT and should not be manually modified. + +## 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 diff --git a/trackers/browser-tracker/CHANGELOG.json b/trackers/browser-tracker/CHANGELOG.json index bfc97e3b0..90329dd47 100644 --- a/trackers/browser-tracker/CHANGELOG.json +++ b/trackers/browser-tracker/CHANGELOG.json @@ -1,6 +1,24 @@ { "name": "@snowplow/browser-tracker", "entries": [ + { + "version": "3.17.0", + "tag": "@snowplow/browser-tracker_v3.17.0", + "date": "Tue, 14 Nov 2023 17:58:26 GMT", + "comments": { + "none": [ + { + "comment": "Add CommonEventProperties type argument" + }, + { + "comment": "Update API docs with retryFailedRequests" + }, + { + "comment": "Add retryFailedRequests" + } + ] + } + }, { "version": "3.16.0", "tag": "@snowplow/browser-tracker_v3.16.0", diff --git a/trackers/browser-tracker/CHANGELOG.md b/trackers/browser-tracker/CHANGELOG.md index 1aa0da24c..1af46150f 100644 --- a/trackers/browser-tracker/CHANGELOG.md +++ b/trackers/browser-tracker/CHANGELOG.md @@ -1,6 +1,15 @@ # Change Log - @snowplow/browser-tracker -This log was last generated on Mon, 16 Oct 2023 14:58:08 GMT and should not be manually modified. +This log was last generated on Tue, 14 Nov 2023 17:58:26 GMT and should not be manually modified. + +## 3.17.0 +Tue, 14 Nov 2023 17:58:26 GMT + +### Updates + +- Add CommonEventProperties type argument +- Update API docs with retryFailedRequests +- Add retryFailedRequests ## 3.16.0 Mon, 16 Oct 2023 14:58:08 GMT diff --git a/trackers/javascript-tracker/CHANGELOG.json b/trackers/javascript-tracker/CHANGELOG.json index 8455da56a..1005df02d 100644 --- a/trackers/javascript-tracker/CHANGELOG.json +++ b/trackers/javascript-tracker/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@snowplow/javascript-tracker", "entries": [ + { + "version": "3.17.0", + "tag": "@snowplow/javascript-tracker_v3.17.0", + "date": "Tue, 14 Nov 2023 17:58:26 GMT", + "comments": { + "none": [ + { + "comment": "Add further options for the gaCookies context" + } + ] + } + }, { "version": "3.16.0", "tag": "@snowplow/javascript-tracker_v3.16.0", diff --git a/trackers/javascript-tracker/CHANGELOG.md b/trackers/javascript-tracker/CHANGELOG.md index 14d58d26f..590a9ef83 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 Mon, 16 Oct 2023 14:58:08 GMT and should not be manually modified. +This log was last generated on Tue, 14 Nov 2023 17:58:26 GMT and should not be manually modified. + +## 3.17.0 +Tue, 14 Nov 2023 17:58:26 GMT + +### Updates + +- Add further options for the gaCookies context ## 3.16.0 Mon, 16 Oct 2023 14:58:08 GMT diff --git a/trackers/node-tracker/CHANGELOG.json b/trackers/node-tracker/CHANGELOG.json index aff6bdf55..075c030b6 100644 --- a/trackers/node-tracker/CHANGELOG.json +++ b/trackers/node-tracker/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/node-tracker", "entries": [ + { + "version": "3.17.0", + "tag": "@snowplow/node-tracker_v3.17.0", + "date": "Tue, 14 Nov 2023 17:58:26 GMT", + "comments": {} + }, { "version": "3.16.0", "tag": "@snowplow/node-tracker_v3.16.0", diff --git a/trackers/node-tracker/CHANGELOG.md b/trackers/node-tracker/CHANGELOG.md index 96a3f599f..1638ffe82 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, 16 Oct 2023 14:58:08 GMT and should not be manually modified. +This log was last generated on Tue, 14 Nov 2023 17:58:26 GMT and should not be manually modified. + +## 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 From 75e52723e0fa33999c2aa1b56c1c641387fc82eb Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 14 Nov 2023 17:58:27 +0000 Subject: [PATCH 146/449] 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-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 +- 33 files changed, 60 insertions(+), 60 deletions(-) diff --git a/common/config/rush/version-policies.json b/common/config/rush/version-policies.json index 24536d1eb..ef0229a93 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.16.0", + "version": "3.17.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 ff76ab25c..edf3ab14b 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.16.0", + "version": "3.17.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 6bc3764c7..20a45bdf8 100644 --- a/libraries/tracker-core/package.json +++ b/libraries/tracker-core/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/tracker-core", - "version": "3.16.0", + "version": "3.17.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 10d4ea616..c599379e8 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.16.0", + "version": "3.17.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.16.0" + "@snowplow/browser-tracker": "~3.17.0" } } diff --git a/plugins/browser-plugin-browser-features/package.json b/plugins/browser-plugin-browser-features/package.json index 3d8dbce8f..d83a23666 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.16.0", + "version": "3.17.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.16.0" + "@snowplow/browser-tracker": "~3.17.0" } } diff --git a/plugins/browser-plugin-client-hints/package.json b/plugins/browser-plugin-client-hints/package.json index cff50908e..4c7da8f18 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.16.0", + "version": "3.17.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.16.0" + "@snowplow/browser-tracker": "~3.17.0" } } diff --git a/plugins/browser-plugin-consent/package.json b/plugins/browser-plugin-consent/package.json index c939e9576..6d65a7941 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.16.0", + "version": "3.17.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.16.0" + "@snowplow/browser-tracker": "~3.17.0" } } diff --git a/plugins/browser-plugin-debugger/package.json b/plugins/browser-plugin-debugger/package.json index 9661c63f3..86345e334 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.16.0", + "version": "3.17.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.16.0" + "@snowplow/browser-tracker": "~3.17.0" } } diff --git a/plugins/browser-plugin-ecommerce/package.json b/plugins/browser-plugin-ecommerce/package.json index cefc89f7c..080e7ce6b 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.16.0", + "version": "3.17.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.16.0" + "@snowplow/browser-tracker": "~3.17.0" } } diff --git a/plugins/browser-plugin-enhanced-consent/package.json b/plugins/browser-plugin-enhanced-consent/package.json index 248a4aa0b..f6ba72a7f 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.16.0", + "version": "3.17.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.16.0" + "@snowplow/browser-tracker": "~3.17.0" } } diff --git a/plugins/browser-plugin-enhanced-ecommerce/package.json b/plugins/browser-plugin-enhanced-ecommerce/package.json index 71c0ed960..0f5b9914a 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.16.0", + "version": "3.17.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.16.0" + "@snowplow/browser-tracker": "~3.17.0" } } diff --git a/plugins/browser-plugin-error-tracking/package.json b/plugins/browser-plugin-error-tracking/package.json index 4f13656fb..62e35b30c 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.16.0", + "version": "3.17.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.16.0" + "@snowplow/browser-tracker": "~3.17.0" } } diff --git a/plugins/browser-plugin-focalmeter/package.json b/plugins/browser-plugin-focalmeter/package.json index 39da12dbc..f81979b63 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.16.0", + "version": "3.17.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.16.0" + "@snowplow/browser-tracker": "~3.17.0" } } diff --git a/plugins/browser-plugin-form-tracking/package.json b/plugins/browser-plugin-form-tracking/package.json index f054213b8..1575439f9 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.16.0", + "version": "3.17.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.16.0" + "@snowplow/browser-tracker": "~3.17.0" } } diff --git a/plugins/browser-plugin-ga-cookies/package.json b/plugins/browser-plugin-ga-cookies/package.json index 87011a3e5..74ab37343 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.16.0", + "version": "3.17.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.16.0" + "@snowplow/browser-tracker": "~3.17.0" } } diff --git a/plugins/browser-plugin-geolocation/package.json b/plugins/browser-plugin-geolocation/package.json index 71e79ffd6..bf36a2a8d 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.16.0", + "version": "3.17.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.16.0" + "@snowplow/browser-tracker": "~3.17.0" } } diff --git a/plugins/browser-plugin-link-click-tracking/package.json b/plugins/browser-plugin-link-click-tracking/package.json index 926ecb918..00905fc09 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.16.0", + "version": "3.17.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.16.0" + "@snowplow/browser-tracker": "~3.17.0" } } diff --git a/plugins/browser-plugin-media-tracking/package.json b/plugins/browser-plugin-media-tracking/package.json index 789512e8a..aa95e18b9 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.16.0", + "version": "3.17.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.16.0" + "@snowplow/browser-tracker": "~3.17.0" } } diff --git a/plugins/browser-plugin-media/package.json b/plugins/browser-plugin-media/package.json index 5b061c85f..30f3a9caf 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.16.0", + "version": "3.17.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.16.0" + "@snowplow/browser-tracker": "~3.17.0" } } diff --git a/plugins/browser-plugin-optimizely-x/package.json b/plugins/browser-plugin-optimizely-x/package.json index c36b81e9a..609d87a24 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.16.0", + "version": "3.17.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.16.0" + "@snowplow/browser-tracker": "~3.17.0" } } diff --git a/plugins/browser-plugin-optimizely/package.json b/plugins/browser-plugin-optimizely/package.json index 8dbcccb40..3687d8ac3 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.16.0", + "version": "3.17.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.16.0" + "@snowplow/browser-tracker": "~3.17.0" } } diff --git a/plugins/browser-plugin-performance-navigation-timing/package.json b/plugins/browser-plugin-performance-navigation-timing/package.json index 533ae94e0..8e4cb74a9 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.16.0", + "version": "3.17.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.16.0" + "@snowplow/browser-tracker": "~3.17.0" } } diff --git a/plugins/browser-plugin-performance-timing/package.json b/plugins/browser-plugin-performance-timing/package.json index f60bc0f4a..9eb3278be 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.16.0", + "version": "3.17.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.16.0" + "@snowplow/browser-tracker": "~3.17.0" } } diff --git a/plugins/browser-plugin-privacy-sandbox/package.json b/plugins/browser-plugin-privacy-sandbox/package.json index bce009331..8db85d0a2 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.16.0", + "version": "3.17.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.16.0" + "@snowplow/browser-tracker": "~3.17.0" } } diff --git a/plugins/browser-plugin-site-tracking/package.json b/plugins/browser-plugin-site-tracking/package.json index 5eaf3fb87..14f17cd25 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.16.0", + "version": "3.17.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.16.0" + "@snowplow/browser-tracker": "~3.17.0" } } diff --git a/plugins/browser-plugin-snowplow-ecommerce/package.json b/plugins/browser-plugin-snowplow-ecommerce/package.json index 44162c6d5..ea13a020d 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.16.0", + "version": "3.17.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.16.0" + "@snowplow/browser-tracker": "~3.17.0" } } diff --git a/plugins/browser-plugin-timezone/package.json b/plugins/browser-plugin-timezone/package.json index 05e3afa6f..cfaacfba3 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.16.0", + "version": "3.17.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.16.0" + "@snowplow/browser-tracker": "~3.17.0" } } diff --git a/plugins/browser-plugin-vimeo-tracking/package.json b/plugins/browser-plugin-vimeo-tracking/package.json index 29b7f7432..0d967c604 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.16.0", + "version": "3.17.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.16.0" + "@snowplow/browser-tracker": "~3.17.0" } } diff --git a/plugins/browser-plugin-web-vitals/package.json b/plugins/browser-plugin-web-vitals/package.json index 72b45dc0c..de0c28de7 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.16.0", + "version": "3.17.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.16.0" + "@snowplow/browser-tracker": "~3.17.0" } } diff --git a/plugins/browser-plugin-youtube-tracking/package.json b/plugins/browser-plugin-youtube-tracking/package.json index db8556d76..e7d4c0661 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.16.0", + "version": "3.17.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.16.0" + "@snowplow/browser-tracker": "~3.17.0" } } diff --git a/trackers/browser-tracker/package.json b/trackers/browser-tracker/package.json index a3c846c77..aac5be1e3 100644 --- a/trackers/browser-tracker/package.json +++ b/trackers/browser-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-tracker", - "version": "3.16.0", + "version": "3.17.0", "description": "Browser tracker for Snowplow", "keywords": [ "tracking", diff --git a/trackers/javascript-tracker/package.json b/trackers/javascript-tracker/package.json index 8e30995de..df2fa33ed 100644 --- a/trackers/javascript-tracker/package.json +++ b/trackers/javascript-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/javascript-tracker", - "version": "3.16.0", + "version": "3.17.0", "description": "Web analytics for Snowplow", "keywords": [ "tracking", diff --git a/trackers/node-tracker/package.json b/trackers/node-tracker/package.json index 5a23d8162..8c5d7311b 100644 --- a/trackers/node-tracker/package.json +++ b/trackers/node-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/node-tracker", - "version": "3.16.0", + "version": "3.17.0", "description": "Node tracker for Snowplow", "keywords": [ "snowplow", From 5cb4d38311c218ecda944f3a97f4f01b1e471cee Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 14 Nov 2023 18:01:44 +0000 Subject: [PATCH 147/449] Applying documentation updates. --- .../markdown/browser-tracker.commoneventproperties.context.md | 2 +- .../docs/markdown/browser-tracker.commoneventproperties.md | 4 ++-- .../docs/markdown/browser-tracker.trackerconfiguration.md | 1 + 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.commoneventproperties.context.md b/trackers/browser-tracker/docs/markdown/browser-tracker.commoneventproperties.context.md index c038c9cc4..22877ecc2 100644 --- a/trackers/browser-tracker/docs/markdown/browser-tracker.commoneventproperties.context.md +++ b/trackers/browser-tracker/docs/markdown/browser-tracker.commoneventproperties.context.md @@ -9,5 +9,5 @@ Add context to an event by setting an Array of Self Describing JSON Signature: ```typescript -context?: Array | null; +context?: Array> | null; ``` diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.commoneventproperties.md b/trackers/browser-tracker/docs/markdown/browser-tracker.commoneventproperties.md index 4cf044323..491fd5645 100644 --- a/trackers/browser-tracker/docs/markdown/browser-tracker.commoneventproperties.md +++ b/trackers/browser-tracker/docs/markdown/browser-tracker.commoneventproperties.md @@ -9,13 +9,13 @@ Additional data points to set when tracking an event Signature: ```typescript -interface CommonEventProperties +interface CommonEventProperties> ``` ## Properties | Property | Type | Description | | --- | --- | --- | -| [context?](./browser-tracker.commoneventproperties.context.md) | Array<SelfDescribingJson> \| null | (Optional) Add context to an event by setting an Array of Self Describing JSON | +| [context?](./browser-tracker.commoneventproperties.context.md) | Array<SelfDescribingJson<T>> \| null | (Optional) Add context to an event by setting an Array of Self Describing JSON | | [timestamp?](./browser-tracker.commoneventproperties.timestamp.md) | Timestamp \| null | (Optional) Set the true timestamp or overwrite the device sent timestamp on an event | diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.trackerconfiguration.md b/trackers/browser-tracker/docs/markdown/browser-tracker.trackerconfiguration.md index b0f36777d..271caf8f3 100644 --- a/trackers/browser-tracker/docs/markdown/browser-tracker.trackerconfiguration.md +++ b/trackers/browser-tracker/docs/markdown/browser-tracker.trackerconfiguration.md @@ -41,6 +41,7 @@ type TrackerConfiguration = { dontRetryStatusCodes?: number[]; onSessionUpdateCallback?: (updatedSession: ClientSession) => void; idService?: string; + retryFailedRequests?: boolean; }; ``` From ee07554f61e85e758cdf67e3150278c6f2bd4a81 Mon Sep 17 00:00:00 2001 From: Greg Leonard <45019882+greg-el@users.noreply.github.com> Date: Wed, 4 Oct 2023 19:16:57 +0100 Subject: [PATCH 148/449] Add support for callbacks on failed/successful event sending (close #1262) --- .bundlemonrc.json | 2 +- ...ail-success-callback_2023-11-16-12-57.json | 10 + ...ail-success-callback_2023-11-16-12-57.json | 10 + .../src/tracker/out_queue.ts | 170 ++++++----- .../browser-tracker-core/src/tracker/types.ts | 62 ++-- .../test/out_queue.test.ts | 281 +++++++++++++++++- .../test/integration/integration.test.ts | 3 + 7 files changed, 425 insertions(+), 113 deletions(-) create mode 100644 common/changes/@snowplow/browser-tracker-core/issue-1262-event-fail-success-callback_2023-11-16-12-57.json create mode 100644 common/changes/@snowplow/javascript-tracker/issue-1262-event-fail-success-callback_2023-11-16-12-57.json diff --git a/.bundlemonrc.json b/.bundlemonrc.json index 31ef43ecb..502cd2cd3 100644 --- a/.bundlemonrc.json +++ b/.bundlemonrc.json @@ -17,7 +17,7 @@ }, { "path": "./trackers/javascript-tracker/dist/sp.lite.js", - "maxSize": "15kb", + "maxSize": "15.5kb", "maxPercentIncrease": 10 }, { diff --git a/common/changes/@snowplow/browser-tracker-core/issue-1262-event-fail-success-callback_2023-11-16-12-57.json b/common/changes/@snowplow/browser-tracker-core/issue-1262-event-fail-success-callback_2023-11-16-12-57.json new file mode 100644 index 000000000..88a695ae9 --- /dev/null +++ b/common/changes/@snowplow/browser-tracker-core/issue-1262-event-fail-success-callback_2023-11-16-12-57.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-tracker-core", + "comment": "Add onRequestSuccess and onRequestFailure callbacks", + "type": "none" + } + ], + "packageName": "@snowplow/browser-tracker-core" +} \ No newline at end of file diff --git a/common/changes/@snowplow/javascript-tracker/issue-1262-event-fail-success-callback_2023-11-16-12-57.json b/common/changes/@snowplow/javascript-tracker/issue-1262-event-fail-success-callback_2023-11-16-12-57.json new file mode 100644 index 000000000..3ede5aadd --- /dev/null +++ b/common/changes/@snowplow/javascript-tracker/issue-1262-event-fail-success-callback_2023-11-16-12-57.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/javascript-tracker", + "comment": "Add onRequestSuccess and onRequestFailure callbacks", + "type": "none" + } + ], + "packageName": "@snowplow/javascript-tracker" +} \ No newline at end of file diff --git a/libraries/browser-tracker-core/src/tracker/out_queue.ts b/libraries/browser-tracker-core/src/tracker/out_queue.ts index 13772d5a6..106a1e4fa 100644 --- a/libraries/browser-tracker-core/src/tracker/out_queue.ts +++ b/libraries/browser-tracker-core/src/tracker/out_queue.ts @@ -1,38 +1,9 @@ -/* - * 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 { attemptWriteLocalStorage, isString } from '../helpers'; 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; @@ -65,6 +36,8 @@ export interface OutQueue { * @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( @@ -85,7 +58,9 @@ export function OutQueueManager( retryStatusCodes: number[], dontRetryStatusCodes: number[], idService?: string, - retryFailedRequests: boolean = true + retryFailedRequests: boolean = true, + onRequestSuccess?: (data: EventBatch) => void, + onRequestFailure?: (data: RequestFailure) => void ): OutQueue { type PostEvent = { evt: Record; @@ -237,7 +212,75 @@ export function OutQueueManager( */ function sendPostRequestWithoutQueueing(body: PostEvent, configCollectorUrl: string) { const xhr = initializeXMLHttpRequest(configCollectorUrl, true, false); - xhr.send(encloseInPayloadDataEnvelope(attachStmToEvent([body.evt]))); + 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); } /* @@ -350,49 +393,9 @@ export function OutQueueManager( numberToSend = 1; } - // Time out POST requests after connectionTimeout - const xhrTimeout = setTimeout(function () { - xhr.abort(); - - if (!retryFailedRequests) { - removeEventsFromQueue(numberToSend); - } - executingQueue = false; - }, connectionTimeout); - - const removeEventsFromQueue = (numberToSend: number): void => { - for (let deleteCount = 0; deleteCount < numberToSend; deleteCount++) { - outQueue.shift(); - } - if (useLocalStorage) { - attemptWriteLocalStorage(queueName, JSON.stringify(outQueue.slice(0, maxLocalStorageQueueSize))); - } - }; - - // The events (`numberToSend` of them), have been sent, so we remove them from the outQueue - // We also call executeQueue() again, to let executeQueue() check if we should keep running through the queue - const onPostSuccess = (numberToSend: number): void => { - removeEventsFromQueue(numberToSend); - executeQueue(); - }; - - xhr.onreadystatechange = function () { - if (xhr.readyState === 4) { - clearTimeout(xhrTimeout); - if (xhr.status >= 200 && xhr.status < 300) { - onPostSuccess(numberToSend); - } else { - if (!shouldRetryForStatusCode(xhr.status)) { - LOG.error(`Status ${xhr.status}, will not retry.`); - removeEventsFromQueue(numberToSend); - } - executingQueue = false; - } - } - }; - 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); @@ -418,9 +421,13 @@ export function OutQueueManager( // 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) { - onPostSuccess(numberToSend); + removeEventsFromQueue(numberToSend); + onRequestSuccess?.(batch); + executeQueue(); } else { - xhr.send(encloseInPayloadDataEnvelope(attachStmToEvent(eventBatch))); + const batch = attachStmToEvent(eventBatch); + setXhrCallbacks(xhr, numberToSend, batch); + xhr.send(encloseInPayloadDataEnvelope(batch)); } } } @@ -458,9 +465,20 @@ export function OutQueueManager( } } + /** + * 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 (statusCode >= 200 && statusCode < 300) { + if (isSuccessfulRequest(statusCode)) { return false; } diff --git a/libraries/browser-tracker-core/src/tracker/types.ts b/libraries/browser-tracker-core/src/tracker/types.ts index 85fd60261..31042b902 100755 --- a/libraries/browser-tracker-core/src/tracker/types.ts +++ b/libraries/browser-tracker-core/src/tracker/types.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 { BrowserPlugin } from '../plugins'; import { CommonEventProperties, @@ -661,3 +631,35 @@ 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; +}; diff --git a/libraries/browser-tracker-core/test/out_queue.test.ts b/libraries/browser-tracker-core/test/out_queue.test.ts index 98f8b6be2..c2550a40c 100644 --- a/libraries/browser-tracker-core/test/out_queue.test.ts +++ b/libraries/browser-tracker-core/test/out_queue.test.ts @@ -30,6 +30,7 @@ import { OutQueueManager, OutQueue } from '../src/tracker/out_queue'; import { SharedState } from '../src/state'; +import { EventBatch, RequestFailure } from '../src/tracker/types'; const readPostQueue = () => { return JSON.parse( @@ -37,6 +38,15 @@ const readPostQueue = () => { ); }; +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('&'); + describe('OutQueueManager', () => { const maxQueueSize = 2; @@ -57,9 +67,10 @@ describe('OutQueueManager', () => { jest.spyOn(window, 'XMLHttpRequest').mockImplementation(() => xhrMock as XMLHttpRequest); }); - const respondMockRequest = (status: number) => { + 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(); }; @@ -169,11 +180,6 @@ describe('OutQueueManager', () => { describe('GET requests', () => { var getOutQueue: (maxGetBytes: number) => OutQueue; - const getQuerystring = (p: object) => - '?' + - Object.entries(p) - .map(([k, v]) => k + '=' + encodeURIComponent(v)) - .join('&'); beforeEach(() => { getOutQueue = (maxGetBytes) => @@ -421,4 +427,267 @@ describe('OutQueueManager', () => { }, 20); }); }); + + type createQueueArgs = { + method: string; + onSuccess?: (data: EventBatch) => void; + onFailure?: (data: RequestFailure) => void; + maxPostBytes?: number; + maxGetBytes?: number; + }; + + 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 + ); + + describe('onRequestSuccess', () => { + const request = { e: 'pv', eid: '65cb78de-470c-4764-8c10-02bd79477a3a' }; + + describe('POST requests', () => { + const method = 'POST'; + + it('should fire on a successful request', () => { + const callbackStorage: EventBatch[] = []; + const onSuccess = (e: EventBatch) => { + callbackStorage.push(e); + }; + + const postQueue = createQueue({ method, onSuccess }); + postQueue.enqueueRequest(request, 'http://example.com'); + + expect(readPostQueue()).toHaveLength(1); + + respondMockRequest(200); + + 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}/); + }); + + // Oversized events don't get placed in the queue, but the callback should still fire + it('should fire on a successful oversized request', () => { + 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}/); + }); + }); + + describe('GET requests', () => { + const method = 'GET'; + + it('should fire on a successful request', () => { + 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); + expect(callbackStorage).toHaveLength(1); + + let dataFromCallback = callbackStorage[0][0] as string; + expect(dataFromCallback).toMatch(/\?stm=\d{13}&e=pv&eid=65cb78de-470c-4764-8c10-02bd79477a3a/); + }); + + // A single oversized events means no queue, but the callback should still fire + it('should fire the onRequestSuccess on a successful oversized request', () => { + let callbackStorage: EventBatch[] = []; + const onSuccess = (e: EventBatch) => { + callbackStorage.push(e); + }; + + const getQueue = createQueue({ method, onSuccess }); + getQueue.enqueueRequest(request, 'http://example.com'); + + respondMockRequest(200); + + expect(callbackStorage).toHaveLength(1); + + let dataFromCallback = callbackStorage[0][0] as string; + expect(dataFromCallback).toMatch(/\?stm=\d{13}&e=pv&eid=65cb78de-470c-4764-8c10-02bd79477a3a/); + }); + }); + }); + + 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 + ); + + describe('POST requests', () => { + const method = 'POST'; + + it('should fire on a failed request', () => { + const callbackStorage: RequestFailure[] = []; + const onFailure = (e: RequestFailure) => { + callbackStorage.push(e); + }; + + const postQueue = createQueue({ method, onFailure }); + postQueue.enqueueRequest(request, 'http://example.com'); + + expect(readPostQueue()).toHaveLength(1); + + respondMockRequest(500, 'Internal Server Error'); + + expect(readPostQueue()).toHaveLength(0); + expect(callbackStorage).toHaveLength(1); + + 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}/); + + 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', () => { + const callbackStorage: RequestFailure[] = []; + const onFailure = (e: RequestFailure) => { + callbackStorage.push(e); + }; + + const postQueue = createQueue({ method, onFailure, maxPostBytes: 1 }); + postQueue.enqueueRequest(request, 'http://example.com'); + + respondMockRequest(0, 'Request failed'); + + expect(callbackStorage).toHaveLength(1); + + 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'); + }); + }); + + describe('GET requests', () => { + const method = 'GET'; + + it('should fire on a failed request', () => { + let callbackStorage: RequestFailure[] = []; + const onFailure = (e: RequestFailure) => { + callbackStorage.push(e); + }; + + const getQueue = createQueue({ method, onFailure }); + getQueue.enqueueRequest(request, 'http://example.com'); + + expect(readGetQueue()).toHaveLength(1); + + respondMockRequest(500, 'Internal Server Error'); + + expect(readGetQueue()).toHaveLength(0); + expect(callbackStorage).toHaveLength(1); + + let dataFromCallback = callbackStorage[0] as RequestFailure; + + expect(dataFromCallback.events[0]).toMatch(/\?stm=\d{13}&e=pv&eid=65cb78de-470c-4764-8c10-02bd79477a3a/); + + 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', () => { + let callbackStorage: RequestFailure[] = []; + const onFailure = (e: RequestFailure) => { + callbackStorage.push(e); + }; + + const getQueue = createQueue({ method, onFailure, maxPostBytes: 1 }); + getQueue.enqueueRequest(request, 'http://example.com'); + + expect(readGetQueue()).toHaveLength(1); + + respondMockRequest(500, 'Internal Server Error'); + + expect(readGetQueue()).toHaveLength(0); + expect(callbackStorage).toHaveLength(1); + + let dataFromCallback = callbackStorage[0] as RequestFailure; + + expect(dataFromCallback.events[0]).toMatch(/\?stm=\d{13}&e=pv&eid=65cb78de-470c-4764-8c10-02bd79477a3a/); + + expect(dataFromCallback.status).toEqual(500); + expect(dataFromCallback.message).toEqual('Internal Server Error'); + expect(dataFromCallback.willRetry).toEqual(false); + }); + }); + }); }); diff --git a/trackers/javascript-tracker/test/integration/integration.test.ts b/trackers/javascript-tracker/test/integration/integration.test.ts index 1218068ff..28ba0966c 100755 --- a/trackers/javascript-tracker/test/integration/integration.test.ts +++ b/trackers/javascript-tracker/test/integration/integration.test.ts @@ -50,12 +50,15 @@ describe('Snowplow Micro integration', () => { beforeAll(async () => { testIdentifier = await pageSetup(); await loadUrlAndWait('/integration.html?eventMethod=get'); + await browser.pause(2000); // Time for pings await $('#bottomRight').click(); await browser.pause(5000); // Time for requests to get written await loadUrlAndWait('/integration.html?eventMethod=post'); + await browser.pause(2000); // Time for pings await $('#bottomRight').click(); await browser.pause(6000); // Time for requests to get written await loadUrlAndWait('/integration.html?eventMethod=beacon'); + await browser.pause(2000); // Time for pings await $('#bottomRight').click(); await browser.pause(6000); // Time for requests to get written log = await browser.call(async () => await fetchResults()); From b13558aeb2dd1bc0399153a8742a5dfca08d9df8 Mon Sep 17 00:00:00 2001 From: Jack Keene Date: Tue, 28 Nov 2023 12:04:22 +0000 Subject: [PATCH 149/449] Host Javascript API docs (close #1255) PR #1256 * Add docs workflow * Remove old docs folder * Update publish workflow --- .github/workflows/docs.yml | 31 + .github/workflows/publish.yml | 8 +- api-docs/.gitignore | 20 + api-docs/babel.config.js | 3 + .../browser-tracker}/browser-tracker.api.md | 0 .../browser-tracker.activitycallback.md | 0 .../browser-tracker.activitycallbackdata.md | 0 ...itytrackingconfiguration.heartbeatdelay.md | 0 ...r-tracker.activitytrackingconfiguration.md | 0 ...rackingconfiguration.minimumvisitlength.md | 0 ...ytrackingconfigurationcallback.callback.md | 0 ...r.activitytrackingconfigurationcallback.md | 0 .../browser-tracker.addglobalcontexts.md | 0 .../markdown/browser-tracker.addplugin.md | 0 ...rowser-tracker.anonymoustrackingoptions.md | 0 ...ker.browserplugin.activatebrowserplugin.md | 0 .../markdown/browser-tracker.browserplugin.md | 0 ...wser-tracker.browserpluginconfiguration.md | 0 ...acker.browserpluginconfiguration.plugin.md | 0 ...rowser-tracker.browsertracker.addplugin.md | 0 ...er-tracker.browsertracker.clearuserdata.md | 0 .../browser-tracker.browsertracker.core.md | 0 ...racker.browsertracker.crossdomainlinker.md | 0 ....browsertracker.disableactivitytracking.md | 0 ...tracker.disableactivitytrackingcallback.md | 0 ...browsertracker.disableanonymoustracking.md | 0 ...ser-tracker.browsertracker.discardbrace.md | 0 ...r-tracker.browsertracker.discardhashtag.md | 0 ...r.browsertracker.enableactivitytracking.md | 0 ...rtracker.enableactivitytrackingcallback.md | 0 ....browsertracker.enableanonymoustracking.md | 0 ...wser-tracker.browsertracker.flushbuffer.md | 0 ...er-tracker.browsertracker.getcookiename.md | 0 ...er.browsertracker.getdomainsessionindex.md | 0 ...-tracker.browsertracker.getdomainuserid.md | 0 ...racker.browsertracker.getdomainuserinfo.md | 0 ...er-tracker.browsertracker.getpageviewid.md | 0 ...browser-tracker.browsertracker.gettabid.md | 0 ...rowser-tracker.browsertracker.getuserid.md | 0 .../browser-tracker.browsertracker.id.md | 0 .../browser-tracker.browsertracker.md | 0 ...rowser-tracker.browsertracker.namespace.md | 0 ...owser-tracker.browsertracker.newsession.md | 0 ...acker.browsertracker.preservepageviewid.md | 0 ...er-tracker.browsertracker.setbuffersize.md | 0 ...-tracker.browsertracker.setcollectorurl.md | 0 ...er-tracker.browsertracker.setcookiepath.md | 0 ...ser-tracker.browsertracker.setcustomurl.md | 0 ...tracker.browsertracker.setdocumenttitle.md | 0 ...-tracker.browsertracker.setoptoutcookie.md | 0 ...r-tracker.browsertracker.setreferrerurl.md | 0 ...rowser-tracker.browsertracker.setuserid.md | 0 ...cker.browsertracker.setuseridfromcookie.md | 0 ...er.browsertracker.setuseridfromlocation.md | 0 ...er.browsertracker.setuseridfromreferrer.md | 0 ....browsertracker.setvisitorcookietimeout.md | 0 ...wser-tracker.browsertracker.sharedstate.md | 0 ...er-tracker.browsertracker.trackpageview.md | 0 ...acker.browsertracker.updatepageactivity.md | 0 .../browser-tracker.builtincontexts.md | 0 .../browser-tracker.clearglobalcontexts.md | 0 .../markdown/browser-tracker.clearuserdata.md | 0 ...wser-tracker.clearuserdataconfiguration.md | 0 ...aruserdataconfiguration.preservesession.md | 0 ...clearuserdataconfiguration.preserveuser.md | 0 ...rowser-tracker.clientsession.eventindex.md | 0 ...wser-tracker.clientsession.firsteventid.md | 0 ...acker.clientsession.firsteventtimestamp.md | 0 .../markdown/browser-tracker.clientsession.md | 0 ...tracker.clientsession.previoussessionid.md | 0 ...browser-tracker.clientsession.sessionid.md | 0 ...wser-tracker.clientsession.sessionindex.md | 0 ...-tracker.clientsession.storagemechanism.md | 0 .../browser-tracker.clientsession.userid.md | 0 ...r-tracker.commoneventproperties.context.md | 0 .../browser-tracker.commoneventproperties.md | 0 ...tracker.commoneventproperties.timestamp.md | 0 ...wser-tracker.conditionalcontextprovider.md | 0 .../browser-tracker.contextevent.event.md | 0 ...rowser-tracker.contextevent.eventschema.md | 0 .../browser-tracker.contextevent.eventtype.md | 0 .../markdown/browser-tracker.contextevent.md | 0 .../markdown/browser-tracker.contextfilter.md | 0 .../browser-tracker.contextgenerator.md | 0 .../browser-tracker.contextprimitive.md | 0 .../browser-tracker.cookiesamesite.md | 0 .../browser-tracker.crossdomainlinker.md | 0 ...browser-tracker.disableactivitytracking.md | 0 ...tracker.disableactivitytrackingcallback.md | 0 ...rowser-tracker.disableanonymoustracking.md | 0 ...r.disableanonymoustrackingconfiguration.md | 0 ...ckingconfiguration.statestoragestrategy.md | 0 .../markdown/browser-tracker.discardbrace.md | 0 .../browser-tracker.discardhashtag.md | 0 .../browser-tracker.enableactivitytracking.md | 0 ...-tracker.enableactivitytrackingcallback.md | 0 ...browser-tracker.enableanonymoustracking.md | 0 ...er.enableanonymoustrackingconfiguration.md | 0 ...eanonymoustrackingconfiguration.options.md | 0 ...ckingconfiguration.statestoragestrategy.md | 0 .../markdown/browser-tracker.eventmethod.md | 0 .../browser-tracker.filterprovider.md | 0 .../markdown/browser-tracker.flushbuffer.md | 0 ...rowser-tracker.flushbufferconfiguration.md | 0 ....flushbufferconfiguration.newbuffersize.md | 0 .../markdown/browser-tracker.md | 0 .../markdown/browser-tracker.newsession.md | 0 .../markdown/browser-tracker.newtracker.md | 0 .../markdown/browser-tracker.newtracker_1.md | 0 ...r-tracker.pageviewevent.contextcallback.md | 0 .../markdown/browser-tracker.pageviewevent.md | 0 .../browser-tracker.pageviewevent.title.md | 0 .../markdown/browser-tracker.platform.md | 0 .../browser-tracker.preservepageviewid.md | 0 .../browser-tracker.removeglobalcontexts.md | 0 .../browser-tracker.ruleset.accept.md | 0 .../markdown/browser-tracker.ruleset.md | 0 .../browser-tracker.ruleset.reject.md | 0 .../browser-tracker.rulesetprovider.md | 0 ...owser-tracker.selfdescribingevent.event.md | 0 .../browser-tracker.selfdescribingevent.md | 0 .../browser-tracker.selfdescribingjson.md | 0 .../markdown/browser-tracker.setbuffersize.md | 0 .../browser-tracker.setcollectorurl.md | 0 .../markdown/browser-tracker.setcookiepath.md | 0 .../markdown/browser-tracker.setcustomurl.md | 0 .../browser-tracker.setdocumenttitle.md | 0 .../browser-tracker.setoptoutcookie.md | 0 .../browser-tracker.setreferrerurl.md | 0 .../markdown/browser-tracker.setuserid.md | 0 .../browser-tracker.setuseridfromcookie.md | 0 .../browser-tracker.setuseridfromlocation.md | 0 .../browser-tracker.setuseridfromreferrer.md | 0 ...browser-tracker.setvisitorcookietimeout.md | 0 .../browser-tracker.statestoragestrategy.md | 0 .../browser-tracker.structuredevent.action.md | 0 ...rowser-tracker.structuredevent.category.md | 0 .../browser-tracker.structuredevent.label.md | 0 .../browser-tracker.structuredevent.md | 0 ...rowser-tracker.structuredevent.property.md | 0 .../browser-tracker.structuredevent.value.md | 0 .../browser-tracker.trackerconfiguration.md | 0 .../markdown/browser-tracker.trackpageview.md | 0 ...rowser-tracker.trackselfdescribingevent.md | 0 .../browser-tracker.trackstructevent.md | 0 .../browser-tracker.updatepageactivity.md | 0 .../markdown/browser-tracker.version.md | 0 .../docs/browser-tracker}/markdown/index.md | 0 api-docs/docs/index.md | 22 + .../docs/node-tracker}/markdown/index.md | 0 .../node-tracker.adclickevent.advertiserid.md | 0 .../node-tracker.adclickevent.bannerid.md | 0 .../node-tracker.adclickevent.campaignid.md | 0 .../node-tracker.adclickevent.clickid.md | 0 .../node-tracker.adclickevent.cost.md | 0 .../node-tracker.adclickevent.costmodel.md | 0 .../node-tracker.adclickevent.impressionid.md | 0 .../markdown/node-tracker.adclickevent.md | 0 .../node-tracker.adclickevent.targeturl.md | 0 .../node-tracker.adclickevent.zoneid.md | 0 .../node-tracker.adconversionevent.action.md | 0 ...-tracker.adconversionevent.advertiserid.md | 0 ...de-tracker.adconversionevent.campaignid.md | 0 ...node-tracker.adconversionevent.category.md | 0 ...-tracker.adconversionevent.conversionid.md | 0 .../node-tracker.adconversionevent.cost.md | 0 ...ode-tracker.adconversionevent.costmodel.md | 0 ...-tracker.adconversionevent.initialvalue.md | 0 .../node-tracker.adconversionevent.md | 0 ...node-tracker.adconversionevent.property.md | 0 .../node-tracker.addtocartevent.category.md | 0 .../node-tracker.addtocartevent.currency.md | 0 .../markdown/node-tracker.addtocartevent.md | 0 .../node-tracker.addtocartevent.name.md | 0 .../node-tracker.addtocartevent.quantity.md | 0 .../node-tracker.addtocartevent.sku.md | 0 .../node-tracker.addtocartevent.unitprice.md | 0 ...-tracker.adimpressionevent.advertiserid.md | 0 ...node-tracker.adimpressionevent.bannerid.md | 0 ...de-tracker.adimpressionevent.campaignid.md | 0 .../node-tracker.adimpressionevent.cost.md | 0 ...ode-tracker.adimpressionevent.costmodel.md | 0 ...-tracker.adimpressionevent.impressionid.md | 0 .../node-tracker.adimpressionevent.md | 0 ...ode-tracker.adimpressionevent.targeturl.md | 0 .../node-tracker.adimpressionevent.zoneid.md | 0 .../markdown/node-tracker.buildadclick.md | 0 .../node-tracker.buildadconversion.md | 0 .../markdown/node-tracker.buildaddtocart.md | 0 .../node-tracker.buildadimpression.md | 0 .../node-tracker.buildconsentgranted.md | 2 +- .../node-tracker.buildconsentwithdrawn.md | 2 +- .../node-tracker.buildecommercetransaction.md | 0 ...e-tracker.buildecommercetransactionitem.md | 0 .../node-tracker.buildformfocusorchange.md | 0 .../node-tracker.buildformsubmission.md | 0 .../markdown/node-tracker.buildlinkclick.md | 2 +- .../markdown/node-tracker.buildpageping.md | 0 .../markdown/node-tracker.buildpageview.md | 0 .../node-tracker.buildremovefromcart.md | 0 .../markdown/node-tracker.buildscreenview.md | 0 .../node-tracker.buildselfdescribingevent.md | 0 .../markdown/node-tracker.buildsitesearch.md | 0 .../node-tracker.buildsocialinteraction.md | 0 .../markdown/node-tracker.buildstructevent.md | 0 ...tracker.consentgrantedevent.description.md | 0 ...node-tracker.consentgrantedevent.expiry.md | 0 .../node-tracker.consentgrantedevent.id.md | 0 .../node-tracker.consentgrantedevent.md | 0 .../node-tracker.consentgrantedevent.name.md | 0 ...ode-tracker.consentgrantedevent.version.md | 0 .../node-tracker.consentwithdrawnevent.all.md | 0 ...acker.consentwithdrawnevent.description.md | 0 .../node-tracker.consentwithdrawnevent.id.md | 0 .../node-tracker.consentwithdrawnevent.md | 0 ...node-tracker.consentwithdrawnevent.name.md | 0 ...e-tracker.consentwithdrawnevent.version.md | 0 .../node-tracker.contextevent.event.md | 0 .../node-tracker.contextevent.eventschema.md | 0 .../node-tracker.contextevent.eventtype.md | 0 .../markdown/node-tracker.contextevent.md | 0 .../markdown/node-tracker.contextfilter.md | 0 .../markdown/node-tracker.contextgenerator.md | 0 .../node-tracker.coreconfiguration.base64.md | 0 ...node-tracker.coreconfiguration.callback.md | 0 ...e-tracker.coreconfiguration.coreplugins.md | 0 .../node-tracker.coreconfiguration.md | 0 ...e-tracker.coreplugin.activatecoreplugin.md | 0 .../node-tracker.coreplugin.aftertrack.md | 0 .../node-tracker.coreplugin.beforetrack.md | 0 .../node-tracker.coreplugin.contexts.md | 0 .../node-tracker.coreplugin.logger.md | 0 .../markdown/node-tracker.coreplugin.md | 0 ...r.ecommercetransactionevent.affiliation.md | 0 ...-tracker.ecommercetransactionevent.city.md | 0 ...acker.ecommercetransactionevent.country.md | 0 ...cker.ecommercetransactionevent.currency.md | 0 .../node-tracker.ecommercetransactionevent.md | 0 ...acker.ecommercetransactionevent.orderid.md | 0 ...cker.ecommercetransactionevent.shipping.md | 0 ...tracker.ecommercetransactionevent.state.md | 0 ...e-tracker.ecommercetransactionevent.tax.md | 0 ...tracker.ecommercetransactionevent.total.md | 0 ....ecommercetransactionitemevent.category.md | 0 ....ecommercetransactionitemevent.currency.md | 0 ...e-tracker.ecommercetransactionitemevent.md | 0 ...cker.ecommercetransactionitemevent.name.md | 0 ...r.ecommercetransactionitemevent.orderid.md | 0 ...ker.ecommercetransactionitemevent.price.md | 0 ....ecommercetransactionitemevent.quantity.md | 0 ...acker.ecommercetransactionitemevent.sku.md | 0 .../markdown/node-tracker.emitter.flush.md | 0 .../markdown/node-tracker.emitter.input.md | 0 .../markdown/node-tracker.emitter.md | 0 ...r.formfocusorchangeevent.elementclasses.md | 0 ...racker.formfocusorchangeevent.elementid.md | 0 ...e-tracker.formfocusorchangeevent.formid.md | 0 .../node-tracker.formfocusorchangeevent.md | 0 ...tracker.formfocusorchangeevent.nodename.md | 0 ...e-tracker.formfocusorchangeevent.schema.md | 0 ...ode-tracker.formfocusorchangeevent.type.md | 0 ...de-tracker.formfocusorchangeevent.value.md | 0 ...de-tracker.formsubmissionevent.elements.md | 0 ...tracker.formsubmissionevent.formclasses.md | 0 ...node-tracker.formsubmissionevent.formid.md | 0 .../node-tracker.formsubmissionevent.md | 0 .../markdown/node-tracker.gotemitter.md | 0 .../markdown/node-tracker.httpmethod.md | 0 .../markdown/node-tracker.httpprotocol.md | 0 ...e-tracker.linkclickevent.elementclasses.md | 0 ...e-tracker.linkclickevent.elementcontent.md | 0 .../node-tracker.linkclickevent.elementid.md | 0 ...de-tracker.linkclickevent.elementtarget.md | 0 .../markdown/node-tracker.linkclickevent.md | 2 +- .../node-tracker.linkclickevent.targeturl.md | 0 .../node-tracker}/markdown/node-tracker.md | 6 +- .../node-tracker.pagepingevent.maxxoffset.md | 0 .../node-tracker.pagepingevent.maxyoffset.md | 0 .../markdown/node-tracker.pagepingevent.md | 0 .../node-tracker.pagepingevent.minxoffset.md | 0 .../node-tracker.pagepingevent.minyoffset.md | 0 .../markdown/node-tracker.pageviewevent.md | 0 .../node-tracker.pageviewevent.pagetitle.md | 0 .../node-tracker.pageviewevent.pageurl.md | 0 .../node-tracker.pageviewevent.referrer.md | 0 .../markdown/node-tracker.payload.md | 0 .../node-tracker.payloadbuilder.add.md | 0 ...tracker.payloadbuilder.addcontextentity.md | 0 .../node-tracker.payloadbuilder.adddict.md | 0 .../node-tracker.payloadbuilder.addjson.md | 0 .../node-tracker.payloadbuilder.build.md | 0 .../node-tracker.payloadbuilder.getjson.md | 0 .../node-tracker.payloadbuilder.getpayload.md | 0 .../markdown/node-tracker.payloadbuilder.md | 0 ...racker.payloadbuilder.withjsonprocessor.md | 0 ...de-tracker.removefromcartevent.category.md | 0 ...de-tracker.removefromcartevent.currency.md | 0 .../node-tracker.removefromcartevent.md | 0 .../node-tracker.removefromcartevent.name.md | 0 ...de-tracker.removefromcartevent.quantity.md | 0 .../node-tracker.removefromcartevent.sku.md | 0 ...e-tracker.removefromcartevent.unitprice.md | 0 .../node-tracker.screenviewevent.id.md | 0 .../markdown/node-tracker.screenviewevent.md | 0 .../node-tracker.screenviewevent.name.md | 0 .../node-tracker.selfdescribingevent.event.md | 0 .../node-tracker.selfdescribingevent.md | 0 .../node-tracker.selfdescribingjson.md | 2 +- .../node-tracker.sitesearchevent.filters.md | 0 .../markdown/node-tracker.sitesearchevent.md | 0 ...ode-tracker.sitesearchevent.pageresults.md | 0 .../node-tracker.sitesearchevent.terms.md | 0 ...de-tracker.sitesearchevent.totalresults.md | 0 ...e-tracker.socialinteractionevent.action.md | 0 .../node-tracker.socialinteractionevent.md | 0 ...-tracker.socialinteractionevent.network.md | 0 ...e-tracker.socialinteractionevent.target.md | 0 .../node-tracker.structuredevent.action.md | 0 .../node-tracker.structuredevent.category.md | 0 .../node-tracker.structuredevent.label.md | 0 .../markdown/node-tracker.structuredevent.md | 0 .../node-tracker.structuredevent.property.md | 0 .../node-tracker.structuredevent.value.md | 0 .../markdown/node-tracker.timestamp.md | 0 .../markdown/node-tracker.tracker.md | 0 .../node-tracker.tracker.setdomainuserid.md | 0 .../node-tracker.tracker.setnetworkuserid.md | 0 .../node-tracker.tracker.setsessionid.md | 0 .../node-tracker.tracker.setsessionindex.md | 0 .../markdown/node-tracker.version.md | 0 .../docs/node-tracker}/node-tracker.api.md | 0 api-docs/docusaurus.config.js | 100 + api-docs/package-lock.json | 14917 ++++++++++++++++ api-docs/package.json | 51 + api-docs/sidebars.js | 8 + api-docs/src/css/custom.css | 30 + api-docs/src/pages/index.md | 17 + api-docs/src/pages/index.module.css | 23 + api-docs/static/.nojekyll | 0 api-docs/static/img/favicon.ico | Bin 0 -> 16465 bytes ...ue-1255-host_js_docs_2023-11-28-10-57.json | 10 + ...ue-1255-host_js_docs_2023-11-28-10-57.json | 10 + ...ue-1255-host_js_docs_2023-11-28-10-57.json | 10 + libraries/tracker-core/src/core.ts | 10 +- trackers/browser-tracker/api-extractor.json | 2 +- trackers/node-tracker/api-extractor.json | 2 +- 346 files changed, 15271 insertions(+), 19 deletions(-) create mode 100644 .github/workflows/docs.yml create mode 100644 api-docs/.gitignore create mode 100644 api-docs/babel.config.js rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/browser-tracker.api.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.activitycallback.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.activitycallbackdata.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.activitytrackingconfiguration.heartbeatdelay.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.activitytrackingconfiguration.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.activitytrackingconfiguration.minimumvisitlength.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.activitytrackingconfigurationcallback.callback.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.activitytrackingconfigurationcallback.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.addglobalcontexts.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.addplugin.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.anonymoustrackingoptions.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.browserplugin.activatebrowserplugin.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.browserplugin.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.browserpluginconfiguration.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.browserpluginconfiguration.plugin.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.browsertracker.addplugin.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.browsertracker.clearuserdata.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.browsertracker.core.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.browsertracker.crossdomainlinker.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.browsertracker.disableactivitytracking.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.browsertracker.disableactivitytrackingcallback.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.browsertracker.disableanonymoustracking.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.browsertracker.discardbrace.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.browsertracker.discardhashtag.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.browsertracker.enableactivitytracking.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.browsertracker.enableactivitytrackingcallback.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.browsertracker.enableanonymoustracking.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.browsertracker.flushbuffer.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.browsertracker.getcookiename.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.browsertracker.getdomainsessionindex.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.browsertracker.getdomainuserid.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.browsertracker.getdomainuserinfo.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.browsertracker.getpageviewid.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.browsertracker.gettabid.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.browsertracker.getuserid.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.browsertracker.id.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.browsertracker.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.browsertracker.namespace.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.browsertracker.newsession.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.browsertracker.preservepageviewid.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.browsertracker.setbuffersize.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.browsertracker.setcollectorurl.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.browsertracker.setcookiepath.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.browsertracker.setcustomurl.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.browsertracker.setdocumenttitle.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.browsertracker.setoptoutcookie.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.browsertracker.setreferrerurl.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.browsertracker.setuserid.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.browsertracker.setuseridfromcookie.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.browsertracker.setuseridfromlocation.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.browsertracker.setuseridfromreferrer.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.browsertracker.setvisitorcookietimeout.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.browsertracker.sharedstate.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.browsertracker.trackpageview.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.browsertracker.updatepageactivity.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.builtincontexts.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.clearglobalcontexts.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.clearuserdata.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.clearuserdataconfiguration.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.clearuserdataconfiguration.preservesession.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.clearuserdataconfiguration.preserveuser.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.clientsession.eventindex.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.clientsession.firsteventid.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.clientsession.firsteventtimestamp.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.clientsession.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.clientsession.previoussessionid.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.clientsession.sessionid.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.clientsession.sessionindex.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.clientsession.storagemechanism.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.clientsession.userid.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.commoneventproperties.context.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.commoneventproperties.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.commoneventproperties.timestamp.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.conditionalcontextprovider.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.contextevent.event.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.contextevent.eventschema.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.contextevent.eventtype.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.contextevent.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.contextfilter.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.contextgenerator.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.contextprimitive.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.cookiesamesite.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.crossdomainlinker.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.disableactivitytracking.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.disableactivitytrackingcallback.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.disableanonymoustracking.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.disableanonymoustrackingconfiguration.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.disableanonymoustrackingconfiguration.statestoragestrategy.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.discardbrace.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.discardhashtag.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.enableactivitytracking.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.enableactivitytrackingcallback.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.enableanonymoustracking.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.enableanonymoustrackingconfiguration.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.enableanonymoustrackingconfiguration.options.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.enableanonymoustrackingconfiguration.statestoragestrategy.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.eventmethod.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.filterprovider.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.flushbuffer.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.flushbufferconfiguration.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.flushbufferconfiguration.newbuffersize.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.newsession.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.newtracker.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.newtracker_1.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.pageviewevent.contextcallback.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.pageviewevent.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.pageviewevent.title.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.platform.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.preservepageviewid.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.removeglobalcontexts.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.ruleset.accept.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.ruleset.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.ruleset.reject.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.rulesetprovider.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.selfdescribingevent.event.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.selfdescribingevent.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.selfdescribingjson.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.setbuffersize.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.setcollectorurl.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.setcookiepath.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.setcustomurl.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.setdocumenttitle.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.setoptoutcookie.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.setreferrerurl.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.setuserid.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.setuseridfromcookie.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.setuseridfromlocation.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.setuseridfromreferrer.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.setvisitorcookietimeout.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.statestoragestrategy.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.structuredevent.action.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.structuredevent.category.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.structuredevent.label.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.structuredevent.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.structuredevent.property.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.structuredevent.value.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.trackerconfiguration.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.trackpageview.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.trackselfdescribingevent.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.trackstructevent.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.updatepageactivity.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/browser-tracker.version.md (100%) rename {trackers/browser-tracker/docs => api-docs/docs/browser-tracker}/markdown/index.md (100%) create mode 100644 api-docs/docs/index.md rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/index.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.adclickevent.advertiserid.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.adclickevent.bannerid.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.adclickevent.campaignid.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.adclickevent.clickid.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.adclickevent.cost.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.adclickevent.costmodel.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.adclickevent.impressionid.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.adclickevent.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.adclickevent.targeturl.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.adclickevent.zoneid.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.adconversionevent.action.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.adconversionevent.advertiserid.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.adconversionevent.campaignid.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.adconversionevent.category.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.adconversionevent.conversionid.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.adconversionevent.cost.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.adconversionevent.costmodel.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.adconversionevent.initialvalue.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.adconversionevent.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.adconversionevent.property.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.addtocartevent.category.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.addtocartevent.currency.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.addtocartevent.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.addtocartevent.name.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.addtocartevent.quantity.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.addtocartevent.sku.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.addtocartevent.unitprice.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.adimpressionevent.advertiserid.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.adimpressionevent.bannerid.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.adimpressionevent.campaignid.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.adimpressionevent.cost.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.adimpressionevent.costmodel.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.adimpressionevent.impressionid.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.adimpressionevent.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.adimpressionevent.targeturl.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.adimpressionevent.zoneid.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.buildadclick.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.buildadconversion.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.buildaddtocart.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.buildadimpression.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.buildconsentgranted.md (86%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.buildconsentwithdrawn.md (86%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.buildecommercetransaction.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.buildecommercetransactionitem.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.buildformfocusorchange.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.buildformsubmission.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.buildlinkclick.md (90%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.buildpageping.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.buildpageview.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.buildremovefromcart.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.buildscreenview.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.buildselfdescribingevent.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.buildsitesearch.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.buildsocialinteraction.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.buildstructevent.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.consentgrantedevent.description.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.consentgrantedevent.expiry.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.consentgrantedevent.id.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.consentgrantedevent.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.consentgrantedevent.name.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.consentgrantedevent.version.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.consentwithdrawnevent.all.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.consentwithdrawnevent.description.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.consentwithdrawnevent.id.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.consentwithdrawnevent.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.consentwithdrawnevent.name.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.consentwithdrawnevent.version.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.contextevent.event.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.contextevent.eventschema.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.contextevent.eventtype.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.contextevent.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.contextfilter.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.contextgenerator.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.coreconfiguration.base64.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.coreconfiguration.callback.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.coreconfiguration.coreplugins.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.coreconfiguration.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.coreplugin.activatecoreplugin.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.coreplugin.aftertrack.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.coreplugin.beforetrack.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.coreplugin.contexts.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.coreplugin.logger.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.coreplugin.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.ecommercetransactionevent.affiliation.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.ecommercetransactionevent.city.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.ecommercetransactionevent.country.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.ecommercetransactionevent.currency.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.ecommercetransactionevent.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.ecommercetransactionevent.orderid.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.ecommercetransactionevent.shipping.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.ecommercetransactionevent.state.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.ecommercetransactionevent.tax.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.ecommercetransactionevent.total.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.ecommercetransactionitemevent.category.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.ecommercetransactionitemevent.currency.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.ecommercetransactionitemevent.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.ecommercetransactionitemevent.name.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.ecommercetransactionitemevent.orderid.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.ecommercetransactionitemevent.price.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.ecommercetransactionitemevent.quantity.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.ecommercetransactionitemevent.sku.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.emitter.flush.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.emitter.input.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.emitter.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.formfocusorchangeevent.elementclasses.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.formfocusorchangeevent.elementid.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.formfocusorchangeevent.formid.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.formfocusorchangeevent.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.formfocusorchangeevent.nodename.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.formfocusorchangeevent.schema.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.formfocusorchangeevent.type.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.formfocusorchangeevent.value.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.formsubmissionevent.elements.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.formsubmissionevent.formclasses.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.formsubmissionevent.formid.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.formsubmissionevent.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.gotemitter.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.httpmethod.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.httpprotocol.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.linkclickevent.elementclasses.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.linkclickevent.elementcontent.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.linkclickevent.elementid.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.linkclickevent.elementtarget.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.linkclickevent.md (95%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.linkclickevent.targeturl.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.md (97%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.pagepingevent.maxxoffset.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.pagepingevent.maxyoffset.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.pagepingevent.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.pagepingevent.minxoffset.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.pagepingevent.minyoffset.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.pageviewevent.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.pageviewevent.pagetitle.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.pageviewevent.pageurl.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.pageviewevent.referrer.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.payload.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.payloadbuilder.add.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.payloadbuilder.addcontextentity.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.payloadbuilder.adddict.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.payloadbuilder.addjson.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.payloadbuilder.build.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.payloadbuilder.getjson.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.payloadbuilder.getpayload.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.payloadbuilder.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.payloadbuilder.withjsonprocessor.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.removefromcartevent.category.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.removefromcartevent.currency.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.removefromcartevent.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.removefromcartevent.name.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.removefromcartevent.quantity.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.removefromcartevent.sku.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.removefromcartevent.unitprice.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.screenviewevent.id.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.screenviewevent.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.screenviewevent.name.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.selfdescribingevent.event.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.selfdescribingevent.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.selfdescribingjson.md (84%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.sitesearchevent.filters.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.sitesearchevent.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.sitesearchevent.pageresults.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.sitesearchevent.terms.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.sitesearchevent.totalresults.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.socialinteractionevent.action.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.socialinteractionevent.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.socialinteractionevent.network.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.socialinteractionevent.target.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.structuredevent.action.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.structuredevent.category.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.structuredevent.label.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.structuredevent.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.structuredevent.property.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.structuredevent.value.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.timestamp.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.tracker.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.tracker.setdomainuserid.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.tracker.setnetworkuserid.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.tracker.setsessionid.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.tracker.setsessionindex.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/markdown/node-tracker.version.md (100%) rename {trackers/node-tracker/docs => api-docs/docs/node-tracker}/node-tracker.api.md (100%) create mode 100644 api-docs/docusaurus.config.js create mode 100644 api-docs/package-lock.json create mode 100644 api-docs/package.json create mode 100644 api-docs/sidebars.js create mode 100644 api-docs/src/css/custom.css create mode 100644 api-docs/src/pages/index.md create mode 100644 api-docs/src/pages/index.module.css create mode 100644 api-docs/static/.nojekyll create mode 100644 api-docs/static/img/favicon.ico create mode 100644 common/changes/@snowplow/browser-tracker/issue-1255-host_js_docs_2023-11-28-10-57.json create mode 100644 common/changes/@snowplow/node-tracker/issue-1255-host_js_docs_2023-11-28-10-57.json create mode 100644 common/changes/@snowplow/tracker-core/issue-1255-host_js_docs_2023-11-28-10-57.json diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml new file mode 100644 index 000000000..a0f49e65f --- /dev/null +++ b/.github/workflows/docs.yml @@ -0,0 +1,31 @@ +name: Deploy to GitHub Pages + +on: + workflow_run: + workflows: ['Deploy Tracker'] + types: + - completed +permissions: + contents: write + +jobs: + deploy: + name: Deploy to GitHub Pages + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-node@v3 + with: + node-version: 18 + + - name: Install dependencies + working-directory: ./api-docs + run: npm install + - name: Build website + working-directory: ./api-docs + run: npm run build + - name: Deploy to GitHub Pages + uses: peaceiris/actions-gh-pages@v3 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + publish_dir: ./api-docs/build diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 1ec622866..5329c781e 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -67,18 +67,18 @@ jobs: working-directory: ./trackers/browser-tracker run: | api-extractor run - api-documenter markdown --input-folder temp --output-folder docs/markdown + api-documenter markdown --input-folder temp --output-folder ../../api-docs/docs/browser-tracker/markdown - name: Create API documentation for @snowplow/node-tracker working-directory: ./trackers/node-tracker run: | api-extractor run - api-documenter markdown --input-folder temp --output-folder docs/markdown + api-documenter markdown --input-folder temp --output-folder ../../api-docs/docs/node-tracker/markdown - name: Apply API documentation updates run: | - git add trackers/browser-tracker/docs - git add trackers/node-tracker/docs + git add api-docs/docs/browser-tracker + git add api-docs/docs/node-tracker git commit --no-verify --allow-empty -m "Applying documentation updates." git push diff --git a/api-docs/.gitignore b/api-docs/.gitignore new file mode 100644 index 000000000..b2d6de306 --- /dev/null +++ b/api-docs/.gitignore @@ -0,0 +1,20 @@ +# Dependencies +/node_modules + +# Production +/build + +# Generated files +.docusaurus +.cache-loader + +# Misc +.DS_Store +.env.local +.env.development.local +.env.test.local +.env.production.local + +npm-debug.log* +yarn-debug.log* +yarn-error.log* diff --git a/api-docs/babel.config.js b/api-docs/babel.config.js new file mode 100644 index 000000000..e00595dae --- /dev/null +++ b/api-docs/babel.config.js @@ -0,0 +1,3 @@ +module.exports = { + presets: [require.resolve('@docusaurus/core/lib/babel/preset')], +}; diff --git a/trackers/browser-tracker/docs/browser-tracker.api.md b/api-docs/docs/browser-tracker/browser-tracker.api.md similarity index 100% rename from trackers/browser-tracker/docs/browser-tracker.api.md rename to api-docs/docs/browser-tracker/browser-tracker.api.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.activitycallback.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.activitycallback.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.activitycallback.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.activitycallback.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.activitycallbackdata.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.activitycallbackdata.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.activitycallbackdata.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.activitycallbackdata.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.activitytrackingconfiguration.heartbeatdelay.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.activitytrackingconfiguration.heartbeatdelay.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.activitytrackingconfiguration.heartbeatdelay.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.activitytrackingconfiguration.heartbeatdelay.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.activitytrackingconfiguration.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.activitytrackingconfiguration.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.activitytrackingconfiguration.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.activitytrackingconfiguration.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.activitytrackingconfiguration.minimumvisitlength.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.activitytrackingconfiguration.minimumvisitlength.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.activitytrackingconfiguration.minimumvisitlength.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.activitytrackingconfiguration.minimumvisitlength.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.activitytrackingconfigurationcallback.callback.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.activitytrackingconfigurationcallback.callback.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.activitytrackingconfigurationcallback.callback.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.activitytrackingconfigurationcallback.callback.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.activitytrackingconfigurationcallback.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.activitytrackingconfigurationcallback.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.activitytrackingconfigurationcallback.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.activitytrackingconfigurationcallback.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.addglobalcontexts.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.addglobalcontexts.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.addglobalcontexts.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.addglobalcontexts.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.addplugin.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.addplugin.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.addplugin.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.addplugin.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.anonymoustrackingoptions.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.anonymoustrackingoptions.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.anonymoustrackingoptions.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.anonymoustrackingoptions.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.browserplugin.activatebrowserplugin.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.browserplugin.activatebrowserplugin.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.browserplugin.activatebrowserplugin.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.browserplugin.activatebrowserplugin.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.browserplugin.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.browserplugin.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.browserplugin.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.browserplugin.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.browserpluginconfiguration.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.browserpluginconfiguration.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.browserpluginconfiguration.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.browserpluginconfiguration.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.browserpluginconfiguration.plugin.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.browserpluginconfiguration.plugin.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.browserpluginconfiguration.plugin.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.browserpluginconfiguration.plugin.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.addplugin.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.addplugin.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.addplugin.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.addplugin.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.clearuserdata.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.clearuserdata.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.clearuserdata.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.clearuserdata.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.core.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.core.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.core.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.core.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.crossdomainlinker.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.crossdomainlinker.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.crossdomainlinker.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.crossdomainlinker.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.disableactivitytracking.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.disableactivitytracking.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.disableactivitytracking.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.disableactivitytracking.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.disableactivitytrackingcallback.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.disableactivitytrackingcallback.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.disableactivitytrackingcallback.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.disableactivitytrackingcallback.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.disableanonymoustracking.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.disableanonymoustracking.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.disableanonymoustracking.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.disableanonymoustracking.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.discardbrace.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.discardbrace.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.discardbrace.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.discardbrace.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.discardhashtag.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.discardhashtag.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.discardhashtag.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.discardhashtag.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.enableactivitytracking.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.enableactivitytracking.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.enableactivitytracking.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.enableactivitytracking.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.enableactivitytrackingcallback.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.enableactivitytrackingcallback.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.enableactivitytrackingcallback.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.enableactivitytrackingcallback.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.enableanonymoustracking.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.enableanonymoustracking.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.enableanonymoustracking.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.enableanonymoustracking.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.flushbuffer.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.flushbuffer.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.flushbuffer.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.flushbuffer.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.getcookiename.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.getcookiename.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.getcookiename.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.getcookiename.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.getdomainsessionindex.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.getdomainsessionindex.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.getdomainsessionindex.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.getdomainsessionindex.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.getdomainuserid.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.getdomainuserid.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.getdomainuserid.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.getdomainuserid.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.getdomainuserinfo.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.getdomainuserinfo.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.getdomainuserinfo.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.getdomainuserinfo.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.getpageviewid.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.getpageviewid.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.getpageviewid.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.getpageviewid.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.gettabid.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.gettabid.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.gettabid.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.gettabid.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.getuserid.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.getuserid.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.getuserid.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.getuserid.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.id.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.id.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.id.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.id.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.namespace.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.namespace.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.namespace.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.namespace.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.newsession.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.newsession.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.newsession.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.newsession.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.preservepageviewid.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.preservepageviewid.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.preservepageviewid.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.preservepageviewid.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.setbuffersize.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.setbuffersize.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.setbuffersize.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.setbuffersize.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.setcollectorurl.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.setcollectorurl.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.setcollectorurl.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.setcollectorurl.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.setcookiepath.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.setcookiepath.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.setcookiepath.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.setcookiepath.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.setcustomurl.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.setcustomurl.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.setcustomurl.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.setcustomurl.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.setdocumenttitle.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.setdocumenttitle.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.setdocumenttitle.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.setdocumenttitle.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.setoptoutcookie.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.setoptoutcookie.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.setoptoutcookie.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.setoptoutcookie.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.setreferrerurl.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.setreferrerurl.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.setreferrerurl.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.setreferrerurl.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.setuserid.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.setuserid.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.setuserid.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.setuserid.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.setuseridfromcookie.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.setuseridfromcookie.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.setuseridfromcookie.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.setuseridfromcookie.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.setuseridfromlocation.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.setuseridfromlocation.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.setuseridfromlocation.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.setuseridfromlocation.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.setuseridfromreferrer.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.setuseridfromreferrer.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.setuseridfromreferrer.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.setuseridfromreferrer.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.setvisitorcookietimeout.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.setvisitorcookietimeout.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.setvisitorcookietimeout.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.setvisitorcookietimeout.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.sharedstate.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.sharedstate.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.sharedstate.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.sharedstate.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.trackpageview.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.trackpageview.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.trackpageview.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.trackpageview.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.updatepageactivity.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.updatepageactivity.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.browsertracker.updatepageactivity.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.updatepageactivity.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.builtincontexts.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.builtincontexts.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.builtincontexts.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.builtincontexts.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.clearglobalcontexts.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.clearglobalcontexts.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.clearglobalcontexts.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.clearglobalcontexts.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.clearuserdata.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.clearuserdata.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.clearuserdata.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.clearuserdata.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.clearuserdataconfiguration.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.clearuserdataconfiguration.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.clearuserdataconfiguration.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.clearuserdataconfiguration.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.clearuserdataconfiguration.preservesession.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.clearuserdataconfiguration.preservesession.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.clearuserdataconfiguration.preservesession.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.clearuserdataconfiguration.preservesession.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.clearuserdataconfiguration.preserveuser.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.clearuserdataconfiguration.preserveuser.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.clearuserdataconfiguration.preserveuser.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.clearuserdataconfiguration.preserveuser.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.clientsession.eventindex.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.clientsession.eventindex.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.clientsession.eventindex.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.clientsession.eventindex.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.clientsession.firsteventid.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.clientsession.firsteventid.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.clientsession.firsteventid.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.clientsession.firsteventid.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.clientsession.firsteventtimestamp.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.clientsession.firsteventtimestamp.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.clientsession.firsteventtimestamp.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.clientsession.firsteventtimestamp.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.clientsession.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.clientsession.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.clientsession.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.clientsession.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.clientsession.previoussessionid.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.clientsession.previoussessionid.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.clientsession.previoussessionid.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.clientsession.previoussessionid.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.clientsession.sessionid.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.clientsession.sessionid.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.clientsession.sessionid.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.clientsession.sessionid.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.clientsession.sessionindex.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.clientsession.sessionindex.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.clientsession.sessionindex.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.clientsession.sessionindex.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.clientsession.storagemechanism.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.clientsession.storagemechanism.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.clientsession.storagemechanism.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.clientsession.storagemechanism.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.clientsession.userid.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.clientsession.userid.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.clientsession.userid.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.clientsession.userid.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.commoneventproperties.context.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.commoneventproperties.context.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.commoneventproperties.context.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.commoneventproperties.context.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.commoneventproperties.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.commoneventproperties.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.commoneventproperties.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.commoneventproperties.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.commoneventproperties.timestamp.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.commoneventproperties.timestamp.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.commoneventproperties.timestamp.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.commoneventproperties.timestamp.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.conditionalcontextprovider.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.conditionalcontextprovider.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.conditionalcontextprovider.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.conditionalcontextprovider.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.contextevent.event.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.contextevent.event.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.contextevent.event.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.contextevent.event.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.contextevent.eventschema.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.contextevent.eventschema.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.contextevent.eventschema.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.contextevent.eventschema.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.contextevent.eventtype.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.contextevent.eventtype.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.contextevent.eventtype.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.contextevent.eventtype.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.contextevent.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.contextevent.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.contextevent.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.contextevent.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.contextfilter.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.contextfilter.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.contextfilter.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.contextfilter.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.contextgenerator.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.contextgenerator.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.contextgenerator.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.contextgenerator.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.contextprimitive.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.contextprimitive.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.contextprimitive.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.contextprimitive.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.cookiesamesite.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.cookiesamesite.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.cookiesamesite.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.cookiesamesite.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.crossdomainlinker.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.crossdomainlinker.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.crossdomainlinker.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.crossdomainlinker.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.disableactivitytracking.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.disableactivitytracking.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.disableactivitytracking.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.disableactivitytracking.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.disableactivitytrackingcallback.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.disableactivitytrackingcallback.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.disableactivitytrackingcallback.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.disableactivitytrackingcallback.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.disableanonymoustracking.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.disableanonymoustracking.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.disableanonymoustracking.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.disableanonymoustracking.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.disableanonymoustrackingconfiguration.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.disableanonymoustrackingconfiguration.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.disableanonymoustrackingconfiguration.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.disableanonymoustrackingconfiguration.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.disableanonymoustrackingconfiguration.statestoragestrategy.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.disableanonymoustrackingconfiguration.statestoragestrategy.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.disableanonymoustrackingconfiguration.statestoragestrategy.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.disableanonymoustrackingconfiguration.statestoragestrategy.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.discardbrace.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.discardbrace.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.discardbrace.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.discardbrace.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.discardhashtag.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.discardhashtag.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.discardhashtag.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.discardhashtag.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.enableactivitytracking.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.enableactivitytracking.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.enableactivitytracking.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.enableactivitytracking.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.enableactivitytrackingcallback.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.enableactivitytrackingcallback.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.enableactivitytrackingcallback.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.enableactivitytrackingcallback.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.enableanonymoustracking.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.enableanonymoustracking.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.enableanonymoustracking.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.enableanonymoustracking.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.enableanonymoustrackingconfiguration.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.enableanonymoustrackingconfiguration.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.enableanonymoustrackingconfiguration.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.enableanonymoustrackingconfiguration.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.enableanonymoustrackingconfiguration.options.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.enableanonymoustrackingconfiguration.options.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.enableanonymoustrackingconfiguration.options.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.enableanonymoustrackingconfiguration.options.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.enableanonymoustrackingconfiguration.statestoragestrategy.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.enableanonymoustrackingconfiguration.statestoragestrategy.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.enableanonymoustrackingconfiguration.statestoragestrategy.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.enableanonymoustrackingconfiguration.statestoragestrategy.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.eventmethod.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.eventmethod.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.eventmethod.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.eventmethod.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.filterprovider.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.filterprovider.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.filterprovider.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.filterprovider.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.flushbuffer.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.flushbuffer.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.flushbuffer.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.flushbuffer.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.flushbufferconfiguration.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.flushbufferconfiguration.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.flushbufferconfiguration.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.flushbufferconfiguration.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.flushbufferconfiguration.newbuffersize.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.flushbufferconfiguration.newbuffersize.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.flushbufferconfiguration.newbuffersize.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.flushbufferconfiguration.newbuffersize.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.newsession.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.newsession.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.newsession.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.newsession.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.newtracker.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.newtracker.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.newtracker.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.newtracker.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.newtracker_1.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.newtracker_1.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.newtracker_1.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.newtracker_1.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.pageviewevent.contextcallback.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.pageviewevent.contextcallback.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.pageviewevent.contextcallback.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.pageviewevent.contextcallback.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.pageviewevent.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.pageviewevent.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.pageviewevent.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.pageviewevent.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.pageviewevent.title.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.pageviewevent.title.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.pageviewevent.title.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.pageviewevent.title.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.platform.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.platform.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.platform.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.platform.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.preservepageviewid.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.preservepageviewid.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.preservepageviewid.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.preservepageviewid.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.removeglobalcontexts.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.removeglobalcontexts.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.removeglobalcontexts.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.removeglobalcontexts.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.ruleset.accept.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.ruleset.accept.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.ruleset.accept.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.ruleset.accept.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.ruleset.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.ruleset.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.ruleset.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.ruleset.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.ruleset.reject.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.ruleset.reject.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.ruleset.reject.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.ruleset.reject.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.rulesetprovider.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.rulesetprovider.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.rulesetprovider.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.rulesetprovider.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.selfdescribingevent.event.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.selfdescribingevent.event.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.selfdescribingevent.event.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.selfdescribingevent.event.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.selfdescribingevent.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.selfdescribingevent.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.selfdescribingevent.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.selfdescribingevent.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.selfdescribingjson.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.selfdescribingjson.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.selfdescribingjson.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.selfdescribingjson.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.setbuffersize.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.setbuffersize.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.setbuffersize.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.setbuffersize.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.setcollectorurl.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.setcollectorurl.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.setcollectorurl.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.setcollectorurl.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.setcookiepath.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.setcookiepath.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.setcookiepath.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.setcookiepath.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.setcustomurl.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.setcustomurl.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.setcustomurl.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.setcustomurl.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.setdocumenttitle.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.setdocumenttitle.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.setdocumenttitle.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.setdocumenttitle.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.setoptoutcookie.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.setoptoutcookie.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.setoptoutcookie.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.setoptoutcookie.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.setreferrerurl.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.setreferrerurl.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.setreferrerurl.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.setreferrerurl.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.setuserid.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.setuserid.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.setuserid.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.setuserid.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.setuseridfromcookie.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.setuseridfromcookie.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.setuseridfromcookie.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.setuseridfromcookie.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.setuseridfromlocation.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.setuseridfromlocation.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.setuseridfromlocation.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.setuseridfromlocation.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.setuseridfromreferrer.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.setuseridfromreferrer.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.setuseridfromreferrer.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.setuseridfromreferrer.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.setvisitorcookietimeout.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.setvisitorcookietimeout.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.setvisitorcookietimeout.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.setvisitorcookietimeout.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.statestoragestrategy.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.statestoragestrategy.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.statestoragestrategy.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.statestoragestrategy.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.structuredevent.action.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.structuredevent.action.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.structuredevent.action.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.structuredevent.action.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.structuredevent.category.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.structuredevent.category.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.structuredevent.category.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.structuredevent.category.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.structuredevent.label.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.structuredevent.label.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.structuredevent.label.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.structuredevent.label.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.structuredevent.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.structuredevent.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.structuredevent.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.structuredevent.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.structuredevent.property.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.structuredevent.property.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.structuredevent.property.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.structuredevent.property.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.structuredevent.value.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.structuredevent.value.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.structuredevent.value.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.structuredevent.value.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.trackerconfiguration.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.trackerconfiguration.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.trackerconfiguration.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.trackerconfiguration.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.trackpageview.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.trackpageview.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.trackpageview.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.trackpageview.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.trackselfdescribingevent.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.trackselfdescribingevent.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.trackselfdescribingevent.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.trackselfdescribingevent.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.trackstructevent.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.trackstructevent.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.trackstructevent.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.trackstructevent.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.updatepageactivity.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.updatepageactivity.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.updatepageactivity.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.updatepageactivity.md diff --git a/trackers/browser-tracker/docs/markdown/browser-tracker.version.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.version.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/browser-tracker.version.md rename to api-docs/docs/browser-tracker/markdown/browser-tracker.version.md diff --git a/trackers/browser-tracker/docs/markdown/index.md b/api-docs/docs/browser-tracker/markdown/index.md similarity index 100% rename from trackers/browser-tracker/docs/markdown/index.md rename to api-docs/docs/browser-tracker/markdown/index.md diff --git a/api-docs/docs/index.md b/api-docs/docs/index.md new file mode 100644 index 000000000..e2d694363 --- /dev/null +++ b/api-docs/docs/index.md @@ -0,0 +1,22 @@ +--- +sidebar_position: 1 +--- + +# JavaScript Trackers +The Snowplow JavaScript Trackers support being used in a number of environments. There are three versions of the tracker. + +## Web tracking +We have two flavours of web tracker: JavaScript and Browser. + +- JavaScript Tracker (v2 and v3) for loading via tags, by adding code snippets to your website or Tag Manager solution. +- Browser Tracker (v3) for installation into web apps via npm. Popular when natively integrating tracking into React, Angular and Vue applications. + +Find the documentation for both in the [Web trackers](https://docs.snowplow.io/docs/collecting-data/collecting-from-own-applications/javascript-trackers/web-tracker/) section. + + +## Server-side tracking +Track events in server-side Node.js environments using the Node.js Tracker (v3). Used via npm. + +Find the documentation in the [Node.js tracker](https://docs.snowplow.io/docs/collecting-data/collecting-from-own-applications/javascript-trackers/node-js-tracker) section. + + diff --git a/trackers/node-tracker/docs/markdown/index.md b/api-docs/docs/node-tracker/markdown/index.md similarity index 100% rename from trackers/node-tracker/docs/markdown/index.md rename to api-docs/docs/node-tracker/markdown/index.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.adclickevent.advertiserid.md b/api-docs/docs/node-tracker/markdown/node-tracker.adclickevent.advertiserid.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.adclickevent.advertiserid.md rename to api-docs/docs/node-tracker/markdown/node-tracker.adclickevent.advertiserid.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.adclickevent.bannerid.md b/api-docs/docs/node-tracker/markdown/node-tracker.adclickevent.bannerid.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.adclickevent.bannerid.md rename to api-docs/docs/node-tracker/markdown/node-tracker.adclickevent.bannerid.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.adclickevent.campaignid.md b/api-docs/docs/node-tracker/markdown/node-tracker.adclickevent.campaignid.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.adclickevent.campaignid.md rename to api-docs/docs/node-tracker/markdown/node-tracker.adclickevent.campaignid.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.adclickevent.clickid.md b/api-docs/docs/node-tracker/markdown/node-tracker.adclickevent.clickid.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.adclickevent.clickid.md rename to api-docs/docs/node-tracker/markdown/node-tracker.adclickevent.clickid.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.adclickevent.cost.md b/api-docs/docs/node-tracker/markdown/node-tracker.adclickevent.cost.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.adclickevent.cost.md rename to api-docs/docs/node-tracker/markdown/node-tracker.adclickevent.cost.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.adclickevent.costmodel.md b/api-docs/docs/node-tracker/markdown/node-tracker.adclickevent.costmodel.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.adclickevent.costmodel.md rename to api-docs/docs/node-tracker/markdown/node-tracker.adclickevent.costmodel.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.adclickevent.impressionid.md b/api-docs/docs/node-tracker/markdown/node-tracker.adclickevent.impressionid.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.adclickevent.impressionid.md rename to api-docs/docs/node-tracker/markdown/node-tracker.adclickevent.impressionid.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.adclickevent.md b/api-docs/docs/node-tracker/markdown/node-tracker.adclickevent.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.adclickevent.md rename to api-docs/docs/node-tracker/markdown/node-tracker.adclickevent.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.adclickevent.targeturl.md b/api-docs/docs/node-tracker/markdown/node-tracker.adclickevent.targeturl.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.adclickevent.targeturl.md rename to api-docs/docs/node-tracker/markdown/node-tracker.adclickevent.targeturl.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.adclickevent.zoneid.md b/api-docs/docs/node-tracker/markdown/node-tracker.adclickevent.zoneid.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.adclickevent.zoneid.md rename to api-docs/docs/node-tracker/markdown/node-tracker.adclickevent.zoneid.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.adconversionevent.action.md b/api-docs/docs/node-tracker/markdown/node-tracker.adconversionevent.action.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.adconversionevent.action.md rename to api-docs/docs/node-tracker/markdown/node-tracker.adconversionevent.action.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.adconversionevent.advertiserid.md b/api-docs/docs/node-tracker/markdown/node-tracker.adconversionevent.advertiserid.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.adconversionevent.advertiserid.md rename to api-docs/docs/node-tracker/markdown/node-tracker.adconversionevent.advertiserid.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.adconversionevent.campaignid.md b/api-docs/docs/node-tracker/markdown/node-tracker.adconversionevent.campaignid.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.adconversionevent.campaignid.md rename to api-docs/docs/node-tracker/markdown/node-tracker.adconversionevent.campaignid.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.adconversionevent.category.md b/api-docs/docs/node-tracker/markdown/node-tracker.adconversionevent.category.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.adconversionevent.category.md rename to api-docs/docs/node-tracker/markdown/node-tracker.adconversionevent.category.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.adconversionevent.conversionid.md b/api-docs/docs/node-tracker/markdown/node-tracker.adconversionevent.conversionid.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.adconversionevent.conversionid.md rename to api-docs/docs/node-tracker/markdown/node-tracker.adconversionevent.conversionid.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.adconversionevent.cost.md b/api-docs/docs/node-tracker/markdown/node-tracker.adconversionevent.cost.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.adconversionevent.cost.md rename to api-docs/docs/node-tracker/markdown/node-tracker.adconversionevent.cost.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.adconversionevent.costmodel.md b/api-docs/docs/node-tracker/markdown/node-tracker.adconversionevent.costmodel.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.adconversionevent.costmodel.md rename to api-docs/docs/node-tracker/markdown/node-tracker.adconversionevent.costmodel.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.adconversionevent.initialvalue.md b/api-docs/docs/node-tracker/markdown/node-tracker.adconversionevent.initialvalue.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.adconversionevent.initialvalue.md rename to api-docs/docs/node-tracker/markdown/node-tracker.adconversionevent.initialvalue.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.adconversionevent.md b/api-docs/docs/node-tracker/markdown/node-tracker.adconversionevent.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.adconversionevent.md rename to api-docs/docs/node-tracker/markdown/node-tracker.adconversionevent.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.adconversionevent.property.md b/api-docs/docs/node-tracker/markdown/node-tracker.adconversionevent.property.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.adconversionevent.property.md rename to api-docs/docs/node-tracker/markdown/node-tracker.adconversionevent.property.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.addtocartevent.category.md b/api-docs/docs/node-tracker/markdown/node-tracker.addtocartevent.category.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.addtocartevent.category.md rename to api-docs/docs/node-tracker/markdown/node-tracker.addtocartevent.category.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.addtocartevent.currency.md b/api-docs/docs/node-tracker/markdown/node-tracker.addtocartevent.currency.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.addtocartevent.currency.md rename to api-docs/docs/node-tracker/markdown/node-tracker.addtocartevent.currency.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.addtocartevent.md b/api-docs/docs/node-tracker/markdown/node-tracker.addtocartevent.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.addtocartevent.md rename to api-docs/docs/node-tracker/markdown/node-tracker.addtocartevent.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.addtocartevent.name.md b/api-docs/docs/node-tracker/markdown/node-tracker.addtocartevent.name.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.addtocartevent.name.md rename to api-docs/docs/node-tracker/markdown/node-tracker.addtocartevent.name.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.addtocartevent.quantity.md b/api-docs/docs/node-tracker/markdown/node-tracker.addtocartevent.quantity.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.addtocartevent.quantity.md rename to api-docs/docs/node-tracker/markdown/node-tracker.addtocartevent.quantity.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.addtocartevent.sku.md b/api-docs/docs/node-tracker/markdown/node-tracker.addtocartevent.sku.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.addtocartevent.sku.md rename to api-docs/docs/node-tracker/markdown/node-tracker.addtocartevent.sku.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.addtocartevent.unitprice.md b/api-docs/docs/node-tracker/markdown/node-tracker.addtocartevent.unitprice.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.addtocartevent.unitprice.md rename to api-docs/docs/node-tracker/markdown/node-tracker.addtocartevent.unitprice.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.adimpressionevent.advertiserid.md b/api-docs/docs/node-tracker/markdown/node-tracker.adimpressionevent.advertiserid.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.adimpressionevent.advertiserid.md rename to api-docs/docs/node-tracker/markdown/node-tracker.adimpressionevent.advertiserid.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.adimpressionevent.bannerid.md b/api-docs/docs/node-tracker/markdown/node-tracker.adimpressionevent.bannerid.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.adimpressionevent.bannerid.md rename to api-docs/docs/node-tracker/markdown/node-tracker.adimpressionevent.bannerid.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.adimpressionevent.campaignid.md b/api-docs/docs/node-tracker/markdown/node-tracker.adimpressionevent.campaignid.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.adimpressionevent.campaignid.md rename to api-docs/docs/node-tracker/markdown/node-tracker.adimpressionevent.campaignid.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.adimpressionevent.cost.md b/api-docs/docs/node-tracker/markdown/node-tracker.adimpressionevent.cost.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.adimpressionevent.cost.md rename to api-docs/docs/node-tracker/markdown/node-tracker.adimpressionevent.cost.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.adimpressionevent.costmodel.md b/api-docs/docs/node-tracker/markdown/node-tracker.adimpressionevent.costmodel.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.adimpressionevent.costmodel.md rename to api-docs/docs/node-tracker/markdown/node-tracker.adimpressionevent.costmodel.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.adimpressionevent.impressionid.md b/api-docs/docs/node-tracker/markdown/node-tracker.adimpressionevent.impressionid.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.adimpressionevent.impressionid.md rename to api-docs/docs/node-tracker/markdown/node-tracker.adimpressionevent.impressionid.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.adimpressionevent.md b/api-docs/docs/node-tracker/markdown/node-tracker.adimpressionevent.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.adimpressionevent.md rename to api-docs/docs/node-tracker/markdown/node-tracker.adimpressionevent.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.adimpressionevent.targeturl.md b/api-docs/docs/node-tracker/markdown/node-tracker.adimpressionevent.targeturl.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.adimpressionevent.targeturl.md rename to api-docs/docs/node-tracker/markdown/node-tracker.adimpressionevent.targeturl.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.adimpressionevent.zoneid.md b/api-docs/docs/node-tracker/markdown/node-tracker.adimpressionevent.zoneid.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.adimpressionevent.zoneid.md rename to api-docs/docs/node-tracker/markdown/node-tracker.adimpressionevent.zoneid.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.buildadclick.md b/api-docs/docs/node-tracker/markdown/node-tracker.buildadclick.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.buildadclick.md rename to api-docs/docs/node-tracker/markdown/node-tracker.buildadclick.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.buildadconversion.md b/api-docs/docs/node-tracker/markdown/node-tracker.buildadconversion.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.buildadconversion.md rename to api-docs/docs/node-tracker/markdown/node-tracker.buildadconversion.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.buildaddtocart.md b/api-docs/docs/node-tracker/markdown/node-tracker.buildaddtocart.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.buildaddtocart.md rename to api-docs/docs/node-tracker/markdown/node-tracker.buildaddtocart.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.buildadimpression.md b/api-docs/docs/node-tracker/markdown/node-tracker.buildadimpression.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.buildadimpression.md rename to api-docs/docs/node-tracker/markdown/node-tracker.buildadimpression.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.buildconsentgranted.md b/api-docs/docs/node-tracker/markdown/node-tracker.buildconsentgranted.md similarity index 86% rename from trackers/node-tracker/docs/markdown/node-tracker.buildconsentgranted.md rename to api-docs/docs/node-tracker/markdown/node-tracker.buildconsentgranted.md index da5d9a077..7c9272b65 100644 --- a/trackers/node-tracker/docs/markdown/node-tracker.buildconsentgranted.md +++ b/api-docs/docs/node-tracker/markdown/node-tracker.buildconsentgranted.md @@ -26,7 +26,7 @@ declare function buildConsentGranted(event: ConsentGrantedEvent): { Returns: -{ event: PayloadBuilder; context: { schema: string; data: Record<string, unknown>; }\[\]; } +`{ event: PayloadBuilder; context: { schema: string; data: Record<string, unknown>; }\[\]; }` An object containing the PayloadBuilder to be sent to and a 'consent\_document' context diff --git a/trackers/node-tracker/docs/markdown/node-tracker.buildconsentwithdrawn.md b/api-docs/docs/node-tracker/markdown/node-tracker.buildconsentwithdrawn.md similarity index 86% rename from trackers/node-tracker/docs/markdown/node-tracker.buildconsentwithdrawn.md rename to api-docs/docs/node-tracker/markdown/node-tracker.buildconsentwithdrawn.md index dc59cff79..9c6128a27 100644 --- a/trackers/node-tracker/docs/markdown/node-tracker.buildconsentwithdrawn.md +++ b/api-docs/docs/node-tracker/markdown/node-tracker.buildconsentwithdrawn.md @@ -26,7 +26,7 @@ declare function buildConsentWithdrawn(event: ConsentWithdrawnEvent): { Returns: -{ event: PayloadBuilder; context: { schema: string; data: Record<string, unknown>; }\[\]; } +`{ event: PayloadBuilder; context: { schema: string; data: Record<string, unknown>; }\[\]; }` An object containing the PayloadBuilder to be sent to and a 'consent\_document' context diff --git a/trackers/node-tracker/docs/markdown/node-tracker.buildecommercetransaction.md b/api-docs/docs/node-tracker/markdown/node-tracker.buildecommercetransaction.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.buildecommercetransaction.md rename to api-docs/docs/node-tracker/markdown/node-tracker.buildecommercetransaction.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.buildecommercetransactionitem.md b/api-docs/docs/node-tracker/markdown/node-tracker.buildecommercetransactionitem.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.buildecommercetransactionitem.md rename to api-docs/docs/node-tracker/markdown/node-tracker.buildecommercetransactionitem.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.buildformfocusorchange.md b/api-docs/docs/node-tracker/markdown/node-tracker.buildformfocusorchange.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.buildformfocusorchange.md rename to api-docs/docs/node-tracker/markdown/node-tracker.buildformfocusorchange.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.buildformsubmission.md b/api-docs/docs/node-tracker/markdown/node-tracker.buildformsubmission.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.buildformsubmission.md rename to api-docs/docs/node-tracker/markdown/node-tracker.buildformsubmission.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.buildlinkclick.md b/api-docs/docs/node-tracker/markdown/node-tracker.buildlinkclick.md similarity index 90% rename from trackers/node-tracker/docs/markdown/node-tracker.buildlinkclick.md rename to api-docs/docs/node-tracker/markdown/node-tracker.buildlinkclick.md index c9e082945..0d93ee880 100644 --- a/trackers/node-tracker/docs/markdown/node-tracker.buildlinkclick.md +++ b/api-docs/docs/node-tracker/markdown/node-tracker.buildlinkclick.md @@ -4,7 +4,7 @@ ## buildLinkClick() function -Build a Link Click Event Used when a user clicks on a link on a webpage, typically an anchor tag +Build a Link Click Event Used when a user clicks on a link on a webpage, typically an anchor tag `` Signature: diff --git a/trackers/node-tracker/docs/markdown/node-tracker.buildpageping.md b/api-docs/docs/node-tracker/markdown/node-tracker.buildpageping.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.buildpageping.md rename to api-docs/docs/node-tracker/markdown/node-tracker.buildpageping.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.buildpageview.md b/api-docs/docs/node-tracker/markdown/node-tracker.buildpageview.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.buildpageview.md rename to api-docs/docs/node-tracker/markdown/node-tracker.buildpageview.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.buildremovefromcart.md b/api-docs/docs/node-tracker/markdown/node-tracker.buildremovefromcart.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.buildremovefromcart.md rename to api-docs/docs/node-tracker/markdown/node-tracker.buildremovefromcart.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.buildscreenview.md b/api-docs/docs/node-tracker/markdown/node-tracker.buildscreenview.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.buildscreenview.md rename to api-docs/docs/node-tracker/markdown/node-tracker.buildscreenview.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.buildselfdescribingevent.md b/api-docs/docs/node-tracker/markdown/node-tracker.buildselfdescribingevent.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.buildselfdescribingevent.md rename to api-docs/docs/node-tracker/markdown/node-tracker.buildselfdescribingevent.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.buildsitesearch.md b/api-docs/docs/node-tracker/markdown/node-tracker.buildsitesearch.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.buildsitesearch.md rename to api-docs/docs/node-tracker/markdown/node-tracker.buildsitesearch.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.buildsocialinteraction.md b/api-docs/docs/node-tracker/markdown/node-tracker.buildsocialinteraction.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.buildsocialinteraction.md rename to api-docs/docs/node-tracker/markdown/node-tracker.buildsocialinteraction.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.buildstructevent.md b/api-docs/docs/node-tracker/markdown/node-tracker.buildstructevent.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.buildstructevent.md rename to api-docs/docs/node-tracker/markdown/node-tracker.buildstructevent.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.consentgrantedevent.description.md b/api-docs/docs/node-tracker/markdown/node-tracker.consentgrantedevent.description.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.consentgrantedevent.description.md rename to api-docs/docs/node-tracker/markdown/node-tracker.consentgrantedevent.description.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.consentgrantedevent.expiry.md b/api-docs/docs/node-tracker/markdown/node-tracker.consentgrantedevent.expiry.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.consentgrantedevent.expiry.md rename to api-docs/docs/node-tracker/markdown/node-tracker.consentgrantedevent.expiry.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.consentgrantedevent.id.md b/api-docs/docs/node-tracker/markdown/node-tracker.consentgrantedevent.id.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.consentgrantedevent.id.md rename to api-docs/docs/node-tracker/markdown/node-tracker.consentgrantedevent.id.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.consentgrantedevent.md b/api-docs/docs/node-tracker/markdown/node-tracker.consentgrantedevent.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.consentgrantedevent.md rename to api-docs/docs/node-tracker/markdown/node-tracker.consentgrantedevent.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.consentgrantedevent.name.md b/api-docs/docs/node-tracker/markdown/node-tracker.consentgrantedevent.name.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.consentgrantedevent.name.md rename to api-docs/docs/node-tracker/markdown/node-tracker.consentgrantedevent.name.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.consentgrantedevent.version.md b/api-docs/docs/node-tracker/markdown/node-tracker.consentgrantedevent.version.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.consentgrantedevent.version.md rename to api-docs/docs/node-tracker/markdown/node-tracker.consentgrantedevent.version.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.consentwithdrawnevent.all.md b/api-docs/docs/node-tracker/markdown/node-tracker.consentwithdrawnevent.all.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.consentwithdrawnevent.all.md rename to api-docs/docs/node-tracker/markdown/node-tracker.consentwithdrawnevent.all.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.consentwithdrawnevent.description.md b/api-docs/docs/node-tracker/markdown/node-tracker.consentwithdrawnevent.description.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.consentwithdrawnevent.description.md rename to api-docs/docs/node-tracker/markdown/node-tracker.consentwithdrawnevent.description.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.consentwithdrawnevent.id.md b/api-docs/docs/node-tracker/markdown/node-tracker.consentwithdrawnevent.id.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.consentwithdrawnevent.id.md rename to api-docs/docs/node-tracker/markdown/node-tracker.consentwithdrawnevent.id.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.consentwithdrawnevent.md b/api-docs/docs/node-tracker/markdown/node-tracker.consentwithdrawnevent.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.consentwithdrawnevent.md rename to api-docs/docs/node-tracker/markdown/node-tracker.consentwithdrawnevent.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.consentwithdrawnevent.name.md b/api-docs/docs/node-tracker/markdown/node-tracker.consentwithdrawnevent.name.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.consentwithdrawnevent.name.md rename to api-docs/docs/node-tracker/markdown/node-tracker.consentwithdrawnevent.name.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.consentwithdrawnevent.version.md b/api-docs/docs/node-tracker/markdown/node-tracker.consentwithdrawnevent.version.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.consentwithdrawnevent.version.md rename to api-docs/docs/node-tracker/markdown/node-tracker.consentwithdrawnevent.version.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.contextevent.event.md b/api-docs/docs/node-tracker/markdown/node-tracker.contextevent.event.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.contextevent.event.md rename to api-docs/docs/node-tracker/markdown/node-tracker.contextevent.event.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.contextevent.eventschema.md b/api-docs/docs/node-tracker/markdown/node-tracker.contextevent.eventschema.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.contextevent.eventschema.md rename to api-docs/docs/node-tracker/markdown/node-tracker.contextevent.eventschema.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.contextevent.eventtype.md b/api-docs/docs/node-tracker/markdown/node-tracker.contextevent.eventtype.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.contextevent.eventtype.md rename to api-docs/docs/node-tracker/markdown/node-tracker.contextevent.eventtype.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.contextevent.md b/api-docs/docs/node-tracker/markdown/node-tracker.contextevent.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.contextevent.md rename to api-docs/docs/node-tracker/markdown/node-tracker.contextevent.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.contextfilter.md b/api-docs/docs/node-tracker/markdown/node-tracker.contextfilter.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.contextfilter.md rename to api-docs/docs/node-tracker/markdown/node-tracker.contextfilter.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.contextgenerator.md b/api-docs/docs/node-tracker/markdown/node-tracker.contextgenerator.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.contextgenerator.md rename to api-docs/docs/node-tracker/markdown/node-tracker.contextgenerator.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.coreconfiguration.base64.md b/api-docs/docs/node-tracker/markdown/node-tracker.coreconfiguration.base64.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.coreconfiguration.base64.md rename to api-docs/docs/node-tracker/markdown/node-tracker.coreconfiguration.base64.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.coreconfiguration.callback.md b/api-docs/docs/node-tracker/markdown/node-tracker.coreconfiguration.callback.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.coreconfiguration.callback.md rename to api-docs/docs/node-tracker/markdown/node-tracker.coreconfiguration.callback.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.coreconfiguration.coreplugins.md b/api-docs/docs/node-tracker/markdown/node-tracker.coreconfiguration.coreplugins.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.coreconfiguration.coreplugins.md rename to api-docs/docs/node-tracker/markdown/node-tracker.coreconfiguration.coreplugins.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.coreconfiguration.md b/api-docs/docs/node-tracker/markdown/node-tracker.coreconfiguration.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.coreconfiguration.md rename to api-docs/docs/node-tracker/markdown/node-tracker.coreconfiguration.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.coreplugin.activatecoreplugin.md b/api-docs/docs/node-tracker/markdown/node-tracker.coreplugin.activatecoreplugin.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.coreplugin.activatecoreplugin.md rename to api-docs/docs/node-tracker/markdown/node-tracker.coreplugin.activatecoreplugin.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.coreplugin.aftertrack.md b/api-docs/docs/node-tracker/markdown/node-tracker.coreplugin.aftertrack.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.coreplugin.aftertrack.md rename to api-docs/docs/node-tracker/markdown/node-tracker.coreplugin.aftertrack.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.coreplugin.beforetrack.md b/api-docs/docs/node-tracker/markdown/node-tracker.coreplugin.beforetrack.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.coreplugin.beforetrack.md rename to api-docs/docs/node-tracker/markdown/node-tracker.coreplugin.beforetrack.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.coreplugin.contexts.md b/api-docs/docs/node-tracker/markdown/node-tracker.coreplugin.contexts.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.coreplugin.contexts.md rename to api-docs/docs/node-tracker/markdown/node-tracker.coreplugin.contexts.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.coreplugin.logger.md b/api-docs/docs/node-tracker/markdown/node-tracker.coreplugin.logger.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.coreplugin.logger.md rename to api-docs/docs/node-tracker/markdown/node-tracker.coreplugin.logger.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.coreplugin.md b/api-docs/docs/node-tracker/markdown/node-tracker.coreplugin.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.coreplugin.md rename to api-docs/docs/node-tracker/markdown/node-tracker.coreplugin.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.ecommercetransactionevent.affiliation.md b/api-docs/docs/node-tracker/markdown/node-tracker.ecommercetransactionevent.affiliation.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.ecommercetransactionevent.affiliation.md rename to api-docs/docs/node-tracker/markdown/node-tracker.ecommercetransactionevent.affiliation.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.ecommercetransactionevent.city.md b/api-docs/docs/node-tracker/markdown/node-tracker.ecommercetransactionevent.city.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.ecommercetransactionevent.city.md rename to api-docs/docs/node-tracker/markdown/node-tracker.ecommercetransactionevent.city.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.ecommercetransactionevent.country.md b/api-docs/docs/node-tracker/markdown/node-tracker.ecommercetransactionevent.country.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.ecommercetransactionevent.country.md rename to api-docs/docs/node-tracker/markdown/node-tracker.ecommercetransactionevent.country.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.ecommercetransactionevent.currency.md b/api-docs/docs/node-tracker/markdown/node-tracker.ecommercetransactionevent.currency.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.ecommercetransactionevent.currency.md rename to api-docs/docs/node-tracker/markdown/node-tracker.ecommercetransactionevent.currency.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.ecommercetransactionevent.md b/api-docs/docs/node-tracker/markdown/node-tracker.ecommercetransactionevent.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.ecommercetransactionevent.md rename to api-docs/docs/node-tracker/markdown/node-tracker.ecommercetransactionevent.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.ecommercetransactionevent.orderid.md b/api-docs/docs/node-tracker/markdown/node-tracker.ecommercetransactionevent.orderid.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.ecommercetransactionevent.orderid.md rename to api-docs/docs/node-tracker/markdown/node-tracker.ecommercetransactionevent.orderid.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.ecommercetransactionevent.shipping.md b/api-docs/docs/node-tracker/markdown/node-tracker.ecommercetransactionevent.shipping.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.ecommercetransactionevent.shipping.md rename to api-docs/docs/node-tracker/markdown/node-tracker.ecommercetransactionevent.shipping.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.ecommercetransactionevent.state.md b/api-docs/docs/node-tracker/markdown/node-tracker.ecommercetransactionevent.state.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.ecommercetransactionevent.state.md rename to api-docs/docs/node-tracker/markdown/node-tracker.ecommercetransactionevent.state.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.ecommercetransactionevent.tax.md b/api-docs/docs/node-tracker/markdown/node-tracker.ecommercetransactionevent.tax.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.ecommercetransactionevent.tax.md rename to api-docs/docs/node-tracker/markdown/node-tracker.ecommercetransactionevent.tax.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.ecommercetransactionevent.total.md b/api-docs/docs/node-tracker/markdown/node-tracker.ecommercetransactionevent.total.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.ecommercetransactionevent.total.md rename to api-docs/docs/node-tracker/markdown/node-tracker.ecommercetransactionevent.total.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.ecommercetransactionitemevent.category.md b/api-docs/docs/node-tracker/markdown/node-tracker.ecommercetransactionitemevent.category.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.ecommercetransactionitemevent.category.md rename to api-docs/docs/node-tracker/markdown/node-tracker.ecommercetransactionitemevent.category.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.ecommercetransactionitemevent.currency.md b/api-docs/docs/node-tracker/markdown/node-tracker.ecommercetransactionitemevent.currency.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.ecommercetransactionitemevent.currency.md rename to api-docs/docs/node-tracker/markdown/node-tracker.ecommercetransactionitemevent.currency.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.ecommercetransactionitemevent.md b/api-docs/docs/node-tracker/markdown/node-tracker.ecommercetransactionitemevent.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.ecommercetransactionitemevent.md rename to api-docs/docs/node-tracker/markdown/node-tracker.ecommercetransactionitemevent.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.ecommercetransactionitemevent.name.md b/api-docs/docs/node-tracker/markdown/node-tracker.ecommercetransactionitemevent.name.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.ecommercetransactionitemevent.name.md rename to api-docs/docs/node-tracker/markdown/node-tracker.ecommercetransactionitemevent.name.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.ecommercetransactionitemevent.orderid.md b/api-docs/docs/node-tracker/markdown/node-tracker.ecommercetransactionitemevent.orderid.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.ecommercetransactionitemevent.orderid.md rename to api-docs/docs/node-tracker/markdown/node-tracker.ecommercetransactionitemevent.orderid.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.ecommercetransactionitemevent.price.md b/api-docs/docs/node-tracker/markdown/node-tracker.ecommercetransactionitemevent.price.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.ecommercetransactionitemevent.price.md rename to api-docs/docs/node-tracker/markdown/node-tracker.ecommercetransactionitemevent.price.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.ecommercetransactionitemevent.quantity.md b/api-docs/docs/node-tracker/markdown/node-tracker.ecommercetransactionitemevent.quantity.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.ecommercetransactionitemevent.quantity.md rename to api-docs/docs/node-tracker/markdown/node-tracker.ecommercetransactionitemevent.quantity.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.ecommercetransactionitemevent.sku.md b/api-docs/docs/node-tracker/markdown/node-tracker.ecommercetransactionitemevent.sku.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.ecommercetransactionitemevent.sku.md rename to api-docs/docs/node-tracker/markdown/node-tracker.ecommercetransactionitemevent.sku.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.emitter.flush.md b/api-docs/docs/node-tracker/markdown/node-tracker.emitter.flush.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.emitter.flush.md rename to api-docs/docs/node-tracker/markdown/node-tracker.emitter.flush.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.emitter.input.md b/api-docs/docs/node-tracker/markdown/node-tracker.emitter.input.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.emitter.input.md rename to api-docs/docs/node-tracker/markdown/node-tracker.emitter.input.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.emitter.md b/api-docs/docs/node-tracker/markdown/node-tracker.emitter.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.emitter.md rename to api-docs/docs/node-tracker/markdown/node-tracker.emitter.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.formfocusorchangeevent.elementclasses.md b/api-docs/docs/node-tracker/markdown/node-tracker.formfocusorchangeevent.elementclasses.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.formfocusorchangeevent.elementclasses.md rename to api-docs/docs/node-tracker/markdown/node-tracker.formfocusorchangeevent.elementclasses.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.formfocusorchangeevent.elementid.md b/api-docs/docs/node-tracker/markdown/node-tracker.formfocusorchangeevent.elementid.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.formfocusorchangeevent.elementid.md rename to api-docs/docs/node-tracker/markdown/node-tracker.formfocusorchangeevent.elementid.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.formfocusorchangeevent.formid.md b/api-docs/docs/node-tracker/markdown/node-tracker.formfocusorchangeevent.formid.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.formfocusorchangeevent.formid.md rename to api-docs/docs/node-tracker/markdown/node-tracker.formfocusorchangeevent.formid.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.formfocusorchangeevent.md b/api-docs/docs/node-tracker/markdown/node-tracker.formfocusorchangeevent.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.formfocusorchangeevent.md rename to api-docs/docs/node-tracker/markdown/node-tracker.formfocusorchangeevent.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.formfocusorchangeevent.nodename.md b/api-docs/docs/node-tracker/markdown/node-tracker.formfocusorchangeevent.nodename.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.formfocusorchangeevent.nodename.md rename to api-docs/docs/node-tracker/markdown/node-tracker.formfocusorchangeevent.nodename.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.formfocusorchangeevent.schema.md b/api-docs/docs/node-tracker/markdown/node-tracker.formfocusorchangeevent.schema.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.formfocusorchangeevent.schema.md rename to api-docs/docs/node-tracker/markdown/node-tracker.formfocusorchangeevent.schema.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.formfocusorchangeevent.type.md b/api-docs/docs/node-tracker/markdown/node-tracker.formfocusorchangeevent.type.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.formfocusorchangeevent.type.md rename to api-docs/docs/node-tracker/markdown/node-tracker.formfocusorchangeevent.type.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.formfocusorchangeevent.value.md b/api-docs/docs/node-tracker/markdown/node-tracker.formfocusorchangeevent.value.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.formfocusorchangeevent.value.md rename to api-docs/docs/node-tracker/markdown/node-tracker.formfocusorchangeevent.value.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.formsubmissionevent.elements.md b/api-docs/docs/node-tracker/markdown/node-tracker.formsubmissionevent.elements.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.formsubmissionevent.elements.md rename to api-docs/docs/node-tracker/markdown/node-tracker.formsubmissionevent.elements.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.formsubmissionevent.formclasses.md b/api-docs/docs/node-tracker/markdown/node-tracker.formsubmissionevent.formclasses.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.formsubmissionevent.formclasses.md rename to api-docs/docs/node-tracker/markdown/node-tracker.formsubmissionevent.formclasses.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.formsubmissionevent.formid.md b/api-docs/docs/node-tracker/markdown/node-tracker.formsubmissionevent.formid.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.formsubmissionevent.formid.md rename to api-docs/docs/node-tracker/markdown/node-tracker.formsubmissionevent.formid.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.formsubmissionevent.md b/api-docs/docs/node-tracker/markdown/node-tracker.formsubmissionevent.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.formsubmissionevent.md rename to api-docs/docs/node-tracker/markdown/node-tracker.formsubmissionevent.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.gotemitter.md b/api-docs/docs/node-tracker/markdown/node-tracker.gotemitter.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.gotemitter.md rename to api-docs/docs/node-tracker/markdown/node-tracker.gotemitter.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.httpmethod.md b/api-docs/docs/node-tracker/markdown/node-tracker.httpmethod.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.httpmethod.md rename to api-docs/docs/node-tracker/markdown/node-tracker.httpmethod.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.httpprotocol.md b/api-docs/docs/node-tracker/markdown/node-tracker.httpprotocol.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.httpprotocol.md rename to api-docs/docs/node-tracker/markdown/node-tracker.httpprotocol.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.linkclickevent.elementclasses.md b/api-docs/docs/node-tracker/markdown/node-tracker.linkclickevent.elementclasses.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.linkclickevent.elementclasses.md rename to api-docs/docs/node-tracker/markdown/node-tracker.linkclickevent.elementclasses.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.linkclickevent.elementcontent.md b/api-docs/docs/node-tracker/markdown/node-tracker.linkclickevent.elementcontent.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.linkclickevent.elementcontent.md rename to api-docs/docs/node-tracker/markdown/node-tracker.linkclickevent.elementcontent.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.linkclickevent.elementid.md b/api-docs/docs/node-tracker/markdown/node-tracker.linkclickevent.elementid.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.linkclickevent.elementid.md rename to api-docs/docs/node-tracker/markdown/node-tracker.linkclickevent.elementid.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.linkclickevent.elementtarget.md b/api-docs/docs/node-tracker/markdown/node-tracker.linkclickevent.elementtarget.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.linkclickevent.elementtarget.md rename to api-docs/docs/node-tracker/markdown/node-tracker.linkclickevent.elementtarget.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.linkclickevent.md b/api-docs/docs/node-tracker/markdown/node-tracker.linkclickevent.md similarity index 95% rename from trackers/node-tracker/docs/markdown/node-tracker.linkclickevent.md rename to api-docs/docs/node-tracker/markdown/node-tracker.linkclickevent.md index 07a6312e0..4ec30914a 100644 --- a/trackers/node-tracker/docs/markdown/node-tracker.linkclickevent.md +++ b/api-docs/docs/node-tracker/markdown/node-tracker.linkclickevent.md @@ -4,7 +4,7 @@ ## LinkClickEvent interface -A Link Click Event Used when a user clicks on a link on a webpage, typically an anchor tag +A Link Click Event Used when a user clicks on a link on a webpage, typically an anchor tag `` Signature: diff --git a/trackers/node-tracker/docs/markdown/node-tracker.linkclickevent.targeturl.md b/api-docs/docs/node-tracker/markdown/node-tracker.linkclickevent.targeturl.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.linkclickevent.targeturl.md rename to api-docs/docs/node-tracker/markdown/node-tracker.linkclickevent.targeturl.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.md b/api-docs/docs/node-tracker/markdown/node-tracker.md similarity index 97% rename from trackers/node-tracker/docs/markdown/node-tracker.md rename to api-docs/docs/node-tracker/markdown/node-tracker.md index 82ddbc525..6802206e8 100644 --- a/trackers/node-tracker/docs/markdown/node-tracker.md +++ b/api-docs/docs/node-tracker/markdown/node-tracker.md @@ -25,7 +25,7 @@ | [buildEcommerceTransactionItem(event)](./node-tracker.buildecommercetransactionitem.md) | Build an Ecommerce Transaction Item Event Related to the [buildEcommerceTransaction()](./node-tracker.buildecommercetransaction.md) Each Ecommerce Transaction may contain one or more EcommerceTransactionItem events | | [buildFormFocusOrChange(event)](./node-tracker.buildformfocusorchange.md) | Build a Form Focus or Change Form Event based on schema property When a user focuses on a form element or when a user makes a change to a form element. | | [buildFormSubmission(event)](./node-tracker.buildformsubmission.md) | Build a Form Submission Event Used to track when a user submits a form | -| [buildLinkClick(event)](./node-tracker.buildlinkclick.md) | Build a Link Click Event Used when a user clicks on a link on a webpage, typically an anchor tag | +| [buildLinkClick(event)](./node-tracker.buildlinkclick.md) | Build a Link Click Event Used when a user clicks on a link on a webpage, typically an anchor tag `` | | [buildPagePing(event)](./node-tracker.buildpageping.md) | Build 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 | | [buildPageView(event)](./node-tracker.buildpageview.md) | Build 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). | | [buildRemoveFromCart(event)](./node-tracker.buildremovefromcart.md) | Build a Remove From Cart Event For tracking users removing items from a cart on an ecommerce site. | @@ -55,7 +55,7 @@ | [Emitter](./node-tracker.emitter.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 | +| [LinkClickEvent](./node-tracker.linkclickevent.md) | A Link Click Event Used when a user clicks on a link on a webpage, typically an anchor tag `` | | [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 | @@ -80,6 +80,6 @@ | [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 | | [Payload](./node-tracker.payload.md) | Type for a Payload dictionary | -| [SelfDescribingJson](./node-tracker.selfdescribingjson.md) | export interface for any Self-Describing JSON such as context or Self Describing events | +| [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/trackers/node-tracker/docs/markdown/node-tracker.pagepingevent.maxxoffset.md b/api-docs/docs/node-tracker/markdown/node-tracker.pagepingevent.maxxoffset.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.pagepingevent.maxxoffset.md rename to api-docs/docs/node-tracker/markdown/node-tracker.pagepingevent.maxxoffset.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.pagepingevent.maxyoffset.md b/api-docs/docs/node-tracker/markdown/node-tracker.pagepingevent.maxyoffset.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.pagepingevent.maxyoffset.md rename to api-docs/docs/node-tracker/markdown/node-tracker.pagepingevent.maxyoffset.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.pagepingevent.md b/api-docs/docs/node-tracker/markdown/node-tracker.pagepingevent.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.pagepingevent.md rename to api-docs/docs/node-tracker/markdown/node-tracker.pagepingevent.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.pagepingevent.minxoffset.md b/api-docs/docs/node-tracker/markdown/node-tracker.pagepingevent.minxoffset.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.pagepingevent.minxoffset.md rename to api-docs/docs/node-tracker/markdown/node-tracker.pagepingevent.minxoffset.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.pagepingevent.minyoffset.md b/api-docs/docs/node-tracker/markdown/node-tracker.pagepingevent.minyoffset.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.pagepingevent.minyoffset.md rename to api-docs/docs/node-tracker/markdown/node-tracker.pagepingevent.minyoffset.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.pageviewevent.md b/api-docs/docs/node-tracker/markdown/node-tracker.pageviewevent.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.pageviewevent.md rename to api-docs/docs/node-tracker/markdown/node-tracker.pageviewevent.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.pageviewevent.pagetitle.md b/api-docs/docs/node-tracker/markdown/node-tracker.pageviewevent.pagetitle.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.pageviewevent.pagetitle.md rename to api-docs/docs/node-tracker/markdown/node-tracker.pageviewevent.pagetitle.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.pageviewevent.pageurl.md b/api-docs/docs/node-tracker/markdown/node-tracker.pageviewevent.pageurl.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.pageviewevent.pageurl.md rename to api-docs/docs/node-tracker/markdown/node-tracker.pageviewevent.pageurl.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.pageviewevent.referrer.md b/api-docs/docs/node-tracker/markdown/node-tracker.pageviewevent.referrer.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.pageviewevent.referrer.md rename to api-docs/docs/node-tracker/markdown/node-tracker.pageviewevent.referrer.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.payload.md b/api-docs/docs/node-tracker/markdown/node-tracker.payload.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.payload.md rename to api-docs/docs/node-tracker/markdown/node-tracker.payload.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.payloadbuilder.add.md b/api-docs/docs/node-tracker/markdown/node-tracker.payloadbuilder.add.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.payloadbuilder.add.md rename to api-docs/docs/node-tracker/markdown/node-tracker.payloadbuilder.add.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.payloadbuilder.addcontextentity.md b/api-docs/docs/node-tracker/markdown/node-tracker.payloadbuilder.addcontextentity.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.payloadbuilder.addcontextentity.md rename to api-docs/docs/node-tracker/markdown/node-tracker.payloadbuilder.addcontextentity.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.payloadbuilder.adddict.md b/api-docs/docs/node-tracker/markdown/node-tracker.payloadbuilder.adddict.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.payloadbuilder.adddict.md rename to api-docs/docs/node-tracker/markdown/node-tracker.payloadbuilder.adddict.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.payloadbuilder.addjson.md b/api-docs/docs/node-tracker/markdown/node-tracker.payloadbuilder.addjson.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.payloadbuilder.addjson.md rename to api-docs/docs/node-tracker/markdown/node-tracker.payloadbuilder.addjson.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.payloadbuilder.build.md b/api-docs/docs/node-tracker/markdown/node-tracker.payloadbuilder.build.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.payloadbuilder.build.md rename to api-docs/docs/node-tracker/markdown/node-tracker.payloadbuilder.build.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.payloadbuilder.getjson.md b/api-docs/docs/node-tracker/markdown/node-tracker.payloadbuilder.getjson.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.payloadbuilder.getjson.md rename to api-docs/docs/node-tracker/markdown/node-tracker.payloadbuilder.getjson.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.payloadbuilder.getpayload.md b/api-docs/docs/node-tracker/markdown/node-tracker.payloadbuilder.getpayload.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.payloadbuilder.getpayload.md rename to api-docs/docs/node-tracker/markdown/node-tracker.payloadbuilder.getpayload.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.payloadbuilder.md b/api-docs/docs/node-tracker/markdown/node-tracker.payloadbuilder.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.payloadbuilder.md rename to api-docs/docs/node-tracker/markdown/node-tracker.payloadbuilder.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.payloadbuilder.withjsonprocessor.md b/api-docs/docs/node-tracker/markdown/node-tracker.payloadbuilder.withjsonprocessor.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.payloadbuilder.withjsonprocessor.md rename to api-docs/docs/node-tracker/markdown/node-tracker.payloadbuilder.withjsonprocessor.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.removefromcartevent.category.md b/api-docs/docs/node-tracker/markdown/node-tracker.removefromcartevent.category.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.removefromcartevent.category.md rename to api-docs/docs/node-tracker/markdown/node-tracker.removefromcartevent.category.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.removefromcartevent.currency.md b/api-docs/docs/node-tracker/markdown/node-tracker.removefromcartevent.currency.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.removefromcartevent.currency.md rename to api-docs/docs/node-tracker/markdown/node-tracker.removefromcartevent.currency.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.removefromcartevent.md b/api-docs/docs/node-tracker/markdown/node-tracker.removefromcartevent.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.removefromcartevent.md rename to api-docs/docs/node-tracker/markdown/node-tracker.removefromcartevent.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.removefromcartevent.name.md b/api-docs/docs/node-tracker/markdown/node-tracker.removefromcartevent.name.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.removefromcartevent.name.md rename to api-docs/docs/node-tracker/markdown/node-tracker.removefromcartevent.name.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.removefromcartevent.quantity.md b/api-docs/docs/node-tracker/markdown/node-tracker.removefromcartevent.quantity.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.removefromcartevent.quantity.md rename to api-docs/docs/node-tracker/markdown/node-tracker.removefromcartevent.quantity.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.removefromcartevent.sku.md b/api-docs/docs/node-tracker/markdown/node-tracker.removefromcartevent.sku.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.removefromcartevent.sku.md rename to api-docs/docs/node-tracker/markdown/node-tracker.removefromcartevent.sku.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.removefromcartevent.unitprice.md b/api-docs/docs/node-tracker/markdown/node-tracker.removefromcartevent.unitprice.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.removefromcartevent.unitprice.md rename to api-docs/docs/node-tracker/markdown/node-tracker.removefromcartevent.unitprice.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.screenviewevent.id.md b/api-docs/docs/node-tracker/markdown/node-tracker.screenviewevent.id.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.screenviewevent.id.md rename to api-docs/docs/node-tracker/markdown/node-tracker.screenviewevent.id.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.screenviewevent.md b/api-docs/docs/node-tracker/markdown/node-tracker.screenviewevent.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.screenviewevent.md rename to api-docs/docs/node-tracker/markdown/node-tracker.screenviewevent.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.screenviewevent.name.md b/api-docs/docs/node-tracker/markdown/node-tracker.screenviewevent.name.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.screenviewevent.name.md rename to api-docs/docs/node-tracker/markdown/node-tracker.screenviewevent.name.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.selfdescribingevent.event.md b/api-docs/docs/node-tracker/markdown/node-tracker.selfdescribingevent.event.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.selfdescribingevent.event.md rename to api-docs/docs/node-tracker/markdown/node-tracker.selfdescribingevent.event.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.selfdescribingevent.md b/api-docs/docs/node-tracker/markdown/node-tracker.selfdescribingevent.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.selfdescribingevent.md rename to api-docs/docs/node-tracker/markdown/node-tracker.selfdescribingevent.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.selfdescribingjson.md b/api-docs/docs/node-tracker/markdown/node-tracker.selfdescribingjson.md similarity index 84% rename from trackers/node-tracker/docs/markdown/node-tracker.selfdescribingjson.md rename to api-docs/docs/node-tracker/markdown/node-tracker.selfdescribingjson.md index a107c6c06..7807f98f5 100644 --- a/trackers/node-tracker/docs/markdown/node-tracker.selfdescribingjson.md +++ b/api-docs/docs/node-tracker/markdown/node-tracker.selfdescribingjson.md @@ -4,7 +4,7 @@ ## SelfDescribingJson type -export interface for any Self-Describing JSON such as context or Self Describing events +Export interface for any Self-Describing JSON such as context or Self Describing events Signature: diff --git a/trackers/node-tracker/docs/markdown/node-tracker.sitesearchevent.filters.md b/api-docs/docs/node-tracker/markdown/node-tracker.sitesearchevent.filters.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.sitesearchevent.filters.md rename to api-docs/docs/node-tracker/markdown/node-tracker.sitesearchevent.filters.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.sitesearchevent.md b/api-docs/docs/node-tracker/markdown/node-tracker.sitesearchevent.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.sitesearchevent.md rename to api-docs/docs/node-tracker/markdown/node-tracker.sitesearchevent.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.sitesearchevent.pageresults.md b/api-docs/docs/node-tracker/markdown/node-tracker.sitesearchevent.pageresults.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.sitesearchevent.pageresults.md rename to api-docs/docs/node-tracker/markdown/node-tracker.sitesearchevent.pageresults.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.sitesearchevent.terms.md b/api-docs/docs/node-tracker/markdown/node-tracker.sitesearchevent.terms.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.sitesearchevent.terms.md rename to api-docs/docs/node-tracker/markdown/node-tracker.sitesearchevent.terms.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.sitesearchevent.totalresults.md b/api-docs/docs/node-tracker/markdown/node-tracker.sitesearchevent.totalresults.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.sitesearchevent.totalresults.md rename to api-docs/docs/node-tracker/markdown/node-tracker.sitesearchevent.totalresults.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.socialinteractionevent.action.md b/api-docs/docs/node-tracker/markdown/node-tracker.socialinteractionevent.action.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.socialinteractionevent.action.md rename to api-docs/docs/node-tracker/markdown/node-tracker.socialinteractionevent.action.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.socialinteractionevent.md b/api-docs/docs/node-tracker/markdown/node-tracker.socialinteractionevent.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.socialinteractionevent.md rename to api-docs/docs/node-tracker/markdown/node-tracker.socialinteractionevent.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.socialinteractionevent.network.md b/api-docs/docs/node-tracker/markdown/node-tracker.socialinteractionevent.network.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.socialinteractionevent.network.md rename to api-docs/docs/node-tracker/markdown/node-tracker.socialinteractionevent.network.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.socialinteractionevent.target.md b/api-docs/docs/node-tracker/markdown/node-tracker.socialinteractionevent.target.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.socialinteractionevent.target.md rename to api-docs/docs/node-tracker/markdown/node-tracker.socialinteractionevent.target.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.structuredevent.action.md b/api-docs/docs/node-tracker/markdown/node-tracker.structuredevent.action.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.structuredevent.action.md rename to api-docs/docs/node-tracker/markdown/node-tracker.structuredevent.action.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.structuredevent.category.md b/api-docs/docs/node-tracker/markdown/node-tracker.structuredevent.category.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.structuredevent.category.md rename to api-docs/docs/node-tracker/markdown/node-tracker.structuredevent.category.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.structuredevent.label.md b/api-docs/docs/node-tracker/markdown/node-tracker.structuredevent.label.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.structuredevent.label.md rename to api-docs/docs/node-tracker/markdown/node-tracker.structuredevent.label.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.structuredevent.md b/api-docs/docs/node-tracker/markdown/node-tracker.structuredevent.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.structuredevent.md rename to api-docs/docs/node-tracker/markdown/node-tracker.structuredevent.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.structuredevent.property.md b/api-docs/docs/node-tracker/markdown/node-tracker.structuredevent.property.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.structuredevent.property.md rename to api-docs/docs/node-tracker/markdown/node-tracker.structuredevent.property.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.structuredevent.value.md b/api-docs/docs/node-tracker/markdown/node-tracker.structuredevent.value.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.structuredevent.value.md rename to api-docs/docs/node-tracker/markdown/node-tracker.structuredevent.value.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.timestamp.md b/api-docs/docs/node-tracker/markdown/node-tracker.timestamp.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.timestamp.md rename to api-docs/docs/node-tracker/markdown/node-tracker.timestamp.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.tracker.md b/api-docs/docs/node-tracker/markdown/node-tracker.tracker.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.tracker.md rename to api-docs/docs/node-tracker/markdown/node-tracker.tracker.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.tracker.setdomainuserid.md b/api-docs/docs/node-tracker/markdown/node-tracker.tracker.setdomainuserid.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.tracker.setdomainuserid.md rename to api-docs/docs/node-tracker/markdown/node-tracker.tracker.setdomainuserid.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.tracker.setnetworkuserid.md b/api-docs/docs/node-tracker/markdown/node-tracker.tracker.setnetworkuserid.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.tracker.setnetworkuserid.md rename to api-docs/docs/node-tracker/markdown/node-tracker.tracker.setnetworkuserid.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.tracker.setsessionid.md b/api-docs/docs/node-tracker/markdown/node-tracker.tracker.setsessionid.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.tracker.setsessionid.md rename to api-docs/docs/node-tracker/markdown/node-tracker.tracker.setsessionid.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.tracker.setsessionindex.md b/api-docs/docs/node-tracker/markdown/node-tracker.tracker.setsessionindex.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.tracker.setsessionindex.md rename to api-docs/docs/node-tracker/markdown/node-tracker.tracker.setsessionindex.md diff --git a/trackers/node-tracker/docs/markdown/node-tracker.version.md b/api-docs/docs/node-tracker/markdown/node-tracker.version.md similarity index 100% rename from trackers/node-tracker/docs/markdown/node-tracker.version.md rename to api-docs/docs/node-tracker/markdown/node-tracker.version.md diff --git a/trackers/node-tracker/docs/node-tracker.api.md b/api-docs/docs/node-tracker/node-tracker.api.md similarity index 100% rename from trackers/node-tracker/docs/node-tracker.api.md rename to api-docs/docs/node-tracker/node-tracker.api.md diff --git a/api-docs/docusaurus.config.js b/api-docs/docusaurus.config.js new file mode 100644 index 000000000..3c37c193c --- /dev/null +++ b/api-docs/docusaurus.config.js @@ -0,0 +1,100 @@ +// @ts-check +// `@type` JSDoc annotations allow editor autocompletion and type checking +// (when paired with `@ts-check`). +// There are various equivalent ways to declare your Docusaurus config. +// See: https://docusaurus.io/docs/api/docusaurus-config + +import { themes as prismThemes } from 'prism-react-renderer'; + +/** @type {import('@docusaurus/types').Config} */ +const config = { + title: 'Snowplow Javascript API Docs', + favicon: 'img/favicon.ico', + url: 'http://snowplow.github.io/', + baseUrl: '/snowplow-javascript-tracker/', + organizationName: 'snowplow', + projectName: 'snowplow-javascript-tracker', + onBrokenLinks: 'throw', + onBrokenMarkdownLinks: 'warn', + i18n: { + defaultLocale: 'en', + locales: ['en'], + }, + presets: [ + [ + 'classic', + /** @type {import('@docusaurus/preset-classic').Options} */ + ({ + docs: { + sidebarPath: './sidebars.js', + // Please change this to your repo. + }, + theme: { + customCss: './src/css/custom.css', + }, + }), + ], + ], + + themeConfig: + /** @type {import('@docusaurus/preset-classic').ThemeConfig} */ + ({ + navbar: { + title: 'API Docs', + logo: { + src: 'img/favicon.ico', + href: '/docs', + target: '_self', + }, + items: [ + { + href: 'https://github.com/snowplow/snowplow-javascript-tracker', + label: 'GitHub', + position: 'right', + }, + ], + }, + footer: { + style: 'dark', + links: [ + { + title: 'Docs', + items: [ + { + label: 'Snowplow JS Docs', + to: 'https://docs.snowplow.io/docs/collecting-data/collecting-from-own-applications/javascript-trackers/', + }, + ], + }, + { + title: 'Community', + items: [ + { + label: 'Discourse', + href: 'https://discourse.snowplow.io/', + }, + { + label: 'Website', + href: 'https://snowplow.io/', + }, + ], + }, + { + title: 'More', + items: [ + { + label: 'GitHub', + href: 'https://github.com/snowplow/snowplow-javascript-tracker', + }, + ], + }, + ], + }, + prism: { + theme: prismThemes.github, + darkTheme: prismThemes.dracula, + }, + }), +}; + +export default config; diff --git a/api-docs/package-lock.json b/api-docs/package-lock.json new file mode 100644 index 000000000..6654c9def --- /dev/null +++ b/api-docs/package-lock.json @@ -0,0 +1,14917 @@ +{ + "name": "api-docs", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "api-docs", + "version": "0.0.0", + "license": "ISC", + "dependencies": { + "@docusaurus/core": "3.0.0", + "@docusaurus/preset-classic": "3.0.0", + "@mdx-js/react": "^3.0.0", + "clsx": "^1.2.1", + "prism-react-renderer": "^2.1.0", + "react": "^18.0.0", + "react-dom": "^18.0.0" + }, + "devDependencies": { + "@docusaurus/module-type-aliases": "3.0.0", + "@docusaurus/types": "3.0.0" + }, + "engines": { + "node": ">=18.0" + } + }, + "node_modules/@algolia/autocomplete-core": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.9.3.tgz", + "integrity": "sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==", + "dependencies": { + "@algolia/autocomplete-plugin-algolia-insights": "1.9.3", + "@algolia/autocomplete-shared": "1.9.3" + } + }, + "node_modules/@algolia/autocomplete-plugin-algolia-insights": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.9.3.tgz", + "integrity": "sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg==", + "dependencies": { + "@algolia/autocomplete-shared": "1.9.3" + }, + "peerDependencies": { + "search-insights": ">= 1 < 3" + } + }, + "node_modules/@algolia/autocomplete-preset-algolia": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.9.3.tgz", + "integrity": "sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA==", + "dependencies": { + "@algolia/autocomplete-shared": "1.9.3" + }, + "peerDependencies": { + "@algolia/client-search": ">= 4.9.1 < 6", + "algoliasearch": ">= 4.9.1 < 6" + } + }, + "node_modules/@algolia/autocomplete-shared": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.9.3.tgz", + "integrity": "sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ==", + "peerDependencies": { + "@algolia/client-search": ">= 4.9.1 < 6", + "algoliasearch": ">= 4.9.1 < 6" + } + }, + "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==", + "dependencies": { + "@algolia/cache-common": "4.20.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==" + }, + "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==", + "dependencies": { + "@algolia/cache-common": "4.20.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==", + "dependencies": { + "@algolia/client-common": "4.20.0", + "@algolia/client-search": "4.20.0", + "@algolia/transporter": "4.20.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==", + "dependencies": { + "@algolia/client-common": "4.20.0", + "@algolia/client-search": "4.20.0", + "@algolia/requester-common": "4.20.0", + "@algolia/transporter": "4.20.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==", + "dependencies": { + "@algolia/requester-common": "4.20.0", + "@algolia/transporter": "4.20.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==", + "dependencies": { + "@algolia/client-common": "4.20.0", + "@algolia/requester-common": "4.20.0", + "@algolia/transporter": "4.20.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==", + "dependencies": { + "@algolia/client-common": "4.20.0", + "@algolia/requester-common": "4.20.0", + "@algolia/transporter": "4.20.0" + } + }, + "node_modules/@algolia/events": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@algolia/events/-/events-4.0.1.tgz", + "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==" + }, + "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==", + "dependencies": { + "@algolia/logger-common": "4.20.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==", + "dependencies": { + "@algolia/requester-common": "4.20.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==" + }, + "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==", + "dependencies": { + "@algolia/requester-common": "4.20.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==", + "dependencies": { + "@algolia/cache-common": "4.20.0", + "@algolia/logger-common": "4.20.0", + "@algolia/requester-common": "4.20.0" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.4.tgz", + "integrity": "sha512-r1IONyb6Ia+jYR2vvIDhdWdlTGhqbBoFqLTQidzZ4kepUFH15ejXvFHxCVbtl7BOXIudsIubf4E81xeA3h3IXA==", + "dependencies": { + "@babel/highlight": "^7.23.4", + "chalk": "^2.4.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/code-frame/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/code-frame/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/@babel/code-frame/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/code-frame/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.3.tgz", + "integrity": "sha512-BmR4bWbDIoFJmJ9z2cZ8Gmm2MXgEDgjdWgpKmKWUt54UGFJdlj31ECtbaDvCG/qVdG3AQ1SfpZEs01lUFbzLOQ==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.3.tgz", + "integrity": "sha512-Jg+msLuNuCJDyBvFv5+OKOUjWMZgd85bKjbICd3zWrKAo+bJ49HJufi7CQE0q0uR8NGyO6xkCACScNqyjHSZew==", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.22.13", + "@babel/generator": "^7.23.3", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helpers": "^7.23.2", + "@babel/parser": "^7.23.3", + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.3", + "@babel/types": "^7.23.3", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.4.tgz", + "integrity": "sha512-esuS49Cga3HcThFNebGhlgsrVLkvhqvYDTzgjfFFlHJcIfLe5jFmRRfCQ1KuBfc4Jrtn3ndLgKWAKjBE+IraYQ==", + "dependencies": { + "@babel/types": "^7.23.4", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", + "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz", + "integrity": "sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==", + "dependencies": { + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz", + "integrity": "sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==", + "dependencies": { + "@babel/compat-data": "^7.22.9", + "@babel/helper-validator-option": "^7.22.15", + "browserslist": "^4.21.9", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.15.tgz", + "integrity": "sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-member-expression-to-functions": "^7.22.15", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz", + "integrity": "sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "regexpu-core": "^5.3.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.3.tgz", + "integrity": "sha512-WBrLmuPP47n7PNwsZ57pqam6G/RGo1vw/87b0Blc53tZNGZ4x7YvZ6HgQe2vo1W/FR20OgjeZuGXzudPiXHFug==", + "dependencies": { + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", + "dependencies": { + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz", + "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==", + "dependencies": { + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", + "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", + "dependencies": { + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", + "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", + "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "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==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz", + "integrity": "sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-wrap-function": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz", + "integrity": "sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==", + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-member-expression-to-functions": "^7.22.15", + "@babel/helper-optimise-call-expression": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", + "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", + "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz", + "integrity": "sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz", + "integrity": "sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==", + "dependencies": { + "@babel/helper-function-name": "^7.22.5", + "@babel/template": "^7.22.15", + "@babel/types": "^7.22.19" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.4.tgz", + "integrity": "sha512-HfcMizYz10cr3h29VqyfGL6ZWIjTwWfvYBMsBVGwpcbhNGe3wQ1ZXZRPzZoAHhd9OqHadHqjQ89iVKINXnbzuw==", + "dependencies": { + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.4", + "@babel/types": "^7.23.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", + "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/@babel/highlight/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/parser": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.4.tgz", + "integrity": "sha512-vf3Xna6UEprW+7t6EtOmFpHNAuxw3xqPZghy+brsnusscJRW5BMUzzHZc5ICjULee81WeUV2jjakG09MDglJXQ==", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.23.3.tgz", + "integrity": "sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.23.3.tgz", + "integrity": "sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.23.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.23.3.tgz", + "integrity": "sha512-XaJak1qcityzrX0/IU5nKHb34VaibwP3saKqG6a/tppelgllOH13LUann4ZCIBcVOeE6H18K4Vx9QKkVww3z/w==", + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.23.3.tgz", + "integrity": "sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.23.3.tgz", + "integrity": "sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz", + "integrity": "sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz", + "integrity": "sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.23.3.tgz", + "integrity": "sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.4.tgz", + "integrity": "sha512-efdkfPhHYTtn0G6n2ddrESE91fgXxjlqLsnUtPWnJs4a4mZIbUaK7ffqKIIUKXSHwcDvaCVX6GXkaJJFqtX7jw==", + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.20", + "@babel/plugin-syntax-async-generators": "^7.8.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.23.3.tgz", + "integrity": "sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==", + "dependencies": { + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.23.3.tgz", + "integrity": "sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.4.tgz", + "integrity": "sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-properties": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.23.3.tgz", + "integrity": "sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.23.4.tgz", + "integrity": "sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.3.tgz", + "integrity": "sha512-FGEQmugvAEu2QtgtU0uTASXevfLMFfBeVCIIdcQhn/uBQsMTjBajdnAtanQlOcuihWh10PZ7+HWvc7NtBwP74w==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.20", + "@babel/helper-split-export-declaration": "^7.22.6", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.23.3.tgz", + "integrity": "sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/template": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.3.tgz", + "integrity": "sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.23.3.tgz", + "integrity": "sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.23.3.tgz", + "integrity": "sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.23.4.tgz", + "integrity": "sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.23.3.tgz", + "integrity": "sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==", + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.23.4.tgz", + "integrity": "sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.3.tgz", + "integrity": "sha512-X8jSm8X1CMwxmK878qsUGJRmbysKNbdpTv/O1/v0LuY/ZkZrng5WYiekYSdg9m09OTmDDUWeEDsTE+17WYbAZw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.23.3.tgz", + "integrity": "sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==", + "dependencies": { + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-json-strings": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.23.4.tgz", + "integrity": "sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-json-strings": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.23.3.tgz", + "integrity": "sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.23.4.tgz", + "integrity": "sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.23.3.tgz", + "integrity": "sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.3.tgz", + "integrity": "sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==", + "dependencies": { + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz", + "integrity": "sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==", + "dependencies": { + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.3.tgz", + "integrity": "sha512-ZxyKGTkF9xT9YJuKQRo19ewf3pXpopuYQd8cDXqNzc3mUNbOME0RKMoZxviQk74hwzfQsEe66dE92MaZbdHKNQ==", + "dependencies": { + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.23.3.tgz", + "integrity": "sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==", + "dependencies": { + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", + "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.23.3.tgz", + "integrity": "sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.23.4.tgz", + "integrity": "sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.23.4.tgz", + "integrity": "sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.23.4.tgz", + "integrity": "sha512-9x9K1YyeQVw0iOXJlIzwm8ltobIIv7j2iLyP2jIhEbqPRQ7ScNgwQufU2I0Gq11VjyG4gI4yMXt2VFags+1N3g==", + "dependencies": { + "@babel/compat-data": "^7.23.3", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.23.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.23.3.tgz", + "integrity": "sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.23.4.tgz", + "integrity": "sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.4.tgz", + "integrity": "sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz", + "integrity": "sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-methods": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.23.3.tgz", + "integrity": "sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.23.4.tgz", + "integrity": "sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.23.3.tgz", + "integrity": "sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "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==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-display-name": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.23.3.tgz", + "integrity": "sha512-GnvhtVfA2OAtzdX58FJxU19rhoGeQzyVndw3GgtdECQvQFXPEZIOVULHVZGAYmOgmqjXpVpfocAbSjh99V/Fqw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.23.4.tgz", + "integrity": "sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-jsx": "^7.23.3", + "@babel/types": "^7.23.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-development": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz", + "integrity": "sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==", + "dependencies": { + "@babel/plugin-transform-react-jsx": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-pure-annotations": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.23.3.tgz", + "integrity": "sha512-qMFdSS+TUhB7Q/3HVPnEdYJDQIk57jkntAwSuz9xfSE4n+3I+vHYCli3HoHawN1Z3RfCz/y1zXA/JXjG6cVImQ==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.23.3.tgz", + "integrity": "sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "regenerator-transform": "^0.15.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.23.3.tgz", + "integrity": "sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.23.4.tgz", + "integrity": "sha512-ITwqpb6V4btwUG0YJR82o2QvmWrLgDnx/p2A3CTPYGaRgULkDiC0DRA2C4jlRB9uXGUEfaSS/IGHfVW+ohzYDw==", + "dependencies": { + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "babel-plugin-polyfill-corejs2": "^0.4.6", + "babel-plugin-polyfill-corejs3": "^0.8.5", + "babel-plugin-polyfill-regenerator": "^0.5.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz", + "integrity": "sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.23.3.tgz", + "integrity": "sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.23.3.tgz", + "integrity": "sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.23.3.tgz", + "integrity": "sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.23.3.tgz", + "integrity": "sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.23.4.tgz", + "integrity": "sha512-39hCCOl+YUAyMOu6B9SmUTiHUU0t/CxJNUmY3qRdJujbqi+lrQcL11ysYUsAvFWPBdhihrv1z0oRG84Yr3dODQ==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-typescript": "^7.23.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.23.3.tgz", + "integrity": "sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-property-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.23.3.tgz", + "integrity": "sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.23.3.tgz", + "integrity": "sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-sets-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.23.3.tgz", + "integrity": "sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.23.3.tgz", + "integrity": "sha512-ovzGc2uuyNfNAs/jyjIGxS8arOHS5FENZaNn4rtE7UdKMMkqHCvboHfcuhWLZNX5cB44QfcGNWjaevxMzzMf+Q==", + "dependencies": { + "@babel/compat-data": "^7.23.3", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.15", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.23.3", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.23.3", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.23.3", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.23.3", + "@babel/plugin-syntax-import-attributes": "^7.23.3", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.23.3", + "@babel/plugin-transform-async-generator-functions": "^7.23.3", + "@babel/plugin-transform-async-to-generator": "^7.23.3", + "@babel/plugin-transform-block-scoped-functions": "^7.23.3", + "@babel/plugin-transform-block-scoping": "^7.23.3", + "@babel/plugin-transform-class-properties": "^7.23.3", + "@babel/plugin-transform-class-static-block": "^7.23.3", + "@babel/plugin-transform-classes": "^7.23.3", + "@babel/plugin-transform-computed-properties": "^7.23.3", + "@babel/plugin-transform-destructuring": "^7.23.3", + "@babel/plugin-transform-dotall-regex": "^7.23.3", + "@babel/plugin-transform-duplicate-keys": "^7.23.3", + "@babel/plugin-transform-dynamic-import": "^7.23.3", + "@babel/plugin-transform-exponentiation-operator": "^7.23.3", + "@babel/plugin-transform-export-namespace-from": "^7.23.3", + "@babel/plugin-transform-for-of": "^7.23.3", + "@babel/plugin-transform-function-name": "^7.23.3", + "@babel/plugin-transform-json-strings": "^7.23.3", + "@babel/plugin-transform-literals": "^7.23.3", + "@babel/plugin-transform-logical-assignment-operators": "^7.23.3", + "@babel/plugin-transform-member-expression-literals": "^7.23.3", + "@babel/plugin-transform-modules-amd": "^7.23.3", + "@babel/plugin-transform-modules-commonjs": "^7.23.3", + "@babel/plugin-transform-modules-systemjs": "^7.23.3", + "@babel/plugin-transform-modules-umd": "^7.23.3", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", + "@babel/plugin-transform-new-target": "^7.23.3", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.23.3", + "@babel/plugin-transform-numeric-separator": "^7.23.3", + "@babel/plugin-transform-object-rest-spread": "^7.23.3", + "@babel/plugin-transform-object-super": "^7.23.3", + "@babel/plugin-transform-optional-catch-binding": "^7.23.3", + "@babel/plugin-transform-optional-chaining": "^7.23.3", + "@babel/plugin-transform-parameters": "^7.23.3", + "@babel/plugin-transform-private-methods": "^7.23.3", + "@babel/plugin-transform-private-property-in-object": "^7.23.3", + "@babel/plugin-transform-property-literals": "^7.23.3", + "@babel/plugin-transform-regenerator": "^7.23.3", + "@babel/plugin-transform-reserved-words": "^7.23.3", + "@babel/plugin-transform-shorthand-properties": "^7.23.3", + "@babel/plugin-transform-spread": "^7.23.3", + "@babel/plugin-transform-sticky-regex": "^7.23.3", + "@babel/plugin-transform-template-literals": "^7.23.3", + "@babel/plugin-transform-typeof-symbol": "^7.23.3", + "@babel/plugin-transform-unicode-escapes": "^7.23.3", + "@babel/plugin-transform-unicode-property-regex": "^7.23.3", + "@babel/plugin-transform-unicode-regex": "^7.23.3", + "@babel/plugin-transform-unicode-sets-regex": "^7.23.3", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "babel-plugin-polyfill-corejs2": "^0.4.6", + "babel-plugin-polyfill-corejs3": "^0.8.5", + "babel-plugin-polyfill-regenerator": "^0.5.3", + "core-js-compat": "^3.31.0", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/preset-react": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.23.3.tgz", + "integrity": "sha512-tbkHOS9axH6Ysf2OUEqoSZ6T3Fa2SrNH6WTWSPBboxKzdxNc9qOICeLXkNG0ZEwbQ1HY8liwOce4aN/Ceyuq6w==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.15", + "@babel/plugin-transform-react-display-name": "^7.23.3", + "@babel/plugin-transform-react-jsx": "^7.22.15", + "@babel/plugin-transform-react-jsx-development": "^7.22.5", + "@babel/plugin-transform-react-pure-annotations": "^7.23.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-typescript": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.23.3.tgz", + "integrity": "sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.15", + "@babel/plugin-syntax-jsx": "^7.23.3", + "@babel/plugin-transform-modules-commonjs": "^7.23.3", + "@babel/plugin-transform-typescript": "^7.23.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==" + }, + "node_modules/@babel/runtime": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.4.tgz", + "integrity": "sha512-2Yv65nlWnWlSpe3fXEyX5i7fx5kIKo4Qbcj+hMO0odwaneFjfXw5fdum+4yL20O0QiaHpia0cYQ9xpNMqrBwHg==", + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/runtime-corejs3": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.23.4.tgz", + "integrity": "sha512-zQyB4MJGM+rvd4pM58n26kf3xbiitw9MHzL8oLiBMKb8MCtVDfV5nDzzJWWzLMtbvKI9wN6XwJYl479qF4JluQ==", + "dependencies": { + "core-js-pure": "^3.30.2", + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", + "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", + "dependencies": { + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.4.tgz", + "integrity": "sha512-IYM8wSUwunWTB6tFC2dkKZhxbIjHoWemdK+3f8/wq8aKhbUscxD5MX72ubd90fxvFknaLPeGw5ycU84V1obHJg==", + "dependencies": { + "@babel/code-frame": "^7.23.4", + "@babel/generator": "^7.23.4", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.23.4", + "@babel/types": "^7.23.4", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.4.tgz", + "integrity": "sha512-7uIFwVYpoplT5jp/kVv6EF93VaJ8H+Yn5IczYiaAi98ajzjfoZfslet/e0sLh+wVBjb2qqIut1b0S26VSafsSQ==", + "dependencies": { + "@babel/helper-string-parser": "^7.23.4", + "@babel/helper-validator-identifier": "^7.22.20", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@colors/colors": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", + "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", + "optional": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/@discoveryjs/json-ext": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/@docsearch/css": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.5.2.tgz", + "integrity": "sha512-SPiDHaWKQZpwR2siD0KQUwlStvIAnEyK6tAE2h2Wuoq8ue9skzhlyVQ1ddzOxX6khULnAALDiR/isSF3bnuciA==" + }, + "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==", + "dependencies": { + "@algolia/autocomplete-core": "1.9.3", + "@algolia/autocomplete-preset-algolia": "1.9.3", + "@docsearch/css": "3.5.2", + "algoliasearch": "^4.19.1" + }, + "peerDependencies": { + "@types/react": ">= 16.8.0 < 19.0.0", + "react": ">= 16.8.0 < 19.0.0", + "react-dom": ">= 16.8.0 < 19.0.0", + "search-insights": ">= 1 < 3" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "react": { + "optional": true + }, + "react-dom": { + "optional": true + }, + "search-insights": { + "optional": true + } + } + }, + "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==", + "dependencies": { + "@babel/core": "^7.22.9", + "@babel/generator": "^7.22.9", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-transform-runtime": "^7.22.9", + "@babel/preset-env": "^7.22.9", + "@babel/preset-react": "^7.22.5", + "@babel/preset-typescript": "^7.22.5", + "@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", + "autoprefixer": "^10.4.14", + "babel-loader": "^9.1.3", + "babel-plugin-dynamic-import-node": "^2.3.3", + "boxen": "^6.2.1", + "chalk": "^4.1.2", + "chokidar": "^3.5.3", + "clean-css": "^5.3.2", + "cli-table3": "^0.6.3", + "combine-promises": "^1.1.0", + "commander": "^5.1.0", + "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", + "del": "^6.1.1", + "detect-port": "^1.5.1", + "escape-html": "^1.0.3", + "eta": "^2.2.0", + "file-loader": "^6.2.0", + "fs-extra": "^11.1.1", + "html-minifier-terser": "^7.2.0", + "html-tags": "^3.3.1", + "html-webpack-plugin": "^5.5.3", + "leven": "^3.1.0", + "lodash": "^4.17.21", + "mini-css-extract-plugin": "^2.7.6", + "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-ssr-addon-v5-slorber": "^1.0.1", + "react-router": "^5.3.4", + "react-router-config": "^5.1.1", + "react-router-dom": "^5.3.4", + "rtl-detect": "^1.0.4", + "semver": "^7.5.4", + "serve-handler": "^6.1.5", + "shelljs": "^0.8.5", + "terser-webpack-plugin": "^5.3.9", + "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", + "webpack-merge": "^5.9.0", + "webpackbar": "^5.0.2" + }, + "bin": { + "docusaurus": "bin/docusaurus.mjs" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "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==", + "dependencies": { + "cssnano-preset-advanced": "^5.3.10", + "postcss": "^8.4.26", + "postcss-sort-media-queries": "^4.4.1", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + } + }, + "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==", + "dependencies": { + "chalk": "^4.1.2", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + } + }, + "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==", + "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", + "@mdx-js/mdx": "^3.0.0", + "@slorber/remark-comment": "^1.0.0", + "escape-html": "^1.0.3", + "estree-util-value-to-estree": "^3.0.1", + "file-loader": "^6.2.0", + "fs-extra": "^11.1.1", + "image-size": "^1.0.2", + "mdast-util-mdx": "^3.0.0", + "mdast-util-to-string": "^4.0.0", + "rehype-raw": "^7.0.0", + "remark-directive": "^3.0.0", + "remark-emoji": "^4.0.0", + "remark-frontmatter": "^5.0.0", + "remark-gfm": "^4.0.0", + "stringify-object": "^3.3.0", + "tslib": "^2.6.0", + "unified": "^11.0.3", + "unist-util-visit": "^5.0.0", + "url-loader": "^4.1.1", + "vfile": "^6.0.1", + "webpack": "^5.88.1" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "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==", + "dependencies": { + "@docusaurus/react-loadable": "5.5.2", + "@docusaurus/types": "3.0.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" + }, + "peerDependencies": { + "react": "*", + "react-dom": "*" + } + }, + "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", + "cheerio": "^1.0.0-rc.12", + "feed": "^4.2.2", + "fs-extra": "^11.1.1", + "lodash": "^4.17.21", + "reading-time": "^1.5.0", + "srcset": "^4.0.0", + "tslib": "^2.6.0", + "unist-util-visit": "^5.0.0", + "utility-types": "^3.10.0", + "webpack": "^5.88.1" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "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", + "@types/react-router-config": "^5.0.7", + "combine-promises": "^1.1.0", + "fs-extra": "^11.1.1", + "js-yaml": "^4.1.0", + "lodash": "^4.17.21", + "tslib": "^2.6.0", + "utility-types": "^3.10.0", + "webpack": "^5.88.1" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "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", + "fs-extra": "^11.1.1", + "tslib": "^2.6.0", + "webpack": "^5.88.1" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "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==", + "dependencies": { + "@docusaurus/core": "3.0.0", + "@docusaurus/types": "3.0.0", + "@docusaurus/utils": "3.0.0", + "@microlink/react-json-view": "^1.22.2", + "fs-extra": "^11.1.1", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "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==", + "dependencies": { + "@docusaurus/core": "3.0.0", + "@docusaurus/types": "3.0.0", + "@docusaurus/utils-validation": "3.0.0", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "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==", + "dependencies": { + "@docusaurus/core": "3.0.0", + "@docusaurus/types": "3.0.0", + "@docusaurus/utils-validation": "3.0.0", + "@types/gtag.js": "^0.0.12", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "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==", + "dependencies": { + "@docusaurus/core": "3.0.0", + "@docusaurus/types": "3.0.0", + "@docusaurus/utils-validation": "3.0.0", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "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", + "fs-extra": "^11.1.1", + "sitemap": "^7.1.1", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "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" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "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", + "@mdx-js/react": "^3.0.0", + "clsx": "^1.2.1", + "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", + "prismjs": "^1.29.0", + "react-router-dom": "^5.3.4", + "rtlcss": "^4.1.0", + "tslib": "^2.6.0", + "utility-types": "^3.10.0" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "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", + "@types/history": "^4.7.11", + "@types/react": "*", + "@types/react-router-config": "*", + "clsx": "^1.2.1", + "parse-numeric-range": "^1.3.0", + "prism-react-renderer": "^2.1.0", + "tslib": "^2.6.0", + "utility-types": "^3.10.0" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "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==", + "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", + "algoliasearch": "^4.18.0", + "algoliasearch-helper": "^3.13.3", + "clsx": "^1.2.1", + "eta": "^2.2.0", + "fs-extra": "^11.1.1", + "lodash": "^4.17.21", + "tslib": "^2.6.0", + "utility-types": "^3.10.0" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "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==", + "dependencies": { + "fs-extra": "^11.1.1", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + } + }, + "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==", + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*", + "commander": "^5.1.0", + "joi": "^17.9.2", + "react-helmet-async": "^1.3.0", + "utility-types": "^3.10.0", + "webpack": "^5.88.1", + "webpack-merge": "^5.9.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "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==", + "dependencies": { + "@docusaurus/logger": "3.0.0", + "@svgr/webpack": "^6.5.1", + "escape-string-regexp": "^4.0.0", + "file-loader": "^6.2.0", + "fs-extra": "^11.1.1", + "github-slugger": "^1.5.0", + "globby": "^11.1.0", + "gray-matter": "^4.0.3", + "jiti": "^1.20.0", + "js-yaml": "^4.1.0", + "lodash": "^4.17.21", + "micromatch": "^4.0.5", + "resolve-pathname": "^3.0.0", + "shelljs": "^0.8.5", + "tslib": "^2.6.0", + "url-loader": "^4.1.1", + "webpack": "^5.88.1" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "@docusaurus/types": "*" + }, + "peerDependenciesMeta": { + "@docusaurus/types": { + "optional": true + } + } + }, + "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==", + "dependencies": { + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "@docusaurus/types": "*" + }, + "peerDependenciesMeta": { + "@docusaurus/types": { + "optional": true + } + } + }, + "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", + "joi": "^17.9.2", + "js-yaml": "^4.1.0", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + } + }, + "node_modules/@hapi/hoek": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", + "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==" + }, + "node_modules/@hapi/topo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", + "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", + "dependencies": { + "@hapi/hoek": "^9.0.0" + } + }, + "node_modules/@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "dependencies": { + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", + "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.20", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", + "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@leichtgewicht/ip-codec": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", + "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==", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdx": "^2.0.0", + "collapse-white-space": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-build-jsx": "^3.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "estree-util-to-js": "^2.0.0", + "estree-walker": "^3.0.0", + "hast-util-to-estree": "^3.0.0", + "hast-util-to-jsx-runtime": "^2.0.0", + "markdown-extensions": "^2.0.0", + "periscopic": "^3.0.0", + "remark-mdx": "^3.0.0", + "remark-parse": "^11.0.0", + "remark-rehype": "^11.0.0", + "source-map": "^0.7.0", + "unified": "^11.0.0", + "unist-util-position-from-estree": "^2.0.0", + "unist-util-stringify-position": "^4.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "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==", + "dependencies": { + "@types/mdx": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "peerDependencies": { + "@types/react": ">=16", + "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", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@pnpm/config.env-replace": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@pnpm/config.env-replace/-/config.env-replace-1.1.0.tgz", + "integrity": "sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==", + "engines": { + "node": ">=12.22.0" + } + }, + "node_modules/@pnpm/network.ca-file": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@pnpm/network.ca-file/-/network.ca-file-1.0.2.tgz", + "integrity": "sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==", + "dependencies": { + "graceful-fs": "4.2.10" + }, + "engines": { + "node": ">=12.22.0" + } + }, + "node_modules/@pnpm/network.ca-file/node_modules/graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" + }, + "node_modules/@pnpm/npm-conf": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@pnpm/npm-conf/-/npm-conf-2.2.2.tgz", + "integrity": "sha512-UA91GwWPhFExt3IizW6bOeY/pQ0BkuNwKjk9iQW9KqxluGCrg4VenZ0/L+2Y0+ZOtme72EVvg6v0zo3AMQRCeA==", + "dependencies": { + "@pnpm/config.env-replace": "^1.1.0", + "@pnpm/network.ca-file": "^1.0.1", + "config-chain": "^1.1.11" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@polka/url": { + "version": "1.0.0-next.23", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.23.tgz", + "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==", + "dependencies": { + "@hapi/hoek": "^9.0.0" + } + }, + "node_modules/@sideway/formula": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz", + "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==" + }, + "node_modules/@sideway/pinpoint": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", + "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==" + }, + "node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==" + }, + "node_modules/@sindresorhus/is": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", + "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/is?sponsor=1" + } + }, + "node_modules/@slorber/remark-comment": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@slorber/remark-comment/-/remark-comment-1.0.0.tgz", + "integrity": "sha512-RCE24n7jsOj1M0UPvIQCHTe7fI0sFL4S2nwKVWwHyVr/wI/H8GosgsJGyhnsZoGFnD/P2hLf1mSbrrgSLN93NA==", + "dependencies": { + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.1.0", + "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==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-attribute": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz", + "integrity": "sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz", + "integrity": "sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "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==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "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==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "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==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "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==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "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==", + "engines": { + "node": ">=12" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "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==", + "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" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "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==", + "dependencies": { + "@babel/core": "^7.19.6", + "@svgr/babel-preset": "^6.5.1", + "@svgr/plugin-jsx": "^6.5.1", + "camelcase": "^6.2.0", + "cosmiconfig": "^7.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "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==", + "dependencies": { + "@babel/types": "^7.20.0", + "entities": "^4.4.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "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==", + "dependencies": { + "@babel/core": "^7.19.6", + "@svgr/babel-preset": "^6.5.1", + "@svgr/hast-util-to-babel-ast": "^6.5.1", + "svg-parser": "^2.0.4" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@svgr/core": "^6.0.0" + } + }, + "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==", + "dependencies": { + "cosmiconfig": "^7.0.1", + "deepmerge": "^4.2.2", + "svgo": "^2.8.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@svgr/core": "*" + } + }, + "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==", + "dependencies": { + "@babel/core": "^7.19.6", + "@babel/plugin-transform-react-constant-elements": "^7.18.12", + "@babel/preset-env": "^7.19.4", + "@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" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@szmarczak/http-timer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-5.0.1.tgz", + "integrity": "sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==", + "dependencies": { + "defer-to-connect": "^2.0.1" + }, + "engines": { + "node": ">=14.16" + } + }, + "node_modules/@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@types/acorn": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@types/acorn/-/acorn-4.0.6.tgz", + "integrity": "sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==", + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/@types/body-parser": { + "version": "1.19.5", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", + "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==", + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/bonjour": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.13.tgz", + "integrity": "sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect": { + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", + "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect-history-api-fallback": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz", + "integrity": "sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==", + "dependencies": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, + "node_modules/@types/debug": { + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", + "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", + "dependencies": { + "@types/ms": "*" + } + }, + "node_modules/@types/eslint": { + "version": "8.44.7", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.7.tgz", + "integrity": "sha512-f5ORu2hcBbKei97U73mf+l9t4zTGl74IqZ0GQk4oVea/VS8tQZYkUveSYojk+frraAVYId0V2WC9O4PTNru2FQ==", + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "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==", + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/@types/express": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz", + "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==", + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "4.17.41", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.41.tgz", + "integrity": "sha512-OaJ7XLaelTgrvlZD8/aa0vvvxZdUmlCn6MtWeB7TkiKW70BQLc9XEPpDLPdbo52ZhXUCrznlWdCHWxJWtdyajA==", + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "node_modules/@types/gtag.js": { + "version": "0.0.12", + "resolved": "https://registry.npmjs.org/@types/gtag.js/-/gtag.js-0.0.12.tgz", + "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==", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/history": { + "version": "4.7.11", + "resolved": "https://registry.npmjs.org/@types/history/-/history-4.7.11.tgz", + "integrity": "sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==" + }, + "node_modules/@types/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==" + }, + "node_modules/@types/http-cache-semantics": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz", + "integrity": "sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==" + }, + "node_modules/@types/http-errors": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", + "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==" + }, + "node_modules/@types/http-proxy": { + "version": "1.17.14", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.14.tgz", + "integrity": "sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==" + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", + "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "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==", + "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==" + }, + "node_modules/@types/mime": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", + "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==" + }, + "node_modules/@types/ms": { + "version": "0.7.34", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.34.tgz", + "integrity": "sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==" + }, + "node_modules/@types/node": { + "version": "20.10.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.0.tgz", + "integrity": "sha512-D0WfRmU9TQ8I9PFx9Yc+EBHw+vSpIub4IDvQivcp26PtPrdMGAq5SDcpXEo/epqa/DXotVpekHiLNTg3iaKXBQ==", + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@types/node-forge": { + "version": "1.3.10", + "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.10.tgz", + "integrity": "sha512-y6PJDYN4xYBxwd22l+OVH35N+1fCYWiuC3aiP2SlXVE6Lo7SS+rSx9r89hLxrP4pn6n1lBGhHJ12pj3F3Mpttw==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/parse-json": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", + "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==" + }, + "node_modules/@types/prop-types": { + "version": "15.7.11", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.11.tgz", + "integrity": "sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==" + }, + "node_modules/@types/qs": { + "version": "6.9.10", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.10.tgz", + "integrity": "sha512-3Gnx08Ns1sEoCrWssEgTSJs/rsT2vhGP+Ja9cnnk9k4ALxinORlQneLXFeFKOTJMOeZUFD1s7w+w2AphTpvzZw==" + }, + "node_modules/@types/range-parser": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", + "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==" + }, + "node_modules/@types/react": { + "version": "18.2.38", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.38.tgz", + "integrity": "sha512-cBBXHzuPtQK6wNthuVMV6IjHAFkdl/FOPFIlkd81/Cd1+IqkHu/A+w4g43kaQQoYHik/ruaQBDL72HyCy1vuMw==", + "dependencies": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-router": { + "version": "5.1.20", + "resolved": "https://registry.npmjs.org/@types/react-router/-/react-router-5.1.20.tgz", + "integrity": "sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q==", + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*" + } + }, + "node_modules/@types/react-router-config": { + "version": "5.0.10", + "resolved": "https://registry.npmjs.org/@types/react-router-config/-/react-router-config-5.0.10.tgz", + "integrity": "sha512-Wn6c/tXdEgi9adCMtDwx8Q2vGty6TsPTc/wCQQ9kAlye8UqFxj0vGFWWuhywNfkwqth+SOgJxQTLTZukrqDQmQ==", + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*", + "@types/react-router": "^5.1.0" + } + }, + "node_modules/@types/react-router-dom": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/@types/react-router-dom/-/react-router-dom-5.3.3.tgz", + "integrity": "sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw==", + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*", + "@types/react-router": "*" + } + }, + "node_modules/@types/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==" + }, + "node_modules/@types/sax": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.7.tgz", + "integrity": "sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/scheduler": { + "version": "0.16.8", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz", + "integrity": "sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==" + }, + "node_modules/@types/send": { + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", + "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", + "dependencies": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "node_modules/@types/serve-index": { + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.4.tgz", + "integrity": "sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==", + "dependencies": { + "@types/express": "*" + } + }, + "node_modules/@types/serve-static": { + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.5.tgz", + "integrity": "sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ==", + "dependencies": { + "@types/http-errors": "*", + "@types/mime": "*", + "@types/node": "*" + } + }, + "node_modules/@types/sockjs": { + "version": "0.3.36", + "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.36.tgz", + "integrity": "sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" + }, + "node_modules/@types/ws": { + "version": "8.5.10", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.10.tgz", + "integrity": "sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/yargs": { + "version": "17.0.32", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz", + "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==" + }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==" + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", + "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==" + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==" + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", + "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==" + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==" + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", + "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==" + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", + "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-opt": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6", + "@webassemblyjs/wast-printer": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", + "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", + "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", + "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", + "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/accepts/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/accepts/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz", + "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-import-assertions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", + "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "peerDependencies": { + "acorn": "^8" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.0.tgz", + "integrity": "sha512-FS7hV565M5l1R08MXqo8odwMTB02C2UqzB17RVgu9EyuYFBqJZ3/ZY97sQD5FewVu1UyDFc1yztUDrAwT0EypA==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/address": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/address/-/address-1.2.2.tgz", + "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "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" + } + }, + "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==", + "dependencies": { + "@algolia/events": "^4.0.1" + }, + "peerDependencies": { + "algoliasearch": ">= 3.1 < 6" + } + }, + "node_modules/ansi-align": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", + "dependencies": { + "string-width": "^4.1.0" + } + }, + "node_modules/ansi-align/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/ansi-align/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-html-community": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", + "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", + "engines": [ + "node >= 0.8.0" + ], + "bin": { + "ansi-html": "bin/ansi-html" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "node_modules/array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==" + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "engines": { + "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", + "integrity": "sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg==", + "bin": { + "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", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "engines": { + "node": ">= 4.0.0" + } + }, + "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==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "browserslist": "^4.21.10", + "caniuse-lite": "^1.0.30001538", + "fraction.js": "^4.3.6", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "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", + "integrity": "sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==", + "dependencies": { + "find-cache-dir": "^4.0.0", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 14.15.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0", + "webpack": ">=5" + } + }, + "node_modules/babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "dependencies": { + "object.assign": "^4.1.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.6.tgz", + "integrity": "sha512-jhHiWVZIlnPbEUKSSNb9YoWcQGdlTLq7z1GHL4AjFxaoOUMuuEVJ+Y4pAaQUGOGk93YsVCKPbqbfw3m0SM6H8Q==", + "dependencies": { + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.4.3", + "semver": "^6.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.8.6", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.6.tgz", + "integrity": "sha512-leDIc4l4tUgU7str5BWLS2h8q2N4Nf6lGZP6UrNDxdtfF2g69eJ5L0H7S8A5Ln/arfFAfHor5InAdZuIOwZdgQ==", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.4.3", + "core-js-compat": "^3.33.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.3.tgz", + "integrity": "sha512-8sHeDOmXC8csczMrYEOf0UTNa4yE2SxV5JGeT/LP1n0OYVDUUFPxG9vdk2AlDlIit4t+Kf0xCtpgXPBwnn/9pw==", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.4.3" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/bail": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", + "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "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", + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==" + }, + "node_modules/big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "engines": { + "node": "*" + } + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "engines": { + "node": ">=8" + } + }, + "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==", + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/body-parser/node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/bonjour-service": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.1.1.tgz", + "integrity": "sha512-Z/5lQRMOG9k7W+FkeGTNjh7htqn/2LMnfOvBZ8pynNZCM9MwkQkI3zeI4oz09uWdcgmgHugVvBqxGg4VQJ5PCg==", + "dependencies": { + "array-flatten": "^2.1.2", + "dns-equal": "^1.0.0", + "fast-deep-equal": "^3.1.3", + "multicast-dns": "^7.2.5" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" + }, + "node_modules/boxen": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-6.2.1.tgz", + "integrity": "sha512-H4PEsJXfFI/Pt8sjDWbHlQPx4zL/bvSQjcilJmaulGt5mLDorHOHpmdXAJcBcmru7PhYSp/cDMWRko4ZUMFkSw==", + "dependencies": { + "ansi-align": "^3.0.1", + "camelcase": "^6.2.0", + "chalk": "^4.1.2", + "cli-boxes": "^3.0.0", + "string-width": "^5.0.1", + "type-fest": "^2.5.0", + "widest-line": "^4.0.1", + "wrap-ansi": "^8.0.1" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dependencies": { + "fill-range": "^7.0.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==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001541", + "electron-to-chromium": "^1.4.535", + "node-releases": "^2.0.13", + "update-browserslist-db": "^1.0.13" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + }, + "node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/cacheable-lookup": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-7.0.0.tgz", + "integrity": "sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==", + "engines": { + "node": ">=14.16" + } + }, + "node_modules/cacheable-request": { + "version": "10.2.14", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-10.2.14.tgz", + "integrity": "sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==", + "dependencies": { + "@types/http-cache-semantics": "^4.0.2", + "get-stream": "^6.0.1", + "http-cache-semantics": "^4.1.1", + "keyv": "^4.5.3", + "mimic-response": "^4.0.0", + "normalize-url": "^8.0.0", + "responselike": "^3.0.0" + }, + "engines": { + "node": ">=14.16" + } + }, + "node_modules/cacheable-request/node_modules/normalize-url": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-8.0.0.tgz", + "integrity": "sha512-uVFpKhj5MheNBJRTiMZ9pE/7hD1QTeEvugSJW/OmLzAp78PB5O6adfMNTvmfKhXBkvCzC+rqifWcVYpGFwTjnw==", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "dependencies": { + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.1", + "set-function-length": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "dependencies": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "dependencies": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "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==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/ccount": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", + "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "engines": { + "node": ">=10" + } + }, + "node_modules/character-entities": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", + "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-html4": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", + "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-legacy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", + "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-reference-invalid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz", + "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/cheerio": { + "version": "1.0.0-rc.12", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz", + "integrity": "sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==", + "dependencies": { + "cheerio-select": "^2.1.0", + "dom-serializer": "^2.0.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "htmlparser2": "^8.0.1", + "parse5": "^7.0.0", + "parse5-htmlparser2-tree-adapter": "^7.0.0" + }, + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/cheeriojs/cheerio?sponsor=1" + } + }, + "node_modules/cheerio-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz", + "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==", + "dependencies": { + "boolbase": "^1.0.0", + "css-select": "^5.1.0", + "css-what": "^6.1.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "engines": { + "node": ">=6.0" + } + }, + "node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "node_modules/clean-css": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.2.tgz", + "integrity": "sha512-JVJbM+f3d3Q704rF4bqQ5UUyTtuJ0JRKNbTKVEeujCCBoMdkEi+V+e8oktO9qGQNSvHrFTM6JZRXrUvGR1czww==", + "dependencies": { + "source-map": "~0.6.0" + }, + "engines": { + "node": ">= 10.0" + } + }, + "node_modules/clean-css/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/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/cli-boxes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", + "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-table3": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz", + "integrity": "sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==", + "dependencies": { + "string-width": "^4.2.0" + }, + "engines": { + "node": "10.* || >= 12.*" + }, + "optionalDependencies": { + "@colors/colors": "1.5.0" + } + }, + "node_modules/cli-table3/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/cli-table3/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dependencies": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/clone-deep/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/clsx": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", + "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/collapse-white-space": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-2.1.0.tgz", + "integrity": "sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/colord": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==" + }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==" + }, + "node_modules/combine-promises": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/combine-promises/-/combine-promises-1.2.0.tgz", + "integrity": "sha512-VcQB1ziGD0NXrhKxiwyNbCDmRzs/OShMs2GqW2DlU2A/Sd0nQxE1oWDAE5O0ygSx5mgQOn9eIFh7yKPgFRVkPQ==", + "engines": { + "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", + "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/commander": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/common-path-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", + "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==" + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compressible/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "dependencies": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/compression/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/compression/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/compression/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "node_modules/config-chain": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", + "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", + "dependencies": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + } + }, + "node_modules/configstore": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-6.0.0.tgz", + "integrity": "sha512-cD31W1v3GqUlQvbBCGcXmd2Nj9SvLDOP1oQ0YFuLETufzSPaKp11rYBsSOm7rCsW3OnIRAFM3OxRhceaXNYHkA==", + "dependencies": { + "dot-prop": "^6.0.1", + "graceful-fs": "^4.2.6", + "unique-string": "^3.0.0", + "write-file-atomic": "^3.0.3", + "xdg-basedir": "^5.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/yeoman/configstore?sponsor=1" + } + }, + "node_modules/connect-history-api-fallback": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", + "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/consola": { + "version": "2.15.3", + "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz", + "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==" + }, + "node_modules/content-disposition": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", + "integrity": "sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "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==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" + }, + "node_modules/copy-text-to-clipboard": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/copy-text-to-clipboard/-/copy-text-to-clipboard-3.2.0.tgz", + "integrity": "sha512-RnJFp1XR/LOBDckxTib5Qjr/PMfkatD0MUCQgdpqS8MdKiNUzBjAQBEN6oUy+jW7LI93BBG3DtMB2KOOKpGs2Q==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/copy-webpack-plugin": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz", + "integrity": "sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==", + "dependencies": { + "fast-glob": "^3.2.11", + "glob-parent": "^6.0.1", + "globby": "^13.1.1", + "normalize-path": "^3.0.0", + "schema-utils": "^4.0.0", + "serialize-javascript": "^6.0.0" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + } + }, + "node_modules/copy-webpack-plugin/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/copy-webpack-plugin/node_modules/globby": { + "version": "13.2.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz", + "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==", + "dependencies": { + "dir-glob": "^3.0.1", + "fast-glob": "^3.3.0", + "ignore": "^5.2.4", + "merge2": "^1.4.1", + "slash": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/copy-webpack-plugin/node_modules/slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/core-js": { + "version": "3.33.3", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.33.3.tgz", + "integrity": "sha512-lo0kOocUlLKmm6kv/FswQL8zbkH7mVsLJ/FULClOhv8WRVmKLVcs6XPNQAzstfeJTCHMyButEwG+z1kHxHoDZw==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-compat": { + "version": "3.33.3", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.33.3.tgz", + "integrity": "sha512-cNzGqFsh3Ot+529GIXacjTJ7kegdt5fPXxCBVS1G0iaZpuo/tBz399ymceLJveQhFFZ8qThHiP3fzuoQjKN2ow==", + "dependencies": { + "browserslist": "^4.22.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-pure": { + "version": "3.33.3", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.33.3.tgz", + "integrity": "sha512-taJ00IDOP+XYQEA2dAe4ESkmHt1fL8wzYDo3mRWQey8uO9UojlBFMneA65kMyxfYP7106c6LzWaq7/haDT6BCQ==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + }, + "node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "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" + }, + "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_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/crypto-random-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-4.0.0.tgz", + "integrity": "sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==", + "dependencies": { + "type-fest": "^1.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/crypto-random-string/node_modules/type-fest": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", + "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.0.9" + } + }, + "node_modules/css-loader": { + "version": "6.8.1", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.8.1.tgz", + "integrity": "sha512-xDAXtEVGlD0gJ07iclwWVkLoZOpEvAWaSyf6W18S2pOC//K8+qUDIx8IIT3D+HjnmkJPQeesOPv5aiUaJsCM2g==", + "dependencies": { + "icss-utils": "^5.1.0", + "postcss": "^8.4.21", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.3", + "postcss-modules-scope": "^3.0.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.2.0", + "semver": "^7.3.8" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "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==", + "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" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@parcel/css": { + "optional": true + }, + "@swc/css": { + "optional": true + }, + "clean-css": { + "optional": true + }, + "csso": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "lightningcss": { + "optional": true + } + } + }, + "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", + "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "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==", + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.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_modules/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "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==", + "dependencies": { + "cssnano-preset-default": "^5.2.14", + "lilconfig": "^2.0.3", + "yaml": "^1.10.2" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/cssnano" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "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==", + "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" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "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" + } + }, + "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==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "dependencies": { + "css-tree": "^1.1.2" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/csstype": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", + "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" + }, + "node_modules/debounce": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz", + "integrity": "sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==" + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decode-named-character-reference": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz", + "integrity": "sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==", + "dependencies": { + "character-entities": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "dependencies": { + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/decompress-response/node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/default-gateway": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", + "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", + "dependencies": { + "execa": "^5.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/defer-to-connect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", + "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", + "engines": { + "node": ">=10" + } + }, + "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==", + "dependencies": { + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "engines": { + "node": ">=8" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/del": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/del/-/del-6.1.1.tgz", + "integrity": "sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==", + "dependencies": { + "globby": "^11.0.1", + "graceful-fs": "^4.2.4", + "is-glob": "^4.0.1", + "is-path-cwd": "^2.2.0", + "is-path-inside": "^3.0.2", + "p-map": "^4.0.0", + "rimraf": "^3.0.2", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "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", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" + }, + "node_modules/detect-port": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/detect-port/-/detect-port-1.5.1.tgz", + "integrity": "sha512-aBzdj76lueB6uUst5iAs7+0H/oOjqI5D16XUWxlWMIMROhcM0rfsNVk93zTngq1dDNpoXRr++Sus7ETAExppAQ==", + "dependencies": { + "address": "^1.0.1", + "debug": "4" + }, + "bin": { + "detect": "bin/detect-port.js", + "detect-port": "bin/detect-port.js" + } + }, + "node_modules/detect-port-alt": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", + "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", + "dependencies": { + "address": "^1.0.1", + "debug": "^2.6.0" + }, + "bin": { + "detect": "bin/detect-port", + "detect-port": "bin/detect-port" + }, + "engines": { + "node": ">= 4.2.1" + } + }, + "node_modules/detect-port-alt/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/detect-port-alt/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/devlop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", + "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", + "dependencies": { + "dequal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==" + }, + "node_modules/dns-packet": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", + "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==", + "dependencies": { + "@leichtgewicht/ip-codec": "^2.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", + "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "dependencies": { + "utila": "~0.4" + } + }, + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/dot-prop": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz", + "integrity": "sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==", + "dependencies": { + "is-obj": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/dot-prop/node_modules/is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "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==" + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" + }, + "node_modules/emojilib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/emojilib/-/emojilib-2.4.0.tgz", + "integrity": "sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==" + }, + "node_modules/emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/emoticon": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/emoticon/-/emoticon-4.0.1.tgz", + "integrity": "sha512-dqx7eA9YaqyvYtUhJwT4rC1HIp82j5ybS1/vQ42ur+jBe17dJMwZE4+gvL1XadSFfxaPFFGt3Xsw+Y8akThDlw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", + "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "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==", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-goat": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-4.0.0.tgz", + "integrity": "sha512-2Sd4ShcWxbx6OY1IHyla/CVNwvg7XwZVoXZHcSu9w9SReNP1EzzD5T8NWKIR38fIqEns9kDWKUQTXXAmlDrdPg==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-util-attach-comments": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/estree-util-attach-comments/-/estree-util-attach-comments-3.0.0.tgz", + "integrity": "sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==", + "dependencies": { + "@types/estree": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-build-jsx": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/estree-util-build-jsx/-/estree-util-build-jsx-3.0.1.tgz", + "integrity": "sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "estree-walker": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-is-identifier-name": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz", + "integrity": "sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-to-js": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/estree-util-to-js/-/estree-util-to-js-2.0.0.tgz", + "integrity": "sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "astring": "^1.8.0", + "source-map": "^0.7.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "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==", + "dependencies": { + "@types/estree": "^1.0.0", + "is-plain-obj": "^4.0.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/remcohaszing" + } + }, + "node_modules/estree-util-visit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/estree-util-visit/-/estree-util-visit-2.0.0.tgz", + "integrity": "sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eta": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/eta/-/eta-2.2.0.tgz", + "integrity": "sha512-UVQ72Rqjy/ZKQalzV5dCCJP80GrmPrMxh6NlNf+erV6ObL0ZFkhCstWRawS85z3smdr3d2wXPsZEY7rDPfGd2g==", + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "url": "https://github.com/eta-dev/eta?sponsor=1" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/eval": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/eval/-/eval-0.1.8.tgz", + "integrity": "sha512-EzV94NYKoO09GLXGjXj9JIlXijVck4ONSr5wiCWDvhsvj5jxSrzTmRU/9C1DyB6uToszLs8aifA6NQ7lEQdvFw==", + "dependencies": { + "@types/node": "*", + "require-like": ">= 0.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/express": { + "version": "4.18.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", + "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.1", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "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.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "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" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/express/node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" + }, + "node_modules/express/node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/express/node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" + }, + "node_modules/express/node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + }, + "node_modules/fast-url-parser": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz", + "integrity": "sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==", + "dependencies": { + "punycode": "^1.3.2" + } + }, + "node_modules/fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fault": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fault/-/fault-2.0.1.tgz", + "integrity": "sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==", + "dependencies": { + "format": "^0.2.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "dependencies": { + "websocket-driver": ">=0.5.1" + }, + "engines": { + "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", + "integrity": "sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ==", + "dependencies": { + "xml-js": "^1.6.11" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/file-loader": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", + "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", + "dependencies": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/file-loader/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/file-loader/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/file-loader/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "node_modules/file-loader/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/filesize": { + "version": "8.0.7", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz", + "integrity": "sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==", + "engines": { + "node": ">= 0.4.0" + } + }, + "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==", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/find-cache-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-4.0.0.tgz", + "integrity": "sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==", + "dependencies": { + "common-path-prefix": "^3.0.0", + "pkg-dir": "^7.0.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/find-up": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", + "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", + "dependencies": { + "locate-path": "^7.1.0", + "path-exists": "^5.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "bin": { + "flat": "cli.js" + } + }, + "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==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/fork-ts-checker-webpack-plugin": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz", + "integrity": "sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==", + "dependencies": { + "@babel/code-frame": "^7.8.3", + "@types/json-schema": "^7.0.5", + "chalk": "^4.1.0", + "chokidar": "^3.4.2", + "cosmiconfig": "^6.0.0", + "deepmerge": "^4.2.2", + "fs-extra": "^9.0.0", + "glob": "^7.1.6", + "memfs": "^3.1.2", + "minimatch": "^3.0.4", + "schema-utils": "2.7.0", + "semver": "^7.3.2", + "tapable": "^1.0.0" + }, + "engines": { + "node": ">=10", + "yarn": ">=1.0.0" + }, + "peerDependencies": { + "eslint": ">= 6", + "typescript": ">= 2.7", + "vue-template-compiler": "*", + "webpack": ">= 4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + }, + "vue-template-compiler": { + "optional": true + } + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/schema-utils": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", + "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", + "dependencies": { + "@types/json-schema": "^7.0.4", + "ajv": "^6.12.2", + "ajv-keywords": "^3.4.1" + }, + "engines": { + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "engines": { + "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", + "integrity": "sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==", + "engines": { + "node": ">= 14.17" + } + }, + "node_modules/format": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/format/-/format-0.2.2.tgz", + "integrity": "sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==", + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fraction.js": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://github.com/sponsors/rawify" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "engines": { + "node": ">= 0.6" + } + }, + "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==", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/fs-monkey": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.5.tgz", + "integrity": "sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==" + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "engines": { + "node": ">=6.9.0" + } + }, + "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==", + "dependencies": { + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-own-enumerable-property-symbols": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", + "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==" + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/github-slugger": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.5.0.tgz", + "integrity": "sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==" + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" + }, + "node_modules/global-dirs": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz", + "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==", + "dependencies": { + "ini": "2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/global-dirs/node_modules/ini": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", + "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "dependencies": { + "global-prefix": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "dependencies": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/got": { + "version": "12.6.1", + "resolved": "https://registry.npmjs.org/got/-/got-12.6.1.tgz", + "integrity": "sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==", + "dependencies": { + "@sindresorhus/is": "^5.2.0", + "@szmarczak/http-timer": "^5.0.1", + "cacheable-lookup": "^7.0.0", + "cacheable-request": "^10.2.8", + "decompress-response": "^6.0.0", + "form-data-encoder": "^2.1.2", + "get-stream": "^6.0.1", + "http2-wrapper": "^2.1.10", + "lowercase-keys": "^3.0.0", + "p-cancelable": "^3.0.0", + "responselike": "^3.0.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sindresorhus/got?sponsor=1" + } + }, + "node_modules/got/node_modules/@sindresorhus/is": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-5.6.0.tgz", + "integrity": "sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sindresorhus/is?sponsor=1" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + }, + "node_modules/gray-matter": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz", + "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==", + "dependencies": { + "js-yaml": "^3.13.1", + "kind-of": "^6.0.2", + "section-matter": "^1.0.0", + "strip-bom-string": "^1.0.0" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/gray-matter/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/gray-matter/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/gzip-size": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", + "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", + "dependencies": { + "duplexer": "^0.1.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==" + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "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==", + "dependencies": { + "get-intrinsic": "^1.2.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-yarn": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-3.0.0.tgz", + "integrity": "sha512-IrsVwUHhEULx3R8f/aA8AHuEzAorplsab/v8HBzEiIukwq5i/EC+xmOW+HfP1OaDP+2JkgT1yILHN2O3UFIbcA==", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/hasown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", + "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hast-util-from-parse5": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-8.0.1.tgz", + "integrity": "sha512-Er/Iixbc7IEa7r/XLtuG52zoqn/b3Xng/w6aZQ0xGVxzhw5xUFxcRqdPzP6yFi/4HBYRaifaI5fQ1RH8n0ZeOQ==", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "hastscript": "^8.0.0", + "property-information": "^6.0.0", + "vfile": "^6.0.0", + "vfile-location": "^5.0.0", + "web-namespaces": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-parse-selector": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz", + "integrity": "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "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==", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "@ungap/structured-clone": "^1.0.0", + "hast-util-from-parse5": "^8.0.0", + "hast-util-to-parse5": "^8.0.0", + "html-void-elements": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "parse5": "^7.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-estree": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hast-util-to-estree/-/hast-util-to-estree-3.1.0.tgz", + "integrity": "sha512-lfX5g6hqVh9kjS/B9E2gSkvHH4SZNiQFiqWS0x9fENzEl+8W12RqdRxX6d/Cwxi30tPQs3bIO+aolQJNp1bIyw==", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-attach-comments": "^3.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", + "unist-util-position": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "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==", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-whitespace": "^3.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "style-to-object": "^0.4.0", + "unist-util-position": "^5.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "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", + "integrity": "sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==", + "dependencies": { + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-whitespace": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", + "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hastscript": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-8.0.0.tgz", + "integrity": "sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw==", + "dependencies": { + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-parse-selector": "^4.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "bin": { + "he": "bin/he" + } + }, + "node_modules/history": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/history/-/history-4.10.1.tgz", + "integrity": "sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==", + "dependencies": { + "@babel/runtime": "^7.1.2", + "loose-envify": "^1.2.0", + "resolve-pathname": "^3.0.0", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0", + "value-equal": "^1.0.1" + } + }, + "node_modules/hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "dependencies": { + "react-is": "^16.7.0" + } + }, + "node_modules/hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", + "dependencies": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "node_modules/hpack.js/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/hpack.js/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/hpack.js/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/hpack.js/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/html-entities": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.4.0.tgz", + "integrity": "sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/mdevils" + }, + { + "type": "patreon", + "url": "https://patreon.com/mdevils" + } + ] + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==" + }, + "node_modules/html-minifier-terser": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-7.2.0.tgz", + "integrity": "sha512-tXgn3QfqPIpGl9o+K5tpcj3/MN4SfLtsx2GWwBC3SSd0tXQGyF3gsSqad8loJgKZGM3ZxbYDd5yhiBIdWpmvLA==", + "dependencies": { + "camel-case": "^4.1.2", + "clean-css": "~5.3.2", + "commander": "^10.0.0", + "entities": "^4.4.0", + "param-case": "^3.0.4", + "relateurl": "^0.2.7", + "terser": "^5.15.1" + }, + "bin": { + "html-minifier-terser": "cli.js" + }, + "engines": { + "node": "^14.13.1 || >=16.0.0" + } + }, + "node_modules/html-minifier-terser/node_modules/commander": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "engines": { + "node": ">=14" + } + }, + "node_modules/html-tags": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz", + "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/html-void-elements": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz", + "integrity": "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/html-webpack-plugin": { + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.5.3.tgz", + "integrity": "sha512-6YrDKTuqaP/TquFH7h4srYWsZx+x6k6+FbsTm0ziCwGHDP78Unr1r9F/H4+sGmMbX08GQcJ+K64x55b+7VM/jg==", + "dependencies": { + "@types/html-minifier-terser": "^6.0.0", + "html-minifier-terser": "^6.0.2", + "lodash": "^4.17.21", + "pretty-error": "^4.0.0", + "tapable": "^2.0.0" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/html-webpack-plugin" + }, + "peerDependencies": { + "webpack": "^5.20.0" + } + }, + "node_modules/html-webpack-plugin/node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "engines": { + "node": ">= 12" + } + }, + "node_modules/html-webpack-plugin/node_modules/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", + "dependencies": { + "camel-case": "^4.1.2", + "clean-css": "^5.2.2", + "commander": "^8.3.0", + "he": "^1.2.0", + "param-case": "^3.0.4", + "relateurl": "^0.2.7", + "terser": "^5.10.0" + }, + "bin": { + "html-minifier-terser": "cli.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/htmlparser2": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", + "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "entities": "^4.4.0" + } + }, + "node_modules/http-cache-semantics": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==" + }, + "node_modules/http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==" + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-parser-js": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", + "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==" + }, + "node_modules/http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/http-proxy-middleware": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", + "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", + "dependencies": { + "@types/http-proxy": "^1.17.8", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "@types/express": "^4.17.13" + }, + "peerDependenciesMeta": { + "@types/express": { + "optional": true + } + } + }, + "node_modules/http-proxy-middleware/node_modules/is-plain-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", + "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/http2-wrapper": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-2.2.1.tgz", + "integrity": "sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==", + "dependencies": { + "quick-lru": "^5.1.1", + "resolve-alpn": "^1.2.0" + }, + "engines": { + "node": ">=10.19.0" + } + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/ignore": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz", + "integrity": "sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==", + "engines": { + "node": ">= 4" + } + }, + "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==", + "dependencies": { + "queue": "6.0.2" + }, + "bin": { + "image-size": "bin/image-size.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/immer": { + "version": "9.0.21", + "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", + "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/immer" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-lazy": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz", + "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/infima": { + "version": "0.2.0-alpha.43", + "resolved": "https://registry.npmjs.org/infima/-/infima-0.2.0-alpha.43.tgz", + "integrity": "sha512-2uw57LvUqW0rK/SWYnd/2rRfxNA5DDNOh33jxF7fy46VWoNhGxiUQyVZHbBMjQ33mQem0cjdDVwgWVAmlRfgyQ==", + "engines": { + "node": ">=12" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + }, + "node_modules/inline-style-parser": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz", + "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==" + }, + "node_modules/interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dependencies": { + "loose-envify": "^1.0.0" + } + }, + "node_modules/ipaddr.js": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz", + "integrity": "sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==", + "engines": { + "node": ">= 10" + } + }, + "node_modules/is-alphabetical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz", + "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-alphanumerical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz", + "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==", + "dependencies": { + "is-alphabetical": "^2.0.0", + "is-decimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-ci": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", + "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==", + "dependencies": { + "ci-info": "^3.2.0" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "dependencies": { + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-decimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz", + "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-hexadecimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz", + "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-installed-globally": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", + "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", + "dependencies": { + "global-dirs": "^3.0.0", + "is-path-inside": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-npm": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-6.0.0.tgz", + "integrity": "sha512-JEjxbSmtPSt1c8XTkVrlujcXdKV1/tvuQ7GwKcAlyiVLeYFQ2VHat8xfrDJsIkhCdF/tZ7CiIR3sy141c6+gPQ==", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-reference": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.2.tgz", + "integrity": "sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==", + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/is-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", + "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-root": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", + "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" + }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-yarn-global": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.4.1.tgz", + "integrity": "sha512-/kppl+R+LO5VmhYSEWARUFjodS25D68gvj8W7z0I7OWhUla5xWu8KL6CtB2V0R6yqhnRgbcaREMr4EEM6htLPQ==", + "engines": { + "node": ">=12" + } + }, + "node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-worker": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", + "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", + "dependencies": { + "@types/node": "*", + "jest-util": "^29.7.0", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/jiti": { + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz", + "integrity": "sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==", + "bin": { + "jiti": "bin/jiti.js" + } + }, + "node_modules/joi": { + "version": "17.11.0", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.11.0.tgz", + "integrity": "sha512-NgB+lZLNoqISVy1rZocE9PZI36bL/77ie924Ri43yEvi9GUUMPeyVIr8KdFTMUlby1p0PBYMk9spIxEUQYqrJQ==", + "dependencies": { + "@hapi/hoek": "^9.0.0", + "@hapi/topo": "^5.0.0", + "@sideway/address": "^4.1.3", + "@sideway/formula": "^3.0.1", + "@sideway/pinpoint": "^2.0.0" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + }, + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "engines": { + "node": ">=6" + } + }, + "node_modules/latest-version": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-7.0.0.tgz", + "integrity": "sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg==", + "dependencies": { + "package-json": "^8.1.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/launch-editor": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.1.tgz", + "integrity": "sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw==", + "dependencies": { + "picocolors": "^1.0.0", + "shell-quote": "^1.8.1" + } + }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "engines": { + "node": ">=10" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" + }, + "node_modules/loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "engines": { + "node": ">=6.11.5" + } + }, + "node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/locate-path": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", + "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", + "dependencies": { + "p-locate": "^6.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "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", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==" + }, + "node_modules/lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==" + }, + "node_modules/longest-streak": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", + "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/lowercase-keys": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-3.0.0.tgz", + "integrity": "sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/markdown-extensions": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/markdown-extensions/-/markdown-extensions-2.0.0.tgz", + "integrity": "sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/markdown-table": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.3.tgz", + "integrity": "sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/mdast-util-directive": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-directive/-/mdast-util-directive-3.0.0.tgz", + "integrity": "sha512-JUpYOqKI4mM3sZcNxmF/ox04XYFFkNwr0CFlrQIkCwbvH0xzMCqkMqAde9wRd80VAhaUrwFwKm2nxretdT1h7Q==", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "parse-entities": "^4.0.0", + "stringify-entities": "^4.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-find-and-replace": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.1.tgz", + "integrity": "sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==", + "dependencies": { + "@types/mdast": "^4.0.0", + "escape-string-regexp": "^5.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-find-and-replace/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark": "^4.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-from-markdown/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/mdast-util-frontmatter": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-frontmatter/-/mdast-util-frontmatter-2.0.1.tgz", + "integrity": "sha512-LRqI9+wdgC25P0URIJY9vwocIzCcksduHQ9OF2joxQoyTNVduwLAFUzjoopuRJbJAReaKrNQKAZKL3uCMugWJA==", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "escape-string-regexp": "^5.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "micromark-extension-frontmatter": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-frontmatter/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mdast-util-gfm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.0.0.tgz", + "integrity": "sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==", + "dependencies": { + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-gfm-autolink-literal": "^2.0.0", + "mdast-util-gfm-footnote": "^2.0.0", + "mdast-util-gfm-strikethrough": "^2.0.0", + "mdast-util-gfm-table": "^2.0.0", + "mdast-util-gfm-task-list-item": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-autolink-literal": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.0.tgz", + "integrity": "sha512-FyzMsduZZHSc3i0Px3PQcBT4WJY/X/RCtEJKuybiC6sjPqLv7h1yqAkmILZtuxMSsUyaLUWNp71+vQH2zqp5cg==", + "dependencies": { + "@types/mdast": "^4.0.0", + "ccount": "^2.0.0", + "devlop": "^1.0.0", + "mdast-util-find-and-replace": "^3.0.0", + "micromark-util-character": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "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==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/mdast-util-gfm-autolink-literal/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/mdast-util-gfm-footnote": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.0.0.tgz", + "integrity": "sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ==", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-strikethrough": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz", + "integrity": "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-table": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz", + "integrity": "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "markdown-table": "^3.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-task-list-item": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz", + "integrity": "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-mdx/-/mdast-util-mdx-3.0.0.tgz", + "integrity": "sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==", + "dependencies": { + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-expression": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.0.tgz", + "integrity": "sha512-fGCu8eWdKUKNu5mohVGkhBXCXGnOTLuFqOvGMvdikr+J1w7lDJgxThOKpwRWzzbyXAU2hhSwsmssOY4yTokluw==", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "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==", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "parse-entities": "^4.0.0", + "stringify-entities": "^4.0.0", + "unist-util-remove-position": "^5.0.0", + "unist-util-stringify-position": "^4.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdxjs-esm": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz", + "integrity": "sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "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==", + "dependencies": { + "@types/mdast": "^4.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "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==", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@ungap/structured-clone": "^1.0.0", + "devlop": "^1.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "trim-lines": "^3.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-markdown": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.0.tgz", + "integrity": "sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "longest-streak": "^3.0.0", + "mdast-util-phrasing": "^4.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark-util-decode-string": "^2.0.0", + "unist-util-visit": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", + "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", + "dependencies": { + "@types/mdast": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "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==" + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/memfs": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", + "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", + "dependencies": { + "fs-monkey": "^1.0.4" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/micromark": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.0.tgz", + "integrity": "sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "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==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-destination": "^2.0.0", + "micromark-factory-label": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-factory-title": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-html-tag-name": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-core-commonmark/node_modules/micromark-factory-space": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", + "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "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==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-core-commonmark/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-extension-directive": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-directive/-/micromark-extension-directive-3.0.0.tgz", + "integrity": "sha512-61OI07qpQrERc+0wEysLHMvoiO3s2R56x5u7glHq2Yqq6EHbH4dW25G9GfDdGCDYqA21KE6DWgNSzxSwHc2hSg==", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "parse-entities": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-directive/node_modules/micromark-factory-space": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", + "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "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==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-directive/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-extension-frontmatter": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-frontmatter/-/micromark-extension-frontmatter-2.0.0.tgz", + "integrity": "sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg==", + "dependencies": { + "fault": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "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==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-frontmatter/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-extension-gfm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz", + "integrity": "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==", + "dependencies": { + "micromark-extension-gfm-autolink-literal": "^2.0.0", + "micromark-extension-gfm-footnote": "^2.0.0", + "micromark-extension-gfm-strikethrough": "^2.0.0", + "micromark-extension-gfm-table": "^2.0.0", + "micromark-extension-gfm-tagfilter": "^2.0.0", + "micromark-extension-gfm-task-list-item": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-autolink-literal": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.0.0.tgz", + "integrity": "sha512-rTHfnpt/Q7dEAK1Y5ii0W8bhfJlVJFnJMHIPisfPK3gpVNuOP0VnRl96+YJ3RYWV/P4gFeQoGKNlT3RhuvpqAg==", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "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==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-gfm-autolink-literal/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-extension-gfm-footnote": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.0.0.tgz", + "integrity": "sha512-6Rzu0CYRKDv3BfLAUnZsSlzx3ak6HAoI85KTiijuKIz5UxZxbUI+pD6oHgw+6UtQuiRwnGRhzMmPRv4smcz0fg==", + "dependencies": { + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-footnote/node_modules/micromark-factory-space": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", + "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "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==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-gfm-footnote/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-extension-gfm-strikethrough": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.0.0.tgz", + "integrity": "sha512-c3BR1ClMp5fxxmwP6AoOY2fXO9U8uFMKs4ADD66ahLTNcwzSCyRVU4k7LPV5Nxo/VJiR4TdzxRQY2v3qIUceCw==", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-strikethrough/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-extension-gfm-table": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.0.0.tgz", + "integrity": "sha512-PoHlhypg1ItIucOaHmKE8fbin3vTLpDOUg8KAr8gRCF1MOZI9Nquq2i/44wFvviM4WuxJzc3demT8Y3dkfvYrw==", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-table/node_modules/micromark-factory-space": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", + "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "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==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-gfm-table/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-extension-gfm-tagfilter": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz", + "integrity": "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==", + "dependencies": { + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-task-list-item": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.0.1.tgz", + "integrity": "sha512-cY5PzGcnULaN5O7T+cOzfMoHjBW7j+T9D2sucA5d/KbsBTPcYdebm9zUd9zzdgJGCwahV+/W78Z3nbulBYVbTw==", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-task-list-item/node_modules/micromark-factory-space": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", + "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "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==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-gfm-task-list-item/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-extension-mdx-expression": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-3.0.0.tgz", + "integrity": "sha512-sI0nwhUDz97xyzqJAbHQhp5TfaxEvZZZ2JDqUo+7NvyIYG6BZ5CPPqj2ogUoPJlmXHBnyZUzISg9+oUmU6tUjQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-mdx-expression": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-mdx-expression/node_modules/micromark-factory-space": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", + "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "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==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-mdx-expression/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-extension-mdx-jsx": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-3.0.0.tgz", + "integrity": "sha512-uvhhss8OGuzR4/N17L1JwvmJIpPhAd8oByMawEKx6NVdBCbesjH4t+vjEp3ZXft9DwvlKSD07fCeI44/N0Vf2w==", + "dependencies": { + "@types/acorn": "^4.0.0", + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "micromark-factory-mdx-expression": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdx-jsx/node_modules/micromark-factory-space": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", + "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "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==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-mdx-jsx/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-extension-mdx-md": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-md/-/micromark-extension-mdx-md-2.0.0.tgz", + "integrity": "sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==", + "dependencies": { + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdxjs": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs/-/micromark-extension-mdxjs-3.0.0.tgz", + "integrity": "sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==", + "dependencies": { + "acorn": "^8.0.0", + "acorn-jsx": "^5.0.0", + "micromark-extension-mdx-expression": "^3.0.0", + "micromark-extension-mdx-jsx": "^3.0.0", + "micromark-extension-mdx-md": "^2.0.0", + "micromark-extension-mdxjs-esm": "^3.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdxjs-esm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-3.0.0.tgz", + "integrity": "sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-position-from-estree": "^2.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "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==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-mdxjs-esm/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-factory-destination": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.0.tgz", + "integrity": "sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "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==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-destination/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-factory-label": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.0.tgz", + "integrity": "sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "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==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-label/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-factory-mdx-expression": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-2.0.1.tgz", + "integrity": "sha512-F0ccWIUHRLRrYp5TC9ZYXmZo+p2AM13ggbsW4T0b5CRKP8KHVRB8t4pwtBgTxtjRmwrK0Irwm7vs2JOZabHZfg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-position-from-estree": "^2.0.0", + "vfile-message": "^4.0.0" + } + }, + "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==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-mdx-expression/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-factory-space": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-1.1.0.tgz", + "integrity": "sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-factory-space/node_modules/micromark-util-types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.1.0.tgz", + "integrity": "sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-factory-title": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.0.tgz", + "integrity": "sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-title/node_modules/micromark-factory-space": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", + "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "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==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-title/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-factory-whitespace": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.0.tgz", + "integrity": "sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-whitespace/node_modules/micromark-factory-space": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", + "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "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==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-whitespace/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-character": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-1.2.0.tgz", + "integrity": "sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-util-character/node_modules/micromark-util-types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.1.0.tgz", + "integrity": "sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-chunked": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.0.tgz", + "integrity": "sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-chunked/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-classify-character": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.0.tgz", + "integrity": "sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "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==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-classify-character/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-combine-extensions": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.0.tgz", + "integrity": "sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-chunked": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-numeric-character-reference": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.1.tgz", + "integrity": "sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-numeric-character-reference/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-decode-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.0.tgz", + "integrity": "sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "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==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-string/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-encode": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.0.tgz", + "integrity": "sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-events-to-acorn": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-2.0.2.tgz", + "integrity": "sha512-Fk+xmBrOv9QZnEDguL9OI9/NQQp6Hz4FuQ4YmCb/5V7+9eAh1s6AYSvL20kHkD67YIg7EpE54TiSlcsf3vyZgA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "@types/acorn": "^4.0.0", + "@types/estree": "^1.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "estree-util-visit": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "vfile-message": "^4.0.0" + } + }, + "node_modules/micromark-util-events-to-acorn/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-html-tag-name": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.0.tgz", + "integrity": "sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-normalize-identifier": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.0.tgz", + "integrity": "sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-normalize-identifier/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-resolve-all": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.0.tgz", + "integrity": "sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-sanitize-uri": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.0.tgz", + "integrity": "sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "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==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-sanitize-uri/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "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==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-subtokenize/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-symbol": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-1.1.0.tgz", + "integrity": "sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-types": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.0.tgz", + "integrity": "sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark/node_modules/micromark-factory-space": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", + "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "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==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", + "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.18", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", + "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", + "dependencies": { + "mime-db": "~1.33.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/mimic-response": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-4.0.0.tgz", + "integrity": "sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mini-css-extract-plugin": { + "version": "2.7.6", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.6.tgz", + "integrity": "sha512-Qk7HcgaPkGG6eD77mLvZS1nmxlao3j+9PkrT9Uc7HAE1id3F41+DdBRYRYkbyfNRGzm8/YWtzhw7nVPmwhqTQw==", + "dependencies": { + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/mrmime": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz", + "integrity": "sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==", + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/multicast-dns": { + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", + "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", + "dependencies": { + "dns-packet": "^5.2.2", + "thunky": "^1.0.2" + }, + "bin": { + "multicast-dns": "cli.js" + } + }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" + }, + "node_modules/no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node_modules/node-emoji": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-2.1.3.tgz", + "integrity": "sha512-E2WEOVsgs7O16zsURJ/eH8BqhF029wGpEOnv7Urwdo2wmQanOACwJQh0devF9D9RhoZru0+9JXIS0dBXIAz+lA==", + "dependencies": { + "@sindresorhus/is": "^4.6.0", + "char-regex": "^1.0.2", + "emojilib": "^2.4.0", + "skin-tone": "^2.0.0" + }, + "engines": { + "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", + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", + "engines": { + "node": ">= 6.13.0" + } + }, + "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==" + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "engines": { + "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", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nprogress": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz", + "integrity": "sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==" + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/opener": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", + "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", + "bin": { + "opener": "bin/opener-bin.js" + } + }, + "node_modules/p-cancelable": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-3.0.0.tgz", + "integrity": "sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==", + "engines": { + "node": ">=12.20" + } + }, + "node_modules/p-limit": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", + "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", + "dependencies": { + "yocto-queue": "^1.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", + "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", + "dependencies": { + "p-limit": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-retry": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", + "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", + "dependencies": { + "@types/retry": "0.12.0", + "retry": "^0.13.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/package-json": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-8.1.1.tgz", + "integrity": "sha512-cbH9IAIJHNj9uXi196JVsRlt7cHKak6u/e6AkL/bkRelZ7rlL3X1YKxsZwa36xipOEKAsdtmaG6aAJoM1fx2zA==", + "dependencies": { + "got": "^12.1.0", + "registry-auth-token": "^5.0.1", + "registry-url": "^6.0.0", + "semver": "^7.3.7" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/param-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", + "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-entities": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.1.tgz", + "integrity": "sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==", + "dependencies": { + "@types/unist": "^2.0.0", + "character-entities": "^2.0.0", + "character-entities-legacy": "^3.0.0", + "character-reference-invalid": "^2.0.0", + "decode-named-character-reference": "^1.0.0", + "is-alphanumerical": "^2.0.0", + "is-decimal": "^2.0.0", + "is-hexadecimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/parse-entities/node_modules/@types/unist": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz", + "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==" + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse-numeric-range": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz", + "integrity": "sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==" + }, + "node_modules/parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "dependencies": { + "entities": "^4.4.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5-htmlparser2-tree-adapter": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz", + "integrity": "sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==", + "dependencies": { + "domhandler": "^5.0.2", + "parse5": "^7.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/path-exists": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", + "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==" + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "node_modules/path-to-regexp": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", + "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", + "dependencies": { + "isarray": "0.0.1" + } + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/periscopic": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/periscopic/-/periscopic-3.1.0.tgz", + "integrity": "sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^3.0.0", + "is-reference": "^3.0.0" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pkg-dir": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-7.0.0.tgz", + "integrity": "sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==", + "dependencies": { + "find-up": "^6.3.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-up": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", + "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-up/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-up/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-up/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-up/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-up/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss": { + "version": "8.4.31", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", + "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "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==", + "dependencies": { + "postcss-selector-parser": "^6.0.9", + "postcss-value-parser": "^4.2.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==", + "dependencies": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0", + "colord": "^2.9.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "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==", + "dependencies": { + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "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==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "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==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "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==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "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==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "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==", + "dependencies": { + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-loader": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.3.3.tgz", + "integrity": "sha512-YgO/yhtevGO/vJePCQmTxiaEwER94LABZN0ZMT4A0vsak9TpO+RvKRs7EmJ8peIlB9xfXCsS7M8LjqncsUZ5HA==", + "dependencies": { + "cosmiconfig": "^8.2.0", + "jiti": "^1.18.2", + "semver": "^7.3.8" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "postcss": "^7.0.0 || ^8.0.1", + "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==", + "dependencies": { + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "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==", + "dependencies": { + "postcss-value-parser": "^4.2.0", + "stylehacks": "^5.1.1" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "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==", + "dependencies": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0", + "cssnano-utils": "^3.1.0", + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "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==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "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==", + "dependencies": { + "colord": "^2.9.1", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "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==", + "dependencies": { + "browserslist": "^4.21.4", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "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==", + "dependencies": { + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-modules-extract-imports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", + "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-local-by-default": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.3.tgz", + "integrity": "sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==", + "dependencies": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-scope": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", + "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", + "dependencies": { + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "dependencies": { + "icss-utils": "^5.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "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==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "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==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "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==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "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==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "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==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "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==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "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==", + "dependencies": { + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "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==", + "dependencies": { + "normalize-url": "^6.0.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "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==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "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==", + "dependencies": { + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "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==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "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==", + "dependencies": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "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==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "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==", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "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==", + "dependencies": { + "sort-css-media-queries": "2.1.0" + }, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "postcss": "^8.4.16" + } + }, + "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==", + "dependencies": { + "postcss-value-parser": "^4.2.0", + "svgo": "^2.7.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "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==", + "dependencies": { + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "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==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/pretty-error": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", + "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", + "dependencies": { + "lodash": "^4.17.20", + "renderkid": "^3.0.0" + } + }, + "node_modules/pretty-time": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pretty-time/-/pretty-time-1.1.0.tgz", + "integrity": "sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==", + "engines": { + "node": ">=4" + } + }, + "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==", + "dependencies": { + "@types/prismjs": "^1.26.0", + "clsx": "^2.0.0" + }, + "peerDependencies": { + "react": ">=16.0.0" + } + }, + "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==", + "engines": { + "node": ">=6" + } + }, + "node_modules/prismjs": { + "version": "1.29.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz", + "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==", + "engines": { + "node": ">=6" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "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", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "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==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==" + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/proxy-addr/node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "engines": { + "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", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==" + }, + "node_modules/pupa": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/pupa/-/pupa-3.1.0.tgz", + "integrity": "sha512-FLpr4flz5xZTSJxSeaheeMKN/EDzMdK7b8PTOC6a5PYFKTucWbdqjgqaEyH0shFiSJrVB1+Qqi4Tk19ccU6Aug==", + "dependencies": { + "escape-goat": "^4.0.0" + }, + "engines": { + "node": ">=12.20" + }, + "funding": { + "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", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/queue": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz", + "integrity": "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==", + "dependencies": { + "inherits": "~2.0.3" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/range-parser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", + "integrity": "sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==", + "engines": { + "node": ">= 0.6" + } + }, + "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==", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/raw-body/node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/rc/node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "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", + "integrity": "sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==", + "dependencies": { + "@babel/code-frame": "^7.16.0", + "address": "^1.1.2", + "browserslist": "^4.18.1", + "chalk": "^4.1.2", + "cross-spawn": "^7.0.3", + "detect-port-alt": "^1.1.6", + "escape-string-regexp": "^4.0.0", + "filesize": "^8.0.6", + "find-up": "^5.0.0", + "fork-ts-checker-webpack-plugin": "^6.5.0", + "global-modules": "^2.0.0", + "globby": "^11.0.4", + "gzip-size": "^6.0.0", + "immer": "^9.0.7", + "is-root": "^2.1.0", + "loader-utils": "^3.2.0", + "open": "^8.4.0", + "pkg-up": "^3.1.0", + "prompts": "^2.4.2", + "react-error-overlay": "^6.0.11", + "recursive-readdir": "^2.2.2", + "shell-quote": "^1.7.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/react-dev-utils/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-dev-utils/node_modules/loader-utils": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz", + "integrity": "sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==", + "engines": { + "node": ">= 12.13.0" + } + }, + "node_modules/react-dev-utils/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-dev-utils/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-dev-utils/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-dev-utils/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/react-dev-utils/node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + }, + "peerDependencies": { + "react": "^18.2.0" + } + }, + "node_modules/react-error-overlay": { + "version": "6.0.11", + "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz", + "integrity": "sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==" + }, + "node_modules/react-fast-compare": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.2.tgz", + "integrity": "sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==" + }, + "node_modules/react-helmet-async": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-1.3.0.tgz", + "integrity": "sha512-9jZ57/dAn9t3q6hneQS0wukqC2ENOBgMNVEhb/ZG9ZSxUetzVIw4iAmEU38IaVg3QGYauQPhSeUTuIUtFglWpg==", + "dependencies": { + "@babel/runtime": "^7.12.5", + "invariant": "^2.2.4", + "prop-types": "^15.7.2", + "react-fast-compare": "^3.2.0", + "shallowequal": "^1.1.0" + }, + "peerDependencies": { + "react": "^16.6.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.6.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/react-is": { + "version": "16.13.1", + "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-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==", + "dependencies": { + "@types/react": "*", + "prop-types": "^15.6.2" + }, + "peerDependencies": { + "react": "*" + } + }, + "node_modules/react-loadable-ssr-addon-v5-slorber": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/react-loadable-ssr-addon-v5-slorber/-/react-loadable-ssr-addon-v5-slorber-1.0.1.tgz", + "integrity": "sha512-lq3Lyw1lGku8zUEJPDxsNm1AfYHBrO9Y1+olAYwpUJ2IGFBskM0DMKok97A6LWUpHm+o7IvQBOWu9MLenp9Z+A==", + "dependencies": { + "@babel/runtime": "^7.10.3" + }, + "engines": { + "node": ">=10.13.0" + }, + "peerDependencies": { + "react-loadable": "*", + "webpack": ">=4.41.1 || 5.x" + } + }, + "node_modules/react-router": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.3.4.tgz", + "integrity": "sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA==", + "dependencies": { + "@babel/runtime": "^7.12.13", + "history": "^4.9.0", + "hoist-non-react-statics": "^3.1.0", + "loose-envify": "^1.3.1", + "path-to-regexp": "^1.7.0", + "prop-types": "^15.6.2", + "react-is": "^16.6.0", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0" + }, + "peerDependencies": { + "react": ">=15" + } + }, + "node_modules/react-router-config": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/react-router-config/-/react-router-config-5.1.1.tgz", + "integrity": "sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg==", + "dependencies": { + "@babel/runtime": "^7.1.2" + }, + "peerDependencies": { + "react": ">=15", + "react-router": ">=5" + } + }, + "node_modules/react-router-dom": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.3.4.tgz", + "integrity": "sha512-m4EqFMHv/Ih4kpcBCONHbkT68KoAeHN4p3lAGoNryfHi0dMy0kCzEZakiKRsvg5wHZ/JLrLW8o8KomWiz/qbYQ==", + "dependencies": { + "@babel/runtime": "^7.12.13", + "history": "^4.9.0", + "loose-envify": "^1.3.1", + "prop-types": "^15.6.2", + "react-router": "5.3.4", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0" + }, + "peerDependencies": { + "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", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/reading-time": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/reading-time/-/reading-time-1.5.0.tgz", + "integrity": "sha512-onYyVhBNr4CmAxFsKS7bz+uTLRakypIe4R+5A824vBSkQy/hB3fZepoVEf8OVAxzLvK+H/jm9TzpI3ETSm64Kg==" + }, + "node_modules/rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", + "dependencies": { + "resolve": "^1.1.6" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/recursive-readdir": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz", + "integrity": "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==", + "dependencies": { + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", + "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", + "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==" + }, + "node_modules/regenerator-transform": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, + "node_modules/regexpu-core": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", + "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", + "dependencies": { + "@babel/regjsgen": "^0.8.0", + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsparser": "^0.9.1", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/registry-auth-token": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-5.0.2.tgz", + "integrity": "sha512-o/3ikDxtXaA59BmZuZrJZDJv8NMDGSj+6j6XaeBmHw8eY1i1qd9+6H+LjVvQXx3HN6aRCGa1cUdJ9RaJZUugnQ==", + "dependencies": { + "@pnpm/npm-conf": "^2.1.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/registry-url": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-6.0.1.tgz", + "integrity": "sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q==", + "dependencies": { + "rc": "1.2.8" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/rehype-raw": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/rehype-raw/-/rehype-raw-7.0.0.tgz", + "integrity": "sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-raw": "^9.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/remark-directive": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/remark-directive/-/remark-directive-3.0.0.tgz", + "integrity": "sha512-l1UyWJ6Eg1VPU7Hm/9tt0zKtReJQNOA4+iDMAxTyZNWnJnFlbS/7zhiel/rogTLQ2vMYwDzSJa4BiVNqGlqIMA==", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-directive": "^3.0.0", + "micromark-extension-directive": "^3.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-emoji": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/remark-emoji/-/remark-emoji-4.0.1.tgz", + "integrity": "sha512-fHdvsTR1dHkWKev9eNyhTo4EFwbUvJ8ka9SgeWkMPYFX4WoI7ViVBms3PjlQYgw5TLvNQso3GUB/b/8t3yo+dg==", + "dependencies": { + "@types/mdast": "^4.0.2", + "emoticon": "^4.0.1", + "mdast-util-find-and-replace": "^3.0.1", + "node-emoji": "^2.1.0", + "unified": "^11.0.4" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, + "node_modules/remark-frontmatter": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/remark-frontmatter/-/remark-frontmatter-5.0.0.tgz", + "integrity": "sha512-XTFYvNASMe5iPN0719nPrdItC9aU0ssC4v14mH1BCi1u0n1gAocqcujWUrByftZTbLhRtiKRyjYTSIOcr69UVQ==", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-frontmatter": "^2.0.0", + "micromark-extension-frontmatter": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-gfm": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.0.tgz", + "integrity": "sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-gfm": "^3.0.0", + "micromark-extension-gfm": "^3.0.0", + "remark-parse": "^11.0.0", + "remark-stringify": "^11.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-mdx": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-3.0.0.tgz", + "integrity": "sha512-O7yfjuC6ra3NHPbRVxfflafAj3LTwx3b73aBvkEFU5z4PsD6FD4vrqJAkE5iNGLz71GdjXfgRqm3SQ0h0VuE7g==", + "dependencies": { + "mdast-util-mdx": "^3.0.0", + "micromark-extension-mdxjs": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-parse": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz", + "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "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==", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "mdast-util-to-hast": "^13.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-stringify": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-11.0.0.tgz", + "integrity": "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-to-markdown": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/renderkid": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", + "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", + "dependencies": { + "css-select": "^4.1.3", + "dom-converter": "^0.2.0", + "htmlparser2": "^6.1.0", + "lodash": "^4.17.21", + "strip-ansi": "^6.0.1" + } + }, + "node_modules/renderkid/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/renderkid/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/renderkid/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/renderkid/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/renderkid/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/renderkid/node_modules/htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-like": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/require-like/-/require-like-0.1.2.tgz", + "integrity": "sha512-oyrU88skkMtDdauHDuKVrgR+zuItqr6/c//FXzvmxRGMexSDc6hNvJInGW3LL46n+8b50RykrvwSUIIQH2LQ5A==", + "engines": { + "node": "*" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-alpn": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", + "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==" + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-pathname": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz", + "integrity": "sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==" + }, + "node_modules/responselike": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-3.0.0.tgz", + "integrity": "sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==", + "dependencies": { + "lowercase-keys": "^3.0.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rtl-detect": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/rtl-detect/-/rtl-detect-1.1.2.tgz", + "integrity": "sha512-PGMBq03+TTG/p/cRB7HCLKJ1MgDIi07+QU1faSjiYRfmY5UsAttV9Hs08jDAHVwcOwmVLcSJkpwyfXszVjWfIQ==" + }, + "node_modules/rtlcss": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/rtlcss/-/rtlcss-4.1.1.tgz", + "integrity": "sha512-/oVHgBtnPNcggP2aVXQjSy6N1mMAfHg4GSag0QtZBlD5bdDgAHwr4pydqJGd+SUCu9260+Pjqbjwtvu7EMH1KQ==", + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0", + "postcss": "^8.4.21", + "strip-json-comments": "^3.1.1" + }, + "bin": { + "rtlcss": "bin/rtlcss.js" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "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", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "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==" + }, + "node_modules/scheduler": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "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==", + "peer": true + }, + "node_modules/section-matter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", + "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", + "dependencies": { + "extend-shallow": "^2.0.1", + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==" + }, + "node_modules/selfsigned": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", + "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", + "dependencies": { + "@types/node-forge": "^1.3.0", + "node-forge": "^1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-4.0.0.tgz", + "integrity": "sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA==", + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/semver/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "dependencies": { + "debug": "2.6.9", + "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": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/send/node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serialize-javascript": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", + "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/serve-handler": { + "version": "6.1.5", + "resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.5.tgz", + "integrity": "sha512-ijPFle6Hwe8zfmBxJdE+5fta53fdIY0lHISJvuikXB3VYFafRjMRpOffSPvCYsbKyBA7pvy9oYr/BT1O3EArlg==", + "dependencies": { + "bytes": "3.0.0", + "content-disposition": "0.5.2", + "fast-url-parser": "1.1.3", + "mime-types": "2.1.18", + "minimatch": "3.1.2", + "path-is-inside": "1.0.2", + "path-to-regexp": "2.2.1", + "range-parser": "1.2.0" + } + }, + "node_modules/serve-handler/node_modules/path-to-regexp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.2.1.tgz", + "integrity": "sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ==" + }, + "node_modules/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", + "dependencies": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/serve-index/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/serve-index/node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" + }, + "node_modules/serve-index/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/serve-index/node_modules/setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" + }, + "node_modules/serve-index/node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "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==", + "dependencies": { + "define-data-property": "^1.1.1", + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, + "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", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "node_modules/shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dependencies": { + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shallowequal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", + "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==" + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "engines": { + "node": ">=8" + } + }, + "node_modules/shell-quote": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", + "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/shelljs": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", + "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", + "dependencies": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + }, + "bin": { + "shjs": "bin/shjs" + }, + "engines": { + "node": ">=4" + } + }, + "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==", + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + }, + "node_modules/sirv": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.3.tgz", + "integrity": "sha512-O9jm9BsID1P+0HOi81VpXPoDxYP374pkOLzACAoyUQ/3OUVndNpsz6wMnY2z+yOxzbllCKZrM+9QrWsv4THnyA==", + "dependencies": { + "@polka/url": "^1.0.0-next.20", + "mrmime": "^1.0.0", + "totalist": "^3.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "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==", + "dependencies": { + "@types/node": "^17.0.5", + "@types/sax": "^1.2.1", + "arg": "^5.0.0", + "sax": "^1.2.4" + }, + "bin": { + "sitemap": "dist/cli.js" + }, + "engines": { + "node": ">=12.0.0", + "npm": ">=5.6.0" + } + }, + "node_modules/sitemap/node_modules/@types/node": { + "version": "17.0.45", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz", + "integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==" + }, + "node_modules/skin-tone": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/skin-tone/-/skin-tone-2.0.0.tgz", + "integrity": "sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA==", + "dependencies": { + "unicode-emoji-modifier-base": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/sockjs": { + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "dependencies": { + "faye-websocket": "^0.11.3", + "uuid": "^8.3.2", + "websocket-driver": "^0.7.4" + } + }, + "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==", + "engines": { + "node": ">= 6.3.0" + } + }, + "node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "engines": { + "node": ">= 8" + } + }, + "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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-support/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/space-separated-tokens": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", + "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "dependencies": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "dependencies": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + }, + "node_modules/srcset": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/srcset/-/srcset-4.0.0.tgz", + "integrity": "sha512-wvLeHgcVHKO8Sc/H/5lkGreJQVeYMm9rlmt8PuR1xE31rIuXhuzznUUqAt8MqLhB3MqJdFzlNAfpcWnxiFUcPw==", + "engines": { + "node": ">=12" + }, + "funding": { + "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", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/std-env": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.5.0.tgz", + "integrity": "sha512-JGUEaALvL0Mf6JCfYnJOTcobY+Nc7sG/TemDRBqCA0wEr4DER7zDchaaixTlmOxAjG1uRJmX82EQcxwTQTkqVA==" + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "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==", + "dependencies": { + "character-entities-html4": "^2.0.0", + "character-entities-legacy": "^3.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/stringify-object": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", + "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", + "dependencies": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", + "integrity": "sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/style-to-object": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.4.4.tgz", + "integrity": "sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==", + "dependencies": { + "inline-style-parser": "0.1.1" + } + }, + "node_modules/stylehacks": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz", + "integrity": "sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==", + "dependencies": { + "browserslist": "^4.21.4", + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/svg-parser": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", + "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==", + "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" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/svgo/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "engines": { + "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", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/terser": { + "version": "5.24.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.24.0.tgz", + "integrity": "sha512-ZpGR4Hy3+wBEzVEnHvstMvqpD/nABNelQn/z2r0fjVWGQsN3bpOLzQlqDxmb4CDZnXq5lpjnQ+mHQLAOpfM5iw==", + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.3.9", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", + "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.17", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.16.8" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/terser-webpack-plugin/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/terser-webpack-plugin/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/terser-webpack-plugin/node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/terser-webpack-plugin/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "node_modules/terser-webpack-plugin/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/terser-webpack-plugin/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" + }, + "node_modules/thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" + }, + "node_modules/tiny-invariant": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.1.tgz", + "integrity": "sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==" + }, + "node_modules/tiny-warning": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", + "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/totalist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", + "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", + "engines": { + "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", + "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/trough": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/trough/-/trough-2.1.0.tgz", + "integrity": "sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + }, + "node_modules/type-fest": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", + "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/type-is/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/type-is/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dependencies": { + "is-typedarray": "^1.0.0" + } + }, + "node_modules/typescript": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.2.tgz", + "integrity": "sha512-6l+RyNy7oAHDfxC4FzSJcz9vnjTKxrLpDG5M2Vu4SHRVNg6xzqZp6LYSR9zjqQTu8DU/f5xwxUdADOkbrIX2gQ==", + "peer": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "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", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-emoji-modifier-base": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unicode-emoji-modifier-base/-/unicode-emoji-modifier-base-1.0.0.tgz", + "integrity": "sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "engines": { + "node": ">=4" + } + }, + "node_modules/unified": { + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.4.tgz", + "integrity": "sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ==", + "dependencies": { + "@types/unist": "^3.0.0", + "bail": "^2.0.0", + "devlop": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unique-string": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-3.0.0.tgz", + "integrity": "sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==", + "dependencies": { + "crypto-random-string": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/unist-util-is": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", + "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", + "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position-from-estree": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position-from-estree/-/unist-util-position-from-estree-2.0.0.tgz", + "integrity": "sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-remove-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-5.0.0.tgz", + "integrity": "sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", + "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-parents": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", + "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "engines": { + "node": ">= 0.8" + } + }, + "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==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/update-notifier": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-6.0.2.tgz", + "integrity": "sha512-EDxhTEVPZZRLWYcJ4ZXjGFN0oP7qYvbXWzEgRm/Yql4dHX5wDbvh89YHP6PK1lzZJYrMtXUuZZz8XGK+U6U1og==", + "dependencies": { + "boxen": "^7.0.0", + "chalk": "^5.0.1", + "configstore": "^6.0.0", + "has-yarn": "^3.0.0", + "import-lazy": "^4.0.0", + "is-ci": "^3.0.1", + "is-installed-globally": "^0.4.0", + "is-npm": "^6.0.0", + "is-yarn-global": "^0.4.0", + "latest-version": "^7.0.0", + "pupa": "^3.1.0", + "semver": "^7.3.7", + "semver-diff": "^4.0.0", + "xdg-basedir": "^5.1.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/yeoman/update-notifier?sponsor=1" + } + }, + "node_modules/update-notifier/node_modules/boxen": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-7.1.1.tgz", + "integrity": "sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==", + "dependencies": { + "ansi-align": "^3.0.1", + "camelcase": "^7.0.1", + "chalk": "^5.2.0", + "cli-boxes": "^3.0.0", + "string-width": "^5.1.2", + "type-fest": "^2.13.0", + "widest-line": "^4.0.1", + "wrap-ansi": "^8.1.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/update-notifier/node_modules/camelcase": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-7.0.1.tgz", + "integrity": "sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/update-notifier/node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/uri-js/node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/url-loader": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz", + "integrity": "sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==", + "dependencies": { + "loader-utils": "^2.0.0", + "mime-types": "^2.1.27", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "file-loader": "*", + "webpack": "^4.0.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "file-loader": { + "optional": true + } + } + }, + "node_modules/url-loader/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/url-loader/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/url-loader/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "node_modules/url-loader/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/url-loader/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/url-loader/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "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", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "node_modules/utila": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "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==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/value-equal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz", + "integrity": "sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==" + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vfile": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.1.tgz", + "integrity": "sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-location": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-5.0.2.tgz", + "integrity": "sha512-NXPYyxyBSH7zB5U6+3uDdd6Nybz6o6/od9rk8bp9H8GR3L+cm/fC0uUTbqBmUTnMCUDslAGBOIKNfvvb+gGlDg==", + "dependencies": { + "@types/unist": "^3.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-message": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz", + "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "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", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "dependencies": { + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/web-namespaces": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz", + "integrity": "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==", + "funding": { + "type": "github", + "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", + "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==", + "dependencies": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.0", + "@webassemblyjs/ast": "^1.11.5", + "@webassemblyjs/wasm-edit": "^1.11.5", + "@webassemblyjs/wasm-parser": "^1.11.5", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.9.0", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.15.0", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.7", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-bundle-analyzer": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.10.1.tgz", + "integrity": "sha512-s3P7pgexgT/HTUSYgxJyn28A+99mmLq4HsJepMPzu0R8ImJc52QNqaFYW1Z2z2uIb1/J3eYgaAWVpaC+v/1aAQ==", + "dependencies": { + "@discoveryjs/json-ext": "0.5.7", + "acorn": "^8.0.4", + "acorn-walk": "^8.0.0", + "commander": "^7.2.0", + "debounce": "^1.2.1", + "escape-string-regexp": "^4.0.0", + "gzip-size": "^6.0.0", + "html-escaper": "^2.0.2", + "is-plain-object": "^5.0.0", + "opener": "^1.5.2", + "picocolors": "^1.0.0", + "sirv": "^2.0.3", + "ws": "^7.3.1" + }, + "bin": { + "webpack-bundle-analyzer": "lib/bin/analyzer.js" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/webpack-bundle-analyzer/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "engines": { + "node": ">= 10" + } + }, + "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==", + "dependencies": { + "colorette": "^2.0.10", + "memfs": "^3.4.3", + "mime-types": "^2.1.31", + "range-parser": "^1.2.1", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/webpack-dev-middleware/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/webpack-dev-middleware/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/webpack-dev-middleware/node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/webpack-dev-server": { + "version": "4.15.1", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.1.tgz", + "integrity": "sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA==", + "dependencies": { + "@types/bonjour": "^3.5.9", + "@types/connect-history-api-fallback": "^1.3.5", + "@types/express": "^4.17.13", + "@types/serve-index": "^1.9.1", + "@types/serve-static": "^1.13.10", + "@types/sockjs": "^0.3.33", + "@types/ws": "^8.5.5", + "ansi-html-community": "^0.0.8", + "bonjour-service": "^1.0.11", + "chokidar": "^3.5.3", + "colorette": "^2.0.10", + "compression": "^1.7.4", + "connect-history-api-fallback": "^2.0.0", + "default-gateway": "^6.0.3", + "express": "^4.17.3", + "graceful-fs": "^4.2.6", + "html-entities": "^2.3.2", + "http-proxy-middleware": "^2.0.3", + "ipaddr.js": "^2.0.1", + "launch-editor": "^2.6.0", + "open": "^8.0.9", + "p-retry": "^4.5.0", + "rimraf": "^3.0.2", + "schema-utils": "^4.0.0", + "selfsigned": "^2.1.1", + "serve-index": "^1.9.1", + "sockjs": "^0.3.24", + "spdy": "^4.0.2", + "webpack-dev-middleware": "^5.3.1", + "ws": "^8.13.0" + }, + "bin": { + "webpack-dev-server": "bin/webpack-dev-server.js" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.37.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "webpack": { + "optional": true + }, + "webpack-cli": { + "optional": true + } + } + }, + "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==", + "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 + } + } + }, + "node_modules/webpack-merge": { + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", + "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", + "dependencies": { + "clone-deep": "^4.0.1", + "flat": "^5.0.2", + "wildcard": "^2.0.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/webpack/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/webpack/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "node_modules/webpack/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/webpack/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/webpack/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/webpackbar": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/webpackbar/-/webpackbar-5.0.2.tgz", + "integrity": "sha512-BmFJo7veBDgQzfWXl/wwYXr/VFus0614qZ8i9znqcl9fnEdiVkdbi0TedLQ6xAK92HZHDJ0QmyQ0fmuZPAgCYQ==", + "dependencies": { + "chalk": "^4.1.0", + "consola": "^2.15.3", + "pretty-time": "^1.1.0", + "std-env": "^3.0.1" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "webpack": "3 || 4 || 5" + } + }, + "node_modules/websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "dependencies": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "engines": { + "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", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/widest-line": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz", + "integrity": "sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==", + "dependencies": { + "string-width": "^5.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/wildcard": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", + "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==" + }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "node_modules/ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "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 + } + } + }, + "node_modules/xdg-basedir": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-5.1.0.tgz", + "integrity": "sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/xml-js": { + "version": "1.6.11", + "resolved": "https://registry.npmjs.org/xml-js/-/xml-js-1.6.11.tgz", + "integrity": "sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==", + "dependencies": { + "sax": "^1.2.4" + }, + "bin": { + "xml-js": "bin/cli.js" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + }, + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/yocto-queue": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", + "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zwitch": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", + "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + } + } +} diff --git a/api-docs/package.json b/api-docs/package.json new file mode 100644 index 000000000..84e54759f --- /dev/null +++ b/api-docs/package.json @@ -0,0 +1,51 @@ +{ + "name": "api-docs", + "version": "0.0.0", + "private": true, + "scripts": { + "docusaurus": "docusaurus", + "start": "docusaurus start", + "build": "docusaurus build", + "swizzle": "docusaurus swizzle", + "deploy": "docusaurus deploy", + "clear": "docusaurus clear", + "serve": "docusaurus serve", + "write-translations": "docusaurus write-translations", + "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", + "clsx": "^1.2.1", + "prism-react-renderer": "^2.1.0", + "react": "^18.0.0", + "react-dom": "^18.0.0" + }, + "devDependencies": { + "@docusaurus/module-type-aliases": "3.0.0", + "@docusaurus/types": "3.0.0" + }, + "browserslist": { + "production": [ + ">0.5%", + "not dead", + "not op_mini all" + ], + "development": [ + "last 3 chrome version", + "last 3 firefox version", + "last 5 safari version" + ] + }, + "engines": { + "node": ">=18.0" + }, + "description": "This website is built using [Docusaurus 2](https://docusaurus.io/), a modern static website generator.", + "main": "babel.config.js", + "directories": { + "doc": "docs" + }, + "author": "", + "license": "ISC" +} diff --git a/api-docs/sidebars.js b/api-docs/sidebars.js new file mode 100644 index 000000000..c1ca6072d --- /dev/null +++ b/api-docs/sidebars.js @@ -0,0 +1,8 @@ +// @ts-check + +/** @type {import('@docusaurus/plugin-content-docs').SidebarsConfig} */ +const sidebars = { + tutorialSidebar: [{ type: 'autogenerated', dirName: '.' }], +}; + +export default sidebars; diff --git a/api-docs/src/css/custom.css b/api-docs/src/css/custom.css new file mode 100644 index 000000000..2bc6a4cfd --- /dev/null +++ b/api-docs/src/css/custom.css @@ -0,0 +1,30 @@ +/** + * Any CSS included here will be global. The classic template + * bundles Infima by default. Infima is a CSS framework designed to + * work well for content-centric websites. + */ + +/* You can override the default Infima variables here. */ +:root { + --ifm-color-primary: #2e8555; + --ifm-color-primary-dark: #29784c; + --ifm-color-primary-darker: #277148; + --ifm-color-primary-darkest: #205d3b; + --ifm-color-primary-light: #33925d; + --ifm-color-primary-lighter: #359962; + --ifm-color-primary-lightest: #3cad6e; + --ifm-code-font-size: 95%; + --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.1); +} + +/* For readability concerns, you should choose a lighter palette in dark mode. */ +[data-theme='dark'] { + --ifm-color-primary: #25c2a0; + --ifm-color-primary-dark: #21af90; + --ifm-color-primary-darker: #1fa588; + --ifm-color-primary-darkest: #1a8870; + --ifm-color-primary-light: #29d5b0; + --ifm-color-primary-lighter: #32d8b4; + --ifm-color-primary-lightest: #4fddbf; + --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3); +} diff --git a/api-docs/src/pages/index.md b/api-docs/src/pages/index.md new file mode 100644 index 000000000..ed88adf59 --- /dev/null +++ b/api-docs/src/pages/index.md @@ -0,0 +1,17 @@ +--- +sidebar_position: 1 +--- + +# JavaScript Trackers +The Snowplow JavaScript Trackers support being used in a number of environments. There are three versions of the tracker. + +## Web tracking +We have two flavours of web tracker: JavaScript and Browser. + +- JavaScript Tracker (v2 and v3) for loading via tags, by adding code snippets to your website or Tag Manager solution. +- Browser Tracker (v3) for installation into web apps via npm. Popular when natively integrating tracking into React, Angular and Vue applications. + +## Server-side tracking +Track events in server-side Node.js environments using the Node.js Tracker (v3). Used via npm. + + diff --git a/api-docs/src/pages/index.module.css b/api-docs/src/pages/index.module.css new file mode 100644 index 000000000..9f71a5da7 --- /dev/null +++ b/api-docs/src/pages/index.module.css @@ -0,0 +1,23 @@ +/** + * CSS files with the .module.css suffix will be treated as CSS modules + * and scoped locally. + */ + +.heroBanner { + padding: 4rem 0; + text-align: center; + position: relative; + overflow: hidden; +} + +@media screen and (max-width: 996px) { + .heroBanner { + padding: 2rem; + } +} + +.buttons { + display: flex; + align-items: center; + justify-content: center; +} diff --git a/api-docs/static/.nojekyll b/api-docs/static/.nojekyll new file mode 100644 index 000000000..e69de29bb diff --git a/api-docs/static/img/favicon.ico b/api-docs/static/img/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..a0e01c17cca0dbc1606cd1282242ef669ca7ad63 GIT binary patch literal 16465 zcmbtc^;et0(hd$SgyIgxp=j~o?ruejYoNHhH^trEp~YIPxD|JYP#l6g6o)VOp6@@n z?=Q(Yo88%+cV}j2=XnyTt}2K1hV%^p0Kig^m(~OT5aC}D0qDr^4`UZ{7XUz-C#JW@f;iJw2!RJuaO>((hoOaaQYo%&5@TR$@ZDsG?AuclGwB{lP<|>K_YD zRhbkg(9sbUCo)F^y2RAQLde!cZ6FK3gFO zG%8@3($4IK%#A5EfDNeNc-}!A=K3@wFr13xYQwpX8a#ILB(uYJz_PqR#HH)HSw(v1U1kg=AHY)gmWu8*l?(RBKtrP` z`w}hj4bRxX;gVTyso<#3WsDv-u13p#m(2nLz!* zt8`R8YO2_-4p`!~m<^{+n!!0VNDin4x6kWFdE8X|%+kKdQVxKrrRVsh_><513WdM4 z;;=g#5X22{IcT{{(|npSsH024b;An)_u&rs1x$Gmhkd&Nsa_K-(L43G}!~n>}TjwRB^YbU)m zht=W5au12+6}0Ffg0RO85u@d=YNV|C$?eSEp6shxr$DrO1d~Q-QtBvovwfUOS6{5> z$&JfERdVx~SBYyp*@o3}_f}9vJ*6zqpNG3$O~93c4(O-CHcQE~#dDM8S-lat`XAy(DCP6$#6d{F{nvZdgsmMj$>p z6&aEmV}+oY$+>EF_Z_MJDjV?Q>9Za$G3R`yYe>>=VJ@}}l4`$`*nVxl>|DUsC&sN0XCR5t+cXm7#Te|ul?ZGTCGyxwaysuMjvI z)G_8Ht)4hR)*|h;k#S~ytkm{=^Bv@`9~1k!|HH% z$DJ-M?}W$Cm5T|mlL>m1TjypGqCn)kbx(`4PYhI1jr*Fe+!}wp`+F??7akw+wb0Lz z#?6{0F3YJC+w)=Gsnd#GEsERxGoOF(sQI}h_C2moG!RJt5)Mds_>{tDe8Bff40=+l zqg;p_SP1gBHr7H{5lvMTD^4}mI)TIz-mr&?HjKiGV((R`dG2jTVk@lMXTaZWYzM_Y zeT=YM5_j{SZvXmzB){Byz_xT!Iks*#$v8?tyM4XLhl)mxhk2QW{lyzh#%R+(r@Rdgmn8jS? z+}`&uzqHC|&#K`tts9*4vr5SB`nSITaoVHH;TS^HhPmbJ14DB8l`m zefcxK&X^g~NmjOc-xGtxh|C3E2h=i!_T#Wy!*+gYhNP09SFF`9wK#X1tSdKJmK)f{ z_S!%tj5E!1l%B~dFd6^I#r==RWp9j!crkF@GJ6)QdpPEd zaPsd}LpdZq6tKoyixK&t#dGyGM%PYR9sg=ynC+1n=1g@GB{co#iGl8L{-7e-CyPIS z7948au)SWGftcR}jnez7^rD*O$5Bim`r@jmu=T3qR-@al+_vef&D({M=ug60JX({& zZEUtpB`)+r5XJn2)xrZ=gYi<&zLpahD-k^))kR2)DP8p_`%AQK(4=s7VPppKS?izn zUl#-=dOpqKYYFt3Jx(qZX_6Ab zUs%IRCF~uN63-vt3@+ZW6syl)|M`_cxZrmyU?6t(V#yL|{A|7X!w|X(1G9%x(nhBg;r*(WMcGbeg7q|Pdwo*g{0zB$U54@E=$E27B=^X&eEie+ zb3DqpkeG0)#+vuAs9p(2nX&p8R%7fZns1QVxS%BSH~jGB3S}%x+meWKY&#e4#x)ZJ zoSty^7|hBd(Jk06F1&8(=QSXo!M%%+ZUv^!YryM=@U) zGVc_{`lw`8&&M_`6wCfFO+kZx|Bn8BdQgS!-je({HG;Xxo&Y%V2|OsK@iC$t{3b0> zkdp97-tbtbI8{ux^SEEHA3uu*;#uA{Zf|bh_>-_DOITX8skPDk&Drc~5Xnf!;-5cu z)hEY_ztGi6DPHOO@#DOfUfO!w8D!JQWLHkKiyJvag-qB~C8oaDzxM{W38rx7*@vaE=NM4TxQMwfGTrlV(HlXn}VkDm7+r4({91lQ(egfC&=TEajC@yuyRc z*BN}i!d4#@if4&599sV46}u%L5QnrzpRqUaE5tiDx?{*|NHkvB4{EY z^Ppm)gd(WI{LQETSW+Vp79x{he&S=zVDTYT-}9Kj>SvB;x>vQEkJ&8TcpLVsFoACe zbl^S#E;fKCBG>jy?kL`mH8sPV@5(aTq+R+8esjILDwiD*NN^t(K2$NB@mV3qP9CM%qwDeJ}0a6GwFXsk)o$5N#$3UXESjxH=b>5_)Ng zV)mEN(zCUqZ?8Y~Y4FG&=HWpzV~m9P^>23B2z+@pvZWXidPF5w<2a*C(YKYIj(hcL z#Edd$S21f}GgEKOf6Z+=uTbuF6^PxXfO|y`xK{+{4r{S=DXrX{kA+;aMbe?E%yU(U zJK-%C;^d!0=J8!}!( z7kKM38?HZhkgdJOZ<9hV9$Ct|)5YPAVj)tv`QKneW9@WY5vy(jQ(AGA!5fGm>#LCy z#gLnQvsc}}sEQ6zA#>7Zbg~ISjR~n5@%KT`dwH)cY(dxwJP|$DsaLxgN0ND?rV#rd zBW$jQDY4P+UL=pBYDKiUI$TJ~IAD1(n~*WZ*94-&^-pMBR&$T9%09CPXoe+b=RXz@ zHb4iC9N{tPY?t-^v}$O{Tm_FdqnO~GyW&C#>{KK`)-e9hEL(=4p<7q`f_6=IUxssx zW+ekuZXO`uY*Ybu!{FyHzsmL;_PKGjt7r^_It2B+Hr<bWy;ljPFt7%Qz(wJ|x3UZt z%td8bZa!2{qvr;sq~B{UxBo2x45xbbNXwkP#$B4t@awbPgx!!@0|KhxT@E2p6T&n~ zs9&A4M`q-DFac;oYUT&5DsR%SLKjmo0js+$>W&RMq$o=M`3QgQSJ%Un9yLD8+;Y&H zQCM;?-}=5_1QX883$KJH`4(;OU)^YOH~4wTysZ^OI8V&6&2x|(K?M_6oj*OBsK695 zY#s)YDLQfyHUy4d7=W6pPaKFVYP~84E;Mmh?x?}y4D$9@c6eyZ^wnWt%C1-Jq=Q1n zx0!4qmJ07Bs$N&nIFa%g zwfo3Q%Ir6d&IRB{Wrtz@m#2C9YbVr4n$;##ljKeE~~eY-J)13PVWfl_mdY! zq4vc#&~e6>+YU|6ngS1zWwPAQiXH#f_7)uuh+ukDrtU==?Nv>WL_L^Uy>ym^0)b_< zRJ$VC2PI|Pi6@b&uf^53Z!ZPNqSFu7y`qGoSd|Njcn`l*0RDT_VxbA00CovL-2@qD zvW$-+L{Ikl1)MeVyegD9veY8)i$Lt98p0J#kLjgdZXsT9#e8CSL!HFvkg{tXfyk)& zOBg!RTt>F{hh2-X$8tyE>M5UHf3Nn9f3&rDv8pBua`TS=3zk!%c5WKVIaGTpl4LDaBD24a|0?2pydnLa*lU3KX`}6k;N{5;t(yW z=9#s^>NDfMoBLg`QQX#Clmjxk8$@_PCqR`;WL!uCLD74~qamx5H`jK%ldf}#GsUdUH3Edy&e~Y&7XF`caT)O`! z{YQYBjRqiM(YCmnSs0zv>L;s~=y!F@D|r>hKf9RWQZ%*5aqY#3y0e*diltPjRPC2e zjjONf5DYVp!#I)s$CFDs73r7OJlP{CE#V29LcX`c`H;|y%6ga6L)Yfg7rwXZ$|rzx zHix=xcX;2M3E9MSZ z+$KNuZQ4UNoX$1@iy>{Ek07BkJmHJ>-z6V}PrnlyvVJMxeOhFuxaL>&3KTl_k%?gz zJsKrJhkP=|wKqmT4@29d{|Fy4273D%3v@aJs(Lv}W7l?%=V?``c72*9MUIwrXF%F$ zEy??nu0cZbT3UMxSKWv^4Vr2A)hbodSqJ<0dgyTS@kt*Edb>=stMRXTu680fn!7CH za>p7^fcKc0L`BWjD$5L+WcO@dGOGlm?6as*ezHKXS(BIQjGDb_ZH#{^kl1F1>E%b$ zBfon_3AX$`h6n|&D$i98Y`LL^sJt>_eVUD&XyoceN$hN_LgT!=rMaLC{=!Yl3?nZw zTwz+O0XrgUo~kVZ6bPIGlkh7YZzi=Wh4S=l3YRw?pJj@F%Q@VNjr36aGCZZI0@XnM zZbkm)bAgG?)x2ayMp<4KNe`&JSYgG?sR?3N$*J&?sM;g;bCpiTK4^L6z=974_QyrwxI^?W zmOg&J+V$|%;dHk*gO;TBThpn*O<}zmhzGgqI8wZ~YMPkcm4~H+>+qDb(!ScBmt0;X zqO66l)MT8R@~K}v&pS-2HSufSY{z@YJ*D$Et3~~lL(|euVyDvEbA7}zeFE@s za?Ueu`WA@38_8}zb>`jGJ|g(k%k*YUfWSdXAsjKTBtQQUIt~1(?)2m2MTLTJ_Y`Ax|5MgS3E7(>fkCzP?;wo)t7E`=EL;8aPuvQ+6bGQ&AMF3@9Tg0YR zwQK!2|JDR}pcuSualR?Sp2|5foHBHcNKAgV@vac|MT!hkxlfR%RiiT4jimw>iZW#w z_jgwo6`EAg!P{!4#_6zVEeXREvHu~(9A(9H1Uh)R)~MHI{?ebyb73SPP%1prbsuMM zOYBt{@apB|{rXCKU4Et}6mm=ySQC@*m>Xs$9L;vB%gzb%wf_ad-gA!&l>u;{;0U+%Y0B4$Y z9o_uBU5@#zlF!6*Aaqk|O!xr*1P7dI4B32ruA}tfc^=}2n{YBYd6D6Wp%$d({n2w8 z>xdbs@*ra>FEc`cXMK{E@e*~lskrYRX34#NeEm#r(1{skD*LeAb8Cx}|G}>Q3`F9h zKX+yh!5aGf#O6wgbpS;+OWAhO^9YnYd3;rb+y>F1xu~OdO|$t9yFK{l{#iEr(+zTH z1ggDFWZeH}lyF@9c?4fq3;H}dldQh6I%MDh&RN%_J{nn6c=AG5YvVob(FNW!C9w@3 zCA_)tY&?5?v_%z~rt7_>dCh%Dz2!5F@2in0rOVeQI0Dy%%?yOaqo1UXS&Uc^+-H~s zm^e(NORznBHu#fjKtX7uzob&PcdyNegaSI9W=jiWzq*njz3Q{6}M zw3gUhgU~cv-PZ4>q+MWBOeM`#Qr1G();BSyJEwSz!!g6Dic`9k5MiT%e}C`~oUhbs zH%SD(;4oN>!w}tchQxn&o1NIkZ>^4`EAv1Pc>WA`RDC_v?8>u#F7&ItHX_Zke9sd~ zoCI%k&w+QMgwji2BHE^Ao?%qe*~%v=p07n2c&`@xz_b3GIapPs_+rphD}#FUH1(#D zGM8~N#dFAER&Fmf;X{z!`s?Du#yjAdjA_*^pP5=|l{Ctr5K*6S*0$l#%?q*Cadr$P zoGHJt6%94;?H*CCWEE=m)~)#;v`?A^_IQGr|ELFrURS80+XYMK6>=O%YOWc@TQsBt zwD6IiE}=jkc{f9`f)&BRTf12Am_S~TUO)JEyv~piW#LKyj^F5(o^-icMODKi)xJ8` z>1IQ76Z5k%CcPeCb*t_Gsiqd>1Bh7uYUQ0rgIuBTQfp%Lklwq$Da?MOD4gD@)(P(C zV5XCR-r9c*rAHoSRAZ79kj+lDWADF`&Cd)l&(yj!RXz<(@U7Qy%Pb2aTaBb4miL(3 z(Rmwpa!c{D_cHae(y{+qVICLv-7Ix_H$8mT>ob_JQhv%~4u{UQL76IKk6kI#Z%}2` z>AauUKA$Co`DC2RkLYQS?BLt>W}NJT*ouVkNn6L{?SreK z-nj%I=d28gmijFN9|ag;d?Q=0@yQ($a)dlt?arB7_Ag}08m~L@=WdS^3Q`EYoal{@$m;kt97J{BcqF&VZ#x}S0^DM?Yfx=v5=Cs@x;oq`OEh3ea7z@0yLJ=or7 zIvsDlE8%DbvHe=)X@R=djf-=__G8 zd7h2qi6Kk%4C(|Zj6)M#Gq)9$B15aw+;OF&|yhly~;{^KJ}cquoB`FrxF@XI?vUAwl= zW{92B~Gya?Ib3|L~WTbrsP0&VFtpa*umIz+;f$NBit)GT{)^L8llo z!Sj|?iX{HJRr*TWi^FIIuC4eP=7u+7B2*@n92yU?L^zgO2;nW$^Bu7VM0kMDo6D|K z$YR)hj3pyp?68G3}XQ7lT#t-&6@G zjnV@5cDUrY68a~)E1T(e$N|MWdg}~gx4KNz;RlUJ^%aqlIuT#j=-Voe4&_;1Q?aaP z--cweDeY48wsLlOQt$(K7Htkp%UMg<$CBiOfo{NVYg zw&Nl9K*`8KgIksOve5N5vGTHr#=*c1satsKSD*G*#2^(DQ1`8X4-SrxCd`0}L){VR z+E@`f<4WwZ{KWcUq_)Ji3gyXUS;AOf&QbSb+AaC!0@3ozc_NL&iv)^{%0v?L+zI=F z&6#OS%+5O2l1a$G*%0HxtyZ zC4+}c8s?PEt!c!$PoU7Z(D-0e5NN|DZ7$KC0L-26H0Gz}sfN#K@>_D6BJAVg0z%ZV za;2JayEf@PB~xhAWe5IG%C7jT)UQ2u1e5_q&TS-bLmw_5s-_9yO5UI`^SAE$uH?RcxOEWeg+cqndG>+a)nItpMlkYe(?DBO0H8fUO1diT zO`;f9560?39pwh9S<6;!@bWPEthjlVZ5|)%)2M!n#odOA2knE0hQQ zwODF$8ntY9sJ#id!gEh}54)@13s!{Hqy!aq-<>CfWs`45s(KvsF1HB$wLhXDHE`&* z5Se|VGpG-3_SVQYmd|(-u{Q#*hTEoSZOEvzi5Bo)3cGQ3VmJUYwvxSQ-)bGGE%x?? zJBwjewvB+gQ-O}Isb~-9D{Z6xMz1eMvlHlAHP`Z2rwzKd+-KeMJL81KCA|m*=w;Ia zp9VTc3lIZ~8$pZqZ3O*lg+Rcl#suEDk~v1@tlfx-3k8;fS=xIX^1TfP?7`3JHnu9l zleioBL;b_=)p*XN?AMk?lA#Rs<}bJU(ap+lU^}q4b^EyDdf*I8X@zlKoTmDXE3MyLzg z`p7q0iJO8jS04sNnzikHOSdPh?Q_aDcNn3w2JJ_IS78U+v?dkgfM1-`X8O$5Al#|> z&0M_+H>CjOqlfejUVqsa*y7zn{~w}jcD*XMgpJ7(pnA>pOJ)@_}JP{vq32i`-~MVR6*<@fiAuPyXG4 z_I~A)Ma4Zq11z#!NDd^}zV#_Z6NG&2m0>!tC57I<&yO@U>UNYeP}@+$v2)?~l5t(Q zX4lD8$xC@%g0oua3Sd&PnL&aT>0ui9qphw*b_V_4R5e%>F7IIqiP$;oieB_A2ut;2 zxGgBUjypir)&e2Bdt@M$h~xod_qYGHo%2t!^{H)!_+7Q21%;j$5rd6m7yON9FpSCH zJU3Lwi2$kAy~el?jVS@#xNHX0ejM)uT$mPV0%b}RFVUL1@(sr`Q_EA9M%)!vBea+ z))TBd#=PJoU~~u!GVR+%uqKr~HCyeJGJ)Xe<@~#TcBa>2|DVHo+hsgD;*-4nqsO;} zah2Cz=GlaNN4h=oP(lP1x)zq0iA>aOp*-jhn2C?`>Y(W*^Em#iUv>Z21~q z1Ly4x6rggy;3&;UFquW>`x@7^k;YrbO}tyscxxDx6M z^45O{U*=kG&bXwWS}+qj@0aiT)>W{=JLJcrU8ZCz)GsK2Ptd}ql9gWQw{e+rE&h}& zJ7;o09xP^+9_^Xf7$x?up0m?t1?)go*l2W=R*Jwe8(r~OD&zLTeU|^wDZaJoKmRj? zPg44kxXQH!PR^sb zuBlfhX%>Xp69s@S@@GuBNI9Du;a;V`+2{}IvyA6HvTB0Q<-~G62;Gco6r$N7T!H)SDa44 zMChRG!;gp)yZQlkNd6pDL`1q+Xh)ZI^|4}F+xr_2m4a~Y&ksgMK;rx?OU>Uin_oh2 zt^R5NS!@IHRWJ2#_Nx@tVga}IcOjWTg15#R;@P$8IEt&&zMwpD6A0&@%wHSXx%bDP{7XVfC~ z^diT{;#w#%LLkml{KMpRn*3Hl-p0adVc1Q}bO_%Vnj%`TB9QTdAp$2F!s;(4cHxK; zUe6i3aJ!w5znTDSP#k^{f`>$>eDBY^>SS#8G{=Fh}0jtKeB> z71i$OzyF#6og1%KqXp)A+q6(7yM)e_eO%dvWos{Z zgQ~t#Rfq0I09mnPOJo+OPe2TndksZD)BuC z;VW=@HAhaqa)L4=K?74R@ebS8O=brencr|ikPfspyCK&`lkQ8HKdM5vV;cs9l3rnD zh8~KC@uu6-40YtiTgCI)+Xt3j#F6b_D z_nF@&`eRG2tt;M4vPo~D;59Zoo4elqKCTm<_4Mq*iJA3CEJ2t7Q2$tL{FeP}`qo<) zgFn4>6g@`J>YuQeth~g#q`!dsKZIk@rcJwn+w8aSPO5xmy zAJ~C88`F!~u(;c7!aEeZjQqrbM@tV`ahj#I`zfIKR%6Xf=mL>`%vaD~ppP*LZhMhnbS&%bgJBL4?rX^hTyooxA=-7R>TQ|7X-*FR390!^JooQBNVj1svWrT zumybFyK4BTrYVGc-rvT5tUrMZnQ{tet0)gAq>^f3zTbi$pqfwvgzdcxZ?}}jM9$(t z0m8H7d|{sM{A=6quz!6_eKB&PulgJnG(fYC@GzC%Lh+_Oe&I7Ia5tyzM=nykIQQMC z9lB#-5HGKX&Vjj*#S_~M>F@jIjCgO7Pg9=nTW7P@&(akFM(xwqB5BU&&$=q*y571K zgD|Lm@D>vj2=)88XJ4s&s};;IlX?>&3SU@2_oxqzDgorR`0EU@!QMgQVmFpW>R$Sj zu?z6UB{#^L?JG)&>%pW$UTY*xKGYmXQSg}JDXUd_35WY|pHqIoZkYJwKqs%$=cV&Q zz%SE~^uje@a><}{WkG$IpIErnb>kk>W^x2`!$kg{nwu{#ohnOW@g`z0KB4Q$-|RQz zq!kp1qH=ead8C5rf~+Y`kw!<@-PXTuIF7GYP)XE3;SEl~0#r@_QzK@P(E<5$8ogyH zQk}(SKj$`7eea+whXl3LSybEgk?W=N#|56~-h4X<8>qaNj^!S42kgK5-u>I9?Apc_ z?K*0X%$_~#;+O{l=EYHl9RZ(YoXoxZ8i$02u4u&iszVdXhFENux;$`rx-81oFW z89;$`7jo=DlwWt_&xPF7AUQc~Er5eT*N0zZFtH8R6R8AZIUT4jAaR2UMmTDp$=ei$)w(iSWlA4%L_g5GN zC*V#R-y(eC^6SlpfKSzzw@ya=4iPB*mQ8gSW^$-Deuxci!bFEylR#NnZtA!^r#8XyOx)ZLZx8N$z+80N`Wa0g{!A+?~D4@rm+BWBk2ob$~ik18wNq7(Osi^ zg{#LE8!T2x!RTvA++*b`w)z}cp*qF^pJG$$C0nLfdNMT{LGWZHQaPChw#ZQO7Z>yV zM^6O@x75_$vyf|onBd7A;vgy;1W>DIa^G=8N)k-;uy_++tQ#j>0<71YVeS|*Cgc{ATMCPxP zINZkjqrMOQlF5#i8K1qw(pI9wxoU%QUXznFg}o<#^_~&hBpY}tI+VBu+h#x+x(f6P z!fDaKjovz=@VHg$!xWcBHW}T7?J@X_Sc8e5U~RbG(tnkF{PD-q* z>t0t)q#uS!#e8K9P=if#a@SI)J<1f{-y4=GSUg;kg9*pR3lPMS<45OrN{LWuHD^Mr z#L&`;Fo2vgrQVc5*j0>-*6&*AycH4!8HXRQ`_+&aOTaZre8M_bohha4&-$cjLhYoF z%LqHjpoNF$vtPRGz_r2OQy?M_FQbX% z%aSca0FczfaL+Z_C2=Nwf60)EXyjkf@L#1FDc^P>QvwILPgP&!+p>;dXpm;+pXqaF zbyAXiG{aim8|SbWSaNR{l0ceC?RWL>uSulPsU&?~$&U05cXfOO?~HSeMo0ZCm5m;< zdC;3IHvsQLDKAYfXF@`t=hT0xpZB9_NAQV;AyYtonrN#?wR|t&19nOC4g1@?Tqh44AIh9NrCjO^tNnaTr_*iy z@^TI;M9W9bo79yz4WVXy1+5-+8HV*JMtF~IVe^zNbXD zpR5vRsOR%Gffli%){ucbT4fGECq= zJSj55LCKlWBlUjoXR+UF4M!{!^uhJ;6KR^^$2h|F%%=R^ekjss1wmqKtPdYx=b#hu zYz;W@-+JK(9JF;qxPs~ENJf;@#g4Z}a=sWW-y#swP8{x2hcEkF6w%OEuadxl&y`JwmoQc->YT z3rAZEv7$h=x!85>r3PICzcgT)OTbwX>>>cx2m-^#^mLk-KHJ5!l8jzvpj)sX9DHl~ zGuhS;i`$?nK~n(ou|di~hTjl*fi_taX zWXmw;hYXU7BE|7^DHNBoeq*yN;Memc$I&iBlQbGOXyCz=opUHWl{@N3CLW!~xv^hQ^AJh(ohB z`g#SFrETzFkPa`z3k+P*Sbt)0eQdWrIM$5tT8Ip;lgXQQY}8YY@b#{u1oy{ z9p8Kd0g0qH-_U}3gi-zCRO_A#shTf};ecgSG)h$XGwIIN_hhOQ8ZR)`< zn2KTiIC>@cfu)e0%K;Xbsm1BI^-sKzL>>r*?U%r0SHHg!E8Bv_shIobdg4UmRb?4c zA`cln=OOnhQPmn)Wb%fr;vctD$&asW2ZLr7qyp2E$DB0nqF<-d1SW0i-wJhO(;es9 zR%A%&KgqVOvRY>Em5kwH{Y-A?!zO$oLp?7B4^mZT_0hv$rZF7*Uf-A9KoG}gu=#$E zb_@GId<#5VpuNWO69c`jKuS|jn=A|KzJF*{t&STUZ38?{xmQvAa?U#}hBh9f>%9b- ziVG^U1Jc?8LAH*8c!EKl{zvbM2^j94e`X?!8D1e0+gZFl3Dpgz`SP%wp_1;ny6zqE z_SF%3QL8y#nBQm9O#76EWV1~^!yq9#Ks*rkD`W-t(rs#C9xQ@L*c zQE{Odiz7H2_Znjdq}bQi?skLA;|xk;SX;I&oxt4QSE*z84r-Tg+h%Xz>r%+_!V|=` z%9&OyrM^=qo@eILNX|<@G|5<}8-Jw8`iCRS(pcs_`T-XCZG#U|+U+*(lw=-2r}Dt| zA8rRv*`#?ud6pDLYcOfuJNhxVB-3Y#0LuBKpVFpr<#0BQ952KTZuiaE>vUuHpM`>O zIKq~`j#1HdmKeDuN0c!PE%D`B*ro`92fJi>A$;x^_@)_fno3M)S zRM+B-%!YfbwyZsYpVbOfop}!W#Kn9Q2ZWe#n4@`yT(VwOi@)NVC1B}ro?}B1|Kulk z&Z@(|0zfJ1sr9F?Fldgk`SXZvX`eV`%JH?+6_;uje$(0H15~&{$~vT$Wf5WU&E=c^ z_#H&9Or?YHViPF!QRFMbL+i9+dLpSg8n}eYqc(V30WulfH}3Xkmt;e(mC!@eBA6j5O!eGYUj>I{A*7~q4i>UQu3_L5Y%#xC+Dx&a?>gf5mxtIie zeIB#zA9g<3SH7oWW^_q~XL^cPIUW14h4m~A+;F-Wg^9o;@-7R_tSv5!`kL?_$FXY3 za4e^R3%9Yz7sgnA4E^s4GO|Idc0q*dLyC@(@3>{uDFq$Yz_EPWv-2)poNES> zaN@M+RaAAlE!Uo&VAhXnS6n!Bz5{QZYrzCMqfuf}?R9TDwa_3TrXkk2s)&tX0dEj3 zG$F2rH<- z+TTq@6s)MD4C5~+yNzs{gET>rNOhUki61L#$VVzYey;88EuJAibSz4MqJ`iFCu9@u z+jisQ(-?w7xF+pKdI1%WL@iP0G2|Ls?hG8t{*pPez;^V;Oke! z#b&lqeEafQcJXL`mq7`~RA!rY(D{fI=M56+88&1iUMA`UfhC=DZN%nOGVwIyOD2J!(x;tg+&%l&Lol8T^p_cI}d+Ji!+Wj>q z6X9Dy%vg#6Y?&dPHLa|tY)qZkqO8A%;oyVNc(clz)Z7_ft=2Bf884Uf($C;E2hEDl zB>tJ85$m~LJx*=Z?4WFXrm(O=l6gk1(bl0P4c92276sAEyd26M>!ea1MHvd@m4)s=lrjg7h*W<;_? z#x=jTPaQ8$a^;7IvrP92%o|mn=N4F{J{%o&{pJ%iFzPkKn~`5RV&m-Z&uJ2uAVfdt zD~_rZ_m^4D((!h3pQJngDmc(JgaUs={J(T@2CqOezzZ>Q*6^xpnadE9kJ1AwH)a?X zAP5stWtXN!-Hr_7<}$jSrY|%TwHGzG11&^6E{WZ>YL1`qgH@;hhrZoWz*l%fC~D}) zj4D*gzLFueBuP7^XyA|1GPAu^Y*iuwm%_m4ooOufPlWf02!-J;m#&h{ = Record> = { @@ -58,7 +58,7 @@ export type SelfDescribingJson = Record = Record> = { @@ -127,7 +127,7 @@ export interface CommonEventProperties> { } /** - * export interface containing all Core functions + * Export interface containing all Core functions */ export interface TrackerCore { /** @@ -819,7 +819,7 @@ export function buildScreenView(event: ScreenViewEvent): PayloadBuilder { /** * A Link Click Event - * Used when a user clicks on a link on a webpage, typically an anchor tag + * Used when a user clicks on a link on a webpage, typically an anchor tag `` */ export interface LinkClickEvent { /** The target URL of the link */ @@ -836,7 +836,7 @@ export interface LinkClickEvent { /** * Build a Link Click Event - * Used when a user clicks on a link on a webpage, typically an anchor tag + * Used when a user clicks on a link on a webpage, typically an anchor tag `` * * @param event - Contains the properties for the Link Click event * @returns PayloadBuilder to be sent to {@link @snowplow/tracker-core#TrackerCore.track} diff --git a/trackers/browser-tracker/api-extractor.json b/trackers/browser-tracker/api-extractor.json index 9d9a69053..6d99f5d5c 100644 --- a/trackers/browser-tracker/api-extractor.json +++ b/trackers/browser-tracker/api-extractor.json @@ -135,7 +135,7 @@ * SUPPORTED TOKENS: , , * DEFAULT VALUE: "/etc/" */ - "reportFolder": "/docs/" + "reportFolder": "../../api-docs/docs/browser-tracker/" /** * Specifies the folder where the temporary report file is written. The file name portion is determined by diff --git a/trackers/node-tracker/api-extractor.json b/trackers/node-tracker/api-extractor.json index d8abf13ef..d44afd2c0 100644 --- a/trackers/node-tracker/api-extractor.json +++ b/trackers/node-tracker/api-extractor.json @@ -135,7 +135,7 @@ * SUPPORTED TOKENS: , , * DEFAULT VALUE: "/etc/" */ - "reportFolder": "/docs/" + "reportFolder": "../../api-docs/docs/node-tracker/" /** * Specifies the folder where the temporary report file is written. The file name portion is determined by From c9e7f24e30a915bd950ce9fa5929365d62addc87 Mon Sep 17 00:00:00 2001 From: Greg Leonard <45019882+greg-el@users.noreply.github.com> Date: Thu, 16 Nov 2023 16:09:47 +0000 Subject: [PATCH 150/449] Add OTB Button Click Tracking (close #1267) --- ...utton-click-tracking_2023-11-22-13-22.json | 10 + ...utton-click-tracking_2023-11-22-13-22.json | 10 + .../rush/browser-approved-packages.json | 12 +- common/config/rush/pnpm-lock.yaml | 119 +++++++---- common/config/rush/repo-state.json | 2 +- libraries/tracker-core/src/core.ts | 2 +- .../LICENSE | 29 +++ .../README.md | 63 ++++++ .../jest.config.js | 5 + .../package.json | 55 ++++++ .../rollup.config.js | 37 ++++ .../src/api.ts | 108 ++++++++++ .../src/core.ts | 19 ++ .../src/index.ts | 1 + .../src/types.ts | 47 +++++ .../src/util.ts | 60 ++++++ .../test/test.test.ts | 185 ++++++++++++++++++ .../tsconfig.json | 3 + rush.json | 6 + trackers/javascript-tracker/package.json | 3 +- trackers/javascript-tracker/src/features.ts | 6 + .../test/integration/buttonClick.test.ts | 149 ++++++++++++++ .../test/pages/button-click-tracking.html | 100 ++++++++++ trackers/javascript-tracker/tracker.config.ts | 1 + .../javascript-tracker/tracker.lite.config.ts | 1 + .../javascript-tracker/tracker.test.config.ts | 1 + 26 files changed, 989 insertions(+), 45 deletions(-) create mode 100644 common/changes/@snowplow/browser-plugin-button-click-tracking/issue-1267-otb-button-click-tracking_2023-11-22-13-22.json create mode 100644 common/changes/@snowplow/tracker-core/issue-1267-otb-button-click-tracking_2023-11-22-13-22.json create mode 100644 plugins/browser-plugin-button-click-tracking/LICENSE create mode 100644 plugins/browser-plugin-button-click-tracking/README.md create mode 100644 plugins/browser-plugin-button-click-tracking/jest.config.js create mode 100644 plugins/browser-plugin-button-click-tracking/package.json create mode 100644 plugins/browser-plugin-button-click-tracking/rollup.config.js create mode 100644 plugins/browser-plugin-button-click-tracking/src/api.ts create mode 100644 plugins/browser-plugin-button-click-tracking/src/core.ts create mode 100644 plugins/browser-plugin-button-click-tracking/src/index.ts create mode 100644 plugins/browser-plugin-button-click-tracking/src/types.ts create mode 100644 plugins/browser-plugin-button-click-tracking/src/util.ts create mode 100644 plugins/browser-plugin-button-click-tracking/test/test.test.ts create mode 100644 plugins/browser-plugin-button-click-tracking/tsconfig.json create mode 100644 trackers/javascript-tracker/test/integration/buttonClick.test.ts create mode 100644 trackers/javascript-tracker/test/pages/button-click-tracking.html diff --git a/common/changes/@snowplow/browser-plugin-button-click-tracking/issue-1267-otb-button-click-tracking_2023-11-22-13-22.json b/common/changes/@snowplow/browser-plugin-button-click-tracking/issue-1267-otb-button-click-tracking_2023-11-22-13-22.json new file mode 100644 index 000000000..4a7e3b702 --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-button-click-tracking/issue-1267-otb-button-click-tracking_2023-11-22-13-22.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-button-click-tracking", + "comment": "Add Button Click tracking plugin (close #1267)", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-button-click-tracking" +} \ No newline at end of file diff --git a/common/changes/@snowplow/tracker-core/issue-1267-otb-button-click-tracking_2023-11-22-13-22.json b/common/changes/@snowplow/tracker-core/issue-1267-otb-button-click-tracking_2023-11-22-13-22.json new file mode 100644 index 000000000..6cd8b579d --- /dev/null +++ b/common/changes/@snowplow/tracker-core/issue-1267-otb-button-click-tracking_2023-11-22-13-22.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/tracker-core", + "comment": "Export 'removeEmptyProperties'", + "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 c931363cf..376c8af07 100644 --- a/common/config/rush/browser-approved-packages.json +++ b/common/config/rush/browser-approved-packages.json @@ -34,6 +34,10 @@ "name": "@snowplow/browser-plugin-browser-features", "allowedCategories": [ "trackers" ] }, + { + "name": "@snowplow/browser-plugin-button-click-tracking", + "allowedCategories": [ "trackers" ] + }, { "name": "@snowplow/browser-plugin-client-hints", "allowedCategories": [ "trackers" ] @@ -58,6 +62,10 @@ "name": "@snowplow/browser-plugin-error-tracking", "allowedCategories": [ "trackers" ] }, + { + "name": "@snowplow/browser-plugin-focalmeter", + "allowedCategories": [ "trackers" ] + }, { "name": "@snowplow/browser-plugin-form-tracking", "allowedCategories": [ "trackers" ] @@ -118,10 +126,6 @@ "name": "@snowplow/browser-plugin-youtube-tracking", "allowedCategories": [ "trackers" ] }, - { - "name": "@snowplow/browser-plugin-focalmeter", - "allowedCategories": [ "trackers" ] - }, { "name": "@snowplow/browser-tracker", "allowedCategories": [ "plugins", "trackers" ] diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index 92caee30a..1f09a82f2 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -207,6 +207,59 @@ importers: ts-jest: 27.1.3_60149d457e34ffba7d4e845dde6a1263 typescript: 4.6.2 + ../../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 + 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 + ../../plugins/browser-plugin-client-hints: specifiers: '@ampproject/rollup-plugin-closure-compiler': ~0.27.0 @@ -1551,6 +1604,7 @@ importers: '@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:* @@ -1620,6 +1674,7 @@ importers: 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 @@ -1669,7 +1724,7 @@ importers: '@wdio/static-server-service': 8.17.0 '@wdio/types': 8.17.0 chalk: 4.1.2 - chromedriver: 114.0.2 + chromedriver: 114.0.3 dockerode: 3.3.1 jest: 27.5.1_ts-node@10.9.1 jest-environment-jsdom: 27.5.1 @@ -1689,7 +1744,7 @@ importers: ts-jest: 27.1.3_60149d457e34ffba7d4e845dde6a1263 ts-node: 10.9.1_3a45c3db8dee5edcd277f201fb244988 typescript: 4.6.2 - wdio-chromedriver-service: 8.1.1_514dbdcecc2bde428ae175e957c6d0fe + 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 @@ -1785,7 +1840,7 @@ packages: resolution: {integrity: sha512-eTAlQKq65zHfkHZV0sIVODCPGVgoo1HdBlbSLi9CqOzuZanMv2ihzY+4paiKr1mH+XmYESMAmJ/dpZ68eN6d8w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.16.7 + '@babel/code-frame': 7.22.13 '@babel/generator': 7.12.11 '@babel/helper-module-transforms': 7.12.1 '@babel/helpers': 7.12.5 @@ -1845,7 +1900,7 @@ packages: '@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.16.7 + '@babel/helper-validator-identifier': 7.22.20 '@babel/template': 7.12.7 '@babel/traverse': 7.12.10 '@babel/types': 7.16.8 @@ -2060,7 +2115,7 @@ packages: /@babel/template/7.12.7: resolution: {integrity: sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==} dependencies: - '@babel/code-frame': 7.16.7 + '@babel/code-frame': 7.22.13 '@babel/parser': 7.16.12 '@babel/types': 7.16.8 dev: true @@ -2068,7 +2123,7 @@ packages: /@babel/traverse/7.12.10: resolution: {integrity: sha512-6aEtf0IeRgbYWzta29lePeYSk+YAFIC3kyqESeft8o5CkFlYIMX+EQDDWEiAQ9LHOA3d0oHdgrSsID/CKqXJlg==} dependencies: - '@babel/code-frame': 7.16.7 + '@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 @@ -2085,7 +2140,7 @@ packages: resolution: {integrity: sha512-smN2DQc5s4M7fntyjGtyIPbRJv6wW4rU/94fmYJ7PKQuZkC0qGMHXJbg6sNGt12JmVr4k5YaptI/XtiLJBnmIg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-validator-identifier': 7.16.7 + '@babel/helper-validator-identifier': 7.22.20 to-fast-properties: 2.0.0 dev: true @@ -2210,7 +2265,7 @@ packages: '@jest/transform': 27.5.1 '@jest/types': 27.5.1 '@types/node': 14.6.4 - ansi-escapes: 4.3.1 + ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.8.1 exit: 0.1.2 @@ -2255,7 +2310,7 @@ packages: '@jest/transform': 27.5.1 '@jest/types': 27.5.1 '@types/node': 14.6.4 - ansi-escapes: 4.3.1 + ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.8.1 exit: 0.1.2 @@ -2787,8 +2842,8 @@ packages: defer-to-connect: 2.0.1 dev: true - /@testim/chrome-version/1.1.3: - resolution: {integrity: sha512-g697J3WxV/Zytemz8aTuKjTGYtta9+02kva3C1xc7KXB8GdbfE1akGJIsZLyY/FSh2QrnE+fiB7vmWU3XNcb6A==} + /@testim/chrome-version/1.1.4: + resolution: {integrity: sha512-kIhULpw9TrGYnHp/8VfdcneIcxKnLixmADtukQRtJUmsVlMg0niMkwV0xZmi8hqa57xqilIHjWFA0GKvEjVU5g==} dev: true /@tootallnate/once/1.1.2: @@ -3604,13 +3659,6 @@ packages: string-width: 4.2.3 dev: true - /ansi-escapes/4.3.1: - resolution: {integrity: sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==} - engines: {node: '>=8'} - dependencies: - type-fest: 0.11.0 - dev: true - /ansi-escapes/4.3.2: resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} engines: {node: '>=8'} @@ -3854,8 +3902,8 @@ packages: resolution: {integrity: sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==} dev: true - /axios/1.4.0: - resolution: {integrity: sha512-S4XCWMEmzvo64T9GfvQDOXgYRDJ/wsSZc7Jvdgx5u1sd0JwsuPLqb3SYmusag+edF6ziyMensPVqLTSc1PiSEA==} + /axios/1.6.2: + resolution: {integrity: sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A==} dependencies: follow-redirects: 1.15.2 form-data: 4.0.0 @@ -4431,15 +4479,15 @@ packages: engines: {node: '>=10'} dev: true - /chromedriver/114.0.2: - resolution: {integrity: sha512-v0qrXRBknbxqmtklG7RWOe3TJ/dLaHhtB0jVxE7BAdYERxUjEaNRyqBwoGgVfQDibHCB0swzvzsj158nnfPgZw==} + /chromedriver/114.0.3: + resolution: {integrity: sha512-Qy5kqsAUrCDwpovM5pIWFkb3X3IgJLoorigwFEDgC1boL094svny3N7yw06marJHAuyX4CE/hhd25RarIcKvKg==} engines: {node: '>=16'} hasBin: true requiresBuild: true dependencies: - '@testim/chrome-version': 1.1.3 - axios: 1.4.0 - compare-versions: 5.0.3 + '@testim/chrome-version': 1.1.4 + axios: 1.6.2 + compare-versions: 6.1.0 extract-zip: 2.0.1 https-proxy-agent: 5.0.1 proxy-from-env: 1.1.0 @@ -4649,8 +4697,8 @@ packages: resolution: {integrity: sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=} dev: true - /compare-versions/5.0.3: - resolution: {integrity: sha512-4UZlZP8Z99MGEY+Ovg/uJxJuvoXuN4M6B3hKaiackiHrgzQFEe3diJi1mf1PNHbFujM7FvLrK2bpgIaImbtZ1A==} + /compare-versions/6.1.0: + resolution: {integrity: sha512-LNZQXhqUvqUTotpZ00qLSaify3b4VFD588aRr8MKFw4CMUr98ytzCW5wDH5qx/DEY5kCDXcbcRuCqL0szEf2tg==} dev: true /compatfactory/0.0.12_typescript@4.6.2: @@ -7813,7 +7861,7 @@ packages: '@jest/test-result': 27.5.1 '@jest/types': 27.5.1 '@types/node': 14.6.4 - ansi-escapes: 4.3.1 + ansi-escapes: 4.3.2 chalk: 4.1.2 jest-util: 27.5.1 string-length: 4.0.1 @@ -9223,7 +9271,7 @@ packages: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} dependencies: - '@babel/code-frame': 7.16.7 + '@babel/code-frame': 7.22.13 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 @@ -10854,7 +10902,7 @@ packages: resolution: {integrity: sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==} engines: {node: '>=8'} dependencies: - ansi-escapes: 4.3.1 + ansi-escapes: 4.3.2 supports-hyperlinks: 2.1.0 dev: true @@ -10875,7 +10923,7 @@ packages: dependencies: '@istanbuljs/schema': 0.1.2 glob: 7.2.0 - minimatch: 3.0.4 + minimatch: 3.1.2 dev: true /text-table/0.2.0: @@ -11104,11 +11152,6 @@ packages: engines: {node: '>=4'} dev: true - /type-fest/0.11.0: - resolution: {integrity: sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==} - engines: {node: '>=8'} - dev: true - /type-fest/0.13.1: resolution: {integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==} engines: {node: '>=10'} @@ -11378,7 +11421,7 @@ packages: defaults: 1.0.3 dev: true - /wdio-chromedriver-service/8.1.1_514dbdcecc2bde428ae175e957c6d0fe: + /wdio-chromedriver-service/8.1.1_e56eb4ff7720135f2fea4d5c81e984e9: resolution: {integrity: sha512-pN3GiOkTIMnalfq4PJAHdX95pDp1orHnTY8W1fIbd6ok81ba97UjerTgS7lUDRUh1p0MAm35Ww0uc0/9wzB7SA==} engines: {node: ^16.13 || >=18} peerDependencies: @@ -11393,7 +11436,7 @@ packages: dependencies: '@wdio/logger': 8.16.17 '@wdio/types': 8.17.0 - chromedriver: 114.0.2 + chromedriver: 114.0.3 fs-extra: 11.1.0 split2: 4.2.0 tcp-port-used: 1.0.2 diff --git a/common/config/rush/repo-state.json b/common/config/rush/repo-state.json index 5b45dccaf..d5834052d 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": "57af2bb401d45bb58b802eb1a04a7ee62b3aa732", + "pnpmShrinkwrapHash": "f22225c05d2747a95a11b5d6c6ee8827084cf800", "preferredVersionsHash": "bf21a9e8fbc5a3846fb05b4fa0859e0917b2202f" } diff --git a/libraries/tracker-core/src/core.ts b/libraries/tracker-core/src/core.ts index ba2debc72..1cb617117 100644 --- a/libraries/tracker-core/src/core.ts +++ b/libraries/tracker-core/src/core.ts @@ -1366,7 +1366,7 @@ export function buildConsentGranted(event: ConsentGrantedEvent) { * @param exemptFields - Set of fields which should not be removed even if empty * @returns A cleaned copy of eventJson */ -function removeEmptyProperties( +export function removeEmptyProperties( event: Record, exemptFields: Record = {} ): Record { diff --git a/plugins/browser-plugin-button-click-tracking/LICENSE b/plugins/browser-plugin-button-click-tracking/LICENSE new file mode 100644 index 000000000..a311732d5 --- /dev/null +++ b/plugins/browser-plugin-button-click-tracking/LICENSE @@ -0,0 +1,29 @@ +BSD 3-Clause License + +Copyright (c) 2023 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-button-click-tracking/README.md b/plugins/browser-plugin-button-click-tracking/README.md new file mode 100644 index 000000000..4890728bd --- /dev/null +++ b/plugins/browser-plugin-button-click-tracking/README.md @@ -0,0 +1,63 @@ +# Snowplow Button Click Tracking + +[![npm version][npm-image]][npm-url] +[![License][license-image]](LICENSE) + +Browser Plugin to be used with `@snowplow/browser-tracker`. + +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/). + +### 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-button-click-tracking +``` + +## Usage + +Initialize your tracker with the ButtonClickTrackingPlugin: + +```js +import { newTracker } from '@snowplow/browser-tracker'; +import { ButtonClickTrackingPlugin } from '@snowplow/browser-plugin-button-click-tracking'; + +newTracker('sp1', '{{collector}}', { plugins: [ ButtonClickTrackingPlugin() ] }); // 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 { enableButtonClickTracking } from '@snowplow/browser-plugin-button-click-tracking'; + +enableButtonClickTracking({ filter: { .. }, context: { .. } }); +``` + +For a full API reference, you can read the plugin [documentation page](https://docs.snowplow.io/docs/collecting-data/collecting-from-own-applications/javascript-trackers/browser-tracker/browser-tracker-v3-reference/plugins/button-click-tracking/). + +## Copyright and license + +Licensed and distributed under the [BSD 3-Clause License](LICENSE) ([An OSI Approved License][osi]). + +Copyright (c) 2023 Snowplow Analytics Ltd, 2010 Anthon Pang. + +All rights reserved. + +[npm-url]: https://www.npmjs.com/package/@snowplow/browser-plugin-form-tracking +[npm-image]: https://img.shields.io/npm/v/@snowplow/browser-plugin-form-tracking +[osi]: https://opensource.org/licenses/BSD-3-Clause +[license-image]: https://img.shields.io/npm/l/@snowplow/browser-plugin-form-tracking diff --git a/plugins/browser-plugin-button-click-tracking/jest.config.js b/plugins/browser-plugin-button-click-tracking/jest.config.js new file mode 100644 index 000000000..bd3ea4e2a --- /dev/null +++ b/plugins/browser-plugin-button-click-tracking/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-button-click-tracking/package.json b/plugins/browser-plugin-button-click-tracking/package.json new file mode 100644 index 000000000..6b97dfe09 --- /dev/null +++ b/plugins/browser-plugin-button-click-tracking/package.json @@ -0,0 +1,55 @@ +{ + "name": "@snowplow/browser-plugin-button-click-tracking", + "version": "3.17.0", + "description": "Button Click tracking for Snowplow", + "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", + "@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.16.0" + } +} diff --git a/plugins/browser-plugin-button-click-tracking/rollup.config.js b/plugins/browser-plugin-button-click-tracking/rollup.config.js new file mode 100644 index 000000000..5654a26d7 --- /dev/null +++ b/plugins/browser-plugin-button-click-tracking/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'; // 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 = 'snowplowButtonClickTracking'; + +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-button-click-tracking/src/api.ts b/plugins/browser-plugin-button-click-tracking/src/api.ts new file mode 100644 index 000000000..9b8e94b1f --- /dev/null +++ b/plugins/browser-plugin-button-click-tracking/src/api.ts @@ -0,0 +1,108 @@ +import { BrowserPlugin, BrowserTracker, dispatchToTrackersInCollection } from '@snowplow/browser-tracker-core'; +import { DynamicContext, CommonEventProperties, resolveDynamicContext } from '@snowplow/tracker-core'; + +import { createEventFromButton, filterFunctionFromFilter } from './util'; +import { buildButtonClick } from './core'; +import { ButtonClickEvent, ButtonClickTrackingConfiguration, FilterFunction } from './types'; + +const _trackers: Record = {}; + +// The event listeners added to the document, for each tracker +// This allows them to be removed with `removeEventListener` if button click tracking is disabled +const _listeners: Record void> = {}; + +/** + * Button click tracking + * + * Will automatically tracking button clicks once enabled with 'enableButtonClickTracking' + * or you can manually track button clicks with 'trackButtonClick' + */ +export function ButtonClickTrackingPlugin(): BrowserPlugin { + return { + activateBrowserPlugin: (tracker: BrowserTracker) => { + _trackers[tracker.id] = tracker; + }, + }; +} + +/** + * Manually log a click + * + * @param event - The event information + * @param trackers - The tracker identifiers which the event will be sent to + */ +export function trackButtonClick( + event: ButtonClickEvent & CommonEventProperties, + trackers: Array = Object.keys(_trackers) +) { + dispatchToTrackersInCollection(trackers, _trackers, (t) => { + t.core.track(buildButtonClick(event), event.context, event.timestamp); + }); +} + +/** + * Enable automatic click tracking for all `` + * + * will result in `{ label: 'show-modal' }` + */ + label: string; + /** The ID of the button clicked, if present */ + id?: string; + /** An array of class names from the button clicked */ + classes?: Array; + /** The name of the button, if present */ + name?: string; +} diff --git a/plugins/browser-plugin-button-click-tracking/src/util.ts b/plugins/browser-plugin-button-click-tracking/src/util.ts new file mode 100644 index 000000000..4c4a99982 --- /dev/null +++ b/plugins/browser-plugin-button-click-tracking/src/util.ts @@ -0,0 +1,60 @@ +import { CommonEventProperties } from '@snowplow/tracker-core'; +import { ButtonClickEvent, Filter, FilterFunction } from './types'; + +/** + * Convert any {@link Filter} or undefined into a {@link FilterFunction} + * + * @param filter - The filter to convert + * @returns The filter function + */ +export function filterFunctionFromFilter(filter?: Filter): FilterFunction { + // If a function is provided, return it as-is + if (typeof filter === 'function') { + return filter; + } + + if (typeof filter === 'object') { + // If an allowlist is provided, return a function which matches the allowlist + if ('allowlist' in filter) { + return (element) => { + const classes = Array.from(element?.classList || []); + return classes.some((className) => filter.allowlist.includes(className)); + }; + } + + // If a denylist is provided, return a function which matches the denylist + if ('denylist' in filter) { + return (element) => { + const classes = Array.from(element?.classList || []); + return !classes.some((className) => filter.denylist.includes(className)); + }; + } + } + + // Return a function that will match all buttons if no filter is provided + return () => true; +} + +/** + * Creates a {@link ButtonClickEvent} from a button element + * + * @param button - The button element to create the event from + * @returns The button click event + */ +export function createEventFromButton( + button: HTMLButtonElement | HTMLInputElement +): ButtonClickEvent & CommonEventProperties { + let ret = {} as ButtonClickEvent & CommonEventProperties; + + if (button.tagName === 'INPUT') { + ret.label = button.dataset.spButtonLabel || button.value; + } else { + ret.label = button.dataset.spButtonLabel || button.innerText; + } + + button.id && (ret.id = button.id); + button.name && (ret.name = button.name); + button.classList.length && (ret.classes = Array.from(button.classList)); + + return ret; +} diff --git a/plugins/browser-plugin-button-click-tracking/test/test.test.ts b/plugins/browser-plugin-button-click-tracking/test/test.test.ts new file mode 100644 index 000000000..97b2c47d0 --- /dev/null +++ b/plugins/browser-plugin-button-click-tracking/test/test.test.ts @@ -0,0 +1,185 @@ +import { filterFunctionFromFilter, createEventFromButton } from '../src/util'; + +describe('Button Click Tracking Plugin', () => { + describe('filterToFunction', () => { + const createDiv = (className: string): HTMLDivElement => { + const ret = document.createElement('div'); + ret.className = className; + return ret; + }; + + it('should return a function that returns true if no filter is provided', () => { + const filter = filterFunctionFromFilter(undefined); + expect(filter(createDiv(''))).toBe(true); + }); + + it('should turn an allowlist into a filter function', () => { + const filter = filterFunctionFromFilter({ allowlist: ['foo'] }); + expect(filter(createDiv('foo'))).toBe(true); + expect(filter(createDiv('bar'))).toBe(false); + }); + + it('should turn a denylist into a filter function', () => { + const filter = filterFunctionFromFilter({ denylist: ['foo'] }); + expect(filter(createDiv('foo'))).toBe(false); + expect(filter(createDiv('bar'))).toBe(true); + }); + }); + + describe('getFilterPassingButtons', () => { + type TestDocument = { + testDocument: Document; + include_btn: HTMLButtonElement | HTMLInputElement; + exclude_btn: HTMLButtonElement | HTMLInputElement; + }; + + describe('HTMLButtonElements', () => { + const getTestDocument = (): TestDocument => { + const testDocument = document.implementation.createHTMLDocument('test'); + const include_btn = testDocument.createElement('button'); + include_btn.className = 'include'; + testDocument.body.appendChild(include_btn); + const exclude_btn = testDocument.createElement('button'); + exclude_btn.className = 'exclude'; + testDocument.body.appendChild(exclude_btn); + + return { + testDocument, + include_btn, + exclude_btn, + }; + }; + + const { testDocument, include_btn, exclude_btn } = getTestDocument(); + const buttons = Array.from(testDocument.getElementsByTagName('button')); + + it('should return all elements if no filter is provided', () => { + const buttonFilter = filterFunctionFromFilter(undefined); + const filteredButtons = buttons.filter(buttonFilter); + expect(filteredButtons).toEqual([include_btn, exclude_btn]); + }); + + it('should only return elements that match the `filter` function', () => { + const filter = filterFunctionFromFilter((element?: HTMLElement) => element?.className === 'include'); + const filteredButtons = buttons.filter(filter); + expect(filteredButtons).toEqual([include_btn]); + }); + + it('should return all elements with the classes in `allowlist`', () => { + const filter = filterFunctionFromFilter({ allowlist: ['include'] }); + const filteredButtons = buttons.filter(filter); + expect(filteredButtons).toEqual([include_btn]); + }); + + it('should not return any elements with the classes in `denylist`', () => { + const filter = filterFunctionFromFilter({ denylist: ['exclude'] }); + const filteredButtons = buttons.filter(filter); + expect(filteredButtons).toEqual([include_btn]); + }); + }); + + describe('HTMLInputElement', () => { + const getTestDocument = (): TestDocument => { + const testDocument = document.implementation.createHTMLDocument('test'); + const include_btn = testDocument.createElement('input'); + include_btn.type = 'button'; + include_btn.className = 'include'; + testDocument.body.appendChild(include_btn); + const exclude_btn = testDocument.createElement('input'); + exclude_btn.type = 'button'; + exclude_btn.className = 'exclude'; + testDocument.body.appendChild(exclude_btn); + + return { + testDocument, + include_btn, + exclude_btn, + }; + }; + + const { testDocument, include_btn, exclude_btn } = getTestDocument(); + const buttons = Array.from(testDocument.getElementsByTagName('input')).filter((input) => input.type === 'button'); + + it('should return all elements if no filter is provided', () => { + const buttonFilter = filterFunctionFromFilter(undefined); + const filteredButtons = buttons.filter(buttonFilter); + expect(filteredButtons).toEqual([include_btn, exclude_btn]); + }); + + it('should only return elements that match the `filter` function', () => { + const filter = filterFunctionFromFilter((element?: HTMLElement) => element?.className === 'include'); + const filteredButtons = buttons.filter(filter); + expect(filteredButtons).toEqual([include_btn]); + }); + + it('should return all elements with the classes in `allowlist`', () => { + const filter = filterFunctionFromFilter({ allowlist: ['include'] }); + const filteredButtons = buttons.filter(filter); + expect(filteredButtons).toEqual([include_btn]); + }); + + it('should not return any elements with the classes in `denylist`', () => { + const filter = filterFunctionFromFilter({ denylist: ['exclude'] }); + const filteredButtons = buttons.filter(filter); + expect(filteredButtons).toEqual([include_btn]); + }); + }); + }); + + describe('createEventFromButton', () => { + describe('HTMLButtonElement', () => { + it('should create an event from a button', () => { + const button = document.createElement('button'); + button.innerText = 'testLabel'; + button.id = 'testId'; + button.className = 'testClass testClass2'; + button.name = 'testName'; + + const event = { + label: 'testLabel', + id: 'testId', + classes: ['testClass', 'testClass2'], + name: 'testName', + }; + + expect(createEventFromButton(button)).toEqual(event); + }); + + it('should prefer the data-sp-button-label attribute over the innerText', () => { + const button = document.createElement('button'); + button.innerText = 'testLabel'; + + button.setAttribute('data-sp-button-label', 'testLabelFromAttribute'); + expect(createEventFromButton(button).label).toEqual('testLabelFromAttribute'); + }); + }); + describe('HTMLInputElement', () => { + it('should create an event from an input', () => { + const input = document.createElement('input'); + input.type = 'button'; + input.value = 'testLabel'; + input.id = 'testId'; + input.className = 'testClass testClass2'; + input.name = 'testName'; + + const event = { + label: 'testLabel', + id: 'testId', + classes: ['testClass', 'testClass2'], + name: 'testName', + }; + + expect(createEventFromButton(input)).toEqual(event); + }); + + it('should prefer the data-sp-button-label attribute over the value', () => { + const input = document.createElement('input'); + input.type = 'button'; + input.value = 'testLabel'; + + input.setAttribute('data-sp-button-label', 'testLabelFromAttribute'); + expect(createEventFromButton(input).label).toEqual('testLabelFromAttribute'); + }); + }); + }); +}); diff --git a/plugins/browser-plugin-button-click-tracking/tsconfig.json b/plugins/browser-plugin-button-click-tracking/tsconfig.json new file mode 100644 index 000000000..4082f16a5 --- /dev/null +++ b/plugins/browser-plugin-button-click-tracking/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "../../tsconfig.json" +} diff --git a/rush.json b/rush.json index 0ff69c59a..7f2a91373 100644 --- a/rush.json +++ b/rush.json @@ -577,6 +577,12 @@ "projectFolder": "plugins/browser-plugin-focalmeter", "reviewCategory": "plugins", "versionPolicyName": "tracker" + }, + { + "projectFolder": "plugins/browser-plugin-button-click-tracking", + "packageName": "@snowplow/browser-plugin-button-click-tracking", + "reviewCategory": "plugins", + "versionPolicyName": "tracker" } ] } diff --git a/trackers/javascript-tracker/package.json b/trackers/javascript-tracker/package.json index df2fa33ed..9dad8878a 100644 --- a/trackers/javascript-tracker/package.json +++ b/trackers/javascript-tracker/package.json @@ -65,7 +65,8 @@ "@snowplow/tracker-core": "workspace:*", "tslib": "^2.3.1", "@snowplow/browser-plugin-enhanced-consent": "workspace:*", - "@snowplow/browser-plugin-privacy-sandbox": "workspace:*" + "@snowplow/browser-plugin-privacy-sandbox": "workspace:*", + "@snowplow/browser-plugin-button-click-tracking": "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 c576696ce..4b2242ef8 100644 --- a/trackers/javascript-tracker/src/features.ts +++ b/trackers/javascript-tracker/src/features.ts @@ -54,6 +54,7 @@ import * as EnhancedConsent from '@snowplow/browser-plugin-enhanced-consent'; 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'; /** * Calculates the required plugins to intialise per tracker @@ -215,5 +216,10 @@ export function Plugins(configuration: JavaScriptTrackerConfiguration) { activatedPlugins.push([PrivacySandboxPlugin(), apiMethods]); } + if (plugins.buttonClickTracking) { + const { ButtonClickTrackingPlugin, ...apiMethods } = ButtonClickTracking; + activatedPlugins.push([ButtonClickTrackingPlugin(), apiMethods]); + } + return activatedPlugins; } diff --git a/trackers/javascript-tracker/test/integration/buttonClick.test.ts b/trackers/javascript-tracker/test/integration/buttonClick.test.ts new file mode 100644 index 000000000..a4a879510 --- /dev/null +++ b/trackers/javascript-tracker/test/integration/buttonClick.test.ts @@ -0,0 +1,149 @@ +import F from 'lodash/fp'; +import { fetchResults } from '../micro'; +import { pageSetup } from './helpers'; + +const loadUrlAndWait = async (url: string) => { + await browser.url(url); + await browser.waitUntil(async () => (await $('#init').getText()) === 'true', { + timeout: 5000, + timeoutMsg: 'expected init after 5s', + }); +}; + +describe('Snowplow Micro integration', () => { + if (browser.capabilities.browserName === 'internet explorer') { + fit('Skip IE', () => true); + return; + } + + let eventMethods = ['get', 'post', 'beacon']; + let log: Array = []; + let testIdentifier = ''; + + const logContains = (ev: unknown) => F.some(F.isMatch(ev as object), log); + + type Button = { + label: string; + id?: string; + classes?: Array; + name?: string; + }; + + const makeEvent = (button: Button, method: string) => { + return { + event: { + event: 'unstruct', + app_id: 'button-click-tracking-' + testIdentifier, + page_url: `http://snowplow-js-tracker.local:8080/button-click-tracking.html?eventMethod=${method}`, + unstruct_event: { + data: { + schema: 'iglu:com.snowplowanalytics.snowplow/button_click/jsonschema/1-0-0', + data: button, + }, + }, + }, + }; + }; + + const logContainsButtonClick = (event: any) => { + expect(logContains(event)).toBe(true); + }; + + const nButtons = 7; + beforeAll(async () => { + testIdentifier = await pageSetup(); + + const runClicks = async (method: string) => { + await loadUrlAndWait('/button-click-tracking.html?eventMethod=' + method); + for (let i = 1; i < nButtons; i++) { + await (await $(`#button${i}`)).click(); + await browser.pause(50); + } + // Dynamic button + await (await $('#addDynamic')).click(); + await browser.pause(500); + await (await $('#button7')).click(); + await browser.pause(500); + + // Disable/enable + + await (await $('#disable')).click(); + await browser.pause(500); + await (await $('#disabled-click')).click(); + await browser.pause(500); + + await (await $('#enable')).click(); + await browser.pause(500); + await (await $('#enabled-click')).click(); + await browser.pause(500); + + await (await $('#set-multiple-configs')).click(); + await browser.pause(500); + + await (await $('#final-config')).click(); + await browser.pause(500); + }; + + for (let method of eventMethods) { + await runClicks(method); + await browser.pause(6000); + } + + log = await browser.call(async () => await fetchResults()); + }); + + eventMethods.forEach((method) => { + it('should get button1', () => { + const ev = makeEvent({ id: 'button1', label: 'TestButton' }, method); + logContainsButtonClick(ev); + }); + + it('should get button2', () => { + const ev = makeEvent({ id: 'button2', label: 'TestButtonWithClass', classes: ['test-class'] }, method); + logContainsButtonClick(ev); + }); + + it('should get button3', () => { + const ev = makeEvent( + { id: 'button3', label: 'TestButtonWithClasses', classes: ['test-class', 'test-class2'] }, + method + ); + logContainsButtonClick(ev); + }); + + it('should get button4', () => { + const ev = makeEvent({ id: 'button4', label: 'TestWithName', name: 'testName' }, method); + logContainsButtonClick(ev); + }); + + it('should get button5', () => { + const ev = makeEvent({ id: 'button5', label: 'DataLabel' }, method); + logContainsButtonClick(ev); + }); + + it('should get button6', () => { + const ev = makeEvent({ id: 'button6', label: 'TestInputButton' }, method); + logContainsButtonClick(ev); + }); + + it('should get button7 after it is added dynamically', async () => { + const ev = makeEvent({ id: 'button7', label: 'TestDynamicButton-' + method }, method); + logContainsButtonClick(ev); + }); + + it('should not get disabled-click', () => { + const ev = makeEvent({ id: 'disabled-click', label: 'DisabledClick' }, method); + expect(logContains(ev)).toBe(false); + }); + + it('should get enabled-click', () => { + const ev = makeEvent({ id: 'enabled-click', label: 'EnabledClick' }, method); + logContainsButtonClick(ev); + }); + + it('should get `final-config` as it is the last config set', () => { + const ev = makeEvent({ id: 'final-config', classes: ['final-config'], label: 'Final Config' }, method); + logContainsButtonClick(ev); + }); + }); +}); diff --git a/trackers/javascript-tracker/test/pages/button-click-tracking.html b/trackers/javascript-tracker/test/pages/button-click-tracking.html new file mode 100644 index 000000000..a543dc315 --- /dev/null +++ b/trackers/javascript-tracker/test/pages/button-click-tracking.html @@ -0,0 +1,100 @@ + + + + Page for Link Click testing with Snowplow Micro + + + + +

Page for Button Click testing with Snowplow Micro

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/trackers/javascript-tracker/tracker.config.ts b/trackers/javascript-tracker/tracker.config.ts index 3ee40fc1e..8ede57633 100644 --- a/trackers/javascript-tracker/tracker.config.ts +++ b/trackers/javascript-tracker/tracker.config.ts @@ -51,3 +51,4 @@ export const enhancedConsent = false; export const snowplowMedia = false; export const vimeoTracking = false; export const privacySandbox = false; +export const buttonClickTracking = false; diff --git a/trackers/javascript-tracker/tracker.lite.config.ts b/trackers/javascript-tracker/tracker.lite.config.ts index 4ad8c4046..c5cdf2eea 100644 --- a/trackers/javascript-tracker/tracker.lite.config.ts +++ b/trackers/javascript-tracker/tracker.lite.config.ts @@ -51,3 +51,4 @@ export const enhancedConsent = false; export const snowplowMedia = false; export const vimeoTracking = false; export const privacySandbox = false; +export const buttonClickTracking = false; diff --git a/trackers/javascript-tracker/tracker.test.config.ts b/trackers/javascript-tracker/tracker.test.config.ts index 4f3c136a2..5d5d70725 100644 --- a/trackers/javascript-tracker/tracker.test.config.ts +++ b/trackers/javascript-tracker/tracker.test.config.ts @@ -51,3 +51,4 @@ export const enhancedConsent = false; export const snowplowMedia = true; export const vimeoTracking = true; export const privacySandbox = false; +export const buttonClickTracking = true; From abb85542716ca4c81ecc4cfcb46435418b17b2c0 Mon Sep 17 00:00:00 2001 From: Matus Tomlein Date: Mon, 4 Dec 2023 11:15:35 +0100 Subject: [PATCH 151/449] Track mailto links in link click tracking (close #1270) PR #1271 --- .../issue-mailto_links_2023-12-01-10-15.json | 10 ++++++++++ .../browser-plugin-link-click-tracking/src/index.ts | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 common/changes/@snowplow/browser-plugin-link-click-tracking/issue-mailto_links_2023-12-01-10-15.json diff --git a/common/changes/@snowplow/browser-plugin-link-click-tracking/issue-mailto_links_2023-12-01-10-15.json b/common/changes/@snowplow/browser-plugin-link-click-tracking/issue-mailto_links_2023-12-01-10-15.json new file mode 100644 index 000000000..7a491cb3b --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-link-click-tracking/issue-mailto_links_2023-12-01-10-15.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-link-click-tracking", + "comment": "Track mailto links in link click tracking (#1270)", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-link-click-tracking" +} \ No newline at end of file diff --git a/plugins/browser-plugin-link-click-tracking/src/index.ts b/plugins/browser-plugin-link-click-tracking/src/index.ts index 05ea4a912..0ed723d18 100644 --- a/plugins/browser-plugin-link-click-tracking/src/index.ts +++ b/plugins/browser-plugin-link-click-tracking/src/index.ts @@ -177,7 +177,7 @@ function processClick(tracker: BrowserTracker, sourceElement: Element, context?: 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|mailto):', 'i'); + scriptProtocol = new RegExp('^(javascript|vbscript|jscript|mocha|livescript|ecmascript):', 'i'); // Ignore script pseudo-protocol links if (!scriptProtocol.test(sourceHref)) { From c09057e936fe540452fbd7957d35624dd7020b1f Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 4 Dec 2023 13:44:02 +0000 Subject: [PATCH 152/449] Update changelogs [skip ci] --- ...-button-click-tracking_2023-11-22-13-22.json | 10 ---------- .../issue-mailto_links_2023-12-01-10-15.json | 10 ---------- ...-fail-success-callback_2023-11-16-12-57.json | 10 ---------- ...ssue-1255-host_js_docs_2023-11-28-10-57.json | 10 ---------- ...-fail-success-callback_2023-11-16-12-57.json | 10 ---------- ...ssue-1255-host_js_docs_2023-11-28-10-57.json | 10 ---------- ...ssue-1255-host_js_docs_2023-11-28-10-57.json | 10 ---------- ...-button-click-tracking_2023-11-22-13-22.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 ++++++++- .../browser-plugin-ad-tracking/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-ad-tracking/CHANGELOG.md | 7 ++++++- .../CHANGELOG.json | 6 ++++++ .../CHANGELOG.md | 7 ++++++- .../CHANGELOG.json | 17 +++++++++++++++++ .../CHANGELOG.md | 11 +++++++++++ .../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 ++++++- .../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 | 12 ++++++++++++ .../CHANGELOG.md | 9 ++++++++- .../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 | 12 ++++++++++++ trackers/javascript-tracker/CHANGELOG.md | 9 ++++++++- trackers/node-tracker/CHANGELOG.json | 6 ++++++ trackers/node-tracker/CHANGELOG.md | 7 ++++++- 74 files changed, 444 insertions(+), 112 deletions(-) delete mode 100644 common/changes/@snowplow/browser-plugin-button-click-tracking/issue-1267-otb-button-click-tracking_2023-11-22-13-22.json delete mode 100644 common/changes/@snowplow/browser-plugin-link-click-tracking/issue-mailto_links_2023-12-01-10-15.json delete mode 100644 common/changes/@snowplow/browser-tracker-core/issue-1262-event-fail-success-callback_2023-11-16-12-57.json delete mode 100644 common/changes/@snowplow/browser-tracker/issue-1255-host_js_docs_2023-11-28-10-57.json delete mode 100644 common/changes/@snowplow/javascript-tracker/issue-1262-event-fail-success-callback_2023-11-16-12-57.json delete mode 100644 common/changes/@snowplow/node-tracker/issue-1255-host_js_docs_2023-11-28-10-57.json delete mode 100644 common/changes/@snowplow/tracker-core/issue-1255-host_js_docs_2023-11-28-10-57.json delete mode 100644 common/changes/@snowplow/tracker-core/issue-1267-otb-button-click-tracking_2023-11-22-13-22.json create mode 100644 plugins/browser-plugin-button-click-tracking/CHANGELOG.json create mode 100644 plugins/browser-plugin-button-click-tracking/CHANGELOG.md diff --git a/common/changes/@snowplow/browser-plugin-button-click-tracking/issue-1267-otb-button-click-tracking_2023-11-22-13-22.json b/common/changes/@snowplow/browser-plugin-button-click-tracking/issue-1267-otb-button-click-tracking_2023-11-22-13-22.json deleted file mode 100644 index 4a7e3b702..000000000 --- a/common/changes/@snowplow/browser-plugin-button-click-tracking/issue-1267-otb-button-click-tracking_2023-11-22-13-22.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-plugin-button-click-tracking", - "comment": "Add Button Click tracking plugin (close #1267)", - "type": "none" - } - ], - "packageName": "@snowplow/browser-plugin-button-click-tracking" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-link-click-tracking/issue-mailto_links_2023-12-01-10-15.json b/common/changes/@snowplow/browser-plugin-link-click-tracking/issue-mailto_links_2023-12-01-10-15.json deleted file mode 100644 index 7a491cb3b..000000000 --- a/common/changes/@snowplow/browser-plugin-link-click-tracking/issue-mailto_links_2023-12-01-10-15.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-plugin-link-click-tracking", - "comment": "Track mailto links in link click tracking (#1270)", - "type": "none" - } - ], - "packageName": "@snowplow/browser-plugin-link-click-tracking" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-tracker-core/issue-1262-event-fail-success-callback_2023-11-16-12-57.json b/common/changes/@snowplow/browser-tracker-core/issue-1262-event-fail-success-callback_2023-11-16-12-57.json deleted file mode 100644 index 88a695ae9..000000000 --- a/common/changes/@snowplow/browser-tracker-core/issue-1262-event-fail-success-callback_2023-11-16-12-57.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-tracker-core", - "comment": "Add onRequestSuccess and onRequestFailure callbacks", - "type": "none" - } - ], - "packageName": "@snowplow/browser-tracker-core" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-tracker/issue-1255-host_js_docs_2023-11-28-10-57.json b/common/changes/@snowplow/browser-tracker/issue-1255-host_js_docs_2023-11-28-10-57.json deleted file mode 100644 index 5665ac7f0..000000000 --- a/common/changes/@snowplow/browser-tracker/issue-1255-host_js_docs_2023-11-28-10-57.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/common/changes/@snowplow/javascript-tracker/issue-1262-event-fail-success-callback_2023-11-16-12-57.json b/common/changes/@snowplow/javascript-tracker/issue-1262-event-fail-success-callback_2023-11-16-12-57.json deleted file mode 100644 index 3ede5aadd..000000000 --- a/common/changes/@snowplow/javascript-tracker/issue-1262-event-fail-success-callback_2023-11-16-12-57.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/javascript-tracker", - "comment": "Add onRequestSuccess and onRequestFailure callbacks", - "type": "none" - } - ], - "packageName": "@snowplow/javascript-tracker" -} \ No newline at end of file diff --git a/common/changes/@snowplow/node-tracker/issue-1255-host_js_docs_2023-11-28-10-57.json b/common/changes/@snowplow/node-tracker/issue-1255-host_js_docs_2023-11-28-10-57.json deleted file mode 100644 index 065547ba0..000000000 --- a/common/changes/@snowplow/node-tracker/issue-1255-host_js_docs_2023-11-28-10-57.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/node-tracker", - "comment": "", - "type": "none" - } - ], - "packageName": "@snowplow/node-tracker" -} \ No newline at end of file diff --git a/common/changes/@snowplow/tracker-core/issue-1255-host_js_docs_2023-11-28-10-57.json b/common/changes/@snowplow/tracker-core/issue-1255-host_js_docs_2023-11-28-10-57.json deleted file mode 100644 index 19f2ca30b..000000000 --- a/common/changes/@snowplow/tracker-core/issue-1255-host_js_docs_2023-11-28-10-57.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/tracker-core", - "comment": "", - "type": "none" - } - ], - "packageName": "@snowplow/tracker-core" -} \ No newline at end of file diff --git a/common/changes/@snowplow/tracker-core/issue-1267-otb-button-click-tracking_2023-11-22-13-22.json b/common/changes/@snowplow/tracker-core/issue-1267-otb-button-click-tracking_2023-11-22-13-22.json deleted file mode 100644 index 6cd8b579d..000000000 --- a/common/changes/@snowplow/tracker-core/issue-1267-otb-button-click-tracking_2023-11-22-13-22.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/tracker-core", - "comment": "Export 'removeEmptyProperties'", - "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 a4ff09af1..2117afa75 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.18.0", + "tag": "@snowplow/browser-tracker-core_v3.18.0", + "date": "Mon, 04 Dec 2023 13:44:02 GMT", + "comments": { + "none": [ + { + "comment": "Add onRequestSuccess and onRequestFailure callbacks" + } + ] + } + }, { "version": "3.17.0", "tag": "@snowplow/browser-tracker-core_v3.17.0", diff --git a/libraries/browser-tracker-core/CHANGELOG.md b/libraries/browser-tracker-core/CHANGELOG.md index 8aaec122f..2d866e54c 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, 14 Nov 2023 17:58:26 GMT and should not be manually modified. +This log was last generated on Mon, 04 Dec 2023 13:44:02 GMT and should not be manually modified. + +## 3.18.0 +Mon, 04 Dec 2023 13:44:02 GMT + +### Updates + +- Add onRequestSuccess and onRequestFailure callbacks ## 3.17.0 Tue, 14 Nov 2023 17:58:26 GMT diff --git a/libraries/tracker-core/CHANGELOG.json b/libraries/tracker-core/CHANGELOG.json index 829312ffe..45e8ccb8d 100644 --- a/libraries/tracker-core/CHANGELOG.json +++ b/libraries/tracker-core/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@snowplow/tracker-core", "entries": [ + { + "version": "3.18.0", + "tag": "@snowplow/tracker-core_v3.18.0", + "date": "Mon, 04 Dec 2023 13:44:02 GMT", + "comments": { + "none": [ + { + "comment": "Export 'removeEmptyProperties'" + } + ] + } + }, { "version": "3.17.0", "tag": "@snowplow/tracker-core_v3.17.0", diff --git a/libraries/tracker-core/CHANGELOG.md b/libraries/tracker-core/CHANGELOG.md index 040fa978d..215c8373c 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, 14 Nov 2023 17:58:26 GMT and should not be manually modified. +This log was last generated on Mon, 04 Dec 2023 13:44:02 GMT and should not be manually modified. + +## 3.18.0 +Mon, 04 Dec 2023 13:44:02 GMT + +### Updates + +- Export 'removeEmptyProperties' ## 3.17.0 Tue, 14 Nov 2023 17:58:26 GMT diff --git a/plugins/browser-plugin-ad-tracking/CHANGELOG.json b/plugins/browser-plugin-ad-tracking/CHANGELOG.json index 7c1315957..c3f246aca 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.18.0", + "tag": "@snowplow/browser-plugin-ad-tracking_v3.18.0", + "date": "Mon, 04 Dec 2023 13:44:02 GMT", + "comments": {} + }, { "version": "3.17.0", "tag": "@snowplow/browser-plugin-ad-tracking_v3.17.0", diff --git a/plugins/browser-plugin-ad-tracking/CHANGELOG.md b/plugins/browser-plugin-ad-tracking/CHANGELOG.md index 6fee35ddc..a72c4cf6b 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, 14 Nov 2023 17:58:26 GMT and should not be manually modified. +This log was last generated on Mon, 04 Dec 2023 13:44:02 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-browser-features/CHANGELOG.json b/plugins/browser-plugin-browser-features/CHANGELOG.json index 20df0b7d0..f5cf54e2a 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.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", diff --git a/plugins/browser-plugin-browser-features/CHANGELOG.md b/plugins/browser-plugin-browser-features/CHANGELOG.md index ff7365703..7616ba78e 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, 14 Nov 2023 17:58:26 GMT and should not be manually modified. +This log was last generated on Mon, 04 Dec 2023 13:44:02 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-button-click-tracking/CHANGELOG.json b/plugins/browser-plugin-button-click-tracking/CHANGELOG.json new file mode 100644 index 000000000..92b7f5908 --- /dev/null +++ b/plugins/browser-plugin-button-click-tracking/CHANGELOG.json @@ -0,0 +1,17 @@ +{ + "name": "@snowplow/browser-plugin-button-click-tracking", + "entries": [ + { + "version": "3.18.0", + "tag": "@snowplow/browser-plugin-button-click-tracking_v3.18.0", + "date": "Mon, 04 Dec 2023 13:44:02 GMT", + "comments": { + "none": [ + { + "comment": "Add Button Click tracking plugin (close #1267)" + } + ] + } + } + ] +} diff --git a/plugins/browser-plugin-button-click-tracking/CHANGELOG.md b/plugins/browser-plugin-button-click-tracking/CHANGELOG.md new file mode 100644 index 000000000..8d38fb8de --- /dev/null +++ b/plugins/browser-plugin-button-click-tracking/CHANGELOG.md @@ -0,0 +1,11 @@ +# Change Log - @snowplow/browser-plugin-button-click-tracking + +This log was last generated on Mon, 04 Dec 2023 13:44:02 GMT and should not be manually modified. + +## 3.18.0 +Mon, 04 Dec 2023 13:44:02 GMT + +### Updates + +- Add Button Click tracking plugin (close #1267) + diff --git a/plugins/browser-plugin-client-hints/CHANGELOG.json b/plugins/browser-plugin-client-hints/CHANGELOG.json index 880dfc665..948aea304 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.18.0", + "tag": "@snowplow/browser-plugin-client-hints_v3.18.0", + "date": "Mon, 04 Dec 2023 13:44:02 GMT", + "comments": {} + }, { "version": "3.17.0", "tag": "@snowplow/browser-plugin-client-hints_v3.17.0", diff --git a/plugins/browser-plugin-client-hints/CHANGELOG.md b/plugins/browser-plugin-client-hints/CHANGELOG.md index 134a63b1e..bc9173327 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, 14 Nov 2023 17:58:26 GMT and should not be manually modified. +This log was last generated on Mon, 04 Dec 2023 13:44:02 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-consent/CHANGELOG.json b/plugins/browser-plugin-consent/CHANGELOG.json index 3c4d51266..4e17e34a6 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.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", diff --git a/plugins/browser-plugin-consent/CHANGELOG.md b/plugins/browser-plugin-consent/CHANGELOG.md index 283949292..62c44b468 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, 14 Nov 2023 17:58:26 GMT and should not be manually modified. +This log was last generated on Mon, 04 Dec 2023 13:44:02 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-debugger/CHANGELOG.json b/plugins/browser-plugin-debugger/CHANGELOG.json index 6e482089e..46f01dbe1 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.18.0", + "tag": "@snowplow/browser-plugin-debugger_v3.18.0", + "date": "Mon, 04 Dec 2023 13:44:02 GMT", + "comments": {} + }, { "version": "3.17.0", "tag": "@snowplow/browser-plugin-debugger_v3.17.0", diff --git a/plugins/browser-plugin-debugger/CHANGELOG.md b/plugins/browser-plugin-debugger/CHANGELOG.md index cfd8dceb9..620ff5d85 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, 14 Nov 2023 17:58:26 GMT and should not be manually modified. +This log was last generated on Mon, 04 Dec 2023 13:44:02 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-ecommerce/CHANGELOG.json b/plugins/browser-plugin-ecommerce/CHANGELOG.json index 268e04e6f..18b341a99 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.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", diff --git a/plugins/browser-plugin-ecommerce/CHANGELOG.md b/plugins/browser-plugin-ecommerce/CHANGELOG.md index dfc2cbe2e..f6b063b3e 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, 14 Nov 2023 17:58:26 GMT and should not be manually modified. +This log was last generated on Mon, 04 Dec 2023 13:44:02 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-enhanced-consent/CHANGELOG.json b/plugins/browser-plugin-enhanced-consent/CHANGELOG.json index f8fb3ae2e..1e607a8a6 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.18.0", + "tag": "@snowplow/browser-plugin-enhanced-consent_v3.18.0", + "date": "Mon, 04 Dec 2023 13:44:02 GMT", + "comments": {} + }, { "version": "3.17.0", "tag": "@snowplow/browser-plugin-enhanced-consent_v3.17.0", diff --git a/plugins/browser-plugin-enhanced-consent/CHANGELOG.md b/plugins/browser-plugin-enhanced-consent/CHANGELOG.md index 130862ea9..4c9b653b5 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, 14 Nov 2023 17:58:26 GMT and should not be manually modified. +This log was last generated on Mon, 04 Dec 2023 13:44:02 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.json b/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.json index 2535d6bae..580f0ffa1 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.18.0", + "tag": "@snowplow/browser-plugin-enhanced-ecommerce_v3.18.0", + "date": "Mon, 04 Dec 2023 13:44:02 GMT", + "comments": {} + }, { "version": "3.17.0", "tag": "@snowplow/browser-plugin-enhanced-ecommerce_v3.17.0", diff --git a/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.md b/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.md index 19728327a..568b19a45 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, 14 Nov 2023 17:58:26 GMT and should not be manually modified. +This log was last generated on Mon, 04 Dec 2023 13:44:02 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-error-tracking/CHANGELOG.json b/plugins/browser-plugin-error-tracking/CHANGELOG.json index 4013cb598..b56902d45 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.18.0", + "tag": "@snowplow/browser-plugin-error-tracking_v3.18.0", + "date": "Mon, 04 Dec 2023 13:44:02 GMT", + "comments": {} + }, { "version": "3.17.0", "tag": "@snowplow/browser-plugin-error-tracking_v3.17.0", diff --git a/plugins/browser-plugin-error-tracking/CHANGELOG.md b/plugins/browser-plugin-error-tracking/CHANGELOG.md index e08b28a34..20d38f60c 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, 14 Nov 2023 17:58:26 GMT and should not be manually modified. +This log was last generated on Mon, 04 Dec 2023 13:44:02 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-focalmeter/CHANGELOG.json b/plugins/browser-plugin-focalmeter/CHANGELOG.json index b1aa00ab5..1d60fd604 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.18.0", + "tag": "@snowplow/browser-plugin-focalmeter_v3.18.0", + "date": "Mon, 04 Dec 2023 13:44:02 GMT", + "comments": {} + }, { "version": "3.17.0", "tag": "@snowplow/browser-plugin-focalmeter_v3.17.0", diff --git a/plugins/browser-plugin-focalmeter/CHANGELOG.md b/plugins/browser-plugin-focalmeter/CHANGELOG.md index a0f431080..4e179cd61 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, 14 Nov 2023 17:58:26 GMT and should not be manually modified. +This log was last generated on Mon, 04 Dec 2023 13:44:02 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-form-tracking/CHANGELOG.json b/plugins/browser-plugin-form-tracking/CHANGELOG.json index 2fe2e91df..16eded83d 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.18.0", + "tag": "@snowplow/browser-plugin-form-tracking_v3.18.0", + "date": "Mon, 04 Dec 2023 13:44:02 GMT", + "comments": {} + }, { "version": "3.17.0", "tag": "@snowplow/browser-plugin-form-tracking_v3.17.0", diff --git a/plugins/browser-plugin-form-tracking/CHANGELOG.md b/plugins/browser-plugin-form-tracking/CHANGELOG.md index 6bba89c44..982df9d7b 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, 14 Nov 2023 17:58:26 GMT and should not be manually modified. +This log was last generated on Mon, 04 Dec 2023 13:44:02 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-ga-cookies/CHANGELOG.json b/plugins/browser-plugin-ga-cookies/CHANGELOG.json index 8f604fb24..3ad439677 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.18.0", + "tag": "@snowplow/browser-plugin-ga-cookies_v3.18.0", + "date": "Mon, 04 Dec 2023 13:44:02 GMT", + "comments": {} + }, { "version": "3.17.0", "tag": "@snowplow/browser-plugin-ga-cookies_v3.17.0", diff --git a/plugins/browser-plugin-ga-cookies/CHANGELOG.md b/plugins/browser-plugin-ga-cookies/CHANGELOG.md index d202c0cc8..d78bd1bb1 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, 14 Nov 2023 17:58:26 GMT and should not be manually modified. +This log was last generated on Mon, 04 Dec 2023 13:44:02 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-geolocation/CHANGELOG.json b/plugins/browser-plugin-geolocation/CHANGELOG.json index 077bb4511..222042599 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.18.0", + "tag": "@snowplow/browser-plugin-geolocation_v3.18.0", + "date": "Mon, 04 Dec 2023 13:44:02 GMT", + "comments": {} + }, { "version": "3.17.0", "tag": "@snowplow/browser-plugin-geolocation_v3.17.0", diff --git a/plugins/browser-plugin-geolocation/CHANGELOG.md b/plugins/browser-plugin-geolocation/CHANGELOG.md index 8009d2dc9..a7ff575bf 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, 14 Nov 2023 17:58:26 GMT and should not be manually modified. +This log was last generated on Mon, 04 Dec 2023 13:44:02 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-link-click-tracking/CHANGELOG.json b/plugins/browser-plugin-link-click-tracking/CHANGELOG.json index 734a4f300..2bda9cd7e 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.18.0", + "tag": "@snowplow/browser-plugin-link-click-tracking_v3.18.0", + "date": "Mon, 04 Dec 2023 13:44:02 GMT", + "comments": { + "none": [ + { + "comment": "Track mailto links in link click tracking (#1270)" + } + ] + } + }, { "version": "3.17.0", "tag": "@snowplow/browser-plugin-link-click-tracking_v3.17.0", diff --git a/plugins/browser-plugin-link-click-tracking/CHANGELOG.md b/plugins/browser-plugin-link-click-tracking/CHANGELOG.md index 1a2cbf0a0..83a3362db 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 Tue, 14 Nov 2023 17:58:26 GMT and should not be manually modified. +This log was last generated on Mon, 04 Dec 2023 13:44:02 GMT and should not be manually modified. + +## 3.18.0 +Mon, 04 Dec 2023 13:44:02 GMT + +### Updates + +- Track mailto links in link click tracking (#1270) ## 3.17.0 Tue, 14 Nov 2023 17:58:26 GMT diff --git a/plugins/browser-plugin-media-tracking/CHANGELOG.json b/plugins/browser-plugin-media-tracking/CHANGELOG.json index 33e1dd2ce..2b717787e 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.18.0", + "tag": "@snowplow/browser-plugin-media-tracking_v3.18.0", + "date": "Mon, 04 Dec 2023 13:44:02 GMT", + "comments": {} + }, { "version": "3.17.0", "tag": "@snowplow/browser-plugin-media-tracking_v3.17.0", diff --git a/plugins/browser-plugin-media-tracking/CHANGELOG.md b/plugins/browser-plugin-media-tracking/CHANGELOG.md index 4a4e19035..bf0a8720e 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, 14 Nov 2023 17:58:26 GMT and should not be manually modified. +This log was last generated on Mon, 04 Dec 2023 13:44:02 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-media/CHANGELOG.json b/plugins/browser-plugin-media/CHANGELOG.json index c84f9bb90..0e99b5e88 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.18.0", + "tag": "@snowplow/browser-plugin-media_v3.18.0", + "date": "Mon, 04 Dec 2023 13:44:02 GMT", + "comments": {} + }, { "version": "3.17.0", "tag": "@snowplow/browser-plugin-media_v3.17.0", diff --git a/plugins/browser-plugin-media/CHANGELOG.md b/plugins/browser-plugin-media/CHANGELOG.md index 07210f2be..8962e2f40 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, 14 Nov 2023 17:58:26 GMT and should not be manually modified. +This log was last generated on Mon, 04 Dec 2023 13:44:02 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-optimizely-x/CHANGELOG.json b/plugins/browser-plugin-optimizely-x/CHANGELOG.json index 1ddbffd0f..2ec00e80a 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.18.0", + "tag": "@snowplow/browser-plugin-optimizely-x_v3.18.0", + "date": "Mon, 04 Dec 2023 13:44:02 GMT", + "comments": {} + }, { "version": "3.17.0", "tag": "@snowplow/browser-plugin-optimizely-x_v3.17.0", diff --git a/plugins/browser-plugin-optimizely-x/CHANGELOG.md b/plugins/browser-plugin-optimizely-x/CHANGELOG.md index 6db6afce9..311b4f51d 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, 14 Nov 2023 17:58:26 GMT and should not be manually modified. +This log was last generated on Mon, 04 Dec 2023 13:44:02 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-optimizely/CHANGELOG.json b/plugins/browser-plugin-optimizely/CHANGELOG.json index 3f2c98ba7..c5800e893 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.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", diff --git a/plugins/browser-plugin-optimizely/CHANGELOG.md b/plugins/browser-plugin-optimizely/CHANGELOG.md index 108d8dc43..6e69287e0 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, 14 Nov 2023 17:58:26 GMT and should not be manually modified. +This log was last generated on Mon, 04 Dec 2023 13:44:02 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.json b/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.json index 6afd161cb..67f822d3a 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.18.0", + "tag": "@snowplow/browser-plugin-performance-navigation-timing_v3.18.0", + "date": "Mon, 04 Dec 2023 13:44:02 GMT", + "comments": {} + }, { "version": "3.17.0", "tag": "@snowplow/browser-plugin-performance-navigation-timing_v3.17.0", diff --git a/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.md b/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.md index 9c3cc3c1a..d41ce9825 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, 14 Nov 2023 17:58:26 GMT and should not be manually modified. +This log was last generated on Mon, 04 Dec 2023 13:44:02 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-performance-timing/CHANGELOG.json b/plugins/browser-plugin-performance-timing/CHANGELOG.json index b3becbcad..f3493d673 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.18.0", + "tag": "@snowplow/browser-plugin-performance-timing_v3.18.0", + "date": "Mon, 04 Dec 2023 13:44:02 GMT", + "comments": {} + }, { "version": "3.17.0", "tag": "@snowplow/browser-plugin-performance-timing_v3.17.0", diff --git a/plugins/browser-plugin-performance-timing/CHANGELOG.md b/plugins/browser-plugin-performance-timing/CHANGELOG.md index 81f6836de..157e0326a 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, 14 Nov 2023 17:58:26 GMT and should not be manually modified. +This log was last generated on Mon, 04 Dec 2023 13:44:02 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-privacy-sandbox/CHANGELOG.json b/plugins/browser-plugin-privacy-sandbox/CHANGELOG.json index 81cd4b930..30e3f737a 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.18.0", + "tag": "@snowplow/browser-plugin-privacy-sandbox_v3.18.0", + "date": "Mon, 04 Dec 2023 13:44:02 GMT", + "comments": {} + }, { "version": "3.17.0", "tag": "@snowplow/browser-plugin-privacy-sandbox_v3.17.0", diff --git a/plugins/browser-plugin-privacy-sandbox/CHANGELOG.md b/plugins/browser-plugin-privacy-sandbox/CHANGELOG.md index e8d2923d9..87dc6422d 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, 14 Nov 2023 17:58:26 GMT and should not be manually modified. +This log was last generated on Mon, 04 Dec 2023 13:44:02 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-site-tracking/CHANGELOG.json b/plugins/browser-plugin-site-tracking/CHANGELOG.json index e66dfbd5f..adc1a9acf 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.18.0", + "tag": "@snowplow/browser-plugin-site-tracking_v3.18.0", + "date": "Mon, 04 Dec 2023 13:44:02 GMT", + "comments": {} + }, { "version": "3.17.0", "tag": "@snowplow/browser-plugin-site-tracking_v3.17.0", diff --git a/plugins/browser-plugin-site-tracking/CHANGELOG.md b/plugins/browser-plugin-site-tracking/CHANGELOG.md index 792815bda..c7bc4df50 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, 14 Nov 2023 17:58:26 GMT and should not be manually modified. +This log was last generated on Mon, 04 Dec 2023 13:44:02 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.json b/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.json index c21b6bc00..4b77c6e95 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.18.0", + "tag": "@snowplow/browser-plugin-snowplow-ecommerce_v3.18.0", + "date": "Mon, 04 Dec 2023 13:44:02 GMT", + "comments": {} + }, { "version": "3.17.0", "tag": "@snowplow/browser-plugin-snowplow-ecommerce_v3.17.0", diff --git a/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.md b/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.md index 1a48b1b15..863387136 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, 14 Nov 2023 17:58:26 GMT and should not be manually modified. +This log was last generated on Mon, 04 Dec 2023 13:44:02 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-timezone/CHANGELOG.json b/plugins/browser-plugin-timezone/CHANGELOG.json index 356396868..f9df7226e 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.18.0", + "tag": "@snowplow/browser-plugin-timezone_v3.18.0", + "date": "Mon, 04 Dec 2023 13:44:02 GMT", + "comments": {} + }, { "version": "3.17.0", "tag": "@snowplow/browser-plugin-timezone_v3.17.0", diff --git a/plugins/browser-plugin-timezone/CHANGELOG.md b/plugins/browser-plugin-timezone/CHANGELOG.md index d00b0adb7..ba1f12a64 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, 14 Nov 2023 17:58:26 GMT and should not be manually modified. +This log was last generated on Mon, 04 Dec 2023 13:44:02 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-vimeo-tracking/CHANGELOG.json b/plugins/browser-plugin-vimeo-tracking/CHANGELOG.json index aaab409a9..bd5383cbe 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.18.0", + "tag": "@snowplow/browser-plugin-vimeo-tracking_v3.18.0", + "date": "Mon, 04 Dec 2023 13:44:02 GMT", + "comments": {} + }, { "version": "3.17.0", "tag": "@snowplow/browser-plugin-vimeo-tracking_v3.17.0", diff --git a/plugins/browser-plugin-vimeo-tracking/CHANGELOG.md b/plugins/browser-plugin-vimeo-tracking/CHANGELOG.md index 665229c51..7949af48b 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, 14 Nov 2023 17:58:26 GMT and should not be manually modified. +This log was last generated on Mon, 04 Dec 2023 13:44:02 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-web-vitals/CHANGELOG.json b/plugins/browser-plugin-web-vitals/CHANGELOG.json index 69c2113fd..84bb6418d 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.18.0", + "tag": "@snowplow/browser-plugin-web-vitals_v3.18.0", + "date": "Mon, 04 Dec 2023 13:44:02 GMT", + "comments": {} + }, { "version": "3.17.0", "tag": "@snowplow/browser-plugin-web-vitals_v3.17.0", diff --git a/plugins/browser-plugin-web-vitals/CHANGELOG.md b/plugins/browser-plugin-web-vitals/CHANGELOG.md index 72b8ba42a..bdad05b67 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, 14 Nov 2023 17:58:26 GMT and should not be manually modified. +This log was last generated on Mon, 04 Dec 2023 13:44:02 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-youtube-tracking/CHANGELOG.json b/plugins/browser-plugin-youtube-tracking/CHANGELOG.json index bd6a910c6..638b5d0e6 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.18.0", + "tag": "@snowplow/browser-plugin-youtube-tracking_v3.18.0", + "date": "Mon, 04 Dec 2023 13:44:02 GMT", + "comments": {} + }, { "version": "3.17.0", "tag": "@snowplow/browser-plugin-youtube-tracking_v3.17.0", diff --git a/plugins/browser-plugin-youtube-tracking/CHANGELOG.md b/plugins/browser-plugin-youtube-tracking/CHANGELOG.md index f33052866..99ef5aefc 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, 14 Nov 2023 17:58:26 GMT and should not be manually modified. +This log was last generated on Mon, 04 Dec 2023 13:44:02 GMT and should not be manually modified. + +## 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 diff --git a/trackers/browser-tracker/CHANGELOG.json b/trackers/browser-tracker/CHANGELOG.json index 90329dd47..c2ca03fbe 100644 --- a/trackers/browser-tracker/CHANGELOG.json +++ b/trackers/browser-tracker/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-tracker", "entries": [ + { + "version": "3.18.0", + "tag": "@snowplow/browser-tracker_v3.18.0", + "date": "Mon, 04 Dec 2023 13:44:02 GMT", + "comments": {} + }, { "version": "3.17.0", "tag": "@snowplow/browser-tracker_v3.17.0", diff --git a/trackers/browser-tracker/CHANGELOG.md b/trackers/browser-tracker/CHANGELOG.md index 1af46150f..19e486670 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, 14 Nov 2023 17:58:26 GMT and should not be manually modified. +This log was last generated on Mon, 04 Dec 2023 13:44:02 GMT and should not be manually modified. + +## 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 diff --git a/trackers/javascript-tracker/CHANGELOG.json b/trackers/javascript-tracker/CHANGELOG.json index 1005df02d..8d6498280 100644 --- a/trackers/javascript-tracker/CHANGELOG.json +++ b/trackers/javascript-tracker/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@snowplow/javascript-tracker", "entries": [ + { + "version": "3.18.0", + "tag": "@snowplow/javascript-tracker_v3.18.0", + "date": "Mon, 04 Dec 2023 13:44:02 GMT", + "comments": { + "none": [ + { + "comment": "Add onRequestSuccess and onRequestFailure callbacks" + } + ] + } + }, { "version": "3.17.0", "tag": "@snowplow/javascript-tracker_v3.17.0", diff --git a/trackers/javascript-tracker/CHANGELOG.md b/trackers/javascript-tracker/CHANGELOG.md index 590a9ef83..a4a9a113e 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, 14 Nov 2023 17:58:26 GMT and should not be manually modified. +This log was last generated on Mon, 04 Dec 2023 13:44:02 GMT and should not be manually modified. + +## 3.18.0 +Mon, 04 Dec 2023 13:44:02 GMT + +### Updates + +- Add onRequestSuccess and onRequestFailure callbacks ## 3.17.0 Tue, 14 Nov 2023 17:58:26 GMT diff --git a/trackers/node-tracker/CHANGELOG.json b/trackers/node-tracker/CHANGELOG.json index 075c030b6..5433cc557 100644 --- a/trackers/node-tracker/CHANGELOG.json +++ b/trackers/node-tracker/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/node-tracker", "entries": [ + { + "version": "3.18.0", + "tag": "@snowplow/node-tracker_v3.18.0", + "date": "Mon, 04 Dec 2023 13:44:02 GMT", + "comments": {} + }, { "version": "3.17.0", "tag": "@snowplow/node-tracker_v3.17.0", diff --git a/trackers/node-tracker/CHANGELOG.md b/trackers/node-tracker/CHANGELOG.md index 1638ffe82..565e7b8b6 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, 14 Nov 2023 17:58:26 GMT and should not be manually modified. +This log was last generated on Mon, 04 Dec 2023 13:44:02 GMT and should not be manually modified. + +## 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 From 7402d04ba70f21ce076b8334e3ec2eb8f9eb71fb Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 4 Dec 2023 13:44:02 +0000 Subject: [PATCH 153/449] 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 ef0229a93..c396fff08 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.17.0", + "version": "3.18.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 edf3ab14b..22cf864c3 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.17.0", + "version": "3.18.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 20a45bdf8..d89a48bd9 100644 --- a/libraries/tracker-core/package.json +++ b/libraries/tracker-core/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/tracker-core", - "version": "3.17.0", + "version": "3.18.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 c599379e8..f29eb7b81 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.17.0", + "version": "3.18.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.17.0" + "@snowplow/browser-tracker": "~3.18.0" } } diff --git a/plugins/browser-plugin-browser-features/package.json b/plugins/browser-plugin-browser-features/package.json index d83a23666..98dbb72e3 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.17.0", + "version": "3.18.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.17.0" + "@snowplow/browser-tracker": "~3.18.0" } } diff --git a/plugins/browser-plugin-button-click-tracking/package.json b/plugins/browser-plugin-button-click-tracking/package.json index 6b97dfe09..1a9565e09 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.17.0", + "version": "3.18.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.16.0" + "@snowplow/browser-tracker": "~3.18.0" } } diff --git a/plugins/browser-plugin-client-hints/package.json b/plugins/browser-plugin-client-hints/package.json index 4c7da8f18..1f662324b 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.17.0", + "version": "3.18.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.17.0" + "@snowplow/browser-tracker": "~3.18.0" } } diff --git a/plugins/browser-plugin-consent/package.json b/plugins/browser-plugin-consent/package.json index 6d65a7941..b52970df7 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.17.0", + "version": "3.18.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.17.0" + "@snowplow/browser-tracker": "~3.18.0" } } diff --git a/plugins/browser-plugin-debugger/package.json b/plugins/browser-plugin-debugger/package.json index 86345e334..afa17f59d 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.17.0", + "version": "3.18.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.17.0" + "@snowplow/browser-tracker": "~3.18.0" } } diff --git a/plugins/browser-plugin-ecommerce/package.json b/plugins/browser-plugin-ecommerce/package.json index 080e7ce6b..a576652b7 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.17.0", + "version": "3.18.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.17.0" + "@snowplow/browser-tracker": "~3.18.0" } } diff --git a/plugins/browser-plugin-enhanced-consent/package.json b/plugins/browser-plugin-enhanced-consent/package.json index f6ba72a7f..be7e38ee3 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.17.0", + "version": "3.18.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.17.0" + "@snowplow/browser-tracker": "~3.18.0" } } diff --git a/plugins/browser-plugin-enhanced-ecommerce/package.json b/plugins/browser-plugin-enhanced-ecommerce/package.json index 0f5b9914a..eee9e1d08 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.17.0", + "version": "3.18.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.17.0" + "@snowplow/browser-tracker": "~3.18.0" } } diff --git a/plugins/browser-plugin-error-tracking/package.json b/plugins/browser-plugin-error-tracking/package.json index 62e35b30c..db3736550 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.17.0", + "version": "3.18.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.17.0" + "@snowplow/browser-tracker": "~3.18.0" } } diff --git a/plugins/browser-plugin-focalmeter/package.json b/plugins/browser-plugin-focalmeter/package.json index f81979b63..fbe5ed10e 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.17.0", + "version": "3.18.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.17.0" + "@snowplow/browser-tracker": "~3.18.0" } } diff --git a/plugins/browser-plugin-form-tracking/package.json b/plugins/browser-plugin-form-tracking/package.json index 1575439f9..f9fb377d4 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.17.0", + "version": "3.18.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.17.0" + "@snowplow/browser-tracker": "~3.18.0" } } diff --git a/plugins/browser-plugin-ga-cookies/package.json b/plugins/browser-plugin-ga-cookies/package.json index 74ab37343..1af25a03b 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.17.0", + "version": "3.18.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.17.0" + "@snowplow/browser-tracker": "~3.18.0" } } diff --git a/plugins/browser-plugin-geolocation/package.json b/plugins/browser-plugin-geolocation/package.json index bf36a2a8d..c1c3148d9 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.17.0", + "version": "3.18.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.17.0" + "@snowplow/browser-tracker": "~3.18.0" } } diff --git a/plugins/browser-plugin-link-click-tracking/package.json b/plugins/browser-plugin-link-click-tracking/package.json index 00905fc09..6c7f882bf 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.17.0", + "version": "3.18.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.17.0" + "@snowplow/browser-tracker": "~3.18.0" } } diff --git a/plugins/browser-plugin-media-tracking/package.json b/plugins/browser-plugin-media-tracking/package.json index aa95e18b9..5c8cdde91 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.17.0", + "version": "3.18.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.17.0" + "@snowplow/browser-tracker": "~3.18.0" } } diff --git a/plugins/browser-plugin-media/package.json b/plugins/browser-plugin-media/package.json index 30f3a9caf..430cc0288 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.17.0", + "version": "3.18.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.17.0" + "@snowplow/browser-tracker": "~3.18.0" } } diff --git a/plugins/browser-plugin-optimizely-x/package.json b/plugins/browser-plugin-optimizely-x/package.json index 609d87a24..943ec6218 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.17.0", + "version": "3.18.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.17.0" + "@snowplow/browser-tracker": "~3.18.0" } } diff --git a/plugins/browser-plugin-optimizely/package.json b/plugins/browser-plugin-optimizely/package.json index 3687d8ac3..5dcca7f4e 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.17.0", + "version": "3.18.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.17.0" + "@snowplow/browser-tracker": "~3.18.0" } } diff --git a/plugins/browser-plugin-performance-navigation-timing/package.json b/plugins/browser-plugin-performance-navigation-timing/package.json index 8e4cb74a9..96f054f61 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.17.0", + "version": "3.18.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.17.0" + "@snowplow/browser-tracker": "~3.18.0" } } diff --git a/plugins/browser-plugin-performance-timing/package.json b/plugins/browser-plugin-performance-timing/package.json index 9eb3278be..0d17a0bb5 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.17.0", + "version": "3.18.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.17.0" + "@snowplow/browser-tracker": "~3.18.0" } } diff --git a/plugins/browser-plugin-privacy-sandbox/package.json b/plugins/browser-plugin-privacy-sandbox/package.json index 8db85d0a2..e2f28879c 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.17.0", + "version": "3.18.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.17.0" + "@snowplow/browser-tracker": "~3.18.0" } } diff --git a/plugins/browser-plugin-site-tracking/package.json b/plugins/browser-plugin-site-tracking/package.json index 14f17cd25..7663a4de5 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.17.0", + "version": "3.18.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.17.0" + "@snowplow/browser-tracker": "~3.18.0" } } diff --git a/plugins/browser-plugin-snowplow-ecommerce/package.json b/plugins/browser-plugin-snowplow-ecommerce/package.json index ea13a020d..98d4bae94 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.17.0", + "version": "3.18.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.17.0" + "@snowplow/browser-tracker": "~3.18.0" } } diff --git a/plugins/browser-plugin-timezone/package.json b/plugins/browser-plugin-timezone/package.json index cfaacfba3..1999cfc4f 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.17.0", + "version": "3.18.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.17.0" + "@snowplow/browser-tracker": "~3.18.0" } } diff --git a/plugins/browser-plugin-vimeo-tracking/package.json b/plugins/browser-plugin-vimeo-tracking/package.json index 0d967c604..f2643d602 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.17.0", + "version": "3.18.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.17.0" + "@snowplow/browser-tracker": "~3.18.0" } } diff --git a/plugins/browser-plugin-web-vitals/package.json b/plugins/browser-plugin-web-vitals/package.json index de0c28de7..7bc529494 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.17.0", + "version": "3.18.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.17.0" + "@snowplow/browser-tracker": "~3.18.0" } } diff --git a/plugins/browser-plugin-youtube-tracking/package.json b/plugins/browser-plugin-youtube-tracking/package.json index e7d4c0661..9c2a00c4d 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.17.0", + "version": "3.18.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.17.0" + "@snowplow/browser-tracker": "~3.18.0" } } diff --git a/trackers/browser-tracker/package.json b/trackers/browser-tracker/package.json index aac5be1e3..6f9f4f385 100644 --- a/trackers/browser-tracker/package.json +++ b/trackers/browser-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-tracker", - "version": "3.17.0", + "version": "3.18.0", "description": "Browser tracker for Snowplow", "keywords": [ "tracking", diff --git a/trackers/javascript-tracker/package.json b/trackers/javascript-tracker/package.json index 9dad8878a..7fb6637f5 100644 --- a/trackers/javascript-tracker/package.json +++ b/trackers/javascript-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/javascript-tracker", - "version": "3.17.0", + "version": "3.18.0", "description": "Web analytics for Snowplow", "keywords": [ "tracking", diff --git a/trackers/node-tracker/package.json b/trackers/node-tracker/package.json index 8c5d7311b..9aaf5641d 100644 --- a/trackers/node-tracker/package.json +++ b/trackers/node-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/node-tracker", - "version": "3.17.0", + "version": "3.18.0", "description": "Node tracker for Snowplow", "keywords": [ "snowplow", From 26e826a665e1aa5829ce85781591146799fa3ec8 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 4 Dec 2023 13:47:25 +0000 Subject: [PATCH 154/449] Applying documentation updates. --- api-docs/docs/browser-tracker/markdown/browser-tracker.md | 2 +- .../markdown/browser-tracker.selfdescribingjson.md | 2 +- .../node-tracker/markdown/node-tracker.buildconsentgranted.md | 2 +- .../markdown/node-tracker.buildconsentwithdrawn.md | 2 +- api-docs/docs/node-tracker/markdown/node-tracker.md | 4 ++-- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.md index 66ea8d974..79a214fa9 100644 --- a/api-docs/docs/browser-tracker/markdown/browser-tracker.md +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.md @@ -88,7 +88,7 @@ | [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) | | [Platform](./browser-tracker.platform.md) | | | [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 | +| [SelfDescribingJson](./browser-tracker.selfdescribingjson.md) | Export interface for any Self-Describing JSON such as context or Self Describing events | | [StateStorageStrategy](./browser-tracker.statestoragestrategy.md) | | | [TrackerConfiguration](./browser-tracker.trackerconfiguration.md) | The configuration object for initialising the tracker | diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.selfdescribingjson.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.selfdescribingjson.md index 2e11754c5..8d2fceddb 100644 --- a/api-docs/docs/browser-tracker/markdown/browser-tracker.selfdescribingjson.md +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.selfdescribingjson.md @@ -4,7 +4,7 @@ ## SelfDescribingJson type -export interface for any Self-Describing JSON such as context or Self Describing events +Export interface for any Self-Describing JSON such as context or Self Describing events Signature: 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 7c9272b65..da5d9a077 100644 --- a/api-docs/docs/node-tracker/markdown/node-tracker.buildconsentgranted.md +++ b/api-docs/docs/node-tracker/markdown/node-tracker.buildconsentgranted.md @@ -26,7 +26,7 @@ declare function buildConsentGranted(event: ConsentGrantedEvent): { Returns: -`{ event: PayloadBuilder; context: { schema: string; data: Record<string, unknown>; }\[\]; }` +{ event: PayloadBuilder; context: { schema: string; data: Record<string, unknown>; }\[\]; } 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 9c6128a27..dc59cff79 100644 --- a/api-docs/docs/node-tracker/markdown/node-tracker.buildconsentwithdrawn.md +++ b/api-docs/docs/node-tracker/markdown/node-tracker.buildconsentwithdrawn.md @@ -26,7 +26,7 @@ declare function buildConsentWithdrawn(event: ConsentWithdrawnEvent): { Returns: -`{ event: PayloadBuilder; context: { schema: string; data: Record<string, unknown>; }\[\]; }` +{ event: PayloadBuilder; context: { schema: string; data: Record<string, unknown>; }\[\]; } 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.md b/api-docs/docs/node-tracker/markdown/node-tracker.md index 6802206e8..e9dca05bf 100644 --- a/api-docs/docs/node-tracker/markdown/node-tracker.md +++ b/api-docs/docs/node-tracker/markdown/node-tracker.md @@ -25,7 +25,7 @@ | [buildEcommerceTransactionItem(event)](./node-tracker.buildecommercetransactionitem.md) | Build an Ecommerce Transaction Item Event Related to the [buildEcommerceTransaction()](./node-tracker.buildecommercetransaction.md) Each Ecommerce Transaction may contain one or more EcommerceTransactionItem events | | [buildFormFocusOrChange(event)](./node-tracker.buildformfocusorchange.md) | Build a Form Focus or Change Form Event based on schema property When a user focuses on a form element or when a user makes a change to a form element. | | [buildFormSubmission(event)](./node-tracker.buildformsubmission.md) | Build a Form Submission Event Used to track when a user submits a form | -| [buildLinkClick(event)](./node-tracker.buildlinkclick.md) | Build a Link Click Event Used when a user clicks on a link on a webpage, typically an anchor tag `
` | +| [buildLinkClick(event)](./node-tracker.buildlinkclick.md) | Build a Link Click Event Used when a user clicks on a link on a webpage, typically an anchor tag <a> | | [buildPagePing(event)](./node-tracker.buildpageping.md) | Build 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 | | [buildPageView(event)](./node-tracker.buildpageview.md) | Build 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). | | [buildRemoveFromCart(event)](./node-tracker.buildremovefromcart.md) | Build a Remove From Cart Event For tracking users removing items from a cart on an ecommerce site. | @@ -55,7 +55,7 @@ | [Emitter](./node-tracker.emitter.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 `` | +| [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> | | [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 | From b72631295486f32216feb58b1cd56253d81ba024 Mon Sep 17 00:00:00 2001 From: Greg Leonard <45019882+greg-el@users.noreply.github.com> Date: Wed, 13 Dec 2023 13:00:44 +0000 Subject: [PATCH 155/449] Fix config for callbacks (close #1275) --- .../browser-tracker/browser-tracker.api.md | 19 +++++++++++++++++++ ...config-for-callbacks_2023-12-13-13-14.json | 10 ++++++++++ ...config-for-callbacks_2023-12-13-14-30.json | 10 ++++++++++ .../browser-tracker-core/src/tracker/index.ts | 4 +++- .../browser-tracker-core/src/tracker/types.ts | 15 +++++++++++++++ trackers/browser-tracker/src/index.ts | 8 ++++++++ 6 files changed, 65 insertions(+), 1 deletion(-) create mode 100644 common/changes/@snowplow/browser-tracker-core/issue-1275-fix-config-for-callbacks_2023-12-13-13-14.json create mode 100644 common/changes/@snowplow/browser-tracker/issue-1275-fix-config-for-callbacks_2023-12-13-14-30.json diff --git a/api-docs/docs/browser-tracker/browser-tracker.api.md b/api-docs/docs/browser-tracker/browser-tracker.api.md index f064fc99b..a449cbe07 100644 --- a/api-docs/docs/browser-tracker/browser-tracker.api.md +++ b/api-docs/docs/browser-tracker/browser-tracker.api.md @@ -215,6 +215,9 @@ export interface EnableAnonymousTrackingConfiguration { stateStorageStrategy?: StateStorageStrategy; } +// @public +export type EventBatch = GetBatch | PostBatch; + // @public (undocumented) export type EventMethod = "post" | "get" | "beacon"; @@ -234,6 +237,9 @@ export interface FlushBufferConfiguration { newBufferSize?: number; } +// @public +export type GetBatch = string[]; + // @public export function newSession(trackers?: Array): void; @@ -252,12 +258,23 @@ export interface PageViewEvent { // @public (undocumented) export type Platform = "web" | "mob" | "pc" | "srv" | "app" | "tv" | "cnsl" | "iot"; +// @public +export type PostBatch = Record[]; + // @public export function preservePageViewId(trackers?: Array): void; // @public export function removeGlobalContexts(contexts: Array, trackers?: Array): void; +// @public +export type RequestFailure = { + events: EventBatch; + status?: number; + message?: string; + willRetry: boolean; +}; + // @public export interface RuleSet { // (undocumented) @@ -370,6 +387,8 @@ export type TrackerConfiguration = { onSessionUpdateCallback?: (updatedSession: ClientSession) => void; idService?: string; retryFailedRequests?: boolean; + onRequestSuccess?: (data: EventBatch) => void; + onRequestFailure?: (data: RequestFailure) => void; }; // @public diff --git a/common/changes/@snowplow/browser-tracker-core/issue-1275-fix-config-for-callbacks_2023-12-13-13-14.json b/common/changes/@snowplow/browser-tracker-core/issue-1275-fix-config-for-callbacks_2023-12-13-13-14.json new file mode 100644 index 000000000..7cc7f8fa9 --- /dev/null +++ b/common/changes/@snowplow/browser-tracker-core/issue-1275-fix-config-for-callbacks_2023-12-13-13-14.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-tracker-core", + "comment": "Fix config for callbacks", + "type": "none" + } + ], + "packageName": "@snowplow/browser-tracker-core" +} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-tracker/issue-1275-fix-config-for-callbacks_2023-12-13-14-30.json b/common/changes/@snowplow/browser-tracker/issue-1275-fix-config-for-callbacks_2023-12-13-14-30.json new file mode 100644 index 000000000..a4e350c5e --- /dev/null +++ b/common/changes/@snowplow/browser-tracker/issue-1275-fix-config-for-callbacks_2023-12-13-14-30.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-tracker", + "comment": "Update API docs for callbacks", + "type": "none" + } + ], + "packageName": "@snowplow/browser-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 2183981c0..11a46685b 100755 --- a/libraries/browser-tracker-core/src/tracker/index.ts +++ b/libraries/browser-tracker-core/src/tracker/index.ts @@ -304,7 +304,9 @@ export function Tracker( trackerConfiguration.retryStatusCodes ?? [], (trackerConfiguration.dontRetryStatusCodes ?? []).concat([400, 401, 403, 410, 422]), trackerConfiguration.idService, - trackerConfiguration.retryFailedRequests + trackerConfiguration.retryFailedRequests, + trackerConfiguration.onRequestSuccess, + trackerConfiguration.onRequestFailure ), // Whether pageViewId should be regenerated after each trackPageView. Affect web_page context preservePageViewId = false, diff --git a/libraries/browser-tracker-core/src/tracker/types.ts b/libraries/browser-tracker-core/src/tracker/types.ts index 31042b902..fa2105500 100755 --- a/libraries/browser-tracker-core/src/tracker/types.ts +++ b/libraries/browser-tracker-core/src/tracker/types.ts @@ -232,6 +232,21 @@ export type TrackerConfiguration = { * @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; }; /** diff --git a/trackers/browser-tracker/src/index.ts b/trackers/browser-tracker/src/index.ts index 8acce2105..92b88c628 100644 --- a/trackers/browser-tracker/src/index.ts +++ b/trackers/browser-tracker/src/index.ts @@ -38,6 +38,10 @@ import { EventMethod, StateStorageStrategy, ClientSession, + RequestFailure, + EventBatch, + GetBatch, + PostBatch, } from '@snowplow/browser-tracker-core'; import { version } from '@snowplow/tracker-core'; @@ -81,6 +85,10 @@ export { EventMethod, StateStorageStrategy, ClientSession, + RequestFailure, + EventBatch, + GetBatch, + PostBatch, }; export { version }; export * from './api'; From 53b363b6f59a68d8dfb1c49983b0f2ffd26e342a Mon Sep 17 00:00:00 2001 From: Jethro Nederhof Date: Thu, 14 Dec 2023 09:00:47 +1100 Subject: [PATCH 156/449] Update web-vitals to accept custom entities (#1273) * Update web-vitals to accept custom entities * Update changelogs --- .../wv-context_2023-12-12-00-59.json | 10 ++++++++++ plugins/browser-plugin-web-vitals/README.md | 3 ++- plugins/browser-plugin-web-vitals/src/index.ts | 7 +++++-- .../test/__snapshots__/web-vitals.test.ts.snap | 16 ++++++++++++++++ .../test/web-vitals.test.ts | 10 +++++++--- 5 files changed, 40 insertions(+), 6 deletions(-) create mode 100644 common/changes/@snowplow/browser-plugin-web-vitals/wv-context_2023-12-12-00-59.json diff --git a/common/changes/@snowplow/browser-plugin-web-vitals/wv-context_2023-12-12-00-59.json b/common/changes/@snowplow/browser-plugin-web-vitals/wv-context_2023-12-12-00-59.json new file mode 100644 index 000000000..c56ffd54e --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-web-vitals/wv-context_2023-12-12-00-59.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-web-vitals", + "comment": "Add `context` support for the web_vitals event", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-web-vitals" +} \ No newline at end of file diff --git a/plugins/browser-plugin-web-vitals/README.md b/plugins/browser-plugin-web-vitals/README.md index b49101df0..492c4d7c1 100644 --- a/plugins/browser-plugin-web-vitals/README.md +++ b/plugins/browser-plugin-web-vitals/README.md @@ -43,7 +43,8 @@ newTracker('sp1', '{{collector}}', { plugins: [ WebVitalsPlugin(/* pluginOptions * { * loadWebVitalsScript: Should the plugin immediately load the Core Web Vitals measurement script from UNPKG CDN. * webVitalsSource: The URL endpoint the Web Vitals script should be loaded from. Defaults to the UNPKG CDN. - * } + * context: Array of entity objects or entity-generating functions (the web_vitals payload is passed as a parameter) to attach to the web_vitals event. + * } */ ``` diff --git a/plugins/browser-plugin-web-vitals/src/index.ts b/plugins/browser-plugin-web-vitals/src/index.ts index 9177d8bba..600291bcb 100644 --- a/plugins/browser-plugin-web-vitals/src/index.ts +++ b/plugins/browser-plugin-web-vitals/src/index.ts @@ -1,5 +1,5 @@ import { BrowserPlugin, BrowserTracker, dispatchToTrackersInCollection } from '@snowplow/browser-tracker-core'; -import { buildSelfDescribingEvent } from '@snowplow/tracker-core'; +import { DynamicContext, buildSelfDescribingEvent, resolveDynamicContext } from '@snowplow/tracker-core'; import { WEB_VITALS_SCHEMA } from './schemata'; import { attachWebVitalsPageListeners, createWebVitalsScript, webVitalsListener } from './utils'; @@ -10,11 +10,13 @@ let listenersAttached = false; interface WebVitalsPluginOptions { loadWebVitalsScript?: boolean; webVitalsSource?: string; + context?: DynamicContext; } const defaultPluginOptions = { loadWebVitalsScript: true, webVitalsSource: WEB_VITALS_SOURCE, + context: [], }; /** @@ -45,7 +47,8 @@ export function WebVitalsPlugin(pluginOptions: WebVitalsPluginOptions = defaultP schema: WEB_VITALS_SCHEMA, data: webVitalsObject, }, - }) + }), + resolveDynamicContext(options.context ?? [], webVitalsObject) ); }); } diff --git a/plugins/browser-plugin-web-vitals/test/__snapshots__/web-vitals.test.ts.snap b/plugins/browser-plugin-web-vitals/test/__snapshots__/web-vitals.test.ts.snap index 5eb575c50..e7c2f3037 100644 --- a/plugins/browser-plugin-web-vitals/test/__snapshots__/web-vitals.test.ts.snap +++ b/plugins/browser-plugin-web-vitals/test/__snapshots__/web-vitals.test.ts.snap @@ -14,3 +14,19 @@ Object { "schema": "iglu:com.snowplowanalytics.snowplow/web_vitals/jsonschema/1-0-0", } `; + +exports[`Web Vitals plugin Returns values for Web Vitals properties: context 1`] = ` +Array [ + Object { + "data": Array [ + Object { + "data": Object { + "ok": true, + }, + "schema": "iglu:com.example/test/jsonschema/1-0-0", + }, + ], + "schema": "iglu:com.snowplowanalytics.snowplow/contexts/jsonschema/1-0-0", + }, +] +`; diff --git a/plugins/browser-plugin-web-vitals/test/web-vitals.test.ts b/plugins/browser-plugin-web-vitals/test/web-vitals.test.ts index 9f5376957..8536d5b19 100644 --- a/plugins/browser-plugin-web-vitals/test/web-vitals.test.ts +++ b/plugins/browser-plugin-web-vitals/test/web-vitals.test.ts @@ -40,13 +40,17 @@ describe('Web Vitals plugin', () => { const core = trackerCore({ corePlugins: [], callback: (payloadBuilder) => { - const { data } = payloadBuilder.getJson()[0].json; - expect(data).toMatchSnapshot(); + const [data, ...context] = payloadBuilder.getJson(); + expect(data.json.data).toMatchSnapshot(); + expect(context.map(({ json }) => json)).toMatchSnapshot('context'); done(); }, }); - WebVitalsPlugin({ loadWebVitalsScript: false }).activateBrowserPlugin?.({ core } as BrowserTracker); + WebVitalsPlugin({ + loadWebVitalsScript: false, + context: [{ schema: 'iglu:com.example/test/jsonschema/1-0-0', data: { ok: true } }], + }).activateBrowserPlugin?.({ core } as BrowserTracker); const pagehideEvent = new PageTransitionEvent('pagehide'); jsdom.window.dispatchEvent(pagehideEvent); }); From 0a79fba5b49344afa50bf9c939e517d6e5bca480 Mon Sep 17 00:00:00 2001 From: Matus Tomlein Date: Thu, 14 Dec 2023 08:40:51 +0100 Subject: [PATCH 157/449] Do not set the previous session ID reference in cookies if anonymous tracking is enabled (close #1268) PR #1274 --- ...ession_id_anonymous_tracking_2023-12-12-13-35.json | 10 ++++++++++ .../browser-tracker-core/src/tracker/id_cookie.ts | 11 ++++++++--- libraries/browser-tracker-core/src/tracker/index.ts | 2 +- libraries/browser-tracker-core/test/id_cookie.test.ts | 7 ++++++- 4 files changed, 25 insertions(+), 5 deletions(-) create mode 100644 common/changes/@snowplow/browser-tracker-core/issue-1268-previous_session_id_anonymous_tracking_2023-12-12-13-35.json diff --git a/common/changes/@snowplow/browser-tracker-core/issue-1268-previous_session_id_anonymous_tracking_2023-12-12-13-35.json b/common/changes/@snowplow/browser-tracker-core/issue-1268-previous_session_id_anonymous_tracking_2023-12-12-13-35.json new file mode 100644 index 000000000..628bf6092 --- /dev/null +++ b/common/changes/@snowplow/browser-tracker-core/issue-1268-previous_session_id_anonymous_tracking_2023-12-12-13-35.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-tracker-core", + "comment": "Do not set the previous session ID reference in cookies if anonymous tracking is enabled (#1268)", + "type": "none" + } + ], + "packageName": "@snowplow/browser-tracker-core" +} \ No newline at end of file diff --git a/libraries/browser-tracker-core/src/tracker/id_cookie.ts b/libraries/browser-tracker-core/src/tracker/id_cookie.ts index 831d672c1..4bf7502e6 100644 --- a/libraries/browser-tracker-core/src/tracker/id_cookie.ts +++ b/libraries/browser-tracker-core/src/tracker/id_cookie.ts @@ -256,9 +256,14 @@ export function incrementEventIndexInIdCookie(idCookie: ParsedIdCookie) { * @param idCookie Parsed cookie * @returns String cookie value */ -export function serializeIdCookie(idCookie: ParsedIdCookie) { - idCookie.shift(); - return idCookie.join('.'); +export function serializeIdCookie(idCookie: ParsedIdCookie, configAnonymousTracking: boolean) { + const anonymizedIdCookie: (string | number | undefined)[] = [...idCookie]; + if (configAnonymousTracking) { + anonymizedIdCookie[domainUserIdIndex] = ''; + anonymizedIdCookie[previousSessionIdIndex] = ''; + } + anonymizedIdCookie.shift(); + return anonymizedIdCookie.join('.'); } /** diff --git a/libraries/browser-tracker-core/src/tracker/index.ts b/libraries/browser-tracker-core/src/tracker/index.ts index 11a46685b..e79d30484 100755 --- a/libraries/browser-tracker-core/src/tracker/index.ts +++ b/libraries/browser-tracker-core/src/tracker/index.ts @@ -588,7 +588,7 @@ export function Tracker( */ function setDomainUserIdCookie(idCookie: ParsedIdCookie) { const cookieName = getSnowplowCookieName('id'); - const cookieValue = serializeIdCookie(idCookie); + const cookieValue = serializeIdCookie(idCookie, configAnonymousTracking); return persistValue(cookieName, cookieValue, configVisitorCookieTimeout); } diff --git a/libraries/browser-tracker-core/test/id_cookie.test.ts b/libraries/browser-tracker-core/test/id_cookie.test.ts index d6584e7ff..a3749d608 100644 --- a/libraries/browser-tracker-core/test/id_cookie.test.ts +++ b/libraries/browser-tracker-core/test/id_cookie.test.ts @@ -262,7 +262,12 @@ describe('incrementEventIndexInIdCookie', () => { describe('serializeIdCookie', () => { it("Doesn't change the original cookie", () => { let cookie = `def.1653632272.10.1653632282.1653632262.ses.previous.fid.1653632252.9`; - expect(serializeIdCookie(parseIdCookie(cookie, '', '', 0))).toBe(cookie); + expect(serializeIdCookie(parseIdCookie(cookie, '', '', 0), false)).toBe(cookie); + }); + + it("Doesn't include domain user ID and previous session ID in case of anonymous tracking", () => { + let idCookie = parseIdCookie('def.1653632272.10.1653632282.1653632262.ses.previous.fid.1653632252.9', '', '', 0); + expect(serializeIdCookie(idCookie, true)).toBe('.1653632272.10.1653632282.1653632262.ses..fid.1653632252.9'); }); }); From 1e4c867cac3f551470828fd5f41fb3f37ef9a6ad Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 14 Dec 2023 10:45:23 +0000 Subject: [PATCH 158/449] Update changelogs [skip ci] --- .../wv-context_2023-12-12-00-59.json | 10 ---------- ...on_id_anonymous_tracking_2023-12-12-13-35.json | 10 ---------- ...fix-config-for-callbacks_2023-12-13-13-14.json | 10 ---------- ...fix-config-for-callbacks_2023-12-13-14-30.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 ++++++- 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 | 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 ++++++ 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 | 12 ++++++++++++ plugins/browser-plugin-web-vitals/CHANGELOG.md | 9 ++++++++- .../CHANGELOG.json | 6 ++++++ .../browser-plugin-youtube-tracking/CHANGELOG.md | 7 ++++++- trackers/browser-tracker/CHANGELOG.json | 12 ++++++++++++ trackers/browser-tracker/CHANGELOG.md | 9 ++++++++- 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, 424 insertions(+), 73 deletions(-) delete mode 100644 common/changes/@snowplow/browser-plugin-web-vitals/wv-context_2023-12-12-00-59.json delete mode 100644 common/changes/@snowplow/browser-tracker-core/issue-1268-previous_session_id_anonymous_tracking_2023-12-12-13-35.json delete mode 100644 common/changes/@snowplow/browser-tracker-core/issue-1275-fix-config-for-callbacks_2023-12-13-13-14.json delete mode 100644 common/changes/@snowplow/browser-tracker/issue-1275-fix-config-for-callbacks_2023-12-13-14-30.json diff --git a/common/changes/@snowplow/browser-plugin-web-vitals/wv-context_2023-12-12-00-59.json b/common/changes/@snowplow/browser-plugin-web-vitals/wv-context_2023-12-12-00-59.json deleted file mode 100644 index c56ffd54e..000000000 --- a/common/changes/@snowplow/browser-plugin-web-vitals/wv-context_2023-12-12-00-59.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-plugin-web-vitals", - "comment": "Add `context` support for the web_vitals event", - "type": "none" - } - ], - "packageName": "@snowplow/browser-plugin-web-vitals" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-tracker-core/issue-1268-previous_session_id_anonymous_tracking_2023-12-12-13-35.json b/common/changes/@snowplow/browser-tracker-core/issue-1268-previous_session_id_anonymous_tracking_2023-12-12-13-35.json deleted file mode 100644 index 628bf6092..000000000 --- a/common/changes/@snowplow/browser-tracker-core/issue-1268-previous_session_id_anonymous_tracking_2023-12-12-13-35.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-tracker-core", - "comment": "Do not set the previous session ID reference in cookies if anonymous tracking is enabled (#1268)", - "type": "none" - } - ], - "packageName": "@snowplow/browser-tracker-core" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-tracker-core/issue-1275-fix-config-for-callbacks_2023-12-13-13-14.json b/common/changes/@snowplow/browser-tracker-core/issue-1275-fix-config-for-callbacks_2023-12-13-13-14.json deleted file mode 100644 index 7cc7f8fa9..000000000 --- a/common/changes/@snowplow/browser-tracker-core/issue-1275-fix-config-for-callbacks_2023-12-13-13-14.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-tracker-core", - "comment": "Fix config for callbacks", - "type": "none" - } - ], - "packageName": "@snowplow/browser-tracker-core" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-tracker/issue-1275-fix-config-for-callbacks_2023-12-13-14-30.json b/common/changes/@snowplow/browser-tracker/issue-1275-fix-config-for-callbacks_2023-12-13-14-30.json deleted file mode 100644 index a4e350c5e..000000000 --- a/common/changes/@snowplow/browser-tracker/issue-1275-fix-config-for-callbacks_2023-12-13-14-30.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-tracker", - "comment": "Update API docs for callbacks", - "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 2117afa75..d7f8b3ec7 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.19.0", + "tag": "@snowplow/browser-tracker-core_v3.19.0", + "date": "Thu, 14 Dec 2023 10:45:23 GMT", + "comments": { + "none": [ + { + "comment": "Do not set the previous session ID reference in cookies if anonymous tracking is enabled (#1268)" + }, + { + "comment": "Fix config for callbacks" + } + ] + } + }, { "version": "3.18.0", "tag": "@snowplow/browser-tracker-core_v3.18.0", diff --git a/libraries/browser-tracker-core/CHANGELOG.md b/libraries/browser-tracker-core/CHANGELOG.md index 2d866e54c..d2fd6812e 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 Mon, 04 Dec 2023 13:44:02 GMT and should not be manually modified. +This log was last generated on Thu, 14 Dec 2023 10:45:23 GMT and should not be manually modified. + +## 3.19.0 +Thu, 14 Dec 2023 10:45:23 GMT + +### Updates + +- Do not set the previous session ID reference in cookies if anonymous tracking is enabled (#1268) +- Fix config for callbacks ## 3.18.0 Mon, 04 Dec 2023 13:44:02 GMT diff --git a/libraries/tracker-core/CHANGELOG.json b/libraries/tracker-core/CHANGELOG.json index 45e8ccb8d..731e1b237 100644 --- a/libraries/tracker-core/CHANGELOG.json +++ b/libraries/tracker-core/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/tracker-core", "entries": [ + { + "version": "3.19.0", + "tag": "@snowplow/tracker-core_v3.19.0", + "date": "Thu, 14 Dec 2023 10:45:23 GMT", + "comments": {} + }, { "version": "3.18.0", "tag": "@snowplow/tracker-core_v3.18.0", diff --git a/libraries/tracker-core/CHANGELOG.md b/libraries/tracker-core/CHANGELOG.md index 215c8373c..0dbf56ee7 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, 04 Dec 2023 13:44:02 GMT and should not be manually modified. +This log was last generated on Thu, 14 Dec 2023 10:45:23 GMT and should not be manually modified. + +## 3.19.0 +Thu, 14 Dec 2023 10:45:23 GMT + +_Version update only_ ## 3.18.0 Mon, 04 Dec 2023 13:44:02 GMT diff --git a/plugins/browser-plugin-ad-tracking/CHANGELOG.json b/plugins/browser-plugin-ad-tracking/CHANGELOG.json index c3f246aca..bdee27837 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.19.0", + "tag": "@snowplow/browser-plugin-ad-tracking_v3.19.0", + "date": "Thu, 14 Dec 2023 10:45:22 GMT", + "comments": {} + }, { "version": "3.18.0", "tag": "@snowplow/browser-plugin-ad-tracking_v3.18.0", diff --git a/plugins/browser-plugin-ad-tracking/CHANGELOG.md b/plugins/browser-plugin-ad-tracking/CHANGELOG.md index a72c4cf6b..1c5439225 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, 04 Dec 2023 13:44:02 GMT and should not be manually modified. +This log was last generated on Thu, 14 Dec 2023 10:45:22 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-browser-features/CHANGELOG.json b/plugins/browser-plugin-browser-features/CHANGELOG.json index f5cf54e2a..462ea86c9 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.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", diff --git a/plugins/browser-plugin-browser-features/CHANGELOG.md b/plugins/browser-plugin-browser-features/CHANGELOG.md index 7616ba78e..bb0b02974 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, 04 Dec 2023 13:44:02 GMT and should not be manually modified. +This log was last generated on Thu, 14 Dec 2023 10:45:22 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-button-click-tracking/CHANGELOG.json b/plugins/browser-plugin-button-click-tracking/CHANGELOG.json index 92b7f5908..5b0846d3b 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.19.0", + "tag": "@snowplow/browser-plugin-button-click-tracking_v3.19.0", + "date": "Thu, 14 Dec 2023 10:45:22 GMT", + "comments": {} + }, { "version": "3.18.0", "tag": "@snowplow/browser-plugin-button-click-tracking_v3.18.0", diff --git a/plugins/browser-plugin-button-click-tracking/CHANGELOG.md b/plugins/browser-plugin-button-click-tracking/CHANGELOG.md index 8d38fb8de..bf435829e 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, 04 Dec 2023 13:44:02 GMT and should not be manually modified. +This log was last generated on Thu, 14 Dec 2023 10:45:22 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-client-hints/CHANGELOG.json b/plugins/browser-plugin-client-hints/CHANGELOG.json index 948aea304..ba1ef6a8c 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.19.0", + "tag": "@snowplow/browser-plugin-client-hints_v3.19.0", + "date": "Thu, 14 Dec 2023 10:45:22 GMT", + "comments": {} + }, { "version": "3.18.0", "tag": "@snowplow/browser-plugin-client-hints_v3.18.0", diff --git a/plugins/browser-plugin-client-hints/CHANGELOG.md b/plugins/browser-plugin-client-hints/CHANGELOG.md index bc9173327..cc15fec2a 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, 04 Dec 2023 13:44:02 GMT and should not be manually modified. +This log was last generated on Thu, 14 Dec 2023 10:45:22 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-consent/CHANGELOG.json b/plugins/browser-plugin-consent/CHANGELOG.json index 4e17e34a6..2fee78b3a 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.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", diff --git a/plugins/browser-plugin-consent/CHANGELOG.md b/plugins/browser-plugin-consent/CHANGELOG.md index 62c44b468..d37863c54 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, 04 Dec 2023 13:44:02 GMT and should not be manually modified. +This log was last generated on Thu, 14 Dec 2023 10:45:22 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-debugger/CHANGELOG.json b/plugins/browser-plugin-debugger/CHANGELOG.json index 46f01dbe1..a663a48a4 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.19.0", + "tag": "@snowplow/browser-plugin-debugger_v3.19.0", + "date": "Thu, 14 Dec 2023 10:45:22 GMT", + "comments": {} + }, { "version": "3.18.0", "tag": "@snowplow/browser-plugin-debugger_v3.18.0", diff --git a/plugins/browser-plugin-debugger/CHANGELOG.md b/plugins/browser-plugin-debugger/CHANGELOG.md index 620ff5d85..ad7c72325 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, 04 Dec 2023 13:44:02 GMT and should not be manually modified. +This log was last generated on Thu, 14 Dec 2023 10:45:22 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-ecommerce/CHANGELOG.json b/plugins/browser-plugin-ecommerce/CHANGELOG.json index 18b341a99..70115f5ba 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.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", diff --git a/plugins/browser-plugin-ecommerce/CHANGELOG.md b/plugins/browser-plugin-ecommerce/CHANGELOG.md index f6b063b3e..3dcbd202c 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, 04 Dec 2023 13:44:02 GMT and should not be manually modified. +This log was last generated on Thu, 14 Dec 2023 10:45:22 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-enhanced-consent/CHANGELOG.json b/plugins/browser-plugin-enhanced-consent/CHANGELOG.json index 1e607a8a6..80fb38aef 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.19.0", + "tag": "@snowplow/browser-plugin-enhanced-consent_v3.19.0", + "date": "Thu, 14 Dec 2023 10:45:22 GMT", + "comments": {} + }, { "version": "3.18.0", "tag": "@snowplow/browser-plugin-enhanced-consent_v3.18.0", diff --git a/plugins/browser-plugin-enhanced-consent/CHANGELOG.md b/plugins/browser-plugin-enhanced-consent/CHANGELOG.md index 4c9b653b5..e5e673016 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, 04 Dec 2023 13:44:02 GMT and should not be manually modified. +This log was last generated on Thu, 14 Dec 2023 10:45:22 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.json b/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.json index 580f0ffa1..a7ba0207b 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.19.0", + "tag": "@snowplow/browser-plugin-enhanced-ecommerce_v3.19.0", + "date": "Thu, 14 Dec 2023 10:45:22 GMT", + "comments": {} + }, { "version": "3.18.0", "tag": "@snowplow/browser-plugin-enhanced-ecommerce_v3.18.0", diff --git a/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.md b/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.md index 568b19a45..b09df1561 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, 04 Dec 2023 13:44:02 GMT and should not be manually modified. +This log was last generated on Thu, 14 Dec 2023 10:45:22 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-error-tracking/CHANGELOG.json b/plugins/browser-plugin-error-tracking/CHANGELOG.json index b56902d45..673e6325f 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.19.0", + "tag": "@snowplow/browser-plugin-error-tracking_v3.19.0", + "date": "Thu, 14 Dec 2023 10:45:22 GMT", + "comments": {} + }, { "version": "3.18.0", "tag": "@snowplow/browser-plugin-error-tracking_v3.18.0", diff --git a/plugins/browser-plugin-error-tracking/CHANGELOG.md b/plugins/browser-plugin-error-tracking/CHANGELOG.md index 20d38f60c..4b4d5e3fe 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, 04 Dec 2023 13:44:02 GMT and should not be manually modified. +This log was last generated on Thu, 14 Dec 2023 10:45:22 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-focalmeter/CHANGELOG.json b/plugins/browser-plugin-focalmeter/CHANGELOG.json index 1d60fd604..62eb4d1bf 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.19.0", + "tag": "@snowplow/browser-plugin-focalmeter_v3.19.0", + "date": "Thu, 14 Dec 2023 10:45:22 GMT", + "comments": {} + }, { "version": "3.18.0", "tag": "@snowplow/browser-plugin-focalmeter_v3.18.0", diff --git a/plugins/browser-plugin-focalmeter/CHANGELOG.md b/plugins/browser-plugin-focalmeter/CHANGELOG.md index 4e179cd61..73405cbc2 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, 04 Dec 2023 13:44:02 GMT and should not be manually modified. +This log was last generated on Thu, 14 Dec 2023 10:45:22 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-form-tracking/CHANGELOG.json b/plugins/browser-plugin-form-tracking/CHANGELOG.json index 16eded83d..b633c4494 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.19.0", + "tag": "@snowplow/browser-plugin-form-tracking_v3.19.0", + "date": "Thu, 14 Dec 2023 10:45:22 GMT", + "comments": {} + }, { "version": "3.18.0", "tag": "@snowplow/browser-plugin-form-tracking_v3.18.0", diff --git a/plugins/browser-plugin-form-tracking/CHANGELOG.md b/plugins/browser-plugin-form-tracking/CHANGELOG.md index 982df9d7b..a3700ba19 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, 04 Dec 2023 13:44:02 GMT and should not be manually modified. +This log was last generated on Thu, 14 Dec 2023 10:45:22 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-ga-cookies/CHANGELOG.json b/plugins/browser-plugin-ga-cookies/CHANGELOG.json index 3ad439677..bcf0411c2 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.19.0", + "tag": "@snowplow/browser-plugin-ga-cookies_v3.19.0", + "date": "Thu, 14 Dec 2023 10:45:22 GMT", + "comments": {} + }, { "version": "3.18.0", "tag": "@snowplow/browser-plugin-ga-cookies_v3.18.0", diff --git a/plugins/browser-plugin-ga-cookies/CHANGELOG.md b/plugins/browser-plugin-ga-cookies/CHANGELOG.md index d78bd1bb1..3d382eccb 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, 04 Dec 2023 13:44:02 GMT and should not be manually modified. +This log was last generated on Thu, 14 Dec 2023 10:45:22 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-geolocation/CHANGELOG.json b/plugins/browser-plugin-geolocation/CHANGELOG.json index 222042599..d85877faa 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.19.0", + "tag": "@snowplow/browser-plugin-geolocation_v3.19.0", + "date": "Thu, 14 Dec 2023 10:45:22 GMT", + "comments": {} + }, { "version": "3.18.0", "tag": "@snowplow/browser-plugin-geolocation_v3.18.0", diff --git a/plugins/browser-plugin-geolocation/CHANGELOG.md b/plugins/browser-plugin-geolocation/CHANGELOG.md index a7ff575bf..8b25fa677 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, 04 Dec 2023 13:44:02 GMT and should not be manually modified. +This log was last generated on Thu, 14 Dec 2023 10:45:22 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-link-click-tracking/CHANGELOG.json b/plugins/browser-plugin-link-click-tracking/CHANGELOG.json index 2bda9cd7e..a2ef78d52 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.19.0", + "tag": "@snowplow/browser-plugin-link-click-tracking_v3.19.0", + "date": "Thu, 14 Dec 2023 10:45:22 GMT", + "comments": {} + }, { "version": "3.18.0", "tag": "@snowplow/browser-plugin-link-click-tracking_v3.18.0", diff --git a/plugins/browser-plugin-link-click-tracking/CHANGELOG.md b/plugins/browser-plugin-link-click-tracking/CHANGELOG.md index 83a3362db..ea3b7a988 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, 04 Dec 2023 13:44:02 GMT and should not be manually modified. +This log was last generated on Thu, 14 Dec 2023 10:45:22 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-media-tracking/CHANGELOG.json b/plugins/browser-plugin-media-tracking/CHANGELOG.json index 2b717787e..2f092a602 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.19.0", + "tag": "@snowplow/browser-plugin-media-tracking_v3.19.0", + "date": "Thu, 14 Dec 2023 10:45:22 GMT", + "comments": {} + }, { "version": "3.18.0", "tag": "@snowplow/browser-plugin-media-tracking_v3.18.0", diff --git a/plugins/browser-plugin-media-tracking/CHANGELOG.md b/plugins/browser-plugin-media-tracking/CHANGELOG.md index bf0a8720e..4e15ba72d 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, 04 Dec 2023 13:44:02 GMT and should not be manually modified. +This log was last generated on Thu, 14 Dec 2023 10:45:22 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-media/CHANGELOG.json b/plugins/browser-plugin-media/CHANGELOG.json index 0e99b5e88..e65438bd0 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.19.0", + "tag": "@snowplow/browser-plugin-media_v3.19.0", + "date": "Thu, 14 Dec 2023 10:45:22 GMT", + "comments": {} + }, { "version": "3.18.0", "tag": "@snowplow/browser-plugin-media_v3.18.0", diff --git a/plugins/browser-plugin-media/CHANGELOG.md b/plugins/browser-plugin-media/CHANGELOG.md index 8962e2f40..fe51579c5 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, 04 Dec 2023 13:44:02 GMT and should not be manually modified. +This log was last generated on Thu, 14 Dec 2023 10:45:22 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-optimizely-x/CHANGELOG.json b/plugins/browser-plugin-optimizely-x/CHANGELOG.json index 2ec00e80a..af9dc2ca8 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.19.0", + "tag": "@snowplow/browser-plugin-optimizely-x_v3.19.0", + "date": "Thu, 14 Dec 2023 10:45:22 GMT", + "comments": {} + }, { "version": "3.18.0", "tag": "@snowplow/browser-plugin-optimizely-x_v3.18.0", diff --git a/plugins/browser-plugin-optimizely-x/CHANGELOG.md b/plugins/browser-plugin-optimizely-x/CHANGELOG.md index 311b4f51d..1e5a8ca0e 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, 04 Dec 2023 13:44:02 GMT and should not be manually modified. +This log was last generated on Thu, 14 Dec 2023 10:45:22 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-optimizely/CHANGELOG.json b/plugins/browser-plugin-optimizely/CHANGELOG.json index c5800e893..937d0c89c 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.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", diff --git a/plugins/browser-plugin-optimizely/CHANGELOG.md b/plugins/browser-plugin-optimizely/CHANGELOG.md index 6e69287e0..b25478846 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, 04 Dec 2023 13:44:02 GMT and should not be manually modified. +This log was last generated on Thu, 14 Dec 2023 10:45:22 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.json b/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.json index 67f822d3a..10eca60d8 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.19.0", + "tag": "@snowplow/browser-plugin-performance-navigation-timing_v3.19.0", + "date": "Thu, 14 Dec 2023 10:45:22 GMT", + "comments": {} + }, { "version": "3.18.0", "tag": "@snowplow/browser-plugin-performance-navigation-timing_v3.18.0", diff --git a/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.md b/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.md index d41ce9825..e051d203e 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, 04 Dec 2023 13:44:02 GMT and should not be manually modified. +This log was last generated on Thu, 14 Dec 2023 10:45:22 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-performance-timing/CHANGELOG.json b/plugins/browser-plugin-performance-timing/CHANGELOG.json index f3493d673..671f48b1a 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.19.0", + "tag": "@snowplow/browser-plugin-performance-timing_v3.19.0", + "date": "Thu, 14 Dec 2023 10:45:23 GMT", + "comments": {} + }, { "version": "3.18.0", "tag": "@snowplow/browser-plugin-performance-timing_v3.18.0", diff --git a/plugins/browser-plugin-performance-timing/CHANGELOG.md b/plugins/browser-plugin-performance-timing/CHANGELOG.md index 157e0326a..bb11cd12e 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, 04 Dec 2023 13:44:02 GMT and should not be manually modified. +This log was last generated on Thu, 14 Dec 2023 10:45:23 GMT and should not be manually modified. + +## 3.19.0 +Thu, 14 Dec 2023 10:45:23 GMT + +_Version update only_ ## 3.18.0 Mon, 04 Dec 2023 13:44:02 GMT diff --git a/plugins/browser-plugin-privacy-sandbox/CHANGELOG.json b/plugins/browser-plugin-privacy-sandbox/CHANGELOG.json index 30e3f737a..97c6cd5f2 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.19.0", + "tag": "@snowplow/browser-plugin-privacy-sandbox_v3.19.0", + "date": "Thu, 14 Dec 2023 10:45:23 GMT", + "comments": {} + }, { "version": "3.18.0", "tag": "@snowplow/browser-plugin-privacy-sandbox_v3.18.0", diff --git a/plugins/browser-plugin-privacy-sandbox/CHANGELOG.md b/plugins/browser-plugin-privacy-sandbox/CHANGELOG.md index 87dc6422d..0477f7ea2 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, 04 Dec 2023 13:44:02 GMT and should not be manually modified. +This log was last generated on Thu, 14 Dec 2023 10:45:23 GMT and should not be manually modified. + +## 3.19.0 +Thu, 14 Dec 2023 10:45:23 GMT + +_Version update only_ ## 3.18.0 Mon, 04 Dec 2023 13:44:02 GMT diff --git a/plugins/browser-plugin-site-tracking/CHANGELOG.json b/plugins/browser-plugin-site-tracking/CHANGELOG.json index adc1a9acf..b514127bf 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.19.0", + "tag": "@snowplow/browser-plugin-site-tracking_v3.19.0", + "date": "Thu, 14 Dec 2023 10:45:23 GMT", + "comments": {} + }, { "version": "3.18.0", "tag": "@snowplow/browser-plugin-site-tracking_v3.18.0", diff --git a/plugins/browser-plugin-site-tracking/CHANGELOG.md b/plugins/browser-plugin-site-tracking/CHANGELOG.md index c7bc4df50..0bf347334 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, 04 Dec 2023 13:44:02 GMT and should not be manually modified. +This log was last generated on Thu, 14 Dec 2023 10:45:23 GMT and should not be manually modified. + +## 3.19.0 +Thu, 14 Dec 2023 10:45:23 GMT + +_Version update only_ ## 3.18.0 Mon, 04 Dec 2023 13:44:02 GMT diff --git a/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.json b/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.json index 4b77c6e95..0b071bb58 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.19.0", + "tag": "@snowplow/browser-plugin-snowplow-ecommerce_v3.19.0", + "date": "Thu, 14 Dec 2023 10:45:23 GMT", + "comments": {} + }, { "version": "3.18.0", "tag": "@snowplow/browser-plugin-snowplow-ecommerce_v3.18.0", diff --git a/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.md b/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.md index 863387136..7370d56ea 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 Mon, 04 Dec 2023 13:44:02 GMT and should not be manually modified. +This log was last generated on Thu, 14 Dec 2023 10:45:23 GMT and should not be manually modified. + +## 3.19.0 +Thu, 14 Dec 2023 10:45:23 GMT + +_Version update only_ ## 3.18.0 Mon, 04 Dec 2023 13:44:02 GMT diff --git a/plugins/browser-plugin-timezone/CHANGELOG.json b/plugins/browser-plugin-timezone/CHANGELOG.json index f9df7226e..00bc39875 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.19.0", + "tag": "@snowplow/browser-plugin-timezone_v3.19.0", + "date": "Thu, 14 Dec 2023 10:45:23 GMT", + "comments": {} + }, { "version": "3.18.0", "tag": "@snowplow/browser-plugin-timezone_v3.18.0", diff --git a/plugins/browser-plugin-timezone/CHANGELOG.md b/plugins/browser-plugin-timezone/CHANGELOG.md index ba1f12a64..80191cfb4 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, 04 Dec 2023 13:44:02 GMT and should not be manually modified. +This log was last generated on Thu, 14 Dec 2023 10:45:23 GMT and should not be manually modified. + +## 3.19.0 +Thu, 14 Dec 2023 10:45:23 GMT + +_Version update only_ ## 3.18.0 Mon, 04 Dec 2023 13:44:02 GMT diff --git a/plugins/browser-plugin-vimeo-tracking/CHANGELOG.json b/plugins/browser-plugin-vimeo-tracking/CHANGELOG.json index bd5383cbe..f59632b0d 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.19.0", + "tag": "@snowplow/browser-plugin-vimeo-tracking_v3.19.0", + "date": "Thu, 14 Dec 2023 10:45:23 GMT", + "comments": {} + }, { "version": "3.18.0", "tag": "@snowplow/browser-plugin-vimeo-tracking_v3.18.0", diff --git a/plugins/browser-plugin-vimeo-tracking/CHANGELOG.md b/plugins/browser-plugin-vimeo-tracking/CHANGELOG.md index 7949af48b..9d0ddf186 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, 04 Dec 2023 13:44:02 GMT and should not be manually modified. +This log was last generated on Thu, 14 Dec 2023 10:45:23 GMT and should not be manually modified. + +## 3.19.0 +Thu, 14 Dec 2023 10:45:23 GMT + +_Version update only_ ## 3.18.0 Mon, 04 Dec 2023 13:44:02 GMT diff --git a/plugins/browser-plugin-web-vitals/CHANGELOG.json b/plugins/browser-plugin-web-vitals/CHANGELOG.json index 84bb6418d..b0c16553c 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.19.0", + "tag": "@snowplow/browser-plugin-web-vitals_v3.19.0", + "date": "Thu, 14 Dec 2023 10:45:23 GMT", + "comments": { + "none": [ + { + "comment": "Add `context` support for the web_vitals event" + } + ] + } + }, { "version": "3.18.0", "tag": "@snowplow/browser-plugin-web-vitals_v3.18.0", diff --git a/plugins/browser-plugin-web-vitals/CHANGELOG.md b/plugins/browser-plugin-web-vitals/CHANGELOG.md index bdad05b67..61bd11f27 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 Mon, 04 Dec 2023 13:44:02 GMT and should not be manually modified. +This log was last generated on Thu, 14 Dec 2023 10:45:23 GMT and should not be manually modified. + +## 3.19.0 +Thu, 14 Dec 2023 10:45:23 GMT + +### Updates + +- Add `context` support for the web_vitals event ## 3.18.0 Mon, 04 Dec 2023 13:44:02 GMT diff --git a/plugins/browser-plugin-youtube-tracking/CHANGELOG.json b/plugins/browser-plugin-youtube-tracking/CHANGELOG.json index 638b5d0e6..df228a3bd 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.19.0", + "tag": "@snowplow/browser-plugin-youtube-tracking_v3.19.0", + "date": "Thu, 14 Dec 2023 10:45:23 GMT", + "comments": {} + }, { "version": "3.18.0", "tag": "@snowplow/browser-plugin-youtube-tracking_v3.18.0", diff --git a/plugins/browser-plugin-youtube-tracking/CHANGELOG.md b/plugins/browser-plugin-youtube-tracking/CHANGELOG.md index 99ef5aefc..a0516aef1 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, 04 Dec 2023 13:44:02 GMT and should not be manually modified. +This log was last generated on Thu, 14 Dec 2023 10:45:23 GMT and should not be manually modified. + +## 3.19.0 +Thu, 14 Dec 2023 10:45:23 GMT + +_Version update only_ ## 3.18.0 Mon, 04 Dec 2023 13:44:02 GMT diff --git a/trackers/browser-tracker/CHANGELOG.json b/trackers/browser-tracker/CHANGELOG.json index c2ca03fbe..5a9448e98 100644 --- a/trackers/browser-tracker/CHANGELOG.json +++ b/trackers/browser-tracker/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@snowplow/browser-tracker", "entries": [ + { + "version": "3.19.0", + "tag": "@snowplow/browser-tracker_v3.19.0", + "date": "Thu, 14 Dec 2023 10:45:23 GMT", + "comments": { + "none": [ + { + "comment": "Update API docs for callbacks" + } + ] + } + }, { "version": "3.18.0", "tag": "@snowplow/browser-tracker_v3.18.0", diff --git a/trackers/browser-tracker/CHANGELOG.md b/trackers/browser-tracker/CHANGELOG.md index 19e486670..2e3953679 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 Mon, 04 Dec 2023 13:44:02 GMT and should not be manually modified. +This log was last generated on Thu, 14 Dec 2023 10:45:23 GMT and should not be manually modified. + +## 3.19.0 +Thu, 14 Dec 2023 10:45:23 GMT + +### Updates + +- Update API docs for callbacks ## 3.18.0 Mon, 04 Dec 2023 13:44:02 GMT diff --git a/trackers/javascript-tracker/CHANGELOG.json b/trackers/javascript-tracker/CHANGELOG.json index 8d6498280..be19cedb8 100644 --- a/trackers/javascript-tracker/CHANGELOG.json +++ b/trackers/javascript-tracker/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/javascript-tracker", "entries": [ + { + "version": "3.19.0", + "tag": "@snowplow/javascript-tracker_v3.19.0", + "date": "Thu, 14 Dec 2023 10:45:23 GMT", + "comments": {} + }, { "version": "3.18.0", "tag": "@snowplow/javascript-tracker_v3.18.0", diff --git a/trackers/javascript-tracker/CHANGELOG.md b/trackers/javascript-tracker/CHANGELOG.md index a4a9a113e..489cdb3b6 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, 04 Dec 2023 13:44:02 GMT and should not be manually modified. +This log was last generated on Thu, 14 Dec 2023 10:45:23 GMT and should not be manually modified. + +## 3.19.0 +Thu, 14 Dec 2023 10:45:23 GMT + +_Version update only_ ## 3.18.0 Mon, 04 Dec 2023 13:44:02 GMT diff --git a/trackers/node-tracker/CHANGELOG.json b/trackers/node-tracker/CHANGELOG.json index 5433cc557..35b9d437c 100644 --- a/trackers/node-tracker/CHANGELOG.json +++ b/trackers/node-tracker/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/node-tracker", "entries": [ + { + "version": "3.19.0", + "tag": "@snowplow/node-tracker_v3.19.0", + "date": "Thu, 14 Dec 2023 10:45:23 GMT", + "comments": {} + }, { "version": "3.18.0", "tag": "@snowplow/node-tracker_v3.18.0", diff --git a/trackers/node-tracker/CHANGELOG.md b/trackers/node-tracker/CHANGELOG.md index 565e7b8b6..f537d5031 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, 04 Dec 2023 13:44:02 GMT and should not be manually modified. +This log was last generated on Thu, 14 Dec 2023 10:45:23 GMT and should not be manually modified. + +## 3.19.0 +Thu, 14 Dec 2023 10:45:23 GMT + +_Version update only_ ## 3.18.0 Mon, 04 Dec 2023 13:44:02 GMT From 11ce5b2c16b4c93844cfe40aedc0085880f9bea5 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 14 Dec 2023 10:45:23 +0000 Subject: [PATCH 159/449] 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 c396fff08..4b7d7b902 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.18.0", + "version": "3.19.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 22cf864c3..9bda3600e 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.18.0", + "version": "3.19.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 d89a48bd9..247f37884 100644 --- a/libraries/tracker-core/package.json +++ b/libraries/tracker-core/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/tracker-core", - "version": "3.18.0", + "version": "3.19.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 f29eb7b81..d910e8240 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.18.0", + "version": "3.19.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.18.0" + "@snowplow/browser-tracker": "~3.19.0" } } diff --git a/plugins/browser-plugin-browser-features/package.json b/plugins/browser-plugin-browser-features/package.json index 98dbb72e3..2b4276867 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.18.0", + "version": "3.19.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.18.0" + "@snowplow/browser-tracker": "~3.19.0" } } diff --git a/plugins/browser-plugin-button-click-tracking/package.json b/plugins/browser-plugin-button-click-tracking/package.json index 1a9565e09..65081207e 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.18.0", + "version": "3.19.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.18.0" + "@snowplow/browser-tracker": "~3.19.0" } } diff --git a/plugins/browser-plugin-client-hints/package.json b/plugins/browser-plugin-client-hints/package.json index 1f662324b..a3eb0fa80 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.18.0", + "version": "3.19.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.18.0" + "@snowplow/browser-tracker": "~3.19.0" } } diff --git a/plugins/browser-plugin-consent/package.json b/plugins/browser-plugin-consent/package.json index b52970df7..a801e7d97 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.18.0", + "version": "3.19.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.18.0" + "@snowplow/browser-tracker": "~3.19.0" } } diff --git a/plugins/browser-plugin-debugger/package.json b/plugins/browser-plugin-debugger/package.json index afa17f59d..25f3e4597 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.18.0", + "version": "3.19.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.18.0" + "@snowplow/browser-tracker": "~3.19.0" } } diff --git a/plugins/browser-plugin-ecommerce/package.json b/plugins/browser-plugin-ecommerce/package.json index a576652b7..b5c0f4013 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.18.0", + "version": "3.19.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.18.0" + "@snowplow/browser-tracker": "~3.19.0" } } diff --git a/plugins/browser-plugin-enhanced-consent/package.json b/plugins/browser-plugin-enhanced-consent/package.json index be7e38ee3..1b4c74bd5 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.18.0", + "version": "3.19.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.18.0" + "@snowplow/browser-tracker": "~3.19.0" } } diff --git a/plugins/browser-plugin-enhanced-ecommerce/package.json b/plugins/browser-plugin-enhanced-ecommerce/package.json index eee9e1d08..79263ece6 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.18.0", + "version": "3.19.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.18.0" + "@snowplow/browser-tracker": "~3.19.0" } } diff --git a/plugins/browser-plugin-error-tracking/package.json b/plugins/browser-plugin-error-tracking/package.json index db3736550..1d1499c5b 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.18.0", + "version": "3.19.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.18.0" + "@snowplow/browser-tracker": "~3.19.0" } } diff --git a/plugins/browser-plugin-focalmeter/package.json b/plugins/browser-plugin-focalmeter/package.json index fbe5ed10e..aa70cc08b 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.18.0", + "version": "3.19.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.18.0" + "@snowplow/browser-tracker": "~3.19.0" } } diff --git a/plugins/browser-plugin-form-tracking/package.json b/plugins/browser-plugin-form-tracking/package.json index f9fb377d4..4861b6445 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.18.0", + "version": "3.19.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.18.0" + "@snowplow/browser-tracker": "~3.19.0" } } diff --git a/plugins/browser-plugin-ga-cookies/package.json b/plugins/browser-plugin-ga-cookies/package.json index 1af25a03b..16013e556 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.18.0", + "version": "3.19.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.18.0" + "@snowplow/browser-tracker": "~3.19.0" } } diff --git a/plugins/browser-plugin-geolocation/package.json b/plugins/browser-plugin-geolocation/package.json index c1c3148d9..e29a60a4e 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.18.0", + "version": "3.19.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.18.0" + "@snowplow/browser-tracker": "~3.19.0" } } diff --git a/plugins/browser-plugin-link-click-tracking/package.json b/plugins/browser-plugin-link-click-tracking/package.json index 6c7f882bf..2385948e4 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.18.0", + "version": "3.19.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.18.0" + "@snowplow/browser-tracker": "~3.19.0" } } diff --git a/plugins/browser-plugin-media-tracking/package.json b/plugins/browser-plugin-media-tracking/package.json index 5c8cdde91..1007f4579 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.18.0", + "version": "3.19.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.18.0" + "@snowplow/browser-tracker": "~3.19.0" } } diff --git a/plugins/browser-plugin-media/package.json b/plugins/browser-plugin-media/package.json index 430cc0288..074dd2774 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.18.0", + "version": "3.19.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.18.0" + "@snowplow/browser-tracker": "~3.19.0" } } diff --git a/plugins/browser-plugin-optimizely-x/package.json b/plugins/browser-plugin-optimizely-x/package.json index 943ec6218..7835e87e1 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.18.0", + "version": "3.19.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.18.0" + "@snowplow/browser-tracker": "~3.19.0" } } diff --git a/plugins/browser-plugin-optimizely/package.json b/plugins/browser-plugin-optimizely/package.json index 5dcca7f4e..7621621fe 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.18.0", + "version": "3.19.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.18.0" + "@snowplow/browser-tracker": "~3.19.0" } } diff --git a/plugins/browser-plugin-performance-navigation-timing/package.json b/plugins/browser-plugin-performance-navigation-timing/package.json index 96f054f61..2a4a4cd1e 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.18.0", + "version": "3.19.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.18.0" + "@snowplow/browser-tracker": "~3.19.0" } } diff --git a/plugins/browser-plugin-performance-timing/package.json b/plugins/browser-plugin-performance-timing/package.json index 0d17a0bb5..32f0938e6 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.18.0", + "version": "3.19.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.18.0" + "@snowplow/browser-tracker": "~3.19.0" } } diff --git a/plugins/browser-plugin-privacy-sandbox/package.json b/plugins/browser-plugin-privacy-sandbox/package.json index e2f28879c..af7bd17ce 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.18.0", + "version": "3.19.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.18.0" + "@snowplow/browser-tracker": "~3.19.0" } } diff --git a/plugins/browser-plugin-site-tracking/package.json b/plugins/browser-plugin-site-tracking/package.json index 7663a4de5..8324aa356 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.18.0", + "version": "3.19.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.18.0" + "@snowplow/browser-tracker": "~3.19.0" } } diff --git a/plugins/browser-plugin-snowplow-ecommerce/package.json b/plugins/browser-plugin-snowplow-ecommerce/package.json index 98d4bae94..bfae9aea8 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.18.0", + "version": "3.19.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.18.0" + "@snowplow/browser-tracker": "~3.19.0" } } diff --git a/plugins/browser-plugin-timezone/package.json b/plugins/browser-plugin-timezone/package.json index 1999cfc4f..f425146ab 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.18.0", + "version": "3.19.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.18.0" + "@snowplow/browser-tracker": "~3.19.0" } } diff --git a/plugins/browser-plugin-vimeo-tracking/package.json b/plugins/browser-plugin-vimeo-tracking/package.json index f2643d602..1e72bcf2a 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.18.0", + "version": "3.19.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.18.0" + "@snowplow/browser-tracker": "~3.19.0" } } diff --git a/plugins/browser-plugin-web-vitals/package.json b/plugins/browser-plugin-web-vitals/package.json index 7bc529494..bf916e511 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.18.0", + "version": "3.19.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.18.0" + "@snowplow/browser-tracker": "~3.19.0" } } diff --git a/plugins/browser-plugin-youtube-tracking/package.json b/plugins/browser-plugin-youtube-tracking/package.json index 9c2a00c4d..d34d7b094 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.18.0", + "version": "3.19.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.18.0" + "@snowplow/browser-tracker": "~3.19.0" } } diff --git a/trackers/browser-tracker/package.json b/trackers/browser-tracker/package.json index 6f9f4f385..36ed488f1 100644 --- a/trackers/browser-tracker/package.json +++ b/trackers/browser-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-tracker", - "version": "3.18.0", + "version": "3.19.0", "description": "Browser tracker for Snowplow", "keywords": [ "tracking", diff --git a/trackers/javascript-tracker/package.json b/trackers/javascript-tracker/package.json index 7fb6637f5..de0306142 100644 --- a/trackers/javascript-tracker/package.json +++ b/trackers/javascript-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/javascript-tracker", - "version": "3.18.0", + "version": "3.19.0", "description": "Web analytics for Snowplow", "keywords": [ "tracking", diff --git a/trackers/node-tracker/package.json b/trackers/node-tracker/package.json index 9aaf5641d..52b6534ca 100644 --- a/trackers/node-tracker/package.json +++ b/trackers/node-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/node-tracker", - "version": "3.18.0", + "version": "3.19.0", "description": "Node tracker for Snowplow", "keywords": [ "snowplow", From a377d94ddcd850d066846c58db86bb4504247469 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 14 Dec 2023 10:48:53 +0000 Subject: [PATCH 160/449] Applying documentation updates. --- .../markdown/browser-tracker.eventbatch.md | 13 +++++++++++++ .../markdown/browser-tracker.getbatch.md | 13 +++++++++++++ .../markdown/browser-tracker.md | 4 ++++ .../markdown/browser-tracker.postbatch.md | 13 +++++++++++++ .../markdown/browser-tracker.requestfailure.md | 18 ++++++++++++++++++ .../browser-tracker.trackerconfiguration.md | 2 ++ 6 files changed, 63 insertions(+) create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.eventbatch.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.getbatch.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.postbatch.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.requestfailure.md diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.eventbatch.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.eventbatch.md new file mode 100644 index 000000000..3c68f3a47 --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.eventbatch.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [EventBatch](./browser-tracker.eventbatch.md) + +## EventBatch type + +A collection of events which are sent to the collector. This can either be a collection of query strings or JSON objects. + +Signature: + +```typescript +type EventBatch = GetBatch | PostBatch; +``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.getbatch.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.getbatch.md new file mode 100644 index 000000000..6af01ced0 --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.getbatch.md @@ -0,0 +1,13 @@ + + +[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.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.md index 79a214fa9..8bfd03496 100644 --- a/api-docs/docs/browser-tracker/markdown/browser-tracker.md +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.md @@ -84,9 +84,13 @@ | [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. | | [EventMethod](./browser-tracker.eventmethod.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. | | [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 | | [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) | | diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.postbatch.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.postbatch.md new file mode 100644 index 000000000..223e63e5d --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.postbatch.md @@ -0,0 +1,13 @@ + + +[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.requestfailure.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.requestfailure.md new file mode 100644 index 000000000..17e23fa54 --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.requestfailure.md @@ -0,0 +1,18 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [RequestFailure](./browser-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/browser-tracker/markdown/browser-tracker.trackerconfiguration.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.trackerconfiguration.md index 271caf8f3..6447e0e03 100644 --- a/api-docs/docs/browser-tracker/markdown/browser-tracker.trackerconfiguration.md +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.trackerconfiguration.md @@ -42,6 +42,8 @@ type TrackerConfiguration = { onSessionUpdateCallback?: (updatedSession: ClientSession) => void; idService?: string; retryFailedRequests?: boolean; + onRequestSuccess?: (data: EventBatch) => void; + onRequestFailure?: (data: RequestFailure) => void; }; ``` From 8626747e495cf694b71c2955390a65b7ae224361 Mon Sep 17 00:00:00 2001 From: Matus Tomlein Date: Fri, 12 Jan 2024 11:49:15 +0100 Subject: [PATCH 161/449] Support clicks on child elements in button click tracking (close #1280) PR #1281 --------- Co-authored-by: Jethro Nederhof --- ...n_click_with_children_2024-01-10-09-46.json | 10 ++++++++++ ...n_click_with_children_2024-01-10-09-46.json | 10 ++++++++++ .../src/api.ts | 18 ++++++++++++------ .../test/integration/buttonClick.test.ts | 9 +++++++++ .../test/pages/button-click-tracking.html | 3 +++ 5 files changed, 44 insertions(+), 6 deletions(-) create mode 100644 common/changes/@snowplow/browser-plugin-button-click-tracking/issue-button_click_with_children_2024-01-10-09-46.json create mode 100644 common/changes/@snowplow/javascript-tracker/issue-button_click_with_children_2024-01-10-09-46.json diff --git a/common/changes/@snowplow/browser-plugin-button-click-tracking/issue-button_click_with_children_2024-01-10-09-46.json b/common/changes/@snowplow/browser-plugin-button-click-tracking/issue-button_click_with_children_2024-01-10-09-46.json new file mode 100644 index 000000000..a332b1508 --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-button-click-tracking/issue-button_click_with_children_2024-01-10-09-46.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-button-click-tracking", + "comment": "Support clicks on child elements in button click tracking (#1280)", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-button-click-tracking" +} \ No newline at end of file diff --git a/common/changes/@snowplow/javascript-tracker/issue-button_click_with_children_2024-01-10-09-46.json b/common/changes/@snowplow/javascript-tracker/issue-button_click_with_children_2024-01-10-09-46.json new file mode 100644 index 000000000..e29e2d7cf --- /dev/null +++ b/common/changes/@snowplow/javascript-tracker/issue-button_click_with_children_2024-01-10-09-46.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/javascript-tracker", + "comment": "Support clicks on child elements in button click tracking (#1280)", + "type": "none" + } + ], + "packageName": "@snowplow/javascript-tracker" +} \ No newline at end of file diff --git a/plugins/browser-plugin-button-click-tracking/src/api.ts b/plugins/browser-plugin-button-click-tracking/src/api.ts index 9b8e94b1f..d3979ae9c 100644 --- a/plugins/browser-plugin-button-click-tracking/src/api.ts +++ b/plugins/browser-plugin-button-click-tracking/src/api.ts @@ -97,12 +97,18 @@ export function disableButtonClickTracking() { * @param context - The dynamic context which will be evaluated for each button click event */ function eventHandler(event: MouseEvent, trackerId: string, filter: FilterFunction, context?: DynamicContext) { - const elem = event.target as HTMLElement; - if (elem.tagName === 'BUTTON' || (elem.tagName === 'INPUT' && (elem as HTMLInputElement).type === 'button')) { - if (filter(elem)) { - const buttonClickEvent = createEventFromButton(elem as HTMLButtonElement | HTMLInputElement); - buttonClickEvent.context = resolveDynamicContext(context, buttonClickEvent); - trackButtonClick(buttonClickEvent, [trackerId]); + let elem = event.target as HTMLElement | null; + while (elem) { + if (elem instanceof HTMLButtonElement || (elem instanceof HTMLInputElement && elem.type === 'button')) { + if (filter(elem)) { + const buttonClickEvent = createEventFromButton(elem); + buttonClickEvent.context = resolveDynamicContext(context, buttonClickEvent); + trackButtonClick(buttonClickEvent, [trackerId]); + } + // presume nested buttons aren't a thing + return; } + + elem = elem.parentElement; } } diff --git a/trackers/javascript-tracker/test/integration/buttonClick.test.ts b/trackers/javascript-tracker/test/integration/buttonClick.test.ts index a4a879510..bacaed1cf 100644 --- a/trackers/javascript-tracker/test/integration/buttonClick.test.ts +++ b/trackers/javascript-tracker/test/integration/buttonClick.test.ts @@ -65,6 +65,10 @@ describe('Snowplow Micro integration', () => { await (await $('#button7')).click(); await browser.pause(500); + // Nested child + await (await $('#button-child')).click(); + await browser.pause(500); + // Disable/enable await (await $('#disable')).click(); @@ -131,6 +135,11 @@ describe('Snowplow Micro integration', () => { logContainsButtonClick(ev); }); + it('should get button when click was on a child element', async () => { + const ev = makeEvent({ label: 'TestChildren' }, method); + logContainsButtonClick(ev); + }); + it('should not get disabled-click', () => { const ev = makeEvent({ id: 'disabled-click', label: 'DisabledClick' }, method); expect(logContains(ev)).toBe(false); diff --git a/trackers/javascript-tracker/test/pages/button-click-tracking.html b/trackers/javascript-tracker/test/pages/button-click-tracking.html index a543dc315..9a8990990 100644 --- a/trackers/javascript-tracker/test/pages/button-click-tracking.html +++ b/trackers/javascript-tracker/test/pages/button-click-tracking.html @@ -33,6 +33,9 @@ + + + From 2bcb587d2f578425f907e83ad01187b0a517ead7 Mon Sep 17 00:00:00 2001 From: Peter Perlepes Date: Fri, 12 Jan 2024 13:52:09 +0200 Subject: [PATCH 162/449] Extend cross-domain linking with more user/session information and optional configuration #1278 --- .bundlemonrc.json | 8 +- .../browser-tracker/browser-tracker.api.md | 13 + ...omain-linking-entity_2023-08-28-10-46.json | 10 + ...omain-linking-entity_2023-08-28-10-46.json | 10 + .../rush/browser-approved-packages.json | 4 + common/config/rush/pnpm-lock.yaml | 369 ++++++++++++++++++ common/config/rush/repo-state.json | 2 +- libraries/browser-tracker-core/package.json | 3 +- .../src/helpers/cross_domain.ts | 72 ++++ .../browser-tracker-core/src/helpers/index.ts | 1 + .../browser-tracker-core/src/tracker/index.ts | 83 ++-- .../browser-tracker-core/src/tracker/types.ts | 19 + .../test/tracker/cross_domain.test.ts | 147 +++++++ trackers/browser-tracker/src/api.ts | 6 +- 14 files changed, 698 insertions(+), 49 deletions(-) create mode 100644 common/changes/@snowplow/browser-tracker-core/feature-extend-cross-domain-linking-entity_2023-08-28-10-46.json create mode 100644 common/changes/@snowplow/browser-tracker/feature-extend-cross-domain-linking-entity_2023-08-28-10-46.json create mode 100644 libraries/browser-tracker-core/src/helpers/cross_domain.ts create mode 100644 libraries/browser-tracker-core/test/tracker/cross_domain.test.ts diff --git a/.bundlemonrc.json b/.bundlemonrc.json index 502cd2cd3..466289b96 100644 --- a/.bundlemonrc.json +++ b/.bundlemonrc.json @@ -7,22 +7,22 @@ }, { "path": "./trackers/browser-tracker/dist/index.umd.min.js", - "maxSize": "15kb", + "maxSize": "15.5kb", "maxPercentIncrease": 10 }, { "path": "./trackers/javascript-tracker/dist/sp.js", - "maxSize": "25kb", + "maxSize": "25.5kb", "maxPercentIncrease": 10 }, { "path": "./trackers/javascript-tracker/dist/sp.lite.js", - "maxSize": "15.5kb", + "maxSize": "16kb", "maxPercentIncrease": 10 }, { "path": "./libraries/browser-tracker-core/dist/index.module.js", - "maxSize": "26kb", + "maxSize": "27kb", "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 a449cbe07..2936496d3 100644 --- a/api-docs/docs/browser-tracker/browser-tracker.api.md +++ b/api-docs/docs/browser-tracker/browser-tracker.api.md @@ -221,6 +221,18 @@ export type EventBatch = GetBatch | PostBatch; // @public (undocumented) export type EventMethod = "post" | "get" | "beacon"; +// @public (undocumented) +export type ExtendedCrossDomainLinkerAttributes = { + userId?: boolean; + sessionId?: boolean; + sourceId?: boolean; + sourcePlatform?: boolean; + reason?: boolean | ((evt: Event) => string); +}; + +// @public (undocumented) +export type ExtendedCrossDomainLinkerOptions = boolean | ExtendedCrossDomainLinkerAttributes; + // @public export type FilterProvider = [ ContextFilter, @@ -371,6 +383,7 @@ export type TrackerConfiguration = { useStm?: boolean; bufferSize?: number; crossDomainLinker?: (elt: HTMLAnchorElement | HTMLAreaElement) => boolean; + useExtendedCrossDomainLinker?: ExtendedCrossDomainLinkerOptions; maxPostBytes?: number; maxGetBytes?: number; discoverRootDomain?: boolean; diff --git a/common/changes/@snowplow/browser-tracker-core/feature-extend-cross-domain-linking-entity_2023-08-28-10-46.json b/common/changes/@snowplow/browser-tracker-core/feature-extend-cross-domain-linking-entity_2023-08-28-10-46.json new file mode 100644 index 000000000..cf3ab3d98 --- /dev/null +++ b/common/changes/@snowplow/browser-tracker-core/feature-extend-cross-domain-linking-entity_2023-08-28-10-46.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-tracker-core", + "comment": "Allow for extended cross domain linking information using the useExtendedCrossDomainLinker option", + "type": "none" + } + ], + "packageName": "@snowplow/browser-tracker-core" +} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-tracker/feature-extend-cross-domain-linking-entity_2023-08-28-10-46.json b/common/changes/@snowplow/browser-tracker/feature-extend-cross-domain-linking-entity_2023-08-28-10-46.json new file mode 100644 index 000000000..508727e2d --- /dev/null +++ b/common/changes/@snowplow/browser-tracker/feature-extend-cross-domain-linking-entity_2023-08-28-10-46.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-tracker", + "comment": "Add new useExtendedCrossDomainLinker option", + "type": "none" + } + ], + "packageName": "@snowplow/browser-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 376c8af07..95e14afe7 100644 --- a/common/config/rush/browser-approved-packages.json +++ b/common/config/rush/browser-approved-packages.json @@ -138,6 +138,10 @@ "name": "@snowplow/tracker-core", "allowedCategories": [ "libraries", "plugins", "trackers" ] }, + { + "name": "@testing-library/dom", + "allowedCategories": [ "libraries" ] + }, { "name": "@types/dockerode", "allowedCategories": [ "trackers" ] diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index 1f09a82f2..b85e817fe 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -11,6 +11,7 @@ importers: '@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 @@ -41,6 +42,7 @@ importers: '@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 @@ -2846,6 +2848,20 @@ packages: resolution: {integrity: sha512-kIhULpw9TrGYnHp/8VfdcneIcxKnLixmADtukQRtJUmsVlMg0niMkwV0xZmi8hqa57xqilIHjWFA0GKvEjVU5g==} dev: true + /@testing-library/dom/9.3.4: + resolution: {integrity: sha512-FlS4ZWlp97iiNWig0Muq8p+3rVDjRiYE+YKGbAqXOu9nwJFFOdL00kFpz42M+4huzYi86vAK1sOOfyOG45muIQ==} + engines: {node: '>=14'} + dependencies: + '@babel/code-frame': 7.22.13 + '@babel/runtime': 7.18.9 + '@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'} @@ -2871,6 +2887,10 @@ packages: resolution: {integrity: sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==} dev: true + /@types/aria-query/5.0.4: + resolution: {integrity: sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==} + dev: true + /@types/babel__core/7.1.18: resolution: {integrity: sha512-S7unDjm/C7z2A2R9NzfKCK1I+BAALDtxEmsJBwlB3EzNfb929ykjL++1CK9LO++EIp2fQrC8O+BwjKvz6UeDyQ==} dependencies: @@ -3780,6 +3800,19 @@ packages: engines: {node: '>=6.0'} dev: true + /aria-query/5.1.3: + resolution: {integrity: sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==} + 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==} + dependencies: + call-bind: 1.0.5 + is-array-buffer: 3.0.2 + dev: true + /array-find-index/1.0.2: resolution: {integrity: sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=} engines: {node: '>=0.10.0'} @@ -3894,6 +3927,11 @@ packages: - supports-color dev: true + /available-typed-arrays/1.0.5: + resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} + engines: {node: '>= 0.4'} + dev: true + /aws-sign2/0.7.0: resolution: {integrity: sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==} dev: true @@ -4313,6 +4351,14 @@ packages: get-intrinsic: 1.0.2 dev: true + /call-bind/1.0.5: + resolution: {integrity: sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==} + dependencies: + function-bind: 1.1.2 + get-intrinsic: 1.2.2 + set-function-length: 1.1.1 + dev: true + /callsites/3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} @@ -5067,6 +5113,30 @@ packages: resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==} dev: true + /deep-equal/2.2.3: + resolution: {integrity: sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==} + engines: {node: '>= 0.4'} + dependencies: + array-buffer-byte-length: 1.0.0 + call-bind: 1.0.5 + es-get-iterator: 1.1.3 + get-intrinsic: 1.2.2 + is-arguments: 1.1.1 + is-array-buffer: 3.0.2 + is-date-object: 1.0.5 + is-regex: 1.1.4 + is-shared-array-buffer: 1.0.2 + isarray: 2.0.5 + object-is: 1.1.5 + object-keys: 1.1.1 + object.assign: 4.1.5 + regexp.prototype.flags: 1.5.1 + side-channel: 1.0.4 + which-boxed-primitive: 1.0.2 + which-collection: 1.0.1 + which-typed-array: 1.1.13 + dev: true + /deep-is/0.1.3: resolution: {integrity: sha512-GtxAN4HvBachZzm4OnWqc45ESpUCMwkYcsjnsPs23FwJbsO+k4t0k9bQCgOmzIlpHO28+WPK/KRbRk0DDHuuDw==} dev: true @@ -5091,6 +5161,15 @@ packages: resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} engines: {node: '>=10'} + /define-data-property/1.1.1: + resolution: {integrity: sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.2 + 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'} @@ -5098,6 +5177,15 @@ packages: object-keys: 1.1.1 dev: true + /define-properties/1.2.1: + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} + dependencies: + define-data-property: 1.1.1 + has-property-descriptors: 1.0.1 + object-keys: 1.1.1 + dev: true + /degenerator/5.0.1: resolution: {integrity: sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==} engines: {node: '>= 14'} @@ -5213,6 +5301,10 @@ packages: esutils: 2.0.3 dev: true + /dom-accessibility-api/0.5.16: + resolution: {integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==} + dev: true + /domexception/2.0.1: resolution: {integrity: sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==} engines: {node: '>=8'} @@ -5401,6 +5493,20 @@ packages: string.prototype.trimstart: 1.0.3 dev: true + /es-get-iterator/1.1.3: + resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==} + dependencies: + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + has-symbols: 1.0.3 + is-arguments: 1.1.1 + is-map: 2.0.2 + is-set: 2.0.2 + 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'} @@ -6039,6 +6145,12 @@ packages: optional: true dev: true + /for-each/0.3.3: + resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} + dependencies: + is-callable: 1.2.3 + dev: true + /foreground-child/3.1.1: resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} engines: {node: '>=14'} @@ -6171,10 +6283,18 @@ packages: resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} dev: true + /function-bind/1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + dev: true + /functional-red-black-tree/1.0.1: resolution: {integrity: sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=} dev: true + /functions-have-names/1.2.3: + resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + dev: true + /gauge/2.7.4: resolution: {integrity: sha512-14x4kjc6lkD3ltw589k0NrPD6cCNTD6CWoVUNpB85+DrtONoZn+Rug6xZU5RvSC4+TZPxA5AnBibQYAvZn41Hg==} dependencies: @@ -6231,6 +6351,15 @@ packages: has-symbols: 1.0.1 dev: true + /get-intrinsic/1.2.2: + resolution: {integrity: sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==} + dependencies: + function-bind: 1.1.2 + has-proto: 1.0.1 + has-symbols: 1.0.3 + hasown: 2.0.0 + dev: true + /get-package-type/0.1.0: resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} engines: {node: '>=8.0.0'} @@ -6446,6 +6575,12 @@ packages: 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'} @@ -6577,6 +6712,10 @@ packages: ansi-regex: 2.1.1 dev: true + /has-bigints/1.0.2: + resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} + dev: true + /has-flag/3.0.0: resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} engines: {node: '>=4'} @@ -6587,6 +6726,17 @@ packages: engines: {node: '>=8'} dev: true + /has-property-descriptors/1.0.1: + resolution: {integrity: sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==} + dependencies: + get-intrinsic: 1.2.2 + dev: true + + /has-proto/1.0.1: + resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} + engines: {node: '>= 0.4'} + dev: true + /has-symbol-support-x/1.4.2: resolution: {integrity: sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==} dev: true @@ -6596,12 +6746,24 @@ packages: engines: {node: '>= 0.4'} dev: true + /has-symbols/1.0.3: + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} + 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'} + dependencies: + has-symbols: 1.0.3 + dev: true + /has-unicode/2.0.1: resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} dev: true @@ -6620,6 +6782,13 @@ packages: minimalistic-assert: 1.0.1 dev: true + /hasown/2.0.0: + resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==} + engines: {node: '>= 0.4'} + dependencies: + function-bind: 1.1.2 + dev: true + /header-case/2.0.4: resolution: {integrity: sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==} dependencies: @@ -6899,6 +7068,15 @@ packages: wrap-ansi: 6.2.0 dev: true + /internal-slot/1.0.6: + resolution: {integrity: sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.2 + hasown: 2.0.0 + side-channel: 1.0.4 + dev: true + /into-stream/3.1.0: resolution: {integrity: sha512-TcdjPibTksa1NQximqep2r17ISRiNE9fwlfbg3F8ANdvP5/yrFTew86VcO//jk4QTaMlbjypPBq76HN2zaKfZQ==} engines: {node: '>=4'} @@ -6930,10 +7108,32 @@ packages: engines: {node: '>=8'} dev: true + /is-arguments/1.1.1: + resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + has-tostringtag: 1.0.0 + dev: true + + /is-array-buffer/3.0.2: + resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} + dependencies: + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + is-typed-array: 1.1.12 + dev: true + /is-arrayish/0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} dev: true + /is-bigint/1.0.4: + resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} + dependencies: + has-bigints: 1.0.2 + dev: true + /is-binary-path/2.1.0: resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} engines: {node: '>=8'} @@ -6941,6 +7141,14 @@ packages: binary-extensions: 2.1.0 dev: true + /is-boolean-object/1.1.2: + resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + has-tostringtag: 1.0.0 + dev: true + /is-callable/1.2.3: resolution: {integrity: sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==} engines: {node: '>= 0.4'} @@ -6970,6 +7178,13 @@ packages: engines: {node: '>= 0.4'} dev: true + /is-date-object/1.0.5: + resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + dev: true + /is-error/2.2.2: resolution: {integrity: sha512-IOQqts/aHWbiisY5DuPJQ0gcbvaLFCa7fBa9xoLfxBZvQ+ZI/Zh9xoI7Gk+G64N0FdK4AbibytHht2tWgpJWLg==} dev: true @@ -7017,6 +7232,10 @@ packages: resolution: {integrity: sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==} dev: true + /is-map/2.0.2: + resolution: {integrity: sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==} + dev: true + /is-module/1.0.0: resolution: {integrity: sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=} dev: true @@ -7030,6 +7249,13 @@ packages: engines: {node: '>= 0.4'} dev: true + /is-number-object/1.0.7: + resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + dev: true + /is-number/7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} @@ -7086,11 +7312,29 @@ packages: has-symbols: 1.0.1 dev: true + /is-regex/1.1.4: + resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + 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 + + /is-shared-array-buffer/1.0.2: + resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} + dependencies: + call-bind: 1.0.5 + dev: true + /is-stream/1.1.0: resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==} engines: {node: '>=0.10.0'} @@ -7106,6 +7350,13 @@ packages: engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: true + /is-string/1.0.7: + resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + dev: true + /is-symbol/1.0.3: resolution: {integrity: sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==} engines: {node: '>= 0.4'} @@ -7113,6 +7364,13 @@ packages: has-symbols: 1.0.1 dev: true + /is-typed-array/1.1.12: + resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==} + engines: {node: '>= 0.4'} + dependencies: + which-typed-array: 1.1.13 + dev: true + /is-typedarray/1.0.0: resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} dev: true @@ -7140,6 +7398,17 @@ packages: resolution: {integrity: sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==} dev: true + /is-weakmap/2.0.1: + resolution: {integrity: sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==} + dev: true + + /is-weakset/2.0.2: + resolution: {integrity: sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==} + dependencies: + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + dev: true + /is2/2.0.6: resolution: {integrity: sha512-+Z62OHOjA6k2sUDOKXoZI3EXv7Fb1K52jpTBLbkfx62bcUeSsrTBLhEquCRDKTx0XE5XbHcG/S2vrtE3lnEDsQ==} engines: {node: '>=v0.10.0'} @@ -7157,6 +7426,10 @@ packages: resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} dev: true + /isarray/2.0.5: + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} + dev: true + /isbot/3.3.4: resolution: {integrity: sha512-a6o/e6nBMoRGvoovg5NT2r/N7S4398yCDXc6HgEOILdBAjYv05SX1MBhgc8SHnEJdRyLfOpAPqc10ezLWkj7rQ==} engines: {node: '>=12'} @@ -8323,6 +8596,11 @@ packages: engines: {node: '>=12'} dev: true + /lz-string/1.5.0: + resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==} + hasBin: true + dev: true + /magic-string/0.25.7: resolution: {integrity: sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==} dependencies: @@ -8969,6 +9247,14 @@ packages: resolution: {integrity: sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==} dev: true + /object-is/1.1.5: + resolution: {integrity: sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==} + engines: {node: '>= 0.4'} + 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'} @@ -8989,6 +9275,16 @@ packages: object-keys: 1.1.1 dev: true + /object.assign/4.1.5: + resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + 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'} @@ -9861,6 +10157,15 @@ packages: resolution: {integrity: sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==} dev: true + /regexp.prototype.flags/1.5.1: + resolution: {integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + set-function-name: 2.0.1 + dev: true + /regexpp/3.2.0: resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} engines: {node: '>=8'} @@ -10286,6 +10591,25 @@ packages: resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} dev: true + /set-function-length/1.1.1: + resolution: {integrity: sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==} + engines: {node: '>= 0.4'} + dependencies: + define-data-property: 1.1.1 + get-intrinsic: 1.2.2 + gopd: 1.0.1 + has-property-descriptors: 1.0.1 + dev: true + + /set-function-name/2.0.1: + resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==} + engines: {node: '>= 0.4'} + dependencies: + define-data-property: 1.1.1 + functions-have-names: 1.2.3 + has-property-descriptors: 1.0.1 + dev: true + /setimmediate/1.0.5: resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} dev: true @@ -10329,6 +10653,14 @@ packages: resolution: {integrity: sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==} dev: true + /side-channel/1.0.4: + resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} + dependencies: + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + object-inspect: 1.12.0 + dev: true + /signal-exit/3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} dev: true @@ -10586,6 +10918,13 @@ packages: engines: {node: '>= 0.6'} dev: true + /stop-iteration-iterator/1.0.0: + resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==} + engines: {node: '>= 0.4'} + dependencies: + internal-slot: 1.0.6 + dev: true + /stream-buffers/3.0.2: resolution: {integrity: sha512-DQi1h8VEBA/lURbSwFtEHnSTb9s2/pwLEaFuNhXwy1Dx3Sa0lOuYT2yNUr4/j2fs8oCAMANtrZ5OrPZtyVs3MQ==} engines: {node: '>= 0.10.0'} @@ -11608,6 +11947,36 @@ packages: webidl-conversions: 6.1.0 dev: true + /which-boxed-primitive/1.0.2: + resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} + 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 + + /which-collection/1.0.1: + resolution: {integrity: sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==} + dependencies: + is-map: 2.0.2 + is-set: 2.0.2 + is-weakmap: 2.0.1 + is-weakset: 2.0.2 + dev: true + + /which-typed-array/1.1.13: + resolution: {integrity: sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==} + engines: {node: '>= 0.4'} + dependencies: + available-typed-arrays: 1.0.5 + call-bind: 1.0.5 + for-each: 0.3.3 + gopd: 1.0.1 + has-tostringtag: 1.0.0 + dev: true + /which/1.3.1: resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} hasBin: true diff --git a/common/config/rush/repo-state.json b/common/config/rush/repo-state.json index d5834052d..4d226ab04 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": "f22225c05d2747a95a11b5d6c6ee8827084cf800", + "pnpmShrinkwrapHash": "76374ca64642c7cf6282ba6e6c9417787e019665", "preferredVersionsHash": "bf21a9e8fbc5a3846fb05b4fa0859e0917b2202f" } diff --git a/libraries/browser-tracker-core/package.json b/libraries/browser-tracker-core/package.json index 9bda3600e..6f2bf998d 100644 --- a/libraries/browser-tracker-core/package.json +++ b/libraries/browser-tracker-core/package.json @@ -48,6 +48,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", + "@testing-library/dom": "~9.3.1" } } diff --git a/libraries/browser-tracker-core/src/helpers/cross_domain.ts b/libraries/browser-tracker-core/src/helpers/cross_domain.ts new file mode 100644 index 000000000..75fc8c088 --- /dev/null +++ b/libraries/browser-tracker-core/src/helpers/cross_domain.ts @@ -0,0 +1,72 @@ +import { ExtendedCrossDomainLinkerAttributes, Platform } from '../tracker/types'; + +const DEFAULT_CROSS_DOMAIN_LINKER_PARAMS: ExtendedCrossDomainLinkerAttributes = { + sessionId: true, + sourceId: true, + sourcePlatform: false, + userId: false, + reason: false, +}; + +interface ExtendedCrossDomainLinkerValues { + domainUserId?: string; + /* Timestamp of the cross-domain link click. */ + timestamp?: number; + /* Current user ID as set with setUserId(). */ + userId?: string; + /* Visitor ID. */ + sessionId?: string; + /* The app ID. */ + sourceId?: string; + sourcePlatform?: Platform; + /* Link text of the cross-domain link. */ + reason?: string; +} + +export function createCrossDomainParameterValue( + isExtendedFormat: boolean, + attributeConfiguration: ExtendedCrossDomainLinkerAttributes | undefined, + attributeValues: ExtendedCrossDomainLinkerValues & { + /* As `reason` might be a callback, we also need to pass the event to calculate the reason value. */ + event: Event; + } +): string { + let crossDomainParameterValue; + const timestamp = new Date().getTime(); + const config = { ...DEFAULT_CROSS_DOMAIN_LINKER_PARAMS, ...attributeConfiguration }; + const { domainUserId, userId, sessionId, sourceId, sourcePlatform, event } = attributeValues; + + const eventTarget = event.currentTarget as HTMLAnchorElement | HTMLAreaElement | null; + const reason = typeof config.reason === 'function' ? config.reason(event) : eventTarget?.textContent?.trim(); + + if (isExtendedFormat) { + /* Index is used by Enrich, so it should not be changed. */ + crossDomainParameterValue = [ + domainUserId, + timestamp, + config.sessionId && sessionId, + config.userId && urlSafeBase64Encode(userId || ''), + config.sourceId && urlSafeBase64Encode(sourceId || ''), + config.sourcePlatform && sourcePlatform, + config.reason && urlSafeBase64Encode(reason || ''), + ] + .map((attribute) => attribute || '') + .join('.') + // Remove trailing dots + .replace(/([.]*$)/, ''); + } else { + crossDomainParameterValue = attributeValues.domainUserId + '.' + timestamp; + } + + return crossDomainParameterValue; +} + +/** + * + * The url-safe variation emits - and _ instead of + and / characters. Also removes = sign padding. + * @param {string} str The string to encode in a URL safe manner + * @return {string} + */ +export function urlSafeBase64Encode(str: string) { + return btoa(str).replace(/\+/g, '-').replace(/\//g, '_').replace(/\=+$/, ''); +} diff --git a/libraries/browser-tracker-core/src/helpers/index.ts b/libraries/browser-tracker-core/src/helpers/index.ts index b160157d4..817780a86 100755 --- a/libraries/browser-tracker-core/src/helpers/index.ts +++ b/libraries/browser-tracker-core/src/helpers/index.ts @@ -29,6 +29,7 @@ */ export * from './storage'; +export * from './cross_domain'; declare global { interface EventTarget { diff --git a/libraries/browser-tracker-core/src/tracker/index.ts b/libraries/browser-tracker-core/src/tracker/index.ts index e79d30484..3754376aa 100755 --- a/libraries/browser-tracker-core/src/tracker/index.ts +++ b/libraries/browser-tracker-core/src/tracker/index.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 { trackerCore, buildPagePing, @@ -56,6 +26,7 @@ import { isInteger, attemptGetSessionStorage, attemptWriteSessionStorage, + createCrossDomainParameterValue, } from '../helpers'; import { BrowserPlugin } from '../plugins'; import { OutQueueManager } from './out_queue'; @@ -75,6 +46,7 @@ import { BrowserPluginConfiguration, ClearUserDataConfiguration, ClientSession, + ExtendedCrossDomainLinkerOptions, } from './types'; import { parseIdCookie, @@ -186,7 +158,17 @@ export function Tracker( }, getAnonymousTracking = (config: TrackerConfiguration) => !!config.anonymousTracking, isBrowserContextAvailable = trackerConfiguration?.contexts?.browser ?? false, - isWebPageContextAvailable = trackerConfiguration?.contexts?.webPage ?? true; + isWebPageContextAvailable = trackerConfiguration?.contexts?.webPage ?? true, + getExtendedCrossDomainTrackingConfiguration = (crossDomainTrackingConfig: ExtendedCrossDomainLinkerOptions) => { + if (typeof crossDomainTrackingConfig === 'boolean') { + return { useExtendedCrossDomainLinker: crossDomainTrackingConfig }; + } + + return { + useExtendedCrossDomainLinker: true, + collectCrossDomainAttributes: crossDomainTrackingConfig, + }; + }; // Get all injected plugins browserPlugins.push(getBrowserDataPlugin()); @@ -321,7 +303,10 @@ export function Tracker( configSessionContext = trackerConfiguration.contexts?.session ?? false, toOptoutByCookie: string | boolean, onSessionUpdateCallback = trackerConfiguration.onSessionUpdateCallback, - manualSessionUpdateCalled = false; + manualSessionUpdateCalled = false, + { useExtendedCrossDomainLinker, collectCrossDomainAttributes } = getExtendedCrossDomainTrackingConfiguration( + trackerConfiguration.useExtendedCrossDomainLinker || false + ); if (trackerConfiguration.hasOwnProperty('discoverRootDomain') && trackerConfiguration.discoverRootDomain) { configCookieDomain = findRootDomain(configCookieSameSite, configCookieSecure); @@ -369,31 +354,45 @@ export function Tracker( } /** - * Decorate the querystring of a single link + * Create link handler to decorate the querystring of a link (onClick/onMouseDown) * * @param event - e The event targeting the link */ - function linkDecorationHandler(evt: Event) { - const timestamp = new Date().getTime(); - const elt = evt.currentTarget as HTMLAnchorElement | HTMLAreaElement | null; - if (elt?.href) { - elt.href = decorateQuerystring(elt.href, '_sp', domainUserId + '.' + timestamp); - } + function addLinkDecorationHandler(extended: boolean): (evt: Event) => void { + const CROSS_DOMAIN_PARAMETER_NAME = '_sp'; + + return (evt) => { + const elt = evt.currentTarget as HTMLAnchorElement | HTMLAreaElement | null; + + const crossDomainParameterValue = createCrossDomainParameterValue(extended, collectCrossDomainAttributes, { + domainUserId, + userId: businessUserId || undefined, + sessionId: memorizedSessionId, + sourceId: configTrackerSiteId, + sourcePlatform: configPlatform, + event: evt, + }); + + if (elt?.href) { + elt.href = decorateQuerystring(elt.href, CROSS_DOMAIN_PARAMETER_NAME, crossDomainParameterValue); + } + }; } /** - * Enable querystring decoration for links pasing a filter + * Enable querystring decoration for links passing a filter * Whenever such a link is clicked on or navigated to via the keyboard, * add "_sp={{duid}}.{{timestamp}}" to its querystring * * @param crossDomainLinker - Function used to determine which links to decorate */ function decorateLinks(crossDomainLinker: (elt: HTMLAnchorElement | HTMLAreaElement) => boolean) { + const crossDomainLinkHandler = addLinkDecorationHandler(useExtendedCrossDomainLinker); for (let i = 0; i < document.links.length; i++) { const elt = document.links[i]; if (!(elt as any).spDecorationEnabled && crossDomainLinker(elt)) { - addEventListener(elt, 'click', linkDecorationHandler, true); - addEventListener(elt, 'mousedown', linkDecorationHandler, true); + elt.addEventListener('click', crossDomainLinkHandler, true); + elt.addEventListener('mousedown', crossDomainLinkHandler, true); // Don't add event listeners more than once (elt as any).spDecorationEnabled = true; diff --git a/libraries/browser-tracker-core/src/tracker/types.ts b/libraries/browser-tracker-core/src/tracker/types.ts index fa2105500..922e6af90 100755 --- a/libraries/browser-tracker-core/src/tracker/types.ts +++ b/libraries/browser-tracker-core/src/tracker/types.ts @@ -32,6 +32,20 @@ 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 = { + userId?: boolean; + sessionId?: boolean; + sourceId?: boolean; + sourcePlatform?: boolean; + /** + * Allow for the collection of the link text when a cross-domain link is clicked. Can also accept a callback for customizing information collection. + */ + reason?: boolean | ((evt: Event) => string); +}; + +export type ExtendedCrossDomainLinkerOptions = boolean | ExtendedCrossDomainLinkerAttributes; + /** * The configuration object for initialising the tracker * @example @@ -126,6 +140,11 @@ export type TrackerConfiguration = { * links on the callback */ crossDomainLinker?: (elt: HTMLAnchorElement | HTMLAreaElement) => boolean; + /** + * Configure the cross domain linker to use the extended format, allowing for + * 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 diff --git a/libraries/browser-tracker-core/test/tracker/cross_domain.test.ts b/libraries/browser-tracker-core/test/tracker/cross_domain.test.ts new file mode 100644 index 000000000..cf7748e9f --- /dev/null +++ b/libraries/browser-tracker-core/test/tracker/cross_domain.test.ts @@ -0,0 +1,147 @@ +import * as uuid from 'uuid'; +jest.mock('uuid'); +const MOCK_UUID = '123456789'; +jest.spyOn(uuid, 'v4').mockReturnValue(MOCK_UUID); + +import { createTracker } from '../helpers'; +import { getByText, queryByText, waitFor } from '@testing-library/dom'; +import { urlSafeBase64Encode } from '../../src'; + +function getCrossDomainURLParam(url: string) { + const CROSS_DOMAIN_PARAMETER_NAME = '_sp'; + const urlParams = new URLSearchParams(new URL(url).search); + return urlParams.get(CROSS_DOMAIN_PARAMETER_NAME); +} + +function decodeExtendedCrossDomainLinkParam(crossDomainLinkValue: string) { + return crossDomainLinkValue.split('.'); +} + +describe('Cross-domain linking: ', () => { + const CROSS_DOMAIN_LINK_PARAMETERS_LENGTH = 7; + const standardDate = new Date(2023, 1, 1); + + beforeAll(() => { + jest.useFakeTimers('modern'); + jest.setSystemTime(standardDate); + }); + + afterEach(() => { + jest.clearAllMocks(); + }); + + afterAll(() => { + jest.useRealTimers(); + }); + + const CROSS_DOMAIN_LINK_TEXT = 'Cross-domain link'; + const appId = 'my-app'; + const userId = 'U1234'; + function getLinkDom() { + const div = document.createElement('div'); + div.innerHTML = ` + ${CROSS_DOMAIN_LINK_TEXT} + `; + return div; + } + + it('Adds the correct link decoration', async () => { + const container = getLinkDom(); + + const elem = getByText(container, CROSS_DOMAIN_LINK_TEXT); + // @ts-ignore + jest.spyOn(document, 'links', 'get').mockReturnValue([elem]); + createTracker({ crossDomainLinker: () => true }); + elem.click(); + await waitFor(() => { + const clickedLink = queryByText(container, CROSS_DOMAIN_LINK_TEXT)?.getAttribute('href') as string; + const crossDomainLinkParam = getCrossDomainURLParam(clickedLink); + const crossDomainParamParts = crossDomainLinkParam?.split('.') as string[]; + expect(crossDomainParamParts?.length).toEqual(2); + expect(crossDomainParamParts[0]).toEqual(MOCK_UUID); + expect(crossDomainParamParts[1]).toEqual(String(standardDate.getTime())); + }); + }); + + it('Adds the correct link decoration with default extended format', async () => { + const container = getLinkDom(); + const elem = getByText(container, CROSS_DOMAIN_LINK_TEXT); + // @ts-ignore + jest.spyOn(document, 'links', 'get').mockReturnValue([elem]); + const t = createTracker({ appId, crossDomainLinker: () => true, useExtendedCrossDomainLinker: true }); + t?.setUserId(userId); + elem.click(); + await waitFor(() => { + const clickedLink = queryByText(container, CROSS_DOMAIN_LINK_TEXT)?.getAttribute('href') as string; + const crossDomainLinkParam = getCrossDomainURLParam(clickedLink) as string; + const decodedCrossDomainLinkParam = decodeExtendedCrossDomainLinkParam(crossDomainLinkParam); + expect(decodedCrossDomainLinkParam.length).toBe(CROSS_DOMAIN_LINK_PARAMETERS_LENGTH - 2); + expect(decodedCrossDomainLinkParam).toStrictEqual([ + MOCK_UUID, + String(standardDate.getTime()), + MOCK_UUID, + '', + urlSafeBase64Encode(appId), + ]); + }); + }); + + it('Adds the correct link decoration with configurable extended format and link text collection', async () => { + const container = getLinkDom(); + + const elem = getByText(container, CROSS_DOMAIN_LINK_TEXT); + // @ts-ignore + jest.spyOn(document, 'links', 'get').mockReturnValue([elem]); + const t = createTracker({ + appId, + crossDomainLinker: () => true, + useExtendedCrossDomainLinker: { userId: true, reason: true, sourcePlatform: true }, + }); + t?.setUserId(userId); + elem.click(); + await waitFor(() => { + const clickedLink = queryByText(container, CROSS_DOMAIN_LINK_TEXT)?.getAttribute('href') as string; + const crossDomainLinkParam = getCrossDomainURLParam(clickedLink) as string; + const decodedCrossDomainLinkParam = decodeExtendedCrossDomainLinkParam(crossDomainLinkParam); + expect(decodedCrossDomainLinkParam.length).toBe(CROSS_DOMAIN_LINK_PARAMETERS_LENGTH); + expect(decodedCrossDomainLinkParam).toStrictEqual([ + MOCK_UUID, + String(standardDate.getTime()), + MOCK_UUID, + urlSafeBase64Encode(userId), + urlSafeBase64Encode(appId), + 'web', + urlSafeBase64Encode(CROSS_DOMAIN_LINK_TEXT), + ]); + }); + }); + + it('Adds the correct link decoration with configurable extended format and event callback', async () => { + const container = getLinkDom(); + + const elem = getByText(container, CROSS_DOMAIN_LINK_TEXT); + // @ts-ignore + jest.spyOn(document, 'links', 'get').mockReturnValue([elem]); + createTracker({ + appId, + crossDomainLinker: () => true, + useExtendedCrossDomainLinker: { reason: (evt) => evt.type }, + }); + elem.click(); + await waitFor(() => { + const clickedLink = queryByText(container, CROSS_DOMAIN_LINK_TEXT)?.getAttribute('href') as string; + const crossDomainLinkParam = getCrossDomainURLParam(clickedLink) as string; + const decodedCrossDomainLinkParam = decodeExtendedCrossDomainLinkParam(crossDomainLinkParam); + expect(decodedCrossDomainLinkParam.length).toBe(CROSS_DOMAIN_LINK_PARAMETERS_LENGTH); + expect(decodedCrossDomainLinkParam).toStrictEqual([ + MOCK_UUID, + String(standardDate.getTime()), + MOCK_UUID, + '', + urlSafeBase64Encode(appId), + '', + urlSafeBase64Encode('click'), + ]); + }); + }); +}); diff --git a/trackers/browser-tracker/src/api.ts b/trackers/browser-tracker/src/api.ts index e8eba06b6..1367ed841 100644 --- a/trackers/browser-tracker/src/api.ts +++ b/trackers/browser-tracker/src/api.ts @@ -43,6 +43,8 @@ import { FlushBufferConfiguration, PageViewEvent, ClearUserDataConfiguration, + ExtendedCrossDomainLinkerOptions, + ExtendedCrossDomainLinkerAttributes, } from '@snowplow/browser-tracker-core'; import { buildSelfDescribingEvent, @@ -87,6 +89,8 @@ export { ContextEvent, ContextFilter, RuleSet, + ExtendedCrossDomainLinkerOptions, + ExtendedCrossDomainLinkerAttributes, }; /** @@ -185,7 +189,7 @@ export function setVisitorCookieTimeout(timeout: number, trackers?: Array Date: Mon, 15 Jan 2024 14:41:16 +0000 Subject: [PATCH 163/449] Update changelogs [skip ci] --- ...-button_click_with_children_2024-01-10-09-46.json | 10 ---------- ...cross-domain-linking-entity_2023-08-28-10-46.json | 10 ---------- ...cross-domain-linking-entity_2023-08-28-10-46.json | 10 ---------- ...-button_click_with_children_2024-01-10-09-46.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 | 12 ++++++++++++ .../CHANGELOG.md | 9 ++++++++- 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 | 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 | 6 ++++++ trackers/node-tracker/CHANGELOG.md | 7 ++++++- 70 files changed, 428 insertions(+), 73 deletions(-) delete mode 100644 common/changes/@snowplow/browser-plugin-button-click-tracking/issue-button_click_with_children_2024-01-10-09-46.json delete mode 100644 common/changes/@snowplow/browser-tracker-core/feature-extend-cross-domain-linking-entity_2023-08-28-10-46.json delete mode 100644 common/changes/@snowplow/browser-tracker/feature-extend-cross-domain-linking-entity_2023-08-28-10-46.json delete mode 100644 common/changes/@snowplow/javascript-tracker/issue-button_click_with_children_2024-01-10-09-46.json diff --git a/common/changes/@snowplow/browser-plugin-button-click-tracking/issue-button_click_with_children_2024-01-10-09-46.json b/common/changes/@snowplow/browser-plugin-button-click-tracking/issue-button_click_with_children_2024-01-10-09-46.json deleted file mode 100644 index a332b1508..000000000 --- a/common/changes/@snowplow/browser-plugin-button-click-tracking/issue-button_click_with_children_2024-01-10-09-46.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-plugin-button-click-tracking", - "comment": "Support clicks on child elements in button click tracking (#1280)", - "type": "none" - } - ], - "packageName": "@snowplow/browser-plugin-button-click-tracking" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-tracker-core/feature-extend-cross-domain-linking-entity_2023-08-28-10-46.json b/common/changes/@snowplow/browser-tracker-core/feature-extend-cross-domain-linking-entity_2023-08-28-10-46.json deleted file mode 100644 index cf3ab3d98..000000000 --- a/common/changes/@snowplow/browser-tracker-core/feature-extend-cross-domain-linking-entity_2023-08-28-10-46.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-tracker-core", - "comment": "Allow for extended cross domain linking information using the useExtendedCrossDomainLinker option", - "type": "none" - } - ], - "packageName": "@snowplow/browser-tracker-core" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-tracker/feature-extend-cross-domain-linking-entity_2023-08-28-10-46.json b/common/changes/@snowplow/browser-tracker/feature-extend-cross-domain-linking-entity_2023-08-28-10-46.json deleted file mode 100644 index 508727e2d..000000000 --- a/common/changes/@snowplow/browser-tracker/feature-extend-cross-domain-linking-entity_2023-08-28-10-46.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-tracker", - "comment": "Add new useExtendedCrossDomainLinker option", - "type": "none" - } - ], - "packageName": "@snowplow/browser-tracker" -} \ No newline at end of file diff --git a/common/changes/@snowplow/javascript-tracker/issue-button_click_with_children_2024-01-10-09-46.json b/common/changes/@snowplow/javascript-tracker/issue-button_click_with_children_2024-01-10-09-46.json deleted file mode 100644 index e29e2d7cf..000000000 --- a/common/changes/@snowplow/javascript-tracker/issue-button_click_with_children_2024-01-10-09-46.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/javascript-tracker", - "comment": "Support clicks on child elements in button click tracking (#1280)", - "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 d7f8b3ec7..1ca2a816a 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.20.0", + "tag": "@snowplow/browser-tracker-core_v3.20.0", + "date": "Mon, 15 Jan 2024 14:41:16 GMT", + "comments": { + "none": [ + { + "comment": "Allow for extended cross domain linking information using the useExtendedCrossDomainLinker option" + } + ] + } + }, { "version": "3.19.0", "tag": "@snowplow/browser-tracker-core_v3.19.0", diff --git a/libraries/browser-tracker-core/CHANGELOG.md b/libraries/browser-tracker-core/CHANGELOG.md index d2fd6812e..0180e328f 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 Thu, 14 Dec 2023 10:45:23 GMT and should not be manually modified. +This log was last generated on Mon, 15 Jan 2024 14:41:16 GMT and should not be manually modified. + +## 3.20.0 +Mon, 15 Jan 2024 14:41:16 GMT + +### Updates + +- Allow for extended cross domain linking information using the useExtendedCrossDomainLinker option ## 3.19.0 Thu, 14 Dec 2023 10:45:23 GMT diff --git a/libraries/tracker-core/CHANGELOG.json b/libraries/tracker-core/CHANGELOG.json index 731e1b237..8c0a6065c 100644 --- a/libraries/tracker-core/CHANGELOG.json +++ b/libraries/tracker-core/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/tracker-core", "entries": [ + { + "version": "3.20.0", + "tag": "@snowplow/tracker-core_v3.20.0", + "date": "Mon, 15 Jan 2024 14:41:16 GMT", + "comments": {} + }, { "version": "3.19.0", "tag": "@snowplow/tracker-core_v3.19.0", diff --git a/libraries/tracker-core/CHANGELOG.md b/libraries/tracker-core/CHANGELOG.md index 0dbf56ee7..91329bdac 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, 14 Dec 2023 10:45:23 GMT and should not be manually modified. +This log was last generated on Mon, 15 Jan 2024 14:41:16 GMT and should not be manually modified. + +## 3.20.0 +Mon, 15 Jan 2024 14:41:16 GMT + +_Version update only_ ## 3.19.0 Thu, 14 Dec 2023 10:45:23 GMT diff --git a/plugins/browser-plugin-ad-tracking/CHANGELOG.json b/plugins/browser-plugin-ad-tracking/CHANGELOG.json index bdee27837..c8b675f38 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.20.0", + "tag": "@snowplow/browser-plugin-ad-tracking_v3.20.0", + "date": "Mon, 15 Jan 2024 14:41:16 GMT", + "comments": {} + }, { "version": "3.19.0", "tag": "@snowplow/browser-plugin-ad-tracking_v3.19.0", diff --git a/plugins/browser-plugin-ad-tracking/CHANGELOG.md b/plugins/browser-plugin-ad-tracking/CHANGELOG.md index 1c5439225..852f0828a 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, 14 Dec 2023 10:45:22 GMT and should not be manually modified. +This log was last generated on Mon, 15 Jan 2024 14:41:16 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-browser-features/CHANGELOG.json b/plugins/browser-plugin-browser-features/CHANGELOG.json index 462ea86c9..231f67db5 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.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", diff --git a/plugins/browser-plugin-browser-features/CHANGELOG.md b/plugins/browser-plugin-browser-features/CHANGELOG.md index bb0b02974..71c07cf8e 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, 14 Dec 2023 10:45:22 GMT and should not be manually modified. +This log was last generated on Mon, 15 Jan 2024 14:41:16 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-button-click-tracking/CHANGELOG.json b/plugins/browser-plugin-button-click-tracking/CHANGELOG.json index 5b0846d3b..fe82f0fb7 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.20.0", + "tag": "@snowplow/browser-plugin-button-click-tracking_v3.20.0", + "date": "Mon, 15 Jan 2024 14:41:16 GMT", + "comments": { + "none": [ + { + "comment": "Support clicks on child elements in button click tracking (#1280)" + } + ] + } + }, { "version": "3.19.0", "tag": "@snowplow/browser-plugin-button-click-tracking_v3.19.0", diff --git a/plugins/browser-plugin-button-click-tracking/CHANGELOG.md b/plugins/browser-plugin-button-click-tracking/CHANGELOG.md index bf435829e..322cc6716 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 Thu, 14 Dec 2023 10:45:22 GMT and should not be manually modified. +This log was last generated on Mon, 15 Jan 2024 14:41:16 GMT and should not be manually modified. + +## 3.20.0 +Mon, 15 Jan 2024 14:41:16 GMT + +### Updates + +- Support clicks on child elements in button click tracking (#1280) ## 3.19.0 Thu, 14 Dec 2023 10:45:22 GMT diff --git a/plugins/browser-plugin-client-hints/CHANGELOG.json b/plugins/browser-plugin-client-hints/CHANGELOG.json index ba1ef6a8c..175c825b0 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.20.0", + "tag": "@snowplow/browser-plugin-client-hints_v3.20.0", + "date": "Mon, 15 Jan 2024 14:41:16 GMT", + "comments": {} + }, { "version": "3.19.0", "tag": "@snowplow/browser-plugin-client-hints_v3.19.0", diff --git a/plugins/browser-plugin-client-hints/CHANGELOG.md b/plugins/browser-plugin-client-hints/CHANGELOG.md index cc15fec2a..2ab3d17b5 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, 14 Dec 2023 10:45:22 GMT and should not be manually modified. +This log was last generated on Mon, 15 Jan 2024 14:41:16 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-consent/CHANGELOG.json b/plugins/browser-plugin-consent/CHANGELOG.json index 2fee78b3a..860e8ab02 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.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", diff --git a/plugins/browser-plugin-consent/CHANGELOG.md b/plugins/browser-plugin-consent/CHANGELOG.md index d37863c54..32d0c8a65 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, 14 Dec 2023 10:45:22 GMT and should not be manually modified. +This log was last generated on Mon, 15 Jan 2024 14:41:16 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-debugger/CHANGELOG.json b/plugins/browser-plugin-debugger/CHANGELOG.json index a663a48a4..a9594a514 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.20.0", + "tag": "@snowplow/browser-plugin-debugger_v3.20.0", + "date": "Mon, 15 Jan 2024 14:41:16 GMT", + "comments": {} + }, { "version": "3.19.0", "tag": "@snowplow/browser-plugin-debugger_v3.19.0", diff --git a/plugins/browser-plugin-debugger/CHANGELOG.md b/plugins/browser-plugin-debugger/CHANGELOG.md index ad7c72325..e9589fcb6 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, 14 Dec 2023 10:45:22 GMT and should not be manually modified. +This log was last generated on Mon, 15 Jan 2024 14:41:16 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-ecommerce/CHANGELOG.json b/plugins/browser-plugin-ecommerce/CHANGELOG.json index 70115f5ba..02f9f2683 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.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", diff --git a/plugins/browser-plugin-ecommerce/CHANGELOG.md b/plugins/browser-plugin-ecommerce/CHANGELOG.md index 3dcbd202c..620932d34 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, 14 Dec 2023 10:45:22 GMT and should not be manually modified. +This log was last generated on Mon, 15 Jan 2024 14:41:16 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-enhanced-consent/CHANGELOG.json b/plugins/browser-plugin-enhanced-consent/CHANGELOG.json index 80fb38aef..c5a63212a 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.20.0", + "tag": "@snowplow/browser-plugin-enhanced-consent_v3.20.0", + "date": "Mon, 15 Jan 2024 14:41:16 GMT", + "comments": {} + }, { "version": "3.19.0", "tag": "@snowplow/browser-plugin-enhanced-consent_v3.19.0", diff --git a/plugins/browser-plugin-enhanced-consent/CHANGELOG.md b/plugins/browser-plugin-enhanced-consent/CHANGELOG.md index e5e673016..64f25a4a8 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, 14 Dec 2023 10:45:22 GMT and should not be manually modified. +This log was last generated on Mon, 15 Jan 2024 14:41:16 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.json b/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.json index a7ba0207b..88741ead9 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.20.0", + "tag": "@snowplow/browser-plugin-enhanced-ecommerce_v3.20.0", + "date": "Mon, 15 Jan 2024 14:41:16 GMT", + "comments": {} + }, { "version": "3.19.0", "tag": "@snowplow/browser-plugin-enhanced-ecommerce_v3.19.0", diff --git a/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.md b/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.md index b09df1561..f6b325139 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, 14 Dec 2023 10:45:22 GMT and should not be manually modified. +This log was last generated on Mon, 15 Jan 2024 14:41:16 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-error-tracking/CHANGELOG.json b/plugins/browser-plugin-error-tracking/CHANGELOG.json index 673e6325f..a9adbadc8 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.20.0", + "tag": "@snowplow/browser-plugin-error-tracking_v3.20.0", + "date": "Mon, 15 Jan 2024 14:41:16 GMT", + "comments": {} + }, { "version": "3.19.0", "tag": "@snowplow/browser-plugin-error-tracking_v3.19.0", diff --git a/plugins/browser-plugin-error-tracking/CHANGELOG.md b/plugins/browser-plugin-error-tracking/CHANGELOG.md index 4b4d5e3fe..c2699c77f 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, 14 Dec 2023 10:45:22 GMT and should not be manually modified. +This log was last generated on Mon, 15 Jan 2024 14:41:16 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-focalmeter/CHANGELOG.json b/plugins/browser-plugin-focalmeter/CHANGELOG.json index 62eb4d1bf..394fb84d4 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.20.0", + "tag": "@snowplow/browser-plugin-focalmeter_v3.20.0", + "date": "Mon, 15 Jan 2024 14:41:16 GMT", + "comments": {} + }, { "version": "3.19.0", "tag": "@snowplow/browser-plugin-focalmeter_v3.19.0", diff --git a/plugins/browser-plugin-focalmeter/CHANGELOG.md b/plugins/browser-plugin-focalmeter/CHANGELOG.md index 73405cbc2..ec02c200a 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, 14 Dec 2023 10:45:22 GMT and should not be manually modified. +This log was last generated on Mon, 15 Jan 2024 14:41:16 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-form-tracking/CHANGELOG.json b/plugins/browser-plugin-form-tracking/CHANGELOG.json index b633c4494..db14aef1e 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.20.0", + "tag": "@snowplow/browser-plugin-form-tracking_v3.20.0", + "date": "Mon, 15 Jan 2024 14:41:16 GMT", + "comments": {} + }, { "version": "3.19.0", "tag": "@snowplow/browser-plugin-form-tracking_v3.19.0", diff --git a/plugins/browser-plugin-form-tracking/CHANGELOG.md b/plugins/browser-plugin-form-tracking/CHANGELOG.md index a3700ba19..c79205b77 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, 14 Dec 2023 10:45:22 GMT and should not be manually modified. +This log was last generated on Mon, 15 Jan 2024 14:41:16 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-ga-cookies/CHANGELOG.json b/plugins/browser-plugin-ga-cookies/CHANGELOG.json index bcf0411c2..c987ef516 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.20.0", + "tag": "@snowplow/browser-plugin-ga-cookies_v3.20.0", + "date": "Mon, 15 Jan 2024 14:41:16 GMT", + "comments": {} + }, { "version": "3.19.0", "tag": "@snowplow/browser-plugin-ga-cookies_v3.19.0", diff --git a/plugins/browser-plugin-ga-cookies/CHANGELOG.md b/plugins/browser-plugin-ga-cookies/CHANGELOG.md index 3d382eccb..3ec9c0b60 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, 14 Dec 2023 10:45:22 GMT and should not be manually modified. +This log was last generated on Mon, 15 Jan 2024 14:41:16 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-geolocation/CHANGELOG.json b/plugins/browser-plugin-geolocation/CHANGELOG.json index d85877faa..cf3a727cf 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.20.0", + "tag": "@snowplow/browser-plugin-geolocation_v3.20.0", + "date": "Mon, 15 Jan 2024 14:41:16 GMT", + "comments": {} + }, { "version": "3.19.0", "tag": "@snowplow/browser-plugin-geolocation_v3.19.0", diff --git a/plugins/browser-plugin-geolocation/CHANGELOG.md b/plugins/browser-plugin-geolocation/CHANGELOG.md index 8b25fa677..6afef4950 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, 14 Dec 2023 10:45:22 GMT and should not be manually modified. +This log was last generated on Mon, 15 Jan 2024 14:41:16 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-link-click-tracking/CHANGELOG.json b/plugins/browser-plugin-link-click-tracking/CHANGELOG.json index a2ef78d52..f82443bc6 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.20.0", + "tag": "@snowplow/browser-plugin-link-click-tracking_v3.20.0", + "date": "Mon, 15 Jan 2024 14:41:16 GMT", + "comments": {} + }, { "version": "3.19.0", "tag": "@snowplow/browser-plugin-link-click-tracking_v3.19.0", diff --git a/plugins/browser-plugin-link-click-tracking/CHANGELOG.md b/plugins/browser-plugin-link-click-tracking/CHANGELOG.md index ea3b7a988..eab770357 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, 14 Dec 2023 10:45:22 GMT and should not be manually modified. +This log was last generated on Mon, 15 Jan 2024 14:41:16 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-media-tracking/CHANGELOG.json b/plugins/browser-plugin-media-tracking/CHANGELOG.json index 2f092a602..cb48d8a79 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.20.0", + "tag": "@snowplow/browser-plugin-media-tracking_v3.20.0", + "date": "Mon, 15 Jan 2024 14:41:16 GMT", + "comments": {} + }, { "version": "3.19.0", "tag": "@snowplow/browser-plugin-media-tracking_v3.19.0", diff --git a/plugins/browser-plugin-media-tracking/CHANGELOG.md b/plugins/browser-plugin-media-tracking/CHANGELOG.md index 4e15ba72d..0bf22ac1c 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, 14 Dec 2023 10:45:22 GMT and should not be manually modified. +This log was last generated on Mon, 15 Jan 2024 14:41:16 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-media/CHANGELOG.json b/plugins/browser-plugin-media/CHANGELOG.json index e65438bd0..5fb61c966 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.20.0", + "tag": "@snowplow/browser-plugin-media_v3.20.0", + "date": "Mon, 15 Jan 2024 14:41:16 GMT", + "comments": {} + }, { "version": "3.19.0", "tag": "@snowplow/browser-plugin-media_v3.19.0", diff --git a/plugins/browser-plugin-media/CHANGELOG.md b/plugins/browser-plugin-media/CHANGELOG.md index fe51579c5..4cb3c323c 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, 14 Dec 2023 10:45:22 GMT and should not be manually modified. +This log was last generated on Mon, 15 Jan 2024 14:41:16 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-optimizely-x/CHANGELOG.json b/plugins/browser-plugin-optimizely-x/CHANGELOG.json index af9dc2ca8..314652747 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.20.0", + "tag": "@snowplow/browser-plugin-optimizely-x_v3.20.0", + "date": "Mon, 15 Jan 2024 14:41:16 GMT", + "comments": {} + }, { "version": "3.19.0", "tag": "@snowplow/browser-plugin-optimizely-x_v3.19.0", diff --git a/plugins/browser-plugin-optimizely-x/CHANGELOG.md b/plugins/browser-plugin-optimizely-x/CHANGELOG.md index 1e5a8ca0e..ff1124a1c 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, 14 Dec 2023 10:45:22 GMT and should not be manually modified. +This log was last generated on Mon, 15 Jan 2024 14:41:16 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-optimizely/CHANGELOG.json b/plugins/browser-plugin-optimizely/CHANGELOG.json index 937d0c89c..48dc5c3a1 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.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", diff --git a/plugins/browser-plugin-optimizely/CHANGELOG.md b/plugins/browser-plugin-optimizely/CHANGELOG.md index b25478846..07be6fd42 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, 14 Dec 2023 10:45:22 GMT and should not be manually modified. +This log was last generated on Mon, 15 Jan 2024 14:41:16 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.json b/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.json index 10eca60d8..1c7216a33 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.20.0", + "tag": "@snowplow/browser-plugin-performance-navigation-timing_v3.20.0", + "date": "Mon, 15 Jan 2024 14:41:16 GMT", + "comments": {} + }, { "version": "3.19.0", "tag": "@snowplow/browser-plugin-performance-navigation-timing_v3.19.0", diff --git a/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.md b/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.md index e051d203e..8d3b33314 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, 14 Dec 2023 10:45:22 GMT and should not be manually modified. +This log was last generated on Mon, 15 Jan 2024 14:41:16 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-performance-timing/CHANGELOG.json b/plugins/browser-plugin-performance-timing/CHANGELOG.json index 671f48b1a..21740bb14 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.20.0", + "tag": "@snowplow/browser-plugin-performance-timing_v3.20.0", + "date": "Mon, 15 Jan 2024 14:41:16 GMT", + "comments": {} + }, { "version": "3.19.0", "tag": "@snowplow/browser-plugin-performance-timing_v3.19.0", diff --git a/plugins/browser-plugin-performance-timing/CHANGELOG.md b/plugins/browser-plugin-performance-timing/CHANGELOG.md index bb11cd12e..d1451260f 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, 14 Dec 2023 10:45:23 GMT and should not be manually modified. +This log was last generated on Mon, 15 Jan 2024 14:41:16 GMT and should not be manually modified. + +## 3.20.0 +Mon, 15 Jan 2024 14:41:16 GMT + +_Version update only_ ## 3.19.0 Thu, 14 Dec 2023 10:45:23 GMT diff --git a/plugins/browser-plugin-privacy-sandbox/CHANGELOG.json b/plugins/browser-plugin-privacy-sandbox/CHANGELOG.json index 97c6cd5f2..d36952154 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.20.0", + "tag": "@snowplow/browser-plugin-privacy-sandbox_v3.20.0", + "date": "Mon, 15 Jan 2024 14:41:16 GMT", + "comments": {} + }, { "version": "3.19.0", "tag": "@snowplow/browser-plugin-privacy-sandbox_v3.19.0", diff --git a/plugins/browser-plugin-privacy-sandbox/CHANGELOG.md b/plugins/browser-plugin-privacy-sandbox/CHANGELOG.md index 0477f7ea2..f67d75375 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, 14 Dec 2023 10:45:23 GMT and should not be manually modified. +This log was last generated on Mon, 15 Jan 2024 14:41:16 GMT and should not be manually modified. + +## 3.20.0 +Mon, 15 Jan 2024 14:41:16 GMT + +_Version update only_ ## 3.19.0 Thu, 14 Dec 2023 10:45:23 GMT diff --git a/plugins/browser-plugin-site-tracking/CHANGELOG.json b/plugins/browser-plugin-site-tracking/CHANGELOG.json index b514127bf..34095a97f 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.20.0", + "tag": "@snowplow/browser-plugin-site-tracking_v3.20.0", + "date": "Mon, 15 Jan 2024 14:41:16 GMT", + "comments": {} + }, { "version": "3.19.0", "tag": "@snowplow/browser-plugin-site-tracking_v3.19.0", diff --git a/plugins/browser-plugin-site-tracking/CHANGELOG.md b/plugins/browser-plugin-site-tracking/CHANGELOG.md index 0bf347334..01e5583b6 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, 14 Dec 2023 10:45:23 GMT and should not be manually modified. +This log was last generated on Mon, 15 Jan 2024 14:41:16 GMT and should not be manually modified. + +## 3.20.0 +Mon, 15 Jan 2024 14:41:16 GMT + +_Version update only_ ## 3.19.0 Thu, 14 Dec 2023 10:45:23 GMT diff --git a/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.json b/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.json index 0b071bb58..bbf4e9b1d 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.20.0", + "tag": "@snowplow/browser-plugin-snowplow-ecommerce_v3.20.0", + "date": "Mon, 15 Jan 2024 14:41:16 GMT", + "comments": {} + }, { "version": "3.19.0", "tag": "@snowplow/browser-plugin-snowplow-ecommerce_v3.19.0", diff --git a/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.md b/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.md index 7370d56ea..22f766c0b 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, 14 Dec 2023 10:45:23 GMT and should not be manually modified. +This log was last generated on Mon, 15 Jan 2024 14:41:16 GMT and should not be manually modified. + +## 3.20.0 +Mon, 15 Jan 2024 14:41:16 GMT + +_Version update only_ ## 3.19.0 Thu, 14 Dec 2023 10:45:23 GMT diff --git a/plugins/browser-plugin-timezone/CHANGELOG.json b/plugins/browser-plugin-timezone/CHANGELOG.json index 00bc39875..feac3e6cf 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.20.0", + "tag": "@snowplow/browser-plugin-timezone_v3.20.0", + "date": "Mon, 15 Jan 2024 14:41:16 GMT", + "comments": {} + }, { "version": "3.19.0", "tag": "@snowplow/browser-plugin-timezone_v3.19.0", diff --git a/plugins/browser-plugin-timezone/CHANGELOG.md b/plugins/browser-plugin-timezone/CHANGELOG.md index 80191cfb4..53b307b20 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, 14 Dec 2023 10:45:23 GMT and should not be manually modified. +This log was last generated on Mon, 15 Jan 2024 14:41:16 GMT and should not be manually modified. + +## 3.20.0 +Mon, 15 Jan 2024 14:41:16 GMT + +_Version update only_ ## 3.19.0 Thu, 14 Dec 2023 10:45:23 GMT diff --git a/plugins/browser-plugin-vimeo-tracking/CHANGELOG.json b/plugins/browser-plugin-vimeo-tracking/CHANGELOG.json index f59632b0d..7cf84b515 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.20.0", + "tag": "@snowplow/browser-plugin-vimeo-tracking_v3.20.0", + "date": "Mon, 15 Jan 2024 14:41:16 GMT", + "comments": {} + }, { "version": "3.19.0", "tag": "@snowplow/browser-plugin-vimeo-tracking_v3.19.0", diff --git a/plugins/browser-plugin-vimeo-tracking/CHANGELOG.md b/plugins/browser-plugin-vimeo-tracking/CHANGELOG.md index 9d0ddf186..819bb4769 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, 14 Dec 2023 10:45:23 GMT and should not be manually modified. +This log was last generated on Mon, 15 Jan 2024 14:41:16 GMT and should not be manually modified. + +## 3.20.0 +Mon, 15 Jan 2024 14:41:16 GMT + +_Version update only_ ## 3.19.0 Thu, 14 Dec 2023 10:45:23 GMT diff --git a/plugins/browser-plugin-web-vitals/CHANGELOG.json b/plugins/browser-plugin-web-vitals/CHANGELOG.json index b0c16553c..5988f1c13 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.20.0", + "tag": "@snowplow/browser-plugin-web-vitals_v3.20.0", + "date": "Mon, 15 Jan 2024 14:41:16 GMT", + "comments": {} + }, { "version": "3.19.0", "tag": "@snowplow/browser-plugin-web-vitals_v3.19.0", diff --git a/plugins/browser-plugin-web-vitals/CHANGELOG.md b/plugins/browser-plugin-web-vitals/CHANGELOG.md index 61bd11f27..cd8bef170 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, 14 Dec 2023 10:45:23 GMT and should not be manually modified. +This log was last generated on Mon, 15 Jan 2024 14:41:16 GMT and should not be manually modified. + +## 3.20.0 +Mon, 15 Jan 2024 14:41:16 GMT + +_Version update only_ ## 3.19.0 Thu, 14 Dec 2023 10:45:23 GMT diff --git a/plugins/browser-plugin-youtube-tracking/CHANGELOG.json b/plugins/browser-plugin-youtube-tracking/CHANGELOG.json index df228a3bd..39301c2cb 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.20.0", + "tag": "@snowplow/browser-plugin-youtube-tracking_v3.20.0", + "date": "Mon, 15 Jan 2024 14:41:16 GMT", + "comments": {} + }, { "version": "3.19.0", "tag": "@snowplow/browser-plugin-youtube-tracking_v3.19.0", diff --git a/plugins/browser-plugin-youtube-tracking/CHANGELOG.md b/plugins/browser-plugin-youtube-tracking/CHANGELOG.md index a0516aef1..f9055f52b 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, 14 Dec 2023 10:45:23 GMT and should not be manually modified. +This log was last generated on Mon, 15 Jan 2024 14:41:16 GMT and should not be manually modified. + +## 3.20.0 +Mon, 15 Jan 2024 14:41:16 GMT + +_Version update only_ ## 3.19.0 Thu, 14 Dec 2023 10:45:23 GMT diff --git a/trackers/browser-tracker/CHANGELOG.json b/trackers/browser-tracker/CHANGELOG.json index 5a9448e98..b4e06baea 100644 --- a/trackers/browser-tracker/CHANGELOG.json +++ b/trackers/browser-tracker/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@snowplow/browser-tracker", "entries": [ + { + "version": "3.20.0", + "tag": "@snowplow/browser-tracker_v3.20.0", + "date": "Mon, 15 Jan 2024 14:41:16 GMT", + "comments": { + "none": [ + { + "comment": "Add new useExtendedCrossDomainLinker option" + } + ] + } + }, { "version": "3.19.0", "tag": "@snowplow/browser-tracker_v3.19.0", diff --git a/trackers/browser-tracker/CHANGELOG.md b/trackers/browser-tracker/CHANGELOG.md index 2e3953679..8c3ad1129 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 Thu, 14 Dec 2023 10:45:23 GMT and should not be manually modified. +This log was last generated on Mon, 15 Jan 2024 14:41:16 GMT and should not be manually modified. + +## 3.20.0 +Mon, 15 Jan 2024 14:41:16 GMT + +### Updates + +- Add new useExtendedCrossDomainLinker option ## 3.19.0 Thu, 14 Dec 2023 10:45:23 GMT diff --git a/trackers/javascript-tracker/CHANGELOG.json b/trackers/javascript-tracker/CHANGELOG.json index be19cedb8..26a4dc197 100644 --- a/trackers/javascript-tracker/CHANGELOG.json +++ b/trackers/javascript-tracker/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@snowplow/javascript-tracker", "entries": [ + { + "version": "3.20.0", + "tag": "@snowplow/javascript-tracker_v3.20.0", + "date": "Mon, 15 Jan 2024 14:41:16 GMT", + "comments": { + "none": [ + { + "comment": "Support clicks on child elements in button click tracking (#1280)" + } + ] + } + }, { "version": "3.19.0", "tag": "@snowplow/javascript-tracker_v3.19.0", diff --git a/trackers/javascript-tracker/CHANGELOG.md b/trackers/javascript-tracker/CHANGELOG.md index 489cdb3b6..0cfc6be9e 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, 14 Dec 2023 10:45:23 GMT and should not be manually modified. +This log was last generated on Mon, 15 Jan 2024 14:41:16 GMT and should not be manually modified. + +## 3.20.0 +Mon, 15 Jan 2024 14:41:16 GMT + +### Updates + +- Support clicks on child elements in button click tracking (#1280) ## 3.19.0 Thu, 14 Dec 2023 10:45:23 GMT diff --git a/trackers/node-tracker/CHANGELOG.json b/trackers/node-tracker/CHANGELOG.json index 35b9d437c..00d61d87c 100644 --- a/trackers/node-tracker/CHANGELOG.json +++ b/trackers/node-tracker/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/node-tracker", "entries": [ + { + "version": "3.20.0", + "tag": "@snowplow/node-tracker_v3.20.0", + "date": "Mon, 15 Jan 2024 14:41:16 GMT", + "comments": {} + }, { "version": "3.19.0", "tag": "@snowplow/node-tracker_v3.19.0", diff --git a/trackers/node-tracker/CHANGELOG.md b/trackers/node-tracker/CHANGELOG.md index f537d5031..be1efface 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, 14 Dec 2023 10:45:23 GMT and should not be manually modified. +This log was last generated on Mon, 15 Jan 2024 14:41:16 GMT and should not be manually modified. + +## 3.20.0 +Mon, 15 Jan 2024 14:41:16 GMT + +_Version update only_ ## 3.19.0 Thu, 14 Dec 2023 10:45:23 GMT From 9e00c569a08cef1f079d97a42d97bd4f42ad3998 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 15 Jan 2024 14:41:16 +0000 Subject: [PATCH 164/449] 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 4b7d7b902..32c6459fa 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.19.0", + "version": "3.20.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 6f2bf998d..7ed4cc61b 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.19.0", + "version": "3.20.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 247f37884..1273d9635 100644 --- a/libraries/tracker-core/package.json +++ b/libraries/tracker-core/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/tracker-core", - "version": "3.19.0", + "version": "3.20.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 d910e8240..67a689c63 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.19.0", + "version": "3.20.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.19.0" + "@snowplow/browser-tracker": "~3.20.0" } } diff --git a/plugins/browser-plugin-browser-features/package.json b/plugins/browser-plugin-browser-features/package.json index 2b4276867..904b0c08e 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.19.0", + "version": "3.20.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.19.0" + "@snowplow/browser-tracker": "~3.20.0" } } diff --git a/plugins/browser-plugin-button-click-tracking/package.json b/plugins/browser-plugin-button-click-tracking/package.json index 65081207e..e6d08e3b5 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.19.0", + "version": "3.20.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.19.0" + "@snowplow/browser-tracker": "~3.20.0" } } diff --git a/plugins/browser-plugin-client-hints/package.json b/plugins/browser-plugin-client-hints/package.json index a3eb0fa80..869df37e3 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.19.0", + "version": "3.20.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.19.0" + "@snowplow/browser-tracker": "~3.20.0" } } diff --git a/plugins/browser-plugin-consent/package.json b/plugins/browser-plugin-consent/package.json index a801e7d97..9b515128e 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.19.0", + "version": "3.20.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.19.0" + "@snowplow/browser-tracker": "~3.20.0" } } diff --git a/plugins/browser-plugin-debugger/package.json b/plugins/browser-plugin-debugger/package.json index 25f3e4597..3dee967bb 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.19.0", + "version": "3.20.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.19.0" + "@snowplow/browser-tracker": "~3.20.0" } } diff --git a/plugins/browser-plugin-ecommerce/package.json b/plugins/browser-plugin-ecommerce/package.json index b5c0f4013..c5b26cb11 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.19.0", + "version": "3.20.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.19.0" + "@snowplow/browser-tracker": "~3.20.0" } } diff --git a/plugins/browser-plugin-enhanced-consent/package.json b/plugins/browser-plugin-enhanced-consent/package.json index 1b4c74bd5..b022b7667 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.19.0", + "version": "3.20.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.19.0" + "@snowplow/browser-tracker": "~3.20.0" } } diff --git a/plugins/browser-plugin-enhanced-ecommerce/package.json b/plugins/browser-plugin-enhanced-ecommerce/package.json index 79263ece6..a563d579b 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.19.0", + "version": "3.20.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.19.0" + "@snowplow/browser-tracker": "~3.20.0" } } diff --git a/plugins/browser-plugin-error-tracking/package.json b/plugins/browser-plugin-error-tracking/package.json index 1d1499c5b..776f752e5 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.19.0", + "version": "3.20.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.19.0" + "@snowplow/browser-tracker": "~3.20.0" } } diff --git a/plugins/browser-plugin-focalmeter/package.json b/plugins/browser-plugin-focalmeter/package.json index aa70cc08b..a010c660a 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.19.0", + "version": "3.20.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.19.0" + "@snowplow/browser-tracker": "~3.20.0" } } diff --git a/plugins/browser-plugin-form-tracking/package.json b/plugins/browser-plugin-form-tracking/package.json index 4861b6445..4def8dad0 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.19.0", + "version": "3.20.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.19.0" + "@snowplow/browser-tracker": "~3.20.0" } } diff --git a/plugins/browser-plugin-ga-cookies/package.json b/plugins/browser-plugin-ga-cookies/package.json index 16013e556..e76628d67 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.19.0", + "version": "3.20.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.19.0" + "@snowplow/browser-tracker": "~3.20.0" } } diff --git a/plugins/browser-plugin-geolocation/package.json b/plugins/browser-plugin-geolocation/package.json index e29a60a4e..e30a4528c 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.19.0", + "version": "3.20.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.19.0" + "@snowplow/browser-tracker": "~3.20.0" } } diff --git a/plugins/browser-plugin-link-click-tracking/package.json b/plugins/browser-plugin-link-click-tracking/package.json index 2385948e4..0170ecc9a 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.19.0", + "version": "3.20.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.19.0" + "@snowplow/browser-tracker": "~3.20.0" } } diff --git a/plugins/browser-plugin-media-tracking/package.json b/plugins/browser-plugin-media-tracking/package.json index 1007f4579..8be4a860a 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.19.0", + "version": "3.20.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.19.0" + "@snowplow/browser-tracker": "~3.20.0" } } diff --git a/plugins/browser-plugin-media/package.json b/plugins/browser-plugin-media/package.json index 074dd2774..792a8255a 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.19.0", + "version": "3.20.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.19.0" + "@snowplow/browser-tracker": "~3.20.0" } } diff --git a/plugins/browser-plugin-optimizely-x/package.json b/plugins/browser-plugin-optimizely-x/package.json index 7835e87e1..d4d41901b 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.19.0", + "version": "3.20.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.19.0" + "@snowplow/browser-tracker": "~3.20.0" } } diff --git a/plugins/browser-plugin-optimizely/package.json b/plugins/browser-plugin-optimizely/package.json index 7621621fe..a26beab82 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.19.0", + "version": "3.20.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.19.0" + "@snowplow/browser-tracker": "~3.20.0" } } diff --git a/plugins/browser-plugin-performance-navigation-timing/package.json b/plugins/browser-plugin-performance-navigation-timing/package.json index 2a4a4cd1e..a3ee0190d 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.19.0", + "version": "3.20.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.19.0" + "@snowplow/browser-tracker": "~3.20.0" } } diff --git a/plugins/browser-plugin-performance-timing/package.json b/plugins/browser-plugin-performance-timing/package.json index 32f0938e6..055c7ff6a 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.19.0", + "version": "3.20.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.19.0" + "@snowplow/browser-tracker": "~3.20.0" } } diff --git a/plugins/browser-plugin-privacy-sandbox/package.json b/plugins/browser-plugin-privacy-sandbox/package.json index af7bd17ce..d5f255ec2 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.19.0", + "version": "3.20.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.19.0" + "@snowplow/browser-tracker": "~3.20.0" } } diff --git a/plugins/browser-plugin-site-tracking/package.json b/plugins/browser-plugin-site-tracking/package.json index 8324aa356..64e3c0616 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.19.0", + "version": "3.20.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.19.0" + "@snowplow/browser-tracker": "~3.20.0" } } diff --git a/plugins/browser-plugin-snowplow-ecommerce/package.json b/plugins/browser-plugin-snowplow-ecommerce/package.json index bfae9aea8..fe373a49f 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.19.0", + "version": "3.20.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.19.0" + "@snowplow/browser-tracker": "~3.20.0" } } diff --git a/plugins/browser-plugin-timezone/package.json b/plugins/browser-plugin-timezone/package.json index f425146ab..989d5a895 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.19.0", + "version": "3.20.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.19.0" + "@snowplow/browser-tracker": "~3.20.0" } } diff --git a/plugins/browser-plugin-vimeo-tracking/package.json b/plugins/browser-plugin-vimeo-tracking/package.json index 1e72bcf2a..d0ce4f61d 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.19.0", + "version": "3.20.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.19.0" + "@snowplow/browser-tracker": "~3.20.0" } } diff --git a/plugins/browser-plugin-web-vitals/package.json b/plugins/browser-plugin-web-vitals/package.json index bf916e511..8644062a6 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.19.0", + "version": "3.20.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.19.0" + "@snowplow/browser-tracker": "~3.20.0" } } diff --git a/plugins/browser-plugin-youtube-tracking/package.json b/plugins/browser-plugin-youtube-tracking/package.json index d34d7b094..8158e84a4 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.19.0", + "version": "3.20.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.19.0" + "@snowplow/browser-tracker": "~3.20.0" } } diff --git a/trackers/browser-tracker/package.json b/trackers/browser-tracker/package.json index 36ed488f1..a5aff7445 100644 --- a/trackers/browser-tracker/package.json +++ b/trackers/browser-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-tracker", - "version": "3.19.0", + "version": "3.20.0", "description": "Browser tracker for Snowplow", "keywords": [ "tracking", diff --git a/trackers/javascript-tracker/package.json b/trackers/javascript-tracker/package.json index de0306142..e5f1b63ca 100644 --- a/trackers/javascript-tracker/package.json +++ b/trackers/javascript-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/javascript-tracker", - "version": "3.19.0", + "version": "3.20.0", "description": "Web analytics for Snowplow", "keywords": [ "tracking", diff --git a/trackers/node-tracker/package.json b/trackers/node-tracker/package.json index 52b6534ca..bb8ad20c5 100644 --- a/trackers/node-tracker/package.json +++ b/trackers/node-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/node-tracker", - "version": "3.19.0", + "version": "3.20.0", "description": "Node tracker for Snowplow", "keywords": [ "snowplow", From 6f71c2dbcadf09b961a9e38329f5a5aac59ecc2c Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 15 Jan 2024 14:44:44 +0000 Subject: [PATCH 165/449] Applying documentation updates. --- .../browser-tracker.crossdomainlinker.md | 2 +- ...acker.extendedcrossdomainlinkerattributes.md | 17 +++++++++++++++++ ...-tracker.extendedcrossdomainlinkeroptions.md | 11 +++++++++++ .../browser-tracker/markdown/browser-tracker.md | 4 +++- .../browser-tracker.trackerconfiguration.md | 1 + 5 files changed, 33 insertions(+), 2 deletions(-) create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.extendedcrossdomainlinkerattributes.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.extendedcrossdomainlinkeroptions.md diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.crossdomainlinker.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.crossdomainlinker.md index 63cfcbd3b..7a6ef74d4 100644 --- a/api-docs/docs/browser-tracker/markdown/browser-tracker.crossdomainlinker.md +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.crossdomainlinker.md @@ -4,7 +4,7 @@ ## crossDomainLinker() function -Enable querystring decoration for links pasing a filter +Enable querystring decoration for links passing a filter Signature: diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.extendedcrossdomainlinkerattributes.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.extendedcrossdomainlinkerattributes.md new file mode 100644 index 000000000..6f228ab28 --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.extendedcrossdomainlinkerattributes.md @@ -0,0 +1,17 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [ExtendedCrossDomainLinkerAttributes](./browser-tracker.extendedcrossdomainlinkerattributes.md) + +## ExtendedCrossDomainLinkerAttributes type + +Signature: + +```typescript +type ExtendedCrossDomainLinkerAttributes = { + userId?: boolean; + sessionId?: boolean; + sourceId?: boolean; + sourcePlatform?: boolean; + reason?: boolean | ((evt: Event) => string); +}; +``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.extendedcrossdomainlinkeroptions.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.extendedcrossdomainlinkeroptions.md new file mode 100644 index 000000000..55c2a0732 --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.extendedcrossdomainlinkeroptions.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [ExtendedCrossDomainLinkerOptions](./browser-tracker.extendedcrossdomainlinkeroptions.md) + +## ExtendedCrossDomainLinkerOptions type + +Signature: + +```typescript +type ExtendedCrossDomainLinkerOptions = boolean | ExtendedCrossDomainLinkerAttributes; +``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.md index 8bfd03496..85850d638 100644 --- a/api-docs/docs/browser-tracker/markdown/browser-tracker.md +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.md @@ -12,7 +12,7 @@ | [addPlugin(configuration, trackers)](./browser-tracker.addplugin.md) | Add a plugin into the plugin collection after trackers have already been initialised | | [clearGlobalContexts(trackers)](./browser-tracker.clearglobalcontexts.md) | Clear all global contexts that are sent with events | | [clearUserData(configuration, trackers)](./browser-tracker.clearuserdata.md) | Clears all cookies and local storage containing user and session identifiers | -| [crossDomainLinker(crossDomainLinkerCriterion, trackers)](./browser-tracker.crossdomainlinker.md) | Enable querystring decoration for links pasing a filter | +| [crossDomainLinker(crossDomainLinkerCriterion, trackers)](./browser-tracker.crossdomainlinker.md) | Enable querystring decoration for links passing a filter | | [disableActivityTracking(trackers)](./browser-tracker.disableactivitytracking.md) | Disables page activity tracking. | | [disableActivityTrackingCallback(trackers)](./browser-tracker.disableactivitytrackingcallback.md) | Disables page activity tracking callback. | | [disableAnonymousTracking(configuration, trackers)](./browser-tracker.disableanonymoustracking.md) | Disables anonymous tracking if active (ie. tracker initialized with anonymousTracking) For stateStorageStrategy override, uses supplied value first, falls back to one defined in initial config, otherwise uses cookieAndLocalStorage. | @@ -86,6 +86,8 @@ | [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. | | [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. | | [Platform](./browser-tracker.platform.md) | | 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 6447e0e03..657c856aa 100644 --- a/api-docs/docs/browser-tracker/markdown/browser-tracker.trackerconfiguration.md +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.trackerconfiguration.md @@ -26,6 +26,7 @@ type TrackerConfiguration = { useStm?: boolean; bufferSize?: number; crossDomainLinker?: (elt: HTMLAnchorElement | HTMLAreaElement) => boolean; + useExtendedCrossDomainLinker?: ExtendedCrossDomainLinkerOptions; maxPostBytes?: number; maxGetBytes?: number; discoverRootDomain?: boolean; From 3be6c87278f8f96da2cf62b9748c48b1a2b8cf96 Mon Sep 17 00:00:00 2001 From: Peter Perlepes Date: Sat, 27 Jan 2024 16:32:40 +0200 Subject: [PATCH 166/449] Add an anonymization method to Node.js emitter and API (close #1286) #1287 --- .../docs/node-tracker/node-tracker.api.md | 3 +- ...server-anonymization_2024-01-25-21-37.json | 10 ++ trackers/node-tracker/src/emitter.ts | 32 +------ trackers/node-tracker/src/got_emitter.ts | 62 ++++-------- trackers/node-tracker/test/got_emitter.ts | 94 ++++++++++--------- 5 files changed, 84 insertions(+), 117 deletions(-) create mode 100644 common/changes/@snowplow/node-tracker/feature-add-nodejs-server-anonymization_2024-01-25-21-37.json diff --git a/api-docs/docs/node-tracker/node-tracker.api.md b/api-docs/docs/node-tracker/node-tracker.api.md index 081f51e82..83af9c3ba 100644 --- a/api-docs/docs/node-tracker/node-tracker.api.md +++ b/api-docs/docs/node-tracker/node-tracker.api.md @@ -213,6 +213,7 @@ export interface Emitter { flush: () => void; // (undocumented) input: (payload: Payload) => void; + setAnonymization?: (shouldAnonymize: boolean) => void; } // @public @@ -235,7 +236,7 @@ export interface FormSubmissionEvent { } // @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): Emitter; +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 { diff --git a/common/changes/@snowplow/node-tracker/feature-add-nodejs-server-anonymization_2024-01-25-21-37.json b/common/changes/@snowplow/node-tracker/feature-add-nodejs-server-anonymization_2024-01-25-21-37.json new file mode 100644 index 000000000..4a2a71151 --- /dev/null +++ b/common/changes/@snowplow/node-tracker/feature-add-nodejs-server-anonymization_2024-01-25-21-37.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/node-tracker", + "comment": "Add an anonymization method to Node.js emitter and API (close #1286)", + "type": "none" + } + ], + "packageName": "@snowplow/node-tracker" +} \ No newline at end of file diff --git a/trackers/node-tracker/src/emitter.ts b/trackers/node-tracker/src/emitter.ts index 0c66914d2..a6192ad87 100644 --- a/trackers/node-tracker/src/emitter.ts +++ b/trackers/node-tracker/src/emitter.ts @@ -1,38 +1,10 @@ -/* - * 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 { 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; } export enum HttpProtocol { diff --git a/trackers/node-tracker/src/got_emitter.ts b/trackers/node-tracker/src/got_emitter.ts index 71ad0d3d5..bf82f6de3 100644 --- a/trackers/node-tracker/src/got_emitter.ts +++ b/trackers/node-tracker/src/got_emitter.ts @@ -1,33 +1,3 @@ -/* - * 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 util from 'util'; import got, { Response, RequestError, Agents, RequiredRetryOptions, ToughCookieJar, PromiseCookieJar } from 'got'; import { Payload, version } from '@snowplow/tracker-core'; @@ -46,6 +16,7 @@ import { Emitter, HttpProtocol, HttpMethod, preparePayload } from './emitter'; * @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, @@ -56,7 +27,8 @@ export function gotEmitter( retry?: number | Partial, cookieJar?: PromiseCookieJar | ToughCookieJar, callback?: (error?: RequestError, response?: Response) => void, - agents?: Agents + agents?: Agents, + serverAnonymization: boolean = false ): Emitter { const maxBufferLength = bufferSize ?? (method === HttpMethod.GET ? 0 : 10); const path = method === HttpMethod.GET ? '/i' : '/com.snowplowanalytics.snowplow/tp2'; @@ -103,6 +75,12 @@ export function gotEmitter( return; } + const headers = { + 'user-agent': `snowplow-nodejs-tracker/${version}`, + ...(serverAnonymization && { 'SP-Anonymous': '*' }), + ...(method === HttpMethod.POST && { 'content-type': 'application/json; charset=utf-8' }), + }; + if (method === HttpMethod.POST) { const postJson = { schema: 'iglu:com.snowplowanalytics.snowplow/payload_data/jsonschema/1-0-4', @@ -111,13 +89,10 @@ export function gotEmitter( got .post(targetUrl, { json: postJson, - headers: { - 'content-type': 'application/json; charset=utf-8', - 'user-agent': `snowplow-nodejs-tracker/${version}`, - }, agent: agents, - retry: retry, - cookieJar: cookieJar, + headers, + retry, + cookieJar, }) .then(handleSuccess, handleFailure); } else { @@ -125,12 +100,10 @@ export function gotEmitter( got .get(targetUrl, { searchParams: preparePayload(bufferCopy[i]), - headers: { - 'user-agent': `snowplow-nodejs-tracker/${version}`, - }, agent: agents, - retry: retry, - cookieJar: cookieJar, + headers, + retry, + cookieJar, }) .then(handleSuccess, handleFailure); } @@ -148,11 +121,16 @@ export function gotEmitter( } }; + 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/test/got_emitter.ts b/trackers/node-tracker/test/got_emitter.ts index d48fd2cf5..c88968e57 100644 --- a/trackers/node-tracker/test/got_emitter.ts +++ b/trackers/node-tracker/test/got_emitter.ts @@ -1,33 +1,3 @@ -/* - * 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 nock from 'nock'; @@ -35,25 +5,61 @@ import { HttpMethod, HttpProtocol, gotEmitter } from '../src/index'; 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, body: Record) => (body['data'] as Array)[0]); - test.before(() => { nock.disableNetConnect(); }); -test.after(() => { +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, + HttpProtocol.HTTPS, + 80, + HttpMethod.GET, + undefined, + undefined, + undefined, + function (error, response) { + nock.cleanAll(); + t.is(error, undefined); + t.pass(); + if (error) reject(error); + else resolve(response); + }, + undefined, + true + ); + e.input({}); + }); }); test('gotEmitter should send an HTTP GET request', async (t) => { From dee5dc6fa73cbd611d7b4894c05e48b816c35962 Mon Sep 17 00:00:00 2001 From: Jethro Nederhof Date: Sun, 28 Jan 2024 01:33:22 +1100 Subject: [PATCH 167/449] Always access `navigator` via `window` #1285 --- .../navigator-access_2024-01-25-03-04.json | 10 ++++++++++ .../browser-tracker-core/src/helpers/browser_props.ts | 2 +- libraries/browser-tracker-core/src/tracker/index.ts | 2 +- .../browser-tracker-core/src/tracker/out_queue.ts | 4 ++-- 4 files changed, 14 insertions(+), 4 deletions(-) create mode 100644 common/changes/@snowplow/browser-tracker-core/navigator-access_2024-01-25-03-04.json diff --git a/common/changes/@snowplow/browser-tracker-core/navigator-access_2024-01-25-03-04.json b/common/changes/@snowplow/browser-tracker-core/navigator-access_2024-01-25-03-04.json new file mode 100644 index 000000000..9dbce9617 --- /dev/null +++ b/common/changes/@snowplow/browser-tracker-core/navigator-access_2024-01-25-03-04.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-tracker-core", + "comment": "Consistently access navigator via window.navigator", + "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 4b3a66d15..4c74d3ab7 100644 --- a/libraries/browser-tracker-core/src/helpers/browser_props.ts +++ b/libraries/browser-tracker-core/src/helpers/browser_props.ts @@ -10,7 +10,7 @@ export function getBrowserProperties() { devicePixelRatio: window.devicePixelRatio, cookiesEnabled: window.navigator.cookieEnabled, online: window.navigator.onLine, - browserLanguage: navigator.language || (navigator as any).userLanguage, + browserLanguage: window.navigator.language || (window.navigator as any).userLanguage, documentLanguage: document.documentElement.lang, webdriver: window.navigator.webdriver, deviceMemory: (window.navigator as any).deviceMemory, diff --git a/libraries/browser-tracker-core/src/tracker/index.ts b/libraries/browser-tracker-core/src/tracker/index.ts index 3754376aa..0f339fda7 100755 --- a/libraries/browser-tracker-core/src/tracker/index.ts +++ b/libraries/browser-tracker-core/src/tracker/index.ts @@ -228,7 +228,7 @@ export function Tracker( // First-party cookie secure attribute configCookieSecure = trackerConfiguration.cookieSecure ?? true, // Do Not Track browser feature - dnt = navigator.doNotTrack || navigator.msDoNotTrack || window.doNotTrack, + dnt = window.navigator.doNotTrack || window.navigator.msDoNotTrack || window.doNotTrack, // Do Not Track configDoNotTrack = typeof trackerConfiguration.respectDoNotTrack !== 'undefined' diff --git a/libraries/browser-tracker-core/src/tracker/out_queue.ts b/libraries/browser-tracker-core/src/tracker/out_queue.ts index 106a1e4fa..5aee68f63 100644 --- a/libraries/browser-tracker-core/src/tracker/out_queue.ts +++ b/libraries/browser-tracker-core/src/tracker/out_queue.ts @@ -81,7 +81,7 @@ export function OutQueueManager( isBeaconAvailable = Boolean( isBeaconRequested && window.navigator && - window.navigator.sendBeacon && + typeof window.navigator.sendBeacon === 'function' && !hasWebKitBeaconBug(window.navigator.userAgent) ), useBeacon = isBeaconAvailable && isBeaconRequested, @@ -412,7 +412,7 @@ export function OutQueueManager( type: 'application/json', }); try { - beaconStatus = navigator.sendBeacon(url, blob); + beaconStatus = window.navigator.sendBeacon(url, blob); } catch (error) { beaconStatus = false; } From 224c0e1a12007e18b994d193abce43987f1c9738 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 29 Jan 2024 08:34:06 +0000 Subject: [PATCH 168/449] Update changelogs [skip ci] --- .../navigator-access_2024-01-25-03-04.json | 10 ---------- ...nodejs-server-anonymization_2024-01-25-21-37.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 | 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 | 12 ++++++++++++ trackers/node-tracker/CHANGELOG.md | 9 ++++++++- 68 files changed, 412 insertions(+), 53 deletions(-) delete mode 100644 common/changes/@snowplow/browser-tracker-core/navigator-access_2024-01-25-03-04.json delete mode 100644 common/changes/@snowplow/node-tracker/feature-add-nodejs-server-anonymization_2024-01-25-21-37.json diff --git a/common/changes/@snowplow/browser-tracker-core/navigator-access_2024-01-25-03-04.json b/common/changes/@snowplow/browser-tracker-core/navigator-access_2024-01-25-03-04.json deleted file mode 100644 index 9dbce9617..000000000 --- a/common/changes/@snowplow/browser-tracker-core/navigator-access_2024-01-25-03-04.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-tracker-core", - "comment": "Consistently access navigator via window.navigator", - "type": "none" - } - ], - "packageName": "@snowplow/browser-tracker-core" -} \ No newline at end of file diff --git a/common/changes/@snowplow/node-tracker/feature-add-nodejs-server-anonymization_2024-01-25-21-37.json b/common/changes/@snowplow/node-tracker/feature-add-nodejs-server-anonymization_2024-01-25-21-37.json deleted file mode 100644 index 4a2a71151..000000000 --- a/common/changes/@snowplow/node-tracker/feature-add-nodejs-server-anonymization_2024-01-25-21-37.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/node-tracker", - "comment": "Add an anonymization method to Node.js emitter and API (close #1286)", - "type": "none" - } - ], - "packageName": "@snowplow/node-tracker" -} \ No newline at end of file diff --git a/libraries/browser-tracker-core/CHANGELOG.json b/libraries/browser-tracker-core/CHANGELOG.json index 1ca2a816a..d6f08ea0d 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.21.0", + "tag": "@snowplow/browser-tracker-core_v3.21.0", + "date": "Mon, 29 Jan 2024 08:34:06 GMT", + "comments": { + "none": [ + { + "comment": "Consistently access navigator via window.navigator" + } + ] + } + }, { "version": "3.20.0", "tag": "@snowplow/browser-tracker-core_v3.20.0", diff --git a/libraries/browser-tracker-core/CHANGELOG.md b/libraries/browser-tracker-core/CHANGELOG.md index 0180e328f..b90e9647f 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, 15 Jan 2024 14:41:16 GMT and should not be manually modified. +This log was last generated on Mon, 29 Jan 2024 08:34:06 GMT and should not be manually modified. + +## 3.21.0 +Mon, 29 Jan 2024 08:34:06 GMT + +### Updates + +- Consistently access navigator via window.navigator ## 3.20.0 Mon, 15 Jan 2024 14:41:16 GMT diff --git a/libraries/tracker-core/CHANGELOG.json b/libraries/tracker-core/CHANGELOG.json index 8c0a6065c..c6737bf72 100644 --- a/libraries/tracker-core/CHANGELOG.json +++ b/libraries/tracker-core/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/tracker-core", "entries": [ + { + "version": "3.21.0", + "tag": "@snowplow/tracker-core_v3.21.0", + "date": "Mon, 29 Jan 2024 08:34:06 GMT", + "comments": {} + }, { "version": "3.20.0", "tag": "@snowplow/tracker-core_v3.20.0", diff --git a/libraries/tracker-core/CHANGELOG.md b/libraries/tracker-core/CHANGELOG.md index 91329bdac..b660e0ca8 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, 15 Jan 2024 14:41:16 GMT and should not be manually modified. +This log was last generated on Mon, 29 Jan 2024 08:34:06 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-ad-tracking/CHANGELOG.json b/plugins/browser-plugin-ad-tracking/CHANGELOG.json index c8b675f38..422ce36f3 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.21.0", + "tag": "@snowplow/browser-plugin-ad-tracking_v3.21.0", + "date": "Mon, 29 Jan 2024 08:34:06 GMT", + "comments": {} + }, { "version": "3.20.0", "tag": "@snowplow/browser-plugin-ad-tracking_v3.20.0", diff --git a/plugins/browser-plugin-ad-tracking/CHANGELOG.md b/plugins/browser-plugin-ad-tracking/CHANGELOG.md index 852f0828a..01680374f 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, 15 Jan 2024 14:41:16 GMT and should not be manually modified. +This log was last generated on Mon, 29 Jan 2024 08:34:06 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-browser-features/CHANGELOG.json b/plugins/browser-plugin-browser-features/CHANGELOG.json index 231f67db5..ade92efb3 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.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", diff --git a/plugins/browser-plugin-browser-features/CHANGELOG.md b/plugins/browser-plugin-browser-features/CHANGELOG.md index 71c07cf8e..d2a565b91 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, 15 Jan 2024 14:41:16 GMT and should not be manually modified. +This log was last generated on Mon, 29 Jan 2024 08:34:06 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-button-click-tracking/CHANGELOG.json b/plugins/browser-plugin-button-click-tracking/CHANGELOG.json index fe82f0fb7..06cb12256 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.21.0", + "tag": "@snowplow/browser-plugin-button-click-tracking_v3.21.0", + "date": "Mon, 29 Jan 2024 08:34:06 GMT", + "comments": {} + }, { "version": "3.20.0", "tag": "@snowplow/browser-plugin-button-click-tracking_v3.20.0", diff --git a/plugins/browser-plugin-button-click-tracking/CHANGELOG.md b/plugins/browser-plugin-button-click-tracking/CHANGELOG.md index 322cc6716..3581cf507 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, 15 Jan 2024 14:41:16 GMT and should not be manually modified. +This log was last generated on Mon, 29 Jan 2024 08:34:06 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-client-hints/CHANGELOG.json b/plugins/browser-plugin-client-hints/CHANGELOG.json index 175c825b0..23fce8e2c 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.21.0", + "tag": "@snowplow/browser-plugin-client-hints_v3.21.0", + "date": "Mon, 29 Jan 2024 08:34:06 GMT", + "comments": {} + }, { "version": "3.20.0", "tag": "@snowplow/browser-plugin-client-hints_v3.20.0", diff --git a/plugins/browser-plugin-client-hints/CHANGELOG.md b/plugins/browser-plugin-client-hints/CHANGELOG.md index 2ab3d17b5..ccac1c69d 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, 15 Jan 2024 14:41:16 GMT and should not be manually modified. +This log was last generated on Mon, 29 Jan 2024 08:34:06 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-consent/CHANGELOG.json b/plugins/browser-plugin-consent/CHANGELOG.json index 860e8ab02..35afcdc47 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.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", diff --git a/plugins/browser-plugin-consent/CHANGELOG.md b/plugins/browser-plugin-consent/CHANGELOG.md index 32d0c8a65..2cb621375 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, 15 Jan 2024 14:41:16 GMT and should not be manually modified. +This log was last generated on Mon, 29 Jan 2024 08:34:06 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-debugger/CHANGELOG.json b/plugins/browser-plugin-debugger/CHANGELOG.json index a9594a514..0352e2fa0 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.21.0", + "tag": "@snowplow/browser-plugin-debugger_v3.21.0", + "date": "Mon, 29 Jan 2024 08:34:06 GMT", + "comments": {} + }, { "version": "3.20.0", "tag": "@snowplow/browser-plugin-debugger_v3.20.0", diff --git a/plugins/browser-plugin-debugger/CHANGELOG.md b/plugins/browser-plugin-debugger/CHANGELOG.md index e9589fcb6..1ac11bbac 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, 15 Jan 2024 14:41:16 GMT and should not be manually modified. +This log was last generated on Mon, 29 Jan 2024 08:34:06 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-ecommerce/CHANGELOG.json b/plugins/browser-plugin-ecommerce/CHANGELOG.json index 02f9f2683..062e174cb 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.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", diff --git a/plugins/browser-plugin-ecommerce/CHANGELOG.md b/plugins/browser-plugin-ecommerce/CHANGELOG.md index 620932d34..3fa6bd919 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, 15 Jan 2024 14:41:16 GMT and should not be manually modified. +This log was last generated on Mon, 29 Jan 2024 08:34:06 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-enhanced-consent/CHANGELOG.json b/plugins/browser-plugin-enhanced-consent/CHANGELOG.json index c5a63212a..18ab90da9 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.21.0", + "tag": "@snowplow/browser-plugin-enhanced-consent_v3.21.0", + "date": "Mon, 29 Jan 2024 08:34:06 GMT", + "comments": {} + }, { "version": "3.20.0", "tag": "@snowplow/browser-plugin-enhanced-consent_v3.20.0", diff --git a/plugins/browser-plugin-enhanced-consent/CHANGELOG.md b/plugins/browser-plugin-enhanced-consent/CHANGELOG.md index 64f25a4a8..e2d1575a8 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, 15 Jan 2024 14:41:16 GMT and should not be manually modified. +This log was last generated on Mon, 29 Jan 2024 08:34:06 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.json b/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.json index 88741ead9..a753e39e3 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.21.0", + "tag": "@snowplow/browser-plugin-enhanced-ecommerce_v3.21.0", + "date": "Mon, 29 Jan 2024 08:34:06 GMT", + "comments": {} + }, { "version": "3.20.0", "tag": "@snowplow/browser-plugin-enhanced-ecommerce_v3.20.0", diff --git a/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.md b/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.md index f6b325139..4b316ac19 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, 15 Jan 2024 14:41:16 GMT and should not be manually modified. +This log was last generated on Mon, 29 Jan 2024 08:34:06 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-error-tracking/CHANGELOG.json b/plugins/browser-plugin-error-tracking/CHANGELOG.json index a9adbadc8..fdf749d3b 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.21.0", + "tag": "@snowplow/browser-plugin-error-tracking_v3.21.0", + "date": "Mon, 29 Jan 2024 08:34:06 GMT", + "comments": {} + }, { "version": "3.20.0", "tag": "@snowplow/browser-plugin-error-tracking_v3.20.0", diff --git a/plugins/browser-plugin-error-tracking/CHANGELOG.md b/plugins/browser-plugin-error-tracking/CHANGELOG.md index c2699c77f..1d5ee330a 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, 15 Jan 2024 14:41:16 GMT and should not be manually modified. +This log was last generated on Mon, 29 Jan 2024 08:34:06 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-focalmeter/CHANGELOG.json b/plugins/browser-plugin-focalmeter/CHANGELOG.json index 394fb84d4..b6f956411 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.21.0", + "tag": "@snowplow/browser-plugin-focalmeter_v3.21.0", + "date": "Mon, 29 Jan 2024 08:34:06 GMT", + "comments": {} + }, { "version": "3.20.0", "tag": "@snowplow/browser-plugin-focalmeter_v3.20.0", diff --git a/plugins/browser-plugin-focalmeter/CHANGELOG.md b/plugins/browser-plugin-focalmeter/CHANGELOG.md index ec02c200a..8aac645ee 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, 15 Jan 2024 14:41:16 GMT and should not be manually modified. +This log was last generated on Mon, 29 Jan 2024 08:34:06 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-form-tracking/CHANGELOG.json b/plugins/browser-plugin-form-tracking/CHANGELOG.json index db14aef1e..b24393279 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.21.0", + "tag": "@snowplow/browser-plugin-form-tracking_v3.21.0", + "date": "Mon, 29 Jan 2024 08:34:06 GMT", + "comments": {} + }, { "version": "3.20.0", "tag": "@snowplow/browser-plugin-form-tracking_v3.20.0", diff --git a/plugins/browser-plugin-form-tracking/CHANGELOG.md b/plugins/browser-plugin-form-tracking/CHANGELOG.md index c79205b77..0dbf7ea70 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, 15 Jan 2024 14:41:16 GMT and should not be manually modified. +This log was last generated on Mon, 29 Jan 2024 08:34:06 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-ga-cookies/CHANGELOG.json b/plugins/browser-plugin-ga-cookies/CHANGELOG.json index c987ef516..645124825 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.21.0", + "tag": "@snowplow/browser-plugin-ga-cookies_v3.21.0", + "date": "Mon, 29 Jan 2024 08:34:06 GMT", + "comments": {} + }, { "version": "3.20.0", "tag": "@snowplow/browser-plugin-ga-cookies_v3.20.0", diff --git a/plugins/browser-plugin-ga-cookies/CHANGELOG.md b/plugins/browser-plugin-ga-cookies/CHANGELOG.md index 3ec9c0b60..a8038a06c 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, 15 Jan 2024 14:41:16 GMT and should not be manually modified. +This log was last generated on Mon, 29 Jan 2024 08:34:06 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-geolocation/CHANGELOG.json b/plugins/browser-plugin-geolocation/CHANGELOG.json index cf3a727cf..287b6345c 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.21.0", + "tag": "@snowplow/browser-plugin-geolocation_v3.21.0", + "date": "Mon, 29 Jan 2024 08:34:06 GMT", + "comments": {} + }, { "version": "3.20.0", "tag": "@snowplow/browser-plugin-geolocation_v3.20.0", diff --git a/plugins/browser-plugin-geolocation/CHANGELOG.md b/plugins/browser-plugin-geolocation/CHANGELOG.md index 6afef4950..7ffbf84d6 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, 15 Jan 2024 14:41:16 GMT and should not be manually modified. +This log was last generated on Mon, 29 Jan 2024 08:34:06 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-link-click-tracking/CHANGELOG.json b/plugins/browser-plugin-link-click-tracking/CHANGELOG.json index f82443bc6..b509bbb7a 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.21.0", + "tag": "@snowplow/browser-plugin-link-click-tracking_v3.21.0", + "date": "Mon, 29 Jan 2024 08:34:06 GMT", + "comments": {} + }, { "version": "3.20.0", "tag": "@snowplow/browser-plugin-link-click-tracking_v3.20.0", diff --git a/plugins/browser-plugin-link-click-tracking/CHANGELOG.md b/plugins/browser-plugin-link-click-tracking/CHANGELOG.md index eab770357..1d55a50e2 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, 15 Jan 2024 14:41:16 GMT and should not be manually modified. +This log was last generated on Mon, 29 Jan 2024 08:34:06 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-media-tracking/CHANGELOG.json b/plugins/browser-plugin-media-tracking/CHANGELOG.json index cb48d8a79..fbaa525f3 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.21.0", + "tag": "@snowplow/browser-plugin-media-tracking_v3.21.0", + "date": "Mon, 29 Jan 2024 08:34:06 GMT", + "comments": {} + }, { "version": "3.20.0", "tag": "@snowplow/browser-plugin-media-tracking_v3.20.0", diff --git a/plugins/browser-plugin-media-tracking/CHANGELOG.md b/plugins/browser-plugin-media-tracking/CHANGELOG.md index 0bf22ac1c..93e02ae0a 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, 15 Jan 2024 14:41:16 GMT and should not be manually modified. +This log was last generated on Mon, 29 Jan 2024 08:34:06 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-media/CHANGELOG.json b/plugins/browser-plugin-media/CHANGELOG.json index 5fb61c966..f80911ca1 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.21.0", + "tag": "@snowplow/browser-plugin-media_v3.21.0", + "date": "Mon, 29 Jan 2024 08:34:06 GMT", + "comments": {} + }, { "version": "3.20.0", "tag": "@snowplow/browser-plugin-media_v3.20.0", diff --git a/plugins/browser-plugin-media/CHANGELOG.md b/plugins/browser-plugin-media/CHANGELOG.md index 4cb3c323c..89558b286 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, 15 Jan 2024 14:41:16 GMT and should not be manually modified. +This log was last generated on Mon, 29 Jan 2024 08:34:06 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-optimizely-x/CHANGELOG.json b/plugins/browser-plugin-optimizely-x/CHANGELOG.json index 314652747..62eb6f405 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.21.0", + "tag": "@snowplow/browser-plugin-optimizely-x_v3.21.0", + "date": "Mon, 29 Jan 2024 08:34:06 GMT", + "comments": {} + }, { "version": "3.20.0", "tag": "@snowplow/browser-plugin-optimizely-x_v3.20.0", diff --git a/plugins/browser-plugin-optimizely-x/CHANGELOG.md b/plugins/browser-plugin-optimizely-x/CHANGELOG.md index ff1124a1c..50f4d99a6 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, 15 Jan 2024 14:41:16 GMT and should not be manually modified. +This log was last generated on Mon, 29 Jan 2024 08:34:06 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-optimizely/CHANGELOG.json b/plugins/browser-plugin-optimizely/CHANGELOG.json index 48dc5c3a1..fe61c8966 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.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", diff --git a/plugins/browser-plugin-optimizely/CHANGELOG.md b/plugins/browser-plugin-optimizely/CHANGELOG.md index 07be6fd42..e7f48af95 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, 15 Jan 2024 14:41:16 GMT and should not be manually modified. +This log was last generated on Mon, 29 Jan 2024 08:34:06 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.json b/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.json index 1c7216a33..ecd273ba9 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.21.0", + "tag": "@snowplow/browser-plugin-performance-navigation-timing_v3.21.0", + "date": "Mon, 29 Jan 2024 08:34:06 GMT", + "comments": {} + }, { "version": "3.20.0", "tag": "@snowplow/browser-plugin-performance-navigation-timing_v3.20.0", diff --git a/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.md b/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.md index 8d3b33314..6a9307414 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, 15 Jan 2024 14:41:16 GMT and should not be manually modified. +This log was last generated on Mon, 29 Jan 2024 08:34:06 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-performance-timing/CHANGELOG.json b/plugins/browser-plugin-performance-timing/CHANGELOG.json index 21740bb14..bbc085e23 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.21.0", + "tag": "@snowplow/browser-plugin-performance-timing_v3.21.0", + "date": "Mon, 29 Jan 2024 08:34:06 GMT", + "comments": {} + }, { "version": "3.20.0", "tag": "@snowplow/browser-plugin-performance-timing_v3.20.0", diff --git a/plugins/browser-plugin-performance-timing/CHANGELOG.md b/plugins/browser-plugin-performance-timing/CHANGELOG.md index d1451260f..e48fc6fb3 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, 15 Jan 2024 14:41:16 GMT and should not be manually modified. +This log was last generated on Mon, 29 Jan 2024 08:34:06 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-privacy-sandbox/CHANGELOG.json b/plugins/browser-plugin-privacy-sandbox/CHANGELOG.json index d36952154..ff2ae7427 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.21.0", + "tag": "@snowplow/browser-plugin-privacy-sandbox_v3.21.0", + "date": "Mon, 29 Jan 2024 08:34:06 GMT", + "comments": {} + }, { "version": "3.20.0", "tag": "@snowplow/browser-plugin-privacy-sandbox_v3.20.0", diff --git a/plugins/browser-plugin-privacy-sandbox/CHANGELOG.md b/plugins/browser-plugin-privacy-sandbox/CHANGELOG.md index f67d75375..c0a746ceb 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, 15 Jan 2024 14:41:16 GMT and should not be manually modified. +This log was last generated on Mon, 29 Jan 2024 08:34:06 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-site-tracking/CHANGELOG.json b/plugins/browser-plugin-site-tracking/CHANGELOG.json index 34095a97f..2fef07510 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.21.0", + "tag": "@snowplow/browser-plugin-site-tracking_v3.21.0", + "date": "Mon, 29 Jan 2024 08:34:06 GMT", + "comments": {} + }, { "version": "3.20.0", "tag": "@snowplow/browser-plugin-site-tracking_v3.20.0", diff --git a/plugins/browser-plugin-site-tracking/CHANGELOG.md b/plugins/browser-plugin-site-tracking/CHANGELOG.md index 01e5583b6..d41883466 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, 15 Jan 2024 14:41:16 GMT and should not be manually modified. +This log was last generated on Mon, 29 Jan 2024 08:34:06 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.json b/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.json index bbf4e9b1d..d91ddffc1 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.21.0", + "tag": "@snowplow/browser-plugin-snowplow-ecommerce_v3.21.0", + "date": "Mon, 29 Jan 2024 08:34:06 GMT", + "comments": {} + }, { "version": "3.20.0", "tag": "@snowplow/browser-plugin-snowplow-ecommerce_v3.20.0", diff --git a/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.md b/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.md index 22f766c0b..b93f5a046 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 Mon, 15 Jan 2024 14:41:16 GMT and should not be manually modified. +This log was last generated on Mon, 29 Jan 2024 08:34:06 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-timezone/CHANGELOG.json b/plugins/browser-plugin-timezone/CHANGELOG.json index feac3e6cf..ca011572c 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.21.0", + "tag": "@snowplow/browser-plugin-timezone_v3.21.0", + "date": "Mon, 29 Jan 2024 08:34:06 GMT", + "comments": {} + }, { "version": "3.20.0", "tag": "@snowplow/browser-plugin-timezone_v3.20.0", diff --git a/plugins/browser-plugin-timezone/CHANGELOG.md b/plugins/browser-plugin-timezone/CHANGELOG.md index 53b307b20..4e084b0fc 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, 15 Jan 2024 14:41:16 GMT and should not be manually modified. +This log was last generated on Mon, 29 Jan 2024 08:34:06 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-vimeo-tracking/CHANGELOG.json b/plugins/browser-plugin-vimeo-tracking/CHANGELOG.json index 7cf84b515..a2c366f1c 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.21.0", + "tag": "@snowplow/browser-plugin-vimeo-tracking_v3.21.0", + "date": "Mon, 29 Jan 2024 08:34:06 GMT", + "comments": {} + }, { "version": "3.20.0", "tag": "@snowplow/browser-plugin-vimeo-tracking_v3.20.0", diff --git a/plugins/browser-plugin-vimeo-tracking/CHANGELOG.md b/plugins/browser-plugin-vimeo-tracking/CHANGELOG.md index 819bb4769..29bac062b 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, 15 Jan 2024 14:41:16 GMT and should not be manually modified. +This log was last generated on Mon, 29 Jan 2024 08:34:06 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-web-vitals/CHANGELOG.json b/plugins/browser-plugin-web-vitals/CHANGELOG.json index 5988f1c13..4ac646eaf 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.21.0", + "tag": "@snowplow/browser-plugin-web-vitals_v3.21.0", + "date": "Mon, 29 Jan 2024 08:34:06 GMT", + "comments": {} + }, { "version": "3.20.0", "tag": "@snowplow/browser-plugin-web-vitals_v3.20.0", diff --git a/plugins/browser-plugin-web-vitals/CHANGELOG.md b/plugins/browser-plugin-web-vitals/CHANGELOG.md index cd8bef170..04506a89e 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, 15 Jan 2024 14:41:16 GMT and should not be manually modified. +This log was last generated on Mon, 29 Jan 2024 08:34:06 GMT and should not be manually modified. + +## 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 diff --git a/plugins/browser-plugin-youtube-tracking/CHANGELOG.json b/plugins/browser-plugin-youtube-tracking/CHANGELOG.json index 39301c2cb..b5a458361 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.21.0", + "tag": "@snowplow/browser-plugin-youtube-tracking_v3.21.0", + "date": "Mon, 29 Jan 2024 08:34:06 GMT", + "comments": {} + }, { "version": "3.20.0", "tag": "@snowplow/browser-plugin-youtube-tracking_v3.20.0", diff --git a/plugins/browser-plugin-youtube-tracking/CHANGELOG.md b/plugins/browser-plugin-youtube-tracking/CHANGELOG.md index f9055f52b..b51674ec4 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, 15 Jan 2024 14:41:16 GMT and should not be manually modified. +This log was last generated on Mon, 29 Jan 2024 08:34:06 GMT and should not be manually modified. + +## 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 diff --git a/trackers/browser-tracker/CHANGELOG.json b/trackers/browser-tracker/CHANGELOG.json index b4e06baea..9ae4c37f0 100644 --- a/trackers/browser-tracker/CHANGELOG.json +++ b/trackers/browser-tracker/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-tracker", "entries": [ + { + "version": "3.21.0", + "tag": "@snowplow/browser-tracker_v3.21.0", + "date": "Mon, 29 Jan 2024 08:34:06 GMT", + "comments": {} + }, { "version": "3.20.0", "tag": "@snowplow/browser-tracker_v3.20.0", diff --git a/trackers/browser-tracker/CHANGELOG.md b/trackers/browser-tracker/CHANGELOG.md index 8c3ad1129..73296cd2f 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, 15 Jan 2024 14:41:16 GMT and should not be manually modified. +This log was last generated on Mon, 29 Jan 2024 08:34:06 GMT and should not be manually modified. + +## 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 diff --git a/trackers/javascript-tracker/CHANGELOG.json b/trackers/javascript-tracker/CHANGELOG.json index 26a4dc197..af895f341 100644 --- a/trackers/javascript-tracker/CHANGELOG.json +++ b/trackers/javascript-tracker/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/javascript-tracker", "entries": [ + { + "version": "3.21.0", + "tag": "@snowplow/javascript-tracker_v3.21.0", + "date": "Mon, 29 Jan 2024 08:34:06 GMT", + "comments": {} + }, { "version": "3.20.0", "tag": "@snowplow/javascript-tracker_v3.20.0", diff --git a/trackers/javascript-tracker/CHANGELOG.md b/trackers/javascript-tracker/CHANGELOG.md index 0cfc6be9e..57d25e438 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, 15 Jan 2024 14:41:16 GMT and should not be manually modified. +This log was last generated on Mon, 29 Jan 2024 08:34:06 GMT and should not be manually modified. + +## 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 diff --git a/trackers/node-tracker/CHANGELOG.json b/trackers/node-tracker/CHANGELOG.json index 00d61d87c..7c4e02e3a 100644 --- a/trackers/node-tracker/CHANGELOG.json +++ b/trackers/node-tracker/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@snowplow/node-tracker", "entries": [ + { + "version": "3.21.0", + "tag": "@snowplow/node-tracker_v3.21.0", + "date": "Mon, 29 Jan 2024 08:34:06 GMT", + "comments": { + "none": [ + { + "comment": "Add an anonymization method to Node.js emitter and API (close #1286)" + } + ] + } + }, { "version": "3.20.0", "tag": "@snowplow/node-tracker_v3.20.0", diff --git a/trackers/node-tracker/CHANGELOG.md b/trackers/node-tracker/CHANGELOG.md index be1efface..d49e52868 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 Mon, 15 Jan 2024 14:41:16 GMT and should not be manually modified. +This log was last generated on Mon, 29 Jan 2024 08:34:06 GMT and should not be manually modified. + +## 3.21.0 +Mon, 29 Jan 2024 08:34:06 GMT + +### Updates + +- Add an anonymization method to Node.js emitter and API (close #1286) ## 3.20.0 Mon, 15 Jan 2024 14:41:16 GMT From 9188a6fbd3dd9571ce170753ad7c48e409bd18ee Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 29 Jan 2024 08:34:06 +0000 Subject: [PATCH 169/449] 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 32c6459fa..0013501a0 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.20.0", + "version": "3.21.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 7ed4cc61b..154951350 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.20.0", + "version": "3.21.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 1273d9635..6dc5a3340 100644 --- a/libraries/tracker-core/package.json +++ b/libraries/tracker-core/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/tracker-core", - "version": "3.20.0", + "version": "3.21.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 67a689c63..539463a07 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.20.0", + "version": "3.21.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.20.0" + "@snowplow/browser-tracker": "~3.21.0" } } diff --git a/plugins/browser-plugin-browser-features/package.json b/plugins/browser-plugin-browser-features/package.json index 904b0c08e..37e25a73b 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.20.0", + "version": "3.21.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.20.0" + "@snowplow/browser-tracker": "~3.21.0" } } diff --git a/plugins/browser-plugin-button-click-tracking/package.json b/plugins/browser-plugin-button-click-tracking/package.json index e6d08e3b5..0393c2c36 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.20.0", + "version": "3.21.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.20.0" + "@snowplow/browser-tracker": "~3.21.0" } } diff --git a/plugins/browser-plugin-client-hints/package.json b/plugins/browser-plugin-client-hints/package.json index 869df37e3..54592ed9e 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.20.0", + "version": "3.21.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.20.0" + "@snowplow/browser-tracker": "~3.21.0" } } diff --git a/plugins/browser-plugin-consent/package.json b/plugins/browser-plugin-consent/package.json index 9b515128e..0dc6bc404 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.20.0", + "version": "3.21.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.20.0" + "@snowplow/browser-tracker": "~3.21.0" } } diff --git a/plugins/browser-plugin-debugger/package.json b/plugins/browser-plugin-debugger/package.json index 3dee967bb..2403a5814 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.20.0", + "version": "3.21.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.20.0" + "@snowplow/browser-tracker": "~3.21.0" } } diff --git a/plugins/browser-plugin-ecommerce/package.json b/plugins/browser-plugin-ecommerce/package.json index c5b26cb11..d5df6061e 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.20.0", + "version": "3.21.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.20.0" + "@snowplow/browser-tracker": "~3.21.0" } } diff --git a/plugins/browser-plugin-enhanced-consent/package.json b/plugins/browser-plugin-enhanced-consent/package.json index b022b7667..454eb13c9 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.20.0", + "version": "3.21.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.20.0" + "@snowplow/browser-tracker": "~3.21.0" } } diff --git a/plugins/browser-plugin-enhanced-ecommerce/package.json b/plugins/browser-plugin-enhanced-ecommerce/package.json index a563d579b..59f015ef0 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.20.0", + "version": "3.21.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.20.0" + "@snowplow/browser-tracker": "~3.21.0" } } diff --git a/plugins/browser-plugin-error-tracking/package.json b/plugins/browser-plugin-error-tracking/package.json index 776f752e5..9e6d9f5da 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.20.0", + "version": "3.21.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.20.0" + "@snowplow/browser-tracker": "~3.21.0" } } diff --git a/plugins/browser-plugin-focalmeter/package.json b/plugins/browser-plugin-focalmeter/package.json index a010c660a..49911a888 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.20.0", + "version": "3.21.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.20.0" + "@snowplow/browser-tracker": "~3.21.0" } } diff --git a/plugins/browser-plugin-form-tracking/package.json b/plugins/browser-plugin-form-tracking/package.json index 4def8dad0..2201934b7 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.20.0", + "version": "3.21.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.20.0" + "@snowplow/browser-tracker": "~3.21.0" } } diff --git a/plugins/browser-plugin-ga-cookies/package.json b/plugins/browser-plugin-ga-cookies/package.json index e76628d67..f8e1f5ed1 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.20.0", + "version": "3.21.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.20.0" + "@snowplow/browser-tracker": "~3.21.0" } } diff --git a/plugins/browser-plugin-geolocation/package.json b/plugins/browser-plugin-geolocation/package.json index e30a4528c..f3bb7ed8d 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.20.0", + "version": "3.21.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.20.0" + "@snowplow/browser-tracker": "~3.21.0" } } diff --git a/plugins/browser-plugin-link-click-tracking/package.json b/plugins/browser-plugin-link-click-tracking/package.json index 0170ecc9a..ac91fe3ed 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.20.0", + "version": "3.21.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.20.0" + "@snowplow/browser-tracker": "~3.21.0" } } diff --git a/plugins/browser-plugin-media-tracking/package.json b/plugins/browser-plugin-media-tracking/package.json index 8be4a860a..2e3cd13bd 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.20.0", + "version": "3.21.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.20.0" + "@snowplow/browser-tracker": "~3.21.0" } } diff --git a/plugins/browser-plugin-media/package.json b/plugins/browser-plugin-media/package.json index 792a8255a..2c2ee8ab2 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.20.0", + "version": "3.21.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.20.0" + "@snowplow/browser-tracker": "~3.21.0" } } diff --git a/plugins/browser-plugin-optimizely-x/package.json b/plugins/browser-plugin-optimizely-x/package.json index d4d41901b..4206ababe 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.20.0", + "version": "3.21.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.20.0" + "@snowplow/browser-tracker": "~3.21.0" } } diff --git a/plugins/browser-plugin-optimizely/package.json b/plugins/browser-plugin-optimizely/package.json index a26beab82..664f59ddc 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.20.0", + "version": "3.21.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.20.0" + "@snowplow/browser-tracker": "~3.21.0" } } diff --git a/plugins/browser-plugin-performance-navigation-timing/package.json b/plugins/browser-plugin-performance-navigation-timing/package.json index a3ee0190d..44b3bacb1 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.20.0", + "version": "3.21.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.20.0" + "@snowplow/browser-tracker": "~3.21.0" } } diff --git a/plugins/browser-plugin-performance-timing/package.json b/plugins/browser-plugin-performance-timing/package.json index 055c7ff6a..c8a52cd1f 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.20.0", + "version": "3.21.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.20.0" + "@snowplow/browser-tracker": "~3.21.0" } } diff --git a/plugins/browser-plugin-privacy-sandbox/package.json b/plugins/browser-plugin-privacy-sandbox/package.json index d5f255ec2..968e0e157 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.20.0", + "version": "3.21.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.20.0" + "@snowplow/browser-tracker": "~3.21.0" } } diff --git a/plugins/browser-plugin-site-tracking/package.json b/plugins/browser-plugin-site-tracking/package.json index 64e3c0616..b7748561d 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.20.0", + "version": "3.21.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.20.0" + "@snowplow/browser-tracker": "~3.21.0" } } diff --git a/plugins/browser-plugin-snowplow-ecommerce/package.json b/plugins/browser-plugin-snowplow-ecommerce/package.json index fe373a49f..92cd6317e 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.20.0", + "version": "3.21.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.20.0" + "@snowplow/browser-tracker": "~3.21.0" } } diff --git a/plugins/browser-plugin-timezone/package.json b/plugins/browser-plugin-timezone/package.json index 989d5a895..3a50c340d 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.20.0", + "version": "3.21.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.20.0" + "@snowplow/browser-tracker": "~3.21.0" } } diff --git a/plugins/browser-plugin-vimeo-tracking/package.json b/plugins/browser-plugin-vimeo-tracking/package.json index d0ce4f61d..201c57e48 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.20.0", + "version": "3.21.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.20.0" + "@snowplow/browser-tracker": "~3.21.0" } } diff --git a/plugins/browser-plugin-web-vitals/package.json b/plugins/browser-plugin-web-vitals/package.json index 8644062a6..06a46d0a0 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.20.0", + "version": "3.21.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.20.0" + "@snowplow/browser-tracker": "~3.21.0" } } diff --git a/plugins/browser-plugin-youtube-tracking/package.json b/plugins/browser-plugin-youtube-tracking/package.json index 8158e84a4..5b7e893c6 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.20.0", + "version": "3.21.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.20.0" + "@snowplow/browser-tracker": "~3.21.0" } } diff --git a/trackers/browser-tracker/package.json b/trackers/browser-tracker/package.json index a5aff7445..fbfbb6de5 100644 --- a/trackers/browser-tracker/package.json +++ b/trackers/browser-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-tracker", - "version": "3.20.0", + "version": "3.21.0", "description": "Browser tracker for Snowplow", "keywords": [ "tracking", diff --git a/trackers/javascript-tracker/package.json b/trackers/javascript-tracker/package.json index e5f1b63ca..5ab6323c2 100644 --- a/trackers/javascript-tracker/package.json +++ b/trackers/javascript-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/javascript-tracker", - "version": "3.20.0", + "version": "3.21.0", "description": "Web analytics for Snowplow", "keywords": [ "tracking", diff --git a/trackers/node-tracker/package.json b/trackers/node-tracker/package.json index bb8ad20c5..45d685af5 100644 --- a/trackers/node-tracker/package.json +++ b/trackers/node-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/node-tracker", - "version": "3.20.0", + "version": "3.21.0", "description": "Node tracker for Snowplow", "keywords": [ "snowplow", From ffb1994e46a0206aa95a40f8a1c08c6d82b9f79c Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 29 Jan 2024 08:37:34 +0000 Subject: [PATCH 170/449] Applying documentation updates. --- .../node-tracker/markdown/node-tracker.emitter.md | 1 + .../node-tracker.emitter.setanonymization.md | 13 +++++++++++++ .../markdown/node-tracker.gotemitter.md | 3 ++- api-docs/docs/node-tracker/markdown/node-tracker.md | 2 +- 4 files changed, 17 insertions(+), 2 deletions(-) create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.emitter.setanonymization.md 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 bcc399222..78196241f 100644 --- a/api-docs/docs/node-tracker/markdown/node-tracker.emitter.md +++ b/api-docs/docs/node-tracker/markdown/node-tracker.emitter.md @@ -16,4 +16,5 @@ interface Emitter | --- | --- | --- | | [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/. | 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 new file mode 100644 index 000000000..df5d44ceb --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.emitter.setanonymization.md @@ -0,0 +1,13 @@ + + +[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.gotemitter.md b/api-docs/docs/node-tracker/markdown/node-tracker.gotemitter.md index 36aa918c6..106a6040d 100644 --- a/api-docs/docs/node-tracker/markdown/node-tracker.gotemitter.md +++ b/api-docs/docs/node-tracker/markdown/node-tracker.gotemitter.md @@ -9,7 +9,7 @@ Create an emitter object, which uses the `got` library, that will send events to 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): Emitter; +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 @@ -25,6 +25,7 @@ declare function gotEmitter(endpoint: string, protocol?: HttpProtocol, port?: nu | 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: diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.md b/api-docs/docs/node-tracker/markdown/node-tracker.md index e9dca05bf..bd0153965 100644 --- a/api-docs/docs/node-tracker/markdown/node-tracker.md +++ b/api-docs/docs/node-tracker/markdown/node-tracker.md @@ -34,7 +34,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)](./node-tracker.gotemitter.md) | Create an emitter object, which uses the got library, that will send events to a collector | +| [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 | ## Interfaces From 79fd634108a271ae9fc33a6afef375173ff15180 Mon Sep 17 00:00:00 2001 From: Jethro Nederhof Date: Wed, 31 Jan 2024 09:07:49 +1100 Subject: [PATCH 171/449] BrowserTracker: fix method type definitions (close #1259) (#1284) * BrowserTracker: fix method type definitions Per the [TypeScript docs](https://www.typescriptlang.org/docs/handbook/2/functions.html#return-type-void), functions that return values are type-compatible with functions declared as having void return type; however if you're consuming these type definitions this becomes annoying as you are required to cast `as unknown as T` at the call sites to get the correct types actually returned from these methods. --- .../browser-tracker/browser-tracker.api.md | 25 +++++++++++++---- .../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 +++++++ .../src/tracker/id_cookie.ts | 16 +---------- .../browser-tracker-core/src/tracker/index.ts | 2 +- .../browser-tracker-core/src/tracker/types.ts | 27 +++++++++++++++---- trackers/browser-tracker/src/index.ts | 2 ++ 8 files changed, 76 insertions(+), 26 deletions(-) create mode 100644 common/changes/@snowplow/browser-tracker-core/bt-typedefs_2024-01-25-02-58.json create mode 100644 common/changes/@snowplow/browser-tracker-core/bt-typedefs_2024-01-30-01-31.json create mode 100644 common/changes/@snowplow/browser-tracker/bt-typedefs_2024-01-30-01-31.json diff --git a/api-docs/docs/browser-tracker/browser-tracker.api.md b/api-docs/docs/browser-tracker/browser-tracker.api.md index 2936496d3..12d8b1a63 100644 --- a/api-docs/docs/browser-tracker/browser-tracker.api.md +++ b/api-docs/docs/browser-tracker/browser-tracker.api.md @@ -72,13 +72,13 @@ export interface BrowserTracker { enableActivityTrackingCallback: (configuration: ActivityTrackingConfiguration & ActivityTrackingConfigurationCallback) => void; enableAnonymousTracking: (configuration?: EnableAnonymousTrackingConfiguration) => void; flushBuffer: (configuration?: FlushBufferConfiguration) => void; - getCookieName: (basename: string) => void; - getDomainSessionIndex: () => void; - getDomainUserId: () => void; - getDomainUserInfo: () => void; + getCookieName: (basename: string) => string; + getDomainSessionIndex: () => number; + getDomainUserId: () => string; + getDomainUserInfo: () => ParsedIdCookie; getPageViewId: () => string; getTabId: () => string | null; - getUserId: () => void; + getUserId: () => string | null | undefined; id: string; namespace: string; newSession: () => void; @@ -267,6 +267,21 @@ export interface PageViewEvent { title?: string | null; } +// @public +export 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 +]; + // @public (undocumented) export type Platform = "web" | "mob" | "pc" | "srv" | "app" | "tv" | "cnsl" | "iot"; 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 new file mode 100644 index 000000000..e3664a871 --- /dev/null +++ b/common/changes/@snowplow/browser-tracker-core/bt-typedefs_2024-01-25-02-58.json @@ -0,0 +1,10 @@ +{ + "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 new file mode 100644 index 000000000..d9bb8cd2b --- /dev/null +++ b/common/changes/@snowplow/browser-tracker-core/bt-typedefs_2024-01-30-01-31.json @@ -0,0 +1,10 @@ +{ + "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 new file mode 100644 index 000000000..5665ac7f0 --- /dev/null +++ b/common/changes/@snowplow/browser-tracker/bt-typedefs_2024-01-30-01-31.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/libraries/browser-tracker-core/src/tracker/id_cookie.ts b/libraries/browser-tracker-core/src/tracker/id_cookie.ts index 4bf7502e6..9dee95792 100644 --- a/libraries/browser-tracker-core/src/tracker/id_cookie.ts +++ b/libraries/browser-tracker-core/src/tracker/id_cookie.ts @@ -30,7 +30,7 @@ import { PayloadBuilder } from '@snowplow/tracker-core'; import { v4 as uuid } from 'uuid'; -import { ClientSession } from './types'; +import { ClientSession, ParsedIdCookie } from './types'; /** * Indices of cookie values @@ -47,20 +47,6 @@ const cookieDisabledIndex = 0, firstEventTsInMsIndex = 9, eventIndexIndex = 10; -export type ParsedIdCookie = [ - string, // cookieDisabled - string, // domainUserId - number, // cookieCreateTs - number, // visitCount - number, // nowTs - number | undefined, // lastVisitTs - string, // sessionId - string, // previousSessionId - string, // firstEventId - number | undefined, // firstEventTs - number // eventIndex -]; - export function emptyIdCookie() { const idCookie: ParsedIdCookie = ['1', '', 0, 0, 0, undefined, '', '', '', undefined, 0]; return idCookie; diff --git a/libraries/browser-tracker-core/src/tracker/index.ts b/libraries/browser-tracker-core/src/tracker/index.ts index 0f339fda7..37e504fa2 100755 --- a/libraries/browser-tracker-core/src/tracker/index.ts +++ b/libraries/browser-tracker-core/src/tracker/index.ts @@ -47,6 +47,7 @@ import { ClearUserDataConfiguration, ClientSession, ExtendedCrossDomainLinkerOptions, + ParsedIdCookie, } from './types'; import { parseIdCookie, @@ -59,7 +60,6 @@ import { updateFirstEventInIdCookie, visitCountFromIdCookie, cookiesEnabledInIdCookie, - ParsedIdCookie, clientSessionFromIdCookie, incrementEventIndexInIdCookie, emptyIdCookie, diff --git a/libraries/browser-tracker-core/src/tracker/types.ts b/libraries/browser-tracker-core/src/tracker/types.ts index 922e6af90..d6ce73c0f 100755 --- a/libraries/browser-tracker-core/src/tracker/types.ts +++ b/libraries/browser-tracker-core/src/tracker/types.ts @@ -365,6 +365,23 @@ export interface BrowserPluginConfiguration extends CorePluginConfiguration { plugin: BrowserPlugin; } +/** + * The format of state elements stored in the `id` cookie. + */ +export 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 +]; + /** * The Browser Tracker */ @@ -383,7 +400,7 @@ export interface BrowserTracker { * * @returns Domain session index */ - getDomainSessionIndex: () => void; + getDomainSessionIndex: () => number; /** * Get the current page view ID @@ -404,28 +421,28 @@ export interface BrowserTracker { * * @returns Cookie name */ - getCookieName: (basename: string) => void; + getCookieName: (basename: string) => string; /** * Get the current user ID (as set previously with setUserId()). * * @returns Business-defined user ID */ - getUserId: () => void; + getUserId: () => string | null | undefined; /** * Get visitor ID (from first party cookie) * * @returns Visitor ID (or null, if not yet known) */ - getDomainUserId: () => void; + getDomainUserId: () => string; /** * Get the visitor information (from first party cookie) * * @returns The domain user information array */ - getDomainUserInfo: () => void; + getDomainUserInfo: () => ParsedIdCookie; /** * Override referrer diff --git a/trackers/browser-tracker/src/index.ts b/trackers/browser-tracker/src/index.ts index 92b88c628..874cb58d5 100644 --- a/trackers/browser-tracker/src/index.ts +++ b/trackers/browser-tracker/src/index.ts @@ -42,6 +42,7 @@ import { EventBatch, GetBatch, PostBatch, + ParsedIdCookie, } from '@snowplow/browser-tracker-core'; import { version } from '@snowplow/tracker-core'; @@ -89,6 +90,7 @@ export { EventBatch, GetBatch, PostBatch, + ParsedIdCookie, }; export { version }; export * from './api'; From 6d5dabaf9f531191296e12408bbc93ad88dfc0fd Mon Sep 17 00:00:00 2001 From: Peter Perlepes Date: Thu, 7 Mar 2024 11:36:08 +0200 Subject: [PATCH 172/449] Expose snowplow-ecommerce browser plugin typings (close #1291) --- ...se-snowplow-ecommerce-typings_2024-03-05-15-17.json | 10 ++++++++++ plugins/browser-plugin-snowplow-ecommerce/src/index.ts | 1 + plugins/browser-plugin-snowplow-ecommerce/src/types.ts | 4 ++-- 3 files changed, 13 insertions(+), 2 deletions(-) create mode 100644 common/changes/@snowplow/browser-plugin-snowplow-ecommerce/feature-1291-expose-snowplow-ecommerce-typings_2024-03-05-15-17.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 new file mode 100644 index 000000000..f6b7af2a9 --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-snowplow-ecommerce/feature-1291-expose-snowplow-ecommerce-typings_2024-03-05-15-17.json @@ -0,0 +1,10 @@ +{ + "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/plugins/browser-plugin-snowplow-ecommerce/src/index.ts b/plugins/browser-plugin-snowplow-ecommerce/src/index.ts index f726314e3..81facc73d 100644 --- a/plugins/browser-plugin-snowplow-ecommerce/src/index.ts +++ b/plugins/browser-plugin-snowplow-ecommerce/src/index.ts @@ -1,3 +1,4 @@ export * from './api'; export * from './ua/api'; export * from './ga4/api'; +export * from './types'; diff --git a/plugins/browser-plugin-snowplow-ecommerce/src/types.ts b/plugins/browser-plugin-snowplow-ecommerce/src/types.ts index f6eae914b..aa294e6fc 100644 --- a/plugins/browser-plugin-snowplow-ecommerce/src/types.ts +++ b/plugins/browser-plugin-snowplow-ecommerce/src/types.ts @@ -317,9 +317,9 @@ 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; + context?: Array>; } export type ListViewEvent = { name: string; products: Product[] }; 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 173/449] 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 174/449] 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 175/449] 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 176/449] 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 177/449] 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 178/449] 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 179/449] 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 180/449] 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 181/449] 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 182/449] 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 183/449] 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 184/449] 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 185/449] 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 186/449] 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 187/449] 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 188/449] 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 189/449] 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 190/449] 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 191/449] 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 192/449] 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 193/449] 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 194/449] 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 195/449] 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 196/449] 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 197/449] 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 198/449] 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 199/449] 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 200/449] 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 201/449] 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 202/449] 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 203/449] 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 204/449] 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 205/449] 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 206/449] 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 207/449] 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 208/449] 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 209/449] 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 210/449] 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 211/449] 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 212/449] 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 213/449] 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 214/449] 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 215/449] 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 216/449] 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 217/449] 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 218/449] 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 219/449] 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 220/449] 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 221/449] 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 222/449] 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 223/449] 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 224/449] 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 225/449] 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 226/449] 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 227/449] 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 228/449] 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 229/449] 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 230/449] 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 231/449] 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 232/449] 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 233/449] 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 234/449] 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 235/449] 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 236/449] 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 237/449] 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 238/449] 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 239/449] 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 240/449] 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 241/449] 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 242/449] 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 243/449] 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 244/449] 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 245/449] 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 246/449] 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 247/449] 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 248/449] 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 249/449] 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 250/449] 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 251/449] 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 252/449] 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 253/449] 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 254/449] 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 255/449] 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 `