diff --git a/.circleci/config.yml b/.circleci/config.yml
index 22539912268..dcf2ba804c6 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -7,7 +7,7 @@ aliases:
- &environment
docker:
# specify the version you desire here
- - image: cimg/node:16.20-browsers
+ - image: cimg/node:20.14.0-browsers
resource_class: xlarge
# Specify service dependencies here if necessary
# CircleCI maintains a library of pre-built images
@@ -18,8 +18,6 @@ aliases:
- &restore_dep_cache
keys:
- v1-dependencies-{{ checksum "package.json" }}
- # fallback to using the latest cache if no exact match is found
- - v1-dependencies-
- &save_dep_cache
paths:
diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile
index 69e13850258..9b1bb6e39cf 100644
--- a/.devcontainer/Dockerfile
+++ b/.devcontainer/Dockerfile
@@ -1,4 +1,4 @@
-ARG VARIANT="12"
+ARG VARIANT="20"
FROM mcr.microsoft.com/vscode/devcontainers/javascript-node:${VARIANT}
RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | gpg --dearmor > /usr/share/keyrings/yarn-archive-keyring.gpg
diff --git a/.eslintrc.js b/.eslintrc.js
index f17c7a0063d..184b042813d 100644
--- a/.eslintrc.js
+++ b/.eslintrc.js
@@ -83,6 +83,7 @@ module.exports = {
files: key + '/**/*.js',
rules: {
'prebid/validate-imports': ['error', allowedModules[key]],
+ 'prebid/no-innerText': ['error', allowedModules[key]],
'no-restricted-globals': [
'error',
{
@@ -95,5 +96,16 @@ module.exports = {
// code in other packages (such as plugins/eslint) is not "seen" by babel and its parser will complain.
files: 'plugins/*/**/*.js',
parser: 'esprima'
+ },
+ {
+ files: '**BidAdapter.js',
+ rules: {
+ 'no-restricted-imports': [
+ 'error', {
+ patterns: ["**/src/events.js",
+ "**/src/adloader.js"]
+ }
+ ]
+ }
}])
};
diff --git a/PR_REVIEW.md b/PR_REVIEW.md
index 9deac9963fb..f6a2c157d2d 100644
--- a/PR_REVIEW.md
+++ b/PR_REVIEW.md
@@ -23,10 +23,11 @@ General gulp commands include separate commands for serving the codebase on a bu
- Checkout the branch (these instructions are available on the GitHub PR page as well).
- Verify PR is a single change type. Example, refactor OR bugfix. If more than 1 type, ask submitter to break out requests.
- Verify code under review has at least 80% unit test coverage. If legacy code doesn't have enough unit test coverage, require that additional unit tests to be included in the PR.
-- Verify tests are green in Travis-ci + local build by running `gulp serve` | `gulp test`
+- Verify tests are green in circle-ci + local build by running `gulp serve` | `gulp test`
- Verify no code quality violations are present from linting (should be reported in terminal)
- Make sure the code is not setting cookies or localstorage directly -- it must use the `StorageManager`.
- Review for obvious errors or bad coding practice / use best judgement here.
+- Don't allow needless code duplication with other js files; require both files import common code. Do not allow commits designed to fool the code duplication checker.
- If the change is a new feature / change to core prebid.js - review the change with a Tech Lead on the project and make sure they agree with the nature of change.
- If the change results in needing updates to docs (such as public API change, module interface etc), add a label for "needs docs" and inform the submitter they must submit a docs PR to update the appropriate area of Prebid.org **before the PR can merge**. Help them with finding where the docs are located on prebid.org if needed.
- If all above is good, add a `LGTM` comment and, if the change is in PBS-core or is an important module like the prebidServerBidAdapter, request 1 additional core member to review.
@@ -51,20 +52,21 @@ Follow steps above for general review process. In addition, please verify the fo
- If the adapter being submitted is an alias type, check with the bidder contact that is being aliased to make sure it's allowed.
- All bidder parameter conventions must be followed:
- Video params must be read from AdUnit.mediaTypes.video when available; however bidder config can override the ad unit.
- - First party data must be read from [getConfig('ortb2');](https://docs.prebid.org/dev-docs/publisher-api-reference/setConfig.html#setConfig-fpd).
+ - First party data must be read from the bid request object: bidrequest.ortb2
- Adapters that accept a floor parameter must also support the [floors module](https://docs.prebid.org/dev-docs/modules/floors.html) -- look for a call to the `getFloor()` function.
- Adapters cannot accept an schain parameter. Rather, they must look for the schain parameter at bidRequest.schain.
- The bidderRequest.refererInfo.referer must be checked in addition to any bidder-specific parameter.
- Page position must come from bidrequest.mediaTypes.banner.pos or bidrequest.mediaTypes.video.pos
- - Global OpenRTB fields should come from [getConfig('ortb2');](https://docs.prebid.org/dev-docs/publisher-api-reference/setConfig.html#setConfig-fpd):
+ - Eids object is to be preferred to Userids object in the bid request, as the userid object may be removed in a future version
+ - Global OpenRTB fields should come from bidrequest.ortb2
- bcat, battr, badv
- Impression-specific OpenRTB fields should come from bidrequest.ortb2imp
- instl
- Below are some examples of bidder specific updates that should require docs update (in their dev-docs/bidders/BIDDER.md file):
- - If they support the GDPR consentManagement module and TCF1, add `gdpr_supported: true`
- - If they support the GDPR consentManagement module and TCF2, add `tcf2_supported: true`
+ - If they support the TCF consentManagementTcf module and TCF2, add `tcf2_supported: true`
- If they support the US Privacy consentManagementUsp module, add `usp_supported: true`
- - If they support one or more userId modules, add `userId: (list of supported vendors)`
+ - If they support the GPP consentManagementGpp module, add `gpp_supported: true`
+ - If they support one or more userId modules, add `userId: (list of supported vendors) or (all)`
- If they support video and/or native mediaTypes add `media_types: video, native`. Note that display is added by default. If you don't support display, add "no-display" as the first entry, e.g. `media_types: no-display, native`
- If they support COPPA, add `coppa_supported: true`
- If they support SChain, add `schain_supported: true`
@@ -100,7 +102,7 @@ Follow steps above for general review process. In addition:
- modules/userId/userId.md
- tests can go either within the userId_spec.js file or in their own _spec file if they wish
- GVLID is recommended in the *IdSystem file if they operate in EU
-- make sure example configurations align to the actual code (some modules use the userId storage settings and allow pub configuration, while others handle reading/writing cookies on their own, so should not include the storage params in examples)
+- make sure example configurations align to the actual code (some modules use the userId storage settings and allow pub configuration, while others handle reading/writing cookies on their own, so should not include the storage params in examples). This ability to write will be removed in a future version, see https://github.com/prebid/Prebid.js/issues/10710
- the 3 available methods (getId, extendId, decode) should be used as they were intended
- decode (required method) should not be making requests to retrieve a new ID, it should just be decoding a response
- extendId (optional method) should not be making requests to retrieve a new ID, it should just be adding additional data to the id object
@@ -121,6 +123,7 @@ Follow steps above for general review process. In addition:
- Confirm that the module
- is not loading external code. If it is, escalate to the #prebid-js Slack channel.
- is reading `config` from the function signature rather than calling `getConfig`.
+ - Is practicing reasonable data minimization, eg not sending all eids over the wire without publisher whitelisting
- is sending data to the bid request only as either First Party Data or in bidRequest.rtd.RTDPROVIDERCODE.
- is making HTTPS requests as early as possible, but not more often than needed.
- doesn't force bid adapters to load additional code.
diff --git a/allowedModules.js b/allowedModules.js
index bc9ada39571..dbcae2db2cc 100644
--- a/allowedModules.js
+++ b/allowedModules.js
@@ -1,7 +1,6 @@
module.exports = {
'modules': [
- 'criteo-direct-rsa-validate',
'crypto-js',
'live-connect' // Maintained by LiveIntent : https://github.com/liveintent-berlin/live-connect/
],
diff --git a/browsers.json b/browsers.json
index bd6bd5772d6..1bb8108d456 100644
--- a/browsers.json
+++ b/browsers.json
@@ -1,39 +1,39 @@
{
- "bs_edge_latest_windows_10": {
+ "bs_edge_latest_windows_11": {
"base": "BrowserStack",
- "os_version": "10",
+ "os_version": "11",
"browser": "edge",
"browser_version": "latest",
"device": null,
"os": "Windows"
},
- "bs_chrome_latest_windows_10": {
+ "bs_chrome_latest_windows_11": {
"base": "BrowserStack",
- "os_version": "10",
+ "os_version": "11",
"browser": "chrome",
"browser_version": "latest",
"device": null,
"os": "Windows"
},
- "bs_chrome_87_windows_10": {
+ "bs_chrome_107_windows_10": {
"base": "BrowserStack",
"os_version": "10",
"browser": "chrome",
- "browser_version": "87.0",
+ "browser_version": "107.0",
"device": null,
"os": "Windows"
},
- "bs_firefox_latest_windows_10": {
+ "bs_firefox_latest_windows_11": {
"base": "BrowserStack",
- "os_version": "10",
+ "os_version": "11",
"browser": "firefox",
"browser_version": "latest",
"device": null,
"os": "Windows"
},
- "bs_safari_latest_mac_bigsur": {
+ "bs_safari_latest_mac_ventura": {
"base": "BrowserStack",
- "os_version": "Big Sur",
+ "os_version": "Ventura",
"browser": "safari",
"browser_version": "latest",
"device": null,
@@ -41,9 +41,9 @@
},
"bs_safari_15_catalina": {
"base": "BrowserStack",
- "os_version": "Catalina",
+ "os_version": "Monterey",
"browser": "safari",
- "browser_version": "13.1",
+ "browser_version": "15.6",
"device": null,
"os": "OS X"
}
diff --git a/integrationExamples/gpt/creative_rendering.html b/integrationExamples/gpt/creative_rendering.html
deleted file mode 100644
index 04d4736c631..00000000000
--- a/integrationExamples/gpt/creative_rendering.html
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
diff --git a/integrationExamples/gpt/idward_segments_example.html b/integrationExamples/gpt/idward_segments_example.html
deleted file mode 100644
index 9bc06124c77..00000000000
--- a/integrationExamples/gpt/idward_segments_example.html
+++ /dev/null
@@ -1,112 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-Prebid.js Test
-Div-1
-
-
-
-First Party Data (ortb2) Sent to Bidding Adapter
-
-
-
diff --git a/integrationExamples/gpt/fledge_example.html b/integrationExamples/gpt/paapi_example.html
similarity index 97%
rename from integrationExamples/gpt/fledge_example.html
rename to integrationExamples/gpt/paapi_example.html
index 5a6ab7a5fef..860d7c22edf 100644
--- a/integrationExamples/gpt/fledge_example.html
+++ b/integrationExamples/gpt/paapi_example.html
@@ -3,7 +3,7 @@
diff --git a/integrationExamples/gpt/prebidServer_fledge_example.html b/integrationExamples/gpt/prebidServer_paapi_example.html
similarity index 91%
rename from integrationExamples/gpt/prebidServer_fledge_example.html
rename to integrationExamples/gpt/prebidServer_paapi_example.html
index eb2fc438997..d138d2b7753 100644
--- a/integrationExamples/gpt/prebidServer_fledge_example.html
+++ b/integrationExamples/gpt/prebidServer_paapi_example.html
@@ -3,7 +3,7 @@
@@ -44,8 +44,8 @@
pbjs.que.push(function() {
pbjs.setConfig({
- fledgeForGpt: {
- enabled: true
+ paapi: {
+ enabled: true,
},
s2sConfig: [{
accountId : '1',
@@ -57,13 +57,6 @@
}]
});
- pbjs.setBidderConfig({
- bidders: ['openx'],
- config: {
- fledgeEnabled: true
- }
- });
-
pbjs.addAdUnits(adUnits);
pbjs.requestBids({
diff --git a/integrationExamples/realTimeData/jwplayerRtdProvider_example.html b/integrationExamples/realTimeData/jwplayerRtdProvider_example.html
index f3f0c64fb1a..c6170b565b5 100644
--- a/integrationExamples/realTimeData/jwplayerRtdProvider_example.html
+++ b/integrationExamples/realTimeData/jwplayerRtdProvider_example.html
@@ -65,7 +65,11 @@
waitForIt: true,
params: {
// Note: the following media Ids are placeholders and should be replaced with your Ids.
- mediaIDs: ['abc', 'def', 'ghi', 'jkl']
+ mediaIDs: ['abc', 'def', 'ghi', 'jkl'],
+ overrideContentId: 'always',
+ overrideContentUrl: 'always',
+ overrideContentTitle: 'always',
+ overrideContentDescription: 'always'
}
}]
}
diff --git a/libraries/appnexusUtils/anUtils.js b/libraries/appnexusUtils/anUtils.js
index 9b55cd5c2a4..7897cfc0e0e 100644
--- a/libraries/appnexusUtils/anUtils.js
+++ b/libraries/appnexusUtils/anUtils.js
@@ -10,6 +10,22 @@ export function convertCamelToUnderscore(value) {
}).replace(/^_/, '');
}
+export const appnexusAliases = [
+ { code: 'appnexusAst', gvlid: 32 },
+ { code: 'emxdigital', gvlid: 183 },
+ { code: 'emetriq', gvlid: 213 },
+ { code: 'pagescience', gvlid: 32 },
+ { code: 'gourmetads', gvlid: 32 },
+ { code: 'matomy', gvlid: 32 },
+ { code: 'featureforward', gvlid: 32 },
+ { code: 'oftmedia', gvlid: 32 },
+ { code: 'adasta', gvlid: 32 },
+ { code: 'beintoo', gvlid: 618 },
+ { code: 'projectagora', gvlid: 1032 },
+ { code: 'uol', gvlid: 32 },
+ { code: 'adzymic', gvlid: 723 },
+];
+
/**
* Creates an array of n length and fills each item with the given value
*/
diff --git a/libraries/dfpUtils/dfpUtils.js b/libraries/dfpUtils/dfpUtils.js
new file mode 100644
index 00000000000..0f070b15ba2
--- /dev/null
+++ b/libraries/dfpUtils/dfpUtils.js
@@ -0,0 +1,13 @@
+/** Safe defaults which work on pretty much all video calls. */
+export const DEFAULT_DFP_PARAMS = {
+ env: 'vp',
+ gdfp_req: 1,
+ output: 'vast',
+ unviewed_position_start: 1,
+}
+
+export const DFP_ENDPOINT = {
+ protocol: 'https',
+ host: 'securepubads.g.doubleclick.net',
+ pathname: '/gampad/ads'
+}
diff --git a/libraries/ortb2.5Translator/translator.js b/libraries/ortb2.5Translator/translator.js
index 1afad516ef0..6dd6d247d1c 100644
--- a/libraries/ortb2.5Translator/translator.js
+++ b/libraries/ortb2.5Translator/translator.js
@@ -1,10 +1,12 @@
import {deepAccess, deepSetValue, logError} from '../../src/utils.js';
export const EXT_PROMOTIONS = [
+ 'device.sua',
'source.schain',
'regs.gdpr',
'regs.us_privacy',
'regs.gpp',
+ 'regs.gpp_sid',
'user.consent',
'user.eids'
];
diff --git a/libraries/ortbConverter/processors/video.js b/libraries/ortbConverter/processors/video.js
index b10ad4032c5..caa855566eb 100644
--- a/libraries/ortbConverter/processors/video.js
+++ b/libraries/ortbConverter/processors/video.js
@@ -26,10 +26,6 @@ const ORTB_VIDEO_PARAMS = new Set([
'playbackend'
]);
-const PLACEMENT = {
- 'instream': 1,
-}
-
export function fillVideoImp(imp, bidRequest, context) {
if (context.mediaType && context.mediaType !== VIDEO) return;
@@ -46,10 +42,7 @@ export function fillVideoImp(imp, bidRequest, context) {
}
Object.assign(video, format[0]);
}
- const placement = PLACEMENT[videoParams.context];
- if (placement != null) {
- video.placement = placement;
- }
+
imp.video = mergeDeep(video, imp.video);
}
}
diff --git a/libraries/pbsExtensions/processors/params.js b/libraries/pbsExtensions/processors/params.js
index 010ffa5b372..dbfbb928953 100644
--- a/libraries/pbsExtensions/processors/params.js
+++ b/libraries/pbsExtensions/processors/params.js
@@ -1,17 +1,7 @@
-import {auctionManager} from '../../../src/auctionManager.js';
-import adapterManager from '../../../src/adapterManager.js';
import {deepSetValue} from '../../../src/utils.js';
-export function setImpBidParams(
- imp, bidRequest, context,
- {adUnit, bidderRequests, index = auctionManager.index, bidderRegistry = adapterManager.bidderRegistry} = {}) {
+export function setImpBidParams(imp, bidRequest) {
let params = bidRequest.params;
- const adapter = bidderRegistry[bidRequest.bidder];
- if (adapter && adapter.getSpec().transformBidParams) {
- adUnit = adUnit || index.getAdUnit(bidRequest);
- bidderRequests = bidderRequests || [context.bidderRequest];
- params = adapter.getSpec().transformBidParams(params, true, adUnit, bidderRequests);
- }
if (params) {
deepSetValue(
imp,
diff --git a/libraries/video/constants/ortb.js b/libraries/video/constants/ortb.js
index 6b64296500e..86e7b499774 100644
--- a/libraries/video/constants/ortb.js
+++ b/libraries/video/constants/ortb.js
@@ -13,7 +13,8 @@
* @property {number} w - Width of the video player in device independent pixels (DIPS).
* @property {number} h - Height of the video player in device independent pixels (DIPS).
* @property {number|undefined} startdelay - Indicates the offset of the ad placement.
- * @property {number|undefined} placement - Placement type for the impression.
+ * @property {number|undefined} placement - Legacy Placement type for the impression.
+ * @property {number|undefined} plcmt - Modern placement type for the impression.
* @property {number|undefined} linearity - Indicates if the impression must be linear, nonlinear, etc. If omitted, assume all are allowed.
* @property {number} skip - Indicates if the player can allow the video to be skipped, where 0 is no, 1 is yes.
* @property {number|undefined} skipmin - Only ad creatives with a duration greater than this value can be skippable; only applicable if the ad is skippable.
@@ -97,6 +98,18 @@ export const PLACEMENT = {
INTERSTITIAL_SLIDER_FLOATING: 5
};
+/**
+ * ADCOM - https://github.com/InteractiveAdvertisingBureau/AdCOM/blob/develop/AdCOM%20v1.0%20FINAL.md#list_plcmtsubtypesvideo
+ * @enum OrtbVideoParams.plcmt
+ */
+export const PLCMT = {
+ INSTREAM: 1,
+ ACCOMPANYING_CONTENT: 2,
+ INTERSTITIAL: 3,
+ OUTSTREAM: 4,
+ NO_CONTENT: 4
+};
+
/**
* ORTB 2.5 section 5.4 - Ad Position
* @enum OrtbVideoParams.pos
diff --git a/modules/.submodules.json b/modules/.submodules.json
index 224fdd6ab04..39f3969c4fd 100644
--- a/modules/.submodules.json
+++ b/modules/.submodules.json
@@ -6,7 +6,6 @@
"adtelligentIdSystem",
"adqueryIdSystem",
"amxIdSystem",
- "britepoolIdSystem",
"connectIdSystem",
"czechAdIdSystem",
"criteoIdSystem",
@@ -37,7 +36,6 @@
"novatiqIdSystem",
"oneKeyIdSystem",
"operaadsIdSystem",
- "parrableIdSystem",
"pubProvidedIdSystem",
"publinkIdSystem",
"quantcastIdSystem",
@@ -45,7 +43,7 @@
"tapadIdSystem",
"teadsIdSystem",
"tncIdSystem",
- "utiqSystem",
+ "utiqIdSystem",
"utiqMtpIdSystem",
"uid2IdSystem",
"euidIdSystem",
@@ -56,7 +54,7 @@
],
"adpod": [
"freeWheelAdserverVideo",
- "dfpAdServerVideo"
+ "dfpAdpod"
],
"rtdModule": [
"1plusXRtdProvider",
@@ -110,7 +108,8 @@
"videojsVideoProvider"
],
"paapi": [
- "fledgeForGpt"
+ "paapiForGpt",
+ "topLevelPaapi"
]
}
}
diff --git a/modules/33acrossAnalyticsAdapter.md b/modules/33acrossAnalyticsAdapter.md
index c56059e5526..d093434dc97 100644
--- a/modules/33acrossAnalyticsAdapter.md
+++ b/modules/33acrossAnalyticsAdapter.md
@@ -49,7 +49,7 @@ by default when Prebid is downloaded. If you are compiling from source,
this might look something like:
```sh
-gulp bundle --modules=gptPreAuction,consentManagement,consentManagementGpp,consentManagementUsp,enrichmentFpdModule,gdprEnforcement,33acrossBidAdapter,33acrossIdSystem,33acrossAnalyticsAdapter
+gulp bundle --modules=gptPreAuction,consentManagementTcf,consentManagementGpp,consentManagementUsp,tcfControl,33acrossBidAdapter,33acrossIdSystem,33acrossAnalyticsAdapter
```
Enable the 33Across Analytics Adapter in Prebid.js using the analytics provider `33across`
diff --git a/modules/33acrossBidAdapter.js b/modules/33acrossBidAdapter.js
index 1eab05ba47f..60d732e35d3 100644
--- a/modules/33acrossBidAdapter.js
+++ b/modules/33acrossBidAdapter.js
@@ -492,7 +492,6 @@ function _buildVideoORTB(bidRequest) {
// Placement Inference Rules:
// - If no placement is defined then default to 2 (In Banner)
// - If the old deprecated field is defined, use its value for the recent placement field
- // - If product is instream (for instream context) then override placement to 1
const calculatePlacementValue = () => {
const IN_BANNER_PLACEMENT_VALUE = 2;
@@ -510,8 +509,6 @@ function _buildVideoORTB(bidRequest) {
if (product === PRODUCT.INSTREAM) {
video.startdelay = video.startdelay || 0;
- video.plcmt = 1;
- video.placement &&= 1;
}
// bidfloors
diff --git a/modules/33acrossIdSystem.js b/modules/33acrossIdSystem.js
index 0118408f08d..8f99846017a 100644
--- a/modules/33acrossIdSystem.js
+++ b/modules/33acrossIdSystem.js
@@ -26,6 +26,9 @@ const CALLER_NAME = 'pbjs';
const GVLID = 58;
const STORAGE_FPID_KEY = '33acrossIdFp';
+const STORAGE_TPID_KEY = '33acrossIdTp';
+const DEFAULT_1PID_SUPPORT = true;
+const DEFAULT_TPID_SUPPORT = true;
export const storage = getStorageManager({ moduleType: MODULE_TYPE_UID, moduleName: MODULE_NAME });
@@ -51,7 +54,8 @@ function calculateResponseObj(response) {
return {
envelope: response.data.envelope,
- fp: response.data.fp
+ fp: response.data.fp,
+ tp: response.data.tp
};
}
@@ -88,6 +92,11 @@ function calculateQueryStringParams(pid, gdprConsentData, enabledStorageTypes) {
params.fp = encodeURIComponent(fp);
}
+ const tp = getStoredValue(STORAGE_TPID_KEY, enabledStorageTypes);
+ if (tp) {
+ params.tp = encodeURIComponent(tp);
+ }
+
return params;
}
@@ -130,10 +139,10 @@ function getStoredValue(key, enabledStorageTypes) {
return storedValue;
}
-function handleFpId(fpId, storageConfig) {
- fpId
- ? storeValue(STORAGE_FPID_KEY, fpId, storageConfig)
- : deleteFromStorage(STORAGE_FPID_KEY);
+function handleSupplementalId(key, id, storageConfig) {
+ id
+ ? storeValue(key, id, storageConfig)
+ : deleteFromStorage(key);
}
/** @type {Submodule} */
@@ -166,7 +175,7 @@ export const thirthyThreeAcrossIdSubmodule = {
* @param {SubmoduleConfig} [config]
* @returns {IdResponse|undefined}
*/
- getId({ params = { }, enabledStorageTypes = [], storage: storageConfig }, gdprConsentData) {
+ getId({ params = { }, enabledStorageTypes = [], storage: storageConfig = {} }, gdprConsentData) {
if (typeof params.pid !== 'string') {
logError(`${MODULE_NAME}: Submodule requires a partner ID to be defined`);
@@ -179,7 +188,7 @@ export const thirthyThreeAcrossIdSubmodule = {
return;
}
- const { pid, storeFpid, apiUrl = API_URL } = params;
+ const { pid, storeFpid = DEFAULT_1PID_SUPPORT, storeTpid = DEFAULT_TPID_SUPPORT, apiUrl = API_URL } = params;
return {
callback(cb) {
@@ -198,7 +207,14 @@ export const thirthyThreeAcrossIdSubmodule = {
}
if (storeFpid) {
- handleFpId(responseObj.fp, {
+ handleSupplementalId(STORAGE_FPID_KEY, responseObj.fp, {
+ enabledStorageTypes,
+ expires: storageConfig.expires
+ });
+ }
+
+ if (storeTpid) {
+ handleSupplementalId(STORAGE_TPID_KEY, responseObj.tp, {
enabledStorageTypes,
expires: storageConfig.expires
});
diff --git a/modules/33acrossIdSystem.md b/modules/33acrossIdSystem.md
index 5f5e7805ff9..e983c8ab871 100644
--- a/modules/33acrossIdSystem.md
+++ b/modules/33acrossIdSystem.md
@@ -51,4 +51,5 @@ The following settings are available in the `params` property in `userSync.userI
| Param name | Scope | Type | Description | Example |
| --- | --- | --- | --- | --- |
| pid | Required | String | Partner ID provided by 33Across | `"0010b00002GYU4eBAH"` |
-| storeFpid | Optional | Boolean | Indicates whether a supplemental first-party ID may be stored to improve addressability | `false` (default) or `true` |
+| storeFpid | Optional | Boolean | Indicates whether a supplemental first-party ID may be stored to improve addressability, this feature is enabled by default | `true` (default) or `false` |
+| storeTpid | Optional | Boolean | Indicates whether a supplemental third-party ID may be stored to improve addressability, this feature is enabled by default | `true` (default) or `false` |
diff --git a/modules/prebidmanagerAnalyticsAdapter.js b/modules/AsteriobidPbmAnalyticsAdapter.js
similarity index 99%
rename from modules/prebidmanagerAnalyticsAdapter.js
rename to modules/AsteriobidPbmAnalyticsAdapter.js
index 39677d51320..7f56f5064b7 100644
--- a/modules/prebidmanagerAnalyticsAdapter.js
+++ b/modules/AsteriobidPbmAnalyticsAdapter.js
@@ -9,10 +9,10 @@ import {MODULE_TYPE_ANALYTICS} from '../src/activities/modules.js';
/**
* prebidmanagerAnalyticsAdapter.js - analytics adapter for prebidmanager
*/
-export const storage = getStorageManager({moduleType: MODULE_TYPE_ANALYTICS, moduleName: 'prebidmanager'});
+export const storage = getStorageManager({moduleType: MODULE_TYPE_ANALYTICS, moduleName: 'asteriobidpbm'});
const DEFAULT_EVENT_URL = 'https://endpt.prebidmanager.com/endpoint';
const analyticsType = 'endpoint';
-const analyticsName = 'Prebid Manager Analytics';
+const analyticsName = 'Asteriobid PBM Analytics';
let ajax = ajaxBuilder(0);
diff --git a/modules/AsteriobidPbmAnalyticsAdapter.md b/modules/AsteriobidPbmAnalyticsAdapter.md
new file mode 100644
index 00000000000..0331a71b17c
--- /dev/null
+++ b/modules/AsteriobidPbmAnalyticsAdapter.md
@@ -0,0 +1,9 @@
+# Overview
+
+Module Name: Asteriobid PBM Analytics Adapter
+Module Type: Analytics Adapter
+Maintainer: admin@prebidmanager.com
+
+# Description
+
+Analytics adapter for Asteriobid PBM. Contact admin@prebidmanager.com for information.
diff --git a/modules/acuityadsBidAdapter.js b/modules/acuityadsBidAdapter.js
index 5b12eb2133b..4000230b1e0 100644
--- a/modules/acuityadsBidAdapter.js
+++ b/modules/acuityadsBidAdapter.js
@@ -53,6 +53,7 @@ function getPlacementReqData(bid) {
placement.protocols = mediaTypes[VIDEO].protocols;
placement.startdelay = mediaTypes[VIDEO].startdelay;
placement.placement = mediaTypes[VIDEO].placement;
+ placement.plcmt = mediaTypes[VIDEO].plcmt;
placement.skip = mediaTypes[VIDEO].skip;
placement.skipafter = mediaTypes[VIDEO].skipafter;
placement.minbitrate = mediaTypes[VIDEO].minbitrate;
diff --git a/modules/adagioBidAdapter.js b/modules/adagioBidAdapter.js
index b6ffc9b8d0d..3cc31336827 100644
--- a/modules/adagioBidAdapter.js
+++ b/modules/adagioBidAdapter.js
@@ -1,4 +1,4 @@
-import {find} from '../src/polyfill.js';
+import { BANNER, NATIVE, VIDEO } from '../src/mediaTypes.js';
import {
canAccessWindowTop,
cleanObj,
@@ -6,13 +6,11 @@ import {
deepClone,
generateUUID,
getDNT,
- getUniqueIdentifierStr,
getWindowSelf,
getWindowTop,
isArray,
isArrayOfNums,
isFn,
- inIframe,
isInteger,
isNumber,
isSafeFrameWindow,
@@ -20,39 +18,27 @@ import {
logError,
logInfo,
logWarn,
- mergeDeep,
} from '../src/utils.js';
-import {config} from '../src/config.js';
-import {registerBidder} from '../src/adapters/bidderFactory.js';
-import {loadExternalScript} from '../src/adloader.js';
-import {verify} from 'criteo-direct-rsa-validate/build/verify.js';
-import {getStorageManager} from '../src/storageManager.js';
-import {getRefererInfo, parseDomain} from '../src/refererDetection.js';
-import {BANNER, NATIVE, VIDEO} from '../src/mediaTypes.js';
-import {Renderer} from '../src/Renderer.js';
-import {OUTSTREAM} from '../src/video.js';
-import { getGlobal } from '../src/prebidGlobal.js';
+import { getRefererInfo, parseDomain } from '../src/refererDetection.js';
+import { OUTSTREAM } from '../src/video.js';
+import { Renderer } from '../src/Renderer.js';
+import { config } from '../src/config.js';
import { convertOrtbRequestToProprietaryNative } from '../src/native.js';
+import { find } from '../src/polyfill.js';
+import { getGptSlotInfoForAdUnitCode } from '../libraries/gptUtils/gptUtils.js';
+import { registerBidder } from '../src/adapters/bidderFactory.js';
import { userSync } from '../src/userSync.js';
-import {getGptSlotInfoForAdUnitCode} from '../libraries/gptUtils/gptUtils.js';
const BIDDER_CODE = 'adagio';
const LOG_PREFIX = 'Adagio:';
-const FEATURES_VERSION = '1';
export const ENDPOINT = 'https://mp.4dex.io/prebid';
const SUPPORTED_MEDIA_TYPES = [BANNER, NATIVE, VIDEO];
-const ADAGIO_TAG_URL = 'https://script.4dex.io/localstore.js';
-const ADAGIO_LOCALSTORAGE_KEY = 'adagioScript';
const GVLID = 617;
-export const storage = getStorageManager({bidderCode: BIDDER_CODE});
const BB_PUBLICATION = 'adagio';
const BB_RENDERER_DEFAULT = 'renderer';
export const BB_RENDERER_URL = `https://${BB_PUBLICATION}.bbvms.com/r/$RENDERER.js`;
-const MAX_SESS_DURATION = 30 * 60 * 1000;
-const ADAGIO_PUBKEY = 'AL16XT44Sfp+8SHVF1UdC7hydPSMVLMhsYknKDdwqq+0ToDSJrP0+Qh0ki9JJI2uYm/6VEYo8TJED9WfMkiJ4vf02CW3RvSWwc35bif2SK1L8Nn/GfFYr/2/GG/Rm0vUsv+vBHky6nuuYls20Og0HDhMgaOlXoQ/cxMuiy5QSktp';
-const ADAGIO_PUBKEY_E = 65537;
const CURRENCY = 'USD';
// This provide a whitelist and a basic validation of OpenRTB 2.5 options used by the Adagio SSP.
@@ -88,142 +74,15 @@ export const ORTB_VIDEO_PARAMS = {
'api': (value) => isArrayOfNums(value)
};
-let currentWindow;
-
-export const GlobalExchange = (function() {
- let features;
- let exchangeData = {};
-
- return {
- clearFeatures: function() {
- features = undefined;
- },
-
- clearExchangeData: function() {
- exchangeData = {};
- },
-
- getOrSetGlobalFeatures: function () {
- if (!features) {
- features = {
- type: 'bidAdapter',
- page_dimensions: getPageDimensions().toString(),
- viewport_dimensions: getViewPortDimensions().toString(),
- user_timestamp: getTimestampUTC().toString(),
- dom_loading: getDomLoadingDuration().toString(),
- }
- }
-
- return { ...features };
- },
-
- prepareExchangeData(storageValue) {
- const adagioStorage = JSON.parse(storageValue, function(name, value) {
- if (name.charAt(0) !== '_' || name === '') {
- return value;
- }
- });
- let random = deepAccess(adagioStorage, 'session.rnd');
- let newSession = false;
-
- if (internal.isNewSession(adagioStorage)) {
- newSession = true;
- random = Math.random();
- }
-
- const data = {
- session: {
- new: newSession,
- rnd: random,
- }
- }
-
- mergeDeep(exchangeData, adagioStorage, data);
-
- internal.enqueue({
- action: 'session',
- ts: Date.now(),
- data: exchangeData
- });
- },
-
- getExchangeData() {
- return exchangeData
- }
- };
-})();
-
-/**
- * @deprecated will be removed in Prebid.js 9.
- */
-export function adagioScriptFromLocalStorageCb(ls) {
- try {
- if (!ls) {
- logWarn(`${LOG_PREFIX} script not found.`);
- return;
- }
-
- const hashRgx = /^(\/\/ hash: (.+)\n)(.+\n)$/;
-
- if (!hashRgx.test(ls)) {
- logWarn(`${LOG_PREFIX} no hash found.`);
- storage.removeDataFromLocalStorage(ADAGIO_LOCALSTORAGE_KEY);
- } else {
- const r = ls.match(hashRgx);
- const hash = r[2];
- const content = r[3];
-
- if (verify(content, hash, ADAGIO_PUBKEY, ADAGIO_PUBKEY_E)) {
- logInfo(`${LOG_PREFIX} start script.`);
- Function(ls)(); // eslint-disable-line no-new-func
- } else {
- logWarn(`${LOG_PREFIX} invalid script found.`);
- storage.removeDataFromLocalStorage(ADAGIO_LOCALSTORAGE_KEY);
- }
- }
- } catch (err) {
- logError(LOG_PREFIX, err);
- }
-}
-
/**
- * @deprecated will be removed in Prebid.js 9.
+ * Returns the window.ADAGIO global object used to store Adagio data.
+ * This object is created in window.top if possible, otherwise in window.self.
*/
-export function getAdagioScript() {
- storage.getDataFromLocalStorage(ADAGIO_LOCALSTORAGE_KEY, (ls) => {
- internal.adagioScriptFromLocalStorageCb(ls);
- });
-
- storage.localStorageIsEnabled(isValid => {
- if (isValid) {
- loadExternalScript(ADAGIO_TAG_URL, BIDDER_CODE);
- } else {
- // Try-catch to avoid error when 3rd party cookies is disabled (e.g. in privacy mode)
- try {
- // ensure adagio removing for next time.
- // It's an antipattern regarding the TCF2 enforcement logic
- // but it's the only way to respect the user choice update.
- window.localStorage.removeItem(ADAGIO_LOCALSTORAGE_KEY);
- // Extra data from external script.
- // This key is removed only if localStorage is not accessible.
- window.localStorage.removeItem('adagio');
- } catch (e) {
- logInfo(`${LOG_PREFIX} unable to clear Adagio scripts from localstorage.`);
- }
- }
- });
-}
-
-function getCurrentWindow() {
- return currentWindow || getWindowSelf();
-}
-
-function initAdagio() {
- currentWindow = (canAccessWindowTop()) ? getWindowTop() : getWindowSelf();
-
- const w = currentWindow;
+const _ADAGIO = (function() {
+ const w = (canAccessWindowTop()) ? getWindowTop() : getWindowSelf();
w.ADAGIO = w.ADAGIO || {};
+ w.ADAGIO.pageviewId = w.ADAGIO.pageviewId || generateUUID();
w.ADAGIO.adUnits = w.ADAGIO.adUnits || {};
w.ADAGIO.pbjsAdUnits = w.ADAGIO.pbjsAdUnits || [];
w.ADAGIO.queue = w.ADAGIO.queue || [];
@@ -231,36 +90,8 @@ function initAdagio() {
w.ADAGIO.versions.pbjs = '$prebid.version$';
w.ADAGIO.isSafeFrameWindow = isSafeFrameWindow();
- storage.getDataFromLocalStorage('adagio', (storageData) => {
- try {
- if (w.ADAGIO.hasRtd !== true) {
- logInfo(`${LOG_PREFIX} RTD module not found. Loading external script from adagioBidAdapter is deprecated and will be removed in Prebid.js 9.`);
-
- GlobalExchange.prepareExchangeData(storageData);
- getAdagioScript();
- }
- } catch (e) {
- logError(LOG_PREFIX, e);
- }
- });
-}
-
-function enqueue(ob) {
- const w = internal.getCurrentWindow();
-
- w.ADAGIO = w.ADAGIO || {};
- w.ADAGIO.queue = w.ADAGIO.queue || [];
- w.ADAGIO.queue.push(ob);
-};
-
-function getPageviewId() {
- const w = internal.getCurrentWindow();
-
- w.ADAGIO = w.ADAGIO || {};
- w.ADAGIO.pageviewId = w.ADAGIO.pageviewId || generateUUID();
-
- return w.ADAGIO.pageviewId;
-};
+ return w.ADAGIO;
+})();
function getDevice() {
const language = navigator.language ? 'language' : 'userLanguage';
@@ -283,30 +114,6 @@ function getSite(bidderRequest) {
};
};
-function getElementFromTopWindow(element, currentWindow) {
- try {
- if (getWindowTop() === currentWindow) {
- if (!element.getAttribute('id')) {
- element.setAttribute('id', `adg-${getUniqueIdentifierStr()}`);
- }
- return element;
- } else {
- const frame = currentWindow.frameElement;
- const frameClientRect = frame.getBoundingClientRect();
- const elementClientRect = element.getBoundingClientRect();
-
- if (frameClientRect.width !== elementClientRect.width || frameClientRect.height !== elementClientRect.height) {
- return false;
- }
-
- return getElementFromTopWindow(frame, currentWindow.parent);
- }
- } catch (err) {
- logWarn(`${LOG_PREFIX}`, err);
- return false;
- }
-};
-
function autoDetectAdUnitElementIdFromGpt(adUnitCode) {
const autoDetectedAdUnit = getGptSlotInfoForAdUnitCode(adUnitCode);
@@ -331,49 +138,28 @@ function isRendererPreferredFromPublisher(bidRequest) {
}
/**
- *
- * @param {object} adagioStorage
- * @returns {boolean}
+ * Check if the publisher has defined its own video player and uses it for all ad-units.
+ * If not or if the `backupOnly` flag is true, this means we use our own player (BlueBillywig) defined in this adapter.
*/
-function isNewSession(adagioStorage) {
- const now = Date.now();
- const { lastActivityTime, vwSmplg } = deepAccess(adagioStorage, 'session', {});
- return (
- !isNumber(lastActivityTime) ||
- !isNumber(vwSmplg) ||
- (now - lastActivityTime) > MAX_SESS_DURATION
- )
-}
-
-function setPlayerName(bidRequest) {
- const playerName = (internal.isRendererPreferredFromPublisher(bidRequest)) ? 'other' : 'adagio';
-
- if (playerName === 'other') {
- logWarn(`${LOG_PREFIX} renderer.backupOnly has not been set. Adagio recommends to use its own player to get expected behavior.`);
- }
-
- return playerName;
+function getPlayerName(bidRequest) {
+ return _internal.isRendererPreferredFromPublisher(bidRequest) ? 'other' : 'adagio'; ;
}
function hasRtd() {
- const w = internal.getCurrentWindow();
-
- return !!(w.ADAGIO && w.ADAGIO.hasRtd);
+ const rtdConfigs = config.getConfig('realTimeData.dataProviders') || [];
+ return rtdConfigs.find(provider => provider.name === 'adagio');
};
-export const internal = {
- enqueue,
- getPageviewId,
+export const _internal = {
+ canAccessWindowTop,
+ getAdagioNs: function() {
+ return _ADAGIO;
+ },
getDevice,
getSite,
- getElementFromTopWindow,
getRefererInfo,
- adagioScriptFromLocalStorageCb,
- getCurrentWindow,
- canAccessWindowTop,
+ hasRtd,
isRendererPreferredFromPublisher,
- isNewSession,
- hasRtd
};
function _getGdprConsent(bidderRequest) {
@@ -447,7 +233,7 @@ function _buildVideoBidRequest(bidRequest) {
};
if (videoParams.context && videoParams.context === OUTSTREAM) {
- bidRequest.mediaTypes.video.playerName = setPlayerName(bidRequest);
+ bidRequest.mediaTypes.video.playerName = getPlayerName(bidRequest);
}
// Only whitelisted OpenRTB options need to be validated.
@@ -688,201 +474,6 @@ function autoFillParams(bid) {
setExtraParam(bid, 'category');
}
-function getPageDimensions() {
- if (isSafeFrameWindow() || !canAccessWindowTop()) {
- return '';
- }
-
- // the page dimension can be computed on window.top only.
- const wt = getWindowTop();
- const body = wt.document.querySelector('body');
-
- if (!body) {
- return '';
- }
- const html = wt.document.documentElement;
- const pageWidth = Math.max(body.scrollWidth, body.offsetWidth, html.clientWidth, html.scrollWidth, html.offsetWidth);
- const pageHeight = Math.max(body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight);
-
- return `${pageWidth}x${pageHeight}`;
-}
-
-/**
- * @todo Move to prebid Core as Utils.
- * @returns
- */
-function getViewPortDimensions() {
- if (!isSafeFrameWindow() && !canAccessWindowTop()) {
- return '';
- }
-
- const viewportDims = { w: 0, h: 0 };
-
- if (isSafeFrameWindow()) {
- const ws = getWindowSelf();
-
- if (typeof ws.$sf.ext.geom !== 'function') {
- logWarn(LOG_PREFIX, 'Unable to compute from safeframe api.');
- return '';
- }
-
- const sfGeom = ws.$sf.ext.geom();
-
- if (!sfGeom || !sfGeom.win) {
- logWarn(LOG_PREFIX, 'Unable to compute from safeframe api. Missing `geom().win` property');
- return '';
- }
-
- viewportDims.w = Math.round(sfGeom.w);
- viewportDims.h = Math.round(sfGeom.h);
- } else {
- // window.top based computing
- const wt = getWindowTop();
- viewportDims.w = wt.innerWidth;
- viewportDims.h = wt.innerHeight;
- }
-
- return `${viewportDims.w}x${viewportDims.h}`;
-}
-
-function getSlotPosition(adUnitElementId) {
- if (!adUnitElementId) {
- return '';
- }
-
- if (!isSafeFrameWindow() && !canAccessWindowTop()) {
- return '';
- }
-
- const position = { x: 0, y: 0 };
-
- if (isSafeFrameWindow()) {
- const ws = getWindowSelf();
-
- if (typeof ws.$sf.ext.geom !== 'function') {
- logWarn(LOG_PREFIX, 'Unable to compute from safeframe api.');
- return '';
- }
-
- const sfGeom = ws.$sf.ext.geom();
-
- if (!sfGeom || !sfGeom.self) {
- logWarn(LOG_PREFIX, 'Unable to compute from safeframe api. Missing `geom().self` property');
- return '';
- }
-
- position.x = Math.round(sfGeom.t);
- position.y = Math.round(sfGeom.l);
- } else if (canAccessWindowTop()) {
- try {
- // window.top based computing
- const wt = getWindowTop();
- const d = wt.document;
-
- let domElement;
-
- if (inIframe() === true) {
- const ws = getWindowSelf();
- const currentElement = ws.document.getElementById(adUnitElementId);
- domElement = internal.getElementFromTopWindow(currentElement, ws);
- } else {
- domElement = wt.document.getElementById(adUnitElementId);
- }
-
- if (!domElement) {
- return '';
- }
-
- let box = domElement.getBoundingClientRect();
-
- const docEl = d.documentElement;
- const body = d.body;
- const clientTop = d.clientTop || body.clientTop || 0;
- const clientLeft = d.clientLeft || body.clientLeft || 0;
- const scrollTop = wt.pageYOffset || docEl.scrollTop || body.scrollTop;
- const scrollLeft = wt.pageXOffset || docEl.scrollLeft || body.scrollLeft;
-
- const elComputedStyle = wt.getComputedStyle(domElement, null);
- const mustDisplayElement = elComputedStyle.display === 'none';
-
- if (mustDisplayElement) {
- logWarn(LOG_PREFIX, 'The element is hidden. The slot position cannot be computed.');
- }
-
- position.x = Math.round(box.left + scrollLeft - clientLeft);
- position.y = Math.round(box.top + scrollTop - clientTop);
- } catch (err) {
- logError(LOG_PREFIX, err);
- return '';
- }
- } else {
- return '';
- }
-
- return `${position.x}x${position.y}`;
-}
-
-function getTimestampUTC() {
- // timestamp returned in seconds
- return Math.floor(new Date().getTime() / 1000) - new Date().getTimezoneOffset() * 60;
-}
-
-/**
- * domLoading feature is computed on window.top if reachable.
- */
-function getDomLoadingDuration() {
- let domLoadingDuration = -1;
- let performance;
-
- performance = (canAccessWindowTop()) ? getWindowTop().performance : getWindowSelf().performance;
-
- if (performance && performance.timing && performance.timing.navigationStart > 0) {
- const val = performance.timing.domLoading - performance.timing.navigationStart;
- if (val > 0) {
- domLoadingDuration = val;
- }
- }
-
- return domLoadingDuration;
-}
-
-function storeRequestInAdagioNS(bidRequest) {
- const w = getCurrentWindow();
- // Store adUnits config.
- // If an adUnitCode has already been stored, it will be replaced.
- w.ADAGIO = w.ADAGIO || {};
- w.ADAGIO.pbjsAdUnits = w.ADAGIO.pbjsAdUnits.filter((adUnit) => adUnit.code !== bidRequest.adUnitCode);
-
- let printNumber
- if (bidRequest.features && bidRequest.features.print_number) {
- printNumber = bidRequest.features.print_number;
- } else if (bidRequest.params.features && bidRequest.params.features.print_number) {
- printNumber = bidRequest.params.features.print_number;
- }
-
- w.ADAGIO.pbjsAdUnits.push({
- code: bidRequest.adUnitCode,
- mediaTypes: bidRequest.mediaTypes || {},
- sizes: (bidRequest.mediaTypes && bidRequest.mediaTypes.banner && Array.isArray(bidRequest.mediaTypes.banner.sizes)) ? bidRequest.mediaTypes.banner.sizes : bidRequest.sizes,
- bids: [{
- bidder: bidRequest.bidder,
- params: bidRequest.params // use the updated bid.params object with auto-detected params
- }],
- auctionId: bidRequest.auctionId, // this auctionId has been generated by adagioBidAdapter
- pageviewId: internal.getPageviewId(),
- printNumber,
- localPbjs: '$$PREBID_GLOBAL$$',
- localPbjsRef: getGlobal()
- });
-
- // (legacy) Store internal adUnit information
- w.ADAGIO.adUnits[bidRequest.adUnitCode] = {
- auctionId: bidRequest.auctionId, // this auctionId has been generated by adagioBidAdapter
- pageviewId: internal.getPageviewId(),
- printNumber,
- };
-}
-
// See https://support.bluebillywig.com/developers/vast-renderer/
const OUTSTREAM_RENDERER = {
bootstrapPlayer: function(bid) {
@@ -954,31 +545,6 @@ const OUTSTREAM_RENDERER = {
}
};
-/**
- *
- * @param {*} bidRequest
- * @returns
- */
-const _getFeatures = (bidRequest) => {
- const f = { ...deepAccess(bidRequest, 'ortb2.site.ext.data.adg_rtd.features', GlobalExchange.getOrSetGlobalFeatures()) } || {};
-
- f.print_number = deepAccess(bidRequest, 'bidderRequestsCount', 1).toString();
-
- if (f.type === 'bidAdapter') {
- f.adunit_position = getSlotPosition(bidRequest.params.adUnitElementId)
- } else {
- f.adunit_position = deepAccess(bidRequest, 'ortb2Imp.ext.data.adg_rtd.adunit_position');
- }
-
- Object.keys(f).forEach((prop) => {
- if (f[prop] === '') {
- delete f[prop];
- }
- });
-
- return f;
-}
-
export const spec = {
code: BIDDER_CODE,
gvlid: GVLID,
@@ -992,7 +558,6 @@ export const spec = {
// Note: `bid.params.placement` is not related to the video param `placement`.
if (!(bid.params.organizationId && bid.params.site && bid.params.placement)) {
logWarn(`${LOG_PREFIX} at least one required param is missing.`);
- // internal.enqueue(debugData());
return false;
}
@@ -1004,10 +569,9 @@ export const spec = {
validBidRequests = convertOrtbRequestToProprietaryNative(validBidRequests);
const secure = (location.protocol === 'https:') ? 1 : 0;
- const device = internal.getDevice();
- const site = internal.getSite(bidderRequest);
- const pageviewId = internal.getPageviewId();
- const hasRtd = internal.hasRtd();
+ const device = _internal.getDevice();
+ const site = _internal.getSite(bidderRequest);
+ const pageviewId = _internal.getAdagioNs().pageviewId;
const gdprConsent = _getGdprConsent(bidderRequest) || {};
const uspConsent = _getUspConsent(bidderRequest) || {};
const coppa = _getCoppa();
@@ -1015,15 +579,20 @@ export const spec = {
const schain = _getSchain(validBidRequests[0]);
const eids = _getEids(validBidRequests[0]) || [];
const syncEnabled = deepAccess(config.getConfig('userSync'), 'syncEnabled')
- const usIfr = syncEnabled && userSync.canBidderRegisterSync('iframe', 'adagio')
+ const canSyncWithIframe = syncEnabled && userSync.canBidderRegisterSync('iframe', 'adagio')
// We don't validate the dsa object in adapter and let our server do it.
const dsa = deepAccess(bidderRequest, 'ortb2.regs.ext.dsa');
- let rtdSamplingSession = deepAccess(bidderRequest, 'ortb2.site.ext.data.adg_rtd.session');
- const dataExchange = (rtdSamplingSession) ? { session: rtdSamplingSession } : GlobalExchange.getExchangeData();
+ // If no session data is provided, we always generate a new one.
+ const sessionData = deepAccess(bidderRequest, 'ortb2.site.ext.data.adg_rtd.session', {});
+ if (!Object.keys(sessionData).length) {
+ logInfo(LOG_PREFIX, 'No session data provided. A new session is be generated.')
+ sessionData.new = true;
+ sessionData.rnd = Math.random()
+ }
- const aucId = generateUUID()
+ const aucId = deepAccess('bidderRequest', 'ortb2.site.ext.data.adg_rtd.uid') || generateUUID()
const adUnits = validBidRequests.map(rawBidRequest => {
const bidRequest = deepClone(rawBidRequest);
@@ -1074,21 +643,6 @@ export const spec = {
}
}
- const features = _getFeatures(bidRequest);
- bidRequest.features = features;
-
- if (!hasRtd) {
- internal.enqueue({
- action: 'features',
- ts: Date.now(),
- data: {
- features,
- params: { ...bidRequest.params },
- adUnitCode: bidRequest.adUnitCode
- }
- });
- }
-
// Handle priceFloors module
// We need to use `rawBidRequest` as param because:
// - adagioBidAdapter generates its own auctionId due to transmitTid activity limitation (see https://github.com/prebid/Prebid.js/pull/10079)
@@ -1142,10 +696,14 @@ export const spec = {
bidRequest.gpid = gpid;
}
- if (!hasRtd) {
- // store the whole bidRequest (adUnit) object in the ADAGIO namespace.
- storeRequestInAdagioNS(bidRequest);
+ // features are added by the adagioRtdProvider.
+ const rawFeatures = {
+ ...deepAccess(bidRequest, 'ortb2.site.ext.data.adg_rtd.features', {}),
+ print_number: (bidRequest.bidderRequestsCount || 1).toString(),
+ adunit_position: deepAccess(bidRequest, 'ortb2Imp.ext.data.adg_rtd.adunit_position', null)
}
+ // Clean the features object from null or undefined values.
+ bidRequest.features = Object.entries(rawFeatures).reduce((a, [k, v]) => (v == null ? a : (a[k] = v, a)), {})
// Remove some params that are not needed on the server side.
delete bidRequest.params.siteId;
@@ -1193,13 +751,15 @@ export const spec = {
url: ENDPOINT,
data: {
organizationId: organizationId,
- hasRtd: hasRtd ? 1 : 0,
+ hasRtd: _internal.hasRtd() ? 1 : 0,
secure: secure,
device: device,
site: site,
pageviewId: pageviewId,
adUnits: groupedAdUnits[organizationId],
- data: dataExchange,
+ data: {
+ session: sessionData
+ },
regs: {
gdpr: gdprConsent,
coppa: coppa,
@@ -1213,9 +773,7 @@ export const spec = {
eids: eids
},
prebidVersion: '$prebid.version$',
- featuresVersion: FEATURES_VERSION,
- usIfr: usIfr,
- adgjs: storage.localStorageIsEnabled()
+ usIfr: canSyncWithIframe
},
options: {
contentType: 'text/plain'
@@ -1232,11 +790,13 @@ export const spec = {
const response = serverResponse.body;
if (response) {
if (response.data) {
- internal.enqueue({
- action: 'ssp-data',
- ts: Date.now(),
- data: response.data
- });
+ if (_internal.hasRtd()) {
+ _internal.getAdagioNs().queue.push({
+ action: 'ssp-data',
+ ts: Date.now(),
+ data: response.data
+ });
+ }
}
if (response.bids) {
response.bids.forEach(bidObj => {
@@ -1300,6 +860,4 @@ export const spec = {
},
};
-initAdagio();
-
registerBidder(spec);
diff --git a/modules/adbookpspBidAdapter.js b/modules/adbookpspBidAdapter.js
deleted file mode 100644
index cb03f2ffc17..00000000000
--- a/modules/adbookpspBidAdapter.js
+++ /dev/null
@@ -1,830 +0,0 @@
-import {find, includes} from '../src/polyfill.js';
-import {config} from '../src/config.js';
-import {BANNER, NATIVE, VIDEO} from '../src/mediaTypes.js';
-import {getStorageManager} from '../src/storageManager.js';
-import {
- deepAccess,
- deepSetValue,
- flatten,
- generateUUID,
- inIframe,
- isArray,
- isEmptyStr,
- isNumber,
- isPlainObject,
- isStr,
- logError,
- logWarn,
- triggerPixel,
- uniques
-} from '../src/utils.js';
-import {registerBidder} from '../src/adapters/bidderFactory.js';
-import { convertOrtbRequestToProprietaryNative } from '../src/native.js';
-
-/**
- * CONSTANTS
- */
-
-export const VERSION = '1.0.0';
-const EXCHANGE_URL = 'https://ex.fattail.com/openrtb2';
-const WIN_TRACKING_URL = 'https://ev.fattail.com/wins';
-const BIDDER_CODE = 'adbookpsp';
-const USER_ID_KEY = 'hb_adbookpsp_uid';
-const USER_ID_COOKIE_EXP = 2592000000; // lasts 30 days
-const BID_TTL = 300;
-const SUPPORTED_MEDIA_TYPES = [BANNER, VIDEO];
-const DEFAULT_CURRENCY = 'USD';
-const VIDEO_PARAMS = [
- 'mimes',
- 'minduration',
- 'maxduration',
- 'protocols',
- 'w',
- 'h',
- 'startdelay',
- 'placement',
- 'linearity',
- 'skip',
- 'skipmin',
- 'skipafter',
- 'sequence',
- 'battr',
- 'maxextended',
- 'minbitrate',
- 'maxbitrate',
- 'boxingallowed',
- 'playbackmethod',
- 'playbackend',
- 'delivery',
- 'pos',
- 'companionad',
- 'api',
- 'companiontype',
- 'ext',
-];
-const TARGETING_VALUE_SEPARATOR = ',';
-
-export const DEFAULT_BIDDER_CONFIG = {
- bidTTL: BID_TTL,
- defaultCurrency: DEFAULT_CURRENCY,
- exchangeUrl: EXCHANGE_URL,
- winTrackingEnabled: true,
- winTrackingUrl: WIN_TRACKING_URL,
- orgId: null,
-};
-
-config.setDefaults({
- adbookpsp: DEFAULT_BIDDER_CONFIG,
-});
-
-export const spec = {
- code: BIDDER_CODE,
- supportedMediaTypes: SUPPORTED_MEDIA_TYPES,
-
- buildRequests,
- getUserSyncs,
- interpretResponse,
- isBidRequestValid,
- onBidWon,
-};
-
-registerBidder(spec);
-
-/**
- * BID REQUEST
- */
-
-function isBidRequestValid(bidRequest) {
- return (
- hasRequiredParams(bidRequest) &&
- (isValidBannerRequest(bidRequest) || isValidVideoRequest(bidRequest))
- );
-}
-
-function buildRequests(validBidRequests, bidderRequest) {
- // convert Native ORTB definition to old-style prebid native definition
- validBidRequests = convertOrtbRequestToProprietaryNative(validBidRequests);
-
- const requests = [];
-
- if (validBidRequests.length > 0) {
- requests.push({
- method: 'POST',
- url: getBidderConfig('exchangeUrl'),
- options: {
- contentType: 'application/json',
- withCredentials: true,
- },
- data: buildRequest(validBidRequests, bidderRequest),
- });
- }
-
- return requests;
-}
-
-function buildRequest(validBidRequests, bidderRequest) {
- const request = {
- id: bidderRequest.bidderRequestId,
- tmax: bidderRequest.timeout,
- site: {
- domain: bidderRequest.refererInfo.domain,
- page: bidderRequest.refererInfo.page,
- ref: bidderRequest.refererInfo.ref,
- },
- source: buildSource(validBidRequests, bidderRequest),
- device: buildDevice(),
- regs: buildRegs(bidderRequest),
- user: buildUser(bidderRequest),
- imp: validBidRequests.map(buildImp),
- ext: {
- adbook: {
- config: getBidderConfig(),
- version: {
- prebid: '$prebid.version$',
- adapter: VERSION,
- },
- },
- },
- };
-
- return JSON.stringify(request);
-}
-
-function buildDevice() {
- const { innerWidth, innerHeight } = common.getWindowDimensions();
-
- const device = {
- w: innerWidth,
- h: innerHeight,
- js: true,
- ua: navigator.userAgent,
- dnt:
- navigator.doNotTrack === 'yes' ||
- navigator.doNotTrack == '1' ||
- navigator.msDoNotTrack == '1'
- ? 1
- : 0,
- };
-
- const deviceConfig = common.getConfig('device');
-
- if (isPlainObject(deviceConfig)) {
- return { ...device, ...deviceConfig };
- }
-
- return device;
-}
-
-function buildRegs(bidderRequest) {
- const regs = {
- coppa: common.getConfig('coppa') === true ? 1 : 0,
- };
-
- if (bidderRequest.gdprConsent) {
- deepSetValue(
- regs,
- 'ext.gdpr',
- bidderRequest.gdprConsent.gdprApplies ? 1 : 0
- );
- deepSetValue(
- regs,
- 'ext.gdprConsentString',
- bidderRequest.gdprConsent.consentString || ''
- );
- }
-
- if (bidderRequest.uspConsent) {
- deepSetValue(regs, 'ext.us_privacy', bidderRequest.uspConsent);
- }
-
- return regs;
-}
-
-function buildSource(bidRequests, bidderRequest) {
- const source = {
- fd: 1,
- tid: bidderRequest.ortb2.source.tid,
- };
- const schain = deepAccess(bidRequests, '0.schain');
-
- if (schain) {
- deepSetValue(source, 'ext.schain', schain);
- }
-
- return source;
-}
-
-function buildUser(bidderRequest) {
- const user = {
- id: getUserId(),
- };
-
- if (bidderRequest.gdprConsent) {
- user.gdprConsentString = bidderRequest.gdprConsent.consentString || '';
- }
-
- return user;
-}
-
-function buildImp(bidRequest) {
- let impBase = {
- id: bidRequest.bidId,
- tagid: bidRequest.adUnitCode,
- ext: buildImpExt(bidRequest),
- };
-
- return Object.keys(bidRequest.mediaTypes)
- .filter((mediaType) => includes(SUPPORTED_MEDIA_TYPES, mediaType))
- .reduce((imp, mediaType) => {
- return {
- ...imp,
- [mediaType]: buildMediaTypeObject(mediaType, bidRequest),
- };
- }, impBase);
-}
-
-function buildMediaTypeObject(mediaType, bidRequest) {
- switch (mediaType) {
- case BANNER:
- return buildBannerObject(bidRequest);
- case VIDEO:
- return buildVideoObject(bidRequest);
- default:
- logWarn(`${BIDDER_CODE}: Unsupported media type ${mediaType}!`);
- }
-}
-
-function buildBannerObject(bidRequest) {
- const format = bidRequest.mediaTypes.banner.sizes.map((size) => {
- const [w, h] = size;
-
- return { w, h };
- });
- const { w, h } = format[0];
-
- return {
- pos: 0,
- topframe: inIframe() ? 0 : 1,
- format,
- w,
- h,
- };
-}
-
-function buildVideoObject(bidRequest) {
- const { w, h } = getVideoSize(bidRequest);
- let videoObj = {
- w,
- h,
- };
-
- for (const param of VIDEO_PARAMS) {
- const paramsValue = deepAccess(bidRequest, `params.video.${param}`);
- const mediaTypeValue = deepAccess(
- bidRequest,
- `mediaTypes.video.${param}`
- );
-
- if (paramsValue || mediaTypeValue) {
- videoObj[param] = paramsValue || mediaTypeValue;
- }
- }
-
- return videoObj;
-}
-
-function getVideoSize(bidRequest) {
- const playerSize = deepAccess(bidRequest, 'mediaTypes.video.playerSize', [[]]);
- const { w, h } = deepAccess(bidRequest, 'mediaTypes.video', {});
-
- if (isNumber(w) && isNumber(h)) {
- return { w, h };
- }
-
- return {
- w: playerSize[0][0],
- h: playerSize[0][1],
- }
-}
-
-function buildImpExt(validBidRequest) {
- const defaultOrgId = getBidderConfig('orgId');
- const { orgId, placementId } = validBidRequest.params || {};
- const effectiverOrgId = orgId || defaultOrgId;
- const ext = {};
-
- if (placementId) {
- deepSetValue(ext, 'adbook.placementId', placementId);
- }
-
- if (effectiverOrgId) {
- deepSetValue(ext, 'adbook.orgId', effectiverOrgId);
- }
-
- return ext;
-}
-
-/**
- * BID RESPONSE
- */
-
-function interpretResponse(bidResponse, bidderRequest) {
- const bidderRequestBody = safeJSONparse(bidderRequest.data);
-
- if (
- deepAccess(bidderRequestBody, 'id') !=
- deepAccess(bidResponse, 'body.id')
- ) {
- logError(
- `${BIDDER_CODE}: Bid response id does not match bidder request id`
- );
-
- return [];
- }
-
- const referrer = deepAccess(bidderRequestBody, 'site.ref', '');
- const incomingBids = deepAccess(bidResponse, 'body.seatbid', [])
- .filter((seat) => isArray(seat.bid))
- .reduce((bids, seat) => bids.concat(seat.bid), [])
- .filter(validateBid(bidderRequestBody));
- const targetingMap = buildTargetingMap(incomingBids);
-
- return impBidsToPrebidBids(
- incomingBids,
- bidderRequestBody,
- bidResponse.body.cur,
- referrer,
- targetingMap
- );
-}
-
-function impBidsToPrebidBids(
- incomingBids,
- bidderRequestBody,
- bidResponseCurrency,
- referrer,
- targetingMap
-) {
- return incomingBids
- .map(
- impToPrebidBid(
- bidderRequestBody,
- bidResponseCurrency,
- referrer,
- targetingMap
- )
- )
- .filter((i) => i !== null);
-}
-
-const impToPrebidBid =
- (bidderRequestBody, bidResponseCurrency, referrer, targetingMap) => (bid, bidIndex) => {
- try {
- const bidRequest = findBidRequest(bidderRequestBody, bid);
-
- if (!bidRequest) {
- logError(`${BIDDER_CODE}: Could not match bid to bid request`);
-
- return null;
- }
- const categories = deepAccess(bid, 'cat', []);
- const mediaType = getMediaType(bid.adm);
- let prebidBid = {
- ad: bid.adm,
- adId: bid.adid,
- adserverTargeting: targetingMap[bidIndex],
- adUnitCode: bidRequest.tagid,
- bidderRequestId: bidderRequestBody.id,
- bidId: bid.id,
- cpm: bid.price,
- creativeId: bid.crid || bid.id,
- currency: bidResponseCurrency || getBidderConfig('defaultCurrency'),
- height: bid.h,
- lineItemId: deepAccess(bid, 'ext.liid'),
- mediaType,
- meta: {
- advertiserDomains: bid.adomain,
- mediaType,
- primaryCatId: categories[0],
- secondaryCatIds: categories.slice(1),
- },
- netRevenue: true,
- nurl: bid.nurl,
- referrer: referrer,
- requestId: bid.impid,
- ttl: getBidderConfig('bidTTL'),
- width: bid.w,
- };
-
- if (mediaType === VIDEO) {
- prebidBid = {
- ...prebidBid,
- ...getVideoSpecificParams(bidRequest, bid),
- };
- }
-
- if (deepAccess(bid, 'ext.pa_win') === true) {
- prebidBid.auctionWinner = true;
- }
- return prebidBid;
- } catch (error) {
- logError(`${BIDDER_CODE}: Error while building bid`, error);
-
- return null;
- }
- };
-
-function getVideoSpecificParams(bidRequest, bid) {
- return {
- height: bid.h || bidRequest.video.h,
- vastXml: bid.adm,
- width: bid.w || bidRequest.video.w,
- };
-}
-
-function buildTargetingMap(bids) {
- const impIds = bids.map(({ impid }) => impid).filter(uniques);
- const values = impIds.reduce((result, id) => {
- result[id] = {
- lineItemIds: [],
- orderIds: [],
- dealIds: [],
- adIds: [],
- adAndOrderIndexes: []
- };
-
- return result;
- }, {});
-
- bids.forEach((bid, bidIndex) => {
- let impId = bid.impid;
- values[impId].lineItemIds.push(bid.ext.liid);
- values[impId].dealIds.push(bid.dealid);
- values[impId].adIds.push(bid.adid);
-
- if (deepAccess(bid, 'ext.ordid')) {
- values[impId].orderIds.push(bid.ext.ordid);
- bid.ext.ordid.split(TARGETING_VALUE_SEPARATOR).forEach((ordid, ordIndex) => {
- let adIdIndex = values[impId].adIds.indexOf(bid.adid);
- values[impId].adAndOrderIndexes.push(adIdIndex + '_' + ordIndex)
- })
- }
- });
-
- const targetingMap = {};
-
- bids.forEach((bid, bidIndex) => {
- let id = bid.impid;
-
- targetingMap[bidIndex] = {
- hb_liid_adbookpsp: values[id].lineItemIds.join(TARGETING_VALUE_SEPARATOR),
- hb_deal_adbookpsp: values[id].dealIds.join(TARGETING_VALUE_SEPARATOR),
- hb_ad_ord_adbookpsp: values[id].adAndOrderIndexes.join(TARGETING_VALUE_SEPARATOR),
- hb_adid_c_adbookpsp: values[id].adIds.join(TARGETING_VALUE_SEPARATOR),
- hb_ordid_adbookpsp: values[id].orderIds.join(TARGETING_VALUE_SEPARATOR),
- };
- })
- return targetingMap;
-}
-
-/**
- * VALIDATION
- */
-
-function hasRequiredParams(bidRequest) {
- const value =
- deepAccess(bidRequest, 'params.placementId') != null ||
- deepAccess(bidRequest, 'params.orgId') != null ||
- getBidderConfig('orgId') != null;
-
- if (!value) {
- logError(`${BIDDER_CODE}: missing orgId and placementId parameter`);
- }
-
- return value;
-}
-
-function isValidBannerRequest(bidRequest) {
- const value = validateSizes(
- deepAccess(bidRequest, 'mediaTypes.banner.sizes', [])
- );
-
- return value;
-}
-
-function isValidVideoRequest(bidRequest) {
- const value =
- isArray(deepAccess(bidRequest, 'mediaTypes.video.mimes')) &&
- validateVideoSizes(bidRequest);
-
- return value;
-}
-
-function validateSize(size) {
- return isArray(size) && size.length === 2 && size.every(isNumber);
-}
-
-function validateSizes(sizes) {
- return isArray(sizes) && sizes.length > 0 && sizes.every(validateSize);
-}
-
-function validateVideoSizes(bidRequest) {
- const { w, h } = deepAccess(bidRequest, 'mediaTypes.video', {});
-
- return (
- validateSizes(
- deepAccess(bidRequest, 'mediaTypes.video.playerSize')
- ) ||
- (isNumber(w) && isNumber(h))
- );
-}
-
-function validateBid(bidderRequestBody) {
- return function (bid) {
- const mediaType = getMediaType(bid.adm);
- const bidRequest = findBidRequest(bidderRequestBody, bid);
- let validators = commonBidValidators;
-
- if (mediaType === BANNER) {
- validators = [...commonBidValidators, ...bannerBidValidators];
- }
-
- const value = validators.every((validator) => validator(bid, bidRequest));
-
- if (!value) {
- logWarn(`${BIDDER_CODE}: Invalid bid`, bid);
- }
-
- return value;
- };
-}
-
-const commonBidValidators = [
- (bid) => isPlainObject(bid),
- (bid) => isNonEmptyStr(bid.adid),
- (bid) => isNonEmptyStr(bid.adm),
- (bid) => isNonEmptyStr(bid.id),
- (bid) => isNonEmptyStr(bid.impid),
- (bid) => isNonEmptyStr(deepAccess(bid, 'ext.liid')),
- (bid) => isNumber(bid.price),
-];
-
-const bannerBidValidators = [
- validateBannerDimension('w'),
- validateBannerDimension('h'),
-];
-
-function validateBannerDimension(dimension) {
- return function (bid, bidRequest) {
- if (bid[dimension] == null) {
- return bannerHasSingleSize(bidRequest);
- }
-
- return isNumber(bid[dimension]);
- };
-}
-
-function bannerHasSingleSize(bidRequest) {
- return deepAccess(bidRequest, 'banner.format', []).length === 1;
-}
-
-/**
- * USER SYNC
- */
-
-export const storage = getStorageManager({bidderCode: BIDDER_CODE});
-
-function getUserSyncs(syncOptions, responses, gdprConsent, uspConsent) {
- return responses
- .map((response) => deepAccess(response, 'body.ext.sync'))
- .filter(isArray)
- .reduce(flatten, [])
- .filter(validateSync(syncOptions))
- .map(applyConsents(gdprConsent, uspConsent));
-}
-
-const validateSync = (syncOptions) => (sync) => {
- return (
- ((sync.type === 'image' && syncOptions.pixelEnabled) ||
- (sync.type === 'iframe' && syncOptions.iframeEnabled)) &&
- sync.url
- );
-};
-
-const applyConsents = (gdprConsent, uspConsent) => (sync) => {
- const url = getUrlBuilder(sync.url);
-
- if (gdprConsent) {
- url.set('gdpr', gdprConsent.gdprApplies ? 1 : 0);
- url.set('consentString', gdprConsent.consentString || '');
- }
- if (uspConsent) {
- url.set('us_privacy', encodeURIComponent(uspConsent));
- }
- if (common.getConfig('coppa') === true) {
- url.set('coppa', 1);
- }
-
- return { ...sync, url: url.toString() };
-};
-
-function getUserId() {
- const id = getUserIdFromStorage() || common.generateUUID();
-
- setUserId(id);
-
- return id;
-}
-
-function getUserIdFromStorage() {
- const id = storage.localStorageIsEnabled()
- ? storage.getDataFromLocalStorage(USER_ID_KEY)
- : storage.getCookie(USER_ID_KEY);
-
- if (!validateUUID(id)) {
- return;
- }
-
- return id;
-}
-
-function setUserId(userId) {
- if (storage.localStorageIsEnabled()) {
- storage.setDataInLocalStorage(USER_ID_KEY, userId);
- }
-
- if (storage.cookiesAreEnabled()) {
- const expires = new Date(Date.now() + USER_ID_COOKIE_EXP).toISOString();
-
- storage.setCookie(USER_ID_KEY, userId, expires);
- }
-}
-
-function validateUUID(uuid) {
- return /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(
- uuid
- );
-}
-
-/**
- * EVENT TRACKING
- */
-
-function onBidWon(bid) {
- if (!getBidderConfig('winTrackingEnabled')) {
- return;
- }
-
- const wurl = buildWinUrl(bid);
-
- if (wurl !== null) {
- triggerPixel(wurl);
- }
-
- if (isStr(bid.nurl)) {
- triggerPixel(bid.nurl);
- }
-}
-
-function buildWinUrl(bid) {
- try {
- const url = getUrlBuilder(getBidderConfig('winTrackingUrl'));
-
- url.set('impId', bid.requestId);
- url.set('reqId', bid.bidderRequestId);
- url.set('bidId', bid.bidId);
-
- return url.toString();
- } catch (_) {
- logError(
- `${BIDDER_CODE}: Could not build win tracking URL with %s`,
- getBidderConfig('winTrackingUrl')
- );
-
- return null;
- }
-}
-
-/**
- * COMMON
- */
-
-const VAST_REGEXP = /VAST\s+version/;
-
-function getMediaType(adm) {
- const videoRegex = new RegExp(VAST_REGEXP);
-
- if (videoRegex.test(adm)) {
- return VIDEO;
- }
-
- const markup = safeJSONparse(adm.replace(/\\/g, ''));
-
- if (markup && isPlainObject(markup.native)) {
- return NATIVE;
- }
-
- return BANNER;
-}
-
-function safeJSONparse(...args) {
- try {
- return JSON.parse(...args);
- } catch (_) {
- return undefined;
- }
-}
-
-function isNonEmptyStr(value) {
- return isStr(value) && !isEmptyStr(value);
-}
-
-function findBidRequest(bidderRequest, bid) {
- return find(bidderRequest.imp, (imp) => imp.id === bid.impid);
-}
-
-function getBidderConfig(property) {
- if (!property) {
- return common.getConfig(`${BIDDER_CODE}`);
- }
-
- return common.getConfig(`${BIDDER_CODE}.${property}`);
-}
-
-const getUrlBase = function (url) {
- return url.split('?')[0];
-};
-
-const getUrlQuery = function (url) {
- const query = url.split('?')[1];
-
- if (!query) {
- return;
- }
-
- return '?' + query.split('#')[0];
-};
-
-const getUrlHash = function (url) {
- const hash = url.split('#')[1];
-
- if (!hash) {
- return;
- }
-
- return '#' + hash;
-};
-
-const getUrlBuilder = function (url) {
- const hash = getUrlHash(url);
- const base = getUrlBase(url);
- const query = getUrlQuery(url);
- const pairs = [];
-
- function set(key, value) {
- pairs.push([key, value]);
-
- return {
- set,
- toString,
- };
- }
-
- function toString() {
- if (!pairs.length) {
- return url;
- }
-
- const queryString = pairs
- .map(function (pair) {
- return pair.join('=');
- })
- .join('&');
-
- if (!query) {
- return base + '?' + queryString + (hash || '');
- }
-
- return base + query + '&' + queryString + (hash || '');
- }
-
- return {
- set,
- toString,
- };
-};
-
-export const common = {
- generateUUID: function () {
- return generateUUID();
- },
- getConfig: function (property) {
- return config.getConfig(property);
- },
- getWindowDimensions: function () {
- return {
- innerWidth: window.innerWidth,
- innerHeight: window.innerHeight,
- };
- },
-};
diff --git a/modules/adbookpspBidAdapter.md b/modules/adbookpspBidAdapter.md
deleted file mode 100644
index e258b1fd7c3..00000000000
--- a/modules/adbookpspBidAdapter.md
+++ /dev/null
@@ -1,191 +0,0 @@
-### Overview
-
-```
-Module Name: AdbookPSP Bid Adapter
-Module Type: Bidder Adapter
-Maintainer: hbsupport@fattail.com
-```
-
-### Description
-
-Prebid.JS adapter that connects to the AdbookPSP demand sources.
-
-*NOTE*: The AdBookPSP Bidder Adapter requires setup and approval before use. The adapter uses custom targeting keys that require a dedicated Google Ad Manager setup to work. Please reach out to your AdbookPSP representative for more details.
-
-### Bidder parameters
-
-Each adUnit with `adbookpsp` adapter has to have either `placementId` or `orgId` set.
-
-```js
-var adUnits = [
- {
- bids: [
- {
- bidder: 'adbookpsp',
- params: {
- placementId: 'example-placement-id',
- orgId: 'example-org-id',
- },
- },
- ],
- },
-];
-```
-
-Alternatively, `orgId` can be set globally while configuring prebid.js:
-
-```js
-pbjs.setConfig({
- adbookpsp: {
- orgId: 'example-org-id',
- },
-});
-```
-
-*NOTE*: adUnit orgId will take precedence over the globally set orgId.
-
-#### Banner parameters
-
-Required:
-
-- sizes
-
-Example configuration:
-
-```js
-var adUnits = [
- {
- code: 'div-1',
- mediaTypes: {
- banner: {
- sizes: [[300, 250]],
- },
- }
- },
-];
-```
-
-#### Video parameters
-
-Required:
-
-- context
-- mimes
-- playerSize
-
-Additionaly, all `Video` object parameters described in chapter `3.2.7` of the [OpenRTB 2.5 specification](https://www.iab.com/wp-content/uploads/2016/03/OpenRTB-API-Specification-Version-2-5-FINAL.pdf) can be passed as bidder params.
-
-Example configuration:
-
-```js
-var adUnits = [
- {
- code: 'div-1',
- mediaTypes: {
- video: {
- context: 'outstream',
- mimes: ['video/mp4', 'video/x-flv'],
- playerSize: [400, 300],
- protocols: [2, 3],
- },
- },
- bids: [
- {
- bidder: 'adbookpsp',
- params: {
- placementId: 'example-placement-id',
- video: {
- placement: 2,
- },
- },
- },
- ],
- },
-];
-```
-
-*NOTE*: Supporting outstream video requires the publisher to set up a renderer as described [in the Prebid docs](https://docs.prebid.org/dev-docs/show-outstream-video-ads.html).
-
-#### Testing params
-
-To test the adapter, either `placementId: 'example-placement-id'` or `orgId: 'example-org-id'` can be used.
-
-*NOTE*: If any adUnit uses the testing params, all adUnits will receive testing responses.
-
-Example adUnit configuration:
-
-```js
-var adUnits = [
- {
- code: 'div-1',
- mediaTypes: {
- banner: {
- sizes: [[300, 250]],
- },
- },
- bids: [
- {
- bidder: 'adbookpsp',
- params: {
- placementId: 'example-placement-id',
- },
- },
- ],
- },
-];
-```
-
-Example google publisher tag configuration:
-
-```js
-googletag
- .defineSlot('/22094606581/example-adbookPSP', sizes, 'div-1')
- .addService(googletag.pubads());
-```
-
-### Configuration
-
-Setting of the `orgId` can be done in the `pbjs.setConfig()` call. If this is the case, both `orgId` and `placementId` become optional. Remember to only call `pbjs.setConfig()` once as each call overwrites anything set in previous calls.
-
-Enabling iframe based user syncs is also encouraged.
-
-```javascript
-pbjs.setConfig({
- adbookpsp: {
- orgId: 'example-org-id',
- winTrackingEnabled: true,
- },
- userSync: {
- filterSettings: {
- iframe: {
- bidders: '*',
- filter: 'include',
- },
- },
- },
-});
-```
-
-### Privacy
-
-GDPR and US Privacy are both supported by default.
-
-#### Event tracking
-
-This adapter tracks win events for it’s bids. This functionality can be disabled by adding `winTrackingEnabled: false` to the adapter configuration:
-
-```js
-pbjs.setConfig({
- adbookpsp: {
- winTrackingEnabled: false,
- },
-});
-```
-
-#### COPPA support
-
-COPPA support can be enabled for all the visitors by changing the config value:
-
-```js
-config.setConfig({ coppa: true });
-```
diff --git a/modules/admanBidAdapter.js b/modules/admanBidAdapter.js
index b78737722bd..fd59ba74944 100644
--- a/modules/admanBidAdapter.js
+++ b/modules/admanBidAdapter.js
@@ -144,6 +144,7 @@ export const spec = {
placement.protocols = mediaTypes[VIDEO].protocols;
placement.startdelay = mediaTypes[VIDEO].startdelay;
placement.placement = mediaTypes[VIDEO].placement;
+ placement.plcmt = mediaTypes[VIDEO].plcmt;
placement.skip = mediaTypes[VIDEO].skip;
placement.skipafter = mediaTypes[VIDEO].skipafter;
placement.minbitrate = mediaTypes[VIDEO].minbitrate;
diff --git a/modules/adomikAnalyticsAdapter.js b/modules/adomikAnalyticsAdapter.js
deleted file mode 100644
index d6e1547cce8..00000000000
--- a/modules/adomikAnalyticsAdapter.js
+++ /dev/null
@@ -1,262 +0,0 @@
-import adapter from '../libraries/analyticsAdapter/AnalyticsAdapter.js';
-import {EVENTS} from '../src/constants.js';
-import adapterManager from '../src/adapterManager.js';
-import {logInfo} from '../src/utils.js';
-import {find, findIndex} from '../src/polyfill.js';
-
-// Events used in adomik analytics adapter.
-const auctionInit = EVENTS.AUCTION_INIT;
-const auctionEnd = EVENTS.AUCTION_END;
-const bidRequested = EVENTS.BID_REQUESTED;
-const bidResponse = EVENTS.BID_RESPONSE;
-const bidWon = EVENTS.BID_WON;
-const bidTimeout = EVENTS.BID_TIMEOUT;
-const ua = navigator.userAgent;
-
-var _sampled = true;
-
-let adomikAdapter = Object.assign(adapter({}),
- {
- // Track every event needed
- track({ eventType, args }) {
- switch (eventType) {
- case auctionInit:
- adomikAdapter.initializeBucketEvents()
- adomikAdapter.currentContext.id = args.auctionId
- break;
-
- case bidTimeout:
- adomikAdapter.currentContext.timeouted = true;
- break;
-
- case bidResponse:
- adomikAdapter.saveBidResponse(args);
- break;
-
- case bidWon:
- args.id = args.adId;
- args.placementCode = args.adUnitCode;
- adomikAdapter.sendWonEvent(args);
- break;
-
- case bidRequested:
- args.bids.forEach(function(bid) {
- adomikAdapter.bucketEvents.push({
- type: 'request',
- event: {
- bidder: bid.bidder.toUpperCase(),
- placementCode: bid.adUnitCode
- }
- });
- });
- break;
-
- case auctionEnd:
- if (adomikAdapter.bucketEvents.length > 0) {
- adomikAdapter.sendTypedEvent();
- }
- break;
- }
- }
- }
-);
-
-adomikAdapter.initializeBucketEvents = function() {
- adomikAdapter.bucketEvents = [];
-}
-
-adomikAdapter.saveBidResponse = function(args) {
- let responseSaved = adomikAdapter.bucketEvents.find((bucketEvent) =>
- bucketEvent.type == 'response' && bucketEvent.event.id == args.id
- );
- if (responseSaved) { return true; }
- adomikAdapter.bucketEvents.push({
- type: 'response',
- event: adomikAdapter.buildBidResponse(args)
- });
-}
-
-adomikAdapter.maxPartLength = function () {
- return (ua.includes(' MSIE ')) ? 1600 : 60000;
-};
-
-adomikAdapter.sendTypedEvent = function() {
- let [testId, testValue] = adomikAdapter.getKeyValues();
- const groupedTypedEvents = adomikAdapter.buildTypedEvents();
-
- const bulkEvents = {
- testId: testId,
- testValue: testValue,
- uid: adomikAdapter.currentContext.uid,
- ahbaid: adomikAdapter.currentContext.id,
- hostname: window.location.hostname,
- sampling: adomikAdapter.currentContext.sampling,
- eventsByPlacementCode: groupedTypedEvents.map(function(typedEventsByType) {
- let sizes = [];
- const eventKeys = ['request', 'response', 'winner'];
- let events = {};
-
- eventKeys.forEach((eventKey) => {
- events[`${eventKey}s`] = [];
- if (typedEventsByType[eventKey] !== undefined) {
- typedEventsByType[eventKey].forEach((typedEvent) => {
- if (typedEvent.event.size !== undefined) {
- const size = adomikAdapter.sizeUtils.handleSize(sizes, typedEvent.event.size);
- if (size !== null) {
- sizes = [...sizes, size];
- }
- }
- events[`${eventKey}s`] = [...events[`${eventKey}s`], typedEvent.event];
- });
- }
- });
-
- return {
- placementCode: typedEventsByType.placementCode,
- sizes,
- events
- };
- })
- };
-
- const stringBulkEvents = JSON.stringify(bulkEvents)
- logInfo('Events sent to adomik prebid analytic ' + stringBulkEvents);
-
- const encodedBuf = window.btoa(stringBulkEvents);
-
- const encodedUri = encodeURIComponent(encodedBuf);
- const maxLength = adomikAdapter.maxPartLength();
- const splittedUrl = encodedUri.match(new RegExp(`.{1,${maxLength}}`, 'g'));
-
- splittedUrl.forEach((split, i) => {
- const partUrl = `${split}&id=${adomikAdapter.currentContext.id}&part=${i}&on=${splittedUrl.length - 1}`;
- const img = new Image(1, 1);
- img.src = 'https://' + adomikAdapter.currentContext.url + '/?q=' + partUrl;
- })
-};
-
-adomikAdapter.sendWonEvent = function (wonEvent) {
- let [testId, testValue] = adomikAdapter.getKeyValues();
- let keyValues = { testId: testId, testValue: testValue };
- let samplingInfo = { sampling: adomikAdapter.currentContext.sampling };
- wonEvent = { ...adomikAdapter.buildBidResponse(wonEvent), ...keyValues, ...samplingInfo };
-
- const stringWonEvent = JSON.stringify(wonEvent);
- logInfo('Won event sent to adomik prebid analytic ' + stringWonEvent);
-
- const encodedBuf = window.btoa(stringWonEvent);
- const encodedUri = encodeURIComponent(encodedBuf);
- const img = new Image(1, 1);
- img.src = `https://${adomikAdapter.currentContext.url}/?q=${encodedUri}&id=${adomikAdapter.currentContext.id}&won=true`;
-}
-
-adomikAdapter.buildBidResponse = function (bid) {
- return {
- bidder: bid.bidderCode.toUpperCase(),
- placementCode: bid.adUnitCode,
- id: bid.adId,
- status: (bid.statusMessage === 'Bid available') ? 'VALID' : 'EMPTY_OR_ERROR',
- cpm: parseFloat(bid.cpm),
- size: {
- width: Number(bid.width),
- height: Number(bid.height)
- },
- timeToRespond: bid.timeToRespond,
- afterTimeout: adomikAdapter.currentContext.timeouted
- };
-}
-
-adomikAdapter.sizeUtils = {
- sizeAlreadyExists: (sizes, typedEventSize) => {
- return find(sizes, (size) => size.height === typedEventSize.height && size.width === typedEventSize.width);
- },
- formatSize: (typedEventSize) => {
- return {
- width: Number(typedEventSize.width),
- height: Number(typedEventSize.height)
- };
- },
- handleSize: (sizes, typedEventSize) => {
- let formattedSize = null;
- if (adomikAdapter.sizeUtils.sizeAlreadyExists(sizes, typedEventSize) === undefined) {
- formattedSize = adomikAdapter.sizeUtils.formatSize(typedEventSize);
- }
- return formattedSize;
- }
-};
-
-adomikAdapter.buildTypedEvents = function () {
- const groupedTypedEvents = [];
- adomikAdapter.bucketEvents.forEach(function(typedEvent, i) {
- const [placementCode, type] = [typedEvent.event.placementCode, typedEvent.type];
- let existTypedEvent = findIndex(groupedTypedEvents, (groupedTypedEvent) => groupedTypedEvent.placementCode === placementCode);
-
- if (existTypedEvent === -1) {
- groupedTypedEvents.push({
- placementCode: placementCode,
- [type]: [typedEvent]
- });
- existTypedEvent = groupedTypedEvents.length - 1;
- }
-
- if (groupedTypedEvents[existTypedEvent][type]) {
- groupedTypedEvents[existTypedEvent][type] = [...groupedTypedEvents[existTypedEvent][type], typedEvent];
- } else {
- groupedTypedEvents[existTypedEvent][type] = [typedEvent];
- }
- });
-
- return groupedTypedEvents;
-}
-
-adomikAdapter.getKeyValues = function () {
- let preventTest = sessionStorage.getItem(window.location.hostname + '_NoAdomikTest')
- let inScope = sessionStorage.getItem(window.location.hostname + '_AdomikTestInScope')
- let keyValues = JSON.parse(sessionStorage.getItem(window.location.hostname + '_AdomikTest'))
- let testId;
- let testValue;
- if (typeof (keyValues) === 'object' && keyValues != undefined && !preventTest && inScope) {
- testId = keyValues.testId
- testValue = keyValues.testOptionLabel
- }
- return [testId, testValue]
-}
-
-adomikAdapter.enable = function(options) {
- adomikAdapter.currentContext = {
- uid: options.id,
- url: options.url,
- id: '',
- timeouted: false,
- sampling: options.sampling
- }
- logInfo('Adomik Analytics enabled with config', options);
- adomikAdapter.adapterEnableAnalytics(options);
-};
-
-adomikAdapter.checkOptions = function(options) {
- if (typeof options !== 'undefined') {
- if (options.id && options.url) { adomikAdapter.enable(options); } else { logInfo('Adomik Analytics disabled because id and/or url is missing from config', options); }
- } else { logInfo('Adomik Analytics disabled because config is missing'); }
-};
-
-adomikAdapter.checkSampling = function(options) {
- _sampled = typeof options === 'undefined' ||
- typeof options.sampling === 'undefined' ||
- (options.sampling > 0 && Math.random() < parseFloat(options.sampling));
- if (_sampled) { adomikAdapter.checkOptions(options) } else { logInfo('Adomik Analytics ignored for sampling', options.sampling); }
-};
-
-adomikAdapter.adapterEnableAnalytics = adomikAdapter.enableAnalytics;
-
-adomikAdapter.enableAnalytics = function ({ provider, options }) {
- logInfo('Adomik Analytics enableAnalytics', provider);
- adomikAdapter.checkSampling(options);
-};
-
-adapterManager.registerAnalyticsAdapter({
- adapter: adomikAdapter,
- code: 'adomik'
-});
-
-export default adomikAdapter;
diff --git a/modules/adtelligentBidAdapter.js b/modules/adtelligentBidAdapter.js
index a95b9ed5652..afdc49a71f4 100644
--- a/modules/adtelligentBidAdapter.js
+++ b/modules/adtelligentBidAdapter.js
@@ -4,7 +4,6 @@ import {ADPOD, BANNER, VIDEO} from '../src/mediaTypes.js';
import {config} from '../src/config.js';
import {Renderer} from '../src/Renderer.js';
import {find} from '../src/polyfill.js';
-import {convertTypes} from '../libraries/transformParamsUtils/convertTypes.js';
import {chunk} from '../libraries/chunk/chunk.js';
/**
@@ -138,11 +137,6 @@ export const spec = {
return bids;
},
- transformBidParams(params) {
- return convertTypes({
- 'aid': 'number',
- }, params);
- }
};
function parseRTBResponse(serverResponse, adapterRequest) {
diff --git a/modules/adtrueBidAdapter.js b/modules/adtrueBidAdapter.js
index 389986eb586..a6186d6129f 100644
--- a/modules/adtrueBidAdapter.js
+++ b/modules/adtrueBidAdapter.js
@@ -43,6 +43,7 @@ const VIDEO_CUSTOM_PARAMS = {
'battr': DATA_TYPES.ARRAY,
'linearity': DATA_TYPES.NUMBER,
'placement': DATA_TYPES.NUMBER,
+ 'plcmt': DATA_TYPES.NUMBER,
'minbitrate': DATA_TYPES.NUMBER,
'maxbitrate': DATA_TYPES.NUMBER
};
diff --git a/modules/anPspParamsConverter.js b/modules/anPspParamsConverter.js
new file mode 100644
index 00000000000..27b90168476
--- /dev/null
+++ b/modules/anPspParamsConverter.js
@@ -0,0 +1,128 @@
+/*
+- register a hook function on the makeBidRequests hook (after the main function ran)
+
+- this hook function will:
+1. verify s2sconfig is defined and we (or our aliases) are included to the config
+2. filter bidRequests that match to our bidderName or any registered aliases
+3. for each request, read the bidderRequests.bids[].params to modify the keys/values
+ a. in particular change the keywords structure, apply underscore casing for keys, adjust use_payment_rule name, and convert certain values' types
+ b. will import some functions from the anKeywords library, but ideally should be kept separate to avoid including this code when it's not needed (strict client-side setups) and avoid the rest of the appnexus adapter's need for inclusion for those strictly server-side setups.
+*/
+
+// import { CONSTANTS } from '../src/cons tants.js';
+import {isArray, isPlainObject, isStr} from '../src/utils.js';
+import {getHook} from '../src/hook.js';
+import {config} from '../src/config.js';
+import {convertCamelToUnderscore, appnexusAliases} from '../libraries/appnexusUtils/anUtils.js';
+import {convertTypes} from '../libraries/transformParamsUtils/convertTypes.js';
+import adapterManager from '../src/adapterManager.js';
+
+// keywords: { 'genre': ['rock', 'pop'], 'pets': ['dog'] } goes to 'genre=rock,genre=pop,pets=dog'
+function convertKeywordsToString(keywords) {
+ let result = '';
+ Object.keys(keywords).forEach(key => {
+ // if 'text' or ''
+ if (isStr(keywords[key])) {
+ if (keywords[key] !== '') {
+ result += `${key}=${keywords[key]},`
+ } else {
+ result += `${key},`;
+ }
+ } else if (isArray(keywords[key])) {
+ if (keywords[key][0] === '') {
+ result += `${key},`
+ } else {
+ keywords[key].forEach(val => {
+ result += `${key}=${val},`
+ });
+ }
+ }
+ });
+
+ // remove last trailing comma
+ result = result.substring(0, result.length - 1);
+ return result;
+}
+
+function digForAppNexusBidder(s2sConfig) {
+ let result = false;
+ // check for plain setup
+ if (s2sConfig?.bidders?.includes('appnexus')) result = true;
+
+ // registered aliases
+ const aliasList = appnexusAliases.map(aliasObj => (aliasObj.code));
+ if (!result && s2sConfig?.bidders?.filter(s2sBidder => aliasList.includes(s2sBidder)).length > 0) result = true;
+
+ // pbjs.aliasBidder
+ if (!result) {
+ result = !!(s2sConfig?.bidders?.find(bidder => (adapterManager.resolveAlias(bidder) === 'appnexus')));
+ }
+
+ return result;
+}
+
+// need a separate check b/c we're checking a specific bidRequest to see if we modify it, not just that we have a server-side bidder somewhere in prebid.js
+// function isThisOurBidderInDisguise(tarBidder, s2sConfig) {
+// if (tarBidder === 'appnexus') return true;
+
+// if (isPlainObject(s2sConfig?.extPrebid?.aliases) && !!(Object.entries(s2sConfig?.extPrebid?.aliases).find((pair) => (pair[0] === tarBidder && pair[1] === 'appnexus')))) return true;
+
+// if (appnexusAliases.map(aliasObj => (aliasObj.code)).includes(tarBidder)) return true;
+
+// if (adapterManager.resolveAlias(tarBidder) === 'appnexus') return true;
+
+// return false;
+// }
+
+export function convertAnParams(next, bidderRequests) {
+ // check s2sconfig
+ const s2sConfig = config.getConfig('s2sConfig');
+ let proceed = false;
+
+ if (isPlainObject(s2sConfig)) {
+ proceed = digForAppNexusBidder(s2sConfig);
+ } else if (isArray(s2sConfig)) {
+ s2sConfig.forEach(s2sCfg => {
+ proceed = digForAppNexusBidder(s2sCfg);
+ });
+ }
+
+ if (proceed) {
+ bidderRequests
+ .flatMap(br => br.bids)
+ .filter(bid => bid.src === 's2s' && adapterManager.resolveAlias(bid.bidder) === 'appnexus')
+ .forEach((bid) => {
+ transformBidParams(bid);
+ });
+ }
+
+ next(bidderRequests);
+}
+
+function transformBidParams(bid) {
+ let params = bid.params;
+ if (params) {
+ params = convertTypes({
+ 'member': 'string',
+ 'invCode': 'string',
+ 'placementId': 'number',
+ 'keywords': convertKeywordsToString,
+ 'publisherId': 'number'
+ }, params);
+
+ Object.keys(params).forEach(paramKey => {
+ let convertedKey = convertCamelToUnderscore(paramKey);
+ if (convertedKey !== paramKey) {
+ params[convertedKey] = params[paramKey];
+ delete params[paramKey];
+ }
+ });
+
+ params.use_pmt_rule = (typeof params.use_payment_rule === 'boolean') ? params.use_payment_rule : false;
+ if (params.use_payment_rule) {
+ delete params.use_payment_rule;
+ }
+ }
+}
+
+getHook('makeBidRequests').after(convertAnParams, 9);
diff --git a/modules/anPspParamsConverter.md b/modules/anPspParamsConverter.md
new file mode 100644
index 00000000000..f341b0a5976
--- /dev/null
+++ b/modules/anPspParamsConverter.md
@@ -0,0 +1,10 @@
+## Quick Summary
+
+This module is a temporary measure for publishers running Prebid.js 9.0+ and using the AppNexus PSP endpoint through their Prebid.js setup. Please ensure to include this module in your builds of Prebid.js 9.0+, otherwise requests to PSP may not complete successfully.
+
+## Module's purpose
+
+This module replicates certain functionality that was previously stored in the appnexusBidAdapter.js file within a function named transformBidParams.
+
+This transformBidParams was a standard function in all adapters, which helped to change/modify the params and their values to a format that matched the bidder's request structure on the server-side endpoint. In Prebid.js 9.0, this standard function was removed in all adapter files, so that the whole client-side file (eg appnexusBidAdapter.js) wouldn't have to be included in a prebid.js build file that was meant for server-side bidders.
+
diff --git a/modules/appnexusBidAdapter.js b/modules/appnexusBidAdapter.js
index b0c91a14a46..3d851c96a1f 100644
--- a/modules/appnexusBidAdapter.js
+++ b/modules/appnexusBidAdapter.js
@@ -31,10 +31,9 @@ import {APPNEXUS_CATEGORY_MAPPING} from '../libraries/categoryTranslationMapping
import {
convertKeywordStringToANMap,
getANKewyordParamFromMaps,
- getANKeywordParam,
- transformBidderParamKeywords
+ getANKeywordParam
} from '../libraries/appnexusUtils/anKeywords.js';
-import {convertCamelToUnderscore, fill} from '../libraries/appnexusUtils/anUtils.js';
+import {convertCamelToUnderscore, fill, appnexusAliases} from '../libraries/appnexusUtils/anUtils.js';
import {convertTypes} from '../libraries/transformParamsUtils/convertTypes.js';
import {chunk} from '../libraries/chunk/chunk.js';
@@ -108,21 +107,7 @@ const storage = getStorageManager({bidderCode: BIDDER_CODE});
export const spec = {
code: BIDDER_CODE,
gvlid: GVLID,
- aliases: [
- { code: 'appnexusAst', gvlid: 32 },
- { code: 'emxdigital', gvlid: 183 },
- { code: 'emetriq', gvlid: 213 },
- { code: 'pagescience', gvlid: 32 },
- { code: 'gourmetads', gvlid: 32 },
- { code: 'matomy', gvlid: 32 },
- { code: 'featureforward', gvlid: 32 },
- { code: 'oftmedia', gvlid: 32 },
- { code: 'adasta', gvlid: 32 },
- { code: 'beintoo', gvlid: 618 },
- { code: 'projectagora', gvlid: 1032 },
- { code: 'uol', gvlid: 32 },
- { code: 'adzymic', gvlid: 723 },
- ],
+ aliases: appnexusAliases,
supportedMediaTypes: [BANNER, VIDEO, NATIVE],
/**
@@ -449,51 +434,6 @@ export const spec = {
url: 'https://acdn.adnxs.com/dmp/async_usersync.html'
}];
}
- },
-
- transformBidParams: function (params, isOpenRtb, adUnit, bidRequests) {
- let conversionFn = transformBidderParamKeywords;
- if (isOpenRtb === true) {
- let s2sEndpointUrl = null;
- let s2sConfig = config.getConfig('s2sConfig');
-
- if (isPlainObject(s2sConfig)) {
- s2sEndpointUrl = deepAccess(s2sConfig, 'endpoint.p1Consent');
- } else if (isArray(s2sConfig)) {
- s2sConfig.forEach(s2sCfg => {
- if (includes(s2sCfg.bidders, adUnit.bids[0].bidder)) {
- s2sEndpointUrl = deepAccess(s2sCfg, 'endpoint.p1Consent');
- }
- });
- }
-
- if (s2sEndpointUrl && s2sEndpointUrl.match('/openrtb2/prebid')) {
- conversionFn = convertKeywordsToString;
- }
- }
-
- params = convertTypes({
- 'member': 'string',
- 'invCode': 'string',
- 'placementId': 'number',
- 'keywords': conversionFn,
- 'publisherId': 'number'
- }, params);
-
- if (isOpenRtb) {
- Object.keys(params).forEach(paramKey => {
- let convertedKey = convertCamelToUnderscore(paramKey);
- if (convertedKey !== paramKey) {
- params[convertedKey] = params[paramKey];
- delete params[paramKey];
- }
- });
-
- params.use_pmt_rule = (typeof params.use_payment_rule === 'boolean') ? params.use_payment_rule : false;
- if (params.use_payment_rule) { delete params.use_payment_rule; }
- }
-
- return params;
}
};
@@ -1256,31 +1196,4 @@ function getBidFloor(bid) {
return null;
}
-// keywords: { 'genre': ['rock', 'pop'], 'pets': ['dog'] } goes to 'genre=rock,genre=pop,pets=dog'
-function convertKeywordsToString(keywords) {
- let result = '';
- Object.keys(keywords).forEach(key => {
- // if 'text' or ''
- if (isStr(keywords[key])) {
- if (keywords[key] !== '') {
- result += `${key}=${keywords[key]},`
- } else {
- result += `${key},`;
- }
- } else if (isArray(keywords[key])) {
- if (keywords[key][0] === '') {
- result += `${key},`
- } else {
- keywords[key].forEach(val => {
- result += `${key}=${val},`
- });
- }
- }
- });
-
- // remove last trailing comma
- result = result.substring(0, result.length - 1);
- return result;
-}
-
registerBidder(spec);
diff --git a/modules/appushBidAdapter.js b/modules/appushBidAdapter.js
index 97772b65e45..67557aed10c 100644
--- a/modules/appushBidAdapter.js
+++ b/modules/appushBidAdapter.js
@@ -57,6 +57,7 @@ function getPlacementReqData(bid) {
placement.protocols = mediaTypes[VIDEO].protocols;
placement.startdelay = mediaTypes[VIDEO].startdelay;
placement.placement = mediaTypes[VIDEO].placement;
+ placement.plcmt = mediaTypes[VIDEO].plcmt;
placement.skip = mediaTypes[VIDEO].skip;
placement.skipafter = mediaTypes[VIDEO].skipafter;
placement.minbitrate = mediaTypes[VIDEO].minbitrate;
diff --git a/modules/apstreamBidAdapter.js b/modules/apstreamBidAdapter.js
index 2856fb02087..37e2bde44c1 100644
--- a/modules/apstreamBidAdapter.js
+++ b/modules/apstreamBidAdapter.js
@@ -292,7 +292,6 @@ function getConsentStringFromPrebid(gdprConsentConfig) {
return null;
}
- let isIab = config.getConfig('consentManagement.cmpApi') != 'static';
let vendorConsents = (
gdprConsentConfig.vendorData.vendorConsents ||
(gdprConsentConfig.vendorData.vendor || {}).consents ||
@@ -300,7 +299,7 @@ function getConsentStringFromPrebid(gdprConsentConfig) {
);
let isConsentGiven = !!vendorConsents[CONSTANTS.GVLID.toString(10)];
- return isIab && isConsentGiven ? consentString : null;
+ return isConsentGiven ? consentString : null;
}
function getIabConsentString(bidderRequest) {
diff --git a/modules/axisBidAdapter.js b/modules/axisBidAdapter.js
index 8d7f2dd04fd..da167fae062 100644
--- a/modules/axisBidAdapter.js
+++ b/modules/axisBidAdapter.js
@@ -53,6 +53,7 @@ function getPlacementReqData(bid) {
placement.mimes = mediaTypes[VIDEO].mimes;
placement.protocols = mediaTypes[VIDEO].protocols;
placement.startdelay = mediaTypes[VIDEO].startdelay;
+ placement.plcmt = mediaTypes[VIDEO].plcmt;
placement.placement = mediaTypes[VIDEO].placement;
placement.skip = mediaTypes[VIDEO].skip;
placement.skipafter = mediaTypes[VIDEO].skipafter;
diff --git a/modules/beyondmediaBidAdapter.js b/modules/beyondmediaBidAdapter.js
index bbcd972470c..d3c7d185058 100644
--- a/modules/beyondmediaBidAdapter.js
+++ b/modules/beyondmediaBidAdapter.js
@@ -52,6 +52,7 @@ function getPlacementReqData(bid) {
placement.protocols = mediaTypes[VIDEO].protocols;
placement.startdelay = mediaTypes[VIDEO].startdelay;
placement.placement = mediaTypes[VIDEO].placement;
+ placement.plcmt = mediaTypes[VIDEO].plcmt;
placement.skip = mediaTypes[VIDEO].skip;
placement.skipafter = mediaTypes[VIDEO].skipafter;
placement.minbitrate = mediaTypes[VIDEO].minbitrate;
diff --git a/modules/bizzclickBidAdapter.js b/modules/blastoBidAdapter.js
similarity index 90%
rename from modules/bizzclickBidAdapter.js
rename to modules/blastoBidAdapter.js
index d2eba3f0f81..0e97c294049 100644
--- a/modules/bizzclickBidAdapter.js
+++ b/modules/blastoBidAdapter.js
@@ -3,11 +3,11 @@ import { registerBidder } from '../src/adapters/bidderFactory.js';
import { config } from '../src/config.js';
import { BANNER, NATIVE, VIDEO } from '../src/mediaTypes.js';
-const BIDDER_CODE = 'bizzclick';
+const BIDDER_CODE = 'blasto';
const SOURCE_ID_MACRO = '[sourceid]';
const ACCOUNT_ID_MACRO = '[accountid]';
const HOST_MACRO = '[host]';
-const URL = `https://${HOST_MACRO}.bizzclick.com/bid?rtb_seat_id=${SOURCE_ID_MACRO}&secret_key=${ACCOUNT_ID_MACRO}&integration_type=prebidjs`;
+const URL = `https://${HOST_MACRO}.blasto.ai/bid?rtb_seat_id=${SOURCE_ID_MACRO}&secret_key=${ACCOUNT_ID_MACRO}&integration_type=prebidjs`;
const DEFAULT_CURRENCY = 'USD';
const DEFAULT_HOST = 'us-e-node1';
@@ -53,7 +53,7 @@ export const spec = {
buildRequests: (validBidRequests, bidderRequest) => {
if (validBidRequests && validBidRequests.length === 0) return [];
const { sourceId, accountId } = validBidRequests[0].params;
- const host = validBidRequests[0].params.host || 'USE';
+ const host = validBidRequests[0].params.host;
const endpointURL = URL.replace(HOST_MACRO, host || DEFAULT_HOST)
.replace(ACCOUNT_ID_MACRO, accountId)
.replace(SOURCE_ID_MACRO, sourceId);
diff --git a/modules/bizzclickBidAdapter.md b/modules/blastoBidAdapter.md
similarity index 88%
rename from modules/bizzclickBidAdapter.md
rename to modules/blastoBidAdapter.md
index ad342f34e07..60ebad14764 100644
--- a/modules/bizzclickBidAdapter.md
+++ b/modules/blastoBidAdapter.md
@@ -1,14 +1,14 @@
# Overview
```
-Module Name: BizzClick SSP Bidder Adapter
+Module Name: Blasto SSP Bidder Adapter
Module Type: Bidder Adapter
-Maintainer: support@bizzclick.com
+Maintainer: support@blasto.ai
```
# Description
-Module that connects to BizzClick SSP demand sources
+Module that connects to Blasto SSP demand sources
# Test Parameters
@@ -26,7 +26,7 @@ const adUnits = [
},
bids: [
{
- bidder: "bizzclick",
+ bidder: "blasto",
params: {
placementId: "hash",
accountId: "accountId",
@@ -68,7 +68,7 @@ const adUnits = [
},
bids: [
{
- bidder: "bizzclick",
+ bidder: "blasto",
params: {
placementId: "hash",
accountId: "accountId",
@@ -96,7 +96,7 @@ const adUnits = [
},
bids: [
{
- bidder: "bizzclick",
+ bidder: "blasto",
params: {
placementId: "hash",
accountId: "accountId",
diff --git a/modules/bliinkBidAdapter.js b/modules/bliinkBidAdapter.js
index 37c99878d68..0fb56949539 100644
--- a/modules/bliinkBidAdapter.js
+++ b/modules/bliinkBidAdapter.js
@@ -1,5 +1,3 @@
-// eslint-disable-next-line prebid/validate-imports
-// eslint-disable-next-line prebid/validate-imports
import { registerBidder } from '../src/adapters/bidderFactory.js'
import { config } from '../src/config.js'
import { _each, deepAccess, deepSetValue, getWindowSelf, getWindowTop } from '../src/utils.js'
diff --git a/modules/bluebillywigBidAdapter.js b/modules/bluebillywigBidAdapter.js
deleted file mode 100644
index 0718f512cdd..00000000000
--- a/modules/bluebillywigBidAdapter.js
+++ /dev/null
@@ -1,374 +0,0 @@
-import {deepAccess, deepClone, deepSetValue, logError, logWarn} from '../src/utils.js';
-import {find} from '../src/polyfill.js';
-import {registerBidder} from '../src/adapters/bidderFactory.js';
-import {VIDEO} from '../src/mediaTypes.js';
-import {config} from '../src/config.js';
-import {Renderer} from '../src/Renderer.js';
-
-const DEV_MODE = window.location.search.match(/bbpbs_debug=true/);
-
-// Blue Billywig Constants
-const BB_CONSTANTS = {
- BIDDER_CODE: 'bluebillywig',
- AUCTION_URL: '$$URL_STARTpbs.bluebillywig.com/openrtb2/auction?pub=$$PUBLICATION',
- SYNC_URL: '$$URL_STARTpbs.bluebillywig.com/static/cookie-sync.html?pub=$$PUBLICATION',
- RENDERER_URL: 'https://$$PUBLICATION.bbvms.com/r/$$RENDERER.js',
- DEFAULT_TIMEOUT: 5000,
- DEFAULT_TTL: 300,
- DEFAULT_WIDTH: 768,
- DEFAULT_HEIGHT: 432,
- DEFAULT_NET_REVENUE: true,
- VIDEO_PARAMS: ['mimes', 'minduration', 'maxduration', 'protocols', 'w', 'h', 'startdelay', 'placement', 'linearity', 'skip', 'skipmin',
- 'skipafter', 'sequence', 'battr', 'maxextended', 'minbitrate', 'maxbitrate', 'boxingallowed', 'playbackmethod', 'playbackend', 'delivery', 'pos', 'companionad',
- 'api', 'companiontype', 'ext']
-};
-
-// Aliasing
-const getConfig = config.getConfig;
-
-// Helper Functions
-const BB_HELPERS = {
- addSiteAppDevice: function(request, pageUrl) {
- if (typeof getConfig('app') === 'object') request.app = getConfig('app');
- else {
- request.site = {};
- if (typeof getConfig('site') === 'object') request.site = getConfig('site');
- if (pageUrl) request.site.page = pageUrl;
- }
-
- if (typeof getConfig('device') === 'object') request.device = getConfig('device');
- if (!request.device) request.device = {};
- if (!request.device.w) request.device.w = window.innerWidth;
- if (!request.device.h) request.device.h = window.innerHeight;
- },
- addSchain: function(request, validBidRequests) {
- const schain = deepAccess(validBidRequests, '0.schain');
- if (schain) request.source.ext = { schain: schain };
- },
- addCurrency: function(request) {
- const adServerCur = getConfig('currency.adServerCurrency');
- if (adServerCur && typeof adServerCur === 'string') request.cur = [adServerCur];
- else if (Array.isArray(adServerCur) && adServerCur.length) request.cur = [adServerCur[0]];
- },
- addUserIds: function(request, validBidRequests) {
- const eids = deepAccess(validBidRequests, '0.userIdAsEids');
-
- if (eids != null && eids.length) {
- deepSetValue(request, 'user.ext.eids', eids);
- }
- },
- substituteUrl: function (url, publication, renderer) {
- return url.replace('$$URL_START', (DEV_MODE) ? 'https://dev.' : 'https://').replace('$$PUBLICATION', publication).replace('$$RENDERER', renderer);
- },
- getAuctionUrl: function(publication) {
- return BB_HELPERS.substituteUrl(BB_CONSTANTS.AUCTION_URL, publication);
- },
- getSyncUrl: function(publication) {
- return BB_HELPERS.substituteUrl(BB_CONSTANTS.SYNC_URL, publication);
- },
- getRendererUrl: function(publication, renderer) {
- return BB_HELPERS.substituteUrl(BB_CONSTANTS.RENDERER_URL, publication, renderer);
- },
- transformVideoParams: function(videoParams, videoParamsExt) {
- videoParams = deepClone(videoParams);
-
- let playerSize = videoParams.playerSize || [BB_CONSTANTS.DEFAULT_WIDTH, BB_CONSTANTS.DEFAULT_HEIGHT];
- if (Array.isArray(playerSize[0])) playerSize = playerSize[0];
-
- videoParams.w = playerSize[0];
- videoParams.h = playerSize[1];
- videoParams.placement = 3;
-
- if (videoParamsExt) videoParams = Object.assign(videoParams, videoParamsExt);
-
- const videoParamsProperties = Object.keys(videoParams);
-
- videoParamsProperties.forEach(property => {
- if (BB_CONSTANTS.VIDEO_PARAMS.indexOf(property) === -1) delete videoParams[property];
- });
-
- return videoParams;
- },
- transformRTBToPrebidProps: function(bid, serverResponse) {
- const bidObject = {
- cpm: bid.price,
- currency: serverResponse.cur,
- netRevenue: BB_CONSTANTS.DEFAULT_NET_REVENUE,
- bidId: bid.impid,
- requestId: bid.impid,
- creativeId: bid.crid,
- mediaType: VIDEO,
- width: bid.w || BB_CONSTANTS.DEFAULT_WIDTH,
- height: bid.h || BB_CONSTANTS.DEFAULT_HEIGHT,
- ttl: BB_CONSTANTS.DEFAULT_TTL
- };
-
- const extPrebidTargeting = deepAccess(bid, 'ext.prebid.targeting');
- const extPrebidCache = deepAccess(bid, 'ext.prebid.cache');
-
- if (extPrebidCache && typeof extPrebidCache.vastXml === 'object' && extPrebidCache.vastXml.cacheId && extPrebidCache.vastXml.url) {
- bidObject.videoCacheKey = extPrebidCache.vastXml.cacheId;
- bidObject.vastUrl = extPrebidCache.vastXml.url;
- } else if (extPrebidTargeting && extPrebidTargeting.hb_uuid && extPrebidTargeting.hb_cache_host && extPrebidTargeting.hb_cache_path) {
- bidObject.videoCacheKey = extPrebidTargeting.hb_uuid;
- bidObject.vastUrl = `https://${extPrebidTargeting.hb_cache_host}${extPrebidTargeting.hb_cache_path}?uuid=${extPrebidTargeting.hb_uuid}`;
- }
- if (bid.adm) {
- bidObject.ad = bid.adm;
- bidObject.vastXml = bid.adm;
- }
- if (!bidObject.vastUrl && bid.nurl && !bid.adm) { // ad markup is on win notice url, and adm is ommited according to OpenRTB 2.5
- bidObject.vastUrl = bid.nurl;
- }
- bidObject.meta = bid.meta || {};
- if (bid.adomain) { bidObject.meta.advertiserDomains = bid.adomain; }
- return bidObject;
- },
-};
-
-// Renderer Functions
-const BB_RENDERER = {
- bootstrapPlayer: function(bid) {
- const config = {
- code: bid.adUnitCode,
- };
-
- if (bid.vastXml) config.vastXml = bid.vastXml;
- else if (bid.vastUrl) config.vastUrl = bid.vastUrl;
-
- if (!bid.vastXml && !bid.vastUrl) {
- logWarn(`${BB_CONSTANTS.BIDDER_CODE}: No vastXml or vastUrl on bid, bailing...`);
- return;
- }
-
- if (!(window.bluebillywig && window.bluebillywig.renderers)) {
- logWarn(`${BB_CONSTANTS.BIDDER_CODE}: renderer code failed to initialize...`);
- return;
- }
-
- const rendererId = BB_RENDERER.getRendererId(bid.publicationName, bid.rendererCode);
- const ele = document.getElementById(bid.adUnitCode); // NB convention
- const renderer = find(window.bluebillywig.renderers, r => r._id === rendererId);
-
- if (renderer) renderer.bootstrap(config, ele, bid.rendererSettings || {});
- else logWarn(`${BB_CONSTANTS.BIDDER_CODE}: Couldn't find a renderer with ${rendererId}`);
- },
- newRenderer: function(rendererUrl, adUnitCode) {
- const renderer = Renderer.install({
- url: rendererUrl,
- loaded: false,
- adUnitCode
- });
-
- try {
- renderer.setRender(BB_RENDERER.outstreamRender);
- } catch (err) {
- logWarn(`${BB_CONSTANTS.BIDDER_CODE}: Error tying to setRender on renderer`, err);
- }
-
- return renderer;
- },
- outstreamRender: function(bid) {
- bid.renderer.push(function() { BB_RENDERER.bootstrapPlayer(bid) });
- },
- getRendererId: function(pub, renderer) {
- return `${pub}-${renderer}`; // NB convention!
- }
-};
-
-// Spec Functions
-// These functions are used to construct the core spec for the adapter
-export const spec = {
- code: BB_CONSTANTS.BIDDER_CODE,
- supportedMediaTypes: [VIDEO],
- syncStore: { bidders: [], },
- isBidRequestValid(bid) {
- const publicationNameRegex = /^\w+\.?\w+$/;
- const rendererRegex = /^[\w+_]+$/;
-
- if (!bid.params) {
- logError(`${BB_CONSTANTS.BIDDER_CODE}: no params set on bid. Rejecting bid: `, bid);
- return false;
- }
-
- if (!bid.params.hasOwnProperty('publicationName') || typeof bid.params.publicationName !== 'string') {
- logError(`${BB_CONSTANTS.BIDDER_CODE}: no publicationName specified in bid params, or it's not a string. Rejecting bid: `, bid);
- return false;
- } else if (!publicationNameRegex.test(bid.params.publicationName)) {
- logError(`${BB_CONSTANTS.BIDDER_CODE}: publicationName must be in format 'publication' or 'publication.environment'. Rejecting bid: `, bid);
- return false;
- }
-
- if ((!bid.params.hasOwnProperty('rendererCode') || typeof bid.params.rendererCode !== 'string')) {
- logError(`${BB_CONSTANTS.BIDDER_CODE}: no rendererCode was specified in bid params. Rejecting bid: `, bid);
- return false;
- } else if (!rendererRegex.test(bid.params.rendererCode)) {
- logError(`${BB_CONSTANTS.BIDDER_CODE}: rendererCode must be alphanumeric, including underscores. Rejecting bid: `, bid);
- return false;
- }
-
- if (!bid.params.accountId) {
- logError(`${BB_CONSTANTS.BIDDER_CODE}: no accountId specified in bid params. Rejecting bid: `, bid);
- return false;
- }
-
- if (bid.params.hasOwnProperty('connections')) {
- if (!Array.isArray(bid.params.connections)) {
- logError(`${BB_CONSTANTS.BIDDER_CODE}: connections is not of type array. Rejecting bid: `, bid);
- return false;
- } else {
- for (let i = 0; i < bid.params.connections.length; i++) {
- if (!bid.params.hasOwnProperty(bid.params.connections[i])) {
- logError(`${BB_CONSTANTS.BIDDER_CODE}: connection specified in params.connections, but not configured in params. Rejecting bid: `, bid);
- return false;
- }
- }
- }
- } else {
- logError(`${BB_CONSTANTS.BIDDER_CODE}: no connections specified in bid. Rejecting bid: `, bid);
- return false;
- }
-
- if (bid.params.hasOwnProperty('video') && (bid.params.video === null || typeof bid.params.video !== 'object')) {
- logError(`${BB_CONSTANTS.BIDDER_CODE}: params.video must be of type object. Rejecting bid: `, bid);
- return false;
- }
-
- if (bid.params.hasOwnProperty('rendererSettings') && (bid.params.rendererSettings === null || typeof bid.params.rendererSettings !== 'object')) {
- logError(`${BB_CONSTANTS.BIDDER_CODE}: params.rendererSettings must be of type object. Rejecting bid: `, bid);
- return false;
- }
-
- if (bid.hasOwnProperty('mediaTypes') && bid.mediaTypes.hasOwnProperty(VIDEO)) {
- if (!bid.mediaTypes[VIDEO].hasOwnProperty('context')) {
- logError(`${BB_CONSTANTS.BIDDER_CODE}: no context specified in bid. Rejecting bid: `, bid);
- return false;
- }
-
- if (bid.mediaTypes[VIDEO].context !== 'outstream') {
- logError(`${BB_CONSTANTS.BIDDER_CODE}: video.context is invalid, must be "outstream". Rejecting bid: `, bid);
- return false;
- }
- } else {
- logError(`${BB_CONSTANTS.BIDDER_CODE}: mediaTypes or mediaTypes.video is not specified. Rejecting bid: `, bid);
- return false;
- }
-
- return true;
- },
- buildRequests(validBidRequests, bidderRequest) {
- const imps = [];
-
- validBidRequests.forEach(validBidRequest => {
- if (!this.syncStore.publicationName) this.syncStore.publicationName = validBidRequest.params.publicationName;
- if (!this.syncStore.accountId) this.syncStore.accountId = validBidRequest.params.accountId;
-
- const ext = validBidRequest.params.connections.reduce((extBuilder, connection) => {
- extBuilder[connection] = validBidRequest.params[connection];
-
- if (this.syncStore.bidders.indexOf(connection) === -1) this.syncStore.bidders.push(connection);
-
- return extBuilder;
- }, {});
-
- const videoParams = BB_HELPERS.transformVideoParams(deepAccess(validBidRequest, 'mediaTypes.video'), deepAccess(validBidRequest, 'params.video'));
- imps.push({ id: validBidRequest.bidId, ext, secure: window.location.protocol === 'https' ? 1 : 0, video: videoParams });
- });
-
- const request = {
- id: bidderRequest.bidderRequestId,
- source: {tid: bidderRequest.ortb2?.source?.tid},
- tmax: Math.min(BB_CONSTANTS.DEFAULT_TIMEOUT, bidderRequest.timeout),
- imp: imps,
- test: DEV_MODE ? 1 : 0,
- ext: {
- prebid: {
- targeting: { includewinners: true, includebidderkeys: false }
- }
- }
- };
-
- // handle privacy settings for GDPR/CCPA/COPPA
- if (bidderRequest.gdprConsent) {
- let gdprApplies = 0;
- if (typeof bidderRequest.gdprConsent.gdprApplies === 'boolean') gdprApplies = bidderRequest.gdprConsent.gdprApplies ? 1 : 0;
- deepSetValue(request, 'regs.ext.gdpr', gdprApplies);
- deepSetValue(request, 'user.ext.consent', bidderRequest.gdprConsent.consentString);
- }
-
- if (bidderRequest.uspConsent) {
- deepSetValue(request, 'regs.ext.us_privacy', bidderRequest.uspConsent);
- this.syncStore.uspConsent = bidderRequest.uspConsent;
- }
-
- if (getConfig('coppa') == true) deepSetValue(request, 'regs.coppa', 1);
-
- // Enrich the request with any external data we may have
- BB_HELPERS.addSiteAppDevice(request, bidderRequest.refererInfo && bidderRequest.refererInfo.page);
- BB_HELPERS.addSchain(request, validBidRequests);
- BB_HELPERS.addCurrency(request);
- BB_HELPERS.addUserIds(request, validBidRequests);
-
- return {
- method: 'POST',
- url: BB_HELPERS.getAuctionUrl(validBidRequests[0].params.publicationName),
- data: JSON.stringify(request),
- bidderRequest: bidderRequest
- };
- },
- interpretResponse(serverResponse, request) {
- serverResponse = serverResponse.body || {};
-
- if (!serverResponse.hasOwnProperty('seatbid') || !Array.isArray(serverResponse.seatbid)) {
- return [];
- }
-
- const bids = [];
-
- serverResponse.seatbid.forEach(seatbid => {
- if (!seatbid.bid || !Array.isArray(seatbid.bid)) return;
- seatbid.bid.forEach(bid => {
- bid = BB_HELPERS.transformRTBToPrebidProps(bid, serverResponse);
-
- const bidParams = find(request.bidderRequest.bids, bidderRequestBid => bidderRequestBid.bidId === bid.bidId).params;
- bid.publicationName = bidParams.publicationName;
- bid.rendererCode = bidParams.rendererCode;
- bid.accountId = bidParams.accountId;
- bid.rendererSettings = bidParams.rendererSettings;
-
- const rendererUrl = BB_HELPERS.getRendererUrl(bid.publicationName, bid.rendererCode);
- bid.renderer = BB_RENDERER.newRenderer(rendererUrl, bid.adUnitCode);
-
- bids.push(bid);
- });
- });
-
- return bids;
- },
- getUserSyncs(syncOptions, serverResponses, gdpr) {
- if (!syncOptions.iframeEnabled) return [];
-
- const queryString = [];
-
- if (gdpr.gdprApplies) queryString.push(`gdpr=${gdpr.gdprApplies ? 1 : 0}`);
- if (gdpr.gdprApplies && gdpr.consentString) queryString.push(`gdpr_consent=${gdpr.consentString}`);
-
- if (this.syncStore.uspConsent) queryString.push(`usp_consent=${this.syncStore.uspConsent}`);
-
- queryString.push(`accountId=${this.syncStore.accountId}`);
- queryString.push(`bidders=${btoa(JSON.stringify(this.syncStore.bidders))}`);
- queryString.push(`cb=${Date.now()}-${Math.random().toString().replace('.', '')}`);
-
- if (DEV_MODE) queryString.push('bbpbs_debug=true');
-
- // NB syncUrl by default starts with ?pub=$$PUBLICATION
- const syncUrl = `${BB_HELPERS.getSyncUrl(this.syncStore.publicationName)}&${queryString.join('&')}`;
-
- return [{
- type: 'iframe',
- url: syncUrl
- }];
- }
-};
-
-registerBidder(spec);
diff --git a/modules/bluebillywigBidAdapter.md b/modules/bluebillywigBidAdapter.md
deleted file mode 100644
index 7879697baf5..00000000000
--- a/modules/bluebillywigBidAdapter.md
+++ /dev/null
@@ -1,38 +0,0 @@
-# Overview
-
-```
-Module Name: Blue Billywig Adapter
-Module Type: Bidder Adapter
-Maintainer: dev+prebid@bluebillywig.com
-```
-
-# Description
-
-Prebid Blue Billywig Bidder Adapter
-
-# Test Parameters
-
-```
- const adUnits = [{
- code: 'ad-unit',
- sizes: [[[768,432],[640,480],[640,360]]],
- mediaTypes: {
- video: {
- playerSize: [768, 432],
- context: 'outstream',
- mimes: ['video/mp4'],
- protocols: [ 2,3,5,6]
- }
- },
- bids: [{
- bidder: 'bluebillywig',
- params: {
- publicationName: "bbprebid",
- rendererCode: "renderer",
- accountId: 642,
- connections: [ 'bluebillywig' ],
- bluebillywig: {}
- }
- }]
- }];
-```
diff --git a/modules/boldwinBidAdapter.js b/modules/boldwinBidAdapter.js
index c7def383b5e..6d49c814486 100644
--- a/modules/boldwinBidAdapter.js
+++ b/modules/boldwinBidAdapter.js
@@ -110,6 +110,7 @@ export const spec = {
placement.protocols = mediaTypes[VIDEO].protocols;
placement.startdelay = mediaTypes[VIDEO].startdelay;
placement.placement = mediaTypes[VIDEO].placement;
+ placement.plcmt = mediaTypes[VIDEO].plcmt;
placement.skip = mediaTypes[VIDEO].skip;
placement.skipafter = mediaTypes[VIDEO].skipafter;
placement.minbitrate = mediaTypes[VIDEO].minbitrate;
diff --git a/modules/brightcomBidAdapter.js b/modules/brightcomBidAdapter.js
deleted file mode 100644
index 1fa1dac4e95..00000000000
--- a/modules/brightcomBidAdapter.js
+++ /dev/null
@@ -1,303 +0,0 @@
-import {
- _each,
- isArray,
- getWindowTop,
- getUniqueIdentifierStr,
- deepSetValue,
- logError,
- logWarn,
- createTrackPixelHtml,
- getWindowSelf,
- isFn,
- isPlainObject,
- getBidIdParameter
-} from '../src/utils.js';
-import { registerBidder } from '../src/adapters/bidderFactory.js';
-import { BANNER } from '../src/mediaTypes.js';
-import { config } from '../src/config.js';
-
-const BIDDER_CODE = 'brightcom';
-const URL = 'https://brightcombid.marphezis.com/hb';
-
-export const spec = {
- code: BIDDER_CODE,
- supportedMediaTypes: [BANNER],
- gvlid: 883,
- isBidRequestValid,
- buildRequests,
- interpretResponse,
- getUserSyncs
-};
-
-function buildRequests(bidReqs, bidderRequest) {
- try {
- let referrer = '';
- if (bidderRequest && bidderRequest.refererInfo) {
- referrer = bidderRequest.refererInfo.page;
- }
- const brightcomImps = [];
- const publisherId = getBidIdParameter('publisherId', bidReqs[0].params);
- _each(bidReqs, function (bid) {
- let bidSizes = (bid.mediaTypes && bid.mediaTypes.banner && bid.mediaTypes.banner.sizes) || bid.sizes;
- bidSizes = ((isArray(bidSizes) && isArray(bidSizes[0])) ? bidSizes : [bidSizes]);
- bidSizes = bidSizes.filter(size => isArray(size));
- const processedSizes = bidSizes.map(size => ({w: parseInt(size[0], 10), h: parseInt(size[1], 10)}));
-
- const element = document.getElementById(bid.adUnitCode);
- const minSize = _getMinSize(processedSizes);
- const viewabilityAmount = _isViewabilityMeasurable(element)
- ? _getViewability(element, getWindowTop(), minSize)
- : 'na';
- const viewabilityAmountRounded = isNaN(viewabilityAmount) ? viewabilityAmount : Math.round(viewabilityAmount);
-
- const imp = {
- id: bid.bidId,
- banner: {
- format: processedSizes,
- ext: {
- viewability: viewabilityAmountRounded
- }
- },
- tagid: String(bid.adUnitCode)
- };
- const bidFloor = _getBidFloor(bid);
- if (bidFloor) {
- imp.bidfloor = bidFloor;
- }
- brightcomImps.push(imp);
- });
- const brightcomBidReq = {
- id: getUniqueIdentifierStr(),
- imp: brightcomImps,
- site: {
- domain: bidderRequest?.refererInfo?.domain || '',
- page: referrer,
- publisher: {
- id: publisherId
- }
- },
- device: {
- devicetype: _getDeviceType(),
- w: screen.width,
- h: screen.height
- },
- tmax: bidderRequest?.timeout
- };
-
- if (bidderRequest && bidderRequest.gdprConsent) {
- deepSetValue(brightcomBidReq, 'regs.ext.gdpr', +bidderRequest.gdprConsent.gdprApplies);
- deepSetValue(brightcomBidReq, 'user.ext.consent', bidderRequest.gdprConsent.consentString);
- }
-
- if (bidderRequest && bidderRequest.uspConsent) {
- deepSetValue(brightcomBidReq, 'regs.ext.us_privacy', bidderRequest.uspConsent);
- }
-
- if (config.getConfig('coppa') === true) {
- deepSetValue(brightcomBidReq, 'regs.coppa', 1);
- }
-
- if (bidReqs[0] && bidReqs[0].schain) {
- deepSetValue(brightcomBidReq, 'source.ext.schain', bidReqs[0].schain)
- }
-
- if (bidReqs[0] && bidReqs[0].userIdAsEids) {
- deepSetValue(brightcomBidReq, 'user.ext.eids', bidReqs[0].userIdAsEids || [])
- }
-
- if (bidReqs[0] && bidReqs[0].userId) {
- deepSetValue(brightcomBidReq, 'user.ext.ids', bidReqs[0].userId || [])
- }
-
- return {
- method: 'POST',
- url: URL,
- data: JSON.stringify(brightcomBidReq),
- };
- } catch (e) {
- logError(e, {bidReqs, bidderRequest});
- }
-}
-
-function isBidRequestValid(bid) {
- if (bid.bidder !== BIDDER_CODE || typeof bid.params === 'undefined') {
- return false;
- }
-
- if (typeof bid.params.publisherId === 'undefined') {
- return false;
- }
-
- return true;
-}
-
-function interpretResponse(serverResponse) {
- if (!serverResponse.body || typeof serverResponse.body != 'object') {
- logWarn('Brightcom server returned empty/non-json response: ' + JSON.stringify(serverResponse.body));
- return [];
- }
- const {body: {id, seatbid}} = serverResponse;
- try {
- const brightcomBidResponses = [];
- if (id &&
- seatbid &&
- seatbid.length > 0 &&
- seatbid[0].bid &&
- seatbid[0].bid.length > 0) {
- seatbid[0].bid.map(brightcomBid => {
- brightcomBidResponses.push({
- requestId: brightcomBid.impid,
- cpm: parseFloat(brightcomBid.price),
- width: parseInt(brightcomBid.w),
- height: parseInt(brightcomBid.h),
- creativeId: brightcomBid.crid || brightcomBid.id,
- currency: 'USD',
- netRevenue: true,
- mediaType: BANNER,
- ad: _getAdMarkup(brightcomBid),
- ttl: 60,
- meta: {
- advertiserDomains: brightcomBid && brightcomBid.adomain ? brightcomBid.adomain : []
- }
- });
- });
- }
- return brightcomBidResponses;
- } catch (e) {
- logError(e, {id, seatbid});
- }
-}
-
-// Don't do user sync for now
-function getUserSyncs(syncOptions, responses, gdprConsent) {
- return [];
-}
-
-function _isMobile() {
- return (/(ios|ipod|ipad|iphone|android)/i).test(navigator.userAgent);
-}
-
-function _isConnectedTV() {
- return (/(smart[-]?tv|hbbtv|appletv|googletv|hdmi|netcast\.tv|viera|nettv|roku|\bdtv\b|sonydtv|inettvbrowser|\btv\b)/i).test(navigator.userAgent);
-}
-
-function _getDeviceType() {
- return _isMobile() ? 1 : _isConnectedTV() ? 3 : 2;
-}
-
-function _getAdMarkup(bid) {
- let adm = bid.adm;
- if ('nurl' in bid) {
- adm += createTrackPixelHtml(bid.nurl);
- }
- return adm;
-}
-
-function _isViewabilityMeasurable(element) {
- return !_isIframe() && element !== null;
-}
-
-function _getViewability(element, topWin, {w, h} = {}) {
- return getWindowTop().document.visibilityState === 'visible'
- ? _getPercentInView(element, topWin, {w, h})
- : 0;
-}
-
-function _isIframe() {
- try {
- return getWindowSelf() !== getWindowTop();
- } catch (e) {
- return true;
- }
-}
-
-function _getMinSize(sizes) {
- return sizes.reduce((min, size) => size.h * size.w < min.h * min.w ? size : min);
-}
-
-function _getBoundingBox(element, {w, h} = {}) {
- let {width, height, left, top, right, bottom} = element.getBoundingClientRect();
-
- if ((width === 0 || height === 0) && w && h) {
- width = w;
- height = h;
- right = left + w;
- bottom = top + h;
- }
-
- return {width, height, left, top, right, bottom};
-}
-
-function _getIntersectionOfRects(rects) {
- const bbox = {
- left: rects[0].left,
- right: rects[0].right,
- top: rects[0].top,
- bottom: rects[0].bottom
- };
-
- for (let i = 1; i < rects.length; ++i) {
- bbox.left = Math.max(bbox.left, rects[i].left);
- bbox.right = Math.min(bbox.right, rects[i].right);
-
- if (bbox.left >= bbox.right) {
- return null;
- }
-
- bbox.top = Math.max(bbox.top, rects[i].top);
- bbox.bottom = Math.min(bbox.bottom, rects[i].bottom);
-
- if (bbox.top >= bbox.bottom) {
- return null;
- }
- }
-
- bbox.width = bbox.right - bbox.left;
- bbox.height = bbox.bottom - bbox.top;
-
- return bbox;
-}
-
-function _getPercentInView(element, topWin, {w, h} = {}) {
- const elementBoundingBox = _getBoundingBox(element, {w, h});
-
- // Obtain the intersection of the element and the viewport
- const elementInViewBoundingBox = _getIntersectionOfRects([{
- left: 0,
- top: 0,
- right: topWin.innerWidth,
- bottom: topWin.innerHeight
- }, elementBoundingBox]);
-
- let elementInViewArea, elementTotalArea;
-
- if (elementInViewBoundingBox !== null) {
- // Some or all of the element is in view
- elementInViewArea = elementInViewBoundingBox.width * elementInViewBoundingBox.height;
- elementTotalArea = elementBoundingBox.width * elementBoundingBox.height;
-
- return ((elementInViewArea / elementTotalArea) * 100);
- }
-
- // No overlap between element and the viewport; therefore, the element
- // lies completely out of view
- return 0;
-}
-
-function _getBidFloor(bid) {
- if (!isFn(bid.getFloor)) {
- return bid.params.bidFloor ? bid.params.bidFloor : null;
- }
-
- let floor = bid.getFloor({
- currency: 'USD',
- mediaType: '*',
- size: '*'
- });
- if (isPlainObject(floor) && !isNaN(floor.floor) && floor.currency === 'USD') {
- return floor.floor;
- }
- return null;
-}
-
-registerBidder(spec);
diff --git a/modules/brightcomBidAdapter.md b/modules/brightcomBidAdapter.md
deleted file mode 100644
index 9f9aa0e5dd7..00000000000
--- a/modules/brightcomBidAdapter.md
+++ /dev/null
@@ -1,46 +0,0 @@
-# Overview
-
-```
-Module Name: Brightcom Bid Adapter
-Module Type: Bidder Adapter
-Maintainer: vladislavy@brightcom.com
-```
-
-# Description
-
-Brightcom's adapter integration to the Prebid library.
-
-# Test Parameters
-
-```
-var adUnits = [
- {
- code: 'test-leaderboard',
- mediaTypes: {
- banner: {
- sizes: [[728, 90]]
- }
- },
- bids: [{
- bidder: 'brightcom',
- params: {
- publisherId: 2141020,
- bidFloor: 0.01
- }
- }]
- }, {
- code: 'test-banner',
- mediaTypes: {
- banner: {
- sizes: [[300, 250]]
- }
- },
- bids: [{
- bidder: 'brightcom',
- params: {
- publisherId: 2141020
- }
- }]
- }
-]
-```
diff --git a/modules/brightcomSSPBidAdapter.js b/modules/brightcomSSPBidAdapter.js
deleted file mode 100644
index 4750881da40..00000000000
--- a/modules/brightcomSSPBidAdapter.js
+++ /dev/null
@@ -1,321 +0,0 @@
-import {
- isArray,
- getWindowTop,
- getUniqueIdentifierStr,
- deepSetValue,
- logError,
- logWarn,
- createTrackPixelHtml,
- getWindowSelf,
- isFn,
- isPlainObject, getBidIdParameter,
-} from '../src/utils.js';
-import {registerBidder} from '../src/adapters/bidderFactory.js';
-import {BANNER} from '../src/mediaTypes.js';
-import {config} from '../src/config.js';
-import {ajax} from '../src/ajax.js';
-
-const BIDDER_CODE = 'bcmssp';
-const URL = 'https://rt.marphezis.com/hb';
-const TRACK_EVENT_URL = 'https://rt.marphezis.com/prebid'
-
-export const spec = {
- code: BIDDER_CODE,
- gvlid: 883,
- supportedMediaTypes: [BANNER],
- isBidRequestValid,
- buildRequests,
- interpretResponse,
- onBidderError,
- onTimeout,
- onBidWon,
- getUserSyncs,
-};
-
-function buildRequests(bidReqs, bidderRequest) {
- try {
- const impressions = bidReqs.map(bid => {
- let bidSizes = bid?.mediaTypes?.banner?.sizes || bid.sizes;
- bidSizes = ((isArray(bidSizes) && isArray(bidSizes[0])) ? bidSizes : [bidSizes]);
- bidSizes = bidSizes.filter(size => isArray(size));
- const processedSizes = bidSizes.map(size => ({w: parseInt(size[0], 10), h: parseInt(size[1], 10)}));
-
- const element = document.getElementById(bid.adUnitCode);
- const minSize = _getMinSize(processedSizes);
- const viewabilityAmount = _isViewabilityMeasurable(element) ? _getViewability(element, getWindowTop(), minSize) : 'na';
- const viewabilityAmountRounded = isNaN(viewabilityAmount) ? viewabilityAmount : Math.round(viewabilityAmount);
-
- const imp = {
- id: bid.bidId,
- banner: {
- format: processedSizes,
- ext: {
- viewability: viewabilityAmountRounded
- }
- },
- tagid: String(bid.adUnitCode)
- };
-
- const bidFloor = _getBidFloor(bid);
-
- if (bidFloor) {
- imp.bidfloor = bidFloor;
- }
-
- return imp;
- })
-
- const referrer = bidderRequest?.refererInfo?.page || '';
- const publisherId = getBidIdParameter('publisherId', bidReqs[0].params);
-
- const payload = {
- id: getUniqueIdentifierStr(),
- imp: impressions,
- site: {
- domain: bidderRequest?.refererInfo?.domain || '',
- page: referrer,
- publisher: {
- id: publisherId
- }
- },
- device: {
- devicetype: _getDeviceType(),
- w: screen.width,
- h: screen.height
- },
- tmax: bidderRequest?.timeout
- };
-
- if (bidderRequest?.gdprConsent) {
- deepSetValue(payload, 'regs.ext.gdpr', +bidderRequest.gdprConsent.gdprApplies);
- deepSetValue(payload, 'user.ext.consent', bidderRequest.gdprConsent.consentString);
- }
-
- if (bidderRequest?.uspConsent) {
- deepSetValue(payload, 'regs.ext.us_privacy', bidderRequest.uspConsent);
- }
-
- if (config.getConfig('coppa') === true) {
- deepSetValue(payload, 'regs.coppa', 1);
- }
-
- if (bidReqs?.[0]?.schain) {
- deepSetValue(payload, 'source.ext.schain', bidReqs[0].schain)
- }
-
- if (bidReqs?.[0]?.userIdAsEids) {
- deepSetValue(payload, 'user.ext.eids', bidReqs[0].userIdAsEids || [])
- }
-
- if (bidReqs?.[0].userId) {
- deepSetValue(payload, 'user.ext.ids', bidReqs[0].userId || [])
- }
-
- return {
- method: 'POST',
- url: URL,
- data: JSON.stringify(payload),
- };
- } catch (e) {
- logError(e, {bidReqs, bidderRequest});
- }
-}
-
-function isBidRequestValid(bid) {
- if (bid.bidder !== BIDDER_CODE || !bid.params || !bid.params.publisherId) {
- return false;
- }
-
- return true;
-}
-
-function interpretResponse(serverResponse) {
- let response = [];
- if (!serverResponse.body || typeof serverResponse.body != 'object') {
- logWarn('Brightcom server returned empty/non-json response: ' + JSON.stringify(serverResponse.body));
- return response;
- }
-
- const {body: {id, seatbid}} = serverResponse;
-
- try {
- if (id && seatbid && seatbid.length > 0 && seatbid[0].bid && seatbid[0].bid.length > 0) {
- response = seatbid[0].bid.map(bid => {
- return {
- requestId: bid.impid,
- cpm: parseFloat(bid.price),
- width: parseInt(bid.w),
- height: parseInt(bid.h),
- creativeId: bid.crid || bid.id,
- currency: 'USD',
- netRevenue: true,
- mediaType: BANNER,
- ad: _getAdMarkup(bid),
- ttl: 60,
- meta: {
- advertiserDomains: bid?.adomain || []
- }
- };
- });
- }
- } catch (e) {
- logError(e, {id, seatbid});
- }
-
- return response;
-}
-
-// Don't do user sync for now
-function getUserSyncs(syncOptions, responses, gdprConsent) {
- return [];
-}
-
-function onTimeout(timeoutData) {
- if (timeoutData === null) {
- return;
- }
-
- _trackEvent('timeout', timeoutData);
-}
-
-function onBidderError(errorData) {
- if (errorData === null || !errorData.bidderRequest) {
- return;
- }
-
- _trackEvent('error', errorData.bidderRequest)
-}
-
-function onBidWon(bid) {
- if (bid === null) {
- return;
- }
-
- _trackEvent('bidwon', bid)
-}
-
-function _trackEvent(endpoint, data) {
- ajax(`${TRACK_EVENT_URL}/${endpoint}`, null, JSON.stringify(data), {
- method: 'POST',
- withCredentials: false
- });
-}
-
-function _isMobile() {
- return (/(ios|ipod|ipad|iphone|android)/i).test(navigator.userAgent);
-}
-
-function _isConnectedTV() {
- return (/(smart[-]?tv|hbbtv|appletv|googletv|hdmi|netcast\.tv|viera|nettv|roku|\bdtv\b|sonydtv|inettvbrowser|\btv\b)/i).test(navigator.userAgent);
-}
-
-function _getDeviceType() {
- return _isMobile() ? 1 : _isConnectedTV() ? 3 : 2;
-}
-
-function _getAdMarkup(bid) {
- let adm = bid.adm;
- if ('nurl' in bid) {
- adm += createTrackPixelHtml(bid.nurl);
- }
- return adm;
-}
-
-function _isViewabilityMeasurable(element) {
- return !_isIframe() && element !== null;
-}
-
-function _getViewability(element, topWin, {w, h} = {}) {
- return getWindowTop().document.visibilityState === 'visible' ? _getPercentInView(element, topWin, {w, h}) : 0;
-}
-
-function _isIframe() {
- try {
- return getWindowSelf() !== getWindowTop();
- } catch (e) {
- return true;
- }
-}
-
-function _getMinSize(sizes) {
- return sizes.reduce((min, size) => size.h * size.w < min.h * min.w ? size : min);
-}
-
-function _getBoundingBox(element, {w, h} = {}) {
- let {width, height, left, top, right, bottom} = element.getBoundingClientRect();
-
- if ((width === 0 || height === 0) && w && h) {
- width = w;
- height = h;
- right = left + w;
- bottom = top + h;
- }
-
- return {width, height, left, top, right, bottom};
-}
-
-function _getIntersectionOfRects(rects) {
- const bbox = {
- left: rects[0].left, right: rects[0].right, top: rects[0].top, bottom: rects[0].bottom
- };
-
- for (let i = 1; i < rects.length; ++i) {
- bbox.left = Math.max(bbox.left, rects[i].left);
- bbox.right = Math.min(bbox.right, rects[i].right);
-
- if (bbox.left >= bbox.right) {
- return null;
- }
-
- bbox.top = Math.max(bbox.top, rects[i].top);
- bbox.bottom = Math.min(bbox.bottom, rects[i].bottom);
-
- if (bbox.top >= bbox.bottom) {
- return null;
- }
- }
-
- bbox.width = bbox.right - bbox.left;
- bbox.height = bbox.bottom - bbox.top;
-
- return bbox;
-}
-
-function _getPercentInView(element, topWin, {w, h} = {}) {
- const elementBoundingBox = _getBoundingBox(element, {w, h});
-
- // Obtain the intersection of the element and the viewport
- const elementInViewBoundingBox = _getIntersectionOfRects([{
- left: 0, top: 0, right: topWin.innerWidth, bottom: topWin.innerHeight
- }, elementBoundingBox]);
-
- let elementInViewArea, elementTotalArea;
-
- if (elementInViewBoundingBox !== null) {
- // Some or all of the element is in view
- elementInViewArea = elementInViewBoundingBox.width * elementInViewBoundingBox.height;
- elementTotalArea = elementBoundingBox.width * elementBoundingBox.height;
-
- return ((elementInViewArea / elementTotalArea) * 100);
- }
-
- // No overlap between element and the viewport; therefore, the element
- // lies completely out of view
- return 0;
-}
-
-function _getBidFloor(bid) {
- if (!isFn(bid.getFloor)) {
- return bid.params.bidFloor ? bid.params.bidFloor : null;
- }
-
- let floor = bid.getFloor({
- currency: 'USD', mediaType: '*', size: '*'
- });
- if (isPlainObject(floor) && !isNaN(floor.floor) && floor.currency === 'USD') {
- return floor.floor;
- }
- return null;
-}
-
-registerBidder(spec);
diff --git a/modules/brightcomSSPBidAdapter.md b/modules/brightcomSSPBidAdapter.md
deleted file mode 100644
index 8d0e4ec70dc..00000000000
--- a/modules/brightcomSSPBidAdapter.md
+++ /dev/null
@@ -1,46 +0,0 @@
-# Overview
-
-```
-Module Name: Brightcom SSP Bid Adapter
-Module Type: Bidder Adapter
-Maintainer: alexandruc@brightcom.com
-```
-
-# Description
-
-Brightcom's adapter integration to the Prebid library.
-
-# Test Parameters
-
-```
-var adUnits = [
- {
- code: 'test-leaderboard',
- mediaTypes: {
- banner: {
- sizes: [[728, 90]]
- }
- },
- bids: [{
- bidder: 'bcmssp',
- params: {
- publisherId: 2141020,
- bidFloor: 0.01
- }
- }]
- }, {
- code: 'test-banner',
- mediaTypes: {
- banner: {
- sizes: [[300, 250]]
- }
- },
- bids: [{
- bidder: 'bcmssp',
- params: {
- publisherId: 2141020
- }
- }]
- }
-]
-```
diff --git a/modules/britepoolIdSystem.js b/modules/britepoolIdSystem.js
deleted file mode 100644
index dcc365faaac..00000000000
--- a/modules/britepoolIdSystem.js
+++ /dev/null
@@ -1,155 +0,0 @@
-/**
- * This module adds BritePoolId to the User ID module
- * The {@link module:modules/userId} module is required
- * @module modules/britepoolIdSystem
- * @requires module:modules/userId
- */
-
-import { isEmpty, triggerPixel, logError } from '../src/utils.js';
-import {ajax} from '../src/ajax.js';
-import {submodule} from '../src/hook.js';
-const PIXEL = 'https://px.britepool.com/new?partner_id=t';
-
-/**
- * @typedef {import('../modules/userId/index.js').Submodule} Submodule
- * @typedef {import('../modules/userId/index.js').SubmoduleConfig} SubmoduleConfig
- * @typedef {import('../modules/userId/index.js').ConsentData} ConsentData
- * @typedef {import('../modules/userId/index.js').SubmoduleParams} SubmoduleParams
- */
-
-/** @type {Submodule} */
-export const britepoolIdSubmodule = {
- /**
- * Used to link submodule with config
- * @type {string}
- */
- name: 'britepoolId',
- /**
- * Decode the stored id value for passing to bid requests
- * @function
- * @param {string} value
- * @returns {{britepoolid:string}}
- */
- decode(value) {
- return (value && typeof value['primaryBPID'] === 'string') ? { 'britepoolid': value['primaryBPID'] } : null;
- },
- /**
- * Performs action to obtain id and return a value in the callback's response argument
- * @function
- * @param {SubmoduleConfig} [submoduleConfig]
- * @param {ConsentData|undefined} consentData
- * @returns {function}
- */
- getId(submoduleConfig, consentData) {
- const submoduleConfigParams = (submoduleConfig && submoduleConfig.params) || {};
- const { params, headers, url, getter, errors } = britepoolIdSubmodule.createParams(submoduleConfigParams, consentData);
- let getterResponse = null;
- if (typeof getter === 'function') {
- getterResponse = getter(params);
- // First let's rule out that the response is not a function
- if (typeof getterResponse !== 'function') {
- // Optimization to return value from getter
- return {
- id: britepoolIdSubmodule.normalizeValue(getterResponse)
- };
- }
- }
- if (isEmpty(params)) {
- triggerPixel(PIXEL);
- }
- // Return for async operation
- return {
- callback: function(callback) {
- if (errors.length > 0) {
- errors.forEach(error => logError(error));
- callback();
- return;
- }
- if (getterResponse) {
- // Resolve the getter function response
- try {
- getterResponse(function(response) {
- callback(britepoolIdSubmodule.normalizeValue(response));
- });
- } catch (error) {
- if (error !== '') logError(error);
- callback();
- }
- } else {
- ajax(url, {
- success: response => {
- const responseObj = britepoolIdSubmodule.normalizeValue(response);
- callback(responseObj ? { primaryBPID: responseObj.primaryBPID } : null);
- },
- error: error => {
- if (error !== '') logError(error);
- callback();
- }
- }, JSON.stringify(params), { customHeaders: headers, contentType: 'application/json', method: 'POST', withCredentials: true });
- }
- }
- }
- },
- /**
- * Helper method to create params for our API call
- * @param {SubmoduleParams} [submoduleConfigParams]
- * @param {ConsentData|undefined} consentData
- * @returns {object} Object with parsed out params
- */
- createParams(submoduleConfigParams, consentData) {
- const hasGdprData = consentData && typeof consentData.gdprApplies === 'boolean' && consentData.gdprApplies;
- const gdprConsentString = hasGdprData ? consentData.consentString : undefined;
- let errors = [];
- const headers = {};
- const dynamicVars = typeof britepool_pubparams !== 'undefined' ? britepool_pubparams : {}; // eslint-disable-line camelcase, no-undef
- let params = Object.assign({}, submoduleConfigParams, dynamicVars);
- if (params.getter) {
- // Custom getter will not require other params
- if (typeof params.getter !== 'function') {
- errors.push(`userIdTargeting - britepoolId submodule requires getter to be a function`);
- return { errors };
- }
- } else {
- if (params.api_key) {
- // Add x-api-key into the header
- headers['x-api-key'] = params.api_key;
- }
- }
- const url = params.url || `https://api.britepool.com/v1/britepool/id${gdprConsentString ? '?gdprString=' + encodeURIComponent(gdprConsentString) : ''}`;
- const getter = params.getter;
- delete params.api_key;
- delete params.url;
- delete params.getter;
- return {
- params,
- headers,
- url,
- getter,
- errors
- };
- },
- /**
- * Helper method to normalize a JSON value
- */
- normalizeValue(value) {
- let valueObj = null;
- if (typeof value === 'object') {
- valueObj = value;
- } else if (typeof value === 'string') {
- try {
- valueObj = JSON.parse(value);
- } catch (error) {
- logError(error);
- }
- }
- return valueObj;
- },
- eids: {
- 'britepoolid': {
- source: 'britepool.com',
- atype: 3
- },
- }
-};
-
-submodule('userId', britepoolIdSubmodule);
diff --git a/modules/britepoolIdSystem.md b/modules/britepoolIdSystem.md
deleted file mode 100644
index 72edbe2324b..00000000000
--- a/modules/britepoolIdSystem.md
+++ /dev/null
@@ -1,42 +0,0 @@
-## BritePool User ID Submodule
-
-BritePool User ID Module. For assistance setting up your module please contact us at [prebid@britepool.com](prebid@britepool.com).
-
-### Prebid Params
-
-Individual params may be set for the BritePool User ID Submodule.
-```
-pbjs.setConfig({
- userSync: {
- userIds: [{
- name: 'britepoolId',
- storage: {
- name: 'britepoolid',
- type: 'cookie',
- expires: 30
- },
- params: {
- url: 'https://sandbox-api.britepool.com/v1/britepool/id', // optional
- api_key: '3fdbe297-3690-4f5c-9e11-ee9186a6d77c', // provided by britepool
- hash: '31c5543c1734d25c7206f5fd591525d0295bec6fe84ff82f946a34fe970a1e66', // example hash identifier (sha256)
- ssid: '221aa074-57fc-453b-81f0-6c74f628cd5c' // example identifier
- }
- }]
- }
-});
-```
-## Parameter Descriptions for the `usersync` Configuration Section
-The below parameters apply only to the BritePool User ID Module integration.
-
-| Param under usersync.userIds[] | Scope | Type | Description | Example |
-| --- | --- | --- | --- | --- |
-| name | Required | String | ID value for the BritePool module - `"britepoolId"` | `"britepoolId"` |
-| params | Required | Object | Details for BritePool initialization. | |
-| params.api_key | Required | String |BritePool API Key provided by BritePool | "3fdbe297-3690-4f5c-9e11-ee9186a6d77c" |
-| params.url | Optional | String |BritePool API url | "https://sandbox-api.britepool.com/v1/britepool/id" |
-| params.identifier | Required | String | Where identifier in the params object is the key name. At least one identifier is required. Available Identifiers `aaid` `dtid` `idfa` `ilid` `luid` `mmid` `msid` `mwid` `rida` `ssid` `hash` | `params.ssid` `params.aaid` |
-| storage | Required | Object | The publisher must specify the local storage in which to store the results of the call to get the user ID. This can be either cookie or HTML5 storage. | |
-| storage.type | Required | String | This is where the results of the user ID will be stored. The recommended method is `localStorage` by specifying `html5`. | `"html5"` |
-| storage.name | Required | String | The name of the cookie or html5 local storage where the user ID will be stored. | `"britepoolid"` |
-| storage.expires | Optional | Integer | How long (in days) the user ID information will be stored. | `365` |
-| value | Optional | Object | Used only if the page has a separate mechanism for storing the BritePool ID. The value is an object containing the values to be sent to the adapters. In this scenario, no URL is called and nothing is added to local storage | `{"primaryBPID": "eb33b0cb-8d35-4722-b9c0-1a31d4064888"}` |
diff --git a/modules/colossussspBidAdapter.js b/modules/colossussspBidAdapter.js
index c69e484feb3..2abe9cb94a8 100644
--- a/modules/colossussspBidAdapter.js
+++ b/modules/colossussspBidAdapter.js
@@ -152,7 +152,6 @@ export const spec = {
placement.gpid = gpid;
}
if (bid.userId) {
- getUserId(placement.eids, bid.userId.britepoolid, 'britepool.com');
getUserId(placement.eids, bid.userId.idl_env, 'identityLink');
getUserId(placement.eids, bid.userId.id5id, 'id5-sync.com');
getUserId(placement.eids, bid.userId.uid2 && bid.userId.uid2.id, 'uidapi.com');
diff --git a/modules/connectadBidAdapter.js b/modules/connectadBidAdapter.js
index b40ef30f6bc..5b892a6df22 100644
--- a/modules/connectadBidAdapter.js
+++ b/modules/connectadBidAdapter.js
@@ -3,7 +3,6 @@ import { registerBidder } from '../src/adapters/bidderFactory.js';
import { BANNER } from '../src/mediaTypes.js'
import {config} from '../src/config.js';
import {tryAppendQueryString} from '../libraries/urlUtils/urlUtils.js';
-import {convertTypes} from '../libraries/transformParamsUtils/convertTypes.js';
const BIDDER_CODE = 'connectad';
const BIDDER_CODE_ALIAS = 'connectadrealtime';
const ENDPOINT_URL = 'https://i.connectad.io/api/v2';
@@ -141,13 +140,6 @@ export const spec = {
return bidResponses;
},
- transformBidParams: function (params, isOpenRtb) {
- return convertTypes({
- 'siteId': 'number',
- 'networkId': 'number'
- }, params);
- },
-
getUserSyncs: function(syncOptions, serverResponses, gdprConsent, uspConsent) {
let syncEndpoint = 'https://cdn.connectad.io/connectmyusers.php?';
diff --git a/modules/consentManagementGpp.js b/modules/consentManagementGpp.js
index f94048813c6..bd40713924e 100644
--- a/modules/consentManagementGpp.js
+++ b/modules/consentManagementGpp.js
@@ -10,7 +10,7 @@ import {gppDataHandler} from '../src/adapterManager.js';
import {timedAuctionHook} from '../src/utils/perfMetrics.js';
import {enrichFPD} from '../src/fpd/enrichment.js';
import {getGlobal} from '../src/prebidGlobal.js';
-import {cmpClient, MODE_CALLBACK, MODE_MIXED, MODE_RETURN} from '../libraries/cmp/cmpClient.js';
+import {cmpClient, MODE_CALLBACK} from '../libraries/cmp/cmpClient.js';
import {GreedyPromise} from '../src/utils/promise.js';
import {buildActivityParams} from '../src/activities/params.js';
@@ -38,9 +38,6 @@ function lookupStaticConsentData(callbacks) {
return pipeCallbacks(() => processCmpData(staticConsentData), callbacks);
}
-const GPP_10 = '1.0';
-const GPP_11 = '1.1';
-
class GPPError {
constructor(message, arg) {
this.message = message;
@@ -49,104 +46,22 @@ class GPPError {
}
export class GPPClient {
- static CLIENTS = {};
-
- static register(apiVersion, defaultVersion = false) {
- this.apiVersion = apiVersion;
- this.CLIENTS[apiVersion] = this;
- if (defaultVersion) {
- this.CLIENTS.default = this;
- }
- }
-
+ apiVersion = '1.1';
static INST;
- /**
- * Ping the CMP to set up an appropriate client for it, and initialize it.
- *
- * @param mkCmp
- * @returns {Promise<[GPPClient,Promise<{}>]>} a promise to two objects:
- * - a GPPClient that talks the best GPP dialect we know for the CMP's version;
- * - a promise to GPP data.
- */
- static init(mkCmp = cmpClient) {
- let inst = this.INST;
- if (!inst) {
- let err;
- const reset = () => err && (this.INST = null);
- inst = this.INST = this.ping(mkCmp).catch(e => {
- err = true;
- reset();
- throw e;
+ static get(mkCmp = cmpClient) {
+ if (this.INST == null) {
+ const cmp = mkCmp({
+ apiName: '__gpp',
+ apiArgs: ['command', 'callback', 'parameter'], // do not pass version - not clear what it's for (or what we should use),
+ mode: MODE_CALLBACK
});
- reset();
- }
- return inst.then(([client, pingData]) => [
- client,
- client.initialized ? client.refresh() : client.init(pingData)
- ]);
- }
-
- /**
- * Ping the CMP to determine its version and set up a client appropriate for it.
- *
- * @param mkCmp
- * @returns {Promise<[GPPClient, {}]>} a promise to two objects:
- * - a GPPClient that talks the best GPP dialect we know for the CMP's version;
- * - the result from pinging the CMP.
- */
- static ping(mkCmp = cmpClient) {
- const cmpOptions = {
- apiName: '__gpp',
- apiArgs: ['command', 'callback', 'parameter'], // do not pass version - not clear what it's for (or what we should use)
- };
-
- // in 1.0, 'ping' should return pingData but ignore callback;
- // in 1.1 it should not return anything but run the callback
- // the following looks for either - but once the version is known, produce a client that knows whether the
- // rest of the interactions should pick return values or pass callbacks
-
- const probe = mkCmp({...cmpOptions, mode: MODE_RETURN});
- return new GreedyPromise((resolve, reject) => {
- if (probe == null) {
- reject(new GPPError('GPP CMP not found'));
- return;
+ if (cmp == null) {
+ throw new GPPError('GPP CMP not found');
}
- let done = false; // some CMPs do both return value and callbacks - avoid repeating log messages
- const pong = (result, success) => {
- if (done) return;
- if (success != null && !success) {
- reject(result);
- return;
- }
- if (result == null) return;
- done = true;
- const cmpVersion = result?.gppVersion;
- const Client = this.getClient(cmpVersion);
- if (cmpVersion !== Client.apiVersion) {
- logWarn(`Unrecognized GPP CMP version: ${cmpVersion}. Continuing using GPP API version ${Client}...`);
- } else {
- logInfo(`Using GPP version ${cmpVersion}`);
- }
- const mode = Client.apiVersion === GPP_10 ? MODE_MIXED : MODE_CALLBACK;
- const client = new Client(
- cmpVersion,
- mkCmp({...cmpOptions, mode})
- );
- resolve([client, result]);
- };
-
- probe({
- command: 'ping',
- callback: pong
- }).then((res) => pong(res, true), reject);
- }).finally(() => {
- probe && probe.close();
- });
- }
-
- static getClient(cmpVersion) {
- return this.CLIENTS.hasOwnProperty(cmpVersion) ? this.CLIENTS[cmpVersion] : this.CLIENTS.default;
+ this.INST = new this(cmp);
+ }
+ return this.INST;
}
#resolve;
@@ -155,9 +70,7 @@ export class GPPClient {
initialized = false;
- constructor(cmpVersion, cmp) {
- this.apiVersion = this.constructor.apiVersion;
- this.cmpVersion = cmp;
+ constructor(cmp) {
this.cmp = cmp;
[this.#resolve, this.#reject] = [0, 1].map(slot => (result) => {
while (this.#pending.length) {
@@ -176,6 +89,9 @@ export class GPPClient {
init(pingData) {
const ready = this.updateWhenReady(pingData);
if (!this.initialized) {
+ if (pingData.gppVersion !== this.apiVersion) {
+ logWarn(`Unrecognized GPP CMP version: ${pingData.apiVersion}. Continuing using GPP API version ${this.apiVersion}...`);
+ }
this.initialized = true;
this.cmp({
command: 'addEventListener',
@@ -184,7 +100,7 @@ export class GPPClient {
this.#reject(new GPPError('Received error response from CMP', event));
} else if (event?.pingData?.cmpStatus === 'error') {
this.#reject(new GPPError('CMP status is "error"; please check CMP setup', event));
- } else if (this.isCMPReady(event?.pingData || {}) && this.events.includes(event?.eventName)) {
+ } else if (this.isCMPReady(event?.pingData || {}) && ['sectionChange', 'signalStatus'].includes(event?.eventName)) {
this.#resolve(this.updateConsent(event.pingData));
}
}
@@ -194,7 +110,7 @@ export class GPPClient {
}
refresh() {
- return this.cmp({command: 'ping'}).then(this.updateWhenReady.bind(this));
+ return this.cmp({command: 'ping'}).then(this.init.bind(this));
}
/**
@@ -204,15 +120,14 @@ export class GPPClient {
* @returns {Promise<{}>} a promise to GPP consent data
*/
updateConsent(pingData) {
- return this.getGPPData(pingData).then((data) => {
- if (data == null || isEmpty(data)) {
- throw new GPPError('Received empty response from CMP', data);
+ return new GreedyPromise(resolve => {
+ if (pingData == null || isEmpty(pingData)) {
+ throw new GPPError('Received empty response from CMP', pingData);
}
- return processCmpData(data);
- }).then((data) => {
- logInfo('Retrieved GPP consent from CMP:', data);
- return data;
- });
+ const consentData = processCmpData(pingData);
+ logInfo('Retrieved GPP consent from CMP:', consentData);
+ resolve(consentData);
+ })
}
/**
@@ -236,68 +151,10 @@ export class GPPClient {
updateWhenReady(pingData) {
return this.isCMPReady(pingData) ? this.updateConsent(pingData) : this.nextUpdate();
}
-}
-
-// eslint-disable-next-line no-unused-vars
-class GPP10Client extends GPPClient {
- static {
- super.register(GPP_10);
- }
-
- events = ['sectionChange', 'cmpStatus'];
-
- isCMPReady(pingData) {
- return pingData.cmpStatus === 'loaded';
- }
-
- getGPPData(pingData) {
- const parsedSections = GreedyPromise.all(
- (pingData.supportedAPIs || pingData.apiSupport || []).map((api) => this.cmp({
- command: 'getSection',
- parameter: api
- }).catch(err => {
- logWarn(`Could not retrieve GPP section '${api}'`, err);
- }).then((section) => [api, section]))
- ).then(sections => {
- // parse single section object into [core, gpc] to uniformize with 1.1 parsedSections
- return Object.fromEntries(
- sections.filter(([_, val]) => val != null)
- .map(([api, section]) => {
- const subsections = [
- Object.fromEntries(Object.entries(section).filter(([k]) => k !== 'Gpc'))
- ];
- if (section.Gpc != null) {
- subsections.push({
- SubsectionType: 1,
- Gpc: section.Gpc
- });
- }
- return [api, subsections];
- })
- );
- });
- return GreedyPromise.all([
- this.cmp({command: 'getGPPData'}),
- parsedSections
- ]).then(([gppData, parsedSections]) => Object.assign({}, gppData, {parsedSections}));
- }
-}
-
-// eslint-disable-next-line no-unused-vars
-class GPP11Client extends GPPClient {
- static {
- super.register(GPP_11, true);
- }
-
- events = ['sectionChange', 'signalStatus'];
isCMPReady(pingData) {
return pingData.signalStatus === 'ready';
}
-
- getGPPData(pingData) {
- return GreedyPromise.resolve(pingData);
- }
}
/**
@@ -310,7 +167,7 @@ class GPP11Client extends GPPClient {
* @param {function(): Object} [mkCmp=cmpClient] - A function to create the CMP client. Defaults to `cmpClient`.
*/
export function lookupIabConsent({onSuccess, onError}, mkCmp = cmpClient) {
- pipeCallbacks(() => GPPClient.init(mkCmp).then(([client, gppDataPm]) => gppDataPm), {onSuccess, onError});
+ pipeCallbacks(() => GPPClient.get(mkCmp).refresh(), {onSuccess, onError});
}
// add new CMPs here, with their dedicated lookup function
@@ -427,9 +284,9 @@ function processCmpData(consentData) {
}
['usnatv1', 'uscav1'].forEach(section => {
if (consentData?.parsedSections?.[section]) {
- logWarn(`Received invalid section from cmp: '${section}'. Some functionality may not work as expected`, consentData)
+ logWarn(`Received invalid section from cmp: '${section}'. Some functionality may not work as expected`, consentData);
}
- })
+ });
return storeConsentData(consentData);
}
diff --git a/modules/consentManagement.js b/modules/consentManagementTcf.js
similarity index 100%
rename from modules/consentManagement.js
rename to modules/consentManagementTcf.js
diff --git a/modules/criteoBidAdapter.js b/modules/criteoBidAdapter.js
index c95cbf7af73..55879089530 100644
--- a/modules/criteoBidAdapter.js
+++ b/modules/criteoBidAdapter.js
@@ -1,15 +1,14 @@
-import { deepAccess, generateUUID, isArray, logError, logInfo, logWarn, parseUrl } from '../src/utils.js';
-import { loadExternalScript } from '../src/adloader.js';
-import { registerBidder } from '../src/adapters/bidderFactory.js';
-import { config } from '../src/config.js';
-import { BANNER, NATIVE, VIDEO } from '../src/mediaTypes.js';
-import { verify } from 'criteo-direct-rsa-validate/build/verify.js'; // ref#2
-import { getStorageManager } from '../src/storageManager.js';
-import { getRefererInfo } from '../src/refererDetection.js';
-import { hasPurpose1Consent } from '../src/utils/gpdr.js';
-import { Renderer } from '../src/Renderer.js';
-import { OUTSTREAM } from '../src/video.js';
-import { ajax } from '../src/ajax.js';
+import {deepAccess, deepSetValue, isArray, logError, logWarn, parseUrl} from '../src/utils.js';
+import {registerBidder} from '../src/adapters/bidderFactory.js';
+import {BANNER, NATIVE, VIDEO} from '../src/mediaTypes.js';
+import {getStorageManager} from '../src/storageManager.js';
+import {getRefererInfo} from '../src/refererDetection.js';
+import {hasPurpose1Consent} from '../src/utils/gpdr.js';
+import {Renderer} from '../src/Renderer.js';
+import {OUTSTREAM} from '../src/video.js';
+import {ajax} from '../src/ajax.js';
+import {ortbConverter} from '../libraries/ortbConverter/converter.js';
+import {ortb25Translator} from '../libraries/ortb2.5Translator/translator.js';
/**
* @typedef {import('../src/adapters/bidderFactory.js').BidRequest} BidRequest
@@ -20,35 +19,199 @@ import { ajax } from '../src/ajax.js';
*/
const GVLID = 91;
-export const ADAPTER_VERSION = 36;
+export const ADAPTER_VERSION = 37;
const BIDDER_CODE = 'criteo';
-const CDB_ENDPOINT = 'https://bidder.criteo.com/cdb';
+const CDB_ENDPOINT = 'https://grid-bidder.criteo.com/openrtb_2_5/pbjs/auction/request';
const PROFILE_ID_INLINE = 207;
-export const PROFILE_ID_PUBLISHERTAG = 185;
export const storage = getStorageManager({ bidderCode: BIDDER_CODE });
const LOG_PREFIX = 'Criteo: ';
+const TRANSLATOR = ortb25Translator();
-/*
- If you don't want to use the FastBid adapter feature, you can lighten criteoBidAdapter size by :
- 1. commenting the tryGetCriteoFastBid function inner content (see ref#1)
- 2. removing the line 'verify' function import line (see ref#2)
-
- Unminified source code can be found in the privately shared repo: https://github.com/Prebid-org/prebid-js-external-js-criteo/blob/master/dist/prod.js
-*/
-const FAST_BID_VERSION_PLACEHOLDER = '%FAST_BID_VERSION%';
-export const FAST_BID_VERSION_CURRENT = 144;
-const FAST_BID_VERSION_LATEST = 'latest';
-const FAST_BID_VERSION_NONE = 'none';
-const PUBLISHER_TAG_URL_TEMPLATE = 'https://static.criteo.net/js/ld/publishertag.prebid' + FAST_BID_VERSION_PLACEHOLDER + '.js';
const PUBLISHER_TAG_OUTSTREAM_SRC = 'https://static.criteo.net/js/ld/publishertag.renderer.js'
-const FAST_BID_PUBKEY_E = 65537;
-const FAST_BID_PUBKEY_N = 'ztQYwCE5BU7T9CDM5he6rKoabstXRmkzx54zFPZkWbK530dwtLBDeaWBMxHBUT55CYyboR/EZ4efghPi3CoNGfGWezpjko9P6p2EwGArtHEeS4slhu/SpSIFMjG6fdrpRoNuIAMhq1Z+Pr/+HOd1pThFKeGFr2/NhtAg+TXAzaU=';
-
const OPTOUT_COOKIE_NAME = 'cto_optout';
const BUNDLE_COOKIE_NAME = 'cto_bundle';
const GUID_RETENTION_TIME_HOUR = 24 * 30 * 13; // 13 months
const OPTOUT_RETENTION_TIME_HOUR = 5 * 12 * 30 * 24; // 5 years
+/**
+ * Defines the generic oRTB converter and all customization functions.
+ */
+const CONVERTER = ortbConverter({
+ context: {
+ netRevenue: true,
+ ttl: 60
+ },
+ imp,
+ request,
+ bidResponse,
+ response
+});
+
+/**
+ * Builds an impression object for the ORTB 2.5 request.
+ *
+ * @param {function} buildImp - The function for building an imp object.
+ * @param {Object} bidRequest - The bid request object.
+ * @param {Object} context - The context object.
+ * @returns {Object} The ORTB 2.5 imp object.
+ */
+function imp(buildImp, bidRequest, context) {
+ let imp = buildImp(bidRequest, context);
+ const params = bidRequest.params;
+
+ imp.tagid = bidRequest.adUnitCode;
+ deepSetValue(imp, 'ext', {
+ ...bidRequest.params.ext,
+ ...imp.ext,
+ rwdd: imp.rwdd,
+ floors: getFloors(bidRequest),
+ bidder: {
+ publishersubid: params?.publisherSubId,
+ zoneid: params?.zoneId,
+ uid: params?.uid,
+ },
+ });
+
+ delete imp.rwdd // oRTB 2.6 field moved to ext
+
+ if (!context.fledgeEnabled && imp.ext.igs?.ae) {
+ delete imp.ext.igs.ae;
+ }
+
+ if (hasVideoMediaType(bidRequest)) {
+ const paramsVideo = bidRequest.params.video;
+ if (paramsVideo !== undefined) {
+ deepSetValue(imp, 'video', {
+ ...imp.video,
+ skip: imp.video.skip || paramsVideo.skip || 0,
+ placement: imp.video.placement || paramsVideo.placement,
+ minduration: imp.video.minduration || paramsVideo.minduration,
+ playbackmethod: imp.video.playbackmethod || paramsVideo.playbackmethod,
+ startdelay: imp.video.startdelay || paramsVideo.startdelay || 0,
+ })
+ }
+ deepSetValue(imp, 'video.ext', {
+ context: bidRequest.mediaTypes.video.context,
+ playersizes: parseSizes(deepAccess(bidRequest, 'mediaTypes.video.playerSize'), parseSize),
+ plcmt: bidRequest.mediaTypes.video.plcmt,
+ poddur: bidRequest.mediaTypes.video.adPodDurationSec,
+ rqddurs: bidRequest.mediaTypes.video.durationRangeSec,
+ })
+ }
+
+ if (imp.native && typeof imp.native.request !== 'undefined') {
+ let requestNative = JSON.parse(imp.native.request);
+
+ // We remove the native asset requirements if we used the bypass to generate the imp
+ const hasAssetRequirements = requestNative.assets &&
+ (requestNative.assets.length !== 1 || Object.keys(requestNative.assets[0]).length);
+ if (!hasAssetRequirements) {
+ delete requestNative.assets;
+ }
+
+ deepSetValue(imp, 'native.request_native', requestNative);
+ delete imp.native.request;
+ }
+
+ return imp;
+}
+
+/**
+ * Builds a request object for the ORTB 2.5 request.
+ *
+ * @param {function} buildRequest - The function for building a request object.
+ * @param {Array} imps - An array of ORTB 2.5 impression objects.
+ * @param {Object} bidderRequest - The bidder request object.
+ * @param {Object} context - The context object.
+ * @returns {Object} The ORTB 2.5 request object.
+ */
+function request(buildRequest, imps, bidderRequest, context) {
+ let request = buildRequest(imps, bidderRequest, context);
+
+ // params.pubid should override publisher id
+ if (typeof context.publisherId !== 'undefined') {
+ if (typeof request.app !== 'undefined') {
+ deepSetValue(request, 'app.publisher.id', context.publisherId);
+ } else {
+ deepSetValue(request, 'site.publisher.id', context.publisherId);
+ }
+ }
+
+ if (bidderRequest && bidderRequest.gdprConsent) {
+ deepSetValue(request, 'regs.ext.gdprversion', bidderRequest.gdprConsent.apiVersion);
+ }
+
+ // Translate 2.6 OpenRTB request into 2.5 OpenRTB request
+ request = TRANSLATOR(request);
+
+ return request;
+}
+
+/**
+ * Build bid from oRTB 2.5 bid.
+ *
+ * @param buildBidResponse
+ * @param bid
+ * @param context
+ * @returns {*}
+ */
+function bidResponse(buildBidResponse, bid, context) {
+ context.mediaType = deepAccess(bid, 'ext.mediatype');
+ if (context.mediaType === NATIVE && typeof bid.adm_native !== 'undefined') {
+ bid.adm = bid.adm_native;
+ delete bid.adm_native;
+ }
+
+ let bidResponse = buildBidResponse(bid, context);
+ const {bidRequest} = context;
+
+ bidResponse.currency = deepAccess(bid, 'ext.cur')
+
+ if (typeof deepAccess(bid, 'ext.meta') !== 'undefined') {
+ deepSetValue(bidResponse, 'meta', {
+ ...bidResponse.meta,
+ ...bid.ext.meta
+ });
+ }
+ if (typeof deepAccess(bid, 'ext.paf.content_id') !== 'undefined') {
+ deepSetValue(bidResponse, 'meta.paf.content_id', bid.ext.paf.content_id)
+ }
+
+ if (bidResponse.mediaType === VIDEO) {
+ bidResponse.vastUrl = bid.ext?.displayurl;
+ // if outstream video, add a default render for it.
+ if (deepAccess(bidRequest, 'mediaTypes.video.context') === OUTSTREAM) {
+ bidResponse.renderer = createOutstreamVideoRenderer(bid);
+ }
+ }
+
+ return bidResponse;
+}
+
+/**
+ * Builds bid response from the oRTB 2.5 bid response.
+ *
+ * @param buildResponse
+ * @param bidResponses
+ * @param ortbResponse
+ * @param context
+ * @returns *
+ */
+function response(buildResponse, bidResponses, ortbResponse, context) {
+ let response = buildResponse(bidResponses, ortbResponse, context);
+
+ const pafTransmission = deepAccess(ortbResponse, 'ext.paf.transmission');
+ response.bids.forEach(bid => {
+ if (typeof pafTransmission !== 'undefined' && typeof deepAccess(bid, 'meta.paf.content_id') !== 'undefined') {
+ deepSetValue(bid, 'meta.paf.transmission', pafTransmission);
+ } else {
+ delete bid.meta.paf;
+ }
+ });
+
+ return response;
+}
+
/** @type {BidderSpec} */
export const spec = {
code: BIDDER_CODE,
@@ -58,15 +221,10 @@ export const spec = {
getUserSyncs: function (syncOptions, _, gdprConsent, uspConsent, gppConsent = {}) {
let { gppString = '', applicableSections = [] } = gppConsent;
- if (syncOptions.iframeEnabled && hasPurpose1Consent(gdprConsent)) {
- const fastBidVersion = config.getConfig('criteo.fastBidVersion');
- if (canFastBid(fastBidVersion)) {
- return [];
- }
-
- const refererInfo = getRefererInfo();
- const origin = 'criteoPrebidAdapter';
+ const refererInfo = getRefererInfo();
+ const origin = 'criteoPrebidAdapter';
+ if (syncOptions.iframeEnabled && hasPurpose1Consent(gdprConsent)) {
const queryParams = [];
queryParams.push(`origin=${origin}`);
queryParams.push(`topUrl=${refererInfo.domain}`);
@@ -191,50 +349,25 @@ export const spec = {
* @return {ServerRequest}
*/
buildRequests: (bidRequests, bidderRequest) => {
- let url;
- let data;
- let fpd = bidderRequest.ortb2 || {};
-
- Object.assign(bidderRequest, {
- publisherExt: fpd.site?.ext,
- userExt: fpd.user?.ext,
- ceh: config.getConfig('criteo.ceh'),
- coppa: config.getConfig('coppa')
- });
-
- // If publisher tag not already loaded try to get it from fast bid
- const fastBidVersion = config.getConfig('criteo.fastBidVersion');
- const canLoadPublisherTag = canFastBid(fastBidVersion);
- if (!publisherTagAvailable() && canLoadPublisherTag) {
- window.Criteo = window.Criteo || {};
- window.Criteo.usePrebidEvents = false;
-
- tryGetCriteoFastBid();
+ bidRequests.forEach(bidRequest => {
+ if (hasNativeMediaType(bidRequest)) {
+ if (!checkNativeSendId(bidRequest)) {
+ logWarn(LOG_PREFIX + 'all native assets containing URL should be sent as placeholders with sendId(icon, image, clickUrl, displayUrl, privacyLink, privacyIcon)');
+ }
- const fastBidUrl = getFastBidUrl(fastBidVersion);
- // Reload the PublisherTag after the timeout to ensure FastBid is up-to-date and tracking done properly
- setTimeout(() => {
- loadExternalScript(fastBidUrl, BIDDER_CODE);
- }, bidderRequest.timeout);
- }
+ // We support native request without assets requirements because we can fill them later on.
+ // This is a trick to fool oRTB converter isOpenRTBBidRequestValid(ortb) fn because it needs
+ // nativeOrtbRequest.assets to be non-empty.
+ if (deepAccess(bidRequest, 'nativeOrtbRequest.assets') == null) {
+ logWarn(LOG_PREFIX + 'native asset requirements are missing');
+ deepSetValue(bidRequest, 'nativeOrtbRequest.assets', [{}]);
+ }
+ }
+ });
- if (publisherTagAvailable()) {
- // eslint-disable-next-line no-undef
- const adapter = new Criteo.PubTag.Adapters.Prebid(
- PROFILE_ID_PUBLISHERTAG,
- ADAPTER_VERSION,
- bidRequests,
- bidderRequest,
- '$prebid.version$',
- { createOutstreamVideoRenderer: createOutstreamVideoRenderer }
- );
- url = adapter.buildCdbUrl();
- data = adapter.buildCdbRequest();
- } else {
- const context = buildContext(bidRequests, bidderRequest);
- url = buildCdbUrl(context);
- data = buildCdbRequest(context, bidRequests, bidderRequest);
- }
+ const context = buildContext(bidRequests, bidderRequest);
+ const url = buildCdbUrl(context);
+ const data = CONVERTER.toORTB({bidderRequest, bidRequests, context});
if (data) {
return { method: 'POST', url, data, bidRequests };
@@ -247,131 +380,24 @@ export const spec = {
* @return {Bid[] | {bids: Bid[], fledgeAuctionConfigs: object[]}}
*/
interpretResponse: (response, request) => {
- const body = response.body || response;
-
- if (publisherTagAvailable()) {
- // eslint-disable-next-line no-undef
- const adapter = Criteo.PubTag.Adapters.Prebid.GetAdapter(request);
- if (adapter) {
- return adapter.interpretResponse(body, request);
- }
- }
-
- const bids = [];
- const fledgeAuctionConfigs = [];
-
- if (body && body.slots && isArray(body.slots)) {
- body.slots.forEach(slot => {
- const bidRequest = getAssociatedBidRequest(request.bidRequests, slot);
- if (bidRequest) {
- const bidId = bidRequest.bidId;
- const bid = {
- requestId: bidId,
- cpm: slot.cpm,
- currency: slot.currency,
- netRevenue: true,
- ttl: slot.ttl || 60,
- creativeId: slot.creativecode,
- width: slot.width,
- height: slot.height,
- dealId: slot.deal,
- };
- if (body.ext?.paf?.transmission && slot.ext?.paf?.content_id) {
- const pafResponseMeta = {
- content_id: slot.ext.paf.content_id,
- transmission: response.ext.paf.transmission
- };
- bid.meta = Object.assign({}, bid.meta, { paf: pafResponseMeta });
- }
- if (slot.adomain) {
- bid.meta = Object.assign({}, bid.meta, { advertiserDomains: [slot.adomain].flat() });
- }
- if (slot.ext?.meta?.networkName) {
- bid.meta = Object.assign({}, bid.meta, { networkName: slot.ext.meta.networkName })
- }
- if (slot.ext?.dsa) {
- bid.meta = Object.assign({}, bid.meta, { dsa: slot.ext.dsa })
- }
- if (slot.native) {
- if (bidRequest.params.nativeCallback) {
- bid.ad = createNativeAd(bidId, slot.native, bidRequest.params.nativeCallback);
- } else {
- bid.native = createPrebidNativeAd(slot.native);
- bid.mediaType = NATIVE;
- }
- } else if (slot.video) {
- bid.vastUrl = slot.displayurl;
- bid.mediaType = VIDEO;
- const context = deepAccess(bidRequest, 'mediaTypes.video.context');
- // if outstream video, add a default render for it.
- if (context === OUTSTREAM) {
- bid.renderer = createOutstreamVideoRenderer(slot);
- }
- } else {
- bid.ad = slot.creative;
- }
- bids.push(bid);
- }
- });
+ if (typeof response?.body == 'undefined') {
+ return []; // no bid
}
- if (isArray(body.ext?.igi)) {
- body.ext.igi.forEach((igi) => {
- if (isArray(igi?.igs)) {
- igi.igs.forEach((igs) => {
- fledgeAuctionConfigs.push(igs);
- });
- }
- });
- }
+ const interpretedResponse = CONVERTER.fromORTB({response: response.body, request: request.data});
+ const bids = interpretedResponse.bids || [];
- if (fledgeAuctionConfigs.length) {
+ const fledgeAuctionConfigs = deepAccess(response.body, 'ext.igi')?.filter(igi => isArray(igi?.igs))
+ .flatMap(igi => igi.igs);
+ if (fledgeAuctionConfigs?.length) {
return {
bids,
- fledgeAuctionConfigs,
+ paapi: fledgeAuctionConfigs,
};
}
return bids;
},
- /**
- * @param {TimedOutBid} timeoutData
- */
- onTimeout: (timeoutData) => {
- if (publisherTagAvailable() && Array.isArray(timeoutData)) {
- var auctionsIds = [];
- timeoutData.forEach((bid) => {
- if (auctionsIds.indexOf(bid.auctionId) === -1) {
- auctionsIds.push(bid.auctionId);
- // eslint-disable-next-line no-undef
- const adapter = Criteo.PubTag.Adapters.Prebid.GetAdapter(bid.auctionId);
- adapter.handleBidTimeout();
- }
- });
- }
- },
-
- /**
- * @param {Bid} bid
- */
- onBidWon: (bid) => {
- if (publisherTagAvailable() && bid) {
- // eslint-disable-next-line no-undef
- const adapter = Criteo.PubTag.Adapters.Prebid.GetAdapter(bid.auctionId);
- adapter.handleBidWon(bid);
- }
- },
-
- /**
- * @param {Bid} bid
- */
- onSetTargeting: (bid) => {
- if (publisherTagAvailable()) {
- // eslint-disable-next-line no-undef
- const adapter = Criteo.PubTag.Adapters.Prebid.GetAdapter(bid.auctionId);
- adapter.handleSetTargeting(bid);
- }
- },
/**
* @param {BidRequest[]} bidRequests
@@ -412,43 +438,26 @@ function deleteFromAllStorages(name) {
storage.removeDataFromLocalStorage(name);
}
-/**
- * @return {boolean}
- */
-function publisherTagAvailable() {
- // eslint-disable-next-line no-undef
- return typeof Criteo !== 'undefined' && Criteo.PubTag && Criteo.PubTag.Adapters && Criteo.PubTag.Adapters.Prebid;
-}
-
/**
* @param {BidRequest[]} bidRequests
* @param bidderRequest
*/
function buildContext(bidRequests, bidderRequest) {
- let referrer = '';
- if (bidderRequest && bidderRequest.refererInfo) {
- referrer = bidderRequest.refererInfo.page;
- }
const queryString = parseUrl(bidderRequest?.refererInfo?.topmostLocation).search;
- const context = {
- url: referrer,
+ return {
+ url: bidderRequest?.refererInfo?.page || '',
debug: queryString['pbt_debug'] === '1',
noLog: queryString['pbt_nolog'] === '1',
- amp: false,
+ fledgeEnabled: bidderRequest.paapi?.enabled,
+ amp: bidRequests.some(bidRequest => bidRequest.params.integrationMode === 'amp'),
+ networkId: bidRequests.find(bidRequest => bidRequest.params?.networkId)?.params.networkId,
+ publisherId: bidRequests.find(bidRequest => bidRequest.params?.pubid)?.params.pubid,
};
-
- bidRequests.forEach(bidRequest => {
- if (bidRequest.params.integrationMode === 'amp') {
- context.amp = true;
- }
- });
-
- return context;
}
/**
- * @param {CriteoContext} context
+ * @param {Object} context
* @return {string}
*/
function buildCdbUrl(context) {
@@ -484,6 +493,10 @@ function buildCdbUrl(context) {
url += `&optout=1`;
}
+ if (context.networkId) {
+ url += `&networkId=` + context.networkId;
+ }
+
return url;
}
@@ -499,185 +512,6 @@ function checkNativeSendId(bidRequest) {
));
}
-/**
- * @param {CriteoContext} context
- * @param {BidRequest[]} bidRequests
- * @param bidderRequest
- * @return {*}
- */
-function buildCdbRequest(context, bidRequests, bidderRequest) {
- let networkId;
- let pubid;
- let schain;
- let userIdAsEids;
- let regs = Object.assign({}, {
- coppa: bidderRequest.coppa === true ? 1 : (bidderRequest.coppa === false ? 0 : undefined)
- }, bidderRequest.ortb2?.regs);
- const request = {
- id: generateUUID(),
- publisher: {
- url: context.url,
- ext: bidderRequest.publisherExt,
- },
- regs: regs,
- slots: bidRequests.map(bidRequest => {
- if (!userIdAsEids) {
- userIdAsEids = bidRequest.userIdAsEids;
- }
- networkId = bidRequest.params.networkId || networkId;
- pubid = bidRequest.params.pubid || pubid;
- schain = bidRequest.schain || schain;
- const slot = {
- slotid: bidRequest.bidId,
- impid: bidRequest.adUnitCode,
- transactionid: bidRequest.ortb2Imp?.ext?.tid
- };
- if (bidRequest.params.zoneId) {
- slot.zoneid = bidRequest.params.zoneId;
- }
- if (deepAccess(bidRequest, 'ortb2Imp.ext')) {
- slot.ext = bidRequest.ortb2Imp.ext;
- }
-
- if (deepAccess(bidRequest, 'ortb2Imp.rwdd')) {
- slot.rwdd = bidRequest.ortb2Imp.rwdd;
- }
-
- if (bidRequest.params.ext) {
- slot.ext = Object.assign({}, slot.ext, bidRequest.params.ext);
- }
- if (bidRequest.nativeOrtbRequest?.assets) {
- slot.ext = Object.assign({}, slot.ext, { assets: bidRequest.nativeOrtbRequest.assets });
- }
- if (bidRequest.params.uid) {
- slot.ext = Object.assign({}, slot.ext, { bidder: { uid: bidRequest.params.uid } });
- }
-
- if (bidRequest.params.publisherSubId) {
- slot.publishersubid = bidRequest.params.publisherSubId;
- }
-
- if (bidRequest.params.nativeCallback || hasNativeMediaType(bidRequest)) {
- slot.native = true;
- if (!checkNativeSendId(bidRequest)) {
- logWarn(LOG_PREFIX + 'all native assets containing URL should be sent as placeholders with sendId(icon, image, clickUrl, displayUrl, privacyLink, privacyIcon)');
- }
- }
-
- if (hasBannerMediaType(bidRequest)) {
- slot.sizes = parseSizes(deepAccess(bidRequest, 'mediaTypes.banner.sizes'), parseSize);
- } else {
- slot.sizes = [];
- }
-
- if (hasVideoMediaType(bidRequest)) {
- const video = {
- context: bidRequest.mediaTypes.video.context,
- playersizes: parseSizes(deepAccess(bidRequest, 'mediaTypes.video.playerSize'), parseSize),
- mimes: bidRequest.mediaTypes.video.mimes,
- protocols: bidRequest.mediaTypes.video.protocols,
- maxduration: bidRequest.mediaTypes.video.maxduration,
- api: bidRequest.mediaTypes.video.api,
- skip: bidRequest.mediaTypes.video.skip,
- placement: bidRequest.mediaTypes.video.placement,
- minduration: bidRequest.mediaTypes.video.minduration,
- playbackmethod: bidRequest.mediaTypes.video.playbackmethod,
- startdelay: bidRequest.mediaTypes.video.startdelay,
- plcmt: bidRequest.mediaTypes.video.plcmt,
- w: bidRequest.mediaTypes.video.w,
- h: bidRequest.mediaTypes.video.h,
- linearity: bidRequest.mediaTypes.video.linearity,
- skipmin: bidRequest.mediaTypes.video.skipmin,
- skipafter: bidRequest.mediaTypes.video.skipafter,
- minbitrate: bidRequest.mediaTypes.video.minbitrate,
- maxbitrate: bidRequest.mediaTypes.video.maxbitrate,
- delivery: bidRequest.mediaTypes.video.delivery,
- pos: bidRequest.mediaTypes.video.pos,
- playbackend: bidRequest.mediaTypes.video.playbackend,
- adPodDurationSec: bidRequest.mediaTypes.video.adPodDurationSec,
- durationRangeSec: bidRequest.mediaTypes.video.durationRangeSec,
- };
- const paramsVideo = bidRequest.params.video;
- if (paramsVideo !== undefined) {
- video.skip = video.skip || paramsVideo.skip || 0;
- video.placement = video.placement || paramsVideo.placement;
- video.minduration = video.minduration || paramsVideo.minduration;
- video.playbackmethod = video.playbackmethod || paramsVideo.playbackmethod;
- video.startdelay = video.startdelay || paramsVideo.startdelay || 0;
- }
-
- slot.video = video;
- }
-
- enrichSlotWithFloors(slot, bidRequest);
-
- if (!bidderRequest.fledgeEnabled && slot.ext?.ae) {
- delete slot.ext.ae;
- }
-
- return slot;
- }),
- };
- if (networkId) {
- request.publisher.networkid = networkId;
- }
-
- request.source = {
- tid: bidderRequest.ortb2?.source?.tid
- };
-
- if (schain) {
- request.source.ext = {
- schain: schain
- };
- };
- request.user = bidderRequest.ortb2?.user || {};
- request.site = bidderRequest.ortb2?.site || {};
- request.app = bidderRequest.ortb2?.app || {};
-
- if (pubid) {
- request.site.publisher = {...request.site.publisher, ...{ id: pubid }};
- request.app.publisher = {...request.app.publisher, ...{ id: pubid }};
- }
-
- request.device = bidderRequest.ortb2?.device || {};
- if (bidderRequest && bidderRequest.ceh) {
- request.user.ceh = bidderRequest.ceh;
- }
- if (bidderRequest && bidderRequest.gdprConsent) {
- request.gdprConsent = {};
- if (typeof bidderRequest.gdprConsent.gdprApplies !== 'undefined') {
- request.gdprConsent.gdprApplies = !!(bidderRequest.gdprConsent.gdprApplies);
- }
- request.gdprConsent.version = bidderRequest.gdprConsent.apiVersion;
- if (typeof bidderRequest.gdprConsent.consentString !== 'undefined') {
- request.gdprConsent.consentData = bidderRequest.gdprConsent.consentString;
- }
- }
- if (bidderRequest && bidderRequest.uspConsent) {
- request.user.uspIab = bidderRequest.uspConsent;
- }
- if (bidderRequest && bidderRequest.ortb2?.device?.sua) {
- request.user.ext = request.user.ext || {};
- request.user.ext.sua = bidderRequest.ortb2?.device?.sua || {};
- }
- if (userIdAsEids) {
- request.user.ext = request.user.ext || {};
- request.user.ext.eids = [...userIdAsEids];
- }
- if (bidderRequest && bidderRequest.ortb2?.bcat) {
- request.bcat = bidderRequest.ortb2.bcat;
- }
- if (bidderRequest && bidderRequest.ortb2?.badv) {
- request.badv = bidderRequest.ortb2.badv;
- }
- if (bidderRequest && bidderRequest.ortb2?.bapp) {
- request.bapp = bidderRequest.ortb2.bapp;
- }
- request.tmax = bidderRequest.timeout;
- return request;
-}
-
function parseSizes(sizes, parser = s => s) {
if (sizes == undefined) {
return [];
@@ -696,10 +530,6 @@ function hasVideoMediaType(bidRequest) {
return deepAccess(bidRequest, 'mediaTypes.video') !== undefined;
}
-function hasBannerMediaType(bidRequest) {
- return deepAccess(bidRequest, 'mediaTypes.banner') !== undefined;
-}
-
function hasNativeMediaType(bidRequest) {
return deepAccess(bidRequest, 'mediaTypes.native') !== undefined;
}
@@ -719,54 +549,6 @@ function hasValidVideoMediaType(bidRequest) {
return isValid;
}
-/**
- * Create prebid compatible native ad with native payload
- * @param {*} payload
- * @returns prebid native ad assets
- */
-function createPrebidNativeAd(payload) {
- return {
- sendTargetingKeys: false, // no key is added to KV by default
- title: payload.products[0].title,
- body: payload.products[0].description,
- sponsoredBy: payload.advertiser.description,
- icon: payload.advertiser.logo,
- image: payload.products[0].image,
- clickUrl: payload.products[0].click_url,
- privacyLink: payload.privacy.optout_click_url,
- privacyIcon: payload.privacy.optout_image_url,
- cta: payload.products[0].call_to_action,
- price: payload.products[0].price,
- impressionTrackers: payload.impression_pixels.map(pix => pix.url)
- };
-}
-
-/**
- * @param {string} id
- * @param {*} payload
- * @param {*} callback
- * @return {string}
- */
-function createNativeAd(id, payload, callback) {
- // Store the callback and payload in a global object to be later accessed from the creative
- var slotsName = 'criteo_prebid_native_slots';
- window[slotsName] = window[slotsName] || {};
- window[slotsName][id] = { callback, payload };
-
- // The creative is in an iframe so we have to get the callback and payload
- // from the parent window (doesn't work with safeframes)
- return `
-`;
-}
-
function pickAvailableGetFloorFunc(bidRequest) {
if (bidRequest.getFloor) {
return bidRequest.getFloor;
@@ -785,87 +567,58 @@ function pickAvailableGetFloorFunc(bidRequest) {
return undefined;
}
-function enrichSlotWithFloors(slot, bidRequest) {
+function getFloors(bidRequest) {
try {
- const slotFloors = {};
+ const floors = {};
const getFloor = pickAvailableGetFloorFunc(bidRequest);
if (getFloor) {
if (bidRequest.mediaTypes?.banner) {
- slotFloors.banner = {};
+ floors.banner = {};
const bannerSizes = parseSizes(deepAccess(bidRequest, 'mediaTypes.banner.sizes'))
- bannerSizes.forEach(bannerSize => slotFloors.banner[parseSize(bannerSize).toString()] = getFloor.call(bidRequest, { size: bannerSize, mediaType: BANNER }));
+ bannerSizes.forEach(bannerSize => floors.banner[parseSize(bannerSize).toString()] = getFloor.call(bidRequest, { size: bannerSize, mediaType: BANNER }));
}
if (bidRequest.mediaTypes?.video) {
- slotFloors.video = {};
+ floors.video = {};
const videoSizes = parseSizes(deepAccess(bidRequest, 'mediaTypes.video.playerSize'))
- videoSizes.forEach(videoSize => slotFloors.video[parseSize(videoSize).toString()] = getFloor.call(bidRequest, { size: videoSize, mediaType: VIDEO }));
+ videoSizes.forEach(videoSize => floors.video[parseSize(videoSize).toString()] = getFloor.call(bidRequest, { size: videoSize, mediaType: VIDEO }));
}
if (bidRequest.mediaTypes?.native) {
- slotFloors.native = {};
- slotFloors.native['*'] = getFloor.call(bidRequest, { size: '*', mediaType: NATIVE });
+ floors.native = {};
+ floors.native['*'] = getFloor.call(bidRequest, { size: '*', mediaType: NATIVE });
}
- if (Object.keys(slotFloors).length > 0) {
- if (!slot.ext) {
- slot.ext = {}
- }
- Object.assign(slot.ext, {
- floors: slotFloors
- });
- }
+ return floors;
}
} catch (e) {
logError('Could not parse floors from Prebid: ' + e);
}
}
-export function canFastBid(fastBidVersion) {
- return fastBidVersion !== FAST_BID_VERSION_NONE;
-}
-
-export function getFastBidUrl(fastBidVersion) {
- let version;
- if (fastBidVersion === FAST_BID_VERSION_LATEST) {
- version = '';
- } else if (fastBidVersion) {
- let majorVersion = String(fastBidVersion).split('.')[0];
- if (majorVersion < 102) {
- logWarn('Specifying a Fastbid version which is not supporting version selection.')
- }
- version = '.' + fastBidVersion;
- } else {
- version = '.' + FAST_BID_VERSION_CURRENT;
- }
-
- return PUBLISHER_TAG_URL_TEMPLATE.replace(FAST_BID_VERSION_PLACEHOLDER, version);
-}
-
-function createOutstreamVideoRenderer(slot) {
- if (slot.ext.videoPlayerConfig === undefined || slot.ext.videoPlayerType === undefined) {
+function createOutstreamVideoRenderer(bid) {
+ if (bid.ext?.videoPlayerConfig === undefined || bid.ext?.videoPlayerType === undefined) {
return undefined;
}
const config = {
- documentResolver: (bid, sourceDocument, renderDocument) => {
+ documentResolver: (_, sourceDocument, renderDocument) => {
return renderDocument ?? sourceDocument;
}
}
- const render = (bid, renderDocument) => {
+ const render = (_, renderDocument) => {
let payload = {
- slotid: slot.impid,
- vastUrl: slot.displayurl,
- vastXml: slot.creative,
+ slotid: bid.id,
+ vastUrl: bid.ext?.displayurl,
+ vastXml: bid.adm,
documentContext: renderDocument,
};
- let outstreamConfig = slot.ext.videoPlayerConfig;
-
- window.CriteoOutStream[slot.ext.videoPlayerType].play(payload, outstreamConfig)
+ let outstreamConfig = bid.ext.videoPlayerConfig;
+ window.CriteoOutStream[bid.ext.videoPlayerType].play(payload, outstreamConfig)
};
const renderer = Renderer.install({ url: PUBLISHER_TAG_OUTSTREAM_SRC, config: config });
@@ -873,60 +626,4 @@ function createOutstreamVideoRenderer(slot) {
return renderer;
}
-function getAssociatedBidRequest(bidRequests, slot) {
- for (const request of bidRequests) {
- if (request.adUnitCode === slot.impid) {
- if (request.params.zoneId && parseInt(request.params.zoneId) === slot.zoneid) {
- return request;
- } else if (slot.native) {
- if (request.mediaTypes?.native || request.nativeParams) {
- return request;
- }
- } else if (slot.video) {
- if (request.mediaTypes?.video) {
- return request;
- }
- } else if (request.mediaTypes?.banner || request.sizes) {
- return request;
- }
- }
- }
- return undefined;
-}
-
-export function tryGetCriteoFastBid() {
- // begin ref#1
- try {
- const fastBidStorageKey = 'criteo_fast_bid';
- const hashPrefix = '// Hash: ';
- const fastBidFromStorage = storage.getDataFromLocalStorage(fastBidStorageKey);
-
- if (fastBidFromStorage !== null) {
- // The value stored must contain the file's encrypted hash as first line
- const firstLineEndPosition = fastBidFromStorage.indexOf('\n');
- const firstLine = fastBidFromStorage.substr(0, firstLineEndPosition).trim();
-
- if (firstLine.substr(0, hashPrefix.length) !== hashPrefix) {
- logWarn('No hash found in FastBid');
- storage.removeDataFromLocalStorage(fastBidStorageKey);
- } else {
- // Remove the hash part from the locally stored value
- const publisherTagHash = firstLine.substr(hashPrefix.length);
- const publisherTag = fastBidFromStorage.substr(firstLineEndPosition + 1);
-
- if (verify(publisherTag, publisherTagHash, FAST_BID_PUBKEY_N, FAST_BID_PUBKEY_E)) {
- logInfo('Using Criteo FastBid');
- eval(publisherTag); // eslint-disable-line no-eval
- } else {
- logWarn('Invalid Criteo FastBid found');
- storage.removeDataFromLocalStorage(fastBidStorageKey);
- }
- }
- }
- } catch (e) {
- // Unable to get fast bid
- }
- // end ref#1
-}
-
registerBidder(spec);
diff --git a/modules/dfpAdServerVideo.js b/modules/dfpAdServerVideo.js
index 6314ed15ff9..8325af56b20 100644
--- a/modules/dfpAdServerVideo.js
+++ b/modules/dfpAdServerVideo.js
@@ -5,26 +5,26 @@
import {registerVideoSupport} from '../src/adServerManager.js';
import {targeting} from '../src/targeting.js';
import {
- isNumber,
buildUrl,
deepAccess,
formatQS,
isEmpty,
+ isNumber,
logError,
parseSizesInput,
parseUrl,
uniques
} from '../src/utils.js';
import {config} from '../src/config.js';
-import {getHook, submodule} from '../src/hook.js';
+import {getHook} from '../src/hook.js';
import {auctionManager} from '../src/auctionManager.js';
import {gdprDataHandler} from '../src/adapterManager.js';
import * as events from '../src/events.js';
-import { EVENTS } from '../src/constants.js';
+import {EVENTS} from '../src/constants.js';
import {getPPID} from '../src/adserver.js';
import {getRefererInfo} from '../src/refererDetection.js';
import {CLIENT_SECTIONS} from '../src/fpd/oneClient.js';
-
+import {DEFAULT_DFP_PARAMS, DFP_ENDPOINT} from '../libraries/dfpUtils/dfpUtils.js';
/**
* @typedef {Object} DfpVideoParams
*
@@ -54,16 +54,6 @@ import {CLIENT_SECTIONS} from '../src/fpd/oneClient.js';
* @param {string} [url] video adserver url
*/
-/** Safe defaults which work on pretty much all video calls. */
-const defaultParamConstants = {
- env: 'vp',
- gdfp_req: 1,
- output: 'vast',
- unviewed_position_start: 1,
-};
-
-export const adpodUtils = {};
-
export const dep = {
ri: getRefererInfo
}
@@ -115,7 +105,7 @@ export function buildDfpVideoUrl(options) {
let encodedCustomParams = getCustParams(bid, options, urlSearchComponent && urlSearchComponent.cust_params);
const queryParams = Object.assign({},
- defaultParamConstants,
+ DEFAULT_DFP_PARAMS,
urlComponents.search,
derivedParams,
options.params,
@@ -202,11 +192,7 @@ export function buildDfpVideoUrl(options) {
}))
}
- return buildUrl(Object.assign({
- protocol: 'https',
- host: 'securepubads.g.doubleclick.net',
- pathname: '/gampad/ads'
- }, urlComponents, { search: queryParams }));
+ return buildUrl(Object.assign({}, DFP_ENDPOINT, urlComponents, { search: queryParams }));
}
export function notifyTranslationModule(fn) {
@@ -215,95 +201,6 @@ export function notifyTranslationModule(fn) {
if (config.getConfig('brandCategoryTranslation.translationFile')) { getHook('registerAdserver').before(notifyTranslationModule); }
-/**
- * @typedef {Object} DfpAdpodOptions
- *
- * @param {string} code Ad Unit code
- * @param {Object} params Query params which should be set on the DFP request.
- * These will override this module's defaults whenever they conflict.
- * @param {function} callback Callback function to execute when master tag is ready
- */
-
-/**
- * Creates master tag url for long-form
- * @param {DfpAdpodOptions} options
- * @returns {string} A URL which calls DFP with custom adpod targeting key values to compete with rest of the demand in DFP
- */
-export function buildAdpodVideoUrl({code, params, callback} = {}) {
- // TODO: the public API for this does not take in enough info to fill all DFP params (adUnit/bid),
- // and is marked "alpha": https://docs.prebid.org/dev-docs/publisher-api-reference/adServers.dfp.buildAdpodVideoUrl.html
- if (!params || !callback) {
- logError(`A params object and a callback is required to use pbjs.adServers.dfp.buildAdpodVideoUrl`);
- return;
- }
-
- const derivedParams = {
- correlator: Date.now(),
- sz: getSizeForAdUnit(code),
- url: encodeURIComponent(location.href),
- };
-
- function getSizeForAdUnit(code) {
- let adUnit = auctionManager.getAdUnits()
- .filter((adUnit) => adUnit.code === code)
- let sizes = deepAccess(adUnit[0], 'mediaTypes.video.playerSize');
- return parseSizesInput(sizes).join('|');
- }
-
- adpodUtils.getTargeting({
- 'codes': [code],
- 'callback': createMasterTag
- });
-
- function createMasterTag(err, targeting) {
- if (err) {
- callback(err, null);
- return;
- }
-
- let initialValue = {
- [adpodUtils.TARGETING_KEY_PB_CAT_DUR]: undefined,
- [adpodUtils.TARGETING_KEY_CACHE_ID]: undefined
- };
- let customParams = {};
- if (targeting[code]) {
- customParams = targeting[code].reduce((acc, curValue) => {
- if (Object.keys(curValue)[0] === adpodUtils.TARGETING_KEY_PB_CAT_DUR) {
- acc[adpodUtils.TARGETING_KEY_PB_CAT_DUR] = (typeof acc[adpodUtils.TARGETING_KEY_PB_CAT_DUR] !== 'undefined') ? acc[adpodUtils.TARGETING_KEY_PB_CAT_DUR] + ',' + curValue[adpodUtils.TARGETING_KEY_PB_CAT_DUR] : curValue[adpodUtils.TARGETING_KEY_PB_CAT_DUR];
- } else if (Object.keys(curValue)[0] === adpodUtils.TARGETING_KEY_CACHE_ID) {
- acc[adpodUtils.TARGETING_KEY_CACHE_ID] = curValue[adpodUtils.TARGETING_KEY_CACHE_ID]
- }
- return acc;
- }, initialValue);
- }
-
- let encodedCustomParams = encodeURIComponent(formatQS(customParams));
-
- const queryParams = Object.assign({},
- defaultParamConstants,
- derivedParams,
- params,
- { cust_params: encodedCustomParams }
- );
-
- const gdprConsent = gdprDataHandler.getConsentData();
- if (gdprConsent) {
- if (typeof gdprConsent.gdprApplies === 'boolean') { queryParams.gdpr = Number(gdprConsent.gdprApplies); }
- if (gdprConsent.consentString) { queryParams.gdpr_consent = gdprConsent.consentString; }
- if (gdprConsent.addtlConsent) { queryParams.addtl_consent = gdprConsent.addtlConsent; }
- }
-
- const masterTag = buildUrl({
- protocol: 'https',
- host: 'securepubads.g.doubleclick.net',
- pathname: '/gampad/ads',
- search: queryParams
- });
-
- callback(null, masterTag);
- }
-}
-
/**
* Builds a video url from a base dfp video url and a winning bid, appending
* Prebid-specific key-values.
@@ -375,8 +272,4 @@ function getCustParams(bid, options, urlCustParams) {
registerVideoSupport('dfp', {
buildVideoUrl: buildDfpVideoUrl,
- buildAdpodVideoUrl: buildAdpodVideoUrl,
- getAdpodTargeting: (args) => adpodUtils.getTargeting(args)
});
-
-submodule('adpod', adpodUtils);
diff --git a/modules/dfpAdpod.js b/modules/dfpAdpod.js
new file mode 100644
index 00000000000..a5bd48f60e4
--- /dev/null
+++ b/modules/dfpAdpod.js
@@ -0,0 +1,102 @@
+import {submodule} from '../src/hook.js';
+import {buildUrl, deepAccess, formatQS, logError, parseSizesInput} from '../src/utils.js';
+import {auctionManager} from '../src/auctionManager.js';
+import {DEFAULT_DFP_PARAMS, DFP_ENDPOINT} from '../libraries/dfpUtils/dfpUtils.js';
+import {gdprDataHandler} from '../src/consentHandler.js';
+import {registerVideoSupport} from '../src/adServerManager.js';
+
+export const adpodUtils = {};
+
+/**
+ * @typedef {Object} DfpAdpodOptions
+ *
+ * @param {string} code Ad Unit code
+ * @param {Object} params Query params which should be set on the DFP request.
+ * These will override this module's defaults whenever they conflict.
+ * @param {function} callback Callback function to execute when master tag is ready
+ */
+
+/**
+ * Creates master tag url for long-form
+ * @param {DfpAdpodOptions} options
+ * @returns {string} A URL which calls DFP with custom adpod targeting key values to compete with rest of the demand in DFP
+ */
+export function buildAdpodVideoUrl({code, params, callback} = {}) {
+ // TODO: the public API for this does not take in enough info to fill all DFP params (adUnit/bid),
+ // and is marked "alpha": https://docs.prebid.org/dev-docs/publisher-api-reference/adServers.dfp.buildAdpodVideoUrl.html
+ if (!params || !callback) {
+ logError(`A params object and a callback is required to use pbjs.adServers.dfp.buildAdpodVideoUrl`);
+ return;
+ }
+
+ const derivedParams = {
+ correlator: Date.now(),
+ sz: getSizeForAdUnit(code),
+ url: encodeURIComponent(location.href),
+ };
+
+ function getSizeForAdUnit(code) {
+ let adUnit = auctionManager.getAdUnits()
+ .filter((adUnit) => adUnit.code === code)
+ let sizes = deepAccess(adUnit[0], 'mediaTypes.video.playerSize');
+ return parseSizesInput(sizes).join('|');
+ }
+
+ adpodUtils.getTargeting({
+ 'codes': [code],
+ 'callback': createMasterTag
+ });
+
+ function createMasterTag(err, targeting) {
+ if (err) {
+ callback(err, null);
+ return;
+ }
+
+ let initialValue = {
+ [adpodUtils.TARGETING_KEY_PB_CAT_DUR]: undefined,
+ [adpodUtils.TARGETING_KEY_CACHE_ID]: undefined
+ };
+ let customParams = {};
+ if (targeting[code]) {
+ customParams = targeting[code].reduce((acc, curValue) => {
+ if (Object.keys(curValue)[0] === adpodUtils.TARGETING_KEY_PB_CAT_DUR) {
+ acc[adpodUtils.TARGETING_KEY_PB_CAT_DUR] = (typeof acc[adpodUtils.TARGETING_KEY_PB_CAT_DUR] !== 'undefined') ? acc[adpodUtils.TARGETING_KEY_PB_CAT_DUR] + ',' + curValue[adpodUtils.TARGETING_KEY_PB_CAT_DUR] : curValue[adpodUtils.TARGETING_KEY_PB_CAT_DUR];
+ } else if (Object.keys(curValue)[0] === adpodUtils.TARGETING_KEY_CACHE_ID) {
+ acc[adpodUtils.TARGETING_KEY_CACHE_ID] = curValue[adpodUtils.TARGETING_KEY_CACHE_ID]
+ }
+ return acc;
+ }, initialValue);
+ }
+
+ let encodedCustomParams = encodeURIComponent(formatQS(customParams));
+
+ const queryParams = Object.assign({},
+ DEFAULT_DFP_PARAMS,
+ derivedParams,
+ params,
+ { cust_params: encodedCustomParams }
+ );
+
+ const gdprConsent = gdprDataHandler.getConsentData();
+ if (gdprConsent) {
+ if (typeof gdprConsent.gdprApplies === 'boolean') { queryParams.gdpr = Number(gdprConsent.gdprApplies); }
+ if (gdprConsent.consentString) { queryParams.gdpr_consent = gdprConsent.consentString; }
+ if (gdprConsent.addtlConsent) { queryParams.addtl_consent = gdprConsent.addtlConsent; }
+ }
+
+ const masterTag = buildUrl({
+ ...DFP_ENDPOINT,
+ search: queryParams
+ });
+
+ callback(null, masterTag);
+ }
+}
+
+registerVideoSupport('dfp', {
+ buildAdpodVideoUrl: buildAdpodVideoUrl,
+ getAdpodTargeting: (args) => adpodUtils.getTargeting(args)
+});
+
+submodule('adpod', adpodUtils);
diff --git a/modules/dspxBidAdapter.js b/modules/dspxBidAdapter.js
index ea47c64094d..2b819789ec1 100644
--- a/modules/dspxBidAdapter.js
+++ b/modules/dspxBidAdapter.js
@@ -12,7 +12,7 @@ const BIDDER_CODE = 'dspx';
const ENDPOINT_URL = 'https://buyer.dspx.tv/request/';
const ENDPOINT_URL_DEV = 'https://dcbuyer.dspx.tv/request/';
const GVLID = 602;
-const VIDEO_ORTB_PARAMS = ['mimes', 'minduration', 'maxduration', 'protocols', 'w', 'h', 'startdelay', 'placement', 'linearity', 'skip', 'skipmin',
+const VIDEO_ORTB_PARAMS = ['mimes', 'minduration', 'maxduration', 'protocols', 'w', 'h', 'startdelay', 'placement', 'plcmt', 'linearity', 'skip', 'skipmin',
'skipafter', 'sequence', 'battr', 'maxextended', 'minbitrate', 'maxbitrate', 'boxingallowed', 'playbackmethod', 'playbackend', 'delivery', 'pos', 'companionad',
'api', 'companiontype', 'ext'];
diff --git a/modules/e_volutionBidAdapter.js b/modules/e_volutionBidAdapter.js
index 26a1f9c5718..5c4627cfe1b 100644
--- a/modules/e_volutionBidAdapter.js
+++ b/modules/e_volutionBidAdapter.js
@@ -1,6 +1,6 @@
import { registerBidder } from '../src/adapters/bidderFactory.js';
import { BANNER, NATIVE, VIDEO } from '../src/mediaTypes.js';
-import { deepAccess, logMessage, logError } from '../src/utils.js';
+import { deepAccess, logMessage } from '../src/utils.js';
import { convertOrtbRequestToProprietaryNative } from '../src/native.js';
const BIDDER_CODE = 'e_volution';
@@ -83,7 +83,6 @@ function getBidFloor(bid) {
});
return bidFloor.floor;
} catch (err) {
- logError(err);
return 0;
}
}
diff --git a/modules/ebdrBidAdapter.js b/modules/ebdrBidAdapter.js
deleted file mode 100644
index e830f8a94f7..00000000000
--- a/modules/ebdrBidAdapter.js
+++ /dev/null
@@ -1,156 +0,0 @@
-import {getBidIdParameter, logInfo} from '../src/utils.js';
-import { VIDEO, BANNER } from '../src/mediaTypes.js';
-import { registerBidder } from '../src/adapters/bidderFactory.js';
-const BIDDER_CODE = 'ebdr';
-export const spec = {
- code: BIDDER_CODE,
- supportedMediaTypes: [ BANNER, VIDEO ],
- isBidRequestValid: function(bid) {
- return !!(bid && bid.params && bid.params.zoneid);
- },
- buildRequests: function(bids) {
- const rtbServerDomain = 'dsp.bnmla.com';
- let domain = window.location.host;
- let page = window.location.pathname + location.search + location.hash;
- let ebdrImps = [];
- const ebdrReq = {};
- let ebdrParams = {};
- let zoneid = '';
- let requestId = '';
- bids.forEach(bid => {
- logInfo('Log bid', bid);
- let bidFloor = getBidIdParameter('bidfloor', bid.params);
- let whArr = getWidthAndHeight(bid);
- let _mediaTypes = (bid.mediaTypes && bid.mediaTypes.video) ? VIDEO : BANNER;
- zoneid = getBidIdParameter('zoneid', bid.params);
- requestId = bid.bidderRequestId;
- ebdrImps.push({
- id: bid.bidId,
- [_mediaTypes]: {
- w: whArr[0],
- h: whArr[1]
- },
- bidfloor: bidFloor
- });
- ebdrReq[bid.bidId] = {mediaTypes: _mediaTypes,
- w: whArr[0],
- h: whArr[1]
- };
- // TODO: fix lat and long to only come from request
- ebdrParams['latitude'] = '0';
- ebdrParams['longitude'] = '0';
- ebdrParams['ifa'] = (getBidIdParameter('IDFA', bid.params).length > getBidIdParameter('ADID', bid.params).length) ? getBidIdParameter('IDFA', bid.params) : getBidIdParameter('ADID', bid.params);
- });
- let ebdrBidReq = {
- id: requestId,
- imp: ebdrImps,
- site: {
- domain: domain,
- page: page
- },
- device: {
- geo: {
- lat: ebdrParams.latitude,
- log: ebdrParams.longitude
- },
- ifa: ebdrParams.ifa
- }
- };
- return {
- method: 'GET',
- url: 'https://' + rtbServerDomain + '/hb?' + '&zoneid=' + zoneid + '&br=' + encodeURIComponent(JSON.stringify(ebdrBidReq)),
- bids: ebdrReq
- };
- },
- interpretResponse: function(serverResponse, bidRequest) {
- logInfo('Log serverResponse', serverResponse);
- logInfo('Log bidRequest', bidRequest);
- let ebdrResponseImps = [];
- const ebdrResponseObj = serverResponse.body;
- if (!ebdrResponseObj || !ebdrResponseObj.seatbid || ebdrResponseObj.seatbid.length === 0 || !ebdrResponseObj.seatbid[0].bid || ebdrResponseObj.seatbid[0].bid.length === 0) {
- return [];
- }
- ebdrResponseObj.seatbid[0].bid.forEach(ebdrBid => {
- let responseCPM;
- responseCPM = parseFloat(ebdrBid.price);
- let adm;
- let type;
- let _mediaTypes;
- let vastURL;
- if (bidRequest.bids[ebdrBid.id].mediaTypes == BANNER) {
- adm = decodeURIComponent(ebdrBid.adm)
- type = 'ad';
- _mediaTypes = BANNER;
- } else {
- adm = ebdrBid.adm
- type = 'vastXml'
- _mediaTypes = VIDEO;
- if (ebdrBid.nurl) {
- vastURL = ebdrBid.nurl;
- }
- }
- let response = {
- requestId: ebdrBid.id,
- [type]: adm,
- mediaType: _mediaTypes,
- creativeId: ebdrBid.crid,
- cpm: responseCPM,
- width: ebdrBid.w,
- height: ebdrBid.h,
- currency: 'USD',
- netRevenue: true,
- ttl: 3600,
- meta: {
- advertiserDomains: ebdrBid.adomain || []
- }
- };
- if (vastURL) {
- response.vastUrl = vastURL;
- }
- ebdrResponseImps.push(response);
- });
- return ebdrResponseImps;
- },
- getUserSyncs: function(syncOptions, serverResponses) {
- const syncs = []
- if (syncOptions.pixelEnabled) {
- const ebdrResponseObj = serverResponses.body;
- if (!ebdrResponseObj || !ebdrResponseObj.seatbid || ebdrResponseObj.seatbid.length === 0 || !ebdrResponseObj.seatbid[0].bid || ebdrResponseObj.seatbid[0].bid.length === 0) {
- return [];
- }
- ebdrResponseObj.seatbid[0].bid.forEach(ebdrBid => {
- if (ebdrBid.iurl && ebdrBid.iurl.length > 0) {
- syncs.push({
- type: 'image',
- url: ebdrBid.iurl
- });
- }
- });
- }
- return syncs;
- }
-}
-function getWidthAndHeight(bid) {
- let adW = null;
- let adH = null;
- // Handing old bidder only has size object
- if (bid.sizes && bid.sizes.length) {
- let sizeArrayLength = bid.sizes.length;
- if (sizeArrayLength === 2 && typeof bid.sizes[0] === 'number' && typeof bid.sizes[1] === 'number') {
- adW = bid.sizes[0];
- adH = bid.sizes[1];
- }
- }
- let _mediaTypes = bid.mediaTypes && bid.mediaTypes.video ? VIDEO : BANNER;
- if (bid.mediaTypes && bid.mediaTypes[_mediaTypes]) {
- if (_mediaTypes == BANNER && bid.mediaTypes[_mediaTypes].sizes && bid.mediaTypes[_mediaTypes].sizes[0] && bid.mediaTypes[_mediaTypes].sizes[0].length === 2) {
- adW = bid.mediaTypes[_mediaTypes].sizes[0][0];
- adH = bid.mediaTypes[_mediaTypes].sizes[0][1];
- } else if (_mediaTypes == VIDEO && bid.mediaTypes[_mediaTypes].playerSize && bid.mediaTypes[_mediaTypes].playerSize.length === 2) {
- adW = bid.mediaTypes[_mediaTypes].playerSize[0];
- adH = bid.mediaTypes[_mediaTypes].playerSize[1];
- }
- }
- return [adW, adH];
-}
-registerBidder(spec);
diff --git a/modules/ebdrBidAdapter.md b/modules/ebdrBidAdapter.md
deleted file mode 100644
index 64483797b25..00000000000
--- a/modules/ebdrBidAdapter.md
+++ /dev/null
@@ -1,53 +0,0 @@
-# Overview
-
-```
-Module Name: EngageBDR Bid Adapter
-Module Type: Bidder Adapter
-Maintainer: tech@engagebdr.com
-```
-
-# Description
-
-Adapter that connects to EngageBDR's demand sources.
-
-# Test Parameters
-```
- var adUnits = [{
- code: 'div-gpt-ad-1460505748561-0',
- mediaTypes: {
- banner: {
- sizes: [[300, 250], [300,600]],
- }
- },
- bids: [{
- bidder: 'ebdr',
- params: {
- zoneid: '99999',
- bidfloor: '1.00',
- IDFA:'xxx-xxx',
- ADID:'xxx-xxx',
- latitude:'34.089811',
- longitude:'-118.392805'
- }
- }]
- },{
- code: 'test-video',
- mediaTypes: {
- video: {
- context: 'instream',
- playerSize: [300, 250]
- }
- },
- bids: [{
- bidder: 'ebdr',
- params: {
- zoneid: '99998',
- bidfloor: '1.00',
- IDFA:'xxx-xxx',
- ADID:'xxx-xxx',
- latitude:'34.089811',
- longitude:'-118.392805'
- }
- }]
- }];
-```
diff --git a/modules/edge226BidAdapter.js b/modules/edge226BidAdapter.js
index 6d1e2466abe..f0b91183a3e 100644
--- a/modules/edge226BidAdapter.js
+++ b/modules/edge226BidAdapter.js
@@ -57,6 +57,7 @@ function getPlacementReqData(bid) {
placement.protocols = mediaTypes[VIDEO].protocols;
placement.startdelay = mediaTypes[VIDEO].startdelay;
placement.placement = mediaTypes[VIDEO].placement;
+ placement.plcmt = mediaTypes[VIDEO].plcmt;
placement.skip = mediaTypes[VIDEO].skip;
placement.skipafter = mediaTypes[VIDEO].skipafter;
placement.minbitrate = mediaTypes[VIDEO].minbitrate;
diff --git a/modules/emtvBidAdapter.js b/modules/emtvBidAdapter.js
index 7a2fdae8adf..30a63ea5942 100644
--- a/modules/emtvBidAdapter.js
+++ b/modules/emtvBidAdapter.js
@@ -58,6 +58,7 @@ function getPlacementReqData(bid) {
placement.protocols = mediaTypes[VIDEO].protocols;
placement.startdelay = mediaTypes[VIDEO].startdelay;
placement.placement = mediaTypes[VIDEO].placement;
+ placement.plcmt = mediaTypes[VIDEO].plcmt;
placement.skip = mediaTypes[VIDEO].skip;
placement.skipafter = mediaTypes[VIDEO].skipafter;
placement.minbitrate = mediaTypes[VIDEO].minbitrate;
diff --git a/modules/enrichmentFpdModule.js b/modules/enrichmentFpdModule.js
deleted file mode 100644
index 59d5d326109..00000000000
--- a/modules/enrichmentFpdModule.js
+++ /dev/null
@@ -1,2 +0,0 @@
-// Logic from this module was moved into core since approx. 7.27
-// TODO: remove this in v8
diff --git a/modules/eplanningAnalyticsAdapter.js b/modules/eplanningAnalyticsAdapter.js
deleted file mode 100644
index 45a0be54715..00000000000
--- a/modules/eplanningAnalyticsAdapter.js
+++ /dev/null
@@ -1,130 +0,0 @@
-import { logError } from '../src/utils.js';
-import {ajax} from '../src/ajax.js';
-import adapter from '../libraries/analyticsAdapter/AnalyticsAdapter.js';
-import adapterManager from '../src/adapterManager.js';
-import { EVENTS } from '../src/constants.js';
-
-const analyticsType = 'endpoint';
-const EPL_HOST = 'https://ads.us.e-planning.net/hba/1/';
-
-function auctionEndHandler(args) {
- return {auctionId: args.auctionId};
-}
-
-function auctionInitHandler(args) {
- return {
- auctionId: args.auctionId,
- time: args.timestamp
- };
-}
-
-function bidRequestedHandler(args) {
- return {
- auctionId: args.auctionId,
- time: args.start,
- bidder: args.bidderCode,
- bids: args.bids.map(function(bid) {
- return {
- time: bid.startTime,
- bidder: bid.bidder,
- placementCode: bid.placementCode,
- auctionId: bid.auctionId,
- sizes: bid.sizes
- };
- }),
- };
-}
-
-function bidResponseHandler(args) {
- return {
- bidder: args.bidder,
- size: args.size,
- auctionId: args.auctionId,
- cpm: args.cpm,
- time: args.responseTimestamp,
- };
-}
-
-function bidWonHandler(args) {
- return {
- auctionId: args.auctionId,
- size: args.width + 'x' + args.height,
- };
-}
-
-function bidTimeoutHandler(args) {
- return args.map(function(bid) {
- return {
- bidder: bid.bidder,
- auctionId: bid.auctionId
- };
- })
-}
-
-function callHandler(evtype, args) {
- let handler = null;
-
- if (evtype === EVENTS.AUCTION_INIT) {
- handler = auctionInitHandler;
- eplAnalyticsAdapter.context.events = [];
- } else if (evtype === EVENTS.AUCTION_END) {
- handler = auctionEndHandler;
- } else if (evtype === EVENTS.BID_REQUESTED) {
- handler = bidRequestedHandler;
- } else if (evtype === EVENTS.BID_RESPONSE) {
- handler = bidResponseHandler
- } else if (evtype === EVENTS.BID_TIMEOUT) {
- handler = bidTimeoutHandler;
- } else if (evtype === EVENTS.BID_WON) {
- handler = bidWonHandler;
- }
-
- if (handler) {
- eplAnalyticsAdapter.context.events.push({ec: evtype, p: handler(args)});
- }
-}
-
-var eplAnalyticsAdapter = Object.assign(adapter(
- {
- EPL_HOST,
- analyticsType
- }),
-{
- track({eventType, args}) {
- if (typeof args !== 'undefined') {
- callHandler(eventType, args);
- }
-
- if (eventType === EVENTS.AUCTION_END) {
- try {
- let strjson = JSON.stringify(eplAnalyticsAdapter.context.events);
- ajax(eplAnalyticsAdapter.context.host + eplAnalyticsAdapter.context.ci + '?d=' + encodeURIComponent(strjson));
- } catch (err) {}
- }
- }
-}
-);
-
-eplAnalyticsAdapter.originEnableAnalytics = eplAnalyticsAdapter.enableAnalytics;
-
-eplAnalyticsAdapter.enableAnalytics = function (config) {
- if (!config.options.ci) {
- logError('Client ID (ci) option is not defined. Analytics won\'t work');
- return;
- }
-
- eplAnalyticsAdapter.context = {
- events: [],
- host: config.options.host || EPL_HOST,
- ci: config.options.ci
- };
-
- eplAnalyticsAdapter.originEnableAnalytics(config);
-};
-
-adapterManager.registerAnalyticsAdapter({
- adapter: eplAnalyticsAdapter,
- code: 'eplanning'
-});
-
-export default eplAnalyticsAdapter;
diff --git a/modules/fpdModule/index.md b/modules/fpdModule/index.md
index 238881db96b..42ae663b090 100644
--- a/modules/fpdModule/index.md
+++ b/modules/fpdModule/index.md
@@ -44,6 +44,5 @@ pbjs.setConfig({
At least one of the submodules must be included in order to successfully run the corresponding above operations.
-enrichmentFpdModule
validationFpdModule
-topicsFpdModule
\ No newline at end of file
+topicsFpdModule
diff --git a/modules/globalsunBidAdapter.js b/modules/globalsunBidAdapter.js
index 5b5d97c2cac..eeecf152869 100644
--- a/modules/globalsunBidAdapter.js
+++ b/modules/globalsunBidAdapter.js
@@ -58,6 +58,7 @@ function getPlacementReqData(bid) {
placement.protocols = mediaTypes[VIDEO].protocols;
placement.startdelay = mediaTypes[VIDEO].startdelay;
placement.placement = mediaTypes[VIDEO].placement;
+ placement.plcmt = mediaTypes[VIDEO].plcmt;
placement.skip = mediaTypes[VIDEO].skip;
placement.skipafter = mediaTypes[VIDEO].skipafter;
placement.minbitrate = mediaTypes[VIDEO].minbitrate;
diff --git a/modules/goldbachBidAdapter.js b/modules/goldbachBidAdapter.js
index df0336c6cd4..8f6f3f74cea 100644
--- a/modules/goldbachBidAdapter.js
+++ b/modules/goldbachBidAdapter.js
@@ -742,7 +742,7 @@ function bidToTag(bid) {
}
tag.keywords = getANKeywordParam(bid.ortb2, bid.params.keywords);
- let gpid = deepAccess(bid, 'ortb2Imp.ext.data.pbadslot');
+ let gpid = deepAccess(bid, 'ortb2Imp.ext.gpid') || deepAccess(bid, 'ortb2Imp.ext.data.pbadslot');
if (gpid) {
tag.gpid = gpid;
}
diff --git a/modules/gothamadsBidAdapter.js b/modules/gothamadsBidAdapter.js
index ab59c6febec..bcd382e507a 100644
--- a/modules/gothamadsBidAdapter.js
+++ b/modules/gothamadsBidAdapter.js
@@ -1,4 +1,4 @@
-import { logMessage, deepSetValue, deepAccess, _map, logWarn } from '../src/utils.js';
+import { deepSetValue, deepAccess, _map, logWarn } from '../src/utils.js';
import { registerBidder } from '../src/adapters/bidderFactory.js';
import { BANNER, NATIVE, VIDEO } from '../src/mediaTypes.js';
import { config } from '../src/config.js';
@@ -80,18 +80,9 @@ export const spec = {
if (validBidRequests && validBidRequests.length === 0) return []
let accuontId = validBidRequests[0].params.accountId;
const endpointURL = URL_ENDPOINT.replace(ACCOUNTID_MACROS, accuontId);
-
let winTop = window;
let location;
- // TODO: this odd try-catch block was copied in several adapters; it doesn't seem to be correct for cross-origin
- try {
- location = new URL(bidderRequest.refererInfo.page)
- winTop = window.top;
- } catch (e) {
- location = winTop.location;
- logMessage(e);
- };
-
+ location = bidderRequest?.refererInfo ?? null;
let bids = [];
for (let bidRequest of validBidRequests) {
let impObject = prepareImpObject(bidRequest);
@@ -105,8 +96,8 @@ export const spec = {
language: (navigator && navigator.language) ? navigator.language.indexOf('-') != -1 ? navigator.language.split('-')[0] : navigator.language : '',
},
site: {
- page: location.pathname,
- host: location.host
+ page: location?.page,
+ host: location?.domain
},
source: {
tid: bidderRequest?.ortb2?.source?.tid,
@@ -332,7 +323,7 @@ const parseSizes = (bid, mediaType) => {
const addVideoParameters = (bidRequest) => {
let videoObj = {};
- let supportParamsList = ['mimes', 'minduration', 'maxduration', 'protocols', 'startdelay', 'placement', 'skip', 'skipafter', 'minbitrate', 'maxbitrate', 'delivery', 'playbackmethod', 'api', 'linearity']
+ let supportParamsList = ['mimes', 'minduration', 'maxduration', 'protocols', 'startdelay', 'skip', 'skipafter', 'minbitrate', 'maxbitrate', 'delivery', 'playbackmethod', 'api', 'linearity']
for (let param of supportParamsList) {
if (bidRequest.mediaTypes.video[param] !== undefined) {
diff --git a/modules/gptPreAuction.js b/modules/gptPreAuction.js
index bf5b4a55dbb..65b1bf24eef 100644
--- a/modules/gptPreAuction.js
+++ b/modules/gptPreAuction.js
@@ -4,7 +4,7 @@ import {
isGptPubadsDefined,
logInfo,
pick,
- deepSetValue
+ deepSetValue, logWarn
} from '../src/utils.js';
import {config} from '../src/config.js';
import {getHook} from '../src/hook.js';
@@ -113,6 +113,10 @@ export const appendPbAdSlot = adUnit => {
return true;
};
+function warnDeprecation(adUnit) {
+ logWarn(`pbadslot is deprecated and will soon be removed, use gpid instead`, adUnit)
+}
+
export const makeBidRequestsHook = (fn, adUnits, ...args) => {
appendGptSlots(adUnits);
const { useDefaultPreAuction, customPreAuction } = _currentConfig;
@@ -122,15 +126,18 @@ export const makeBidRequestsHook = (fn, adUnits, ...args) => {
adUnit.ortb2Imp.ext = adUnit.ortb2Imp.ext || {};
adUnit.ortb2Imp.ext.data = adUnit.ortb2Imp.ext.data || {};
const context = adUnit.ortb2Imp.ext;
-
// if neither new confs set do old stuff
if (!customPreAuction && !useDefaultPreAuction) {
+ warnDeprecation(adUnit);
const usedAdUnitCode = appendPbAdSlot(adUnit);
// gpid should be set to itself if already set, or to what pbadslot was (as long as it was not adUnit code)
if (!context.gpid && !usedAdUnitCode) {
context.gpid = context.data.pbadslot;
}
} else {
+ if (context.data?.pbadslot) {
+ warnDeprecation(adUnit);
+ }
let adserverSlot = deepAccess(context, 'data.adserver.adslot');
let result;
if (customPreAuction) {
@@ -153,7 +160,7 @@ const handleSetGptConfig = moduleConfig => {
typeof customGptSlotMatching === 'function' && customGptSlotMatching,
'customPbAdSlot', customPbAdSlot => typeof customPbAdSlot === 'function' && customPbAdSlot,
'customPreAuction', customPreAuction => typeof customPreAuction === 'function' && customPreAuction,
- 'useDefaultPreAuction', useDefaultPreAuction => useDefaultPreAuction === true,
+ 'useDefaultPreAuction', useDefaultPreAuction => useDefaultPreAuction ?? true,
]);
if (_currentConfig.enabled) {
diff --git a/modules/hadronRtdProvider.js b/modules/hadronRtdProvider.js
index 5c604709b4b..930e0922829 100644
--- a/modules/hadronRtdProvider.js
+++ b/modules/hadronRtdProvider.js
@@ -24,7 +24,7 @@ const SUBMODULE_NAME = 'hadron';
const AU_GVLID = 561;
const HADRON_ID_DEFAULT_URL = 'https://id.hadron.ad.gt/api/v1/hadronid?_it=prebid';
const HADRON_SEGMENT_URL = 'https://id.hadron.ad.gt/api/v1/rtd';
-export const HALOID_LOCAL_NAME = 'auHadronId';
+export const HADRONID_LOCAL_NAME = 'auHadronId';
export const RTD_LOCAL_NAME = 'auHadronRtd';
export const storage = getStorageManager({moduleType: MODULE_TYPE_RTD, moduleName: SUBMODULE_NAME});
@@ -132,7 +132,6 @@ export function addRealTimeData(bidConfig, rtd, rtdConfig) {
if (rtdConfig.params && rtdConfig.params.handleRtd) {
rtdConfig.params.handleRtd(bidConfig, rtd, rtdConfig, config);
} else {
- // TODO: this and haloRtdProvider are a copy-paste of each other
if (isPlainObject(rtd.ortb2)) {
mergeLazy(bidConfig.ortb2Fragments?.global, rtd.ortb2);
}
@@ -165,9 +164,9 @@ export function getRealTimeData(bidConfig, onDone, rtdConfig, userConsent) {
}
}
- const userIds = typeof getGlobal().getUserIds === 'function' ? (getGlobal()).getUserIds() : {};
+ const userIds = {};
- let hadronId = storage.getDataFromLocalStorage(HALOID_LOCAL_NAME);
+ let hadronId = storage.getDataFromLocalStorage(HADRONID_LOCAL_NAME);
if (isStr(hadronId)) {
if (typeof getGlobal().refreshUserIds === 'function') {
(getGlobal()).refreshUserIds({submoduleNames: 'hadronId'});
diff --git a/modules/holidBidAdapter.js b/modules/holidBidAdapter.js
index f046c860562..c72d21d08b4 100644
--- a/modules/holidBidAdapter.js
+++ b/modules/holidBidAdapter.js
@@ -5,8 +5,6 @@ import {
logMessage,
triggerPixel,
} from '../src/utils.js';
-import * as events from '../src/events.js';
-import { EVENTS } from '../src/constants.js';
import {BANNER} from '../src/mediaTypes.js';
import {registerBidder} from '../src/adapters/bidderFactory.js';
@@ -19,8 +17,6 @@ const TIME_TO_LIVE = 300
const TMAX = 500
let wurlMap = {}
-events.on(EVENTS.BID_WON, bidWonHandler)
-
export const spec = {
code: BIDDER_CODE,
gvlid: GVLID,
@@ -120,6 +116,15 @@ export const spec = {
return syncs
},
+
+ onBidWon(bid) {
+ const wurl = getWurl(bid.requestId)
+ if (wurl) {
+ logMessage(`Invoking image pixel for wurl on BID_WIN: "${wurl}"`)
+ triggerPixel(wurl)
+ removeWurl(bid.requestId)
+ }
+ }
}
function getImp(bid) {
@@ -176,13 +181,4 @@ function getWurl(requestId) {
}
}
-function bidWonHandler(bid) {
- const wurl = getWurl(bid.requestId)
- if (wurl) {
- logMessage(`Invoking image pixel for wurl on BID_WIN: "${wurl}"`)
- triggerPixel(wurl)
- removeWurl(bid.requestId)
- }
-}
-
registerBidder(spec)
diff --git a/modules/idImportLibrary.js b/modules/idImportLibrary.js
index e1847edfce4..f6819a485e0 100644
--- a/modules/idImportLibrary.js
+++ b/modules/idImportLibrary.js
@@ -155,7 +155,7 @@ function handleTargetElement() {
const targetElement = document.getElementById(conf.target);
if (targetElement) {
- email = targetElement.innerText;
+ email = targetElement.textContent;
if (!email) {
_logInfo('Finding the email with observer');
diff --git a/modules/idWardRtdProvider.js b/modules/idWardRtdProvider.js
deleted file mode 100644
index 8e6e3c20a64..00000000000
--- a/modules/idWardRtdProvider.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
- * This module adds the ID Ward RTD provider to the real time data module
- * The {@link module:modules/realTimeData} module is required
- * The module will populate real-time data from ID Ward
- * @module modules/idWardRtdProvider
- * @requires module:modules/realTimeData
- */
-import { createRtdProvider } from './anonymisedRtdProvider.js';/* eslint prebid/validate-imports: "off" */
-
-export const { getRealTimeData, rtdSubmodule: idWardRtdSubmodule, storage } = createRtdProvider('idWard');
diff --git a/modules/idWardRtdProvider.md b/modules/idWardRtdProvider.md
deleted file mode 100644
index 1c9f0654de6..00000000000
--- a/modules/idWardRtdProvider.md
+++ /dev/null
@@ -1,51 +0,0 @@
-> **Warning!**
->
-> The **idWardRtdProvider** module has been renamed to [anonymisedRtdProvider](anonymisedRtdProvider.md) in light of the company's rebranding.
-> **idWardRtdProvider** module is maintained for backward compatibility until the next major Prebid release.
->
-> Please use anonymisedRtdProvider instead of idWardRtdProvider in your Prebid integration.
-
-### Overview
-
-ID Ward is a data anonymization technology for privacy-preserving advertising. Publishers and advertisers are able to target and retarget custom audience segments covering 100% of consented audiences.
-ID Ward’s Real-time Data Provider automatically obtains segment IDs from the ID Ward on-domain script (via localStorage) and passes them to the bid-stream.
-
-### Integration
-
- 1) Build the idWardRtd module into the Prebid.js package with:
-
- ```
- gulp build --modules=idWardRtdProvider,...
- ```
-
- 2) Use `setConfig` to instruct Prebid.js to initilaize the idWardRtdProvider module, as specified below.
-
-### Configuration
-
-```
- pbjs.setConfig({
- realTimeData: {
- dataProviders: [
- {
- name: "idWard",
- waitForIt: true,
- params: {
- cohortStorageKey: "cohort_ids",
- segtax: ,
- }
- }
- ]
- }
- });
- ```
-
-Please note that idWardRtdProvider should be integrated into the publisher website along with the [ID Ward Pixel](https://publishers-web.id-ward.com/pixel-integration).
-Please reach out to Id Ward representative(support@id-ward.com) if you have any questions or need further help to integrate Prebid, idWardRtdProvider, and Id Ward Pixel
-
-### Testing
-To view an example of available segments returned by Id Ward:
-```
-‘gulp serve --modules=rtdModule,idWardRtdProvider,pubmaticBidAdapter
-```
-and then point your browser at:
-"http://localhost:9999/integrationExamples/gpt/idward_segments_example.html"
\ No newline at end of file
diff --git a/modules/illuminBidAdapter.js b/modules/illuminBidAdapter.js
index 45b74bec5c9..e830c27a32b 100644
--- a/modules/illuminBidAdapter.js
+++ b/modules/illuminBidAdapter.js
@@ -150,15 +150,9 @@ function appendUserIdsToRequestPayload(payloadRef, userIds) {
key = `uid.${idSystemProviderName}`;
switch (idSystemProviderName) {
- case 'digitrustid':
- payloadRef[key] = deepAccess(userId, 'data.id');
- break;
case 'lipb':
payloadRef[key] = userId.lipbid;
break;
- case 'parrableId':
- payloadRef[key] = userId.eid;
- break;
case 'id5id':
payloadRef[key] = userId.uid;
break;
diff --git a/modules/improvedigitalBidAdapter.js b/modules/improvedigitalBidAdapter.js
index c1108d779cb..2d67caf6a61 100644
--- a/modules/improvedigitalBidAdapter.js
+++ b/modules/improvedigitalBidAdapter.js
@@ -5,6 +5,12 @@ import {BANNER, NATIVE, VIDEO} from '../src/mediaTypes.js';
import {Renderer} from '../src/Renderer.js';
import {hasPurpose1Consent} from '../src/utils/gpdr.js';
import {ortbConverter} from '../libraries/ortbConverter/converter.js';
+/**
+ * See https://github.com/prebid/Prebid.js/pull/8827 for details on linting exception
+ * ImproveDigital only imports after winning a bid and only if the creative cannot reach top
+ * Also see https://github.com/prebid/Prebid.js/issues/11656
+ */
+// eslint-disable-next-line no-restricted-imports
import {loadExternalScript} from '../src/adloader.js';
/**
@@ -42,7 +48,7 @@ export const spec = {
* @return boolean True if this is a valid bid, and false otherwise.
*/
isBidRequestValid(bid) {
- return !!(bid && bid.params && (bid.params.placementId || (bid.params.placementKey && bid.params.publisherId)));
+ return !!(bid && bid.params && bid.params.placementId && bid.params.publisherId);
},
/**
@@ -136,14 +142,11 @@ export const CONVERTER = ortbConverter({
}
const bidderParamsPath = context.extendMode ? 'ext.prebid.bidder.improvedigital' : 'ext.bidder';
const placementId = bidRequest.params.placementId;
- if (placementId) {
- deepSetValue(imp, `${bidderParamsPath}.placementId`, placementId);
- if (context.extendMode) {
- deepSetValue(imp, 'ext.prebid.storedrequest.id', '' + placementId);
- }
- } else {
- deepSetValue(imp, `${bidderParamsPath}.publisherId`, getBidIdParameter('publisherId', bidRequest.params));
- deepSetValue(imp, `${bidderParamsPath}.placementKey`, getBidIdParameter('placementKey', bidRequest.params));
+ const publisherId = bidRequest.params.publisherId;
+ deepSetValue(imp, `${bidderParamsPath}.placementId`, placementId);
+ deepSetValue(imp, `${bidderParamsPath}.publisherId`, publisherId);
+ if (context.extendMode) {
+ deepSetValue(imp, 'ext.prebid.storedrequest.id', '' + placementId);
}
deepSetValue(imp, `${bidderParamsPath}.keyValues`, getBidIdParameter('keyValues', bidRequest.params) || undefined);
@@ -206,9 +209,9 @@ export const CONVERTER = ortbConverter({
overrides: {
imp: {
banner(fillImpBanner, imp, bidRequest, context) {
- // override to disregard banner.sizes if usePrebidSizes is not set
+ // override to disregard banner.sizes if usePrebidSizes is false
if (!bidRequest.mediaTypes[BANNER]) return;
- if (config.getConfig('improvedigital.usePrebidSizes') !== true) {
+ if (config.getConfig('improvedigital.usePrebidSizes') === false) {
const banner = Object.assign({}, bidRequest.mediaTypes[BANNER], {sizes: null});
bidRequest = {...bidRequest, mediaTypes: {[BANNER]: banner}}
}
diff --git a/modules/improvedigitalBidAdapter.md b/modules/improvedigitalBidAdapter.md
index 15602d11038..7206dd8ba7b 100644
--- a/modules/improvedigitalBidAdapter.md
+++ b/modules/improvedigitalBidAdapter.md
@@ -17,6 +17,7 @@ Module that connects to Improve Digital's demand sources
{
bidder: 'improvedigital',
params: {
+ publisherId: 123,
placementId:1053688
}
}
@@ -27,6 +28,7 @@ Module that connects to Improve Digital's demand sources
bids: [{
bidder: 'improvedigital',
params: {
+ publisherId: 123,
placementId:1053689,
keyValues: {
testKey: ["testValue"]
@@ -39,6 +41,7 @@ Module that connects to Improve Digital's demand sources
bids: [{
bidder: 'improvedigital',
params: {
+ publisherId: 123,
placementId:1053687,
size: {
w:300,
@@ -47,4 +50,4 @@ Module that connects to Improve Digital's demand sources
}
}]
}];
-```
\ No newline at end of file
+```
diff --git a/modules/iqmBidAdapter.js b/modules/iqmBidAdapter.js
deleted file mode 100644
index c94a88748a7..00000000000
--- a/modules/iqmBidAdapter.js
+++ /dev/null
@@ -1,277 +0,0 @@
-import {_each, deepAccess, getBidIdParameter, isArray} from '../src/utils.js';
-import {registerBidder} from '../src/adapters/bidderFactory.js';
-import {BANNER, VIDEO} from '../src/mediaTypes.js';
-import {INSTREAM} from '../src/video.js';
-
-/**
- * @typedef {import('../src/adapters/bidderFactory.js').BidRequest} BidRequest
- */
-
-const BIDDER_CODE = 'iqm';
-const VERSION = 'v.1.0.0';
-const VIDEO_ORTB_PARAMS = [
- 'mimes',
- 'minduration',
- 'maxduration',
- 'placement',
- 'protocols',
- 'startdelay'
-];
-var ENDPOINT_URL = 'https://pbd.bids.iqm.com';
-
-export const spec = {
- supportedMediaTypes: [BANNER, VIDEO],
- code: BIDDER_CODE,
- aliases: ['iqm'],
-
- /**
- * Determines whether or not the given bid request is valid.
- *
- * @param {BidRequest} bid The bid params to validate.
- * @return boolean True if this is a valid bid, and false otherwise.
- */
- isBidRequestValid: function (bid) {
- const banner = deepAccess(bid, 'mediaTypes.banner');
- const videoMediaType = deepAccess(bid, 'mediaTypes.video');
- const context = deepAccess(bid, 'mediaTypes.video.context');
- if ((videoMediaType && context === INSTREAM)) {
- const videoBidderParams = deepAccess(bid, 'params.video', {});
-
- if (!Array.isArray(videoMediaType.playerSize)) {
- return false;
- }
-
- if (!videoMediaType.context) {
- return false;
- }
-
- const videoParams = {
- ...videoMediaType,
- ...videoBidderParams
- };
-
- if (!Array.isArray(videoParams.mimes) || videoParams.mimes.length === 0) {
- return false;
- }
-
- if (!Array.isArray(videoParams.protocols) || videoParams.protocols.length === 0) {
- return false;
- }
-
- if (
- typeof videoParams.placement !== 'undefined' &&
- typeof videoParams.placement !== 'number'
- ) {
- return false;
- }
- if (
- videoMediaType.context === INSTREAM &&
- typeof videoParams.startdelay !== 'undefined' &&
- typeof videoParams.startdelay !== 'number'
- ) {
- return false;
- }
-
- return !!(bid && bid.params && bid.params.publisherId && bid.params.placementId);
- } else {
- if (banner === 'undefined') {
- return false;
- }
- return !!(bid && bid.params && bid.params.publisherId && bid.params.placementId);
- }
- },
- /**
- * Takes an array of valid bid requests, all of which are guaranteed to have passed the isBidRequestValid() test.
- *It prepares a bid request with the required information for the DSP side and sends this request to alloted endpoint
- * parameter{validBidRequests, bidderRequest} bidderRequest object is useful because it carries a couple of bid parameters that are global to all the bids.
- */
- buildRequests: function (validBidRequests, bidderRequest) {
- return validBidRequests.map(bid => {
- var finalRequest = {};
- let bidfloor = getBidIdParameter('bidfloor', bid.params);
-
- const imp = {
- id: bid.bidId,
- secure: 1,
- bidfloor: bidfloor || 0,
- displaymanager: 'Prebid.js',
- displaymanagerver: VERSION,
-
- }
- if (deepAccess(bid, 'mediaTypes.banner')) {
- imp.banner = getSize(bid.sizes);
- imp.mediatype = 'banner';
- } else if (deepAccess(bid, 'mediaTypes.video')) {
- imp.video = _buildVideoORTB(bid);
- imp.mediatype = 'video';
- }
- const site = getSite(bidderRequest);
- let device = getDevice(bid.params);
- finalRequest = {
- sizes: bid.sizes,
- id: bid.bidId,
- publisherId: getBidIdParameter('publisherId', bid.params),
- placementId: getBidIdParameter('placementId', bid.params),
- device: device,
- site: site,
- imp: imp,
- // TODO: fix auctionId leak: https://github.com/prebid/Prebid.js/issues/9781
- auctionId: bid.auctionId,
- adUnitCode: bid.adUnitCode,
- bidderRequestId: bid.bidderRequestId,
- uuid: bid.bidId,
- // TODO: please do not send internal data structures over the network
- // I am not going to attempt to accommodate this, no way this is usable on their end, it changes way too frequently
- bidderRequest
- }
- const request = {
- method: 'POST',
- url: ENDPOINT_URL,
- data: finalRequest,
- options: {
- withCredentials: false
- },
-
- }
- return request;
- });
- },
- /**
- * Takes Response from server as input and request.
- *It parses the response from server side and generates bidresponses for with required rendering paramteres
- * parameter{serverResponse, bidRequest} serverReponse: Response from the server side with ad creative.
- */
- interpretResponse: function (serverResponse, bidRequest) {
- const bidResponses = [];
- serverResponse = serverResponse.body;
- if (serverResponse && isArray(serverResponse.seatbid)) {
- _each(serverResponse.seatbid, function (bidList) {
- _each(bidList.bid, function (bid) {
- const responseCPM = parseFloat(bid.price);
- if (responseCPM > 0.0 && bid.impid) {
- const bidResponse = {
- requestId: bidRequest.data.id,
- currency: serverResponse.cur || 'USD',
- cpm: responseCPM,
- netRevenue: true,
- creativeId: bid.crid || '',
- adUnitCode: bidRequest.data.adUnitCode,
- auctionId: bidRequest.data.auctionId,
- mediaType: bidRequest.data.imp.mediatype,
-
- ttl: bid.ttl || 60
- };
-
- if (bidRequest.data.imp.mediatype === VIDEO) {
- bidResponse.width = bid.w || bidRequest.data.imp.video.w;
- bidResponse.height = bid.h || bidRequest.data.imp.video.h;
- bidResponse.adResponse = {
- content: bid.adm,
- height: bidRequest.data.imp.video.h,
- width: bidRequest.data.imp.video.w
- };
-
- if (bidRequest.data.imp.video.context === INSTREAM) {
- bidResponse.vastUrl = bid.adm;
- }
- } else if (bidRequest.data.imp.mediatype === BANNER) {
- bidResponse.ad = bid.adm;
- bidResponse.width = bid.w || bidRequest.data.imp.banner.w;
- bidResponse.height = bid.h || bidRequest.data.imp.banner.h;
- }
- bidResponses.push(bidResponse);
- }
- })
- });
- }
- return bidResponses;
- },
-
-};
-
-let getDevice = function (bidparams) {
- const language = navigator.language ? 'language' : 'userLanguage';
- return {
- geo: bidparams.geo,
- h: screen.height,
- w: screen.width,
- dnt: _getDNT() ? 1 : 0,
- language: navigator[language].split('-')[0],
- make: navigator.vendor ? navigator.vendor : '',
- ua: navigator.userAgent,
- devicetype: _isMobile() ? 1 : _isConnectedTV() ? 3 : 2
- };
-};
-
-let _getDNT = function () {
- return navigator.doNotTrack === '1' || window.doNotTrack === '1' || navigator.msDoNotTrack === '1' || navigator.doNotTrack === 'yes';
-};
-
-let getSize = function (sizes) {
- let sizeMap;
- if (sizes.length === 2 && typeof sizes[0] === 'number' && typeof sizes[1] === 'number') {
- sizeMap = {w: sizes[0], h: sizes[1]};
- } else {
- sizeMap = {w: sizes[0][0], h: sizes[0][1]};
- }
- return sizeMap;
-};
-
-function _isMobile() {
- return (/(ios|ipod|ipad|iphone|android)/i).test(global.navigator.userAgent);
-}
-
-function _isConnectedTV() {
- return (/(smart[-]?tv|hbbtv|appletv|googletv|hdmi|netcast\.tv|viera|nettv|roku|\bdtv\b|sonydtv|inettvbrowser|\btv\b)/i).test(global.navigator.userAgent);
-}
-
-function getSite(bidderRequest) {
- let domain = '';
- let page = '';
- let referrer = '';
- const Id = 1;
-
- const {refererInfo} = bidderRequest;
-
- // TODO: are these the right refererInfo values?
- domain = refererInfo.domain;
- page = refererInfo.page;
- referrer = refererInfo.ref;
-
- return {
- domain,
- page,
- Id,
- referrer
- };
-};
-
-function _buildVideoORTB(bidRequest) {
- const videoAdUnit = deepAccess(bidRequest, 'mediaTypes.video');
- const videoBidderParams = deepAccess(bidRequest, 'params.video', {});
- const video = {};
-
- const videoParams = {
- ...videoAdUnit,
- ...videoBidderParams // Bidder Specific overrides
- };
- video.context = 1;
- const {w, h} = getSize(videoParams.playerSize[0]);
- video.w = w;
- video.h = h;
-
- VIDEO_ORTB_PARAMS.forEach((param) => {
- if (videoParams.hasOwnProperty(param)) {
- video[param] = videoParams[param];
- }
- });
-
- video.placement = video.placement || 2;
-
- video.startdelay = video.startdelay || 0;
- video.placement = 1;
- video.context = INSTREAM;
-
- return video;
-}
-registerBidder(spec);
diff --git a/modules/iqzoneBidAdapter.js b/modules/iqzoneBidAdapter.js
index 3ce622dba10..0af26ccf6e7 100644
--- a/modules/iqzoneBidAdapter.js
+++ b/modules/iqzoneBidAdapter.js
@@ -1,4 +1,4 @@
-import { logMessage, logError, deepAccess } from '../src/utils.js';
+import { logMessage, deepAccess } from '../src/utils.js';
import { registerBidder } from '../src/adapters/bidderFactory.js';
import { BANNER, NATIVE, VIDEO } from '../src/mediaTypes.js';
import { config } from '../src/config.js';
@@ -91,7 +91,6 @@ function getBidFloor(bid) {
});
return bidFloor.floor;
} catch (err) {
- logError(err);
return 0;
}
}
diff --git a/modules/ixBidAdapter.js b/modules/ixBidAdapter.js
index 4fcf7830685..e182634b52a 100644
--- a/modules/ixBidAdapter.js
+++ b/modules/ixBidAdapter.js
@@ -26,7 +26,6 @@ import { Renderer } from '../src/Renderer.js';
import {getGptSlotInfoForAdUnitCode} from '../libraries/gptUtils/gptUtils.js';
const BIDDER_CODE = 'ix';
-const ALIAS_BIDDER_CODE = 'roundel';
const GLOBAL_VENDOR_ID = 10;
const SECURE_BID_URL = 'https://htlb.casalemedia.com/openrtb/pbjs';
const SUPPORTED_AD_TYPES = [BANNER, VIDEO, NATIVE];
@@ -74,7 +73,6 @@ const SOURCE_RTI_MAPPING = {
'google.com': ''
};
const PROVIDERS = [
- 'britepoolid',
'lipbid',
'criteoId',
'merkleId',
@@ -696,11 +694,6 @@ function buildRequest(validBidRequests, bidderRequest, impressions, version) {
addRTI(userEids, eidInfo);
}
- // If `roundel` alias bidder, only send requests if liveramp ids exist.
- if (bidderRequest && bidderRequest.bidderCode === ALIAS_BIDDER_CODE && !eidInfo.seenSources['liveramp.com']) {
- return [];
- }
-
const requests = [];
let r = createRequest(validBidRequests);
@@ -708,7 +701,7 @@ function buildRequest(validBidRequests, bidderRequest, impressions, version) {
r = addRequestedFeatureToggles(r, FEATURE_TOGGLES.REQUESTED_FEATURE_TOGGLES)
// getting ixdiags for adunits of the video, outstream & multi format (MF) style
- const fledgeEnabled = deepAccess(bidderRequest, 'fledgeEnabled')
+ const fledgeEnabled = deepAccess(bidderRequest, 'paapi.enabled')
let ixdiag = buildIXDiag(validBidRequests, fledgeEnabled);
for (let key in ixdiag) {
r.ext.ixdiag[key] = ixdiag[key];
@@ -1439,7 +1432,7 @@ function createBannerImps(validBidRequest, missingBannerSizes, bannerImps, bidde
bannerImps[validBidRequest.adUnitCode].pos = deepAccess(validBidRequest, 'mediaTypes.banner.pos');
// Add Fledge flag if enabled
- const fledgeEnabled = deepAccess(bidderRequest, 'fledgeEnabled')
+ const fledgeEnabled = deepAccess(bidderRequest, 'paapi.enabled')
if (fledgeEnabled) {
const auctionEnvironment = deepAccess(validBidRequest, 'ortb2Imp.ext.ae')
const paapi = deepAccess(validBidRequest, 'ortb2Imp.ext.paapi')
@@ -1452,8 +1445,6 @@ function createBannerImps(validBidRequest, missingBannerSizes, bannerImps, bidde
} else {
logWarn('error setting auction environment flag - must be an integer')
}
- } else if (deepAccess(bidderRequest, 'defaultForSlots') == 1) {
- bannerImps[validBidRequest.adUnitCode].ae = 1
}
}
@@ -1609,11 +1600,6 @@ export const spec = {
code: BIDDER_CODE,
gvlid: GLOBAL_VENDOR_ID,
- aliases: [{
- code: ALIAS_BIDDER_CODE,
- gvlid: GLOBAL_VENDOR_ID,
- skipPbsAliasing: false
- }],
supportedMediaTypes: SUPPORTED_AD_TYPES,
/**
@@ -1865,7 +1851,7 @@ export const spec = {
try {
return {
bids,
- fledgeAuctionConfigs,
+ paapi: fledgeAuctionConfigs,
};
} catch (error) {
logWarn('Error attaching AuctionConfigs', error);
diff --git a/modules/ixBidAdapter.md b/modules/ixBidAdapter.md
index 0705c5932cf..f2f6d97daf9 100644
--- a/modules/ixBidAdapter.md
+++ b/modules/ixBidAdapter.md
@@ -472,7 +472,7 @@ The timeout value must be a positive whole number in milliseconds.
Protected Audience API (FLEDGE)
===========================
-In order to enable receiving [Protected Audience API](https://developer.chrome.com/en/docs/privacy-sandbox/fledge/) traffic, follow Prebid's documentation on [fledgeForGpt](https://docs.prebid.org/dev-docs/modules/fledgeForGpt.html) module to build and enable Fledge.
+In order to enable receiving [Protected Audience API](https://developer.chrome.com/en/docs/privacy-sandbox/fledge/) traffic, follow Prebid's documentation on [paapiForGpt](https://docs.prebid.org/dev-docs/modules/paapiForGpt.html) module to build and enable Fledge.
Additional Information
======================
diff --git a/modules/jwplayerRtdProvider.js b/modules/jwplayerRtdProvider.js
index 29ce0da5317..a06404e52f2 100644
--- a/modules/jwplayerRtdProvider.js
+++ b/modules/jwplayerRtdProvider.js
@@ -31,9 +31,7 @@ const playlistItemCache = {};
const pendingRequests = {};
let activeRequestCount = 0;
let resumeBidRequest;
-// defaults to 'always' for backwards compatibility
-// TODO: Prebid 9 - replace with ENRICH_WHEN_EMPTY
-let overrideContentId = ENRICH_ALWAYS;
+let overrideContentId = ENRICH_WHEN_EMPTY;
let overrideContentUrl = ENRICH_WHEN_EMPTY;
let overrideContentTitle = ENRICH_WHEN_EMPTY;
let overrideContentDescription = ENRICH_WHEN_EMPTY;
@@ -83,9 +81,7 @@ export function fetchTargetingInformation(jwTargeting) {
}
export function setOverrides(params) {
- // For backwards compatibility, default to always unless overridden by Publisher.
- // TODO: Prebid 9 - replace with ENRICH_WHEN_EMPTY
- overrideContentId = sanitizeOverrideParam(params.overrideContentId, ENRICH_ALWAYS);
+ overrideContentId = sanitizeOverrideParam(params.overrideContentId, ENRICH_WHEN_EMPTY);
overrideContentUrl = sanitizeOverrideParam(params.overrideContentUrl, ENRICH_WHEN_EMPTY);
overrideContentTitle = sanitizeOverrideParam(params.overrideContentTitle, ENRICH_WHEN_EMPTY);
overrideContentDescription = sanitizeOverrideParam(params.overrideContentDescription, ENRICH_WHEN_EMPTY);
diff --git a/modules/jwplayerRtdProvider.md b/modules/jwplayerRtdProvider.md
index 936cd1d10a2..44d696eea6d 100644
--- a/modules/jwplayerRtdProvider.md
+++ b/modules/jwplayerRtdProvider.md
@@ -12,16 +12,20 @@ Publishers must register JW Player as a real time data provider by setting up a
following structure:
```javascript
-const jwplayerDataProvider = {
- name: "jwplayer"
-};
-
pbjs.setConfig({
...,
realTimeData: {
- dataProviders: [
- jwplayerDataProvider
- ]
+ dataProviders: [{
+ name: 'jwplayer',
+ waitForIt: true,
+ params: {
+ mediaIDs: ['abc', 'def', 'ghi', 'jkl'],
+ overrideContentId: 'always',
+ overrideContentUrl: 'always',
+ overrideContentTitle: 'always',
+ overrideContentDescription: 'always'
+ }
+ }]
}
});
```
@@ -86,7 +90,7 @@ realTimeData = {
| waitForIt | Boolean | Required to ensure that the auction is delayed until prefetch is complete | Optional. Defaults to false |
| params | Object | | |
| params.mediaIDs | Array of Strings | Media Ids for prefetching | Optional |
-| params.overrideContentId | String enum: 'always', 'whenEmpty' or 'never' | Determines when the module should update the oRTB site.content.id | Defaults to 'always' |
+| params.overrideContentId | String enum: 'always', 'whenEmpty' or 'never' | Determines when the module should update the oRTB site.content.id | Defaults to 'whenEmpty' |
| params.overrideContentUrl | String enum: 'always', 'whenEmpty' or 'never' | Determines when the module should update the oRTB site.content.url | Defaults to 'whenEmpty' |
| params.overrideContentTitle | String enum: 'always', 'whenEmpty' or 'never' | Determines when the module should update the oRTB site.content.title | Defaults to 'whenEmpty' |
| params.overrideContentDescription | String enum: 'always', 'whenEmpty' or 'never' | Determines when the module should update the oRTB site.content.ext.description | Defaults to 'whenEmpty' |
@@ -155,7 +159,7 @@ To view an example:
- in your browser, navigate to:
-`http://localhost:9999/integrationExamples/gpt/jwplayerRtdProvider_example.html`
+`http://localhost:9999/integrationExamples/realTimeData/jwplayerRtdProvider_example.html`
**Note:** the mediaIds in the example are placeholder values; replace them with your existing IDs.
diff --git a/modules/kargoBidAdapter.js b/modules/kargoBidAdapter.js
index 210fb6d5d59..91d067ab67d 100644
--- a/modules/kargoBidAdapter.js
+++ b/modules/kargoBidAdapter.js
@@ -251,7 +251,7 @@ function interpretResponse(response, bidRequest) {
if (fledgeAuctionConfigs.length > 0) {
return {
bids: bidResponses,
- fledgeAuctionConfigs
+ paapi: fledgeAuctionConfigs
}
} else {
return bidResponses;
diff --git a/modules/kiviadsBidAdapter.js b/modules/kiviadsBidAdapter.js
index 13739d57cb2..cc1e319c348 100644
--- a/modules/kiviadsBidAdapter.js
+++ b/modules/kiviadsBidAdapter.js
@@ -58,6 +58,7 @@ function getPlacementReqData(bid) {
placement.protocols = mediaTypes[VIDEO].protocols;
placement.startdelay = mediaTypes[VIDEO].startdelay;
placement.placement = mediaTypes[VIDEO].placement;
+ placement.plcmt = mediaTypes[VIDEO].plcmt;
placement.skip = mediaTypes[VIDEO].skip;
placement.skipafter = mediaTypes[VIDEO].skipafter;
placement.minbitrate = mediaTypes[VIDEO].minbitrate;
diff --git a/modules/krushmediaBidAdapter.js b/modules/krushmediaBidAdapter.js
index c4507201064..b2c1548a02d 100644
--- a/modules/krushmediaBidAdapter.js
+++ b/modules/krushmediaBidAdapter.js
@@ -1,4 +1,4 @@
-import { isFn, deepAccess, logMessage } from '../src/utils.js';
+import { isFn, deepAccess } from '../src/utils.js';
import {registerBidder} from '../src/adapters/bidderFactory.js';
import { BANNER, NATIVE, VIDEO } from '../src/mediaTypes.js';
import { convertOrtbRequestToProprietaryNative } from '../src/native.js';
@@ -55,23 +55,15 @@ export const spec = {
let winTop = window;
let location;
- // TODO: this odd try-catch block was copied in several adapters; it doesn't seem to be correct for cross-origin
- try {
- location = new URL(bidderRequest.refererInfo.page);
- winTop = window.top;
- } catch (e) {
- location = winTop.location;
- logMessage(e);
- };
-
+ location = bidderRequest?.refererInfo ?? null;
const placements = [];
const request = {
deviceWidth: winTop.screen.width,
deviceHeight: winTop.screen.height,
language: (navigator && navigator.language) ? navigator.language.split('-')[0] : '',
secure: 1,
- host: location.host,
- page: location.pathname,
+ host: location?.domain ?? '',
+ page: location?.page ?? '',
placements: placements
};
@@ -107,6 +99,7 @@ export const spec = {
placement.protocols = bid.mediaTypes[VIDEO].protocols;
placement.startdelay = bid.mediaTypes[VIDEO].startdelay;
placement.placement = bid.mediaTypes[VIDEO].placement;
+ placement.plcmt = bid.mediaTypes[VIDEO].plcmt;
placement.skip = bid.mediaTypes[VIDEO].skip;
placement.skipafter = bid.mediaTypes[VIDEO].skipafter;
placement.minbitrate = bid.mediaTypes[VIDEO].minbitrate;
diff --git a/modules/kueezBidAdapter.js b/modules/kueezBidAdapter.js
index 5a5536e0c1a..63a01bfea02 100644
--- a/modules/kueezBidAdapter.js
+++ b/modules/kueezBidAdapter.js
@@ -417,6 +417,7 @@ function populateVideoParams(params, bid) {
const maxDuration = deepAccess(bid, `mediaTypes.video.maxduration`);
const minDuration = deepAccess(bid, `mediaTypes.video.minduration`);
const placement = deepAccess(bid, `mediaTypes.video.placement`);
+ const plcmt = deepAccess(bid, `mediaTypes.video.plcmt`);
const playbackMethod = getPlaybackMethod(bid);
const skip = deepAccess(bid, `mediaTypes.video.skip`);
@@ -435,7 +436,9 @@ function populateVideoParams(params, bid) {
if (placement) {
params.placement = placement;
}
-
+ if (plcmt) {
+ params.plcmt = plcmt;
+ }
if (playbackMethod) {
params.playbackMethod = playbackMethod;
}
diff --git a/modules/lkqdBidAdapter.js b/modules/lkqdBidAdapter.js
index d4b1cdea0d1..6c97f64e6a8 100644
--- a/modules/lkqdBidAdapter.js
+++ b/modules/lkqdBidAdapter.js
@@ -47,7 +47,7 @@ export const spec = {
const GDPR = BIDDER_GDPR || bid.params.gdpr || null;
const GDPRS = BIDDER_GDPRS || bid.params.gdprs || null;
const DNT = bid.params.dnt || null;
- const BID_FLOOR = bid.params.flrd > bid.params.flrmp ? bid.params.flrd : bid.params.flrmp;
+ const BID_FLOOR = 0;
const VIDEO_BID = bid.video ? bid.video : {};
const requestData = {
@@ -157,7 +157,6 @@ export const spec = {
h: sizes[1],
skip: VIDEO_BID.skip || 0,
playbackmethod: VIDEO_BID.playbackmethod || [1],
- placement: (bid.params.execution === 'outstream' || VIDEO_BID.context === 'outstream') ? 5 : 1,
ext: {
lkqdcustomparameters: {}
},
diff --git a/modules/loganBidAdapter.js b/modules/loganBidAdapter.js
index 7aa82e3046c..bec23cddc2d 100644
--- a/modules/loganBidAdapter.js
+++ b/modules/loganBidAdapter.js
@@ -99,6 +99,7 @@ export const spec = {
placement.protocols = mediaType[VIDEO].protocols;
placement.startdelay = mediaType[VIDEO].startdelay;
placement.placement = mediaType[VIDEO].placement;
+ placement.plcmt = mediaType[VIDEO].plcmt;
placement.skip = mediaType[VIDEO].skip;
placement.skipafter = mediaType[VIDEO].skipafter;
placement.minbitrate = mediaType[VIDEO].minbitrate;
diff --git a/modules/logicadBidAdapter.js b/modules/logicadBidAdapter.js
index fe4dd83c9e2..e7c5300d072 100644
--- a/modules/logicadBidAdapter.js
+++ b/modules/logicadBidAdapter.js
@@ -46,7 +46,7 @@ export const spec = {
if (fledgeAuctionConfigs.length) {
return {
bids,
- fledgeAuctionConfigs,
+ paapi: fledgeAuctionConfigs,
};
}
@@ -74,7 +74,7 @@ function newBidRequest(bidRequest, bidderRequest) {
mediaTypes: bidRequest.mediaTypes,
}
- const fledgeEnabled = deepAccess(bidderRequest, 'fledgeEnabled')
+ const fledgeEnabled = deepAccess(bidderRequest, 'paapi.enabled')
if (fledgeEnabled) {
const ae = deepAccess(bidRequest, 'ortb2Imp.ext.ae');
if (ae) {
diff --git a/modules/loyalBidAdapter.js b/modules/loyalBidAdapter.js
index 30fdeb44233..ffa88529b2f 100644
--- a/modules/loyalBidAdapter.js
+++ b/modules/loyalBidAdapter.js
@@ -58,6 +58,7 @@ function getPlacementReqData(bid) {
placement.protocols = mediaTypes[VIDEO].protocols;
placement.startdelay = mediaTypes[VIDEO].startdelay;
placement.placement = mediaTypes[VIDEO].placement;
+ placement.plcmt = mediaTypes[VIDEO].plcmt;
placement.skip = mediaTypes[VIDEO].skip;
placement.skipafter = mediaTypes[VIDEO].skipafter;
placement.minbitrate = mediaTypes[VIDEO].minbitrate;
diff --git a/modules/luceadBidAdapter.js b/modules/luceadBidAdapter.js
index b95dfc08732..ffc2307bcb8 100755
--- a/modules/luceadBidAdapter.js
+++ b/modules/luceadBidAdapter.js
@@ -134,7 +134,7 @@ function interpretResponse(serverResponse, bidRequest) {
}
}));
- return {bids, fledgeAuctionConfigs};
+ return {bids, paapi: fledgeAuctionConfigs};
}
function report(type, data) {
diff --git a/modules/lunamediahbBidAdapter.js b/modules/lunamediahbBidAdapter.js
index 66838014e18..470a11510c5 100644
--- a/modules/lunamediahbBidAdapter.js
+++ b/modules/lunamediahbBidAdapter.js
@@ -1,4 +1,3 @@
-import { logMessage } from '../src/utils.js';
import { registerBidder } from '../src/adapters/bidderFactory.js';
import { BANNER, NATIVE, VIDEO } from '../src/mediaTypes.js';
import { config } from '../src/config.js';
@@ -39,14 +38,7 @@ export const spec = {
let winTop = window;
let location;
- // TODO: this odd try-catch block was copied in several adapters; it doesn't seem to be correct for cross-origin
- try {
- location = new URL(bidderRequest.refererInfo.page)
- winTop = window.top;
- } catch (e) {
- location = winTop.location;
- logMessage(e);
- };
+ location = bidderRequest?.refererInfo ?? null;
const placements = [];
const request = {
@@ -54,8 +46,8 @@ export const spec = {
'deviceHeight': winTop.screen.height,
'language': (navigator && navigator.language) ? navigator.language.split('-')[0] : '',
'secure': 1,
- 'host': location.host,
- 'page': location.pathname,
+ 'host': location?.domain ?? '',
+ 'page': location?.page ?? '',
'placements': placements
};
diff --git a/modules/madvertiseBidAdapter.js b/modules/madvertiseBidAdapter.js
index 3b031623aef..9fc7ceb68aa 100644
--- a/modules/madvertiseBidAdapter.js
+++ b/modules/madvertiseBidAdapter.js
@@ -1,5 +1,4 @@
import { parseSizesInput, _each } from '../src/utils.js';
-import {config} from '../src/config.js';
import {registerBidder} from '../src/adapters/bidderFactory.js';
/**
@@ -27,9 +26,6 @@ export const spec = {
if (sizes.length > 0 && sizes[0] === undefined) {
return false;
}
- if (typeof bid.params.floor == 'undefined' || parseFloat(bid.params.floor) < 0.01) {
- bid.params.floor = 0.01;
- }
return typeof bid.params.s != 'undefined';
},
@@ -58,7 +54,7 @@ export const spec = {
}
if (bidderRequest && bidderRequest.gdprConsent) {
- src = src + '&gdpr=' + (bidderRequest.gdprConsent.gdprApplies ? '1' : '0') + '&consent[0][format]=' + config.getConfig('consentManagement.cmpApi') + '&consent[0][value]=' + bidderRequest.gdprConsent.consentString;
+ src = src + '&gdpr=' + (bidderRequest.gdprConsent.gdprApplies ? '1' : '0') + '&consent[0][format]=iab&consent[0][value]=' + bidderRequest.gdprConsent.consentString;
}
return {
diff --git a/modules/marsmediaAnalyticsAdapter.js b/modules/marsmediaAnalyticsAdapter.js
deleted file mode 100644
index f1e53a3c20c..00000000000
--- a/modules/marsmediaAnalyticsAdapter.js
+++ /dev/null
@@ -1,53 +0,0 @@
-import {ajax} from '../src/ajax.js';
-import adapter from '../libraries/analyticsAdapter/AnalyticsAdapter.js';
-import adapterManager from '../src/adapterManager.js';
-import {getGlobal} from '../src/prebidGlobal.js';
-
-/****
- * Mars Media Analytics
- * Contact: prebid@m-m-g.com
- * Developer: Chen Saadia
- */
-
-const MARS_BIDDER_CODE = 'marsmedia';
-const analyticsType = 'endpoint';
-const MARS_VERSION = '1.0.1';
-const MARS_ANALYTICS_URL = 'https://prebid_stats.mars.media/prebidjs/api/analytics.php';
-var events = {};
-
-var marsmediaAnalyticsAdapter = Object.assign(adapter(
- {
- MARS_ANALYTICS_URL,
- analyticsType
- }),
-{
- track({eventType, args}) {
- if (typeof args !== 'undefined' && args.bidderCode === MARS_BIDDER_CODE) {
- events[eventType] = args;
- }
-
- if (eventType === 'auctionEnd') {
- setTimeout(function() {
- ajax(
- MARS_ANALYTICS_URL,
- {
- success: function() {},
- error: function() {}
- },
- JSON.stringify({act: 'prebid_analytics', params: events, 'pbjs': getGlobal().getBidResponses(), ver: MARS_VERSION}),
- {
- method: 'POST'
- }
- );
- }, 3000);
- }
- }
-}
-);
-
-adapterManager.registerAnalyticsAdapter({
- adapter: marsmediaAnalyticsAdapter,
- code: 'marsmedia'
-});
-
-export default marsmediaAnalyticsAdapter;
diff --git a/modules/mediafuseBidAdapter.js b/modules/mediafuseBidAdapter.js
index c7e31198673..32eea23c8a6 100644
--- a/modules/mediafuseBidAdapter.js
+++ b/modules/mediafuseBidAdapter.js
@@ -729,7 +729,7 @@ function bidToTag(bid) {
if (!isEmpty(bid.params.keywords)) {
tag.keywords = getANKewyordParamFromMaps(bid.params.keywords);
}
- let gpid = deepAccess(bid, 'ortb2Imp.ext.data.pbadslot');
+ let gpid = deepAccess(bid, 'ortb2Imp.ext.gpid') || deepAccess(bid, 'ortb2Imp.ext.data.pbadslot');
if (gpid) {
tag.gpid = gpid;
}
diff --git a/modules/mediakeysBidAdapter.js b/modules/mediakeysBidAdapter.js
index f4967fed170..987b2689f6b 100644
--- a/modules/mediakeysBidAdapter.js
+++ b/modules/mediakeysBidAdapter.js
@@ -66,6 +66,7 @@ const ORTB_VIDEO_PARAMS = {
h: value => isInteger(value),
startdelay: value => isInteger(value),
placement: value => [1, 2, 3, 4, 5].indexOf(value) !== -1,
+ plcmt: value => [1, 2, 3, 4].indexOf(value) !== -1,
linearity: value => [1, 2].indexOf(value) !== -1,
skip: value => [0, 1].indexOf(value) !== -1,
skipmin: value => isInteger(value),
diff --git a/modules/medianetBidAdapter.js b/modules/medianetBidAdapter.js
index 4d4cf0d80ed..5949e198fd1 100644
--- a/modules/medianetBidAdapter.js
+++ b/modules/medianetBidAdapter.js
@@ -261,7 +261,7 @@ function slotParams(bidRequest, bidderRequests) {
if (floorInfo && floorInfo.length > 0) {
params.bidfloors = floorInfo;
}
- if (bidderRequests.fledgeEnabled) {
+ if (bidderRequests.paapi?.enabled) {
params.ext.ae = bidRequest?.ortb2Imp?.ext?.ae;
}
return params;
@@ -508,7 +508,7 @@ export const spec = {
}
return {
bids: validBids,
- fledgeAuctionConfigs,
+ paapi: fledgeAuctionConfigs,
}
},
getUserSyncs: function(syncOptions, serverResponses) {
diff --git a/modules/medianetBidAdapter.md b/modules/medianetBidAdapter.md
index d401a72f1f6..500c9f3f12b 100644
--- a/modules/medianetBidAdapter.md
+++ b/modules/medianetBidAdapter.md
@@ -186,12 +186,12 @@ var adUnits = [{
In order to enable PAAPI auctions follow the instructions below:
-1. Add the fledgeForGpt and paapi modules to your prebid bundle.
+1. Add the paapiForGpt and paapi modules to your prebid bundle.
2. Add the following configuration for the module
```
pbjs.que.push(function() {
pbjs.setConfig({
- fledgeForGpt: {
+ paapi: {
enabled: true,
bidders: ['medianet'],
defaultForSlots: 1
@@ -200,4 +200,4 @@ pbjs.que.push(function() {
});
```
-For a detailed guide to enabling PAAPI auctions follow Prebid's documentation on [fledgeForGpt](https://docs.prebid.org/dev-docs/modules/fledgeForGpt.html)
+For a detailed guide to enabling PAAPI auctions follow Prebid's documentation on [paapiForGpt](https://docs.prebid.org/dev-docs/modules/paapiForGpt.html)
diff --git a/modules/mgidXBidAdapter.js b/modules/mgidXBidAdapter.js
index 40ac760e46d..3ef97cddb88 100644
--- a/modules/mgidXBidAdapter.js
+++ b/modules/mgidXBidAdapter.js
@@ -68,6 +68,7 @@ function getPlacementReqData(bid) {
placement.mimes = mediaTypes[VIDEO].mimes;
placement.protocols = mediaTypes[VIDEO].protocols;
placement.startdelay = mediaTypes[VIDEO].startdelay;
+ placement.placement = mediaTypes[VIDEO].placement;
placement.plcmt = mediaTypes[VIDEO].plcmt;
placement.skip = mediaTypes[VIDEO].skip;
placement.skipafter = mediaTypes[VIDEO].skipafter;
diff --git a/modules/microadBidAdapter.js b/modules/microadBidAdapter.js
index 61aa9b795de..82b9025766b 100644
--- a/modules/microadBidAdapter.js
+++ b/modules/microadBidAdapter.js
@@ -28,7 +28,6 @@ const AUDIENCE_IDS = [
{type: 8, bidKey: 'userId.id5id.uid', source: 'id5-sync.com'},
{type: 9, bidKey: 'userId.tdid', source: 'adserver.org'},
{type: 10, bidKey: 'userId.novatiq.snowflake', source: 'novatiq.com'},
- {type: 11, bidKey: 'userId.parrableId.eid', source: 'parrable.com'},
{type: 12, bidKey: 'userId.dacId.id', source: 'dac.co.jp'},
{type: 13, bidKey: 'userId.idl_env', source: 'liveramp.com'},
{type: 14, bidKey: 'userId.criteoId', source: 'criteo.com'},
diff --git a/modules/minutemediaplusBidAdapter.js b/modules/minutemediaplusBidAdapter.js
deleted file mode 100644
index 146d437b1fa..00000000000
--- a/modules/minutemediaplusBidAdapter.js
+++ /dev/null
@@ -1,349 +0,0 @@
-import {_each, deepAccess, parseSizesInput, parseUrl, uniques, isFn} from '../src/utils.js';
-import {registerBidder} from '../src/adapters/bidderFactory.js';
-import {BANNER, VIDEO} from '../src/mediaTypes.js';
-import {getStorageManager} from '../src/storageManager.js';
-import {config} from '../src/config.js';
-
-const GVLID = 918;
-const DEFAULT_SUB_DOMAIN = 'exchange';
-const BIDDER_CODE = 'mmplus';
-const BIDDER_VERSION = '1.0.0';
-const CURRENCY = 'USD';
-const TTL_SECONDS = 60 * 5;
-const UNIQUE_DEAL_ID_EXPIRY = 1000 * 60 * 15;
-
-const storage = getStorageManager({bidderCode: BIDDER_CODE});
-
-function getTopWindowQueryParams() {
- try {
- const parsedUrl = parseUrl(window.top.document.URL, {decodeSearchAsString: true});
- return parsedUrl.search;
- } catch (e) {
- return '';
- }
-}
-
-export function createDomain(subDomain = DEFAULT_SUB_DOMAIN) {
- return `https://${subDomain}.minutemedia-prebid.com`;
-}
-
-export function extractCID(params) {
- return params.cId || params.CID || params.cID || params.CId || params.cid || params.ciD || params.Cid || params.CiD;
-}
-
-export function extractPID(params) {
- return params.pId || params.PID || params.pID || params.PId || params.pid || params.piD || params.Pid || params.PiD;
-}
-
-export function extractSubDomain(params) {
- return params.subDomain || params.SubDomain || params.Subdomain || params.subdomain || params.SUBDOMAIN || params.subDOMAIN;
-}
-
-function isBidRequestValid(bid) {
- const params = bid.params || {};
- return !!(extractCID(params) && extractPID(params));
-}
-
-function buildRequest(bid, topWindowUrl, sizes, bidderRequest, bidderTimeout) {
- const {
- params,
- bidId,
- userId,
- adUnitCode,
- schain,
- mediaTypes,
- auctionId,
- ortb2Imp,
- bidderRequestId,
- bidRequestsCount,
- bidderRequestsCount,
- bidderWinsCount
- } = bid;
- let {bidFloor, ext} = params;
- const hashUrl = hashCode(topWindowUrl);
- const uniqueDealId = getUniqueDealId(hashUrl);
- const cId = extractCID(params);
- const pId = extractPID(params);
- const subDomain = extractSubDomain(params);
-
- const gpid = deepAccess(bid, 'ortb2Imp.ext.gpid', deepAccess(bid, 'ortb2Imp.ext.data.pbadslot', ''));
-
- if (isFn(bid.getFloor)) {
- const floorInfo = bid.getFloor({
- currency: 'USD',
- mediaType: '*',
- size: '*'
- });
-
- if (floorInfo.currency === 'USD') {
- bidFloor = floorInfo.floor;
- }
- }
-
- let data = {
- url: encodeURIComponent(topWindowUrl),
- uqs: getTopWindowQueryParams(),
- cb: Date.now(),
- bidFloor: bidFloor,
- bidId: bidId,
- referrer: bidderRequest.refererInfo.ref,
- adUnitCode: adUnitCode,
- publisherId: pId,
- sizes: sizes,
- uniqueDealId: uniqueDealId,
- bidderVersion: BIDDER_VERSION,
- prebidVersion: '$prebid.version$',
- res: `${screen.width}x${screen.height}`,
- schain: schain,
- mediaTypes: mediaTypes,
- gpid: gpid,
- // TODO: fix auctionId leak: https://github.com/prebid/Prebid.js/issues/9781
- auctionId: auctionId,
- transactionId: ortb2Imp?.ext?.tid,
- bidderRequestId: bidderRequestId,
- bidRequestsCount: bidRequestsCount,
- bidderRequestsCount: bidderRequestsCount,
- bidderWinsCount: bidderWinsCount,
- bidderTimeout: bidderTimeout
- };
-
- appendUserIdsToRequestPayload(data, userId);
-
- const sua = deepAccess(bidderRequest, 'ortb2.device.sua');
-
- if (sua) {
- data.sua = sua;
- }
-
- if (bidderRequest.gdprConsent) {
- if (bidderRequest.gdprConsent.consentString) {
- data.gdprConsent = bidderRequest.gdprConsent.consentString;
- }
- if (bidderRequest.gdprConsent.gdprApplies !== undefined) {
- data.gdpr = bidderRequest.gdprConsent.gdprApplies ? 1 : 0;
- }
- }
- if (bidderRequest.uspConsent) {
- data.usPrivacy = bidderRequest.uspConsent;
- }
-
- if (bidderRequest.gppConsent) {
- data.gppString = bidderRequest.gppConsent.gppString;
- data.gppSid = bidderRequest.gppConsent.applicableSections;
- } else if (bidderRequest.ortb2?.regs?.gpp) {
- data.gppString = bidderRequest.ortb2.regs.gpp;
- data.gppSid = bidderRequest.ortb2.regs.gpp_sid;
- }
-
- const dto = {
- method: 'POST',
- url: `${createDomain(subDomain)}/prebid/multi/${cId}`,
- data: data
- };
-
- _each(ext, (value, key) => {
- dto.data['ext.' + key] = value;
- });
-
- return dto;
-}
-
-function appendUserIdsToRequestPayload(payloadRef, userIds) {
- let key;
- _each(userIds, (userId, idSystemProviderName) => {
- key = `uid.${idSystemProviderName}`;
-
- switch (idSystemProviderName) {
- case 'digitrustid':
- payloadRef[key] = deepAccess(userId, 'data.id');
- break;
- case 'lipb':
- payloadRef[key] = userId.lipbid;
- break;
- case 'parrableId':
- payloadRef[key] = userId.eid;
- break;
- case 'id5id':
- payloadRef[key] = userId.uid;
- break;
- default:
- payloadRef[key] = userId;
- }
- });
-}
-
-function buildRequests(validBidRequests, bidderRequest) {
- const topWindowUrl = bidderRequest.refererInfo.page || bidderRequest.refererInfo.topmostLocation;
- const bidderTimeout = config.getConfig('bidderTimeout');
- const requests = [];
- validBidRequests.forEach(validBidRequest => {
- const sizes = parseSizesInput(validBidRequest.sizes);
- const request = buildRequest(validBidRequest, topWindowUrl, sizes, bidderRequest, bidderTimeout);
- requests.push(request);
- });
- return requests;
-}
-
-function interpretResponse(serverResponse, request) {
- if (!serverResponse || !serverResponse.body) {
- return [];
- }
- const {bidId} = request.data;
- const {results} = serverResponse.body;
-
- let output = [];
-
- try {
- results.forEach(result => {
- const {
- creativeId,
- ad,
- price,
- exp,
- width,
- height,
- currency,
- metaData,
- advertiserDomains,
- mediaType = BANNER
- } = result;
- if (!ad || !price) {
- return;
- }
-
- const response = {
- requestId: bidId,
- cpm: price,
- width: width,
- height: height,
- creativeId: creativeId,
- currency: currency || CURRENCY,
- netRevenue: true,
- ttl: exp || TTL_SECONDS,
- };
-
- if (metaData) {
- Object.assign(response, {
- meta: metaData
- })
- } else {
- Object.assign(response, {
- meta: {
- advertiserDomains: advertiserDomains || []
- }
- })
- }
-
- if (mediaType === BANNER) {
- Object.assign(response, {
- ad: ad,
- });
- } else {
- Object.assign(response, {
- vastXml: ad,
- mediaType: VIDEO
- });
- }
- output.push(response);
- });
- return output;
- } catch (e) {
- return [];
- }
-}
-
-function getUserSyncs(syncOptions, responses, gdprConsent = {}, uspConsent = '', gppConsent = {}) {
- let syncs = [];
- const {iframeEnabled, pixelEnabled} = syncOptions;
- const {gdprApplies, consentString = ''} = gdprConsent;
- const {gppString, applicableSections} = gppConsent;
-
- const cidArr = responses.filter(resp => deepAccess(resp, 'body.cid')).map(resp => resp.body.cid).filter(uniques);
- let params = `?cid=${encodeURIComponent(cidArr.join(','))}&gdpr=${gdprApplies ? 1 : 0}&gdpr_consent=${encodeURIComponent(consentString || '')}&us_privacy=${encodeURIComponent(uspConsent || '')}`
-
- if (gppString && applicableSections?.length) {
- params += '&gpp=' + encodeURIComponent(gppString);
- params += '&gpp_sid=' + encodeURIComponent(applicableSections.join(','));
- }
-
- if (iframeEnabled) {
- syncs.push({
- type: 'iframe',
- url: `https://sync.minutemedia-prebid.com/api/sync/iframe/${params}`
- });
- }
- if (pixelEnabled) {
- syncs.push({
- type: 'image',
- url: `https://sync.minutemedia-prebid.com/api/sync/image/${params}`
- });
- }
- return syncs;
-}
-
-export function hashCode(s, prefix = '_') {
- const l = s.length;
- let h = 0
- let i = 0;
- if (l > 0) {
- while (i < l) {
- h = (h << 5) - h + s.charCodeAt(i++) | 0;
- }
- }
- return prefix + h;
-}
-
-export function getUniqueDealId(key, expiry = UNIQUE_DEAL_ID_EXPIRY) {
- const storageKey = `u_${key}`;
- const now = Date.now();
- const data = getStorageItem(storageKey);
- let uniqueId;
-
- if (!data || !data.value || now - data.created > expiry) {
- uniqueId = `${key}_${now.toString()}`;
- setStorageItem(storageKey, uniqueId);
- } else {
- uniqueId = data.value;
- }
-
- return uniqueId;
-}
-
-export function getStorageItem(key) {
- try {
- return tryParseJSON(storage.getDataFromLocalStorage(key));
- } catch (e) {
- }
-
- return null;
-}
-
-export function setStorageItem(key, value, timestamp) {
- try {
- const created = timestamp || Date.now();
- const data = JSON.stringify({value, created});
- storage.setDataInLocalStorage(key, data);
- } catch (e) {
- }
-}
-
-export function tryParseJSON(value) {
- try {
- return JSON.parse(value);
- } catch (e) {
- return value;
- }
-}
-
-export const spec = {
- code: BIDDER_CODE,
- version: BIDDER_VERSION,
- gvlid: GVLID,
- supportedMediaTypes: [BANNER, VIDEO],
- isBidRequestValid,
- buildRequests,
- interpretResponse,
- getUserSyncs
-};
-
-registerBidder(spec);
diff --git a/modules/minutemediaplusBidAdapter.md b/modules/minutemediaplusBidAdapter.md
deleted file mode 100644
index 410c00e7017..00000000000
--- a/modules/minutemediaplusBidAdapter.md
+++ /dev/null
@@ -1,35 +0,0 @@
-# Overview
-
-**Module Name:** MinuteMediaPlus Bidder Adapter
-
-**Module Type:** Bidder Adapter
-
-**Maintainer:** hb@minutemedia.com
-
-# Description
-
-Module that connects to MinuteMediaPlus's demand sources.
-
-# Test Parameters
-```js
-var adUnits = [
- {
- code: 'test-ad',
- sizes: [[300, 250]],
- bids: [
- {
- bidder: 'mmplus',
- params: {
- cId: '562524b21b1c1f08117fc7f9',
- pId: '59ac17c192832d0011283fe3',
- bidFloor: 0.0001,
- ext: {
- param1: 'loremipsum',
- param2: 'dolorsitamet'
- }
- }
- }
- ]
- }
-];
-```
diff --git a/modules/mobfoxpbBidAdapter.js b/modules/mobfoxpbBidAdapter.js
index 35e9b03c031..7fb585ada06 100644
--- a/modules/mobfoxpbBidAdapter.js
+++ b/modules/mobfoxpbBidAdapter.js
@@ -107,6 +107,7 @@ export const spec = {
placement.protocols = mediaType[VIDEO].protocols;
placement.startdelay = mediaType[VIDEO].startdelay;
placement.placement = mediaType[VIDEO].placement;
+ placement.plcmt = mediaType[VIDEO].plcmt;
placement.skip = mediaType[VIDEO].skip;
placement.skipafter = mediaType[VIDEO].skipafter;
placement.minbitrate = mediaType[VIDEO].minbitrate;
diff --git a/modules/mytargetBidAdapter.md b/modules/mytargetBidAdapter.md
deleted file mode 100644
index 3292ff561fa..00000000000
--- a/modules/mytargetBidAdapter.md
+++ /dev/null
@@ -1,40 +0,0 @@
-# Overview
-
-```
-Module Name: myTarget Bidder Adapter
-Module Type: Bidder Adapter
-Maintainer: support_target@corp.my.com
-```
-
-# Description
-
-Module that connects to myTarget demand sources.
-
-# Test Parameters
-
-```
- var adUnits = [{
- code: 'placementCode',
- mediaTypes: {
- banner: {
- sizes: [[240, 400]],
- }
- },
- bids: [{
- bidder: 'mytarget',
- params: {
- placementId: '379783',
-
- // OPTIONAL: custom bid floor
- bidfloor: 10000,
-
- // OPTIONAL: if you know the ad position on the page, specify it here
- // (this corresponds to "Ad Position" in OpenRTB 2.3, section 5.4)
- position: 0,
-
- // OPTIONAL: bid response type: 0 - ad url (default), 1 - ad markup
- response: 0
- }
- }]
- }];
-```
diff --git a/modules/nativoBidAdapter.js b/modules/nativoBidAdapter.js
index 69a270247cd..c9da876b292 100644
--- a/modules/nativoBidAdapter.js
+++ b/modules/nativoBidAdapter.js
@@ -34,7 +34,7 @@ const localPbjsRef = getGlobal()
* Keep track of bid data by keys
* @returns {Object} - Map of bid data that can be referenced by multiple keys
*/
-export const BidDataMap = () => {
+export function BidDataMap() {
const referenceMap = {}
const bids = []
diff --git a/modules/newspassidBidAdapter.js b/modules/newspassidBidAdapter.js
index ac8aa2a0625..d33b4e64297 100644
--- a/modules/newspassidBidAdapter.js
+++ b/modules/newspassidBidAdapter.js
@@ -465,10 +465,6 @@ export const spec = {
if (id5id) {
ret['id5id'] = id5id;
}
- let parrableId = deepAccess(bidRequest.userId, 'parrableId.eid');
- if (parrableId) {
- ret['parrableId'] = parrableId;
- }
let sharedid = deepAccess(bidRequest.userId, 'sharedid.id');
if (sharedid) {
ret['sharedid'] = sharedid;
diff --git a/modules/onetagBidAdapter.js b/modules/onetagBidAdapter.js
index 62bee5c2aeb..8ddcb2c3980 100644
--- a/modules/onetagBidAdapter.js
+++ b/modules/onetagBidAdapter.js
@@ -93,7 +93,7 @@ function buildRequests(validBidRequests, bidderRequest) {
const connection = navigator.connection || navigator.webkitConnection;
payload.networkConnectionType = (connection && connection.type) ? connection.type : null;
payload.networkEffectiveConnectionType = (connection && connection.effectiveType) ? connection.effectiveType : null;
- payload.fledgeEnabled = Boolean(bidderRequest && bidderRequest.fledgeEnabled)
+ payload.fledgeEnabled = Boolean(bidderRequest?.paapi?.enabled)
return {
method: 'POST',
url: ENDPOINT,
@@ -156,7 +156,7 @@ function interpretResponse(serverResponse, bidderRequest) {
const fledgeAuctionConfigs = body.fledgeAuctionConfigs
return {
bids,
- fledgeAuctionConfigs,
+ paapi: fledgeAuctionConfigs,
}
} else {
return bids;
diff --git a/modules/ooloAnalyticsAdapter.js b/modules/ooloAnalyticsAdapter.js
index 8a6ef88a7fb..573fee3b0b3 100644
--- a/modules/ooloAnalyticsAdapter.js
+++ b/modules/ooloAnalyticsAdapter.js
@@ -433,6 +433,11 @@ function sendPage() {
function sendHbConfigData() {
const conf = {}
const pbjsConfig = config.getConfig()
+ // Check if pbjsConfig.userSync exists and has userIds property
+ if (pbjsConfig.userSync && pbjsConfig.userSync.userIds) {
+ // Delete the userIds property
+ delete pbjsConfig.userSync.userIds;
+ }
Object.keys(pbjsConfig).forEach(key => {
if (key[0] !== '_') {
diff --git a/modules/openwebBidAdapter.js b/modules/openwebBidAdapter.js
index 5bc74ac6465..f083647c480 100644
--- a/modules/openwebBidAdapter.js
+++ b/modules/openwebBidAdapter.js
@@ -46,6 +46,11 @@ export const spec = {
return false;
}
+ if (!bidRequest.params.placementId) {
+ logWarn('placementId is a mandatory param for OpenWeb adapter');
+ return false;
+ }
+
return true;
},
buildRequests: function (validBidRequests, bidderRequest) {
diff --git a/modules/openxBidAdapter.js b/modules/openxBidAdapter.js
index 81b710d09a1..8b16aa1a84e 100644
--- a/modules/openxBidAdapter.js
+++ b/modules/openxBidAdapter.js
@@ -4,7 +4,6 @@ import * as utils from '../src/utils.js';
import {mergeDeep} from '../src/utils.js';
import {BANNER, VIDEO} from '../src/mediaTypes.js';
import {ortbConverter} from '../libraries/ortbConverter/converter.js';
-import {convertTypes} from '../libraries/transformParamsUtils/convertTypes.js';
const bidderConfig = 'hb_pb_ortb';
const bidderVersion = '2.0';
@@ -18,8 +17,7 @@ export const spec = {
isBidRequestValid,
buildRequests,
interpretResponse,
- getUserSyncs,
- transformBidParams
+ getUserSyncs
};
registerBidder(spec);
@@ -116,7 +114,7 @@ const converter = ortbConverter({
});
return {
bids: response.bids,
- fledgeAuctionConfigs,
+ paapi: fledgeAuctionConfigs,
}
} else {
return response.bids
@@ -150,13 +148,6 @@ const converter = ortbConverter({
}
});
-function transformBidParams(params, isOpenRtb) {
- return convertTypes({
- 'unit': 'string',
- 'customFloor': 'number'
- }, params);
-}
-
function isBidRequestValid(bidRequest) {
const hasDelDomainOrPlatform = bidRequest.params.delDomain ||
bidRequest.params.platform;
diff --git a/modules/operaadsBidAdapter.js b/modules/operaadsBidAdapter.js
index 957192d1bec..486d5ac726b 100644
--- a/modules/operaadsBidAdapter.js
+++ b/modules/operaadsBidAdapter.js
@@ -525,7 +525,6 @@ function createImp(bidRequest) {
playbackmethod: videoReq.playbackmethod || VIDEO_DEFAULTS.PLAYBACK_METHODS,
delivery: videoReq.delivery || VIDEO_DEFAULTS.DELIVERY,
api: videoReq.api || VIDEO_DEFAULTS.API,
- placement: videoReq.context === OUTSTREAM ? 3 : 1,
};
mediaType = VIDEO;
diff --git a/modules/optableBidAdapter.js b/modules/optableBidAdapter.js
index f6c7cf00a35..4e639fb88ee 100644
--- a/modules/optableBidAdapter.js
+++ b/modules/optableBidAdapter.js
@@ -35,7 +35,7 @@ export const spec = {
return { bidId: impid, config }
})
- return { bids, fledgeAuctionConfigs: auctionConfigs }
+ return { bids, paapi: auctionConfigs }
},
supportedMediaTypes: [BANNER]
}
diff --git a/modules/ozoneBidAdapter.js b/modules/ozoneBidAdapter.js
index 329aea47bd3..1e5b2ae8ca5 100644
--- a/modules/ozoneBidAdapter.js
+++ b/modules/ozoneBidAdapter.js
@@ -685,10 +685,6 @@ export const spec = {
if (id5id) {
ret['id5id'] = id5id;
}
- let parrableId = deepAccess(bidRequest.userId, 'parrableId.eid');
- if (parrableId) {
- ret['parrableId'] = parrableId;
- }
let sharedid = deepAccess(bidRequest.userId, 'sharedid.id');
if (sharedid) {
ret['sharedid'] = sharedid;
@@ -768,7 +764,7 @@ export const spec = {
return ret;
},
_unpackVideoConfigIntoIABformat(ret, objConfig) {
- let arrVideoKeysAllowed = ['mimes', 'minduration', 'maxduration', 'protocols', 'w', 'h', 'startdelay', 'placement', 'linearity', 'skip', 'skipmin', 'skipafter', 'sequence', 'battr', 'maxextended', 'minbitrate', 'maxbitrate', 'boxingallowed', 'playbackmethod', 'playbackend', 'delivery', 'pos', 'companionad', 'api', 'companiontype'];
+ let arrVideoKeysAllowed = ['mimes', 'minduration', 'maxduration', 'protocols', 'w', 'h', 'startdelay', 'placement', 'plcmt', 'linearity', 'skip', 'skipmin', 'skipafter', 'sequence', 'battr', 'maxextended', 'minbitrate', 'maxbitrate', 'boxingallowed', 'playbackmethod', 'playbackend', 'delivery', 'pos', 'companionad', 'api', 'companiontype'];
for (const key in objConfig) {
var found = false;
arrVideoKeysAllowed.forEach(function(arg) {
diff --git a/modules/paapi.js b/modules/paapi.js
index c6cd380c1c9..310974b31fe 100644
--- a/modules/paapi.js
+++ b/modules/paapi.js
@@ -34,10 +34,8 @@ const pendingBuyersForAuction = auctionStore();
let latestAuctionForAdUnit = {};
let moduleConfig = {};
-['paapi', 'fledgeForGpt'].forEach(ns => {
- config.getConfig(ns, config => {
- init(config[ns], ns);
- });
+config.getConfig('paapi', config => {
+ init(config.paapi);
});
export function reset() {
@@ -45,10 +43,7 @@ export function reset() {
latestAuctionForAdUnit = {};
}
-export function init(cfg, configNamespace) {
- if (configNamespace !== 'paapi') {
- logWarn(`'${configNamespace}' configuration options will be renamed to 'paapi'; consider using setConfig({paapi: [...]}) instead`);
- }
+export function init(cfg) {
if (cfg && cfg.enabled === true) {
moduleConfig = cfg;
logInfo(`${MODULE} enabled (browser ${isFledgeSupported() ? 'supports' : 'does NOT support'} runAdAuction)`, cfg);
@@ -147,7 +142,7 @@ function setFPD(target, {ortb2, ortb2Imp}) {
}
export function addPaapiConfigHook(next, request, paapiConfig) {
- if (getFledgeConfig().enabled) {
+ if (getFledgeConfig(config.getCurrentBidder()).enabled) {
const {adUnitCode, auctionId} = request;
// eslint-disable-next-line no-inner-declarations
@@ -305,12 +300,11 @@ function isFledgeSupported() {
return 'runAdAuction' in navigator && 'joinAdInterestGroup' in navigator;
}
-function getFledgeConfig() {
- const bidder = config.getCurrentBidder();
- const useGlobalConfig = moduleConfig.enabled && (bidder == null || !moduleConfig.bidders?.length || moduleConfig.bidders?.includes(bidder));
+function getFledgeConfig(bidder) {
+ const enabled = moduleConfig.enabled && (bidder == null || !moduleConfig.bidders?.length || moduleConfig.bidders?.includes(bidder));
return {
- enabled: config.getConfig('fledgeEnabled') ?? useGlobalConfig,
- ae: config.getConfig('defaultForSlots') ?? (useGlobalConfig ? moduleConfig.defaultForSlots : undefined)
+ enabled,
+ ae: enabled ? moduleConfig.defaultForSlots : undefined
};
}
@@ -340,37 +334,34 @@ function getRequestedSize(adUnit) {
export function markForFledge(next, bidderRequests) {
if (isFledgeSupported()) {
bidderRequests.forEach((bidderReq) => {
- config.runWithBidder(bidderReq.bidderCode, () => {
- const {enabled, ae} = getFledgeConfig();
- Object.assign(bidderReq, {
- fledgeEnabled: enabled,
- paapi: {
- enabled,
- componentSeller: !!moduleConfig.componentSeller?.auctionConfig
- }
- });
- bidderReq.bids.forEach(bidReq => {
- // https://github.com/InteractiveAdvertisingBureau/openrtb/blob/main/extensions/community_extensions/Protected%20Audience%20Support.md
- const igsAe = bidReq.ortb2Imp?.ext?.igs != null
- ? bidReq.ortb2Imp.ext.igs.ae || 1
- : null
- const extAe = bidReq.ortb2Imp?.ext?.ae;
- if (igsAe !== extAe && igsAe != null && extAe != null) {
- logWarn(MODULE, `Bid request defines conflicting ortb2Imp.ext.ae and ortb2Imp.ext.igs, using the latter`, bidReq);
- }
- const bidAe = igsAe ?? extAe ?? ae;
- if (bidAe) {
- deepSetValue(bidReq, 'ortb2Imp.ext.ae', bidAe);
- bidReq.ortb2Imp.ext.igs = Object.assign({
- ae: bidAe,
- biddable: 1
- }, bidReq.ortb2Imp.ext.igs)
- const requestedSize = getRequestedSize(bidReq);
- if (requestedSize) {
- deepSetValue(bidReq, 'ortb2Imp.ext.paapi.requestedSize', requestedSize);
- }
+ const {enabled, ae} = getFledgeConfig(bidderReq.bidderCode);
+ Object.assign(bidderReq, {
+ paapi: {
+ enabled,
+ componentSeller: !!moduleConfig.componentSeller?.auctionConfig
+ }
+ });
+ bidderReq.bids.forEach(bidReq => {
+ // https://github.com/InteractiveAdvertisingBureau/openrtb/blob/main/extensions/community_extensions/Protected%20Audience%20Support.md
+ const igsAe = bidReq.ortb2Imp?.ext?.igs != null
+ ? bidReq.ortb2Imp.ext.igs.ae || 1
+ : null;
+ const extAe = bidReq.ortb2Imp?.ext?.ae;
+ if (igsAe !== extAe && igsAe != null && extAe != null) {
+ logWarn(MODULE, `Bid request defines conflicting ortb2Imp.ext.ae and ortb2Imp.ext.igs, using the latter`, bidReq);
+ }
+ const bidAe = igsAe ?? extAe ?? ae;
+ if (bidAe) {
+ deepSetValue(bidReq, 'ortb2Imp.ext.ae', bidAe);
+ bidReq.ortb2Imp.ext.igs = Object.assign({
+ ae: bidAe,
+ biddable: 1
+ }, bidReq.ortb2Imp.ext.igs);
+ const requestedSize = getRequestedSize(bidReq);
+ if (requestedSize) {
+ deepSetValue(bidReq, 'ortb2Imp.ext.paapi.requestedSize', requestedSize);
}
- });
+ }
});
});
}
@@ -378,7 +369,7 @@ export function markForFledge(next, bidderRequests) {
}
export function setImpExtAe(imp, bidRequest, context) {
- if (!context.bidderRequest.fledgeEnabled) {
+ if (!context.bidderRequest.paapi?.enabled) {
delete imp.ext?.ae;
delete imp.ext?.igs;
}
@@ -449,7 +440,7 @@ export function setResponsePaapiConfigs(response, ortbResponse, context) {
registerOrtbProcessor({
type: RESPONSE,
- name: 'fledgeAuctionConfigs',
+ name: 'paapiConfigs',
priority: -1,
fn: setResponsePaapiConfigs,
});
diff --git a/modules/fledgeForGpt.js b/modules/paapiForGpt.js
similarity index 68%
rename from modules/fledgeForGpt.js
rename to modules/paapiForGpt.js
index a356785dbe1..61133014e28 100644
--- a/modules/fledgeForGpt.js
+++ b/modules/paapiForGpt.js
@@ -3,40 +3,39 @@
*/
import {getHook, submodule} from '../src/hook.js';
import {deepAccess, logInfo, logWarn, sizeTupleToSizeString} from '../src/utils.js';
-import {getGptSlotForAdUnitCode} from '../libraries/gptUtils/gptUtils.js';
import {config} from '../src/config.js';
import {getGlobal} from '../src/prebidGlobal.js';
-// import parent module to keep backwards-compat for NPM consumers after paapi was split from fledgeForGpt
-// there's a special case in webpack.conf.js to avoid duplicating build output on non-npm builds
-// TODO: remove this in prebid 9
-// eslint-disable-next-line prebid/validate-imports
-import './paapi.js';
import {keyCompare} from '../src/utils/reducers.js';
-const MODULE = 'fledgeForGpt';
+import {getGPTSlotsForAdUnits, targeting} from '../src/targeting.js';
-let getPAAPIConfig;
+const MODULE = 'paapiForGpt';
-// for backwards compat, we attempt to automatically set GPT configuration as soon as we
-// have the auction configs available. Disabling this allows one to call pbjs.setPAAPIConfigForGPT at their
-// own pace.
-let autoconfig = true;
+let getPAAPIConfig;
-Object.entries({
- [MODULE]: MODULE,
- 'paapi': 'paapi.gpt'
-}).forEach(([topic, ns]) => {
- const configKey = `${ns}.autoconfig`;
- config.getConfig(topic, (cfg) => {
- autoconfig = deepAccess(cfg, configKey, true);
- });
+config.getConfig('paapi', (cfg) => {
+ if (deepAccess(cfg, 'paapi.gpt.configWithTargeting', true)) {
+ logInfo(MODULE, 'enabling PAAPI configuration with setTargetingForGPTAsync')
+ targeting.setTargetingForGPT.before(setTargetingHook);
+ } else {
+ targeting.setTargetingForGPT.getHooks({hook: setTargetingHook}).remove();
+ }
});
+export function setTargetingHookFactory(setPaapiConfig = getGlobal().setPAAPIConfigForGPT) {
+ return function(next, adUnit, customSlotMatching) {
+ const adUnitCodes = Array.isArray(adUnit) ? adUnit : [adUnit]
+ adUnitCodes
+ .map(adUnitCode => adUnitCode == null ? undefined : {adUnitCode})
+ .forEach(filters => setPaapiConfig(filters, customSlotMatching))
+ next(adUnit, customSlotMatching);
+ }
+}
+
export function slotConfigurator() {
const PREVIOUSLY_SET = {};
- return function setComponentAuction(adUnitCode, auctionConfigs, reset = true) {
- const gptSlot = getGptSlotForAdUnitCode(adUnitCode);
- if (gptSlot && gptSlot.setConfig) {
+ return function setComponentAuction(adUnitCode, gptSlots, auctionConfigs, reset = true) {
+ if (gptSlots.length > 0) {
let previous = PREVIOUSLY_SET[adUnitCode] ?? {};
let configsBySeller = Object.fromEntries(auctionConfigs.map(cfg => [cfg.seller, cfg]));
const sellers = Object.keys(configsBySeller);
@@ -52,8 +51,10 @@ export function slotConfigurator() {
const componentAuction = Object.entries(configsBySeller)
.map(([configKey, auctionConfig]) => ({configKey, auctionConfig}));
if (componentAuction.length > 0) {
- gptSlot.setConfig({componentAuction});
- logInfo(MODULE, `register component auction configs for: ${adUnitCode}: ${gptSlot.getAdUnitPath()}`, auctionConfigs);
+ gptSlots.forEach(gptSlot => {
+ gptSlot.setConfig({componentAuction});
+ logInfo(MODULE, `register component auction configs for: ${adUnitCode}: ${gptSlot.getAdUnitPath()}`, auctionConfigs);
+ });
}
} else if (auctionConfigs.length > 0) {
logWarn(MODULE, `unable to register component auction config for ${adUnitCode}`, auctionConfigs);
@@ -63,17 +64,6 @@ export function slotConfigurator() {
const setComponentAuction = slotConfigurator();
-export function onAuctionConfigFactory(setGptConfig = setComponentAuction) {
- return function onAuctionConfig(auctionId, configsByAdUnit, markAsUsed) {
- if (autoconfig) {
- Object.entries(configsByAdUnit).forEach(([adUnitCode, cfg]) => {
- setGptConfig(adUnitCode, cfg?.componentAuctions ?? []);
- markAsUsed(adUnitCode);
- });
- }
- }
-}
-
export const getPAAPISizeHook = (() => {
/*
https://github.com/google/ads-privacy/tree/master/proposals/fledge-multiple-seller-testing#faq
@@ -138,20 +128,22 @@ export const getPAAPISizeHook = (() => {
export function setPAAPIConfigFactory(
getConfig = (filters) => getPAAPIConfig(filters, true),
- setGptConfig = setComponentAuction) {
+ setGptConfig = setComponentAuction,
+ getSlots = getGPTSlotsForAdUnits) {
/**
* Configure GPT slots with PAAPI auction configs.
* `filters` are the same filters accepted by `pbjs.getPAAPIConfig`;
*/
- return function(filters = {}) {
+ return function(filters = {}, customSlotMatching) {
let some = false;
- Object.entries(
- getConfig(filters) || {}
- ).forEach(([au, config]) => {
+ const cfg = getConfig(filters) || {};
+ const auToSlots = getSlots(Object.keys(cfg), customSlotMatching);
+
+ Object.entries(cfg).forEach(([au, config]) => {
if (config != null) {
some = true;
}
- setGptConfig(au, config?.componentAuctions || [], true);
+ setGptConfig(au, auToSlots[au], config?.componentAuctions || [], true);
})
if (!some) {
logInfo(`${MODULE}: No component auctions available to set`);
@@ -162,10 +154,10 @@ export function setPAAPIConfigFactory(
* Configure GPT slots with PAAPI component auctions. Accepts the same filter arguments as `pbjs.getPAAPIConfig`.
*/
getGlobal().setPAAPIConfigForGPT = setPAAPIConfigFactory();
+const setTargetingHook = setTargetingHookFactory();
submodule('paapi', {
name: 'gpt',
- onAuctionConfig: onAuctionConfigFactory(),
init(params) {
getPAAPIConfig = params.getPAAPIConfig;
getHook('getPAAPISize').before(getPAAPISizeHook);
diff --git a/modules/fledgeForGpt.md b/modules/paapiForGpt.md
similarity index 55%
rename from modules/fledgeForGpt.md
rename to modules/paapiForGpt.md
index 28f44da6459..31cde2e268d 100644
--- a/modules/fledgeForGpt.md
+++ b/modules/paapiForGpt.md
@@ -1,22 +1,22 @@
# Overview
-This module allows Prebid.js to support FLEDGE by integrating it with GPT's [experimental FLEDGE
+This module allows Prebid.js to support PAAPI by integrating it with GPT's [experimental PAAPI
support](https://github.com/google/ads-privacy/tree/master/proposals/fledge-multiple-seller-testing).
-To learn more about FLEDGE in general, go [here](https://github.com/WICG/turtledove/blob/main/FLEDGE.md).
+To learn more about PAAPI in general, go [here](https://github.com/WICG/turtledove/blob/main/PAAPI.md).
-This document covers the steps necessary for publishers to enable FLEDGE on their inventory. It also describes
-the changes Bid Adapters need to implement in order to support FLEDGE.
+This document covers the steps necessary for publishers to enable PAAPI on their inventory. It also describes
+the changes Bid Adapters need to implement in order to support PAAPI.
## Publisher Integration
-Publishers wishing to enable FLEDGE support must do two things. First, they must compile Prebid.js with support for this module.
-This is accomplished by adding the `fledgeForGpt` module to the list of modules they are already using:
+Publishers wishing to enable PAAPI support must do two things. First, they must compile Prebid.js with support for this module.
+This is accomplished by adding the `paapiForGpt` module to the list of modules they are already using:
```
-gulp build --modules=fledgeForGpt,...
+gulp build --modules=paapiForGpt,...
```
-Second, they must enable FLEDGE in their Prebid.js configuration.
-This is done through module level configuration, but to provide a high degree of flexiblity for testing, FLEDGE settings also exist at the bidder level and slot level.
+Second, they must enable PAAPI in their Prebid.js configuration.
+This is done through module level configuration, but to provide a high degree of flexiblity for testing, PAAPI settings also exist the slot level.
### Module Configuration
This module exposes the following settings:
@@ -27,14 +27,13 @@ This module exposes the following settings:
|bidders | Array[String] |Optional list of bidders |Defaults to all bidders |
|defaultForSlots | Number |Default value for `imp.ext.ae` in requests for specified bidders |Should be 1 |
-As noted above, FLEDGE support is disabled by default. To enable it, set the `enabled` value to `true` for this module and configure `defaultForSlots` to be `1` (meaning _Client-side auction_).
-using the `setConfig` method of Prebid.js. Optionally, a list of
-bidders to apply these settings to may be provided:
+As noted above, PAAPI support is disabled by default. To enable it, set the `enabled` value to `true` for this module and configure `defaultForSlots` to be `1` (meaning _Client-side auction_).
+using the `setConfig` method of Prebid.js. Optionally, a list of bidders to apply these settings to may be provided:
```js
pbjs.que.push(function() {
pbjs.setConfig({
- fledgeForGpt: {
+ paapi: {
enabled: true,
bidders: ['openx', 'rtbhouse'],
defaultForSlots: 1
@@ -43,35 +42,14 @@ pbjs.que.push(function() {
});
```
-### Bidder Configuration
-This module adds the following setting for bidders:
-
-|Name |Type |Description |Notes |
-| :------------ | :------------ | :------------ |:------------ |
-| fledgeEnabled | Boolean | Enable/disable a bidder to participate in FLEDGE | Defaults to `false` |
-|defaultForSlots | Number |Default value for `imp.ext.ae` in requests for specified bidders |Should be 1|
-
-Individual bidders may be further included or excluded here using the `setBidderConfig` method
-of Prebid.js:
-
-```js
-pbjs.setBidderConfig({
- bidders: ["openx"],
- config: {
- fledgeEnabled: true,
- defaultForSlots: 1
- }
-});
-```
-
### AdUnit Configuration
-All adunits can be opted-in to FLEDGE in the global config via the `defaultForSlots` parameter.
+All adunits can be opted-in to PAAPI in the global config via the `defaultForSlots` parameter.
If needed, adunits can be configured individually by setting an attribute of the `ortb2Imp` object for that
adunit. This attribute will take precedence over `defaultForSlots` setting.
|Name |Type |Description |Notes |
| :------------ | :------------ | :------------ |:------------ |
-| ortb2Imp.ext.ae | Integer | Auction Environment: 1 indicates FLEDGE eligible, 0 indicates it is not | Absence indicates this is not FLEDGE eligible |
+| ortb2Imp.ext.ae | Integer | Auction Environment: 1 indicates PAAPI eligible, 0 indicates it is not | Absence indicates this is not PAAPI eligible |
The `ae` field stands for Auction Environment and was chosen to be consistent with the field that GAM passes to bidders
in their Open Bidding and Exchange Bidding APIs. More details on that can be found
@@ -91,31 +69,31 @@ pbjs.addAdUnits({
```
## Bid Adapter Integration
-Chrome has enabled a two-tier auction in FLEDGE. This allows multiple sellers (frequently SSPs) to act on behalf of the publisher with
+Chrome has enabled a two-tier auction in PAAPI. This allows multiple sellers (frequently SSPs) to act on behalf of the publisher with
a single entity serving as the final decision maker. In their [current approach](https://github.com/google/ads-privacy/tree/master/proposals/fledge-multiple-seller-testing),
GPT has opted to run the final auction layer while allowing other SSPs/sellers to participate as
-[Component Auctions](https://github.com/WICG/turtledove/blob/main/FLEDGE.md#21-initiating-an-on-device-auction) which feed their
-bids to the final layer. To learn more about Component Auctions, go [here](https://github.com/WICG/turtledove/blob/main/FLEDGE.md#24-scoring-bids-in-component-auctions).
+[Component Auctions](https://github.com/WICG/turtledove/blob/main/PAAPI.md#21-initiating-an-on-device-auction) which feed their
+bids to the final layer. To learn more about Component Auctions, go [here](https://github.com/WICG/turtledove/blob/main/PAAPI.md#24-scoring-bids-in-component-auctions).
-The FLEDGE auction, including Component Auctions, are configured via an `AuctionConfig` object that defines the parameters of the auction for a given
-seller. This module enables FLEDGE support by allowing bid adaptors to return `AuctionConfig` objects in addition to bids. If a bid adaptor returns an
+The PAAPI auction, including Component Auctions, are configured via an `AuctionConfig` object that defines the parameters of the auction for a given
+seller. This module enables PAAPI support by allowing bid adaptors to return `AuctionConfig` objects in addition to bids. If a bid adaptor returns an
`AuctionConfig` object, Prebid.js will register it with the appropriate GPT ad slot so the bidder can participate as a Component Auction in the overall
-FLEDGE auction for that slot. More details on the GPT API can be found [here](https://developers.google.com/publisher-tag/reference#googletag.config.componentauctionconfig).
+PAAPI auction for that slot. More details on the GPT API can be found [here](https://developers.google.com/publisher-tag/reference#googletag.config.componentauctionconfig).
-Modifying a bid adapter to support FLEDGE is a straightforward process and consists of the following steps:
-1. Detecting when a bid request is FLEDGE eligible
+Modifying a bid adapter to support PAAPI is a straightforward process and consists of the following steps:
+1. Detecting when a bid request is PAAPI eligible
2. Responding with AuctionConfig
-FLEDGE eligibility is made available to bid adapters through the `bidderRequest.fledgeEnabled` field.
+PAAPI eligibility is made available to bid adapters through the `bidderRequest.paapi.enabled` field.
The [`bidderRequest`](https://docs.prebid.org/dev-docs/bidder-adaptor.html#bidderrequest-parameters) object is passed to
the [`buildRequests`](https://docs.prebid.org/dev-docs/bidder-adaptor.html#building-the-request) method of an adapter. Bid adapters
-who wish to participate should read this flag and pass it to their server. FLEDGE eligibility depends on a number of parameters:
+who wish to participate should read this flag and pass it to their server. PAAPI eligibility depends on a number of parameters:
1. Chrome enablement
2. Publisher participatipon in the [Origin Trial](https://developer.chrome.com/docs/privacy-sandbox/unified-origin-trial/#configure)
3. Publisher Prebid.js configuration (detailed above)
-When a bid request is FLEDGE enabled, a bid adapter can return a tuple consisting of bids and AuctionConfig objects rather than just a list of bids:
+When a bid request is PAAPI enabled, a bid adapter can return a tuple consisting of bids and AuctionConfig objects rather than just a list of bids:
```js
function interpretResponse(resp, req) {
@@ -138,8 +116,8 @@ An AuctionConfig must be associated with an adunit and auction, and this is acco
`validBidRequests` array passed to the `buildRequests` function - see [here](https://docs.prebid.org/dev-docs/bidder-adaptor.html#ad-unit-params-in-the-validbidrequests-array)
for more details. This means that the AuctionConfig objects returned from `interpretResponse` must contain a `bidId` field whose value corresponds to
the request it should be associated with. This may raise the question: why isn't the AuctionConfig object returned as part of the bid? The
-answer is that it's possible to participate in the FLEDGE auction without returning a contextual bid.
+answer is that it's possible to participate in the PAAPI auction without returning a contextual bid.
An example of this can be seen in the OpenX OpenRTB bid adapter [here](https://github.com/prebid/Prebid.js/blob/master/modules/openxOrtbBidAdapter.js#L327).
-Other than the addition of the `bidId` field, the AuctionConfig object should adhere to the requirements set forth in FLEDGE. The details of creating an AuctionConfig object are beyond the scope of this document.
+Other than the addition of the `bidId` field, the AuctionConfig object should adhere to the requirements set forth in PAAPI. The details of creating an AuctionConfig object are beyond the scope of this document.
diff --git a/modules/parrableIdSystem.js b/modules/parrableIdSystem.js
deleted file mode 100644
index 5651bdf0434..00000000000
--- a/modules/parrableIdSystem.js
+++ /dev/null
@@ -1,416 +0,0 @@
-/**
- * This module adds Parrable to the User ID module
- * The {@link module:modules/userId} module is required
- * @module modules/parrableIdSystem
- * @requires module:modules/userId
- */
-
-// ci trigger: 1
-
-import {
- contains,
- deepClone,
- inIframe,
- isEmpty,
- isPlainObject,
- logError,
- logWarn,
- pick,
- timestamp
-} from '../src/utils.js';
-import {find} from '../src/polyfill.js';
-import {ajax} from '../src/ajax.js';
-import {submodule} from '../src/hook.js';
-import {getRefererInfo} from '../src/refererDetection.js';
-import {uspDataHandler} from '../src/adapterManager.js';
-import {getStorageManager} from '../src/storageManager.js';
-import {MODULE_TYPE_UID} from '../src/activities/modules.js';
-
-/**
- * @typedef {import('../modules/userId/index.js').Submodule} Submodule
- * @typedef {import('../modules/userId/index.js').SubmoduleConfig} SubmoduleConfig
- * @typedef {import('../modules/userId/index.js').ConsentData} ConsentData
- */
-
-const PARRABLE_URL = 'https://h.parrable.com/prebid';
-const PARRABLE_COOKIE_NAME = '_parrable_id';
-const PARRABLE_GVLID = 928;
-const LEGACY_ID_COOKIE_NAME = '_parrable_eid';
-const LEGACY_OPTOUT_COOKIE_NAME = '_parrable_optout';
-const ONE_YEAR_MS = 364 * 24 * 60 * 60 * 1000;
-const EXPIRE_COOKIE_DATE = 'Thu, 01 Jan 1970 00:00:00 GMT';
-const MODULE_NAME = 'parrableId';
-
-const storage = getStorageManager({moduleType: MODULE_TYPE_UID, moduleName: MODULE_NAME});
-
-function getExpirationDate() {
- const oneYearFromNow = new Date(timestamp() + ONE_YEAR_MS);
- return oneYearFromNow.toGMTString();
-}
-
-function deserializeParrableId(parrableIdStr) {
- const parrableId = {};
- const values = parrableIdStr.split(',');
-
- values.forEach(function(value) {
- const pair = value.split(':');
- if (pair[0] === 'ccpaOptout' || pair[0] === 'ibaOptout') { // unpack a value of 0 or 1 as boolean
- parrableId[pair[0]] = Boolean(+pair[1]);
- } else if (!isNaN(pair[1])) { // convert to number if is a number
- parrableId[pair[0]] = +pair[1]
- } else {
- parrableId[pair[0]] = pair[1]
- }
- });
-
- return parrableId;
-}
-
-function serializeParrableId(parrableIdAndParams) {
- let components = [];
-
- if (parrableIdAndParams.eid) {
- components.push('eid:' + parrableIdAndParams.eid);
- }
- if (parrableIdAndParams.ibaOptout) {
- components.push('ibaOptout:1');
- }
- if (parrableIdAndParams.ccpaOptout) {
- components.push('ccpaOptout:1');
- }
- if (parrableIdAndParams.tpcSupport !== undefined) {
- const tpcSupportComponent = parrableIdAndParams.tpcSupport === true ? 'tpc:1' : 'tpc:0';
- const tpcUntil = `tpcUntil:${parrableIdAndParams.tpcUntil}`;
- components.push(tpcSupportComponent);
- components.push(tpcUntil);
- }
- if (parrableIdAndParams.filteredUntil) {
- components.push(`filteredUntil:${parrableIdAndParams.filteredUntil}`);
- components.push(`filterHits:${parrableIdAndParams.filterHits}`);
- }
-
- return components.join(',');
-}
-
-function isValidConfig(configParams) {
- if (!configParams) {
- logError('User ID - parrableId submodule requires configParams');
- return false;
- }
- if (!configParams.partners && !configParams.partner) {
- logError('User ID - parrableId submodule requires partner list');
- return false;
- }
- if (configParams.storage) {
- logWarn('User ID - parrableId submodule does not require a storage config');
- }
- return true;
-}
-
-function encodeBase64UrlSafe(base64) {
- const ENC = {
- '+': '-',
- '/': '_',
- '=': '.'
- };
- return base64.replace(/[+/=]/g, (m) => ENC[m]);
-}
-
-function readCookie() {
- const parrableIdStr = storage.getCookie(PARRABLE_COOKIE_NAME);
- if (parrableIdStr) {
- const parsedCookie = deserializeParrableId(decodeURIComponent(parrableIdStr));
- const { tpc, tpcUntil, filteredUntil, filterHits, ...parrableId } = parsedCookie;
- let { eid, ibaOptout, ccpaOptout, ...params } = parsedCookie;
-
- if ((Date.now() / 1000) >= tpcUntil) {
- params.tpc = undefined;
- }
-
- if ((Date.now() / 1000) < filteredUntil) {
- params.shouldFilter = true;
- params.filteredUntil = filteredUntil;
- } else {
- params.shouldFilter = false;
- params.filterHits = filterHits;
- }
- return { parrableId, params };
- }
- return null;
-}
-
-function writeCookie(parrableIdAndParams) {
- if (parrableIdAndParams) {
- const parrableIdStr = encodeURIComponent(serializeParrableId(parrableIdAndParams));
- storage.setCookie(PARRABLE_COOKIE_NAME, parrableIdStr, getExpirationDate(), 'lax');
- }
-}
-
-function readLegacyCookies() {
- const eid = storage.getCookie(LEGACY_ID_COOKIE_NAME);
- const ibaOptout = (storage.getCookie(LEGACY_OPTOUT_COOKIE_NAME) === 'true');
- if (eid || ibaOptout) {
- const parrableId = {};
- if (eid) {
- parrableId.eid = eid;
- }
- if (ibaOptout) {
- parrableId.ibaOptout = ibaOptout;
- }
- return parrableId;
- }
- return null;
-}
-
-function migrateLegacyCookies(parrableId) {
- if (parrableId) {
- writeCookie(parrableId);
- if (parrableId.eid) {
- storage.setCookie(LEGACY_ID_COOKIE_NAME, '', EXPIRE_COOKIE_DATE);
- }
- if (parrableId.ibaOptout) {
- storage.setCookie(LEGACY_OPTOUT_COOKIE_NAME, '', EXPIRE_COOKIE_DATE);
- }
- }
-}
-
-function shouldFilterImpression(configParams, parrableId) {
- const config = configParams.timezoneFilter;
-
- if (!config) {
- return false;
- }
-
- if (parrableId) {
- return false;
- }
-
- const offset = (new Date()).getTimezoneOffset() / 60;
- const zone = Intl.DateTimeFormat().resolvedOptions().timeZone;
-
- function isZoneListed(list, zone) {
- // IE does not provide a timeZone in IANA format so zone will be empty
- const zoneLowercase = zone && zone.toLowerCase();
- return !!(list && zone && find(list, zn => zn.toLowerCase() === zoneLowercase));
- }
-
- function isAllowed() {
- if (isEmpty(config.allowedZones) &&
- isEmpty(config.allowedOffsets)) {
- return true;
- }
- if (isZoneListed(config.allowedZones, zone)) {
- return true;
- }
- if (contains(config.allowedOffsets, offset)) {
- return true;
- }
- return false;
- }
-
- function isBlocked() {
- if (isEmpty(config.blockedZones) &&
- isEmpty(config.blockedOffsets)) {
- return false;
- }
- if (isZoneListed(config.blockedZones, zone)) {
- return true;
- }
- if (contains(config.blockedOffsets, offset)) {
- return true;
- }
- return false;
- }
-
- return isBlocked() || !isAllowed();
-}
-
-function epochFromTtl(ttl) {
- return Math.floor((Date.now() / 1000) + ttl);
-}
-
-function incrementFilterHits(parrableId, params) {
- params.filterHits += 1;
- writeCookie({ ...parrableId, ...params })
-}
-
-function fetchId(configParams, gdprConsentData) {
- if (!isValidConfig(configParams)) return;
-
- let { parrableId, params } = readCookie() || {};
- if (!parrableId) {
- parrableId = readLegacyCookies();
- migrateLegacyCookies(parrableId);
- }
-
- if (shouldFilterImpression(configParams, parrableId)) {
- return null;
- }
-
- const eid = parrableId ? parrableId.eid : null;
- const refererInfo = getRefererInfo();
- const tpcSupport = params ? params.tpc : null;
- const shouldFilter = params ? params.shouldFilter : null;
- const uspString = uspDataHandler.getConsentData();
- const gdprApplies = (gdprConsentData && typeof gdprConsentData.gdprApplies === 'boolean' && gdprConsentData.gdprApplies);
- const gdprConsentString = (gdprConsentData && gdprApplies && gdprConsentData.consentString) || '';
- const partners = configParams.partners || configParams.partner;
- const trackers = typeof partners === 'string'
- ? partners.split(',')
- : partners;
-
- const data = {
- eid,
- trackers,
- url: refererInfo.page,
- prebidVersion: '$prebid.version$',
- isIframe: inIframe(),
- tpcSupport
- };
-
- if (shouldFilter === false) {
- data.filterHits = params.filterHits;
- }
-
- const searchParams = {
- data: encodeBase64UrlSafe(btoa(JSON.stringify(data))),
- gdpr: gdprApplies ? 1 : 0,
- _rand: Math.random()
- };
-
- if (uspString) {
- searchParams.us_privacy = uspString;
- }
-
- if (gdprApplies) {
- searchParams.gdpr_consent = gdprConsentString;
- }
-
- const options = {
- method: 'GET',
- withCredentials: true
- };
-
- const callback = function (cb) {
- const callbacks = {
- success: response => {
- let newParrableId = parrableId ? deepClone(parrableId) : {};
- let newParams = {};
- if (response) {
- try {
- let responseObj = JSON.parse(response);
- if (responseObj) {
- if (responseObj.ccpaOptout !== true) {
- newParrableId.eid = responseObj.eid;
- } else {
- newParrableId.eid = null;
- newParrableId.ccpaOptout = true;
- }
- if (responseObj.ibaOptout === true) {
- newParrableId.ibaOptout = true;
- }
- if (responseObj.tpcSupport !== undefined) {
- newParams.tpcSupport = responseObj.tpcSupport;
- newParams.tpcUntil = epochFromTtl(responseObj.tpcSupportTtl);
- }
- if (responseObj.filterTtl) {
- newParams.filteredUntil = epochFromTtl(responseObj.filterTtl);
- newParams.filterHits = 0;
- }
- }
- } catch (error) {
- logError(error);
- cb();
- }
- writeCookie({ ...newParrableId, ...newParams });
- cb(newParrableId);
- } else {
- logError('parrableId: ID fetch returned an empty result');
- cb();
- }
- },
- error: error => {
- logError(`parrableId: ID fetch encountered an error`, error);
- cb();
- }
- };
-
- if (shouldFilter) {
- incrementFilterHits(parrableId, params);
- } else {
- ajax(PARRABLE_URL, callbacks, searchParams, options);
- }
- };
-
- return {
- callback,
- id: parrableId
- };
-}
-
-/** @type {Submodule} */
-export const parrableIdSubmodule = {
- /**
- * used to link submodule with config
- * @type {string}
- */
- name: MODULE_NAME,
- /**
- * Global Vendor List ID
- * @type {number}
- */
- gvlid: PARRABLE_GVLID,
-
- /**
- * decode the stored id value for passing to bid requests
- * @function
- * @param {ParrableId} parrableId
- * @return {(Object|undefined}
- */
- decode(parrableId) {
- if (parrableId && isPlainObject(parrableId)) {
- return { parrableId };
- }
- return undefined;
- },
-
- /**
- * performs action to obtain id and return a value in the callback's response argument
- * @function
- * @param {SubmoduleConfig} [config]
- * @param {ConsentData} [consentData]
- * @returns {function(callback:function), id:ParrableId}
- */
- getId(config, gdprConsentData, currentStoredId) {
- const configParams = (config && config.params) || {};
- return fetchId(configParams, gdprConsentData);
- },
- eids: {
- 'parrableId': {
- source: 'parrable.com',
- atype: 1,
- getValue: function(parrableId) {
- if (parrableId.eid) {
- return parrableId.eid;
- }
- if (parrableId.ccpaOptout) {
- // If the EID was suppressed due to a non consenting ccpa optout then
- // we still wish to provide this as a reason to the adapters
- return '';
- }
- return null;
- },
- getUidExt: function(parrableId) {
- const extendedData = pick(parrableId, [
- 'ibaOptout',
- 'ccpaOptout'
- ]);
- if (Object.keys(extendedData).length) {
- return extendedData;
- }
- }
- },
- },
-};
-
-submodule('userId', parrableIdSubmodule);
diff --git a/modules/pgamsspBidAdapter.js b/modules/pgamsspBidAdapter.js
index fdc6bcf302f..0304c325c33 100644
--- a/modules/pgamsspBidAdapter.js
+++ b/modules/pgamsspBidAdapter.js
@@ -64,6 +64,7 @@ function getPlacementReqData(bid) {
placement.protocols = mediaTypes[VIDEO].protocols;
placement.startdelay = mediaTypes[VIDEO].startdelay;
placement.placement = mediaTypes[VIDEO].placement;
+ placement.plcmt = mediaTypes[VIDEO].plcmt;
placement.skip = mediaTypes[VIDEO].skip;
placement.skipafter = mediaTypes[VIDEO].skipafter;
placement.minbitrate = mediaTypes[VIDEO].minbitrate;
diff --git a/modules/pirIdSystem.js b/modules/pirIdSystem.js
deleted file mode 100644
index 233176028d3..00000000000
--- a/modules/pirIdSystem.js
+++ /dev/null
@@ -1,62 +0,0 @@
-/**
- * This module adds pirId to the User ID module
- * The {@link module:modules/userId} module is required
- * @module modules/pirId
- * @requires module:modules/userId
- */
-
-import { MODULE_TYPE_UID } from '../src/activities/modules.js';
-import { getStorageManager } from '../src/storageManager.js';
-import { submodule } from '../src/hook.js';
-import {domainOverrideToRootDomain} from '../libraries/domainOverrideToRootDomain/index.js';
-
-/**
- * @typedef {import('../modules/userId/index.js').Submodule} Submodule
- * @typedef {import('../modules/userId/index.js').IdResponse} IdResponse
- */
-
-const MODULE_NAME = 'pirId';
-const ID_TOKEN = 'WPxid';
-export const storage = getStorageManager({ moduleName: MODULE_NAME, moduleType: MODULE_TYPE_UID });
-
-/**
- * Reads the ID token from local storage or cookies.
- * @returns {string|undefined} The ID token, or undefined if not found.
- */
-export const readId = () => storage.getDataFromLocalStorage(ID_TOKEN) || storage.getCookie(ID_TOKEN);
-
-/** @type {Submodule} */
-export const pirIdSubmodule = {
- name: MODULE_NAME,
- gvlid: 676,
-
- /**
- * decode the stored id value for passing to bid requests
- * @function decode
- * @param {string} value
- * @returns {(Object|undefined)}
- */
- decode(value) {
- return typeof value === 'string' ? { 'pirId': value } : undefined;
- },
-
- /**
- * performs action to obtain id and return a value
- * @function
- * @returns {(IdResponse|undefined)}
- */
- getId() {
- const pirIdToken = readId();
-
- return pirIdToken ? { id: pirIdToken } : undefined;
- },
- domainOverride: domainOverrideToRootDomain(storage, MODULE_NAME),
- eids: {
- 'pirId': {
- source: 'pir.wp.pl',
- atype: 1
- },
- },
-};
-
-submodule('userId', pirIdSubmodule);
diff --git a/modules/pirIdSystem.md b/modules/pirIdSystem.md
deleted file mode 100644
index 913804f85c4..00000000000
--- a/modules/pirIdSystem.md
+++ /dev/null
@@ -1,27 +0,0 @@
-# Overview
-
-Module Name: pirIDSystem
-Module Type: UserID Module
-Maintainer: pawel.grudzien@grupawp.pl
-
-# Description
-
-User identification system for WPM
-
-### Prebid Params example
-
-```
-pbjs.setConfig({
- userSync: {
- userIds: [{
- name: 'pirID',
- storage: {
- type: 'cookie',
- name: 'pirIdToken',
- expires: 7,
- refreshInSeconds: 360
- },
- }]
- }
-});
-```
diff --git a/modules/pixfutureBidAdapter.js b/modules/pixfutureBidAdapter.js
index 1c3f9b8da1a..60a10621d97 100644
--- a/modules/pixfutureBidAdapter.js
+++ b/modules/pixfutureBidAdapter.js
@@ -277,7 +277,7 @@ function bidToTag(bid) {
}
tag.keywords = getANKeywordParam(bid.ortb2, bid.params.keywords)
- let gpid = deepAccess(bid, 'ortb2Imp.ext.data.pbadslot');
+ let gpid = deepAccess(bid, 'ortb2Imp.ext.gpid') || deepAccess(bid, 'ortb2Imp.ext.data.pbadslot');
if (gpid) {
tag.gpid = gpid;
}
diff --git a/modules/prebidServerBidAdapter/config.js b/modules/prebidServerBidAdapter/config.js
index 87274504f64..a1bad2d69ba 100644
--- a/modules/prebidServerBidAdapter/config.js
+++ b/modules/prebidServerBidAdapter/config.js
@@ -11,7 +11,7 @@ export const S2S_VENDORS = {
p1Consent: 'https://prebid.adnxs.com/pbs/v1/cookie_sync',
noP1Consent: 'https://prebid.adnxs-simple.com/pbs/v1/cookie_sync'
},
- timeout: 1000
+ maxTimeout: 1000
},
'rubicon': {
adapter: 'prebidServer',
@@ -24,7 +24,7 @@ export const S2S_VENDORS = {
p1Consent: 'https://prebid-server.rubiconproject.com/cookie_sync',
noP1Consent: 'https://prebid-server.rubiconproject.com/cookie_sync',
},
- timeout: 500
+ maxTimeout: 500
},
'openx': {
adapter: 'prebidServer',
@@ -37,7 +37,7 @@ export const S2S_VENDORS = {
p1Consent: 'https://prebid.openx.net/cookie_sync',
noP1Consent: 'https://prebid.openx.net/cookie_sync'
},
- timeout: 1000
+ maxTimeout: 1000
},
'openwrap': {
adapter: 'prebidServer',
@@ -46,6 +46,6 @@ export const S2S_VENDORS = {
p1Consent: 'https://ow.pubmatic.com/openrtb2/auction?source=pbjs',
noP1Consent: 'https://ow.pubmatic.com/openrtb2/auction?source=pbjs'
},
- timeout: 500
+ maxTimeout: 500
}
}
diff --git a/modules/prebidServerBidAdapter/index.js b/modules/prebidServerBidAdapter/index.js
index 8c5b89b5794..168758763e8 100644
--- a/modules/prebidServerBidAdapter/index.js
+++ b/modules/prebidServerBidAdapter/index.js
@@ -82,6 +82,7 @@ let eidPermissions;
* @property {string} [syncEndpoint] endpoint URL for syncing cookies
* @property {Object} [extPrebid] properties will be merged into request.ext.prebid
* @property {Object} [ortbNative] base value for imp.native.request
+ * @property {Number} [maxTimeout]
*/
/**
@@ -89,7 +90,6 @@ let eidPermissions;
*/
export const s2sDefaultConfig = {
bidders: Object.freeze([]),
- timeout: 1000,
syncTimeout: 1000,
maxBids: 1,
adapter: 'prebidServer',
@@ -100,7 +100,8 @@ export const s2sDefaultConfig = {
eventtrackers: [
{event: 1, methods: [1, 2]}
],
- }
+ },
+ maxTimeout: 1500
};
config.setDefaults({
@@ -559,10 +560,10 @@ export const processPBSRequest = hook('sync', function (s2sBidRequest, bidReques
let result;
try {
result = JSON.parse(response);
- const {bids, fledgeAuctionConfigs} = s2sBidRequest.metrics.measureTime('interpretResponse', () => interpretPBSResponse(result, request));
+ const {bids, paapi} = s2sBidRequest.metrics.measureTime('interpretResponse', () => interpretPBSResponse(result, request));
bids.forEach(onBid);
- if (fledgeAuctionConfigs) {
- fledgeAuctionConfigs.forEach(onFledge);
+ if (paapi) {
+ paapi.forEach(onFledge);
}
} catch (error) {
logError(error);
diff --git a/modules/prebidServerBidAdapter/ortbConverter.js b/modules/prebidServerBidAdapter/ortbConverter.js
index d445a52dcc6..bb033271b3c 100644
--- a/modules/prebidServerBidAdapter/ortbConverter.js
+++ b/modules/prebidServerBidAdapter/ortbConverter.js
@@ -25,6 +25,7 @@ import {isActivityAllowed} from '../../src/activities/rules.js';
import {ACTIVITY_TRANSMIT_TID} from '../../src/activities/activities.js';
import {currencyCompare} from '../../libraries/currencyUtils/currency.js';
import {minimum} from '../../src/utils/reducers.js';
+import {s2sDefaultConfig} from './index.js';
const DEFAULT_S2S_TTL = 60;
const DEFAULT_S2S_CURRENCY = 'USD';
@@ -57,8 +58,8 @@ const PBS_CONVERTER = ortbConverter({
let {s2sBidRequest, requestedBidders, eidPermissions} = context;
const request = buildRequest(imps, proxyBidderRequest, context);
- request.tmax = s2sBidRequest.s2sConfig.timeout;
- request.ext.tmaxmax = request.ext.tmaxmax || context.s2sBidRequest.requestBidsTimeout;
+ request.tmax = s2sBidRequest.s2sConfig.timeout ?? Math.min(s2sBidRequest.requestBidsTimeout * 0.75, s2sBidRequest.s2sConfig.maxTimeout ?? s2sDefaultConfig.maxTimeout);
+ request.ext.tmaxmax = request.ext.tmaxmax || s2sBidRequest.requestBidsTimeout;
[request.app, request.dooh, request.site].forEach(section => {
if (section && !section.publisher?.id) {
@@ -231,7 +232,7 @@ const PBS_CONVERTER = ortbConverter({
// override to process each request
context.actualBidderRequests.forEach(req => orig(response, ortbResponse, {...context, bidderRequest: req, bidRequests: req.bids}));
},
- fledgeAuctionConfigs(orig, response, ortbResponse, context) {
+ paapiConfigs(orig, response, ortbResponse, context) {
const configs = Object.values(context.impContext)
.flatMap((impCtx) => (impCtx.paapiConfigs || []).map(cfg => {
const bidderReq = impCtx.actualBidderRequests.find(br => br.bidderCode === cfg.bidder);
@@ -244,7 +245,7 @@ const PBS_CONVERTER = ortbConverter({
};
}));
if (configs.length > 0) {
- response.fledgeAuctionConfigs = configs;
+ response.paapi = configs;
}
}
}
@@ -300,7 +301,9 @@ export function buildPBSRequest(s2sBidRequest, bidderRequests, adUnits, requeste
const proxyBidderRequest = {
...Object.fromEntries(Object.entries(bidderRequests[0]).filter(([k]) => !BIDDER_SPECIFIC_REQUEST_PROPS.has(k))),
- fledgeEnabled: bidderRequests.some(req => req.fledgeEnabled)
+ paapi: {
+ enabled: bidderRequests.some(br => br.paapi?.enabled)
+ }
}
return PBS_CONVERTER.toORTB({
diff --git a/modules/prebidmanagerAnalyticsAdapter.md b/modules/prebidmanagerAnalyticsAdapter.md
deleted file mode 100644
index 030e79b406f..00000000000
--- a/modules/prebidmanagerAnalyticsAdapter.md
+++ /dev/null
@@ -1,9 +0,0 @@
-# Overview
-
-Module Name: Prebid Manager Analytics Adapter
-Module Type: Analytics Adapter
-Maintainer: admin@prebidmanager.com
-
-# Description
-
-Analytics adapter for Prebid Manager. Contact admin@prebidmanager.com for information.
diff --git a/modules/precisoBidAdapter.js b/modules/precisoBidAdapter.js
index 9125f6f3911..b4f1b665d91 100644
--- a/modules/precisoBidAdapter.js
+++ b/modules/precisoBidAdapter.js
@@ -1,4 +1,4 @@
-import { logMessage, isFn, deepAccess, logInfo } from '../src/utils.js';
+import { isFn, deepAccess, logInfo } from '../src/utils.js';
import { registerBidder } from '../src/adapters/bidderFactory.js';
import { BANNER, NATIVE, VIDEO } from '../src/mediaTypes.js';
import { config } from '../src/config.js';
@@ -34,14 +34,7 @@ export const spec = {
const countryCode = getCountryCodeByTimezone(city);
logInfo(`The country code for ${city} is ${countryCode}`);
- // TODO: this odd try-catch block was copied in several adapters; it doesn't seem to be correct for cross-origin
- try {
- location = new URL(bidderRequest.refererInfo.page)
- winTop = window.top;
- } catch (e) {
- location = winTop.location;
- logMessage(e);
- };
+ location = bidderRequest?.refererInfo ?? null;
let request = {
id: validBidRequests[0].bidderRequestId,
@@ -87,8 +80,8 @@ export const spec = {
// Show a map centered at latitude / longitude.
}) || { utcoffset: new Date().getTimezoneOffset() },
city: city,
- 'host': location.host,
- 'page': location.pathname,
+ 'host': location?.domain ?? '',
+ 'page': location?.page ?? '',
'coppa': config.getConfig('coppa') === true ? 1 : 0
// userId: validBidRequests[0].userId
};
diff --git a/modules/pstudioBidAdapter.js b/modules/pstudioBidAdapter.js
index 77a11ac58c6..1265d5c546f 100644
--- a/modules/pstudioBidAdapter.js
+++ b/modules/pstudioBidAdapter.js
@@ -14,8 +14,8 @@ import { getStorageManager } from '../src/storageManager.js';
const BIDDER_CODE = 'pstudio';
const ENDPOINT = 'https://exchange.pstudio.tadex.id/prebid-bid'
const TIME_TO_LIVE = 300;
-// in case that the publisher limits number of user syncs, thisse syncs will be discarded from the end of the list
-// so more improtant syncing calls should be at the start of the list
+// in case that the publisher limits number of user syncs, these syncs will be discarded from the end of the list
+// so more important syncing calls should be at the start of the list
const USER_SYNCS = [
// PARTNER_UID is a partner user id
{
@@ -40,6 +40,7 @@ const VIDEO_PARAMS = [
'protocols',
'startdelay',
'placement',
+ 'plcmt',
'skip',
'skipafter',
'minbitrate',
diff --git a/modules/pubCircleBidAdapter.js b/modules/pubCircleBidAdapter.js
index 54224fd0403..db435d5fa4f 100644
--- a/modules/pubCircleBidAdapter.js
+++ b/modules/pubCircleBidAdapter.js
@@ -60,6 +60,7 @@ function getPlacementReqData(bid) {
placement.protocols = mediaTypes[VIDEO].protocols;
placement.startdelay = mediaTypes[VIDEO].startdelay;
placement.placement = mediaTypes[VIDEO].placement;
+ placement.plcmt = mediaTypes[VIDEO].plcmt;
placement.skip = mediaTypes[VIDEO].skip;
placement.skipafter = mediaTypes[VIDEO].skipafter;
placement.minbitrate = mediaTypes[VIDEO].minbitrate;
diff --git a/modules/pubgeniusBidAdapter.js b/modules/pubgeniusBidAdapter.js
index d92a9352cee..617123746e5 100644
--- a/modules/pubgeniusBidAdapter.js
+++ b/modules/pubgeniusBidAdapter.js
@@ -155,7 +155,7 @@ function buildVideoParams(videoMediaType, videoParams) {
'maxduration',
'protocols',
'startdelay',
- 'placement',
+ 'plcmt',
'skip',
'skipafter',
'minbitrate',
@@ -166,17 +166,6 @@ function buildVideoParams(videoMediaType, videoParams) {
'linearity',
]);
- switch (videoMediaType.context) {
- case 'instream':
- params.placement = 1;
- break;
- case 'outstream':
- params.placement = 2;
- break;
- default:
- break;
- }
-
if (videoMediaType.playerSize) {
params.w = videoMediaType.playerSize[0][0];
params.h = videoMediaType.playerSize[0][1];
@@ -301,8 +290,7 @@ function isValidBanner(banner) {
function isValidVideo(videoMediaType, videoParams) {
const params = buildVideoParams(videoMediaType, videoParams);
- return !!(params.placement &&
- isValidSize([params.w, params.h]) &&
+ return !!(isValidSize([params.w, params.h]) &&
params.mimes && params.mimes.length &&
isArrayOfNums(params.protocols) && params.protocols.length);
}
diff --git a/modules/pubmaticBidAdapter.js b/modules/pubmaticBidAdapter.js
index 5b470fdc34a..5add3fb9be1 100644
--- a/modules/pubmaticBidAdapter.js
+++ b/modules/pubmaticBidAdapter.js
@@ -663,7 +663,7 @@ function _createImpressionObject(bid, bidderRequest) {
var sizes = bid.hasOwnProperty('sizes') ? bid.sizes : [];
var mediaTypes = '';
var format = [];
- var isFledgeEnabled = bidderRequest?.fledgeEnabled;
+ var isFledgeEnabled = bidderRequest?.paapi?.enabled;
impObj = {
id: bid.bidId,
@@ -1094,7 +1094,6 @@ export const spec = {
/**
* Make a server request from the list of BidRequests.
*
- * @param {validBidRequests} - an array of bids
* @return ServerRequest Info describing the request to the server.
*/
buildRequests: (validBidRequests, bidderRequest) => {
@@ -1419,7 +1418,7 @@ export const spec = {
});
return {
bids: bidResponses,
- fledgeAuctionConfigs,
+ paapi: fledgeAuctionConfigs,
}
}
} catch (error) {
diff --git a/modules/pulsepointBidAdapter.js b/modules/pulsepointBidAdapter.js
index 516254b358b..50747616872 100644
--- a/modules/pulsepointBidAdapter.js
+++ b/modules/pulsepointBidAdapter.js
@@ -1,7 +1,6 @@
import { ortbConverter } from '../libraries/ortbConverter/converter.js';
import {isArray} from '../src/utils.js';
import {registerBidder} from '../src/adapters/bidderFactory.js';
-import {convertTypes} from '../libraries/transformParamsUtils/convertTypes.js';
const DEFAULT_CURRENCY = 'USD';
const KNOWN_PARAMS = ['cp', 'ct', 'cf', 'battr', 'deals'];
@@ -58,13 +57,6 @@ export const spec = {
url: 'https://bh.contextweb.com/visitormatch/prebid'
}];
}
- },
- transformBidParams: function(params) {
- return convertTypes({
- 'cf': 'string',
- 'cp': 'number',
- 'ct': 'number'
- }, params);
}
};
diff --git a/modules/qtBidAdapter.js b/modules/qtBidAdapter.js
index e26aad8f9ec..7616b990ff8 100644
--- a/modules/qtBidAdapter.js
+++ b/modules/qtBidAdapter.js
@@ -1,4 +1,4 @@
-import { logMessage, logError, deepAccess } from '../src/utils.js';
+import { logMessage, deepAccess } from '../src/utils.js';
import { convertOrtbRequestToProprietaryNative } from '../src/native.js';
import { registerBidder } from '../src/adapters/bidderFactory.js';
import { BANNER, NATIVE, VIDEO } from '../src/mediaTypes.js';
@@ -91,7 +91,6 @@ function getBidFloor(bid) {
});
return bidFloor.floor;
} catch (err) {
- logError(err);
return 0;
}
}
diff --git a/modules/quantcastBidAdapter.js b/modules/quantcastBidAdapter.js
index 1ba23302367..ea907f0429c 100644
--- a/modules/quantcastBidAdapter.js
+++ b/modules/quantcastBidAdapter.js
@@ -49,7 +49,6 @@ function makeVideoImp(bid) {
maxbitrate: video.maxbitrate,
playbackmethod: video.playbackmethod,
delivery: video.delivery,
- placement: video.placement,
api: video.api,
w: video.w,
h: video.h
@@ -58,7 +57,7 @@ function makeVideoImp(bid) {
return {
video: videoCopy,
placementCode: bid.placementCode,
- bidFloor: bid.params.bidFloor || DEFAULT_BID_FLOOR
+ bidFloor: DEFAULT_BID_FLOOR
};
}
@@ -76,7 +75,7 @@ function makeBannerImp(bid) {
})
},
placementCode: bid.placementCode,
- bidFloor: bid.params.bidFloor || DEFAULT_BID_FLOOR
+ bidFloor: DEFAULT_BID_FLOOR
};
}
diff --git a/modules/richaudienceBidAdapter.js b/modules/richaudienceBidAdapter.js
deleted file mode 100755
index b63e31266fb..00000000000
--- a/modules/richaudienceBidAdapter.js
+++ /dev/null
@@ -1,378 +0,0 @@
-import {deepAccess, isStr, triggerPixel} from '../src/utils.js';
-import {registerBidder} from '../src/adapters/bidderFactory.js';
-import {config} from '../src/config.js';
-import {BANNER, VIDEO} from '../src/mediaTypes.js';
-import {Renderer} from '../src/Renderer.js';
-import {getAllOrtbKeywords} from '../libraries/keywords/keywords.js';
-
-const BIDDER_CODE = 'richaudience';
-let REFERER = '';
-
-export const spec = {
- code: BIDDER_CODE,
- gvlid: 108,
- aliases: ['ra'],
- supportedMediaTypes: [BANNER, VIDEO],
-
- /***
- * Determines whether or not the given bid request is valid
- *
- * @param {bidRequest} bid The bid params to validate.
- * @returns {boolean} True if this is a valid bid, and false otherwise
- */
- isBidRequestValid: function (bid) {
- return !!(bid.params && bid.params.pid && bid.params.supplyType);
- },
- /***
- * Build a server request from the list of valid BidRequests
- * @param {validBidRequests} is an array of the valid bids
- * @param {bidderRequest} bidder request object
- * @returns {ServerRequest} Info describing the request to the server
- */
- buildRequests: function (validBidRequests, bidderRequest) {
- return validBidRequests.map(bid => {
- var payload = {
- bidfloor: raiGetFloor(bid, config),
- ifa: bid.params.ifa,
- pid: bid.params.pid,
- supplyType: bid.params.supplyType,
- currencyCode: config.getConfig('currency.adServerCurrency'),
- // TODO: fix auctionId leak: https://github.com/prebid/Prebid.js/issues/9781
- auctionId: bid.auctionId,
- bidId: bid.bidId,
- BidRequestsCount: bid.bidRequestsCount,
- bidder: bid.bidder,
- bidderRequestId: bid.bidderRequestId,
- tagId: bid.adUnitCode,
- sizes: raiGetSizes(bid),
- // TODO: is 'page' the right value here?
- referer: (typeof bidderRequest.refererInfo.page != 'undefined' ? encodeURIComponent(bidderRequest.refererInfo.page) : null),
- numIframes: (typeof bidderRequest.refererInfo.numIframes != 'undefined' ? bidderRequest.refererInfo.numIframes : null),
- transactionId: bid.ortb2Imp?.ext?.tid,
- timeout: bidderRequest.timeout || 600,
- user: raiSetEids(bid),
- demand: raiGetDemandType(bid),
- videoData: raiGetVideoInfo(bid),
- scr_rsl: raiGetResolution(),
- cpuc: (typeof window.navigator != 'undefined' ? window.navigator.hardwareConcurrency : null),
- kws: getAllOrtbKeywords(bidderRequest.ortb2, bid.params.keywords).join(','),
- schain: bid.schain,
- gpid: raiSetPbAdSlot(bid)
- };
-
- // TODO: is 'page' the right value here?
- REFERER = (typeof bidderRequest.refererInfo.page != 'undefined' ? encodeURIComponent(bidderRequest.refererInfo.page) : null)
-
- payload.gdpr_consent = '';
- payload.gdpr = false;
-
- if (bidderRequest && bidderRequest.gdprConsent) {
- if (typeof bidderRequest.gdprConsent.gdprApplies != 'undefined') {
- payload.gdpr = bidderRequest.gdprConsent.gdprApplies;
- }
- if (typeof bidderRequest.gdprConsent.consentString != 'undefined') {
- payload.gdpr_consent = bidderRequest.gdprConsent.consentString;
- }
- }
-
- if (bidderRequest?.gppConsent) {
- payload.privacy = {
- gpp: bidderRequest.gppConsent.gppString,
- gpp_sid: bidderRequest.gppConsent.applicableSections
- }
- } else if (bidderRequest?.ortb2?.regs?.gpp) {
- payload.privacy = {
- gpp: bidderRequest.ortb2.regs.gpp,
- gpp_sid: bidderRequest.ortb2.regs.gpp_sid
- }
- }
-
- var payloadString = JSON.stringify(payload);
-
- var endpoint = 'https://shb.richaudience.com/hb/';
-
- return {
- method: 'POST',
- url: endpoint,
- data: payloadString,
- };
- });
- },
- /***
- * Read the response from the server and build a list of bids
- * @param {serverResponse} Response from the server.
- * @param {bidRequest} Bid request object
- * @returns {bidResponses} Array of bids which were nested inside the server
- */
- interpretResponse: function (serverResponse, bidRequest) {
- const bidResponses = [];
- // try catch
- var response = serverResponse.body;
- if (response) {
- var bidResponse = {
- requestId: JSON.parse(bidRequest.data).bidId,
- cpm: response.cpm,
- width: response.width,
- height: response.height,
- creativeId: response.creative_id,
- mediaType: response.media_type,
- netRevenue: response.netRevenue,
- currency: response.currency,
- ttl: response.ttl,
- meta: response.adomain,
- dealId: response.dealId
- };
-
- if (response.media_type === 'video') {
- bidResponse.vastXml = response.vastXML;
- try {
- if (bidResponse.vastXml != null) {
- if (JSON.parse(bidRequest.data).videoData.format == 'outstream' || JSON.parse(bidRequest.data).videoData.format == 'banner') {
- bidResponse.renderer = Renderer.install({
- id: bidRequest.bidId,
- adunitcode: bidRequest.tagId,
- loaded: false,
- config: response.media_type,
- url: 'https://cdn3.richaudience.com/prebidVideo/player.js'
- });
- }
- bidResponse.renderer.setRender(renderer);
- }
- } catch (e) {
- bidResponse.ad = response.adm;
- }
- } else {
- bidResponse.ad = response.adm;
- }
-
- bidResponses.push(bidResponse);
- }
- return bidResponses;
- },
- /***
- * User Syncs
- *
- * @param {syncOptions} Publisher prebid configuration
- * @param {serverResponses} Response from the server
- * @param {gdprConsent} GPDR consent object
- * @returns {Array}
- */
- getUserSyncs: function (syncOptions, responses, gdprConsent, uspConsent, gppConsent) {
- const syncs = [];
-
- var rand = Math.floor(Math.random() * 9999999999);
- var syncUrl = '';
- var consent = '';
- var consentGPP = '';
-
- var raiSync = {};
-
- raiSync = raiGetSyncInclude(config);
-
- if (gdprConsent && typeof gdprConsent.consentString === 'string' && typeof gdprConsent.consentString != 'undefined') {
- consent = `consentString=${gdprConsent.consentString}`
- }
-
- // GPP Consent
- if (gppConsent?.gppString && gppConsent?.applicableSections?.length) {
- consentGPP = 'gpp=' + encodeURIComponent(gppConsent.gppString);
- consentGPP += '&gpp_sid=' + encodeURIComponent(gppConsent?.applicableSections?.join(','));
- }
-
- if (syncOptions.iframeEnabled && raiSync.raiIframe != 'exclude') {
- syncUrl = 'https://sync.richaudience.com/dcf3528a0b8aa83634892d50e91c306e/?ord=' + rand
- if (consent != '') {
- syncUrl += `&${consent}`
- }
- if (consentGPP != '') {
- syncUrl += `&${consentGPP}`
- }
- syncs.push({
- type: 'iframe',
- url: syncUrl
- });
- }
-
- if (syncOptions.pixelEnabled && REFERER != null && syncs.length == 0 && raiSync.raiImage != 'exclude') {
- syncUrl = `https://sync.richaudience.com/bf7c142f4339da0278e83698a02b0854/?referrer=${REFERER}`;
- if (consent != '') {
- syncUrl += `&${consent}`
- }
- if (consentGPP != '') {
- syncUrl += `&${consentGPP}`
- }
- syncs.push({
- type: 'image',
- url: syncUrl
- });
- }
- return syncs
- },
-
- onTimeout: function (data) {
- let url = raiGetTimeoutURL(data);
- if (url) {
- triggerPixel(url);
- }
- }
-};
-
-registerBidder(spec);
-
-function raiGetSizes(bid) {
- let raiNewSizes;
- if (bid.mediaTypes && bid.mediaTypes.banner && bid.mediaTypes.banner.sizes) {
- raiNewSizes = bid.mediaTypes.banner.sizes
- }
- if (raiNewSizes != null) {
- return raiNewSizes.map(size => ({
- w: size[0],
- h: size[1]
- }));
- }
-}
-
-function raiGetDemandType(bid) {
- let raiFormat = 'display';
- if (typeof bid.sizes != 'undefined') {
- bid.sizes.forEach(function (sz) {
- if ((sz[0] == '1800' && sz[1] == '1000') || (sz[0] == '1' && sz[1] == '1')) {
- raiFormat = 'skin'
- }
- })
- }
- if (bid.mediaTypes != undefined) {
- if (bid.mediaTypes.video != undefined) {
- raiFormat = 'video';
- }
- }
- return raiFormat;
-}
-
-function raiGetVideoInfo(bid) {
- let videoData;
- if (raiGetDemandType(bid) == 'video') {
- videoData = {
- format: bid.mediaTypes.video.context,
- playerSize: bid.mediaTypes.video.playerSize,
- mimes: bid.mediaTypes.video.mimes
- };
- } else {
- videoData = {
- format: 'banner'
- }
- }
- return videoData;
-}
-
-function raiSetEids(bid) {
- let eids = [];
-
- if (bid && bid.userId) {
- raiSetUserId(bid, eids, 'id5-sync.com', deepAccess(bid, `userId.id5id.uid`));
- raiSetUserId(bid, eids, 'pubcommon', deepAccess(bid, `userId.pubcid`));
- raiSetUserId(bid, eids, 'criteo.com', deepAccess(bid, `userId.criteoId`));
- raiSetUserId(bid, eids, 'liveramp.com', deepAccess(bid, `userId.idl_env`));
- raiSetUserId(bid, eids, 'liveintent.com', deepAccess(bid, `userId.lipb.lipbid`));
- raiSetUserId(bid, eids, 'adserver.org', deepAccess(bid, `userId.tdid`));
- }
-
- return eids;
-}
-
-function raiSetUserId(bid, eids, source, value) {
- if (isStr(value)) {
- eids.push({
- userId: value,
- source: source
- });
- }
-}
-
-function renderer(bid) {
- bid.renderer.push(() => {
- renderAd(bid)
- });
-}
-
-function renderAd(bid) {
- let raOutstreamHBPassback = `${bid.vastXml}`;
- let raPlayerHB = {
- config: bid.params[0].player != undefined ? {
- end: bid.params[0].player.end != null ? bid.params[0].player.end : 'close',
- init: bid.params[0].player.init != null ? bid.params[0].player.init : 'close',
- skin: bid.params[0].player.skin != null ? bid.params[0].player.skin : 'light',
- } : {end: 'close', init: 'close', skin: 'light'},
- pid: bid.params[0].pid,
- adUnit: bid.adUnitCode
- };
-
- window.raParams(raPlayerHB, raOutstreamHBPassback, true);
-}
-
-function raiGetResolution() {
- let resolution = '';
- if (typeof window.screen != 'undefined') {
- resolution = window.screen.width + 'x' + window.screen.height;
- }
- return resolution;
-}
-
-function raiSetPbAdSlot(bid) {
- let pbAdSlot = '';
- if (deepAccess(bid, 'ortb2Imp.ext.data.pbadslot') != null) {
- pbAdSlot = deepAccess(bid, 'ortb2Imp.ext.data.pbadslot')
- }
- return pbAdSlot
-}
-
-function raiGetSyncInclude(config) {
- try {
- let raConfig = null;
- let raiSync = {};
- if (config.getConfig('userSync').filterSettings != null && typeof config.getConfig('userSync').filterSettings != 'undefined') {
- raConfig = config.getConfig('userSync').filterSettings
- if (raConfig.iframe != null && typeof raConfig.iframe != 'undefined') {
- raiSync.raiIframe = raConfig.iframe.bidders == 'richaudience' || raConfig.iframe.bidders == '*' ? raConfig.iframe.filter : 'exclude';
- }
- if (raConfig.image != null && typeof raConfig.image != 'undefined') {
- raiSync.raiImage = raConfig.image.bidders == 'richaudience' || raConfig.image.bidders == '*' ? raConfig.image.filter : 'exclude';
- }
- }
- return raiSync;
- } catch (e) {
- return null;
- }
-}
-
-function raiGetFloor(bid, config) {
- try {
- let raiFloor;
- if (bid.params.bidfloor != null) {
- raiFloor = bid.params.bidfloor;
- } else if (typeof bid.getFloor == 'function') {
- let floorSpec = bid.getFloor({
- currency: config.getConfig('floors.data.currency') != null ? config.getConfig('floors.data.currency') : 'USD',
- mediaType: typeof bid.mediaTypes['banner'] == 'object' ? 'banner' : 'video',
- size: '*'
- })
-
- raiFloor = floorSpec.floor;
- }
- return raiFloor
- } catch (e) {
- return 0
- }
-}
-
-function raiGetTimeoutURL(data) {
- let {params, timeout} = data[0]
- let url = 'https://s.richaudience.com/err/?ec=6&ev=[timeout_publisher]&pla=[placement_hash]&int=PREBID&pltfm=&node=&dm=[domain]';
-
- url = url.replace('[timeout_publisher]', timeout)
- url = url.replace('[placement_hash]', params[0].pid)
- if (document.location.host != null) {
- url = url.replace('[domain]', document.location.host)
- }
- return url
-}
diff --git a/modules/rasBidAdapter.js b/modules/ringieraxelspringerBidAdapter.js
similarity index 89%
rename from modules/rasBidAdapter.js
rename to modules/ringieraxelspringerBidAdapter.js
index 74abd0fb4a1..1fd6e327b9b 100644
--- a/modules/rasBidAdapter.js
+++ b/modules/ringieraxelspringerBidAdapter.js
@@ -8,7 +8,7 @@ import {
import { getAllOrtbKeywords } from '../libraries/keywords/keywords.js';
import { getAdUnitSizes } from '../libraries/sizeUtils/sizeUtils.js';
-const BIDDER_CODE = 'ras';
+const BIDDER_CODE = 'ringieraxelspringer';
const VERSION = '1.0';
const getEndpoint = (network) => {
@@ -106,38 +106,66 @@ function parseOrtbResponse(ad) {
return false;
}
- const { image, Image, title, url, Headline, Thirdpartyclicktracker, imp, impression, impression1, impressionJs1 } = ad.data.fields;
+ const { image, Image, title, url, Headline, Thirdpartyclicktracker, thirdPartyClickTracker2, imp, impression, impression1, impressionJs1, partner_logo: partnerLogo, adInfo, body } = ad.data.fields;
const { dsaurl, height, width, adclick } = ad.data.meta;
const emsLink = ad.ems_link;
const link = adclick + (url || Thirdpartyclicktracker);
const eventtrackers = prepareEventtrackers(emsLink, imp, impression, impression1, impressionJs1);
+ const clicktrackers = thirdPartyClickTracker2 ? [thirdPartyClickTracker2] : [];
+
const ortb = {
ver: '1.2',
assets: [
{
- id: 2,
+ id: 0,
+ data: {
+ value: body || '',
+ type: 2
+ },
+ },
+ {
+ id: 1,
+ data: {
+ value: adInfo || '',
+ // Body2 type
+ type: 10
+ },
+ },
+ {
+ id: 3,
img: {
- url: image || Image || '',
+ type: 1,
+ url: partnerLogo || '',
w: width,
h: height
}
},
{
id: 4,
- title: {
- text: title || Headline || ''
+ img: {
+ type: 3,
+ url: image || Image || '',
+ w: width,
+ h: height
}
},
{
- id: 3,
+ id: 5,
data: {
value: deepAccess(ad, 'data.meta.advertiser_name', null),
type: 1
}
- }
+ },
+ {
+ id: 6,
+ title: {
+ text: title || Headline || ''
+ }
+ },
],
link: {
- url: link
+ url: link,
+ clicktrackers
},
eventtrackers
};
@@ -154,7 +182,7 @@ function parseNativeResponse(ad) {
return false;
}
- const { image, Image, title, leadtext, url, Calltoaction, Body, Headline, Thirdpartyclicktracker } = ad.data.fields;
+ const { image, Image, title, leadtext, url, Calltoaction, Body, Headline, Thirdpartyclicktracker, adInfo, partner_logo: partnerLogo } = ad.data.fields;
const { dsaurl, height, width, adclick } = ad.data.meta;
const link = adclick + (url || Thirdpartyclicktracker);
const nativeResponse = {
@@ -165,10 +193,15 @@ function parseNativeResponse(ad) {
width,
height
},
-
+ icon: {
+ url: partnerLogo || '',
+ width,
+ height
+ },
clickUrl: link,
cta: Calltoaction || '',
body: leadtext || Body || '',
+ body2: adInfo || '',
sponsoredBy: deepAccess(ad, 'data.meta.advertiser_name', null) || '',
ortb: parseOrtbResponse(ad)
};
@@ -192,7 +225,7 @@ const buildBid = (ad, mediaType) => {
creativeId: ad.adid ? parseInt(ad.adid.split(',')[2], 10) : 0,
netRevenue: true,
currency: ad.currency || 'USD',
- dealId: null,
+ dealId: ad.prebid_deal || null,
actgMatch: ad.actg_match || 0,
meta: { mediaType: BANNER },
mediaType: BANNER,
@@ -243,6 +276,8 @@ const getSlots = (bidRequests) => {
queryString += `&cre_format${i}=native`;
}
+ queryString += `&kvhb_format${i}=${creFormat === 'native' ? 'native' : 'banner'}`;
+
if (sizes) {
queryString += `&iusizes${i}=${encodeURIComponent(sizes)}`;
}
@@ -329,7 +364,7 @@ export const spec = {
const slotsQuery = getSlots(bidRequests);
const contextQuery = getContextParams(bidRequests, bidderRequest);
const gdprQuery = getGdprParams(bidderRequest);
- const fledgeEligible = Boolean(bidderRequest && bidderRequest.fledgeEnabled);
+ const fledgeEligible = Boolean(bidderRequest?.paapi?.enabled);
const network = bidRequests[0].params.network;
const bidIds = bidRequests.map((bid) => ({
slot: bid.params.slot,
@@ -357,7 +392,7 @@ export const spec = {
if (fledgeAuctionConfigs) {
// Return a tuple of bids and auctionConfigs. It is possible that bids could be null.
- return {bids, fledgeAuctionConfigs};
+ return {bids, paapi: fledgeAuctionConfigs};
} else {
return bids;
}
diff --git a/modules/rasBidAdapter.md b/modules/ringieraxelspringerBidAdapter.md
similarity index 88%
rename from modules/rasBidAdapter.md
rename to modules/ringieraxelspringerBidAdapter.md
index cf169fedb63..b3a716f9f56 100644
--- a/modules/rasBidAdapter.md
+++ b/modules/ringieraxelspringerBidAdapter.md
@@ -21,7 +21,7 @@ var adUnits = [{
}
},
bids: [{
- bidder: 'ras',
+ bidder: 'ringieraxelspringer',
params: {
network: '4178463',
site: 'test',
@@ -36,11 +36,11 @@ var adUnits = [{
| Name | Scope | Type | Description | Example |
|------------------------------|----------|----------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------|
-| network | required | String | Specific identifier provided by RAS | `"4178463"` |
-| site | required | String | Specific identifier name (case-insensitive) that is associated with this ad unit and provided by RAS | `"example_com"` |
+| network | required | String | Specific identifier provided by Ringier Axel Springer | `"4178463"` |
+| site | required | String | Specific identifier name (case-insensitive) that is associated with this ad unit and provided by Ringier Axel Springer | `"example_com"` |
| area | required | String | Ad unit category name; only case-insensitive alphanumeric with underscores and hyphens are allowed | `"sport"` |
-| slot | required | String | Ad unit placement name (case-insensitive) provided by RAS | `"slot"` |
-| slotSequence | optional | Number | Ad unit sequence position provided by RAS | `1` |
+| slot | required | String | Ad unit placement name (case-insensitive) provided by Ringier Axel Springer | `"slot"` |
+| slotSequence | optional | Number | Ad unit sequence position provided by Ringier Axel Springer | `1` |
| pageContext | optional | Object | Web page context data | `{}` |
| pageContext.dr | optional | String | Document referrer URL address | `"https://example.com/"` |
| pageContext.du | optional | String | Document URL address | `"https://example.com/sport/football/article.html?id=932016a5-02fc-4d5c-b643-fafc2f270f06"` |
diff --git a/modules/rtbhouseBidAdapter.js b/modules/rtbhouseBidAdapter.js
index 1cd97696770..7e2a7da3b61 100644
--- a/modules/rtbhouseBidAdapter.js
+++ b/modules/rtbhouseBidAdapter.js
@@ -114,7 +114,7 @@ export const spec = {
let computedEndpointUrl = ENDPOINT_URL;
- if (bidderRequest.fledgeEnabled) {
+ if (bidderRequest.paapi?.enabled) {
const fledgeConfig = config.getConfig('fledgeConfig') || {
seller: FLEDGE_SELLER_URL,
decisionLogicUrl: FLEDGE_DECISION_LOGIC_URL,
@@ -209,7 +209,7 @@ export const spec = {
logInfo('Response with FLEDGE:', { bids, fledgeAuctionConfigs });
return {
bids,
- fledgeAuctionConfigs,
+ paapi: fledgeAuctionConfigs,
}
}
return bids;
@@ -250,7 +250,7 @@ function mapImpression(slot, bidderRequest) {
imp.bidfloor = bidfloor;
}
- if (bidderRequest.fledgeEnabled) {
+ if (bidderRequest.paapi?.enabled) {
imp.ext = imp.ext || {};
imp.ext.ae = slot?.ortb2Imp?.ext?.ae
} else {
diff --git a/modules/rtbhouseBidAdapter.md b/modules/rtbhouseBidAdapter.md
index 338ba6b4df4..7fcae1299b2 100644
--- a/modules/rtbhouseBidAdapter.md
+++ b/modules/rtbhouseBidAdapter.md
@@ -69,7 +69,7 @@ Please reach out to pmp@rtbhouse.com to receive your own
# Protected Audience API (FLEDGE) support
There’s an option to receive demand for Protected Audience API (FLEDGE/PAAPI)
ads using RTB House bid adapter.
-Prebid’s [fledgeForGpt](https://docs.prebid.org/dev-docs/modules/fledgeForGpt.html)
+Prebid’s [paapiForGpt](https://docs.prebid.org/dev-docs/modules/paapiForGpt.html)
module and Google Ad Manager is currently required.
The following steps should be taken to setup Protected Audience for RTB House:
@@ -77,15 +77,15 @@ The following steps should be taken to setup Protected Audience for RTB House:
1. Reach out to your RTB House representative for setup coordination.
2. Build and enable FLEDGE module as described in
-[fledgeForGpt](https://docs.prebid.org/dev-docs/modules/fledgeForGpt.html)
+[paapiForGpt](https://docs.prebid.org/dev-docs/modules/paapiForGpt.html)
module documentation.
a. Make sure to enable RTB House bidder to participate in FLEDGE. If there are any other bidders to be allowed for that, add them to the **bidders** array:
```javascript
- pbjs.setBidderConfig({
- bidders: ["rtbhouse"],
- config: {
- fledgeEnabled: true
+ pbjs.setConfig({
+ paapi: {
+ bidders: ["rtbhouse"],
+ enabled: true
}
});
```
@@ -93,15 +93,15 @@ module documentation.
b. If you as a publisher have your own [decisionLogicUrl](https://github.com/WICG/turtledove/blob/main/FLEDGE.md#21-initiating-an-on-device-auction)
you may utilize it by setting up a dedicated `fledgeConfig` object:
```javascript
- pbjs.setBidderConfig({
- bidders: ["rtbhouse"],
- config: {
- fledgeEnabled: true,
- fledgeConfig: {
- seller: 'https://seller.domain',
- decisionLogicUrl: 'https://seller.domain/decisionLogicFile.js',
- sellerTimeout: 100
- }
+ pbjs.setConfig({
+ paapi: {
+ bidders: ["rtbhouse"],
+ enabled: true
+ },
+ fledgeConfig: {
+ seller: 'https://seller.domain',
+ decisionLogicUrl: 'https://seller.domain/decisionLogicFile.js',
+ sellerTimeout: 100
}
});
```
diff --git a/modules/rubiconBidAdapter.js b/modules/rubiconBidAdapter.js
index 9e47807bdc0..64bcdf78399 100644
--- a/modules/rubiconBidAdapter.js
+++ b/modules/rubiconBidAdapter.js
@@ -736,7 +736,7 @@ export const spec = {
});
if (fledgeAuctionConfigs) {
- return { bids, fledgeAuctionConfigs };
+ return { bids, paapi: fledgeAuctionConfigs };
} else {
return bids;
}
diff --git a/modules/sharethroughBidAdapter.js b/modules/sharethroughBidAdapter.js
index 590fddca079..92d36b0b699 100644
--- a/modules/sharethroughBidAdapter.js
+++ b/modules/sharethroughBidAdapter.js
@@ -108,7 +108,7 @@ export const sharethroughAdapterSpec = {
const videoRequest = deepAccess(bidReq, 'mediaTypes.video');
- if (bidderRequest.fledgeEnabled && bidReq.mediaTypes.banner) {
+ if (bidderRequest.paapi?.enabled && bidReq.mediaTypes.banner) {
mergeDeep(impression, { ext: { ae: 1 } }); // ae = auction environment; if this is 1, ad server knows we have a fledge auction
}
@@ -242,7 +242,7 @@ export const sharethroughAdapterSpec = {
if (fledgeAuctionEnabled) {
return {
bids: bidsFromExchange,
- fledgeAuctionConfigs: body.ext?.auctionConfigs || {},
+ paapi: body.ext?.auctionConfigs || {},
};
} else {
return bidsFromExchange;
diff --git a/modules/shinezBidAdapter.js b/modules/shinezBidAdapter.js
index 47fca317de2..993c069ded0 100644
--- a/modules/shinezBidAdapter.js
+++ b/modules/shinezBidAdapter.js
@@ -336,7 +336,10 @@ function generateBidParameters(bid, bidderRequest) {
if (placement) {
bidObject.placement = placement;
}
-
+ const plcmt = deepAccess(bid, `mediaTypes.video.plcmt`);
+ if (plcmt) {
+ bidObject.plcmt = plcmt;
+ }
const minDuration = deepAccess(bid, `mediaTypes.video.minduration`);
if (minDuration) {
bidObject.minDuration = minDuration;
diff --git a/modules/shinezRtbBidAdapter.js b/modules/shinezRtbBidAdapter.js
index d1d9f36a569..490ea908960 100644
--- a/modules/shinezRtbBidAdapter.js
+++ b/modules/shinezRtbBidAdapter.js
@@ -149,15 +149,9 @@ function appendUserIdsToRequestPayload(payloadRef, userIds) {
key = `uid.${idSystemProviderName}`;
switch (idSystemProviderName) {
- case 'digitrustid':
- payloadRef[key] = deepAccess(userId, 'data.id');
- break;
case 'lipb':
payloadRef[key] = userId.lipbid;
break;
- case 'parrableId':
- payloadRef[key] = userId.eid;
- break;
case 'id5id':
payloadRef[key] = userId.uid;
break;
diff --git a/modules/showheroes-bsBidAdapter.js b/modules/showheroes-bsBidAdapter.js
index bd2706a21d5..062e567a1c1 100644
--- a/modules/showheroes-bsBidAdapter.js
+++ b/modules/showheroes-bsBidAdapter.js
@@ -9,6 +9,12 @@ import { config } from '../src/config.js';
import { Renderer } from '../src/Renderer.js';
import { registerBidder } from '../src/adapters/bidderFactory.js';
import { VIDEO, BANNER } from '../src/mediaTypes.js';
+/**
+ * See https://github.com/prebid/Prebid.js/pull/4222 for details on linting exception
+ * ShowHeroes only imports after winning a bid
+ * Also see https://github.com/prebid/Prebid.js/issues/11656
+ */
+// eslint-disable-next-line no-restricted-imports
import { loadExternalScript } from '../src/adloader.js';
const PROD_ENDPOINT = 'https://bs.showheroes.com/api/v1/bid';
@@ -332,7 +338,7 @@ function createOutstreamEmbedCode(bid) {
const fragment = window.document.createDocumentFragment();
- let script = loadExternalScript(urls.pubTag, 'outstream', function () {
+ let script = loadExternalScript(urls.pubTag, 'showheroes-bs', function () {
window.ShowheroesTag = this;
});
script.setAttribute('data-player-host', urls.vlHost);
diff --git a/modules/sigmoidAnalyticsAdapter.js b/modules/sigmoidAnalyticsAdapter.js
deleted file mode 100644
index a9d92b67e24..00000000000
--- a/modules/sigmoidAnalyticsAdapter.js
+++ /dev/null
@@ -1,293 +0,0 @@
-/* Sigmoid Analytics Adapter for prebid.js v1.1.0-pre
-Updated : 2018-03-28 */
-import {includes} from '../src/polyfill.js';
-import adapter from '../libraries/analyticsAdapter/AnalyticsAdapter.js';
-import { EVENTS } from '../src/constants.js';
-import adapterManager from '../src/adapterManager.js';
-import {getStorageManager} from '../src/storageManager.js';
-import {generateUUID, logError, logInfo} from '../src/utils.js';
-import {MODULE_TYPE_ANALYTICS} from '../src/activities/modules.js';
-
-const MODULE_CODE = 'sigmoid';
-const storage = getStorageManager({moduleType: MODULE_TYPE_ANALYTICS, moduleName: MODULE_CODE});
-
-const url = 'https://kinesis.us-east-1.amazonaws.com/';
-const analyticsType = 'endpoint';
-
-const auctionInitConst = EVENTS.AUCTION_INIT;
-const auctionEndConst = EVENTS.AUCTION_END;
-const bidWonConst = EVENTS.BID_WON;
-const bidRequestConst = EVENTS.BID_REQUESTED;
-const bidAdjustmentConst = EVENTS.BID_ADJUSTMENT;
-const bidResponseConst = EVENTS.BID_RESPONSE;
-
-let initOptions = { publisherIds: [], utmTagData: [], adUnits: [] };
-let bidWon = {options: {}, events: []};
-let eventStack = {options: {}, events: []};
-
-let auctionStatus = 'not_started';
-
-let localStoragePrefix = 'sigmoid_analytics_';
-let utmTags = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content'];
-let utmTimeoutKey = 'utm_timeout';
-let utmTimeout = 60 * 60 * 1000;
-let sessionTimeout = 60 * 60 * 1000;
-let sessionIdStorageKey = 'session_id';
-let sessionTimeoutKey = 'session_timeout';
-
-function getParameterByName(param) {
- let vars = {};
- window.location.href.replace(location.hash, '').replace(
- /[?&]+([^=&]+)=?([^&]*)?/gi,
- function(m, key, value) {
- vars[key] = value !== undefined ? value : '';
- }
- );
-
- return vars[param] ? vars[param] : '';
-}
-
-function buildSessionIdLocalStorageKey() {
- return localStoragePrefix.concat(sessionIdStorageKey);
-}
-
-function buildSessionIdTimeoutLocalStorageKey() {
- return localStoragePrefix.concat(sessionTimeoutKey);
-}
-
-function updateSessionId() {
- if (isSessionIdTimeoutExpired()) {
- let newSessionId = generateUUID();
- storage.setDataInLocalStorage(buildSessionIdLocalStorageKey(), newSessionId);
- }
- initOptions.sessionId = getSessionId();
- updateSessionIdTimeout();
-}
-
-function updateSessionIdTimeout() {
- storage.setDataInLocalStorage(buildSessionIdTimeoutLocalStorageKey(), Date.now());
-}
-
-function isSessionIdTimeoutExpired() {
- let cpmSessionTimestamp = storage.getDataFromLocalStorage(buildSessionIdTimeoutLocalStorageKey());
- return Date.now() - cpmSessionTimestamp > sessionTimeout;
-}
-
-function getSessionId() {
- return storage.getDataFromLocalStorage(buildSessionIdLocalStorageKey()) ? storage.getDataFromLocalStorage(buildSessionIdLocalStorageKey()) : '';
-}
-
-function updateUtmTimeout() {
- storage.setDataInLocalStorage(buildUtmLocalStorageTimeoutKey(), Date.now());
-}
-
-function isUtmTimeoutExpired() {
- let utmTimestamp = storage.getDataFromLocalStorage(buildUtmLocalStorageTimeoutKey());
- return (Date.now() - utmTimestamp) > utmTimeout;
-}
-
-function buildUtmLocalStorageTimeoutKey() {
- return localStoragePrefix.concat(utmTimeoutKey);
-}
-
-function buildUtmLocalStorageKey(utmMarkKey) {
- return localStoragePrefix.concat(utmMarkKey);
-}
-
-function checkOptions() {
- if (typeof initOptions.publisherIds === 'undefined') {
- return false;
- }
-
- return initOptions.publisherIds.length > 0;
-}
-
-function checkAdUnitConfig() {
- if (typeof initOptions.adUnits === 'undefined') {
- return false;
- }
-
- return initOptions.adUnits.length > 0;
-}
-
-function buildBidWon(eventType, args) {
- bidWon.options = initOptions;
- if (checkAdUnitConfig()) {
- if (includes(initOptions.adUnits, args.adUnitCode)) {
- bidWon.events = [{ args: args, eventType: eventType }];
- }
- } else {
- bidWon.events = [{ args: args, eventType: eventType }];
- }
-}
-
-function buildEventStack() {
- eventStack.options = initOptions;
-}
-
-function filterBidsByAdUnit(bids) {
- var filteredBids = [];
- bids.forEach(function (bid) {
- if (includes(initOptions.adUnits, bid.placementCode)) {
- filteredBids.push(bid);
- }
- });
- return filteredBids;
-}
-
-function isValidEvent(eventType, adUnitCode) {
- if (checkAdUnitConfig()) {
- let validationEvents = [bidAdjustmentConst, bidResponseConst, bidWonConst];
- if (!includes(initOptions.adUnits, adUnitCode) && includes(validationEvents, eventType)) {
- return false;
- }
- }
- return true;
-}
-
-function isValidEventStack() {
- if (eventStack.events.length > 0) {
- return eventStack.events.some(function(event) {
- return bidRequestConst === event.eventType || bidWonConst === event.eventType;
- });
- }
- return false;
-}
-
-function isValidBidWon() {
- return bidWon.events.length > 0;
-}
-
-function flushEventStack() {
- eventStack.events = [];
-}
-
-let sigmoidAdapter = Object.assign(adapter({url, analyticsType}),
- {
- track({eventType, args}) {
- if (!checkOptions()) {
- return;
- }
-
- let info = Object.assign({}, args);
-
- if (info && info.ad) {
- info.ad = '';
- }
-
- if (eventType === auctionInitConst) {
- auctionStatus = 'started';
- }
-
- if (eventType === bidWonConst && auctionStatus === 'not_started') {
- updateSessionId();
- buildBidWon(eventType, info);
- if (isValidBidWon()) {
- send(eventType, bidWon, 'bidWon');
- }
- return;
- }
-
- if (eventType === auctionEndConst) {
- updateSessionId();
- buildEventStack();
- if (isValidEventStack()) {
- send(eventType, eventStack, 'eventStack');
- }
- auctionStatus = 'not_started';
- } else {
- pushEvent(eventType, info);
- }
- },
-
- });
-
-sigmoidAdapter.originEnableAnalytics = sigmoidAdapter.enableAnalytics;
-
-sigmoidAdapter.enableAnalytics = function (config) {
- initOptions = config.options;
- initOptions.utmTagData = this.buildUtmTagData();
- logInfo('Sigmoid Analytics enabled with config', initOptions);
- sigmoidAdapter.originEnableAnalytics(config);
-};
-
-sigmoidAdapter.buildUtmTagData = function () {
- let utmTagData = {};
- let utmTagsDetected = false;
- utmTags.forEach(function(utmTagKey) {
- let utmTagValue = getParameterByName(utmTagKey);
- if (utmTagValue !== '') {
- utmTagsDetected = true;
- }
- utmTagData[utmTagKey] = utmTagValue;
- });
- utmTags.forEach(function(utmTagKey) {
- if (utmTagsDetected) {
- storage.setDataInLocalStorage(buildUtmLocalStorageKey(utmTagKey), utmTagData[utmTagKey]);
- updateUtmTimeout();
- } else {
- if (!isUtmTimeoutExpired()) {
- utmTagData[utmTagKey] = storage.getDataFromLocalStorage(buildUtmLocalStorageKey(utmTagKey)) ? storage.getDataFromLocalStorage(buildUtmLocalStorageKey(utmTagKey)) : '';
- updateUtmTimeout();
- }
- }
- });
- return utmTagData;
-};
-
-function send(eventType, data, sendDataType) {
- // eslint-disable-next-line no-undef
- AWS.config.credentials = new AWS.Credentials({
- accessKeyId: 'accesskey', secretAccessKey: 'secretkey'
- });
-
- // eslint-disable-next-line no-undef
- AWS.config.region = 'us-east-1';
- // eslint-disable-next-line no-undef
- AWS.config.credentials.get(function(err) {
- // attach event listener
- if (err) {
- logError(err);
- return;
- }
- // create kinesis service object
- // eslint-disable-next-line no-undef
- var kinesis = new AWS.Kinesis({
- apiVersion: '2013-12-02'
- });
- var dataList = [];
- var jsonData = {};
- jsonData['Data'] = JSON.stringify(data) + '\n';
- jsonData['PartitionKey'] = 'partition-' + Math.random().toString(36).substring(7);
- dataList.push(jsonData);
- kinesis.putRecords({
- Records: dataList,
- StreamName: 'sample-stream'
- });
- if (sendDataType === 'eventStack') {
- flushEventStack();
- }
- });
-};
-
-function pushEvent(eventType, args) {
- if (eventType === bidRequestConst) {
- if (checkAdUnitConfig()) {
- args.bids = filterBidsByAdUnit(args.bids);
- }
- if (args.bids.length > 0) {
- eventStack.events.push({ eventType: eventType, args: args });
- }
- } else {
- if (isValidEvent(eventType, args.adUnitCode)) {
- eventStack.events.push({ eventType: eventType, args: args });
- }
- }
-}
-
-adapterManager.registerAnalyticsAdapter({
- adapter: sigmoidAdapter,
- code: MODULE_CODE,
-});
-
-export default sigmoidAdapter;
diff --git a/modules/silverpushBidAdapter.js b/modules/silverpushBidAdapter.js
index 5403f3bd88c..1d5662f88eb 100644
--- a/modules/silverpushBidAdapter.js
+++ b/modules/silverpushBidAdapter.js
@@ -128,7 +128,7 @@ export const CONVERTER = ortbConverter({
});
return {
bids: response.bids,
- fledgeAuctionConfigs,
+ paapi: fledgeAuctionConfigs,
}
} else {
return response.bids
diff --git a/modules/smartxBidAdapter.js b/modules/smartxBidAdapter.js
index 8394814365c..483a7a86d73 100644
--- a/modules/smartxBidAdapter.js
+++ b/modules/smartxBidAdapter.js
@@ -119,12 +119,6 @@ export const spec = {
const pos = getBidIdParameter('pos', bid.params) || 1;
const api = getBidIdParameter('api', bid.params) || [2];
const protocols = getBidIdParameter('protocols', bid.params) || [2, 3, 5, 6];
- var contextcustom = deepAccess(bid, 'mediaTypes.video.context');
- var placement = 1;
-
- if (contextcustom === 'outstream') {
- placement = 3;
- }
let smartxReq = [{
id: bid.bidId,
@@ -144,7 +138,6 @@ export const spec = {
maxbitrate: maxbitrate,
delivery: delivery,
pos: pos,
- placement: placement,
api: api,
ext: ext
},
diff --git a/modules/smartyadsBidAdapter.js b/modules/smartyadsBidAdapter.js
index 6920983e50d..9098bb8f862 100644
--- a/modules/smartyadsBidAdapter.js
+++ b/modules/smartyadsBidAdapter.js
@@ -1,4 +1,3 @@
-import { logMessage } from '../src/utils.js';
import {registerBidder} from '../src/adapters/bidderFactory.js';
import { BANNER, NATIVE, VIDEO } from '../src/mediaTypes.js';
import { config } from '../src/config.js';
@@ -74,23 +73,15 @@ export const spec = {
let winTop = window;
let location;
- // TODO: this odd try-catch block was copied in several adapters; it doesn't seem to be correct for cross-origin
- try {
- location = new URL(bidderRequest.refererInfo.page)
- winTop = window.top;
- } catch (e) {
- location = winTop.location;
- logMessage(e);
- };
-
+ location = bidderRequest?.refererInfo ?? null;
let placements = [];
let request = {
'deviceWidth': winTop.screen.width,
'deviceHeight': winTop.screen.height,
'language': (navigator && navigator.language) ? navigator.language : '',
'secure': 1,
- 'host': location.host,
- 'page': location.pathname,
+ 'host': location?.domain ?? '',
+ 'page': location?.page ?? '',
'coppa': config.getConfig('coppa') === true ? 1 : 0,
'placements': placements,
'eeid': validBidRequests[0]?.userIdAsEids,
diff --git a/modules/sonobiAnalyticsAdapter.js b/modules/sonobiAnalyticsAdapter.js
deleted file mode 100644
index 8242df7e0c5..00000000000
--- a/modules/sonobiAnalyticsAdapter.js
+++ /dev/null
@@ -1,275 +0,0 @@
-import { deepClone, logInfo, logError } from '../src/utils.js';
-import adapter from '../libraries/analyticsAdapter/AnalyticsAdapter.js';
-import { EVENTS } from '../src/constants.js';
-import adapterManager from '../src/adapterManager.js';
-import {ajaxBuilder} from '../src/ajax.js';
-
-let ajax = ajaxBuilder(0);
-
-export const DEFAULT_EVENT_URL = 'apex.go.sonobi.com/keymaker';
-const analyticsType = 'endpoint';
-const QUEUE_TIMEOUT_DEFAULT = 200;
-const {
- AUCTION_INIT,
- AUCTION_END,
- BID_REQUESTED,
- BID_ADJUSTMENT,
- BIDDER_DONE,
- BID_WON,
- BID_RESPONSE,
- BID_TIMEOUT
-} = EVENTS;
-
-let initOptions = {};
-let auctionCache = {};
-let auctionTtl = 60 * 60 * 1000;
-
-function deleteOldAuctions() {
- for (let auctionId in auctionCache) {
- let auction = auctionCache[auctionId];
- if (Date.now() - auction.start > auctionTtl) {
- delete auctionCache[auctionId];
- }
- }
-}
-
-function buildAuctionEntity(args) {
- return {
- 'id': args.auctionId,
- 'start': args.timestamp,
- 'timeout': args.timeout,
- 'adUnits': {},
- 'stats': {},
- 'queue': [],
- 'qTimeout': false
- };
-}
-function buildAdUnit(data) {
- return `/${initOptions.pubId}/${initOptions.siteId}/${data.adUnitCode.toLowerCase()}`;
-}
-function getLatency(data) {
- if (!data.responseTimestamp) {
- return -1;
- } else {
- return data.responseTimestamp - data.requestTimestamp;
- }
-}
-function getBid(data) {
- if (data.cpm) {
- return Math.round(data.cpm * 100);
- } else {
- return 0;
- }
-}
-function buildItem(data, response, phase = 1) {
- let size = data.width ? {width: data.width, height: data.height} : {width: data.sizes[0][0], height: data.sizes[0][1]};
- return {
- 'bidid': data.bidId || data.requestId,
- 'p': phase,
- 'buyerid': data.bidder.toLowerCase(),
- 'bid': getBid(data),
- 'adunit_code': buildAdUnit(data),
- 's': `${size.width}x${size.height}`,
- 'latency': getLatency(data),
- 'response': response,
- 'jsLatency': getLatency(data),
- 'buyername': data.bidder.toLowerCase()
- };
-}
-function sendQueue(auctionId) {
- let auction = auctionCache[auctionId];
- let data = auction.queue;
- auction.queue = [];
- auction.qTimeout = false;
- sonobiAdapter.sendData(auction, data);
-}
-function addToAuctionQueue(auctionId, id) {
- let auction = auctionCache[auctionId];
- auction.queue = auction.queue.filter((item) => {
- if (item.bidid !== id) { return true; }
- return auction.stats[id].data.p !== item.p;
- });
- auction.queue.push(deepClone(auction.stats[id].data));
- if (!auction.qTimeout) {
- auction.qTimeout = setTimeout(() => {
- sendQueue(auctionId);
- }, initOptions.delay)
- }
-}
-function updateBidStats(auctionId, id, data) {
- let auction = auctionCache[auctionId];
- auction.stats[id].data = {...auction.stats[id].data, ...data};
- addToAuctionQueue(auctionId, id);
- _logInfo('Updated Bid Stats: ', auction.stats[id]);
- return auction.stats[id];
-}
-
-function handleOtherEvents(eventType, args) {
- _logInfo('Other Event: ' + eventType, args);
-}
-
-function handlerAuctionInit(args) {
- auctionCache[args.auctionId] = buildAuctionEntity(args);
- deleteOldAuctions();
- _logInfo('Auction Init', args);
-}
-function handlerBidRequested(args) {
- let auction = auctionCache[args.auctionId];
- let data = [];
- let phase = 1;
- let response = 1;
- args.bids.forEach(function (bidRequest) {
- auction = auctionCache[bidRequest.auctionId]
- let built = buildItem(bidRequest, response, phase);
- auction.stats[built.bidid] = {id: built.bidid, adUnitCode: bidRequest.adUnitCode, data: built};
- addToAuctionQueue(args.auctionId, built.bidid);
- })
-
- _logInfo('Bids Requested ', data);
-}
-
-function handlerBidAdjustment(args) {
- _logInfo('Bid Adjustment', args);
-}
-function handlerBidderDone(args) {
- _logInfo('Bidder Done', args);
-}
-
-function handlerAuctionEnd(args) {
- let winners = {};
- args.bidsReceived.forEach((bid) => {
- if (!winners[bid.adUnitCode]) {
- winners[bid.adUnitCode] = {bidId: bid.requestId, cpm: bid.cpm};
- } else if (winners[bid.adUnitCode].cpm < bid.cpm) {
- winners[bid.adUnitCode] = {bidId: bid.requestId, cpm: bid.cpm};
- }
- })
- args.adUnitCodes.forEach((adUnitCode) => {
- if (winners[adUnitCode]) {
- let bidId = winners[adUnitCode].bidId;
- updateBidStats(args.auctionId, bidId, {response: 4});
- }
- })
- _logInfo('Auction End', args);
- _logInfo('Auction Cache', auctionCache[args.auctionId].stats);
-}
-function handlerBidWon(args) {
- let {auctionId, requestId} = args;
- let res = updateBidStats(auctionId, requestId, {p: 3, response: 6});
- _logInfo('Bid Won ', args);
- _logInfo('Bid Update Result: ', res);
-}
-function handlerBidResponse(args) {
- let {auctionId, requestId, cpm, size, timeToRespond} = args;
- updateBidStats(auctionId, requestId, {bid: cpm, s: size, jsLatency: timeToRespond, latency: timeToRespond, p: 2, response: 9});
-
- _logInfo('Bid Response ', args);
-}
-function handlerBidTimeout(args) {
- let {auctionId, bidId} = args;
- _logInfo('Bid Timeout ', args);
- updateBidStats(auctionId, bidId, {p: 2, response: 0, latency: args.timeout, jsLatency: args.timeout});
-}
-let sonobiAdapter = Object.assign(adapter({url: DEFAULT_EVENT_URL, analyticsType}), {
- track({eventType, args}) {
- switch (eventType) {
- case AUCTION_INIT:
- handlerAuctionInit(args);
- break;
- case BID_REQUESTED:
- handlerBidRequested(args);
- break;
- case BID_ADJUSTMENT:
- handlerBidAdjustment(args);
- break;
- case BIDDER_DONE:
- handlerBidderDone(args);
- break;
- case AUCTION_END:
- handlerAuctionEnd(args);
- break;
- case BID_WON:
- handlerBidWon(args);
- break;
- case BID_RESPONSE:
- handlerBidResponse(args);
- break;
- case BID_TIMEOUT:
- handlerBidTimeout(args);
- break;
- default:
- handleOtherEvents(eventType, args);
- break;
- }
- },
-
-});
-
-sonobiAdapter.originEnableAnalytics = sonobiAdapter.enableAnalytics;
-
-sonobiAdapter.enableAnalytics = function (config) {
- if (this.initConfig(config)) {
- _logInfo('Analytics adapter enabled', initOptions);
- sonobiAdapter.originEnableAnalytics(config);
- }
-};
-
-sonobiAdapter.initConfig = function (config) {
- let isCorrectConfig = true;
- initOptions = {};
- initOptions.options = deepClone(config.options);
-
- initOptions.pubId = initOptions.options.pubId || null;
- initOptions.siteId = initOptions.options.siteId || null;
- initOptions.delay = initOptions.options.delay || QUEUE_TIMEOUT_DEFAULT;
- if (!initOptions.pubId) {
- _logError('"options.pubId" is empty');
- isCorrectConfig = false;
- }
- if (!initOptions.siteId) {
- _logError('"options.siteId" is empty');
- isCorrectConfig = false;
- }
-
- initOptions.server = DEFAULT_EVENT_URL;
- initOptions.host = initOptions.options.host || window.location.hostname;
- this.initOptions = initOptions;
- return isCorrectConfig;
-};
-
-sonobiAdapter.getOptions = function () {
- return initOptions;
-};
-
-sonobiAdapter.sendData = function (auction, data) {
- let url = 'https://' + initOptions.server + '?pageviewid=' + auction.id + '&corscred=1&pubId=' + initOptions.pubId + '&siteId=' + initOptions.siteId;
- ajax(
- url,
- function () { _logInfo('Auction [' + auction.id + '] sent ', data); },
- JSON.stringify(data),
- {
- method: 'POST',
- // withCredentials: true,
- contentType: 'text/plain'
- }
- );
-};
-
-function _logInfo(message, meta) {
- logInfo(buildLogMessage(message), meta);
-}
-
-function _logError(message) {
- logError(buildLogMessage(message));
-}
-
-function buildLogMessage(message) {
- return 'Sonobi Prebid Analytics: ' + message;
-}
-
-adapterManager.registerAnalyticsAdapter({
- adapter: sonobiAdapter,
- code: 'sonobi'
-});
-
-export default sonobiAdapter;
diff --git a/modules/sovrnAnalyticsAdapter.js b/modules/sovrnAnalyticsAdapter.js
deleted file mode 100644
index f8329b33f3a..00000000000
--- a/modules/sovrnAnalyticsAdapter.js
+++ /dev/null
@@ -1,287 +0,0 @@
-import {deepClone, logError, timestamp} from '../src/utils.js';
-import adapter from '../libraries/analyticsAdapter/AnalyticsAdapter.js';
-import adaptermanager from '../src/adapterManager.js';
-import { EVENTS } from '../src/constants.js';
-import {ajaxBuilder} from '../src/ajax.js';
-import {config} from '../src/config.js';
-import {find, includes} from '../src/polyfill.js';
-import {getRefererInfo} from '../src/refererDetection.js';
-
-const ajax = ajaxBuilder(0)
-
-const {
- AUCTION_END,
- BID_REQUESTED,
- BID_ADJUSTMENT,
- BID_RESPONSE,
- BID_WON
-} = EVENTS;
-
-let pbaUrl = 'https://pba.aws.lijit.com/analytics'
-let currentAuctions = {};
-const analyticsType = 'endpoint'
-
-const rootURL = (() => {
- const ref = getRefererInfo();
- // TODO: does the fallback make sense here?
- return ref.page || ref.topmostLocation;
-})();
-
-let sovrnAnalyticsAdapter = Object.assign(adapter({url: pbaUrl, analyticsType}), {
- track({ eventType, args }) {
- try {
- if (eventType === BID_WON) {
- new BidWinner(this.sovrnId, args).send();
- return
- }
- if (args && args.auctionId && currentAuctions[args.auctionId] && currentAuctions[args.auctionId].status === 'complete') {
- throw new Error('Event Received after Auction Close Auction Id ' + args.auctionId)
- }
- if (args && args.auctionId && currentAuctions[args.auctionId] === undefined) {
- currentAuctions[args.auctionId] = new AuctionData(this.sovrnId, args.auctionId)
- }
- switch (eventType) {
- case BID_REQUESTED:
- currentAuctions[args.auctionId].bidRequested(args)
- break
- case BID_ADJUSTMENT:
- currentAuctions[args.auctionId].originalBid(args)
- break
- case BID_RESPONSE:
- currentAuctions[args.auctionId].adjustedBid(args)
- break
- case AUCTION_END:
- currentAuctions[args.auctionId].send();
- break
- }
- } catch (e) {
- new LogError(e, this.sovrnId, {eventType, args}).send()
- }
- },
-})
-
-sovrnAnalyticsAdapter.getAuctions = function () {
- return currentAuctions;
-};
-
-sovrnAnalyticsAdapter.originEnableAnalytics = sovrnAnalyticsAdapter.enableAnalytics;
-
-// override enableAnalytics so we can get access to the config passed in from the page
-sovrnAnalyticsAdapter.enableAnalytics = function (config) {
- let sovrnId = ''
- if (config && config.options && (config.options.sovrnId || config.options.affiliateId)) {
- sovrnId = config.options.sovrnId || config.options.affiliateId;
- } else {
- logError('Need Sovrn Id to log auction results. Please contact a Sovrn representative if you do not know your Sovrn Id.')
- return
- }
- sovrnAnalyticsAdapter.sovrnId = sovrnId;
- if (config.options.pbaUrl) {
- pbaUrl = config.options.pbaUrl;
- }
- sovrnAnalyticsAdapter.originEnableAnalytics(config) // call the base class function
-};
-
-adaptermanager.registerAnalyticsAdapter({
- adapter: sovrnAnalyticsAdapter,
- code: 'sovrn'
-});
-
-/** Class Representing a Winning Bid */
-class BidWinner {
- /**
- * Creates a new bid winner
- * @param {string} sovrnId - the affiliate id from the analytics config
- * @param {*} event - the args object from the auction event
- */
- constructor(sovrnId, event) {
- this.body = {}
- // eslint-disable-next-line no-undef
- this.body.prebidVersion = $$REPO_AND_VERSION$$
- this.body.sovrnId = sovrnId
- this.body.winningBid = deepClone(event)
- this.body.url = rootURL
- this.body.payload = 'winner'
- delete this.body.winningBid.ad
- }
-
- /**
- * Sends the auction to the the ingest server
- */
- send() {
- this.body.ts = timestamp()
- ajax(
- pbaUrl,
- null,
- JSON.stringify(this.body),
- {
- contentType: 'application/json',
- method: 'POST',
- }
- )
- }
-}
-
-/** Class representing an Auction */
-class AuctionData {
- /**
- * Create a new auction data collector
- * @param {string} sovrnId - the affiliate id from the analytics config
- * @param {string} auctionId - the auction id from the auction event
- */
- constructor(sovrnId, auctionId) {
- this.auction = {}
- // eslint-disable-next-line no-undef
- this.auction.prebidVersion = $$REPO_AND_VERSION$$
- this.auction.sovrnId = sovrnId
- this.auction.auctionId = auctionId
- this.auction.payload = 'auction'
- this.auction.timeouts = {
- buffer: config.getConfig('timeoutBuffer'),
- bidder: config.getConfig('bidderTimeout'),
- }
- this.auction.priceGranularity = config.getConfig('priceGranularity')
- this.auction.url = rootURL
- this.auction.requests = []
- this.auction.unsynced = []
- this.dropBidFields = ['auctionId', 'ad', 'requestId', 'bidderCode']
-
- setTimeout(function(id) {
- delete currentAuctions[id]
- }, 300000, this.auction.auctionId)
- }
-
- /**
- * Record a bid request event
- * @param {*} event - the args object from the auction event
- */
- bidRequested(event) {
- const eventCopy = deepClone(event)
- delete eventCopy.doneCbCallCount
- delete eventCopy.auctionId
- this.auction.requests.push(eventCopy)
- }
-
- /**
- * Finds the bid from the auction that the event is associated with
- * @param {*} event - the args object from the auction event
- * @return {*} - the bid
- */
- findBid(event) {
- const bidder = find(this.auction.requests, r => (r.bidderCode === event.bidderCode))
- if (!bidder) {
- this.auction.unsynced.push(deepClone(event))
- }
- let bid = find(bidder.bids, b => (b.bidId === event.requestId))
-
- if (!bid) {
- event.unmatched = true
- bidder.bids.push(deepClone(event))
- }
- return bid
- }
-
- /**
- * Records the original bid before any adjustments have been made
- * @param {*} event - the args object from the auction event
- * NOTE: the bid adjustment occurs before the bid response
- * the bid adjustment seems to be the bid ready to be adjusted
- */
- originalBid(event) {
- let bid = this.findBid(event)
- if (bid) {
- Object.assign(bid, deepClone(event))
- this.dropBidFields.forEach((f) => delete bid[f])
- }
- }
-
- /**
- * Replaces original values with adjusted values and records the original values for changed values
- * in bid.originalValues
- * @param {*} event - the args object from the auction event
- */
- adjustedBid(event) {
- let bid = this.findBid(event)
- if (bid) {
- bid.originalValues = Object.keys(event).reduce((o, k) => {
- if (JSON.stringify(bid[k]) !== JSON.stringify(event[k]) && !includes(this.dropBidFields, k)) {
- o[k] = bid[k]
- bid[k] = event[k]
- }
- return o
- }, {})
- }
- }
-
- /**
- * Sends the auction to the the ingest server
- */
- send() {
- let maxBids = {}
- this.auction.requests.forEach(request => {
- request.bids.forEach(bid => {
- maxBids[bid.adUnitCode] = maxBids[bid.adUnitCode] || {cpm: 0}
- if (bid.cpm > maxBids[bid.adUnitCode].cpm) {
- maxBids[bid.adUnitCode] = bid
- }
- })
- })
- Object.keys(maxBids).forEach(unit => {
- maxBids[unit].isAuctionWinner = true
- })
- this.auction.ts = timestamp()
- ajax(
- pbaUrl,
- () => {
- currentAuctions[this.auction.auctionId] = {status: 'complete', auctionId: this.auction.auctionId}
- },
- JSON.stringify(this.auction),
- {
- contentType: 'application/json',
- method: 'POST',
- }
- )
- }
-}
-class LogError {
- constructor(e, sovrnId, data) {
- this.error = {}
- this.error.payload = 'error'
- this.error.message = e.message
- this.error.stack = e.stack
- this.error.data = data
- // eslint-disable-next-line no-undef
- this.error.prebidVersion = $$REPO_AND_VERSION$$
- this.error.sovrnId = sovrnId
- this.error.url = rootURL
- this.error.userAgent = navigator.userAgent
- }
- send() {
- if (this.error.data && this.error.data.requests) {
- this.error.data.requests.forEach(request => {
- if (request.bids) {
- request.bids.forEach(bid => {
- if (bid.ad) {
- delete bid.ad
- }
- })
- }
- })
- }
- if (ErrorEvent.data && this.error.data.ad) {
- delete this.error.data.ad
- }
- this.error.ts = timestamp()
- ajax(
- pbaUrl,
- null,
- JSON.stringify(this.error),
- {
- contentType: 'application/json',
- method: 'POST',
- }
- )
- }
-}
-
-export default sovrnAnalyticsAdapter;
diff --git a/modules/sovrnAnalyticsAdapter.md b/modules/sovrnAnalyticsAdapter.md
deleted file mode 100644
index b4fe7c971a2..00000000000
--- a/modules/sovrnAnalyticsAdapter.md
+++ /dev/null
@@ -1,23 +0,0 @@
-# Overview
-
-```
-Module Name: Sovrn Analytics Adapter
-Module Type: Analytics Adapter
-Maintainer: exchange@sovrn.com
-```
-
-# Description
-
-Sovrn's analytics adaptor allows you to view detailed auction information in Meridian.
-
-For more information, visit Sovrn.com.
-
-# Test Parameters
-```
-{
- provider: 'sovrn',
- options: {
- sovrnId: 'xxxxx', // Sovrn ID (required) you can get this by contacting Sovrn support.
- }
-}
-```
diff --git a/modules/sovrnBidAdapter.js b/modules/sovrnBidAdapter.js
index b6563cac4c5..53f6fb2f40d 100644
--- a/modules/sovrnBidAdapter.js
+++ b/modules/sovrnBidAdapter.js
@@ -28,6 +28,7 @@ const ORTB_VIDEO_PARAMS = {
'h': (value) => isInteger(value),
'startdelay': (value) => isInteger(value),
'placement': (value) => isInteger(value) && value >= 1 && value <= 5,
+ 'plcmt': (value) => isInteger(value) && value >= 1 && value <= 4,
'linearity': (value) => [1, 2].indexOf(value) !== -1,
'skip': (value) => [0, 1].indexOf(value) !== -1,
'skipmin': (value) => isInteger(value),
@@ -139,7 +140,7 @@ export const spec = {
}
const auctionEnvironment = bid?.ortb2Imp?.ext?.ae
- if (bidderRequest.fledgeEnabled && isInteger(auctionEnvironment)) {
+ if (bidderRequest.paapi?.enabled && isInteger(auctionEnvironment)) {
imp.ext = imp.ext || {}
imp.ext.ae = auctionEnvironment
} else {
@@ -288,7 +289,7 @@ export const spec = {
})
return {
bids,
- fledgeAuctionConfigs,
+ paapi: fledgeAuctionConfigs,
}
}
return bids
diff --git a/modules/spotxBidAdapter.js b/modules/spotxBidAdapter.js
deleted file mode 100644
index c1f1c5159fc..00000000000
--- a/modules/spotxBidAdapter.js
+++ /dev/null
@@ -1,528 +0,0 @@
-import {
- logError,
- deepAccess,
- isArray,
- getDNT,
- deepSetValue,
- isEmpty,
- _each,
- logMessage,
- logWarn,
- isBoolean,
- isNumber,
- isPlainObject,
- isFn,
- setScriptAttributes,
- getBidIdParameter
-} from '../src/utils.js';
-import { config } from '../src/config.js';
-import { Renderer } from '../src/Renderer.js';
-import { registerBidder } from '../src/adapters/bidderFactory.js';
-import { VIDEO } from '../src/mediaTypes.js';
-import { loadExternalScript } from '../src/adloader.js';
-
-/**
- * @typedef {import('../src/adapters/bidderFactory.js').BidRequest} BidRequest
- * @typedef {import('../src/adapters/bidderFactory.js').Bid} Bid
- * @typedef {import('../src/adapters/bidderFactory.js').ServerRequest} ServerRequest
- */
-
-const BIDDER_CODE = 'spotx';
-const URL = 'https://search.spotxchange.com/openrtb/2.3/dados/';
-const ORTB_VERSION = '2.3';
-export const GOOGLE_CONSENT = { consented_providers: ['3', '7', '11', '12', '15', '20', '22', '35', '43', '46', '48', '55', '57', '61', '62', '66', '70', '80', '83', '85', '86', '89', '93', '108', '122', '124', '125', '126', '131', '134', '135', '136', '143', '144', '147', '149', '153', '154', '159', '161', '162', '165', '167', '171', '178', '184', '188', '192', '195', '196', '202', '209', '211', '218', '221', '228', '229', '230', '236', '239', '241', '253', '255', '259', '266', '271', '272', '274', '286', '291', '294', '303', '308', '310', '311', '313', '314', '316', '317', '322', '323', '327', '336', '338', '340', '348', '350', '358', '359', '363', '367', '370', '371', '384', '385', '389', '393', '394', '397', '398', '407', '414', '415', '424', '429', '430', '432', '436', '438', '440', '442', '443', '445', '448', '449', '453', '459', '479', '482', '486', '491', '492', '494', '495', '503', '505', '510', '522', '523', '528', '537', '540', '550', '559', '560', '568', '571', '574', '575', '576', '584', '585', '587', '588', '590', '591', '592', '595', '609', '621', '624', '723', '725', '733', '737', '776', '780', '782', '787', '797', '798', '802', '803', '814', '817', '820', '821', '827', '829', '839', '853', '864', '867', '874', '899', '904', '922', '926', '931', '932', '933', '938', '955', '973', '976', '979', '981', '985', '987', '991', '1003', '1024', '1025', '1027', '1028', '1029', '1033', '1034', '1040', '1047', '1048', '1051', '1052', '1053', '1054', '1062', '1063', '1067', '1072', '1085', '1092', '1095', '1097', '1099', '1100', '1107', '1126', '1127', '1143', '1149', '1152', '1162', '1166', '1167', '1170', '1171', '1172', '1188', '1192', '1199', '1201', '1204', '1205', '1211', '1212', '1215', '1220', '1225', '1226', '1227', '1230', '1232', '1236', '1241', '1248', '1250', '1252', '1268', '1275', '1276', '1284', '1286', '1298', '1301', '1307', '1312', '1313', '1317', '1329', '1336', '1344', '1345', '1356', '1362', '1365', '1375', '1403', '1409', '1411', '1415', '1416', '1419', '1423', '1440', '1442', '1449', '1451', '1455', '1456', '1468', '1496', '1503', '1509', '1512', '1514', '1517', '1520', '1525', '1540', '1547', '1548', '1555', '1558', '1570', '1575', '1577', '1579', '1583', '1584', '1591', '1598', '1603', '1608', '1613', '1616', '1626', '1631', '1633', '1638', '1642', '1648', '1651', '1652', '1653', '1660', '1665', '1667', '1669', '1671', '1674', '1677', '1678', '1682', '1684', '1697', '1703', '1705', '1716', '1720', '1721', '1722', '1725', '1732', '1733', '1735', '1739', '1741', '1745', '1750', '1753', '1760', '1765', '1769', '1776', '1780', '1782', '1786', '1791', '1794', '1799', '1800', '1801', '1810', '1827', '1831', '1832', '1834', '1837', '1840', '1843', '1844', '1845', '1858', '1859', '1863', '1866', '1870', '1872', '1875', '1878', '1880', '1882', '1883', '1889', '1892', '1896', '1898', '1899', '1902', '1905', '1911', '1922', '1928', '1929', '1934', '1942', '1943', '1944', '1945', '1958', '1960', '1962', '1963', '1964', '1967', '1968', '1978', '1985', '1986', '1987', '1998', '2003', '2007', '2012', '2013', '2027', '2035', '2038', '2039', '2044', '2047', '2052', '2056', '2059', '2062', '2064', '2068', '2070', '2072', '2078', '2079', '2084', '2088', '2090', '2095', '2100', '2103', '2107', '2109', '2113', '2115', '2121', '2127', '2130', '2133', '2137', '2140', '2141', '2145', '2147', '2150', '2156', '2166', '2170', '2171', '2176', '2177', '2179', '2183', '2186', '2192', '2198', '2202', '2205', '2214', '2216', '2219', '2220', '2222', '2223', '2224', '2225', '2227', '2228', '2234', '2238', '2247', '2251', '2253', '2262', '2264', '2271', '2276', '2278', '2279', '2282', '2290', '2292', '2295', '2299', '2305', '2306', '2310', '2311', '2312', '2315', '2320', '2325', '2328', '2331', '2334', '2335', '2336', '2337', '2343', '2346', '2354', '2357', '2358', '2359', '2366', '2370', '2373', '2376', '2377', '2380', '2382', '2387', '2389', '2392', '2394', '2400', '2403', '2405', '2406', '2407', '2410', '2411', '2413', '2414', '2415', '2416', '2418', '2422', '2425', '2427', '2435', '2437', '2440', '2441', '2447', '2453', '2459', '2461', '2462', '2464', '2467', '2468', '2472', '2477', '2481', '2484', '2486', '2492', '2493', '2496', '2497', '2498', '2499', '2504', '2506', '2510', '2511', '2512', '2517', '2526', '2527', '2531', '2532', '2534', '2542', '2544', '2552', '2555', '2559', '2563', '2564', '2567', '2568', '2569', '2571', '2572', '2573', '2575', '2577', '2579', '2583', '2584', '2586', '2589', '2595', '2596', '2597', '2601', '2604', '2605', '2609', '2610', '2612', '2614', '2621', '2622', '2624', '2628', '2629', '2632', '2634', '2636', '2639', '2643', '2645', '2646', '2647', '2649', '2650', '2651', '2652', '2656', '2657', '2658', '2660', '2661', '2662', '2663', '2664', '2669', '2670', '2673', '2676', '2677', '2678', '2681', '2682', '2684', '2685', '2686', '2689', '2690', '2691', '2695', '2698', '2699', '2702', '2704', '2705', '2706', '2707', '2709', '2710', '2713', '2714', '2727', '2729', '2739', '2758', '2765', '2766', '2767', '2768', '2770', '2771', '2772', '2776', '2777', '2778', '2779', '2780', '2783', '2784', '2786', '2787', '2791', '2792', '2793', '2797', '2798', '2801', '2802', '2803', '2805', '2808', '2809', '2810', '2811', '2812', '2813', '2814', '2817', '2818', '2824', '2826', '2827', '2829', '2830', '2831', '2832', '2834', '2836', '2838', '2840', '2842', '2843', '2844', '2850', '2851', '2852', '2854', '2858', '2860', '2862', '2864', '2865', '2866', '2867', '2868', '2869', '2871'] };
-
-export const spec = {
- code: BIDDER_CODE,
- gvlid: 165,
- supportedMediaTypes: [VIDEO],
-
- /**
- * Determines whether or not the given bid request is valid.
- * From Prebid.js: isBidRequestValid - Verify the the AdUnits.bids, respond with true (valid) or false (invalid).
- *
- * @param {object} bid The bid to validate.
- * @return {boolean} True if this is a valid bid, and false otherwise.
- */
- isBidRequestValid: function(bid) {
- if (bid && typeof bid.params !== 'object') {
- logError(BIDDER_CODE + ': params is not defined or is incorrect in the bidder settings.');
- return false;
- }
-
- if (!deepAccess(bid, 'mediaTypes.video')) {
- logError(BIDDER_CODE + ': mediaTypes.video is not present in the bidder settings.');
- return false;
- }
-
- const playerSize = deepAccess(bid, 'mediaTypes.video.playerSize');
- if (!playerSize || !isArray(playerSize)) {
- logError(BIDDER_CODE + ': mediaTypes.video.playerSize is not defined in the bidder settings.');
- return false;
- }
-
- if (!getBidIdParameter('channel_id', bid.params)) {
- logError(BIDDER_CODE + ': channel_id is not present in bidder params');
- return false;
- }
-
- if (deepAccess(bid, 'mediaTypes.video.context') == 'outstream' || deepAccess(bid, 'params.ad_unit') == 'outstream') {
- if (!getBidIdParameter('outstream_function', bid.params)) {
- if (!getBidIdParameter('outstream_options', bid.params)) {
- logError(BIDDER_CODE + ': please define outstream_options parameter or override the default SpotX outstream rendering by defining your own Outstream function using field outstream_function.');
- return false;
- }
- if (!getBidIdParameter('slot', bid.params.outstream_options)) {
- logError(BIDDER_CODE + ': please define parameter slot in outstream_options object in the configuration.');
- return false;
- }
- }
- }
-
- return true;
- },
-
- /**
- * Make a server request from the list of BidRequests.
- * from Prebid.js: buildRequests - Takes an array of valid bid requests, all of which are guaranteed to have passed the isBidRequestValid() test.
- *
- * @param {BidRequest[]} bidRequests A non-empty list of bid requests which should be sent to the Server.
- * @param {object} bidderRequest - The master bidRequest object.
- * @return {ServerRequest} Info describing the request to the server.
- */
- buildRequests: function(bidRequests, bidderRequest) {
- // TODO: does the fallback make sense here?
- const referer = bidderRequest.refererInfo.page || bidderRequest.refererInfo.topmostLocation;
- const isPageSecure = !!referer.match(/^https:/);
-
- const siteId = '';
- const spotxRequests = bidRequests.map(function(bid) {
- let page;
- if (getBidIdParameter('page', bid.params)) {
- page = getBidIdParameter('page', bid.params);
- } else {
- page = referer;
- }
-
- const channelId = getBidIdParameter('channel_id', bid.params);
- let pubcid = null;
-
- const playerSize = deepAccess(bid, 'mediaTypes.video.playerSize');
- const contentWidth = playerSize[0][0];
- const contentHeight = playerSize[0][1];
-
- const secure = isPageSecure || (getBidIdParameter('secure', bid.params) ? 1 : 0);
-
- const ext = {
- sdk_name: 'Prebid 1+',
- versionOrtb: ORTB_VERSION
- };
-
- if (getBidIdParameter('hide_skin', bid.params) != '') {
- ext.hide_skin = +!!getBidIdParameter('hide_skin', bid.params);
- }
-
- if (getBidIdParameter('ad_volume', bid.params) != '') {
- ext.ad_volume = getBidIdParameter('ad_volume', bid.params);
- }
-
- if (getBidIdParameter('ad_unit', bid.params) != '') {
- ext.ad_unit = getBidIdParameter('ad_unit', bid.params);
- }
-
- if (getBidIdParameter('outstream_options', bid.params) != '') {
- ext.outstream_options = getBidIdParameter('outstream_options', bid.params);
- }
-
- if (getBidIdParameter('outstream_function', bid.params) != '') {
- ext.outstream_function = getBidIdParameter('outstream_function', bid.params);
- }
-
- if (getBidIdParameter('custom', bid.params) != '') {
- ext.custom = getBidIdParameter('custom', bid.params);
- }
-
- if (getBidIdParameter('pre_market_bids', bid.params) != '' && isArray(getBidIdParameter('pre_market_bids', bid.params))) {
- const preMarketBids = getBidIdParameter('pre_market_bids', bid.params);
- ext.pre_market_bids = [];
- for (let i in preMarketBids) {
- const preMarketBid = preMarketBids[i];
- let vastStr = '';
- if (preMarketBid['vast_url']) {
- vastStr = '' + preMarketBid['vast_url'] + '';
- } else if (preMarketBid['vast_string']) {
- vastStr = preMarketBid['vast_string'];
- }
- ext.pre_market_bids.push({
- id: preMarketBid['deal_id'],
- seatbid: [{
- bid: [{
- impid: Date.now(),
- dealid: preMarketBid['deal_id'],
- price: preMarketBid['price'],
- adm: vastStr
- }]
- }],
- cur: preMarketBid['currency'],
- ext: {
- event_log: [{}]
- }
- });
- }
- }
-
- const mimes = getBidIdParameter('mimes', bid.params) || deepAccess(bid, 'mediaTypes.video.mimes') || ['application/javascript', 'video/mp4', 'video/webm'];
-
- const spotxReq = {
- id: bid.bidId,
- secure: secure,
- video: {
- w: contentWidth,
- h: contentHeight,
- ext: ext,
- mimes: mimes
- }
- };
-
- if (isFn(bid.getFloor)) {
- let floorInfo = bid.getFloor({
- currency: 'USD',
- mediaType: 'video',
- size: '*'
- });
-
- if (floorInfo.currency === 'USD') {
- spotxReq.bidfloor = floorInfo.floor;
- }
- } else if (getBidIdParameter('price_floor', bid.params) != '') {
- spotxReq.bidfloor = getBidIdParameter('price_floor', bid.params);
- }
-
- const startdelay = getBidIdParameter('start_delay', bid.params) || deepAccess(bid, 'mediaTypes.video.startdelay');
- if (startdelay) {
- spotxReq.video.startdelay = 0 + Boolean(startdelay);
- }
-
- const minduration = getBidIdParameter('min_duration', bid.params) || deepAccess(bid, 'mediaTypes.video.minduration');
- if (minduration) {
- spotxReq.video.minduration = minduration;
- }
-
- const maxduration = getBidIdParameter('max_duration', bid.params) || deepAccess(bid, 'mediaTypes.video.maxduration');
- if (maxduration) {
- spotxReq.video.maxduration = maxduration;
- }
-
- const placement = getBidIdParameter('placement_type', bid.params) || deepAccess(bid, 'mediaTypes.video.placement');
- if (placement) {
- spotxReq.video.ext.placement = placement;
- }
-
- const position = getBidIdParameter('position', bid.params) || deepAccess(bid, 'mediaTypes.video.pos');
- if (position) {
- spotxReq.video.ext.pos = position;
- }
-
- if (bid.crumbs && bid.crumbs.pubcid) {
- pubcid = bid.crumbs.pubcid;
- }
-
- const language = navigator.language ? 'language' : 'userLanguage';
- const device = {
- h: screen.height,
- w: screen.width,
- dnt: getDNT() ? 1 : 0,
- language: navigator[language].split('-')[0],
- make: navigator.vendor ? navigator.vendor : '',
- ua: navigator.userAgent
- };
-
- const requestPayload = {
- id: channelId,
- imp: spotxReq,
- site: {
- id: siteId,
- page: page,
- content: 'content',
- },
- device: device,
- ext: {
- wrap_response: 1
- }
- };
-
- // If the publisher asks to ignore the bidder cache key we need to return the full vast xml
- // so that it can be cached on the publishes specified server.
- if (!!config.getConfig('cache') && !!config.getConfig('cache.url') && (config.getConfig('cache.ignoreBidderCacheKey') === true)) {
- requestPayload['ext']['wrap_response'] = 0;
- }
-
- if (getBidIdParameter('number_of_ads', bid.params)) {
- requestPayload['ext']['number_of_ads'] = getBidIdParameter('number_of_ads', bid.params);
- }
-
- const userExt = {};
-
- if (getBidIdParameter('spotx_all_google_consent', bid.params) == 1) {
- userExt['consented_providers_settings'] = GOOGLE_CONSENT;
- }
-
- // Add GDPR flag and consent string
- if (bidderRequest && bidderRequest.gdprConsent) {
- userExt.consent = bidderRequest.gdprConsent.consentString;
-
- if (typeof bidderRequest.gdprConsent.gdprApplies !== 'undefined') {
- deepSetValue(requestPayload, 'regs.ext.gdpr', (bidderRequest.gdprConsent.gdprApplies ? 1 : 0));
- }
- }
-
- if (bidderRequest && bidderRequest.uspConsent) {
- deepSetValue(requestPayload, 'regs.ext.us_privacy', bidderRequest.uspConsent);
- }
-
- if (bid.userIdAsEids) {
- userExt.eids = bid.userIdAsEids;
-
- userExt.eids.forEach(eid => {
- if (eid.source === 'uidapi.com') {
- eid.uids.forEach(uid => {
- uid.ext = uid.ext || {};
- uid.ext.rtiPartner = 'UID2'
- });
- }
- });
- }
-
- // Add common id if available
- if (pubcid) {
- userExt.fpc = pubcid;
- }
-
- // Add schain object if it is present
- if (bid && bid.schain) {
- requestPayload['source'] = {
- ext: {
- schain: bid.schain
- }
- };
- }
-
- // Only add the user object if it's not empty
- if (!isEmpty(userExt)) {
- requestPayload.user = { ext: userExt };
- }
- const urlQueryParams = 'src_sys=prebid';
- return {
- method: 'POST',
- url: URL + channelId + '?' + urlQueryParams,
- data: requestPayload,
- bidRequest: bidderRequest
- };
- });
-
- return spotxRequests;
- },
-
- /**
- * Unpack the response from the server into a list of bids.
- *
- * @param {*} serverResponse A successful response from the server.
- * @return {Bid[]} An array of bids which were nested inside the server.
- */
- interpretResponse: function(serverResponse, bidderRequest) {
- const bidResponses = [];
- const serverResponseBody = serverResponse.body;
-
- if (serverResponseBody && isArray(serverResponseBody.seatbid)) {
- _each(serverResponseBody.seatbid, function(bids) {
- _each(bids.bid, function(spotxBid) {
- let currentBidRequest = {};
- for (let i in bidderRequest.bidRequest.bids) {
- if (spotxBid.impid == bidderRequest.bidRequest.bids[i].bidId) {
- currentBidRequest = bidderRequest.bidRequest.bids[i];
- }
- }
-
- /**
- * Make sure currency and price are the right ones
- * TODO: what about the pre_market_bid partners sizes?
- */
- _each(currentBidRequest.params.pre_market_bids, function(pmb) {
- if (pmb.deal_id == spotxBid.id) {
- spotxBid.price = pmb.price;
- serverResponseBody.cur = pmb.currency;
- }
- });
-
- const bid = {
- requestId: currentBidRequest.bidId,
- currency: serverResponseBody.cur || 'USD',
- cpm: spotxBid.price,
- creativeId: spotxBid.crid || '',
- dealId: spotxBid.dealid || '',
- ttl: 360,
- netRevenue: true,
- channel_id: serverResponseBody.id,
- mediaType: VIDEO,
- width: spotxBid.w,
- height: spotxBid.h
- };
-
- if (!!config.getConfig('cache') && !!config.getConfig('cache.url') && (config.getConfig('cache.ignoreBidderCacheKey') === true)) {
- bid.vastXml = spotxBid.adm;
- } else {
- bid.cache_key = spotxBid.ext.cache_key;
- bid.vastUrl = 'https://search.spotxchange.com/ad/vast.html?key=' + spotxBid.ext.cache_key;
- bid.videoCacheKey = spotxBid.ext.cache_key;
- }
-
- bid.meta = bid.meta || {};
- if (spotxBid && spotxBid.adomain && spotxBid.adomain.length > 0) {
- bid.meta.advertiserDomains = spotxBid.adomain;
- }
-
- const context1 = deepAccess(currentBidRequest, 'mediaTypes.video.context');
- const context2 = deepAccess(currentBidRequest, 'params.ad_unit');
- if (context1 == 'outstream' || context2 == 'outstream') {
- const playersize = deepAccess(currentBidRequest, 'mediaTypes.video.playerSize');
- const renderer = Renderer.install({
- id: 0,
- renderNow: true,
- url: '/',
- config: {
- adText: 'SpotX Outstream Video Ad via Prebid.js',
- player_width: playersize[0][0],
- player_height: playersize[0][1],
- content_page_url: deepAccess(bidderRequest, 'data.site.page'),
- ad_mute: +!!deepAccess(currentBidRequest, 'params.ad_mute'),
- hide_skin: +!!deepAccess(currentBidRequest, 'params.hide_skin'),
- outstream_options: deepAccess(currentBidRequest, 'params.outstream_options'),
- outstream_function: deepAccess(currentBidRequest, 'params.outstream_function')
- }
- });
-
- try {
- renderer.setRender(outstreamRender);
- renderer.setEventHandlers({
- impression: function impression() {
- return logMessage('SpotX outstream video impression event');
- },
- loaded: function loaded() {
- return logMessage('SpotX outstream video loaded event');
- },
- ended: function ended() {
- logMessage('SpotX outstream renderer video event');
- }
- });
- } catch (err) {
- logWarn('Prebid Error calling setRender or setEventHandlers on renderer', err);
- }
- bid.renderer = renderer;
- }
-
- bidResponses.push(bid);
- })
- });
- }
-
- return bidResponses;
- }
-}
-
-function createOutstreamScript(bid) {
- const script = window.document.createElement('script');
- let dataSpotXParams = createScriptAttributeMap(bid);
-
- script.type = 'text/javascript';
- script.src = 'https://js.spotx.tv/easi/v1/' + bid.channel_id + '.js';
-
- setScriptAttributes(script, dataSpotXParams);
-
- return script;
-}
-
-function outstreamRender(bid) {
- if (bid.renderer.config.outstream_function != null && typeof bid.renderer.config.outstream_function === 'function') {
- const script = createOutstreamScript(bid);
- bid.renderer.config.outstream_function(bid, script);
- } else {
- try {
- const inIframe = getBidIdParameter('in_iframe', bid.renderer.config.outstream_options);
- const easiUrl = 'https://js.spotx.tv/easi/v1/' + bid.channel_id + '.js';
- let attributes = createScriptAttributeMap(bid);
- if (inIframe && window.document.getElementById(inIframe).nodeName == 'IFRAME') {
- const rawframe = window.document.getElementById(inIframe);
- let framedoc = rawframe.contentDocument;
- if (!framedoc && rawframe.contentWindow) {
- framedoc = rawframe.contentWindow.document;
- }
- loadExternalScript(easiUrl, BIDDER_CODE, undefined, framedoc, attributes);
- } else {
- loadExternalScript(easiUrl, BIDDER_CODE, undefined, undefined, attributes);
- }
- } catch (err) {
- logError('[SPOTX][renderer] Error:' + err.message);
- }
- }
-}
-
-function createScriptAttributeMap(bid) {
- const slot = getBidIdParameter('slot', bid.renderer.config.outstream_options);
- logMessage('[SPOTX][renderer] Handle SpotX outstream renderer');
- let dataSpotXParams = {};
- dataSpotXParams['data-spotx_channel_id'] = '' + bid.channel_id;
- dataSpotXParams['data-spotx_vast_url'] = '' + bid.vastUrl;
- dataSpotXParams['data-spotx_content_page_url'] = bid.renderer.config.content_page_url;
- dataSpotXParams['data-spotx_ad_unit'] = 'incontent';
-
- logMessage('[SPOTX][renderer] Default behavior');
- if (getBidIdParameter('ad_mute', bid.renderer.config.outstream_options)) {
- dataSpotXParams['data-spotx_ad_mute'] = '1';
- }
- dataSpotXParams['data-spotx_collapse'] = '0';
- dataSpotXParams['data-spotx_autoplay'] = '1';
- dataSpotXParams['data-spotx_blocked_autoplay_override_mode'] = '1';
- dataSpotXParams['data-spotx_video_slot_can_autoplay'] = '1';
- dataSpotXParams['data-spotx_content_container_id'] = slot;
-
- const playersizeAutoAdapt = getBidIdParameter('playersize_auto_adapt', bid.renderer.config.outstream_options);
- if (playersizeAutoAdapt && isBoolean(playersizeAutoAdapt) && playersizeAutoAdapt === true) {
- const ratio = bid.width && isNumber(bid.width) && bid.height && isNumber(bid.height) ? bid.width / bid.height : 4 / 3;
- const slotClientWidth = window.document.getElementById(slot).clientWidth;
- let playerWidth = bid.renderer.config.player_width;
- let playerHeight = bid.renderer.config.player_height;
- let contentWidth = 0;
- let contentHeight = 0;
- if (slotClientWidth < playerWidth) {
- playerWidth = slotClientWidth;
- playerHeight = playerWidth / ratio;
- }
- if (ratio <= 1) {
- contentWidth = Math.round(playerHeight * ratio);
- contentHeight = playerHeight;
- } else {
- contentWidth = playerWidth;
- contentHeight = Math.round(playerWidth / ratio);
- }
-
- dataSpotXParams['data-spotx_content_width'] = '' + contentWidth;
- dataSpotXParams['data-spotx_content_height'] = '' + contentHeight;
- }
-
- const customOverride = getBidIdParameter('custom_override', bid.renderer.config.outstream_options);
- if (customOverride && isPlainObject(customOverride)) {
- logMessage('[SPOTX][renderer] Custom behavior.');
- for (let name in customOverride) {
- if (customOverride.hasOwnProperty(name)) {
- if (name === 'channel_id' || name === 'vast_url' || name === 'content_page_url' || name === 'ad_unit') {
- logWarn('[SPOTX][renderer] Custom behavior: following option cannot be overridden: ' + name);
- } else {
- dataSpotXParams['data-spotx_' + name] = customOverride[name];
- }
- }
- }
- }
- return dataSpotXParams;
-}
-
-registerBidder(spec);
diff --git a/modules/spotxBidAdapter.md b/modules/spotxBidAdapter.md
deleted file mode 100644
index 0bd1cf71aa1..00000000000
--- a/modules/spotxBidAdapter.md
+++ /dev/null
@@ -1,136 +0,0 @@
-# Overview
-
-```
-Module Name: SpotX Bidder Adapter
-Module Type: Bidder Adapter
-Maintainer: teameighties@spotx.tv
-```
-
-# Description
-
-Connect to SpotX for bids.
-
-This adapter requires setup and approval from the SpotX team.
-
-# Test Parameters - Use case #1 - outstream with default rendering options
-```
- var adUnits = [{
- code: 'something',
- mediaTypes: {
- video: {
- context: 'outstream', // 'instream' or 'outstream'
- playerSize: [640, 480]
- }
- },
- bids: [{
- bidder: 'spotx',
- params: {
- channel_id: 85394,
- ad_unit: 'outstream',
- outstream_options: { // Needed for the default outstream renderer - fields video_slot/content_width/content_height are mandatory
- slot: 'adSlot1',
- content_width: 300,
- content_height: 250
- }
- }
- }]
- }];
-```
-
-# Test Parameters - Use case #2 - outstream with default rendering options + some other options
-```
- var adUnits = [{
- code: 'something',
- mediaTypes: {
- video: {
- context: 'outstream', // 'instream' or 'outstream'
- playerSize: [640, 480]
- }
- },
- bids: [{
- bidder: 'spotx',
- params: {
- channel_id: 85394,
- ad_unit: 'outstream',
- outstream_options: {
- slot: 'adSlot1',
- custom_override: { // This option is not mandatory though used to override default renderer parameters using EASI player options in here: https://developer.spotxchange.com/content/local/docs/sdkDocs/EASI/README.md
- content_width: 300,
- content_height: 250,
- collapse: '1',
- hide_fullscreen: '1',
- unmute_on_mouse: '1',
- continue_out_of_view: '1',
- ad_volume: '100',
- content_container_id: 'video1',
- hide_skin: '1',
- spotx_all_google_consent: '1'
- }
- }
- }
- }]
- }];
-```
-
-# Test Parameters - Use case #3 - outstream with your own outstream redering function
-```
- var adUnits = [{
- code: 'something',
- mediaTypes: {
- video: {
- context: 'outstream', // 'instream' or 'outstream'
- playerSize: [640, 480]
- }
- },
- bids: [{
- bidder: 'spotx',
- params: {
- channel_id: 79391,
- ad_unit: 'outstream',
- outstream_function: myOutstreamFunction // Override the default outstream renderer by this referenced function
- }
- }]
- }];
-```
-
-# Sample of a custom outstream rendering function
-```
-function myOutstreamFunction(bid) {
- const videoDiv = 'video1';
- const playerWidth = 300;
- const playerHeight = 250;
-
- window.console.log('[SPOTX][renderer] Handle SpotX custom outstream renderer');
- let script = window.document.createElement('script');
- script.type = 'text/javascript';
- script.src = '//js.spotx.tv/easi/v1/' + bid.channel_id + '.js';
- script.setAttribute('data-spotx_channel_id', '' + bid.channel_id);
- script.setAttribute('data-spotx_vast_url', '' + bid.vastUrl);
- script.setAttribute('data-spotx_content_width', playerWidth);
- script.setAttribute('data-spotx_content_height', playerHeight);
- script.setAttribute('data-spotx_content_page_url', bid.renderer.config.content_page_url);
- if (bid.renderer.config.ad_mute) {
- script.setAttribute('data-spotx_ad_mute', '0');
- }
- script.setAttribute('data-spotx_ad_unit', 'incontent');
- script.setAttribute('data-spotx_collapse', '0');
- script.setAttribute('data-spotx_hide_fullscreen', '1');
- script.setAttribute('data-spotx_autoplay', '1');
- script.setAttribute('data-spotx_blocked_autoplay_override_mode', '1');
- script.setAttribute('data-spotx_video_slot_can_autoplay', '1');
- script.setAttribute('data-spotx_unmute_on_mouse', '1');
- script.setAttribute('data-spotx_click_to_replay', '1');
- script.setAttribute('data-spotx_continue_out_of_view', '1');
- script.setAttribute('data-spotx_ad_volume', '100');
- if (bid.renderer.config.inIframe && window.document.getElementById(bid.renderer.config.inIframe).nodeName == 'IFRAME') {
- let rawframe = window.document.getElementById(bid.renderer.config.inIframe);
- let framedoc = rawframe.contentDocument;
- if (!framedoc && rawframe.contentWindow) {
- framedoc = rawframe.contentWindow.document;
- }
- framedoc.body.appendChild(script);
- } else {
- window.document.getElementById(videoDiv).appendChild(script);
- }
-};
-```
diff --git a/modules/staqAnalyticsAdapter.js b/modules/staqAnalyticsAdapter.js
deleted file mode 100644
index ac5e86db19d..00000000000
--- a/modules/staqAnalyticsAdapter.js
+++ /dev/null
@@ -1,433 +0,0 @@
-import { logInfo, logError, parseUrl, _each } from '../src/utils.js';
-import adapter from '../libraries/analyticsAdapter/AnalyticsAdapter.js';
-import { EVENTS } from '../src/constants.js';
-import adapterManager from '../src/adapterManager.js';
-import { getRefererInfo } from '../src/refererDetection.js';
-import { ajax } from '../src/ajax.js';
-import {getStorageManager} from '../src/storageManager.js';
-import {MODULE_TYPE_ANALYTICS} from '../src/activities/modules.js';
-
-const MODULE_CODE = 'staq';
-const storageObj = getStorageManager({moduleType: MODULE_TYPE_ANALYTICS, moduleName: MODULE_CODE});
-
-const ANALYTICS_VERSION = '1.0.0';
-const DEFAULT_QUEUE_TIMEOUT = 4000;
-const DEFAULT_HOST = 'tag.staq.com';
-
-let staqAdapterRefWin;
-
-const STAQ_EVENTS = {
- AUCTION_INIT: 'auctionInit',
- BID_REQUEST: 'bidRequested',
- BID_RESPONSE: 'bidResponse',
- BID_WON: 'bidWon',
- AUCTION_END: 'auctionEnd',
- TIMEOUT: 'adapterTimedOut'
-};
-
-function buildRequestTemplate(connId) {
- // TODO: what should these pick from refererInfo?
- const url = staqAdapterRefWin.topmostLocation;
- const ref = staqAdapterRefWin.topmostLocation;
- const topLocation = staqAdapterRefWin.topmostLocation;
-
- return {
- ver: ANALYTICS_VERSION,
- domain: topLocation.hostname,
- path: topLocation.pathname,
- userAgent: navigator.userAgent,
- connId: connId,
- env: {
- screen: {
- w: window.screen.width,
- h: window.screen.height
- },
- lang: navigator.language
- },
- src: getUmtSource(url, ref)
- }
-}
-
-let analyticsAdapter = Object.assign(adapter({ analyticsType: 'endpoint' }), {
- track({ eventType, args }) {
- if (!analyticsAdapter.context) {
- return;
- }
- let handler = null;
- switch (eventType) {
- case EVENTS.AUCTION_INIT:
- if (analyticsAdapter.context.queue) {
- analyticsAdapter.context.queue.init();
- }
- handler = trackAuctionInit;
- break;
- case EVENTS.BID_REQUESTED:
- handler = trackBidRequest;
- break;
- case EVENTS.BID_RESPONSE:
- handler = trackBidResponse;
- break;
- case EVENTS.BID_WON:
- handler = trackBidWon;
- break;
- case EVENTS.BID_TIMEOUT:
- handler = trackBidTimeout;
- break;
- case EVENTS.AUCTION_END:
- handler = trackAuctionEnd;
- break;
- }
- if (handler) {
- let events = handler(args);
- if (analyticsAdapter.context.queue) {
- analyticsAdapter.context.queue.push(events);
- if (eventType === EVENTS.BID_WON) {
- analyticsAdapter.context.queue.updateWithWins(events);
- }
- }
- if (eventType === EVENTS.AUCTION_END) {
- sendAll();
- }
- }
- }
-});
-
-analyticsAdapter.context = {};
-
-analyticsAdapter.originEnableAnalytics = analyticsAdapter.enableAnalytics;
-
-analyticsAdapter.enableAnalytics = (config) => {
- logInfo('Enabling STAQ Adapter');
- staqAdapterRefWin = getRefererInfo(window);
- if (!config.options.connId) {
- logError('ConnId is not defined. STAQ Analytics won\'t work');
- return;
- }
- if (!config.options.url) {
- logError('URL is not defined. STAQ Analytics won\'t work');
- return;
- }
- analyticsAdapter.context = {
- host: config.options.host || DEFAULT_HOST,
- url: config.options.url,
- connectionId: config.options.connId,
- requestTemplate: buildRequestTemplate(config.options.connId),
- queue: new ExpiringQueue(sendAll, config.options.queueTimeout || DEFAULT_QUEUE_TIMEOUT)
- };
- analyticsAdapter.originEnableAnalytics(config);
-};
-
-adapterManager.registerAnalyticsAdapter({
- adapter: analyticsAdapter,
- code: MODULE_CODE,
-});
-
-export default analyticsAdapter;
-
-function sendAll() {
- let events = analyticsAdapter.context.queue.popAll();
- if (events.length !== 0) {
- let req = analyticsAdapter.context.requestTemplate;
- req.auctionId = analyticsAdapter.context.auctionId;
- req.events = events
-
- analyticsAdapter.ajaxCall(JSON.stringify(req));
- }
-}
-
-analyticsAdapter.ajaxCall = function ajaxCall(data) {
- logInfo('SENDING DATA: ' + data);
- ajax(`https://${analyticsAdapter.context.url}/prebid/${analyticsAdapter.context.connectionId}`, () => {}, data, { contentType: 'text/plain' });
-};
-
-function trackAuctionInit(args) {
- analyticsAdapter.context.auctionTimeStart = Date.now();
- analyticsAdapter.context.auctionId = args.auctionId;
- const event = createHbEvent(args.auctionId, undefined, STAQ_EVENTS.AUCTION_INIT);
- return [event];
-}
-
-function trackBidRequest(args) {
- return args.bids.map(bid =>
- createHbEvent(args.auctionId, args.bidderCode, STAQ_EVENTS.BID_REQUEST, bid.adUnitCode));
-}
-
-function trackBidResponse(args) {
- const event = createHbEvent(args.auctionId, args.bidderCode, STAQ_EVENTS.BID_RESPONSE,
- args.adUnitCode, args.cpm, args.timeToRespond / 1000, false, args);
- return [event];
-}
-
-function trackBidWon(args) {
- const event = createHbEvent(args.auctionId, args.bidderCode, STAQ_EVENTS.BID_WON, args.adUnitCode, args.cpm, undefined, true, args);
- return [event];
-}
-
-function trackAuctionEnd(args) {
- const event = createHbEvent(args.auctionId, undefined, STAQ_EVENTS.AUCTION_END, undefined,
- undefined, (Date.now() - analyticsAdapter.context.auctionTimeStart) / 1000);
- return [event];
-}
-
-function trackBidTimeout(args) {
- return args.map(arg => createHbEvent(arg.auctionId, arg.bidderCode, STAQ_EVENTS.TIMEOUT));
-}
-
-function createHbEvent(auctionId, adapter, event, adUnitCode = undefined, value = 0, time = 0, bidWon = undefined, eventArgs) {
- let ev = { event: event };
- if (adapter) {
- ev.adapter = adapter;
- ev.bidderName = adapter;
- }
- if (adUnitCode) {
- ev.adUnitCode = adUnitCode;
- }
- if (value) {
- ev.cpm = value;
- }
- if (time) {
- ev.timeToRespond = time;
- }
- if (typeof bidWon !== 'undefined') {
- ev.bidWon = bidWon;
- } else if (event === 'bidResponse') {
- ev.bidWon = false;
- }
- ev.auctionId = auctionId;
-
- if (eventArgs) {
- if (STAQ_EVENTS.BID_RESPONSE == event || STAQ_EVENTS.BID_WON == event) {
- ev.width = eventArgs.width;
- ev.height = eventArgs.height;
-
- ev.adId = eventArgs.adId;
- }
- }
-
- return ev;
-}
-
-const UTM_TAGS = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',
- 'utm_c1', 'utm_c2', 'utm_c3', 'utm_c4', 'utm_c5'
-];
-const STAQ_PREBID_KEY = 'staq_analytics';
-const DIRECT = '(direct)';
-const REFERRAL = '(referral)';
-const ORGANIC = '(organic)';
-
-export let storage = {
- getItem: (name) => {
- return storageObj.getDataFromLocalStorage(name);
- },
- setItem: (name, value) => {
- storageObj.setDataInLocalStorage(name, value);
- }
-};
-
-export function getUmtSource(pageUrl, referrer) {
- let prevUtm = getPreviousTrafficSource();
- let currUtm = getCurrentTrafficSource(pageUrl, referrer);
- let [updated, actual] = chooseActualUtm(prevUtm, currUtm);
- if (updated) {
- storeUtm(actual);
- }
- return actual;
-
- function getPreviousTrafficSource() {
- let val = storage.getItem(STAQ_PREBID_KEY);
- if (!val) {
- return getDirect();
- }
- return JSON.parse(val);
- }
-
- function getCurrentTrafficSource(pageUrl, referrer) {
- var source = getUTM(pageUrl);
- if (source) {
- return source;
- }
- if (referrer) {
- let se = getSearchEngine(referrer);
- if (se) {
- return asUtm(se, ORGANIC, ORGANIC);
- }
- let parsedUrl = parseUrl(pageUrl);
- let [refHost, refPath] = getReferrer(referrer);
- if (refHost && refHost !== parsedUrl.hostname) {
- return asUtm(refHost, REFERRAL, REFERRAL, '', refPath);
- }
- }
- return getDirect();
- }
-
- function getSearchEngine(pageUrl) {
- let engines = {
- 'google': /^https?\:\/\/(?:www\.)?(?:google\.(?:com?\.)?(?:com|cat|[a-z]{2})|g.cn)\//i,
- 'yandex': /^https?\:\/\/(?:www\.)?ya(?:ndex\.(?:com|net)?\.?(?:asia|mobi|org|[a-z]{2})?|\.ru)\//i,
- 'bing': /^https?\:\/\/(?:www\.)?bing\.com\//i,
- 'duckduckgo': /^https?\:\/\/(?:www\.)?duckduckgo\.com\//i,
- 'ask': /^https?\:\/\/(?:www\.)?ask\.com\//i,
- 'yahoo': /^https?\:\/\/(?:[-a-z]+\.)?(?:search\.)?yahoo\.com\//i
- };
-
- for (let engine in engines) {
- if (engines.hasOwnProperty(engine) && engines[engine].test(pageUrl)) {
- return engine;
- }
- }
- }
-
- function getReferrer(referrer) {
- let ref = parseUrl(referrer);
- return [ref.hostname, ref.pathname];
- }
-
- function getUTM(pageUrl) {
- let urlParameters = parseUrl(pageUrl).search;
- if (!urlParameters['utm_campaign'] || !urlParameters['utm_source']) {
- return;
- }
- let utmArgs = [];
- _each(UTM_TAGS, (utmTagName) => {
- let utmValue = urlParameters[utmTagName] || '';
- utmArgs.push(utmValue);
- });
- return asUtm.apply(this, utmArgs);
- }
-
- function getDirect() {
- return asUtm(DIRECT, DIRECT, DIRECT);
- }
-
- function storeUtm(utm) {
- let val = JSON.stringify(utm);
- storage.setItem(STAQ_PREBID_KEY, val);
- }
-
- function asUtm(source, medium, campaign, term = '', content = '', c1 = '', c2 = '', c3 = '', c4 = '', c5 = '') {
- let result = {
- source: source,
- medium: medium,
- campaign: campaign
- };
- if (term) {
- result.term = term;
- }
- if (content) {
- result.content = content;
- }
- if (c1) {
- result.c1 = c1;
- }
- if (c2) {
- result.c2 = c2;
- }
- if (c3) {
- result.c3 = c3;
- }
- if (c4) {
- result.c4 = c4;
- }
- if (c5) {
- result.c5 = c5;
- }
- return result;
- }
-
- function chooseActualUtm(prev, curr) {
- if (ord(prev) < ord(curr)) {
- return [true, curr];
- }
- if (ord(prev) > ord(curr)) {
- return [false, prev];
- } else {
- if (prev.campaign === REFERRAL && prev.content !== curr.content) {
- return [true, curr];
- } else if (prev.campaign === ORGANIC && prev.source !== curr.source) {
- return [true, curr];
- } else if (isCampaignTraffic(prev) && (prev.campaign !== curr.campaign || prev.source !== curr.source)) {
- return [true, curr];
- }
- }
- return [false, prev];
- }
-
- function ord(utm) {
- switch (utm.campaign) {
- case DIRECT:
- return 0;
- case ORGANIC:
- return 1;
- case REFERRAL:
- return 2;
- default:
- return 3;
- }
- }
-
- function isCampaignTraffic(utm) {
- return [DIRECT, REFERRAL, ORGANIC].indexOf(utm.campaign) === -1;
- }
-}
-
-/**
- * Expiring queue implementation. Fires callback on elapsed timeout since last last update or creation.
- * @param callback
- * @param ttl
- * @constructor
- */
-export function ExpiringQueue(callback, ttl) {
- let queue = [];
- let timeoutId;
-
- this.push = (event) => {
- if (event instanceof Array) {
- queue.push.apply(queue, event);
- } else {
- queue.push(event);
- }
- reset();
- };
-
- this.updateWithWins = (winEvents) => {
- winEvents.forEach(winEvent => {
- queue.forEach(prevEvent => {
- if (prevEvent.event === 'bidResponse' &&
- prevEvent.auctionId == winEvent.auctionId &&
- prevEvent.adUnitCode == winEvent.adUnitCode &&
- prevEvent.adId == winEvent.adId &&
- prevEvent.adapter == winEvent.adapter) {
- prevEvent.bidWon = true;
- }
- });
- });
- }
-
- this.popAll = () => {
- let result = queue;
- queue = [];
- reset();
- return result;
- };
-
- /**
- * For test/debug purposes only
- * @return {Array}
- */
- this.peekAll = () => {
- return queue;
- };
-
- this.init = reset;
-
- function reset() {
- if (timeoutId) {
- clearTimeout(timeoutId);
- }
- timeoutId = setTimeout(() => {
- if (queue.length) {
- callback();
- }
- }, ttl);
- }
-}
diff --git a/modules/taboolaBidAdapter.js b/modules/taboolaBidAdapter.js
index ab5d5fef139..5fa7f2c8b8e 100644
--- a/modules/taboolaBidAdapter.js
+++ b/modules/taboolaBidAdapter.js
@@ -206,7 +206,7 @@ export const spec = {
if (fledgeAuctionConfigs.length) {
return {
bids,
- fledgeAuctionConfigs,
+ paapi: fledgeAuctionConfigs,
};
}
return bids;
diff --git a/modules/gdprEnforcement.js b/modules/tcfControl.js
similarity index 90%
rename from modules/gdprEnforcement.js
rename to modules/tcfControl.js
index caa498c7364..603c91443a3 100644
--- a/modules/gdprEnforcement.js
+++ b/modules/tcfControl.js
@@ -6,8 +6,8 @@ import {deepAccess, logError, logWarn} from '../src/utils.js';
import {config} from '../src/config.js';
import adapterManager, {gdprDataHandler} from '../src/adapterManager.js';
import * as events from '../src/events.js';
-import { EVENTS } from '../src/constants.js';
-import {GDPR_GVLIDS, VENDORLESS_GVLID, FIRST_PARTY_GVLID} from '../src/consentHandler.js';
+import {EVENTS} from '../src/constants.js';
+import {GDPR_GVLIDS, VENDORLESS_GVLID} from '../src/consentHandler.js';
import {
MODULE_TYPE_ANALYTICS,
MODULE_TYPE_BIDDER,
@@ -23,10 +23,14 @@ import {
import {registerActivityControl} from '../src/activities/rules.js';
import {
ACTIVITY_ACCESS_DEVICE,
- ACTIVITY_ENRICH_EIDS, ACTIVITY_ENRICH_UFPD,
+ ACTIVITY_ENRICH_EIDS,
+ ACTIVITY_ENRICH_UFPD,
ACTIVITY_FETCH_BIDS,
ACTIVITY_REPORT_ANALYTICS,
- ACTIVITY_SYNC_USER, ACTIVITY_TRANSMIT_EIDS, ACTIVITY_TRANSMIT_PRECISE_GEO, ACTIVITY_TRANSMIT_UFPD
+ ACTIVITY_SYNC_USER,
+ ACTIVITY_TRANSMIT_EIDS,
+ ACTIVITY_TRANSMIT_PRECISE_GEO,
+ ACTIVITY_TRANSMIT_UFPD
} from '../src/activities/activities.js';
export const STRICT_STORAGE_ENFORCEMENT = 'strictStorageEnforcement';
@@ -37,7 +41,7 @@ export const ACTIVE_RULES = {
};
const CONSENT_PATHS = {
- purpose: 'purpose.consents',
+ purpose: false,
feature: 'specialFeatureOptins'
};
@@ -98,6 +102,7 @@ const RULE_HANDLES = [];
// in JS we do not have access to the GVL; assume that everyone declares legitimate interest for basic ads
const LI_PURPOSES = [2];
+const PUBLISHER_LI_PURPOSES = [2, 7, 9, 10];
/**
* Retrieve a module's GVL ID.
@@ -111,7 +116,7 @@ export function getGvlid(moduleType, moduleName, fallbackFn) {
if (gvlMapping && gvlMapping[moduleName]) {
return gvlMapping[moduleName];
} else if (moduleType === MODULE_TYPE_PREBID) {
- return moduleName === 'cdep' ? FIRST_PARTY_GVLID : VENDORLESS_GVLID;
+ return VENDORLESS_GVLID;
} else {
let {gvlid, modules} = GDPR_GVLIDS.get(moduleName);
if (gvlid == null && Object.keys(modules).length > 0) {
@@ -163,15 +168,25 @@ export function shouldEnforce(consentData, purpose, name) {
return consentData && consentData.gdprApplies;
}
-function getConsent(consentData, type, id, gvlId) {
- let purpose = !!deepAccess(consentData, `vendorData.${CONSENT_PATHS[type]}.${id}`);
- let vendor = !!deepAccess(consentData, `vendorData.vendor.consents.${gvlId}`);
+function getConsentOrLI(consentData, path, id, acceptLI) {
+ const data = deepAccess(consentData, `vendorData.${path}`);
+ return !!data?.consents?.[id] || (acceptLI && !!data?.legitimateInterests?.[id]);
+}
- if (type === 'purpose' && LI_PURPOSES.includes(id)) {
- purpose ||= !!deepAccess(consentData, `vendorData.purpose.legitimateInterests.${id}`);
- vendor ||= !!deepAccess(consentData, `vendorData.vendor.legitimateInterests.${gvlId}`);
+function getConsent(consentData, type, purposeNo, gvlId) {
+ let purpose;
+ if (CONSENT_PATHS[type] !== false) {
+ purpose = !!deepAccess(consentData, `vendorData.${CONSENT_PATHS[type]}.${purposeNo}`);
+ } else {
+ const [path, liPurposes] = gvlId === VENDORLESS_GVLID
+ ? ['publisher', PUBLISHER_LI_PURPOSES]
+ : ['purpose', LI_PURPOSES];
+ purpose = getConsentOrLI(consentData, path, purposeNo, liPurposes.includes(purposeNo));
+ }
+ return {
+ purpose,
+ vendor: getConsentOrLI(consentData, 'vendor', gvlId, LI_PURPOSES.includes(purposeNo))
}
- return {purpose, vendor};
}
/**
@@ -192,14 +207,7 @@ export function validateRules(rule, consentData, currentModule, gvlId) {
}
const vendorConsentRequred = rule.enforceVendor && !((gvlId === VENDORLESS_GVLID || (rule.softVendorExceptions || []).includes(currentModule)));
const {purpose, vendor} = getConsent(consentData, ruleOptions.type, ruleOptions.id, gvlId);
-
- let validation = (!rule.enforcePurpose || purpose) && (!vendorConsentRequred || vendor);
-
- if (gvlId === FIRST_PARTY_GVLID) {
- validation = (!rule.enforcePurpose || !!deepAccess(consentData, `vendorData.publisher.consents.${ruleOptions.id}`));
- }
-
- return validation;
+ return (!rule.enforcePurpose || purpose) && (!vendorConsentRequred || vendor);
}
function gdprRule(purposeNo, checkConsent, blocked = null, gvlidFallback = () => null) {
diff --git a/modules/topicsFpdModule.js b/modules/topicsFpdModule.js
index be3e8444dae..d99696152ba 100644
--- a/modules/topicsFpdModule.js
+++ b/modules/topicsFpdModule.js
@@ -21,38 +21,6 @@ export function reset() {
iframeLoadedURL = [];
}
-const bidderIframeList = {
- maxTopicCaller: 4,
- bidders: [{
- bidder: 'pubmatic',
- iframeURL: 'https://ads.pubmatic.com/AdServer/js/topics/topics_frame.html'
- }, {
- bidder: 'rtbhouse',
- iframeURL: 'https://topics.authorizedvault.com/topicsapi.html'
- }, {
- bidder: 'openx',
- iframeURL: 'https://pa.openx.net/topics_frame.html'
- }, {
- bidder: 'improvedigital',
- iframeURL: 'https://hb.360yield.com/privacy-sandbox/topics.html'
- }, {
- bidder: 'onetag',
- iframeURL: 'https://onetag-sys.com/static/topicsapi.html'
- }, {
- bidder: 'taboola',
- iframeURL: 'https://cdn.taboola.com/libtrc/static/topics/taboola-prebid-browsing-topics.html'
- }, {
- bidder: 'discovery',
- iframeURL: 'https://api.popin.cc/topic/prebid-topics-frame.html'
- }, {
- bidder: 'undertone',
- iframeURL: 'https://creative-p.undertone.com/spk-public/topics_frame.html'
- }, {
- bidder: 'vidazoo',
- iframeURL: 'https://static.vidazoo.com/topics_api/topics_frame.html'
- }]
-}
-
export const coreStorage = getCoreStorageManager(MODULE_NAME);
export const topicStorageName = 'prebid:topics';
export const lastUpdated = 'lastUpdated';
@@ -161,7 +129,7 @@ export function processFpd(config, {global}, {data = topicsData} = {}) {
*/
export function getCachedTopics() {
let cachedTopicData = [];
- const topics = config.getConfig('userSync.topics') || bidderIframeList;
+ const topics = config.getConfig('userSync.topics');
const bidderList = topics.bidders || [];
let storedSegments = new Map(safeJSONParse(coreStorage.getDataFromLocalStorage(topicStorageName)));
storedSegments && storedSegments.forEach((value, cachedBidder) => {
@@ -244,7 +212,7 @@ function listenMessagesFromTopicIframe() {
*/
export function loadTopicsForBidders(doc = document) {
if (!isTopicsSupported(doc)) return;
- const topics = config.getConfig('userSync.topics') || bidderIframeList;
+ const topics = config.getConfig('userSync.topics');
if (topics) {
listenMessagesFromTopicIframe();
diff --git a/modules/trafficgateBidAdapter.js b/modules/trafficgateBidAdapter.js
index fcd84306099..d30d79ef3a6 100644
--- a/modules/trafficgateBidAdapter.js
+++ b/modules/trafficgateBidAdapter.js
@@ -2,7 +2,6 @@ import {registerBidder} from '../src/adapters/bidderFactory.js';
import {BANNER, VIDEO} from '../src/mediaTypes.js';
import {ortbConverter} from '../libraries/ortbConverter/converter.js';
import {deepAccess, mergeDeep} from '../src/utils.js';
-import {convertTypes} from '../libraries/transformParamsUtils/convertTypes.js';
const BIDDER_CODE = 'trafficgate';
const URL = 'https://[HOST].bc-plugin.com/prebidjs'
@@ -13,7 +12,6 @@ export const spec = {
isBidRequestValid,
buildRequests,
interpretResponse,
- transformBidParams,
isBannerBid
};
@@ -88,14 +86,6 @@ const converter = ortbConverter({
}
});
-function transformBidParams(params, isOpenRtb) {
- return convertTypes({
- 'customFloor': 'number',
- 'placementId': 'number',
- 'host': 'string'
- }, params);
-}
-
function isBidRequestValid(bidRequest) {
const isValid = bidRequest.params.placementId && bidRequest.params.host;
if (!isValid) {
diff --git a/modules/tripleliftBidAdapter.js b/modules/tripleliftBidAdapter.js
index 056ab2b9d19..a665de6140f 100644
--- a/modules/tripleliftBidAdapter.js
+++ b/modules/tripleliftBidAdapter.js
@@ -58,8 +58,8 @@ export const tripleliftAdapterSpec = {
tlCall = tryAppendQueryString(tlCall, 'us_privacy', bidderRequest.uspConsent);
}
- if (bidderRequest && bidderRequest.fledgeEnabled) {
- tlCall = tryAppendQueryString(tlCall, 'fledge', bidderRequest.fledgeEnabled);
+ if (bidderRequest?.paapi?.enabled) {
+ tlCall = tryAppendQueryString(tlCall, 'fledge', bidderRequest.paapi.enabled);
}
if (config.getConfig('coppa') === true) {
@@ -96,7 +96,7 @@ export const tripleliftAdapterSpec = {
logMessage('Response with FLEDGE:', { bids, fledgeAuctionConfigs });
return {
bids,
- fledgeAuctionConfigs
+ paapi: fledgeAuctionConfigs
};
} else {
return bids;
diff --git a/modules/truereachBidAdapter.js b/modules/truereachBidAdapter.js
index 8b1656ec7a2..9dda76f6518 100755
--- a/modules/truereachBidAdapter.js
+++ b/modules/truereachBidAdapter.js
@@ -11,7 +11,7 @@ export const spec = {
supportedMediaTypes: SUPPORTED_AD_TYPES,
isBidRequestValid: function (bidRequest) {
- return (bidRequest.params.site_id && bidRequest.params.bidfloor &&
+ return (bidRequest.params.site_id &&
deepAccess(bidRequest, 'mediaTypes.banner') && (deepAccess(bidRequest, 'mediaTypes.banner.sizes.length') > 0));
},
@@ -116,8 +116,6 @@ function buildCommonQueryParamsFromBids(validBidRequests, bidderRequest) {
adH = adSizes[0][1];
}
- let bidFloor = Number(0);
-
let domain = window.location.host;
let page = window.location.host + window.location.pathname + location.search + location.hash;
@@ -129,8 +127,7 @@ function buildCommonQueryParamsFromBids(validBidRequests, bidderRequest) {
banner: {
w: adW,
h: adH
- },
- bidfloor: bidFloor
+ }
}
],
site: {
diff --git a/modules/twistDigitalBidAdapter.js b/modules/twistDigitalBidAdapter.js
index f509e68f9a2..bee32a19870 100644
--- a/modules/twistDigitalBidAdapter.js
+++ b/modules/twistDigitalBidAdapter.js
@@ -155,7 +155,7 @@ function buildRequestData(bid, topWindowUrl, sizes, bidderRequest, bidderTimeout
data.gppSid = bidderRequest.ortb2.regs.gpp_sid;
}
- if (bidderRequest.fledgeEnabled) {
+ if (bidderRequest.paapi?.enabled) {
const fledge = deepAccess(bidderRequest, 'ortb2Imp.ext.ae');
if (fledge) {
data.fledge = fledge;
diff --git a/modules/unrulyBidAdapter.js b/modules/unrulyBidAdapter.js
index b825003f36f..39d77c81b57 100644
--- a/modules/unrulyBidAdapter.js
+++ b/modules/unrulyBidAdapter.js
@@ -226,7 +226,7 @@ export const adapter = {
'options': {
'contentType': 'application/json'
},
- 'protectedAudienceEnabled': bidderRequest.fledgeEnabled
+ 'protectedAudienceEnabled': bidderRequest.paapi?.enabled
}, validBidRequests, bidderRequest);
},
@@ -261,7 +261,7 @@ export const adapter = {
return {
bids,
- fledgeAuctionConfigs
+ paapi: fledgeAuctionConfigs
};
}
};
diff --git a/modules/userId/eids.md b/modules/userId/eids.md
index aa1601e95e3..53567032175 100644
--- a/modules/userId/eids.md
+++ b/modules/userId/eids.md
@@ -81,14 +81,6 @@ userIdAsEids = [
}]
},
- {
- source: 'parrable.com',
- uids: [{
- id: 'some-random-id-value',
- atype: 1
- }]
- },
-
{
source: 'liveramp.com',
uids: [{
diff --git a/modules/userId/index.js b/modules/userId/index.js
index c2d7a9af2d8..2970bad296d 100644
--- a/modules/userId/index.js
+++ b/modules/userId/index.js
@@ -166,12 +166,11 @@ import {MODULE_TYPE_UID} from '../../src/activities/modules.js';
import {isActivityAllowed} from '../../src/activities/rules.js';
import {ACTIVITY_ENRICH_EIDS} from '../../src/activities/activities.js';
import {activityParams} from '../../src/activities/activityParams.js';
+import {USERSYNC_DEFAULT_CONFIG} from '../../src/userSync.js';
const MODULE_NAME = 'User ID';
const COOKIE = STORAGE_TYPE_COOKIES;
const LOCAL_STORAGE = STORAGE_TYPE_LOCALSTORAGE;
-const DEFAULT_SYNC_DELAY = 500;
-const NO_AUCTION_DELAY = 0;
export const PBJS_USER_ID_OPTOUT_NAME = '_pbjs_id_optout';
export const coreStorage = getCoreStorageManager('userId');
export const dep = {
@@ -1160,8 +1159,8 @@ export function init(config, {delay = GreedyPromise.timeout} = {}) {
ppidSource = userSync.ppid;
if (userSync.userIds) {
configRegistry = userSync.userIds;
- syncDelay = isNumber(userSync.syncDelay) ? userSync.syncDelay : DEFAULT_SYNC_DELAY;
- auctionDelay = isNumber(userSync.auctionDelay) ? userSync.auctionDelay : NO_AUCTION_DELAY;
+ syncDelay = isNumber(userSync.syncDelay) ? userSync.syncDelay : USERSYNC_DEFAULT_CONFIG.syncDelay
+ auctionDelay = isNumber(userSync.auctionDelay) ? userSync.auctionDelay : USERSYNC_DEFAULT_CONFIG.auctionDelay;
updateSubmodules();
updateIdPriority(userSync.idPriority, submodules);
initIdSystem({ready: true});
diff --git a/modules/userId/userId.md b/modules/userId/userId.md
index 1ec109ff309..9fb53c2c7b3 100644
--- a/modules/userId/userId.md
+++ b/modules/userId/userId.md
@@ -70,12 +70,6 @@ pbjs.setConfig({
params: {
url: 'https://d9.flashtalking.com/d9core', // required, if not populated ftrack will not run
}
- }, {
- name: 'parrableId',
- params: {
- // Replace partner with comma-separated (if more than one) Parrable Partner Client ID(s) for Parrable-aware bid adapters in use
- partner: "30182847-e426-4ff9-b2b5-9ca1324ea09b"
- }
},{
name: 'identityLink',
params: {
diff --git a/modules/utiqSystem.js b/modules/utiqIdSystem.js
similarity index 96%
rename from modules/utiqSystem.js
rename to modules/utiqIdSystem.js
index 473dc5854a9..8228da3a629 100644
--- a/modules/utiqSystem.js
+++ b/modules/utiqIdSystem.js
@@ -1,7 +1,7 @@
/**
* This module adds Utiq provided by Utiq SA/NV to the User ID module
* The {@link module:modules/userId} module is required
- * @module modules/utiqSystem
+ * @module modules/utiqIdSystem
* @requires module:modules/userId
*/
import { logInfo } from '../src/utils.js';
@@ -9,7 +9,7 @@ import { submodule } from '../src/hook.js';
import { getStorageManager } from '../src/storageManager.js';
import { MODULE_TYPE_UID } from '../src/activities/modules.js';
-const MODULE_NAME = 'utiq';
+const MODULE_NAME = 'utiqId';
const LOG_PREFIX = 'Utiq module';
export const storage = getStorageManager({
@@ -56,7 +56,7 @@ function getUtiqFromStorage() {
}
/** @type {Submodule} */
-export const utiqSubmodule = {
+export const utiqIdSubmodule = {
/**
* Used to link submodule with config
* @type {string}
@@ -135,4 +135,4 @@ export const utiqSubmodule = {
}
};
-submodule('userId', utiqSubmodule);
+submodule('userId', utiqIdSubmodule);
diff --git a/modules/utiqSystem.md b/modules/utiqIdSystem.md
similarity index 54%
rename from modules/utiqSystem.md
rename to modules/utiqIdSystem.md
index d2c53480383..c7f4f95827f 100644
--- a/modules/utiqSystem.md
+++ b/modules/utiqIdSystem.md
@@ -5,7 +5,7 @@ Utiq ID Module.
First, make sure to add the utiq submodule to your Prebid.js package with:
```
-gulp build --modules=userId,adfBidAdapter,ixBidAdapter,prebidServerBidAdapter,utiqSystem
+gulp build --modules=userId,adfBidAdapter,ixBidAdapter,prebidServerBidAdapter,utiqIdSystem
```
## Parameter Descriptions
@@ -15,8 +15,3 @@ gulp build --modules=userId,adfBidAdapter,ixBidAdapter,prebidServerBidAdapter,ut
| name | String | The name of the module | `"utiq"` |
| params | Object | Object with configuration parameters for utiq User Id submodule | - |
| params.maxDelayTime | Integer | Max amount of time (in seconds) before looking into storage for data | 2500 |
-| bidders | Array of Strings | An array of bidder codes to which this user ID may be sent. Currently required and supporting AdformOpenRTB | [`"adf"`, `"adformPBS"`, `"ix"`] |
-| storage | Object | Local storage configuration object | - |
-| storage.type | String | Type of the storage that would be used to store user ID. Must be `"html5"` to utilise HTML5 local storage. | `"html5"` |
-| storage.name | String | The name of the key in local storage where the user ID will be stored. | `"utiq"` |
-| storage.expires | Integer | How long (in days) the user ID information will be stored. For safety reasons, this information is required. | `1` |
diff --git a/modules/vdoaiBidAdapter.js b/modules/vdoaiBidAdapter.js
index ada843a6e45..f375e161f88 100644
--- a/modules/vdoaiBidAdapter.js
+++ b/modules/vdoaiBidAdapter.js
@@ -48,7 +48,6 @@ export const spec = {
id: bidRequest.auctionId,
mediaType: bidRequest.mediaTypes.video ? 'video' : 'banner'
};
- bidRequest.params.bidFloor && (payload['bidFloor'] = bidRequest.params.bidFloor);
return {
method: 'POST',
url: ENDPOINT_URL,
diff --git a/modules/vidazooBidAdapter.js b/modules/vidazooBidAdapter.js
index c5e35c6b138..fd53b684ec0 100644
--- a/modules/vidazooBidAdapter.js
+++ b/modules/vidazooBidAdapter.js
@@ -163,7 +163,7 @@ function buildRequestData(bid, topWindowUrl, sizes, bidderRequest, bidderTimeout
data.gppSid = bidderRequest.ortb2.regs.gpp_sid;
}
- if (bidderRequest.fledgeEnabled) {
+ if (bidderRequest.paapi?.enabled) {
const fledge = deepAccess(bidderRequest, 'ortb2Imp.ext.ae');
if (fledge) {
data.fledge = fledge;
@@ -217,15 +217,9 @@ function appendUserIdsToRequestPayload(payloadRef, userIds) {
_each(userIds, (userId, idSystemProviderName) => {
key = `uid.${idSystemProviderName}`;
switch (idSystemProviderName) {
- case 'digitrustid':
- payloadRef[key] = deepAccess(userId, 'data.id');
- break;
case 'lipb':
payloadRef[key] = userId.lipbid;
break;
- case 'parrableId':
- payloadRef[key] = userId.eid;
- break;
case 'id5id':
payloadRef[key] = userId.uid;
break;
diff --git a/modules/videobyteBidAdapter.js b/modules/videobyteBidAdapter.js
index 8cedf9ac16a..b62474d0c25 100644
--- a/modules/videobyteBidAdapter.js
+++ b/modules/videobyteBidAdapter.js
@@ -19,6 +19,7 @@ const VIDEO_ORTB_PARAMS = [
'minduration',
'maxduration',
'placement',
+ 'plcmt',
'protocols',
'startdelay',
'skip',
@@ -191,16 +192,6 @@ function buildRequestData(bidRequest, bidderRequest) {
}
});
- // Placement Inference Rules:
- // - If no placement is defined then default to 1 (In Stream)
- video.placement = video.placement || 2;
-
- // - If product is instream (for instream context) then override placement to 1
- if (params.context === 'instream') {
- video.startdelay = video.startdelay || 0;
- video.placement = 1;
- }
-
// bid floor
const bidFloorRequest = {
currency: bidRequest.params.cur || 'USD',
diff --git a/modules/videojsVideoProvider.js b/modules/videojsVideoProvider.js
index 7764e8af995..efe518ea495 100644
--- a/modules/videojsVideoProvider.js
+++ b/modules/videojsVideoProvider.js
@@ -6,7 +6,7 @@ import {
} from '../libraries/video/constants/events.js';
// missing events: , AD_BREAK_START, , AD_BREAK_END, VIEWABLE, BUFFER, CAST, PLAYLIST_COMPLETE, RENDITION_UPDATE, PLAY_ATTEMPT_FAILED, AUTOSTART_BLOCKED
import {
- PROTOCOLS, API_FRAMEWORKS, VIDEO_MIME_TYPE, PLAYBACK_METHODS, PLACEMENT, VPAID_MIME_TYPE, AD_POSITION, PLAYBACK_END
+ PROTOCOLS, API_FRAMEWORKS, VIDEO_MIME_TYPE, PLAYBACK_METHODS, PLCMT, VPAID_MIME_TYPE, AD_POSITION, PLAYBACK_END
} from '../libraries/video/constants/ortb.js';
import { VIDEO_JS_VENDOR } from '../libraries/video/constants/vendorCodes.js';
import { submodule } from '../src/hook.js';
@@ -146,8 +146,9 @@ export function VideojsProvider(providerConfig, vjs_, adState_, timeState_, call
// ~ Sort of resolved check if the player has a source to tell if the placement is instream
// Still cannot reliably check what type of placement the player is if its outstream
// i.e. we can't tell if its interstitial, in article, etc.
+ // update: cannot infer instream ever, always need declarations
if (player.src()) {
- video.placement = PLACEMENT.INSTREAM;
+ video.plcmt = PLCMT.ACCOMPANYING_CONTENT;
}
// Placement according to IQG Guidelines 4.2.8
diff --git a/modules/visiblemeasuresBidAdapter.js b/modules/visiblemeasuresBidAdapter.js
index e77477c812b..fa54f27e4c0 100644
--- a/modules/visiblemeasuresBidAdapter.js
+++ b/modules/visiblemeasuresBidAdapter.js
@@ -58,6 +58,7 @@ function getPlacementReqData(bid) {
placement.protocols = mediaTypes[VIDEO].protocols;
placement.startdelay = mediaTypes[VIDEO].startdelay;
placement.placement = mediaTypes[VIDEO].placement;
+ placement.plcmt = mediaTypes[VIDEO].plcmt;
placement.skip = mediaTypes[VIDEO].skip;
placement.skipafter = mediaTypes[VIDEO].skipafter;
placement.minbitrate = mediaTypes[VIDEO].minbitrate;
diff --git a/modules/waardexBidAdapter.js b/modules/waardexBidAdapter.js
index 92b7fc26e4c..c4ca5d299bc 100644
--- a/modules/waardexBidAdapter.js
+++ b/modules/waardexBidAdapter.js
@@ -147,7 +147,6 @@ const createVideoObject = (videoMediaTypes, videoParams) => {
maxduration: getBidIdParameter('maxduration', videoParams) || 500,
protocols: getBidIdParameter('protocols', videoParams) || [2, 3, 5, 6],
startdelay: getBidIdParameter('startdelay', videoParams) || 0,
- placement: getBidIdParameter('placement', videoParams) || videoMediaTypes.context === 'outstream' ? 3 : 1,
skip: getBidIdParameter('skip', videoParams) || 1,
skipafter: getBidIdParameter('skipafter', videoParams) || 0,
minbitrate: getBidIdParameter('minbitrate', videoParams) || 0,
diff --git a/modules/winrBidAdapter.js b/modules/winrBidAdapter.js
index 6cde0412071..d81227d3606 100644
--- a/modules/winrBidAdapter.js
+++ b/modules/winrBidAdapter.js
@@ -456,7 +456,7 @@ function bidToTag(bid) {
}
tag.keywords = getANKeywordParam(bid.ortb2, bid.params.keywords)
- let gpid = deepAccess(bid, 'ortb2Imp.ext.data.pbadslot');
+ let gpid = deepAccess(bid, 'ortb2Imp.ext.gpid') || deepAccess(bid, 'ortb2Imp.ext.data.pbadslot');
if (gpid) {
tag.gpid = gpid;
}
diff --git a/modules/yahoosspBidAdapter.js b/modules/yahooAdsBidAdapter.js
similarity index 99%
rename from modules/yahoosspBidAdapter.js
rename to modules/yahooAdsBidAdapter.js
index 0453350a85a..c25fb677cda 100644
--- a/modules/yahoosspBidAdapter.js
+++ b/modules/yahooAdsBidAdapter.js
@@ -45,7 +45,6 @@ const SUPPORTED_USER_ID_SOURCES = [
'neustar.biz',
'nextroll.com',
'novatiq.com',
- 'parrable.com',
'pubcid.org',
'quantcast.com',
'tapad.com',
@@ -371,6 +370,7 @@ function appendImpObject(bid, openRtbObject) {
pos: deepAccess(bid, 'params.bidOverride.imp.video.pos') || bid.mediaTypes.video.pos || undefined,
playbackmethod: deepAccess(bid, 'params.bidOverride.imp.video.playbackmethod') || bid.mediaTypes.video.playbackmethod || undefined,
placement: deepAccess(bid, 'params.bidOverride.imp.video.placement') || bid.mediaTypes.video.placement || undefined,
+ plcmt: deepAccess(bid, 'params.bidOverride.imp.video.plcmt') || bid.mediaTypes.video.plcmt || undefined,
linearity: deepAccess(bid, 'params.bidOverride.imp.video.linearity') || bid.mediaTypes.video.linearity || 1,
protocols: deepAccess(bid, 'params.bidOverride.imp.video.protocols') || bid.mediaTypes.video.protocols || [2, 5],
startdelay: deepAccess(bid, 'params.bidOverride.imp.video.startdelay') || bid.mediaTypes.video.startdelay || 0,
diff --git a/modules/yahoosspBidAdapter.md b/modules/yahooAdsBidAdapter.md
similarity index 99%
rename from modules/yahoosspBidAdapter.md
rename to modules/yahooAdsBidAdapter.md
index 62fe0f22a55..df9b71b2314 100644
--- a/modules/yahoosspBidAdapter.md
+++ b/modules/yahooAdsBidAdapter.md
@@ -581,6 +581,7 @@ Currently the bidOverride object only accepts the following:
* pos
* playbackmethod
* placement
+ * plcmt
* linearity
* protocols
* rewarded
@@ -619,6 +620,7 @@ const adUnits = [{
pos: 1,
playbackmethod: 0,
placement: 1,
+ plcmt: 1,
linearity: 1,
protocols: [2,5],
startdelay: 0,
diff --git a/modules/yuktamediaAnalyticsAdapter.js b/modules/yuktamediaAnalyticsAdapter.js
index 25e4dc73b74..1b9ab08cfc1 100644
--- a/modules/yuktamediaAnalyticsAdapter.js
+++ b/modules/yuktamediaAnalyticsAdapter.js
@@ -1,5 +1,5 @@
import {buildUrl, generateUUID, getWindowLocation, logError, logInfo, parseSizesInput, parseUrl} from '../src/utils.js';
-import {ajax} from '../src/ajax.js';
+import {ajax, fetch} from '../src/ajax.js';
import adapter from '../libraries/analyticsAdapter/AnalyticsAdapter.js';
import adapterManager from '../src/adapterManager.js';
import { EVENTS, STATUS } from '../src/constants.js';
@@ -51,10 +51,6 @@ function getParameterByName(param) {
return vars[param] ? vars[param] : '';
}
-function isNavigatorSendBeaconSupported() {
- return ('navigator' in window) && ('sendBeacon' in window.navigator);
-}
-
function updateSessionId() {
if (isSessionIdTimeoutExpired()) {
let newSessionId = generateUUID();
@@ -89,11 +85,14 @@ function send(data, status) {
hostname: 'analytics-prebid.yuktamedia.com',
pathname: '/api/bids'
});
- if (isNavigatorSendBeaconSupported()) {
- window.navigator.sendBeacon(yuktamediaAnalyticsRequestUrl, JSON.stringify(data));
- } else {
+ fetch(yuktamediaAnalyticsRequestUrl, {
+ body: JSON.stringify(data),
+ keepalive: true,
+ withCredentials: true,
+ method: 'POST'
+ }).catch((_e) => {
ajax(yuktamediaAnalyticsRequestUrl, undefined, JSON.stringify(data), { method: 'POST', contentType: 'text/plain' });
- }
+ });
}
var yuktamediaAnalyticsAdapter = Object.assign(adapter({ analyticsType: 'endpoint' }), {
diff --git a/package-lock.json b/package-lock.json
index 5819cb88217..24b7da35847 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,21 +1,20 @@
{
"name": "prebid.js",
- "version": "8.52.1-pre",
+ "version": "9.0.0-pre",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "prebid.js",
- "version": "8.52.1-pre",
+ "version": "9.0.0-pre",
"license": "Apache-2.0",
"dependencies": {
- "@babel/core": "^7.16.7",
+ "@babel/core": "^7.24.6",
"@babel/plugin-transform-runtime": "^7.18.9",
"@babel/preset-env": "^7.16.8",
"@babel/runtime": "^7.18.9",
"core-js": "^3.13.0",
"core-js-pure": "^3.13.0",
- "criteo-direct-rsa-validate": "^1.1.0",
"crypto-js": "^4.2.0",
"dlv": "1.1.3",
"dset": "3.1.2",
@@ -94,6 +93,7 @@
"morgan": "^1.10.0",
"node-html-parser": "^6.1.5",
"opn": "^5.4.0",
+ "querystring": "^0.2.1",
"resolve-from": "^5.0.0",
"sinon": "^4.1.3",
"through2": "^4.0.2",
@@ -111,64 +111,64 @@
"yargs": "^1.3.1"
},
"engines": {
- "node": ">=12.0.0"
+ "node": ">=20.0.0"
},
"optionalDependencies": {
"fsevents": "^2.3.2"
}
},
"node_modules/@ampproject/remapping": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz",
- "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==",
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz",
+ "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==",
"dependencies": {
- "@jridgewell/gen-mapping": "^0.1.0",
- "@jridgewell/trace-mapping": "^0.3.9"
+ "@jridgewell/gen-mapping": "^0.3.5",
+ "@jridgewell/trace-mapping": "^0.3.24"
},
"engines": {
"node": ">=6.0.0"
}
},
"node_modules/@babel/code-frame": {
- "version": "7.22.13",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz",
- "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz",
+ "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==",
"dependencies": {
- "@babel/highlight": "^7.22.13",
- "chalk": "^2.4.2"
+ "@babel/highlight": "^7.24.7",
+ "picocolors": "^1.0.0"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/compat-data": {
- "version": "7.20.1",
- "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.1.tgz",
- "integrity": "sha512-EWZ4mE2diW3QALKvDMiXnbZpRvlj+nayZ112nK93SnhqOtpdsbVD4W+2tEoT3YNBAG9RBR0ISY758ZkOgsn6pQ==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.7.tgz",
+ "integrity": "sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw==",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/core": {
- "version": "7.19.6",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.6.tgz",
- "integrity": "sha512-D2Ue4KHpc6Ys2+AxpIx1BZ8+UegLLLE2p3KJEuJRKmokHOtl49jQ5ny1773KsGLZs8MQvBidAF6yWUJxRqtKtg==",
- "dependencies": {
- "@ampproject/remapping": "^2.1.0",
- "@babel/code-frame": "^7.18.6",
- "@babel/generator": "^7.19.6",
- "@babel/helper-compilation-targets": "^7.19.3",
- "@babel/helper-module-transforms": "^7.19.6",
- "@babel/helpers": "^7.19.4",
- "@babel/parser": "^7.19.6",
- "@babel/template": "^7.18.10",
- "@babel/traverse": "^7.19.6",
- "@babel/types": "^7.19.4",
- "convert-source-map": "^1.7.0",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.7.tgz",
+ "integrity": "sha512-nykK+LEK86ahTkX/3TgauT0ikKoNCfKHEaZYTUVupJdTLzGNvrblu4u6fa7DhZONAltdf8e662t/abY8idrd/g==",
+ "dependencies": {
+ "@ampproject/remapping": "^2.2.0",
+ "@babel/code-frame": "^7.24.7",
+ "@babel/generator": "^7.24.7",
+ "@babel/helper-compilation-targets": "^7.24.7",
+ "@babel/helper-module-transforms": "^7.24.7",
+ "@babel/helpers": "^7.24.7",
+ "@babel/parser": "^7.24.7",
+ "@babel/template": "^7.24.7",
+ "@babel/traverse": "^7.24.7",
+ "@babel/types": "^7.24.7",
+ "convert-source-map": "^2.0.0",
"debug": "^4.1.0",
"gensync": "^1.0.0-beta.2",
- "json5": "^2.2.1",
- "semver": "^6.3.0"
+ "json5": "^2.2.3",
+ "semver": "^6.3.1"
},
"engines": {
"node": ">=6.9.0"
@@ -179,102 +179,89 @@
}
},
"node_modules/@babel/eslint-parser": {
- "version": "7.19.1",
- "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.19.1.tgz",
- "integrity": "sha512-AqNf2QWt1rtu2/1rLswy6CDP7H9Oh3mMhk177Y67Rg8d7RD9WfOLLv8CGn6tisFvS2htm86yIe1yLF6I1UDaGQ==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.24.7.tgz",
+ "integrity": "sha512-SO5E3bVxDuxyNxM5agFv480YA2HO6ohZbGxbazZdIk3KQOPOGVNw6q78I9/lbviIf95eq6tPozeYnJLbjnC8IA==",
"dev": true,
"dependencies": {
"@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1",
"eslint-visitor-keys": "^2.1.0",
- "semver": "^6.3.0"
+ "semver": "^6.3.1"
},
"engines": {
"node": "^10.13.0 || ^12.13.0 || >=14.0.0"
},
"peerDependencies": {
- "@babel/core": ">=7.11.0",
- "eslint": "^7.5.0 || ^8.0.0"
+ "@babel/core": "^7.11.0",
+ "eslint": "^7.5.0 || ^8.0.0 || ^9.0.0"
}
},
"node_modules/@babel/generator": {
- "version": "7.23.0",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz",
- "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.7.tgz",
+ "integrity": "sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==",
"dependencies": {
- "@babel/types": "^7.23.0",
- "@jridgewell/gen-mapping": "^0.3.2",
- "@jridgewell/trace-mapping": "^0.3.17",
+ "@babel/types": "^7.24.7",
+ "@jridgewell/gen-mapping": "^0.3.5",
+ "@jridgewell/trace-mapping": "^0.3.25",
"jsesc": "^2.5.1"
},
"engines": {
"node": ">=6.9.0"
}
},
- "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz",
- "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==",
- "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/@babel/helper-annotate-as-pure": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz",
- "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.7.tgz",
+ "integrity": "sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==",
"dependencies": {
- "@babel/types": "^7.18.6"
+ "@babel/types": "^7.24.7"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-builder-binary-assignment-operator-visitor": {
- "version": "7.18.9",
- "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz",
- "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.24.7.tgz",
+ "integrity": "sha512-xZeCVVdwb4MsDBkkyZ64tReWYrLRHlMN72vP7Bdm3OUOuyFZExhsHUUnuWnm2/XOlAJzR0LfPpB56WXZn0X/lA==",
"dependencies": {
- "@babel/helper-explode-assignable-expression": "^7.18.6",
- "@babel/types": "^7.18.9"
+ "@babel/traverse": "^7.24.7",
+ "@babel/types": "^7.24.7"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-compilation-targets": {
- "version": "7.20.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.0.tgz",
- "integrity": "sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.24.7.tgz",
+ "integrity": "sha512-ctSdRHBi20qWOfy27RUb4Fhp07KSJ3sXcuSvTrXrc4aG8NSYDo1ici3Vhg9bg69y5bj0Mr1lh0aeEgTvc12rMg==",
"dependencies": {
- "@babel/compat-data": "^7.20.0",
- "@babel/helper-validator-option": "^7.18.6",
- "browserslist": "^4.21.3",
- "semver": "^6.3.0"
+ "@babel/compat-data": "^7.24.7",
+ "@babel/helper-validator-option": "^7.24.7",
+ "browserslist": "^4.22.2",
+ "lru-cache": "^5.1.1",
+ "semver": "^6.3.1"
},
"engines": {
"node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
}
},
"node_modules/@babel/helper-create-class-features-plugin": {
- "version": "7.19.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.19.0.tgz",
- "integrity": "sha512-NRz8DwF4jT3UfrmUoZjd0Uph9HQnP30t7Ash+weACcyNkiYTywpIjDBgReJMKgr+n86sn2nPVVmJ28Dm053Kqw==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.7.tgz",
+ "integrity": "sha512-kTkaDl7c9vO80zeX1rJxnuRpEsD5tA81yh11X1gQo+PhSti3JS+7qeZo9U4RHobKRiFPKaGK3svUAeb8D0Q7eg==",
"dependencies": {
- "@babel/helper-annotate-as-pure": "^7.18.6",
- "@babel/helper-environment-visitor": "^7.18.9",
- "@babel/helper-function-name": "^7.19.0",
- "@babel/helper-member-expression-to-functions": "^7.18.9",
- "@babel/helper-optimise-call-expression": "^7.18.6",
- "@babel/helper-replace-supers": "^7.18.9",
- "@babel/helper-split-export-declaration": "^7.18.6"
+ "@babel/helper-annotate-as-pure": "^7.24.7",
+ "@babel/helper-environment-visitor": "^7.24.7",
+ "@babel/helper-function-name": "^7.24.7",
+ "@babel/helper-member-expression-to-functions": "^7.24.7",
+ "@babel/helper-optimise-call-expression": "^7.24.7",
+ "@babel/helper-replace-supers": "^7.24.7",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7",
+ "@babel/helper-split-export-declaration": "^7.24.7",
+ "semver": "^6.3.1"
},
"engines": {
"node": ">=6.9.0"
@@ -284,12 +271,13 @@
}
},
"node_modules/@babel/helper-create-regexp-features-plugin": {
- "version": "7.19.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.19.0.tgz",
- "integrity": "sha512-htnV+mHX32DF81amCDrwIDr8nrp1PTm+3wfBN9/v8QJOLEioOCOG7qNyq0nHeFiWbT3Eb7gsPwEmV64UCQ1jzw==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.24.7.tgz",
+ "integrity": "sha512-03TCmXy2FtXJEZfbXDTSqq1fRJArk7lX9DOFC/47VthYcxyIOx+eXQmdo6DOQvrbpIix+KfXwvuXdFDZHxt+rA==",
"dependencies": {
- "@babel/helper-annotate-as-pure": "^7.18.6",
- "regexpu-core": "^5.1.0"
+ "@babel/helper-annotate-as-pure": "^7.24.7",
+ "regexpu-core": "^5.3.1",
+ "semver": "^6.3.1"
},
"engines": {
"node": ">=6.9.0"
@@ -299,131 +287,123 @@
}
},
"node_modules/@babel/helper-define-polyfill-provider": {
- "version": "0.3.3",
- "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz",
- "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==",
+ "version": "0.6.2",
+ "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz",
+ "integrity": "sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==",
"dependencies": {
- "@babel/helper-compilation-targets": "^7.17.7",
- "@babel/helper-plugin-utils": "^7.16.7",
+ "@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",
- "semver": "^6.1.2"
+ "resolve": "^1.14.2"
},
"peerDependencies": {
- "@babel/core": "^7.4.0-0"
+ "@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-explode-assignable-expression": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz",
- "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.7.tgz",
+ "integrity": "sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==",
"dependencies": {
- "@babel/types": "^7.18.6"
+ "@babel/types": "^7.24.7"
},
"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==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.24.7.tgz",
+ "integrity": "sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==",
"dependencies": {
- "@babel/template": "^7.22.15",
- "@babel/types": "^7.23.0"
+ "@babel/template": "^7.24.7",
+ "@babel/types": "^7.24.7"
},
"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==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.7.tgz",
+ "integrity": "sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==",
"dependencies": {
- "@babel/types": "^7.22.5"
+ "@babel/types": "^7.24.7"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-member-expression-to-functions": {
- "version": "7.18.9",
- "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz",
- "integrity": "sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.7.tgz",
+ "integrity": "sha512-LGeMaf5JN4hAT471eJdBs/GK1DoYIJ5GCtZN/EsL6KUiiDZOvO/eKE11AMZJa2zP4zk4qe9V2O/hxAmkRc8p6w==",
"dependencies": {
- "@babel/types": "^7.18.9"
+ "@babel/traverse": "^7.24.7",
+ "@babel/types": "^7.24.7"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-module-imports": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz",
- "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz",
+ "integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==",
"dependencies": {
- "@babel/types": "^7.18.6"
+ "@babel/traverse": "^7.24.7",
+ "@babel/types": "^7.24.7"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-module-transforms": {
- "version": "7.19.6",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.19.6.tgz",
- "integrity": "sha512-fCmcfQo/KYr/VXXDIyd3CBGZ6AFhPFy1TfSEJ+PilGVlQT6jcbqtHAM4C1EciRqMza7/TpOUZliuSH+U6HAhJw==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.24.7.tgz",
+ "integrity": "sha512-1fuJEwIrp+97rM4RWdO+qrRsZlAeL1lQJoPqtCYWv0NL115XM93hIH4CSRln2w52SqvmY5hqdtauB6QFCDiZNQ==",
"dependencies": {
- "@babel/helper-environment-visitor": "^7.18.9",
- "@babel/helper-module-imports": "^7.18.6",
- "@babel/helper-simple-access": "^7.19.4",
- "@babel/helper-split-export-declaration": "^7.18.6",
- "@babel/helper-validator-identifier": "^7.19.1",
- "@babel/template": "^7.18.10",
- "@babel/traverse": "^7.19.6",
- "@babel/types": "^7.19.4"
+ "@babel/helper-environment-visitor": "^7.24.7",
+ "@babel/helper-module-imports": "^7.24.7",
+ "@babel/helper-simple-access": "^7.24.7",
+ "@babel/helper-split-export-declaration": "^7.24.7",
+ "@babel/helper-validator-identifier": "^7.24.7"
},
"engines": {
"node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
}
},
"node_modules/@babel/helper-optimise-call-expression": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz",
- "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.24.7.tgz",
+ "integrity": "sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==",
"dependencies": {
- "@babel/types": "^7.18.6"
+ "@babel/types": "^7.24.7"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-plugin-utils": {
- "version": "7.19.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz",
- "integrity": "sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw==",
+ "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"
}
},
"node_modules/@babel/helper-remap-async-to-generator": {
- "version": "7.18.9",
- "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz",
- "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.24.7.tgz",
+ "integrity": "sha512-9pKLcTlZ92hNZMQfGCHImUpDOlAgkkpqalWEeftW5FBya75k8Li2ilerxkM/uBEj01iBZXcCIB/bwvDYgWyibA==",
"dependencies": {
- "@babel/helper-annotate-as-pure": "^7.18.6",
- "@babel/helper-environment-visitor": "^7.18.9",
- "@babel/helper-wrap-function": "^7.18.9",
- "@babel/types": "^7.18.9"
+ "@babel/helper-annotate-as-pure": "^7.24.7",
+ "@babel/helper-environment-visitor": "^7.24.7",
+ "@babel/helper-wrap-function": "^7.24.7"
},
"engines": {
"node": ">=6.9.0"
@@ -433,121 +413,124 @@
}
},
"node_modules/@babel/helper-replace-supers": {
- "version": "7.19.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.19.1.tgz",
- "integrity": "sha512-T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.24.7.tgz",
+ "integrity": "sha512-qTAxxBM81VEyoAY0TtLrx1oAEJc09ZK67Q9ljQToqCnA+55eNwCORaxlKyu+rNfX86o8OXRUSNUnrtsAZXM9sg==",
"dependencies": {
- "@babel/helper-environment-visitor": "^7.18.9",
- "@babel/helper-member-expression-to-functions": "^7.18.9",
- "@babel/helper-optimise-call-expression": "^7.18.6",
- "@babel/traverse": "^7.19.1",
- "@babel/types": "^7.19.0"
+ "@babel/helper-environment-visitor": "^7.24.7",
+ "@babel/helper-member-expression-to-functions": "^7.24.7",
+ "@babel/helper-optimise-call-expression": "^7.24.7"
},
"engines": {
"node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
}
},
"node_modules/@babel/helper-simple-access": {
- "version": "7.19.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.19.4.tgz",
- "integrity": "sha512-f9Xq6WqBFqaDfbCzn2w85hwklswz5qsKlh7f08w4Y9yhJHpnNC0QemtSkK5YyOY8kPGvyiwdzZksGUhnGdaUIg==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz",
+ "integrity": "sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==",
"dependencies": {
- "@babel/types": "^7.19.4"
+ "@babel/traverse": "^7.24.7",
+ "@babel/types": "^7.24.7"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-skip-transparent-expression-wrappers": {
- "version": "7.20.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz",
- "integrity": "sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.24.7.tgz",
+ "integrity": "sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==",
"dependencies": {
- "@babel/types": "^7.20.0"
+ "@babel/traverse": "^7.24.7",
+ "@babel/types": "^7.24.7"
},
"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==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz",
+ "integrity": "sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==",
"dependencies": {
- "@babel/types": "^7.22.5"
+ "@babel/types": "^7.24.7"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-string-parser": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz",
- "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.7.tgz",
+ "integrity": "sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==",
"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==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz",
+ "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-validator-option": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz",
- "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.7.tgz",
+ "integrity": "sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw==",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-wrap-function": {
- "version": "7.19.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.19.0.tgz",
- "integrity": "sha512-txX8aN8CZyYGTwcLhlk87KRqncAzhh5TpQamZUa0/u3an36NtDpUP6bQgBCBcLeBs09R/OwQu3OjK0k/HwfNDg==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.24.7.tgz",
+ "integrity": "sha512-N9JIYk3TD+1vq/wn77YnJOqMtfWhNewNE+DJV4puD2X7Ew9J4JvrzrFDfTfyv5EgEXVy9/Wt8QiOErzEmv5Ifw==",
"dependencies": {
- "@babel/helper-function-name": "^7.19.0",
- "@babel/template": "^7.18.10",
- "@babel/traverse": "^7.19.0",
- "@babel/types": "^7.19.0"
+ "@babel/helper-function-name": "^7.24.7",
+ "@babel/template": "^7.24.7",
+ "@babel/traverse": "^7.24.7",
+ "@babel/types": "^7.24.7"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helpers": {
- "version": "7.20.1",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.1.tgz",
- "integrity": "sha512-J77mUVaDTUJFZ5BpP6mMn6OIl3rEWymk2ZxDBQJUG3P+PbmyMcF3bYWvz0ma69Af1oobDqT/iAsvzhB58xhQUg==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.7.tgz",
+ "integrity": "sha512-NlmJJtvcw72yRJRcnCmGvSi+3jDEg8qFu3z0AFoymmzLx5ERVWyzd9kVXr7Th9/8yIJi2Zc6av4Tqz3wFs8QWg==",
"dependencies": {
- "@babel/template": "^7.18.10",
- "@babel/traverse": "^7.20.1",
- "@babel/types": "^7.20.0"
+ "@babel/template": "^7.24.7",
+ "@babel/types": "^7.24.7"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/highlight": {
- "version": "7.22.20",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz",
- "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz",
+ "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==",
"dependencies": {
- "@babel/helper-validator-identifier": "^7.22.20",
+ "@babel/helper-validator-identifier": "^7.24.7",
"chalk": "^2.4.2",
- "js-tokens": "^4.0.0"
+ "js-tokens": "^4.0.0",
+ "picocolors": "^1.0.0"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/parser": {
- "version": "7.23.0",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz",
- "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.7.tgz",
+ "integrity": "sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==",
"bin": {
"parser": "bin/babel-parser.js"
},
@@ -555,12 +538,13 @@
"node": ">=6.0.0"
}
},
- "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": {
- "version": "7.18.6",
- "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.18.6.tgz",
- "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==",
+ "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": {
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.24.7.tgz",
+ "integrity": "sha512-TiT1ss81W80eQsN+722OaeQMY/G4yTb4G9JrqeiDADs3N8lbPMGldWi9x8tyqCW5NLx1Jh2AvkE6r6QvEltMMQ==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.18.6"
+ "@babel/helper-environment-visitor": "^7.24.7",
+ "@babel/helper-plugin-utils": "^7.24.7"
},
"engines": {
"node": ">=6.9.0"
@@ -569,234 +553,55 @@
"@babel/core": "^7.0.0"
}
},
- "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": {
- "version": "7.18.9",
- "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz",
- "integrity": "sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg==",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.18.9",
- "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9",
- "@babel/plugin-proposal-optional-chaining": "^7.18.9"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.13.0"
- }
- },
- "node_modules/@babel/plugin-proposal-async-generator-functions": {
- "version": "7.20.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.1.tgz",
- "integrity": "sha512-Gh5rchzSwE4kC+o/6T8waD0WHEQIsDmjltY8WnWRXHUdH8axZhuH86Ov9M72YhJfDrZseQwuuWaaIT/TmePp3g==",
- "dependencies": {
- "@babel/helper-environment-visitor": "^7.18.9",
- "@babel/helper-plugin-utils": "^7.19.0",
- "@babel/helper-remap-async-to-generator": "^7.18.9",
- "@babel/plugin-syntax-async-generators": "^7.8.4"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-proposal-class-properties": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz",
- "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==",
- "dependencies": {
- "@babel/helper-create-class-features-plugin": "^7.18.6",
- "@babel/helper-plugin-utils": "^7.18.6"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-proposal-class-static-block": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz",
- "integrity": "sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==",
- "dependencies": {
- "@babel/helper-create-class-features-plugin": "^7.18.6",
- "@babel/helper-plugin-utils": "^7.18.6",
- "@babel/plugin-syntax-class-static-block": "^7.14.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.12.0"
- }
- },
- "node_modules/@babel/plugin-proposal-dynamic-import": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz",
- "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.18.6",
- "@babel/plugin-syntax-dynamic-import": "^7.8.3"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-proposal-export-namespace-from": {
- "version": "7.18.9",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz",
- "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.18.9",
- "@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-proposal-json-strings": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz",
- "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.18.6",
- "@babel/plugin-syntax-json-strings": "^7.8.3"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-proposal-logical-assignment-operators": {
- "version": "7.18.9",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz",
- "integrity": "sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q==",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.18.9",
- "@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-proposal-nullish-coalescing-operator": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz",
- "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.18.6",
- "@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-proposal-numeric-separator": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz",
- "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.18.6",
- "@babel/plugin-syntax-numeric-separator": "^7.10.4"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-proposal-object-rest-spread": {
- "version": "7.19.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.19.4.tgz",
- "integrity": "sha512-wHmj6LDxVDnL+3WhXteUBaoM1aVILZODAUjg11kHqG4cOlfgMQGxw6aCgvrXrmaJR3Bn14oZhImyCPZzRpC93Q==",
- "dependencies": {
- "@babel/compat-data": "^7.19.4",
- "@babel/helper-compilation-targets": "^7.19.3",
- "@babel/helper-plugin-utils": "^7.19.0",
- "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
- "@babel/plugin-transform-parameters": "^7.18.8"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-proposal-optional-catch-binding": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz",
- "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==",
+ "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": {
+ "version": "7.24.7",
+ "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.24.7.tgz",
+ "integrity": "sha512-unaQgZ/iRu/By6tsjMZzpeBZjChYfLYry6HrEXPoz3KmfF0sVBQ1l8zKMQ4xRGLWVsjuvB8nQfjNP/DcfEOCsg==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.18.6",
- "@babel/plugin-syntax-optional-catch-binding": "^7.8.3"
+ "@babel/helper-plugin-utils": "^7.24.7"
},
"engines": {
"node": ">=6.9.0"
},
"peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "@babel/core": "^7.0.0"
}
},
- "node_modules/@babel/plugin-proposal-optional-chaining": {
- "version": "7.18.9",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz",
- "integrity": "sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w==",
+ "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": {
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.7.tgz",
+ "integrity": "sha512-+izXIbke1T33mY4MSNnrqhPXDz01WYhEf3yF5NbnUtkiNnm+XBZJl3kNfoK6NKmYlz/D07+l2GWVK/QfDkNCuQ==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.18.9",
- "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9",
- "@babel/plugin-syntax-optional-chaining": "^7.8.3"
+ "@babel/helper-plugin-utils": "^7.24.7",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7",
+ "@babel/plugin-transform-optional-chaining": "^7.24.7"
},
"engines": {
"node": ">=6.9.0"
},
"peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "@babel/core": "^7.13.0"
}
},
- "node_modules/@babel/plugin-proposal-private-methods": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz",
- "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==",
+ "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": {
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.24.7.tgz",
+ "integrity": "sha512-utA4HuR6F4Vvcr+o4DnjL8fCOlgRFGbeeBEGNg3ZTrLFw6VWG5XmUrvcQ0FjIYMU2ST4XcR2Wsp7t9qOAPnxMg==",
"dependencies": {
- "@babel/helper-create-class-features-plugin": "^7.18.6",
- "@babel/helper-plugin-utils": "^7.18.6"
+ "@babel/helper-environment-visitor": "^7.24.7",
+ "@babel/helper-plugin-utils": "^7.24.7"
},
"engines": {
"node": ">=6.9.0"
},
"peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "@babel/core": "^7.0.0"
}
},
"node_modules/@babel/plugin-proposal-private-property-in-object": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.18.6.tgz",
- "integrity": "sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw==",
- "dependencies": {
- "@babel/helper-annotate-as-pure": "^7.18.6",
- "@babel/helper-create-class-features-plugin": "^7.18.6",
- "@babel/helper-plugin-utils": "^7.18.6",
- "@babel/plugin-syntax-private-property-in-object": "^7.14.5"
- },
+ "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"
},
@@ -804,21 +609,6 @@
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-proposal-unicode-property-regex": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz",
- "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==",
- "dependencies": {
- "@babel/helper-create-regexp-features-plugin": "^7.18.6",
- "@babel/helper-plugin-utils": "^7.18.6"
- },
- "engines": {
- "node": ">=4"
- },
- "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",
@@ -878,11 +668,11 @@
}
},
"node_modules/@babel/plugin-syntax-import-assertions": {
- "version": "7.20.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz",
- "integrity": "sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.7.tgz",
+ "integrity": "sha512-Ec3NRUMoi8gskrkBe3fNmEQfxDvY8bgfQpz6jlk/41kX9eUjvpyqWU7PBP/pLAvMaSQjbMNKJmvX57jP+M6bPg==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.19.0"
+ "@babel/helper-plugin-utils": "^7.24.7"
},
"engines": {
"node": ">=6.9.0"
@@ -891,6 +681,31 @@
"@babel/core": "^7.0.0-0"
}
},
+ "node_modules/@babel/plugin-syntax-import-attributes": {
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.7.tgz",
+ "integrity": "sha512-hbX+lKKeUMGihnK8nvKqmXBInriT3GVjzXKFriV3YC6APGxMbP8RZNFwy91+hocLXq90Mta+HshoB31802bb8A==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.24.7"
+ },
+ "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",
@@ -996,28 +811,60 @@
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-transform-arrow-functions": {
+ "node_modules/@babel/plugin-syntax-unicode-sets-regex": {
"version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz",
- "integrity": "sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==",
+ "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.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.7.tgz",
+ "integrity": "sha512-Dt9LQs6iEY++gXUwY03DNFat5C2NbO48jj+j/bSAz6b3HgPs39qcPiYt77fDObIcFwj3/C2ICX9YMwGflUoSHQ==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.24.7"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-async-generator-functions": {
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.24.7.tgz",
+ "integrity": "sha512-o+iF77e3u7ZS4AoAuJvapz9Fm001PuD2V3Lp6OSE4FYQke+cSewYtnek+THqGRWyQloRCyvWL1OkyfNEl9vr/g==",
+ "dependencies": {
+ "@babel/helper-environment-visitor": "^7.24.7",
+ "@babel/helper-plugin-utils": "^7.24.7",
+ "@babel/helper-remap-async-to-generator": "^7.24.7",
+ "@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.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz",
- "integrity": "sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.7.tgz",
+ "integrity": "sha512-SQY01PcJfmQ+4Ash7NE+rpbLFbmqA2GPIgqzxfFTL4t1FKRq4zTms/7htKpoCUI9OcFYgzqfmCdH53s6/jn5fA==",
"dependencies": {
- "@babel/helper-module-imports": "^7.18.6",
- "@babel/helper-plugin-utils": "^7.18.6",
- "@babel/helper-remap-async-to-generator": "^7.18.6"
+ "@babel/helper-module-imports": "^7.24.7",
+ "@babel/helper-plugin-utils": "^7.24.7",
+ "@babel/helper-remap-async-to-generator": "^7.24.7"
},
"engines": {
"node": ">=6.9.0"
@@ -1027,11 +874,11 @@
}
},
"node_modules/@babel/plugin-transform-block-scoped-functions": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz",
- "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.7.tgz",
+ "integrity": "sha512-yO7RAz6EsVQDaBH18IDJcMB1HnrUn2FJ/Jslc/WtPPWcjhpUJXU/rjbwmluzp7v/ZzWcEhTMXELnnsz8djWDwQ==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.18.6"
+ "@babel/helper-plugin-utils": "^7.24.7"
},
"engines": {
"node": ">=6.9.0"
@@ -1041,11 +888,11 @@
}
},
"node_modules/@babel/plugin-transform-block-scoping": {
- "version": "7.20.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.0.tgz",
- "integrity": "sha512-sXOohbpHZSk7GjxK9b3dKB7CfqUD5DwOH+DggKzOQ7TXYP+RCSbRykfjQmn/zq+rBjycVRtLf9pYhAaEJA786w==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.24.7.tgz",
+ "integrity": "sha512-Nd5CvgMbWc+oWzBsuaMcbwjJWAcp5qzrbg69SZdHSP7AMY0AbWFqFO0WTFCA1jxhMCwodRwvRec8k0QUbZk7RQ==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.19.0"
+ "@babel/helper-plugin-utils": "^7.24.7"
},
"engines": {
"node": ">=6.9.0"
@@ -1054,19 +901,49 @@
"@babel/core": "^7.0.0-0"
}
},
+ "node_modules/@babel/plugin-transform-class-properties": {
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.7.tgz",
+ "integrity": "sha512-vKbfawVYayKcSeSR5YYzzyXvsDFWU2mD8U5TFeXtbCPLFUqe7GyCgvO6XDHzje862ODrOwy6WCPmKeWHbCFJ4w==",
+ "dependencies": {
+ "@babel/helper-create-class-features-plugin": "^7.24.7",
+ "@babel/helper-plugin-utils": "^7.24.7"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-class-static-block": {
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.7.tgz",
+ "integrity": "sha512-HMXK3WbBPpZQufbMG4B46A90PkuuhN9vBCb5T8+VAHqvAqvcLi+2cKoukcpmUYkszLhScU3l1iudhrks3DggRQ==",
+ "dependencies": {
+ "@babel/helper-create-class-features-plugin": "^7.24.7",
+ "@babel/helper-plugin-utils": "^7.24.7",
+ "@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.19.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.19.0.tgz",
- "integrity": "sha512-YfeEE9kCjqTS9IitkgfJuxjcEtLUHMqa8yUJ6zdz8vR7hKuo6mOy2C05P0F1tdMmDCeuyidKnlrw/iTppHcr2A==",
- "dependencies": {
- "@babel/helper-annotate-as-pure": "^7.18.6",
- "@babel/helper-compilation-targets": "^7.19.0",
- "@babel/helper-environment-visitor": "^7.18.9",
- "@babel/helper-function-name": "^7.19.0",
- "@babel/helper-optimise-call-expression": "^7.18.6",
- "@babel/helper-plugin-utils": "^7.19.0",
- "@babel/helper-replace-supers": "^7.18.9",
- "@babel/helper-split-export-declaration": "^7.18.6",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.7.tgz",
+ "integrity": "sha512-CFbbBigp8ln4FU6Bpy6g7sE8B/WmCmzvivzUC6xDAdWVsjYTXijpuuGJmYkAaoWAzcItGKT3IOAbxRItZ5HTjw==",
+ "dependencies": {
+ "@babel/helper-annotate-as-pure": "^7.24.7",
+ "@babel/helper-compilation-targets": "^7.24.7",
+ "@babel/helper-environment-visitor": "^7.24.7",
+ "@babel/helper-function-name": "^7.24.7",
+ "@babel/helper-plugin-utils": "^7.24.7",
+ "@babel/helper-replace-supers": "^7.24.7",
+ "@babel/helper-split-export-declaration": "^7.24.7",
"globals": "^11.1.0"
},
"engines": {
@@ -1077,11 +954,12 @@
}
},
"node_modules/@babel/plugin-transform-computed-properties": {
- "version": "7.18.9",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz",
- "integrity": "sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.7.tgz",
+ "integrity": "sha512-25cS7v+707Gu6Ds2oY6tCkUwsJ9YIDbggd9+cu9jzzDgiNq7hR/8dkzxWfKWnTic26vsI3EsCXNd4iEB6e8esQ==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.18.9"
+ "@babel/helper-plugin-utils": "^7.24.7",
+ "@babel/template": "^7.24.7"
},
"engines": {
"node": ">=6.9.0"
@@ -1091,11 +969,11 @@
}
},
"node_modules/@babel/plugin-transform-destructuring": {
- "version": "7.20.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.20.0.tgz",
- "integrity": "sha512-1dIhvZfkDVx/zn2S1aFwlruspTt4189j7fEkH0Y0VyuDM6bQt7bD6kLcz3l4IlLG+e5OReaBz9ROAbttRtUHqA==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.7.tgz",
+ "integrity": "sha512-19eJO/8kdCQ9zISOf+SEUJM/bAUIsvY3YDnXZTupUCQ8LgrWnsG/gFB9dvXqdXnRXMAM8fvt7b0CBKQHNGy1mw==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.19.0"
+ "@babel/helper-plugin-utils": "^7.24.7"
},
"engines": {
"node": ">=6.9.0"
@@ -1105,12 +983,12 @@
}
},
"node_modules/@babel/plugin-transform-dotall-regex": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz",
- "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.7.tgz",
+ "integrity": "sha512-ZOA3W+1RRTSWvyqcMJDLqbchh7U4NRGqwRfFSVbOLS/ePIP4vHB5e8T8eXcuqyN1QkgKyj5wuW0lcS85v4CrSw==",
"dependencies": {
- "@babel/helper-create-regexp-features-plugin": "^7.18.6",
- "@babel/helper-plugin-utils": "^7.18.6"
+ "@babel/helper-create-regexp-features-plugin": "^7.24.7",
+ "@babel/helper-plugin-utils": "^7.24.7"
},
"engines": {
"node": ">=6.9.0"
@@ -1120,11 +998,26 @@
}
},
"node_modules/@babel/plugin-transform-duplicate-keys": {
- "version": "7.18.9",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz",
- "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.7.tgz",
+ "integrity": "sha512-JdYfXyCRihAe46jUIliuL2/s0x0wObgwwiGxw/UbgJBr20gQBThrokO4nYKgWkD7uBaqM7+9x5TU7NkExZJyzw==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.18.9"
+ "@babel/helper-plugin-utils": "^7.24.7"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-dynamic-import": {
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.7.tgz",
+ "integrity": "sha512-sc3X26PhZQDb3JhORmakcbvkeInvxz+A8oda99lj7J60QRuPZvNAk9wQlTBS1ZynelDrDmTU4pw1tyc5d5ZMUg==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.24.7",
+ "@babel/plugin-syntax-dynamic-import": "^7.8.3"
},
"engines": {
"node": ">=6.9.0"
@@ -1134,12 +1027,27 @@
}
},
"node_modules/@babel/plugin-transform-exponentiation-operator": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz",
- "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.7.tgz",
+ "integrity": "sha512-Rqe/vSc9OYgDajNIK35u7ot+KeCoetqQYFXM4Epf7M7ez3lWlOjrDjrwMei6caCVhfdw+mIKD4cgdGNy5JQotQ==",
"dependencies": {
- "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6",
- "@babel/helper-plugin-utils": "^7.18.6"
+ "@babel/helper-builder-binary-assignment-operator-visitor": "^7.24.7",
+ "@babel/helper-plugin-utils": "^7.24.7"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-export-namespace-from": {
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.7.tgz",
+ "integrity": "sha512-v0K9uNYsPL3oXZ/7F9NNIbAj2jv1whUEtyA6aujhekLs56R++JDQuzRcP2/z4WX5Vg/c5lE9uWZA0/iUoFhLTA==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.24.7",
+ "@babel/plugin-syntax-export-namespace-from": "^7.8.3"
},
"engines": {
"node": ">=6.9.0"
@@ -1149,11 +1057,12 @@
}
},
"node_modules/@babel/plugin-transform-for-of": {
- "version": "7.18.8",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz",
- "integrity": "sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.7.tgz",
+ "integrity": "sha512-wo9ogrDG1ITTTBsy46oGiN1dS9A7MROBTcYsfS8DtsImMkHk9JXJ3EWQM6X2SUw4x80uGPlwj0o00Uoc6nEE3g==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.18.6"
+ "@babel/helper-plugin-utils": "^7.24.7",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7"
},
"engines": {
"node": ">=6.9.0"
@@ -1163,13 +1072,28 @@
}
},
"node_modules/@babel/plugin-transform-function-name": {
- "version": "7.18.9",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz",
- "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.24.7.tgz",
+ "integrity": "sha512-U9FcnA821YoILngSmYkW6FjyQe2TyZD5pHt4EVIhmcTkrJw/3KqcrRSxuOo5tFZJi7TE19iDyI1u+weTI7bn2w==",
+ "dependencies": {
+ "@babel/helper-compilation-targets": "^7.24.7",
+ "@babel/helper-function-name": "^7.24.7",
+ "@babel/helper-plugin-utils": "^7.24.7"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-json-strings": {
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.7.tgz",
+ "integrity": "sha512-2yFnBGDvRuxAaE/f0vfBKvtnvvqU8tGpMHqMNpTN2oWMKIR3NqFkjaAgGwawhqK/pIN2T3XdjGPdaG0vDhOBGw==",
"dependencies": {
- "@babel/helper-compilation-targets": "^7.18.9",
- "@babel/helper-function-name": "^7.18.9",
- "@babel/helper-plugin-utils": "^7.18.9"
+ "@babel/helper-plugin-utils": "^7.24.7",
+ "@babel/plugin-syntax-json-strings": "^7.8.3"
},
"engines": {
"node": ">=6.9.0"
@@ -1179,11 +1103,26 @@
}
},
"node_modules/@babel/plugin-transform-literals": {
- "version": "7.18.9",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz",
- "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.24.7.tgz",
+ "integrity": "sha512-vcwCbb4HDH+hWi8Pqenwnjy+UiklO4Kt1vfspcQYFhJdpthSnW8XvWGyDZWKNVrVbVViI/S7K9PDJZiUmP2fYQ==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.24.7"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-logical-assignment-operators": {
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.7.tgz",
+ "integrity": "sha512-4D2tpwlQ1odXmTEIFWy9ELJcZHqrStlzK/dAOWYyxX3zT0iXQB6banjgeOJQXzEc4S0E0a5A+hahxPaEFYftsw==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.18.9"
+ "@babel/helper-plugin-utils": "^7.24.7",
+ "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4"
},
"engines": {
"node": ">=6.9.0"
@@ -1193,11 +1132,11 @@
}
},
"node_modules/@babel/plugin-transform-member-expression-literals": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz",
- "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.7.tgz",
+ "integrity": "sha512-T/hRC1uqrzXMKLQ6UCwMT85S3EvqaBXDGf0FaMf4446Qx9vKwlghvee0+uuZcDUCZU5RuNi4781UQ7R308zzBw==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.18.6"
+ "@babel/helper-plugin-utils": "^7.24.7"
},
"engines": {
"node": ">=6.9.0"
@@ -1207,12 +1146,12 @@
}
},
"node_modules/@babel/plugin-transform-modules-amd": {
- "version": "7.19.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.19.6.tgz",
- "integrity": "sha512-uG3od2mXvAtIFQIh0xrpLH6r5fpSQN04gIVovl+ODLdUMANokxQLZnPBHcjmv3GxRjnqwLuHvppjjcelqUFZvg==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.7.tgz",
+ "integrity": "sha512-9+pB1qxV3vs/8Hdmz/CulFB8w2tuu6EB94JZFsjdqxQokwGa9Unap7Bo2gGBGIvPmDIVvQrom7r5m/TCDMURhg==",
"dependencies": {
- "@babel/helper-module-transforms": "^7.19.6",
- "@babel/helper-plugin-utils": "^7.19.0"
+ "@babel/helper-module-transforms": "^7.24.7",
+ "@babel/helper-plugin-utils": "^7.24.7"
},
"engines": {
"node": ">=6.9.0"
@@ -1222,13 +1161,13 @@
}
},
"node_modules/@babel/plugin-transform-modules-commonjs": {
- "version": "7.19.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.19.6.tgz",
- "integrity": "sha512-8PIa1ym4XRTKuSsOUXqDG0YaOlEuTVvHMe5JCfgBMOtHvJKw/4NGovEGN33viISshG/rZNVrACiBmPQLvWN8xQ==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.7.tgz",
+ "integrity": "sha512-iFI8GDxtevHJ/Z22J5xQpVqFLlMNstcLXh994xifFwxxGslr2ZXXLWgtBeLctOD63UFDArdvN6Tg8RFw+aEmjQ==",
"dependencies": {
- "@babel/helper-module-transforms": "^7.19.6",
- "@babel/helper-plugin-utils": "^7.19.0",
- "@babel/helper-simple-access": "^7.19.4"
+ "@babel/helper-module-transforms": "^7.24.7",
+ "@babel/helper-plugin-utils": "^7.24.7",
+ "@babel/helper-simple-access": "^7.24.7"
},
"engines": {
"node": ">=6.9.0"
@@ -1238,14 +1177,14 @@
}
},
"node_modules/@babel/plugin-transform-modules-systemjs": {
- "version": "7.19.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.19.6.tgz",
- "integrity": "sha512-fqGLBepcc3kErfR9R3DnVpURmckXP7gj7bAlrTQyBxrigFqszZCkFkcoxzCp2v32XmwXLvbw+8Yq9/b+QqksjQ==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.24.7.tgz",
+ "integrity": "sha512-GYQE0tW7YoaN13qFh3O1NCY4MPkUiAH3fiF7UcV/I3ajmDKEdG3l+UOcbAm4zUE3gnvUU+Eni7XrVKo9eO9auw==",
"dependencies": {
- "@babel/helper-hoist-variables": "^7.18.6",
- "@babel/helper-module-transforms": "^7.19.6",
- "@babel/helper-plugin-utils": "^7.19.0",
- "@babel/helper-validator-identifier": "^7.19.1"
+ "@babel/helper-hoist-variables": "^7.24.7",
+ "@babel/helper-module-transforms": "^7.24.7",
+ "@babel/helper-plugin-utils": "^7.24.7",
+ "@babel/helper-validator-identifier": "^7.24.7"
},
"engines": {
"node": ">=6.9.0"
@@ -1255,12 +1194,12 @@
}
},
"node_modules/@babel/plugin-transform-modules-umd": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz",
- "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.7.tgz",
+ "integrity": "sha512-3aytQvqJ/h9z4g8AsKPLvD4Zqi2qT+L3j7XoFFu1XBlZWEl2/1kWnhmAbxpLgPrHSY0M6UA02jyTiwUVtiKR6A==",
"dependencies": {
- "@babel/helper-module-transforms": "^7.18.6",
- "@babel/helper-plugin-utils": "^7.18.6"
+ "@babel/helper-module-transforms": "^7.24.7",
+ "@babel/helper-plugin-utils": "^7.24.7"
},
"engines": {
"node": ">=6.9.0"
@@ -1270,12 +1209,12 @@
}
},
"node_modules/@babel/plugin-transform-named-capturing-groups-regex": {
- "version": "7.19.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.19.1.tgz",
- "integrity": "sha512-oWk9l9WItWBQYS4FgXD4Uyy5kq898lvkXpXQxoJEY1RnvPk4R/Dvu2ebXU9q8lP+rlMwUQTFf2Ok6d78ODa0kw==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.24.7.tgz",
+ "integrity": "sha512-/jr7h/EWeJtk1U/uz2jlsCioHkZk1JJZVcc8oQsJ1dUlaJD83f4/6Zeh2aHt9BIFokHIsSeDfhUmju0+1GPd6g==",
"dependencies": {
- "@babel/helper-create-regexp-features-plugin": "^7.19.0",
- "@babel/helper-plugin-utils": "^7.19.0"
+ "@babel/helper-create-regexp-features-plugin": "^7.24.7",
+ "@babel/helper-plugin-utils": "^7.24.7"
},
"engines": {
"node": ">=6.9.0"
@@ -1285,11 +1224,58 @@
}
},
"node_modules/@babel/plugin-transform-new-target": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz",
- "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.7.tgz",
+ "integrity": "sha512-RNKwfRIXg4Ls/8mMTza5oPF5RkOW8Wy/WgMAp1/F1yZ8mMbtwXW+HDoJiOsagWrAhI5f57Vncrmr9XeT4CVapA==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.18.6"
+ "@babel/helper-plugin-utils": "^7.24.7"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-nullish-coalescing-operator": {
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.7.tgz",
+ "integrity": "sha512-Ts7xQVk1OEocqzm8rHMXHlxvsfZ0cEF2yomUqpKENHWMF4zKk175Y4q8H5knJes6PgYad50uuRmt3UJuhBw8pQ==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.24.7",
+ "@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.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.7.tgz",
+ "integrity": "sha512-e6q1TiVUzvH9KRvicuxdBTUj4AdKSRwzIyFFnfnezpCfP2/7Qmbb8qbU2j7GODbl4JMkblitCQjKYUaX/qkkwA==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.24.7",
+ "@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.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.7.tgz",
+ "integrity": "sha512-4QrHAr0aXQCEFni2q4DqKLD31n2DL+RxcwnNjDFkSG0eNQ/xCavnRkfCUjsyqGC2OviNJvZOF/mQqZBw7i2C5Q==",
+ "dependencies": {
+ "@babel/helper-compilation-targets": "^7.24.7",
+ "@babel/helper-plugin-utils": "^7.24.7",
+ "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
+ "@babel/plugin-transform-parameters": "^7.24.7"
},
"engines": {
"node": ">=6.9.0"
@@ -1299,12 +1285,43 @@
}
},
"node_modules/@babel/plugin-transform-object-super": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz",
- "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.7.tgz",
+ "integrity": "sha512-A/vVLwN6lBrMFmMDmPPz0jnE6ZGx7Jq7d6sT/Ev4H65RER6pZ+kczlf1DthF5N0qaPHBsI7UXiE8Zy66nmAovg==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.18.6",
- "@babel/helper-replace-supers": "^7.18.6"
+ "@babel/helper-plugin-utils": "^7.24.7",
+ "@babel/helper-replace-supers": "^7.24.7"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-optional-catch-binding": {
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.7.tgz",
+ "integrity": "sha512-uLEndKqP5BfBbC/5jTwPxLh9kqPWWgzN/f8w6UwAIirAEqiIVJWWY312X72Eub09g5KF9+Zn7+hT7sDxmhRuKA==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.24.7",
+ "@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.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.7.tgz",
+ "integrity": "sha512-tK+0N9yd4j+x/4hxF3F0e0fu/VdcxU18y5SevtyM/PCFlQvXbR0Zmlo2eBrKtVipGNFzpq56o8WsIIKcJFUCRQ==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.24.7",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7",
+ "@babel/plugin-syntax-optional-chaining": "^7.8.3"
},
"engines": {
"node": ">=6.9.0"
@@ -1314,11 +1331,43 @@
}
},
"node_modules/@babel/plugin-transform-parameters": {
- "version": "7.20.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.1.tgz",
- "integrity": "sha512-nDvKLrAvl+kf6BOy1UJ3MGwzzfTMgppxwiD2Jb4LO3xjYyZq30oQzDNJbCQpMdG9+j2IXHoiMrw5Cm/L6ZoxXQ==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.7.tgz",
+ "integrity": "sha512-yGWW5Rr+sQOhK0Ot8hjDJuxU3XLRQGflvT4lhlSY0DFvdb3TwKaY26CJzHtYllU0vT9j58hc37ndFPsqT1SrzA==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.24.7"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-private-methods": {
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.24.7.tgz",
+ "integrity": "sha512-COTCOkG2hn4JKGEKBADkA8WNb35TGkkRbI5iT845dB+NyqgO8Hn+ajPbSnIQznneJTa3d30scb6iz/DhH8GsJQ==",
+ "dependencies": {
+ "@babel/helper-create-class-features-plugin": "^7.24.7",
+ "@babel/helper-plugin-utils": "^7.24.7"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-private-property-in-object": {
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.7.tgz",
+ "integrity": "sha512-9z76mxwnwFxMyxZWEgdgECQglF2Q7cFLm0kMf8pGwt+GSJsY0cONKj/UuO4bOH0w/uAel3ekS4ra5CEAyJRmDA==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.19.0"
+ "@babel/helper-annotate-as-pure": "^7.24.7",
+ "@babel/helper-create-class-features-plugin": "^7.24.7",
+ "@babel/helper-plugin-utils": "^7.24.7",
+ "@babel/plugin-syntax-private-property-in-object": "^7.14.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1328,11 +1377,11 @@
}
},
"node_modules/@babel/plugin-transform-property-literals": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz",
- "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.7.tgz",
+ "integrity": "sha512-EMi4MLQSHfd2nrCqQEWxFdha2gBCqU4ZcCng4WBGZ5CJL4bBRW0ptdqqDdeirGZcpALazVVNJqRmsO8/+oNCBA==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.18.6"
+ "@babel/helper-plugin-utils": "^7.24.7"
},
"engines": {
"node": ">=6.9.0"
@@ -1342,12 +1391,12 @@
}
},
"node_modules/@babel/plugin-transform-regenerator": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.6.tgz",
- "integrity": "sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.7.tgz",
+ "integrity": "sha512-lq3fvXPdimDrlg6LWBoqj+r/DEWgONuwjuOuQCSYgRroXDH/IdM1C0IZf59fL5cHLpjEH/O6opIRBbqv7ELnuA==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.18.6",
- "regenerator-transform": "^0.15.0"
+ "@babel/helper-plugin-utils": "^7.24.7",
+ "regenerator-transform": "^0.15.2"
},
"engines": {
"node": ">=6.9.0"
@@ -1357,11 +1406,11 @@
}
},
"node_modules/@babel/plugin-transform-reserved-words": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz",
- "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.7.tgz",
+ "integrity": "sha512-0DUq0pHcPKbjFZCfTss/pGkYMfy3vFWydkUBd9r0GHpIyfs2eCDENvqadMycRS9wZCXR41wucAfJHJmwA0UmoQ==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.18.6"
+ "@babel/helper-plugin-utils": "^7.24.7"
},
"engines": {
"node": ">=6.9.0"
@@ -1371,16 +1420,16 @@
}
},
"node_modules/@babel/plugin-transform-runtime": {
- "version": "7.19.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.19.6.tgz",
- "integrity": "sha512-PRH37lz4JU156lYFW1p8OxE5i7d6Sl/zV58ooyr+q1J1lnQPyg5tIiXlIwNVhJaY4W3TmOtdc8jqdXQcB1v5Yw==",
- "dependencies": {
- "@babel/helper-module-imports": "^7.18.6",
- "@babel/helper-plugin-utils": "^7.19.0",
- "babel-plugin-polyfill-corejs2": "^0.3.3",
- "babel-plugin-polyfill-corejs3": "^0.6.0",
- "babel-plugin-polyfill-regenerator": "^0.4.1",
- "semver": "^6.3.0"
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.24.7.tgz",
+ "integrity": "sha512-YqXjrk4C+a1kZjewqt+Mmu2UuV1s07y8kqcUf4qYLnoqemhR4gRQikhdAhSVJioMjVTu6Mo6pAbaypEA3jY6fw==",
+ "dependencies": {
+ "@babel/helper-module-imports": "^7.24.7",
+ "@babel/helper-plugin-utils": "^7.24.7",
+ "babel-plugin-polyfill-corejs2": "^0.4.10",
+ "babel-plugin-polyfill-corejs3": "^0.10.1",
+ "babel-plugin-polyfill-regenerator": "^0.6.1",
+ "semver": "^6.3.1"
},
"engines": {
"node": ">=6.9.0"
@@ -1390,11 +1439,11 @@
}
},
"node_modules/@babel/plugin-transform-shorthand-properties": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz",
- "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.7.tgz",
+ "integrity": "sha512-KsDsevZMDsigzbA09+vacnLpmPH4aWjcZjXdyFKGzpplxhbeB4wYtury3vglQkg6KM/xEPKt73eCjPPf1PgXBA==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.18.6"
+ "@babel/helper-plugin-utils": "^7.24.7"
},
"engines": {
"node": ">=6.9.0"
@@ -1404,12 +1453,12 @@
}
},
"node_modules/@babel/plugin-transform-spread": {
- "version": "7.19.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.19.0.tgz",
- "integrity": "sha512-RsuMk7j6n+r752EtzyScnWkQyuJdli6LdO5Klv8Yx0OfPVTcQkIUfS8clx5e9yHXzlnhOZF3CbQ8C2uP5j074w==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.7.tgz",
+ "integrity": "sha512-x96oO0I09dgMDxJaANcRyD4ellXFLLiWhuwDxKZX5g2rWP1bTPkBSwCYv96VDXVT1bD9aPj8tppr5ITIh8hBng==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.19.0",
- "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9"
+ "@babel/helper-plugin-utils": "^7.24.7",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7"
},
"engines": {
"node": ">=6.9.0"
@@ -1419,11 +1468,11 @@
}
},
"node_modules/@babel/plugin-transform-sticky-regex": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz",
- "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.7.tgz",
+ "integrity": "sha512-kHPSIJc9v24zEml5geKg9Mjx5ULpfncj0wRpYtxbvKyTtHCYDkVE3aHQ03FrpEo4gEe2vrJJS1Y9CJTaThA52g==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.18.6"
+ "@babel/helper-plugin-utils": "^7.24.7"
},
"engines": {
"node": ">=6.9.0"
@@ -1433,11 +1482,11 @@
}
},
"node_modules/@babel/plugin-transform-template-literals": {
- "version": "7.18.9",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz",
- "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.7.tgz",
+ "integrity": "sha512-AfDTQmClklHCOLxtGoP7HkeMw56k1/bTQjwsfhL6pppo/M4TOBSq+jjBUBLmV/4oeFg4GWMavIl44ZeCtmmZTw==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.18.9"
+ "@babel/helper-plugin-utils": "^7.24.7"
},
"engines": {
"node": ">=6.9.0"
@@ -1447,11 +1496,11 @@
}
},
"node_modules/@babel/plugin-transform-typeof-symbol": {
- "version": "7.18.9",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz",
- "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.7.tgz",
+ "integrity": "sha512-VtR8hDy7YLB7+Pet9IarXjg/zgCMSF+1mNS/EQEiEaUPoFXCVsHG64SIxcaaI2zJgRiv+YmgaQESUfWAdbjzgg==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.18.9"
+ "@babel/helper-plugin-utils": "^7.24.7"
},
"engines": {
"node": ">=6.9.0"
@@ -1461,11 +1510,26 @@
}
},
"node_modules/@babel/plugin-transform-unicode-escapes": {
- "version": "7.18.10",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz",
- "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.7.tgz",
+ "integrity": "sha512-U3ap1gm5+4edc2Q/P+9VrBNhGkfnf+8ZqppY71Bo/pzZmXhhLdqgaUl6cuB07O1+AQJtCLfaOmswiNbSQ9ivhw==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.18.9"
+ "@babel/helper-plugin-utils": "^7.24.7"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-unicode-property-regex": {
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.7.tgz",
+ "integrity": "sha512-uH2O4OV5M9FZYQrwc7NdVmMxQJOCCzFeYudlZSzUAHRFeOujQefa92E74TQDVskNHCzOXoigEuoyzHDhaEaK5w==",
+ "dependencies": {
+ "@babel/helper-create-regexp-features-plugin": "^7.24.7",
+ "@babel/helper-plugin-utils": "^7.24.7"
},
"engines": {
"node": ">=6.9.0"
@@ -1475,12 +1539,12 @@
}
},
"node_modules/@babel/plugin-transform-unicode-regex": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz",
- "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.7.tgz",
+ "integrity": "sha512-hlQ96MBZSAXUq7ltkjtu3FJCCSMx/j629ns3hA3pXnBXjanNP0LHi+JpPeA81zaWgVK1VGH95Xuy7u0RyQ8kMg==",
"dependencies": {
- "@babel/helper-create-regexp-features-plugin": "^7.18.6",
- "@babel/helper-plugin-utils": "^7.18.6"
+ "@babel/helper-create-regexp-features-plugin": "^7.24.7",
+ "@babel/helper-plugin-utils": "^7.24.7"
},
"engines": {
"node": ">=6.9.0"
@@ -1489,38 +1553,43 @@
"@babel/core": "^7.0.0-0"
}
},
+ "node_modules/@babel/plugin-transform-unicode-sets-regex": {
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.7.tgz",
+ "integrity": "sha512-2G8aAvF4wy1w/AGZkemprdGMRg5o6zPNhbHVImRz3lss55TYCBd6xStN19rt8XJHq20sqV0JbyWjOWwQRwV/wg==",
+ "dependencies": {
+ "@babel/helper-create-regexp-features-plugin": "^7.24.7",
+ "@babel/helper-plugin-utils": "^7.24.7"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
"node_modules/@babel/preset-env": {
- "version": "7.19.4",
- "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.19.4.tgz",
- "integrity": "sha512-5QVOTXUdqTCjQuh2GGtdd7YEhoRXBMVGROAtsBeLGIbIz3obCBIfRMT1I3ZKkMgNzwkyCkftDXSSkHxnfVf4qg==",
- "dependencies": {
- "@babel/compat-data": "^7.19.4",
- "@babel/helper-compilation-targets": "^7.19.3",
- "@babel/helper-plugin-utils": "^7.19.0",
- "@babel/helper-validator-option": "^7.18.6",
- "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6",
- "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9",
- "@babel/plugin-proposal-async-generator-functions": "^7.19.1",
- "@babel/plugin-proposal-class-properties": "^7.18.6",
- "@babel/plugin-proposal-class-static-block": "^7.18.6",
- "@babel/plugin-proposal-dynamic-import": "^7.18.6",
- "@babel/plugin-proposal-export-namespace-from": "^7.18.9",
- "@babel/plugin-proposal-json-strings": "^7.18.6",
- "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9",
- "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6",
- "@babel/plugin-proposal-numeric-separator": "^7.18.6",
- "@babel/plugin-proposal-object-rest-spread": "^7.19.4",
- "@babel/plugin-proposal-optional-catch-binding": "^7.18.6",
- "@babel/plugin-proposal-optional-chaining": "^7.18.9",
- "@babel/plugin-proposal-private-methods": "^7.18.6",
- "@babel/plugin-proposal-private-property-in-object": "^7.18.6",
- "@babel/plugin-proposal-unicode-property-regex": "^7.18.6",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.24.7.tgz",
+ "integrity": "sha512-1YZNsc+y6cTvWlDHidMBsQZrZfEFjRIo/BZCT906PMdzOyXtSLTgqGdrpcuTDCXyd11Am5uQULtDIcCfnTc8fQ==",
+ "dependencies": {
+ "@babel/compat-data": "^7.24.7",
+ "@babel/helper-compilation-targets": "^7.24.7",
+ "@babel/helper-plugin-utils": "^7.24.7",
+ "@babel/helper-validator-option": "^7.24.7",
+ "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.24.7",
+ "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.24.7",
+ "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.24.7",
+ "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.24.7",
+ "@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.18.6",
+ "@babel/plugin-syntax-import-assertions": "^7.24.7",
+ "@babel/plugin-syntax-import-attributes": "^7.24.7",
+ "@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",
@@ -1530,45 +1599,61 @@
"@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-transform-arrow-functions": "^7.18.6",
- "@babel/plugin-transform-async-to-generator": "^7.18.6",
- "@babel/plugin-transform-block-scoped-functions": "^7.18.6",
- "@babel/plugin-transform-block-scoping": "^7.19.4",
- "@babel/plugin-transform-classes": "^7.19.0",
- "@babel/plugin-transform-computed-properties": "^7.18.9",
- "@babel/plugin-transform-destructuring": "^7.19.4",
- "@babel/plugin-transform-dotall-regex": "^7.18.6",
- "@babel/plugin-transform-duplicate-keys": "^7.18.9",
- "@babel/plugin-transform-exponentiation-operator": "^7.18.6",
- "@babel/plugin-transform-for-of": "^7.18.8",
- "@babel/plugin-transform-function-name": "^7.18.9",
- "@babel/plugin-transform-literals": "^7.18.9",
- "@babel/plugin-transform-member-expression-literals": "^7.18.6",
- "@babel/plugin-transform-modules-amd": "^7.18.6",
- "@babel/plugin-transform-modules-commonjs": "^7.18.6",
- "@babel/plugin-transform-modules-systemjs": "^7.19.0",
- "@babel/plugin-transform-modules-umd": "^7.18.6",
- "@babel/plugin-transform-named-capturing-groups-regex": "^7.19.1",
- "@babel/plugin-transform-new-target": "^7.18.6",
- "@babel/plugin-transform-object-super": "^7.18.6",
- "@babel/plugin-transform-parameters": "^7.18.8",
- "@babel/plugin-transform-property-literals": "^7.18.6",
- "@babel/plugin-transform-regenerator": "^7.18.6",
- "@babel/plugin-transform-reserved-words": "^7.18.6",
- "@babel/plugin-transform-shorthand-properties": "^7.18.6",
- "@babel/plugin-transform-spread": "^7.19.0",
- "@babel/plugin-transform-sticky-regex": "^7.18.6",
- "@babel/plugin-transform-template-literals": "^7.18.9",
- "@babel/plugin-transform-typeof-symbol": "^7.18.9",
- "@babel/plugin-transform-unicode-escapes": "^7.18.10",
- "@babel/plugin-transform-unicode-regex": "^7.18.6",
- "@babel/preset-modules": "^0.1.5",
- "@babel/types": "^7.19.4",
- "babel-plugin-polyfill-corejs2": "^0.3.3",
- "babel-plugin-polyfill-corejs3": "^0.6.0",
- "babel-plugin-polyfill-regenerator": "^0.4.1",
- "core-js-compat": "^3.25.1",
- "semver": "^6.3.0"
+ "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6",
+ "@babel/plugin-transform-arrow-functions": "^7.24.7",
+ "@babel/plugin-transform-async-generator-functions": "^7.24.7",
+ "@babel/plugin-transform-async-to-generator": "^7.24.7",
+ "@babel/plugin-transform-block-scoped-functions": "^7.24.7",
+ "@babel/plugin-transform-block-scoping": "^7.24.7",
+ "@babel/plugin-transform-class-properties": "^7.24.7",
+ "@babel/plugin-transform-class-static-block": "^7.24.7",
+ "@babel/plugin-transform-classes": "^7.24.7",
+ "@babel/plugin-transform-computed-properties": "^7.24.7",
+ "@babel/plugin-transform-destructuring": "^7.24.7",
+ "@babel/plugin-transform-dotall-regex": "^7.24.7",
+ "@babel/plugin-transform-duplicate-keys": "^7.24.7",
+ "@babel/plugin-transform-dynamic-import": "^7.24.7",
+ "@babel/plugin-transform-exponentiation-operator": "^7.24.7",
+ "@babel/plugin-transform-export-namespace-from": "^7.24.7",
+ "@babel/plugin-transform-for-of": "^7.24.7",
+ "@babel/plugin-transform-function-name": "^7.24.7",
+ "@babel/plugin-transform-json-strings": "^7.24.7",
+ "@babel/plugin-transform-literals": "^7.24.7",
+ "@babel/plugin-transform-logical-assignment-operators": "^7.24.7",
+ "@babel/plugin-transform-member-expression-literals": "^7.24.7",
+ "@babel/plugin-transform-modules-amd": "^7.24.7",
+ "@babel/plugin-transform-modules-commonjs": "^7.24.7",
+ "@babel/plugin-transform-modules-systemjs": "^7.24.7",
+ "@babel/plugin-transform-modules-umd": "^7.24.7",
+ "@babel/plugin-transform-named-capturing-groups-regex": "^7.24.7",
+ "@babel/plugin-transform-new-target": "^7.24.7",
+ "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.7",
+ "@babel/plugin-transform-numeric-separator": "^7.24.7",
+ "@babel/plugin-transform-object-rest-spread": "^7.24.7",
+ "@babel/plugin-transform-object-super": "^7.24.7",
+ "@babel/plugin-transform-optional-catch-binding": "^7.24.7",
+ "@babel/plugin-transform-optional-chaining": "^7.24.7",
+ "@babel/plugin-transform-parameters": "^7.24.7",
+ "@babel/plugin-transform-private-methods": "^7.24.7",
+ "@babel/plugin-transform-private-property-in-object": "^7.24.7",
+ "@babel/plugin-transform-property-literals": "^7.24.7",
+ "@babel/plugin-transform-regenerator": "^7.24.7",
+ "@babel/plugin-transform-reserved-words": "^7.24.7",
+ "@babel/plugin-transform-shorthand-properties": "^7.24.7",
+ "@babel/plugin-transform-spread": "^7.24.7",
+ "@babel/plugin-transform-sticky-regex": "^7.24.7",
+ "@babel/plugin-transform-template-literals": "^7.24.7",
+ "@babel/plugin-transform-typeof-symbol": "^7.24.7",
+ "@babel/plugin-transform-unicode-escapes": "^7.24.7",
+ "@babel/plugin-transform-unicode-property-regex": "^7.24.7",
+ "@babel/plugin-transform-unicode-regex": "^7.24.7",
+ "@babel/plugin-transform-unicode-sets-regex": "^7.24.7",
+ "@babel/preset-modules": "0.1.6-no-external-plugins",
+ "babel-plugin-polyfill-corejs2": "^0.4.10",
+ "babel-plugin-polyfill-corejs3": "^0.10.4",
+ "babel-plugin-polyfill-regenerator": "^0.6.1",
+ "core-js-compat": "^3.31.0",
+ "semver": "^6.3.1"
},
"engines": {
"node": ">=6.9.0"
@@ -1578,58 +1663,61 @@
}
},
"node_modules/@babel/preset-modules": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz",
- "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==",
+ "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/plugin-proposal-unicode-property-regex": "^7.4.4",
- "@babel/plugin-transform-dotall-regex": "^7.4.4",
"@babel/types": "^7.4.4",
"esutils": "^2.0.2"
},
"peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.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.20.1",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.1.tgz",
- "integrity": "sha512-mrzLkl6U9YLF8qpqI7TB82PESyEGjm/0Ly91jG575eVxMMlb8fYfOXFZIJ8XfLrJZQbm7dlKry2bJmXBUEkdFg==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.7.tgz",
+ "integrity": "sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==",
"dependencies": {
- "regenerator-runtime": "^0.13.10"
+ "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==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.7.tgz",
+ "integrity": "sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==",
"dependencies": {
- "@babel/code-frame": "^7.22.13",
- "@babel/parser": "^7.22.15",
- "@babel/types": "^7.22.15"
+ "@babel/code-frame": "^7.24.7",
+ "@babel/parser": "^7.24.7",
+ "@babel/types": "^7.24.7"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/traverse": {
- "version": "7.23.2",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz",
- "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==",
- "dependencies": {
- "@babel/code-frame": "^7.22.13",
- "@babel/generator": "^7.23.0",
- "@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.0",
- "@babel/types": "^7.23.0",
- "debug": "^4.1.0",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.7.tgz",
+ "integrity": "sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==",
+ "dependencies": {
+ "@babel/code-frame": "^7.24.7",
+ "@babel/generator": "^7.24.7",
+ "@babel/helper-environment-visitor": "^7.24.7",
+ "@babel/helper-function-name": "^7.24.7",
+ "@babel/helper-hoist-variables": "^7.24.7",
+ "@babel/helper-split-export-declaration": "^7.24.7",
+ "@babel/parser": "^7.24.7",
+ "@babel/types": "^7.24.7",
+ "debug": "^4.3.1",
"globals": "^11.1.0"
},
"engines": {
@@ -1637,12 +1725,12 @@
}
},
"node_modules/@babel/types": {
- "version": "7.23.0",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz",
- "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.7.tgz",
+ "integrity": "sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==",
"dependencies": {
- "@babel/helper-string-parser": "^7.22.5",
- "@babel/helper-validator-identifier": "^7.22.20",
+ "@babel/helper-string-parser": "^7.24.7",
+ "@babel/helper-validator-identifier": "^7.24.7",
"to-fast-properties": "^2.0.0"
},
"engines": {
@@ -1658,6 +1746,15 @@
"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==",
+ "dev": true,
+ "engines": {
+ "node": ">=10.0.0"
+ }
+ },
"node_modules/@es-joy/jsdoccomment": {
"version": "0.22.2",
"resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.22.2.tgz",
@@ -1709,9 +1806,9 @@
}
},
"node_modules/@eslint/eslintrc/node_modules/globals": {
- "version": "13.17.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz",
- "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==",
+ "version": "13.24.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz",
+ "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==",
"dev": true,
"dependencies": {
"type-fest": "^0.20.2"
@@ -1883,6 +1980,7 @@
"version": "0.5.0",
"resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz",
"integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==",
+ "deprecated": "Use @eslint/config-array instead",
"dev": true,
"dependencies": {
"@humanwhocodes/object-schema": "^1.2.0",
@@ -1897,6 +1995,7 @@
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz",
"integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==",
+ "deprecated": "Use @eslint/object-schema instead",
"dev": true
},
"node_modules/@isaacs/cliui": {
@@ -1916,18 +2015,6 @@
"node": ">=12"
}
},
- "node_modules/@isaacs/cliui/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==",
- "dev": true,
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-regex?sponsor=1"
- }
- },
"node_modules/@isaacs/cliui/node_modules/ansi-styles": {
"version": "6.2.1",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz",
@@ -1963,21 +2050,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/@isaacs/cliui/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==",
- "dev": true,
- "dependencies": {
- "ansi-regex": "^6.0.1"
- },
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/strip-ansi?sponsor=1"
- }
- },
"node_modules/@isaacs/cliui/node_modules/wrap-ansi": {
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz",
@@ -2132,78 +2204,65 @@
}
},
"node_modules/@jridgewell/gen-mapping": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz",
- "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==",
+ "version": "0.3.5",
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz",
+ "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==",
"dependencies": {
- "@jridgewell/set-array": "^1.0.0",
- "@jridgewell/sourcemap-codec": "^1.4.10"
+ "@jridgewell/set-array": "^1.2.1",
+ "@jridgewell/sourcemap-codec": "^1.4.10",
+ "@jridgewell/trace-mapping": "^0.3.24"
},
"engines": {
"node": ">=6.0.0"
}
},
"node_modules/@jridgewell/resolve-uri": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz",
- "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==",
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
+ "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
"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==",
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz",
+ "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==",
"engines": {
"node": ">=6.0.0"
}
},
"node_modules/@jridgewell/source-map": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz",
- "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==",
- "dev": true,
- "dependencies": {
- "@jridgewell/gen-mapping": "^0.3.0",
- "@jridgewell/trace-mapping": "^0.3.9"
- }
- },
- "node_modules/@jridgewell/source-map/node_modules/@jridgewell/gen-mapping": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz",
- "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==",
+ "version": "0.3.6",
+ "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz",
+ "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==",
"dev": true,
"dependencies": {
- "@jridgewell/set-array": "^1.0.1",
- "@jridgewell/sourcemap-codec": "^1.4.10",
- "@jridgewell/trace-mapping": "^0.3.9"
- },
- "engines": {
- "node": ">=6.0.0"
+ "@jridgewell/gen-mapping": "^0.3.5",
+ "@jridgewell/trace-mapping": "^0.3.25"
}
},
"node_modules/@jridgewell/sourcemap-codec": {
- "version": "1.4.14",
- "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz",
- "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw=="
+ "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.17",
- "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz",
- "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==",
+ "version": "0.3.25",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
+ "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
"dependencies": {
- "@jridgewell/resolve-uri": "3.1.0",
- "@jridgewell/sourcemap-codec": "1.4.14"
+ "@jridgewell/resolve-uri": "^3.1.0",
+ "@jridgewell/sourcemap-codec": "^1.4.14"
}
},
"node_modules/@ljharb/through": {
- "version": "2.3.12",
- "resolved": "https://registry.npmjs.org/@ljharb/through/-/through-2.3.12.tgz",
- "integrity": "sha512-ajo/heTlG3QgC8EGP6APIejksVAYt4ayz4tqoP3MolFELzcH1x1fzwEYRJTPO0IELutZ5HQ0c26/GqAYy79u3g==",
+ "version": "2.3.13",
+ "resolved": "https://registry.npmjs.org/@ljharb/through/-/through-2.3.13.tgz",
+ "integrity": "sha512-/gKJun8NNiWGZJkGzI/Ragc53cOdcLNdzjLaIa+GEjguQs0ulsurx8WN0jijdK9yPqDvziX995sMRLyLt1uZMQ==",
"dev": true,
"dependencies": {
- "call-bind": "^1.0.5"
+ "call-bind": "^1.0.7"
},
"engines": {
"node": ">= 0.4"
@@ -2225,46 +2284,34 @@
"dev": true
},
"node_modules/@percy/appium-app": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/@percy/appium-app/-/appium-app-2.0.3.tgz",
- "integrity": "sha512-6INeUJSyK2LzWV4Cc9bszNqKr3/NLcjFelUC2grjPnm6+jLA29inBF4ZE3PeTfLeCSw/0jyCGWV5fr9AyxtzCA==",
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/@percy/appium-app/-/appium-app-2.0.6.tgz",
+ "integrity": "sha512-0NT8xgaq4UOhcqVc4H3D440M7H5Zko8mDpY5j30TRpjOQ3ctLPJalmUVKOCFv4rSzjd2LmyE2F9KXTPA3zqQsw==",
"dev": true,
"dependencies": {
- "@percy/sdk-utils": "^1.27.0-beta.0",
+ "@percy/sdk-utils": "^1.28.2",
"tmp": "^0.2.1"
},
"engines": {
"node": ">=14"
}
},
- "node_modules/@percy/appium-app/node_modules/tmp": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz",
- "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==",
- "dev": true,
- "dependencies": {
- "rimraf": "^3.0.0"
- },
- "engines": {
- "node": ">=8.17.0"
- }
- },
"node_modules/@percy/sdk-utils": {
- "version": "1.27.7",
- "resolved": "https://registry.npmjs.org/@percy/sdk-utils/-/sdk-utils-1.27.7.tgz",
- "integrity": "sha512-E21dIEQ9wwGDno41FdMDYf6jJow5scbWGClqKE/ptB+950W4UF5C4hxhVVQoEJxDdLE/Gy/8ZJR7upvPHShWDg==",
+ "version": "1.28.7",
+ "resolved": "https://registry.npmjs.org/@percy/sdk-utils/-/sdk-utils-1.28.7.tgz",
+ "integrity": "sha512-LIhfHnkcS0fyIdo3gvKn7rwodZjbEtyLkgiDRSRulcBOatI2mhn2Bh269sXXiiFTyAW2BDQjyE3DWc4hkGbsbQ==",
"dev": true,
"engines": {
"node": ">=14"
}
},
"node_modules/@percy/selenium-webdriver": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/@percy/selenium-webdriver/-/selenium-webdriver-2.0.3.tgz",
- "integrity": "sha512-JfLJVRkwNfqVofe7iGKtoQbOcKSSj9t4pWFbSUk95JfwAA7b9/c+dlBsxgIRrdrMYzLRjnJkYAFSZkJ4F4A19A==",
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/@percy/selenium-webdriver/-/selenium-webdriver-2.0.5.tgz",
+ "integrity": "sha512-bNj52xQm02dY872loFa+8OwyuGcdYHYvCKflmSEsF9EDRiSDj0Wr+XP+DDIgDAl9xXschA7OOdXCLTWV4zEQWA==",
"dev": true,
"dependencies": {
- "@percy/sdk-utils": "^1.27.2",
+ "@percy/sdk-utils": "^1.28.0",
"node-request-interceptor": "^0.6.3"
},
"engines": {
@@ -2282,11 +2329,32 @@
}
},
"node_modules/@polka/url": {
- "version": "1.0.0-next.21",
- "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.21.tgz",
- "integrity": "sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==",
+ "version": "1.0.0-next.25",
+ "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.25.tgz",
+ "integrity": "sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==",
"dev": true
},
+ "node_modules/@promptbook/utils": {
+ "version": "0.50.0-10",
+ "resolved": "https://registry.npmjs.org/@promptbook/utils/-/utils-0.50.0-10.tgz",
+ "integrity": "sha512-Z94YoY/wcZb5m1QoXgmIC1rVeDguGK5bWmUTYdWCqh/LHVifRdJ1C+tBzS0h+HMOD0XzMjZhBQ/mBgTZ/QNW/g==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "individual",
+ "url": "https://buymeacoffee.com/hejny"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/webgptorg/promptbook/blob/main/README.md#%EF%B8%8F-contributing"
+ }
+ ],
+ "dependencies": {
+ "moment": "2.30.1",
+ "prettier": "2.8.1",
+ "spacetrim": "0.11.25"
+ }
+ },
"node_modules/@puppeteer/browsers": {
"version": "1.9.1",
"resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-1.9.1.tgz",
@@ -2308,26 +2376,21 @@
"node": ">=16.3.0"
}
},
- "node_modules/@puppeteer/browsers/node_modules/tar-fs": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.4.tgz",
- "integrity": "sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w==",
- "dev": true,
- "dependencies": {
- "mkdirp-classic": "^0.5.2",
- "pump": "^3.0.0",
- "tar-stream": "^3.1.5"
- }
- },
- "node_modules/@puppeteer/browsers/node_modules/tar-stream": {
- "version": "3.1.7",
- "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz",
- "integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==",
+ "node_modules/@puppeteer/browsers/node_modules/debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
"dev": true,
"dependencies": {
- "b4a": "^1.6.4",
- "fast-fifo": "^1.2.0",
- "streamx": "^2.15.0"
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
}
},
"node_modules/@puppeteer/browsers/node_modules/yargs": {
@@ -2355,21 +2418,21 @@
"dev": true
},
"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==",
+ "version": "5.6.0",
+ "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-5.6.0.tgz",
+ "integrity": "sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==",
"dev": true,
"engines": {
- "node": ">=10"
+ "node": ">=14.16"
},
"funding": {
"url": "https://github.com/sindresorhus/is?sponsor=1"
}
},
"node_modules/@sinonjs/commons": {
- "version": "1.8.3",
- "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz",
- "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==",
+ "version": "1.8.6",
+ "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz",
+ "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==",
"dev": true,
"dependencies": {
"type-detect": "4.0.8"
@@ -2402,21 +2465,21 @@
"dev": true
},
"node_modules/@socket.io/component-emitter": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz",
- "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==",
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz",
+ "integrity": "sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==",
"dev": true
},
"node_modules/@szmarczak/http-timer": {
- "version": "4.0.6",
- "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz",
- "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==",
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-5.0.1.tgz",
+ "integrity": "sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==",
"dev": true,
"dependencies": {
- "defer-to-connect": "^2.0.0"
+ "defer-to-connect": "^2.0.1"
},
"engines": {
- "node": ">=10"
+ "node": ">=14.16"
}
},
"node_modules/@tootallnate/once": {
@@ -2437,21 +2500,21 @@
"dev": true
},
"node_modules/@types/aria-query": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.1.tgz",
- "integrity": "sha512-XTIieEY+gvJ39ChLcB4If5zHtPxt3Syj5rgZR+e1ctpmK8NjPf0zFqsz4JpLJT0xla9GFDKjy8Cpu331nrmE1Q==",
+ "version": "5.0.4",
+ "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz",
+ "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==",
"dev": true
},
"node_modules/@types/cacheable-request": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.2.tgz",
- "integrity": "sha512-B3xVo+dlKM6nnKTcmm5ZtY/OL8bOAOd2Olee9M1zft65ox50OzjEHW91sDiU9j6cvW8Ejg1/Qkf4xd2kugApUA==",
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.3.tgz",
+ "integrity": "sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==",
"dev": true,
"dependencies": {
"@types/http-cache-semantics": "*",
- "@types/keyv": "*",
+ "@types/keyv": "^3.1.4",
"@types/node": "*",
- "@types/responselike": "*"
+ "@types/responselike": "^1.0.0"
}
},
"node_modules/@types/cookie": {
@@ -2461,27 +2524,27 @@
"dev": true
},
"node_modules/@types/cors": {
- "version": "2.8.13",
- "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.13.tgz",
- "integrity": "sha512-RG8AStHlUiV5ysZQKq97copd2UmVYw3/pRMLefISZ3S1hK104Cwm7iLQ3fTKx+lsUH2CE8FlLaYeEA2LSeqYUA==",
+ "version": "2.8.17",
+ "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.17.tgz",
+ "integrity": "sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA==",
"dev": true,
"dependencies": {
"@types/node": "*"
}
},
"node_modules/@types/debug": {
- "version": "4.1.7",
- "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.7.tgz",
- "integrity": "sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==",
+ "version": "4.1.12",
+ "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz",
+ "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==",
"dev": true,
"dependencies": {
"@types/ms": "*"
}
},
"node_modules/@types/eslint": {
- "version": "8.4.9",
- "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.9.tgz",
- "integrity": "sha512-jFCSo4wJzlHQLCpceUhUnXdrPuCNOjGFMQ8Eg6JXxlz3QaCKOb7eGi2cephQdM4XTYsNej69P9JDJ1zqNIbncQ==",
+ "version": "8.56.10",
+ "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.10.tgz",
+ "integrity": "sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ==",
"dev": true,
"dependencies": {
"@types/estree": "*",
@@ -2489,9 +2552,9 @@
}
},
"node_modules/@types/eslint-scope": {
- "version": "3.7.4",
- "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz",
- "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==",
+ "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==",
"dev": true,
"dependencies": {
"@types/eslint": "*",
@@ -2499,9 +2562,9 @@
}
},
"node_modules/@types/estree": {
- "version": "0.0.51",
- "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz",
- "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==",
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz",
+ "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==",
"dev": true
},
"node_modules/@types/expect": {
@@ -2511,9 +2574,9 @@
"dev": true
},
"node_modules/@types/extend": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/@types/extend/-/extend-3.0.1.tgz",
- "integrity": "sha512-R1g/VyKFFI2HLC1QGAeTtCBWCo6n75l41OnsVYNbmKG+kempOESaodf6BeJyUM3Q0rKa/NQcTHbB2+66lNnxLw==",
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/@types/extend/-/extend-3.0.4.tgz",
+ "integrity": "sha512-ArMouDUTJEz1SQRpFsT2rIw7DeqICFv5aaVzLSIYMYQSLcwcGOfT3VyglQs/p7K3F7fT4zxr0NWxYZIdifD6dA==",
"dev": true
},
"node_modules/@types/gitconfiglocal": {
@@ -2522,19 +2585,23 @@
"integrity": "sha512-W6hyZux6TrtKfF2I9XNLVcsFr4xRr0T+S6hrJ9nDkhA2vzsFPIEAbnY4vgb6v2yKXQ9MJVcbLsARNlMfg4EVtQ==",
"dev": true
},
- "node_modules/@types/github-slugger": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/@types/github-slugger/-/github-slugger-1.3.0.tgz",
- "integrity": "sha512-J/rMZa7RqiH/rT29TEVZO4nBoDP9XJOjnbbIofg7GQKs4JIduEO3WLpte+6WeUz/TcrXKlY+bM7FYrp8yFB+3g==",
- "dev": true
+ "node_modules/@types/glob": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/@types/glob/-/glob-8.1.0.tgz",
+ "integrity": "sha512-IO+MJPVhoqz+28h1qLAcBEH2+xHMK6MTyHJc7MTnnYb6wsoLR29POVGJ7LycmVXIqyy/4/2ShP5sUwTXuOwb/w==",
+ "dev": true,
+ "dependencies": {
+ "@types/minimatch": "^5.1.2",
+ "@types/node": "*"
+ }
},
"node_modules/@types/hast": {
- "version": "2.3.4",
- "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.4.tgz",
- "integrity": "sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g==",
+ "version": "2.3.10",
+ "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.10.tgz",
+ "integrity": "sha512-McWspRw8xx8J9HurkVBfYj0xKoE25tOFlHGdx4MJ5xORQrMGZNqJhVQWaIbm6Oyla5kYOXtDiopzKRJzEOkwJw==",
"dev": true,
"dependencies": {
- "@types/unist": "*"
+ "@types/unist": "^2"
}
},
"node_modules/@types/http-cache-semantics": {
@@ -2568,9 +2635,9 @@
}
},
"node_modules/@types/json-schema": {
- "version": "7.0.11",
- "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz",
- "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==",
+ "version": "7.0.15",
+ "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz",
+ "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==",
"dev": true
},
"node_modules/@types/json5": {
@@ -2580,24 +2647,29 @@
"dev": true
},
"node_modules/@types/keyv": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-4.2.0.tgz",
- "integrity": "sha512-xoBtGl5R9jeKUhc8ZqeYaRDx04qqJ10yhhXYGmJ4Jr8qKpvMsDQQrNUvF/wUJ4klOtmJeJM+p2Xo3zp9uaC3tw==",
- "deprecated": "This is a stub types definition. keyv provides its own type definitions, so you do not need this installed.",
+ "version": "3.1.4",
+ "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz",
+ "integrity": "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==",
"dev": true,
"dependencies": {
- "keyv": "*"
+ "@types/node": "*"
}
},
"node_modules/@types/mdast": {
- "version": "3.0.10",
- "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.10.tgz",
- "integrity": "sha512-W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA==",
+ "version": "3.0.15",
+ "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.15.tgz",
+ "integrity": "sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==",
"dev": true,
"dependencies": {
- "@types/unist": "*"
+ "@types/unist": "^2"
}
},
+ "node_modules/@types/minimatch": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz",
+ "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==",
+ "dev": true
+ },
"node_modules/@types/mocha": {
"version": "10.0.6",
"resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.6.tgz",
@@ -2605,30 +2677,36 @@
"dev": true
},
"node_modules/@types/ms": {
- "version": "0.7.31",
- "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz",
- "integrity": "sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==",
+ "version": "0.7.34",
+ "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.34.tgz",
+ "integrity": "sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==",
"dev": true
},
"node_modules/@types/node": {
- "version": "20.11.6",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.6.tgz",
- "integrity": "sha512-+EOokTnksGVgip2PbYbr3xnR7kZigh4LbybAfBAw5BpnQ+FqBYUsvCEjYd70IXKlbohQ64mzEYmMtlWUY8q//Q==",
+ "version": "20.14.2",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.2.tgz",
+ "integrity": "sha512-xyu6WAMVwv6AKFLB+e/7ySZVr/0zLCzOa7rSpq6jNwpqOrUbcACDWC+53d4n2QHOnDou0fbIsg8wZu/sxrnI4Q==",
"dev": true,
"dependencies": {
"undici-types": "~5.26.4"
}
},
"node_modules/@types/normalize-package-data": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz",
- "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==",
+ "version": "2.4.4",
+ "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz",
+ "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==",
+ "dev": true
+ },
+ "node_modules/@types/parse5": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/@types/parse5/-/parse5-6.0.3.tgz",
+ "integrity": "sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g==",
"dev": true
},
"node_modules/@types/responselike": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz",
- "integrity": "sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.3.tgz",
+ "integrity": "sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==",
"dev": true,
"dependencies": {
"@types/node": "*"
@@ -2641,9 +2719,9 @@
"dev": true
},
"node_modules/@types/supports-color": {
- "version": "8.1.1",
- "resolved": "https://registry.npmjs.org/@types/supports-color/-/supports-color-8.1.1.tgz",
- "integrity": "sha512-dPWnWsf+kzIG140B8z2w3fr5D03TLWbOAFQl45xUpI3vcizeXriNR5VYkWZ+WTMsUHqZ9Xlt3hrxGNANFyNQfw==",
+ "version": "8.1.3",
+ "resolved": "https://registry.npmjs.org/@types/supports-color/-/supports-color-8.1.3.tgz",
+ "integrity": "sha512-Hy6UMpxhE3j1tLpl27exp1XqHD7n8chAiNPzWfz16LPZoMMoSc4dzLl6w9qijkEb/r5O1ozdu1CWGA2L83ZeZg==",
"dev": true
},
"node_modules/@types/triple-beam": {
@@ -2653,21 +2731,21 @@
"dev": true
},
"node_modules/@types/ua-parser-js": {
- "version": "0.7.36",
- "resolved": "https://registry.npmjs.org/@types/ua-parser-js/-/ua-parser-js-0.7.36.tgz",
- "integrity": "sha512-N1rW+njavs70y2cApeIw1vLMYXRwfBy+7trgavGuuTfOd7j1Yh7QTRc/yqsPl6ncokt72ZXuxEU0PiCp9bSwNQ==",
+ "version": "0.7.39",
+ "resolved": "https://registry.npmjs.org/@types/ua-parser-js/-/ua-parser-js-0.7.39.tgz",
+ "integrity": "sha512-P/oDfpofrdtF5xw433SPALpdSchtJmY7nsJItf8h3KXqOslkbySh8zq4dSWXH2oTjRvJ5PczVEoCZPow6GicLg==",
"dev": true
},
"node_modules/@types/unist": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.6.tgz",
- "integrity": "sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==",
+ "version": "2.0.10",
+ "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz",
+ "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==",
"dev": true
},
"node_modules/@types/vinyl": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/@types/vinyl/-/vinyl-2.0.6.tgz",
- "integrity": "sha512-ayJ0iOCDNHnKpKTgBG6Q6JOnHTj9zFta+3j2b8Ejza0e4cvRyMn0ZoLEmbPrTHe5YYRlDYPvPWVdV4cTaRyH7g==",
+ "version": "2.0.12",
+ "resolved": "https://registry.npmjs.org/@types/vinyl/-/vinyl-2.0.12.tgz",
+ "integrity": "sha512-Sr2fYMBUVGYq8kj3UthXFAu5UN6ZW+rYr4NACjZQJvHvj+c8lYv0CahmZ2P/r7iUkN44gGUBwqxZkrKXYPb7cw==",
"dev": true,
"dependencies": {
"@types/expect": "^1.20.4",
@@ -2675,9 +2753,9 @@
}
},
"node_modules/@types/which": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/@types/which/-/which-1.3.2.tgz",
- "integrity": "sha512-8oDqyLC7eD4HM307boe2QWKyuzdzWBj56xI/imSl2cpL+U3tCMaTAkMJ4ee5JBZ/FsOJlvRGeIShiZDAl1qERA==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/@types/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-113D3mDkZDjo+EeUEHCFy0qniNc1ZpecGiAU7WSo7YDoSzolZIQKpYFHrPpjkB2nuyahcKfrmLXeQlh7gqJYdw==",
"dev": true
},
"node_modules/@types/ws": {
@@ -2705,9 +2783,9 @@
"dev": true
},
"node_modules/@types/yauzl": {
- "version": "2.10.0",
- "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz",
- "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==",
+ "version": "2.10.3",
+ "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz",
+ "integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==",
"dev": true,
"optional": true,
"dependencies": {
@@ -2715,17 +2793,17 @@
}
},
"node_modules/@videojs/http-streaming": {
- "version": "2.14.3",
- "resolved": "https://registry.npmjs.org/@videojs/http-streaming/-/http-streaming-2.14.3.tgz",
- "integrity": "sha512-2tFwxCaNbcEZzQugWf8EERwNMyNtspfHnvxRGRABQs09W/5SqmkWFuGWfUAm4wQKlXGfdPyAJ1338ASl459xAA==",
+ "version": "2.16.3",
+ "resolved": "https://registry.npmjs.org/@videojs/http-streaming/-/http-streaming-2.16.3.tgz",
+ "integrity": "sha512-91CJv5PnFBzNBvyEjt+9cPzTK/xoVixARj2g7ZAvItA+5bx8VKdk5RxCz/PP2kdzz9W+NiDUMPkdmTsosmy69Q==",
"dev": true,
"dependencies": {
"@babel/runtime": "^7.12.5",
"@videojs/vhs-utils": "3.0.5",
"aes-decrypter": "3.1.3",
"global": "^4.4.0",
- "m3u8-parser": "4.7.1",
- "mpd-parser": "0.21.1",
+ "m3u8-parser": "4.8.0",
+ "mpd-parser": "^0.22.1",
"mux.js": "6.0.1",
"video.js": "^6 || ^7"
},
@@ -2764,9 +2842,9 @@
}
},
"node_modules/@vitest/snapshot": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.2.1.tgz",
- "integrity": "sha512-Tmp/IcYEemKaqAYCS08sh0vORLJkMr0NRV76Gl8sHGxXT5151cITJCET20063wk0Yr/1koQ6dnmP6eEqezmd/Q==",
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.6.0.tgz",
+ "integrity": "sha512-+Hx43f8Chus+DCmygqqfetcAZrDJwvTj0ymqjQq4CvmpKFSTVteEOBzCusu1x2tt4OJcvBflyHUE0DZSLgEMtQ==",
"dev": true,
"dependencies": {
"magic-string": "^0.30.5",
@@ -2777,131 +2855,79 @@
"url": "https://opencollective.com/vitest"
}
},
- "node_modules/@vitest/snapshot/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==",
- "dev": true
- },
- "node_modules/@vitest/snapshot/node_modules/magic-string": {
- "version": "0.30.5",
- "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.5.tgz",
- "integrity": "sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==",
- "dev": true,
- "dependencies": {
- "@jridgewell/sourcemap-codec": "^1.4.15"
- },
- "engines": {
- "node": ">=12"
- }
- },
"node_modules/@vue/compiler-core": {
- "version": "3.2.41",
- "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.41.tgz",
- "integrity": "sha512-oA4mH6SA78DT+96/nsi4p9DX97PHcNROxs51lYk7gb9Z4BPKQ3Mh+BLn6CQZBw857Iuhu28BfMSRHAlPvD4vlw==",
+ "version": "3.4.27",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.27.tgz",
+ "integrity": "sha512-E+RyqY24KnyDXsCuQrI+mlcdW3ALND6U7Gqa/+bVwbcpcR3BRRIckFoz7Qyd4TTlnugtwuI7YgjbvsLmxb+yvg==",
"dev": true,
"optional": true,
"dependencies": {
- "@babel/parser": "^7.16.4",
- "@vue/shared": "3.2.41",
+ "@babel/parser": "^7.24.4",
+ "@vue/shared": "3.4.27",
+ "entities": "^4.5.0",
"estree-walker": "^2.0.2",
- "source-map": "^0.6.1"
- }
- },
- "node_modules/@vue/compiler-core/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==",
- "dev": true,
- "optional": true,
- "engines": {
- "node": ">=0.10.0"
+ "source-map-js": "^1.2.0"
}
},
"node_modules/@vue/compiler-dom": {
- "version": "3.2.41",
- "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.41.tgz",
- "integrity": "sha512-xe5TbbIsonjENxJsYRbDJvthzqxLNk+tb3d/c47zgREDa/PCp6/Y4gC/skM4H6PIuX5DAxm7fFJdbjjUH2QTMw==",
+ "version": "3.4.27",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.27.tgz",
+ "integrity": "sha512-kUTvochG/oVgE1w5ViSr3KUBh9X7CWirebA3bezTbB5ZKBQZwR2Mwj9uoSKRMFcz4gSMzzLXBPD6KpCLb9nvWw==",
"dev": true,
"optional": true,
"dependencies": {
- "@vue/compiler-core": "3.2.41",
- "@vue/shared": "3.2.41"
+ "@vue/compiler-core": "3.4.27",
+ "@vue/shared": "3.4.27"
}
},
"node_modules/@vue/compiler-sfc": {
- "version": "3.2.41",
- "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.41.tgz",
- "integrity": "sha512-+1P2m5kxOeaxVmJNXnBskAn3BenbTmbxBxWOtBq3mQTCokIreuMULFantBUclP0+KnzNCMOvcnKinqQZmiOF8w==",
+ "version": "3.4.27",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.4.27.tgz",
+ "integrity": "sha512-nDwntUEADssW8e0rrmE0+OrONwmRlegDA1pD6QhVeXxjIytV03yDqTey9SBDiALsvAd5U4ZrEKbMyVXhX6mCGA==",
"dev": true,
"optional": true,
"dependencies": {
- "@babel/parser": "^7.16.4",
- "@vue/compiler-core": "3.2.41",
- "@vue/compiler-dom": "3.2.41",
- "@vue/compiler-ssr": "3.2.41",
- "@vue/reactivity-transform": "3.2.41",
- "@vue/shared": "3.2.41",
+ "@babel/parser": "^7.24.4",
+ "@vue/compiler-core": "3.4.27",
+ "@vue/compiler-dom": "3.4.27",
+ "@vue/compiler-ssr": "3.4.27",
+ "@vue/shared": "3.4.27",
"estree-walker": "^2.0.2",
- "magic-string": "^0.25.7",
- "postcss": "^8.1.10",
- "source-map": "^0.6.1"
- }
- },
- "node_modules/@vue/compiler-sfc/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==",
- "dev": true,
- "optional": true,
- "engines": {
- "node": ">=0.10.0"
+ "magic-string": "^0.30.10",
+ "postcss": "^8.4.38",
+ "source-map-js": "^1.2.0"
}
},
"node_modules/@vue/compiler-ssr": {
- "version": "3.2.41",
- "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.41.tgz",
- "integrity": "sha512-Y5wPiNIiaMz/sps8+DmhaKfDm1xgj6GrH99z4gq2LQenfVQcYXmHIOBcs5qPwl7jaW3SUQWjkAPKMfQemEQZwQ==",
- "dev": true,
- "optional": true,
- "dependencies": {
- "@vue/compiler-dom": "3.2.41",
- "@vue/shared": "3.2.41"
- }
- },
- "node_modules/@vue/reactivity-transform": {
- "version": "3.2.41",
- "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.2.41.tgz",
- "integrity": "sha512-mK5+BNMsL4hHi+IR3Ft/ho6Za+L3FA5j8WvreJ7XzHrqkPq8jtF/SMo7tuc9gHjLDwKZX1nP1JQOKo9IEAn54A==",
+ "version": "3.4.27",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.4.27.tgz",
+ "integrity": "sha512-CVRzSJIltzMG5FcidsW0jKNQnNRYC8bT21VegyMMtHmhW3UOI7knmUehzswXLrExDLE6lQCZdrhD4ogI7c+vuw==",
"dev": true,
"optional": true,
"dependencies": {
- "@babel/parser": "^7.16.4",
- "@vue/compiler-core": "3.2.41",
- "@vue/shared": "3.2.41",
- "estree-walker": "^2.0.2",
- "magic-string": "^0.25.7"
+ "@vue/compiler-dom": "3.4.27",
+ "@vue/shared": "3.4.27"
}
},
"node_modules/@vue/shared": {
- "version": "3.2.41",
- "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.41.tgz",
- "integrity": "sha512-W9mfWLHmJhkfAmV+7gDjcHeAWALQtgGT3JErxULl0oz6R6+3ug91I7IErs93eCFhPCZPHBs4QJS7YWEV7A3sxw==",
+ "version": "3.4.27",
+ "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.27.tgz",
+ "integrity": "sha512-DL3NmY2OFlqmYYrzp39yi3LDkKxa5vZVwxWdQ3rG0ekuWscHraeIbnI8t+aZK7qhYqEqWKTUdijadunb9pnrgA==",
"dev": true,
"optional": true
},
"node_modules/@wdio/browserstack-service": {
- "version": "8.29.1",
- "resolved": "https://registry.npmjs.org/@wdio/browserstack-service/-/browserstack-service-8.29.1.tgz",
- "integrity": "sha512-dLEJcdVF0Cu+2REByVOfLUzx9FvMias1VsxSCZpKXeIAGAIWBBdNdooK6Vdc9QdS36S5v/mk0/rTTQhYn4nWjQ==",
+ "version": "8.38.2",
+ "resolved": "https://registry.npmjs.org/@wdio/browserstack-service/-/browserstack-service-8.38.2.tgz",
+ "integrity": "sha512-dBvTK97deVbyDskCRdcQ47xuR7QYx3mqNFJUZLWBitwFV/DU5YIpCbGlySLc4gkO4//Zn1A3Gh/TOGWZrigcCQ==",
"dev": true,
"dependencies": {
"@percy/appium-app": "^2.0.1",
"@percy/selenium-webdriver": "^2.0.3",
"@types/gitconfiglocal": "^2.0.1",
- "@wdio/logger": "8.28.0",
- "@wdio/reporter": "8.29.1",
- "@wdio/types": "8.29.1",
+ "@wdio/logger": "8.38.0",
+ "@wdio/reporter": "8.38.2",
+ "@wdio/types": "8.38.2",
"browserstack-local": "^1.5.1",
"chalk": "^5.3.0",
"csv-writer": "^1.6.0",
@@ -2910,9 +2936,9 @@
"gitconfiglocal": "^2.1.0",
"got": "^12.6.1",
"uuid": "^9.0.0",
- "webdriverio": "8.29.1",
+ "webdriverio": "8.38.2",
"winston-transport": "^4.5.0",
- "yauzl": "^2.10.0"
+ "yauzl": "^3.0.0"
},
"engines": {
"node": "^16.13 || >=18"
@@ -2922,20 +2948,16 @@
}
},
"node_modules/@wdio/browserstack-service/node_modules/@puppeteer/browsers": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-1.3.0.tgz",
- "integrity": "sha512-an3QdbNPkuU6qpxpbssxAbjRLJcF+eP4L8UqIY3+6n0sbaVxw5pz7PiCLy9g32XEZuoamUlV5ZQPnA6FxvkIHA==",
+ "version": "1.4.6",
+ "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-1.4.6.tgz",
+ "integrity": "sha512-x4BEjr2SjOPowNeiguzjozQbsc6h437ovD/wu+JpaenxVLm3jkgzHY2xOslMTp50HoTvQreMjiexiGQw1sqZlQ==",
"dev": true,
- "optional": true,
- "peer": 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",
+ "proxy-agent": "6.3.0",
+ "tar-fs": "3.0.4",
"unbzip2-stream": "1.4.3",
"yargs": "17.7.1"
},
@@ -2943,7 +2965,7 @@
"browsers": "lib/cjs/main-cli.js"
},
"engines": {
- "node": ">=16.0.0"
+ "node": ">=16.3.0"
},
"peerDependencies": {
"typescript": ">= 4.7.4"
@@ -2954,71 +2976,98 @@
}
}
},
- "node_modules/@wdio/browserstack-service/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==",
+ "node_modules/@wdio/browserstack-service/node_modules/@puppeteer/browsers/node_modules/debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
"dev": true,
+ "dependencies": {
+ "ms": "2.1.2"
+ },
"engines": {
- "node": ">=14.16"
+ "node": ">=6.0"
},
- "funding": {
- "url": "https://github.com/sindresorhus/is?sponsor=1"
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
}
},
- "node_modules/@wdio/browserstack-service/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==",
+ "node_modules/@wdio/browserstack-service/node_modules/@puppeteer/browsers/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==",
+ "dev": true
+ },
+ "node_modules/@wdio/browserstack-service/node_modules/agent-base": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz",
+ "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==",
"dev": true,
"dependencies": {
- "defer-to-connect": "^2.0.1"
+ "debug": "^4.3.4"
},
"engines": {
- "node": ">=14.16"
+ "node": ">= 14"
}
},
- "node_modules/@wdio/browserstack-service/node_modules/@types/which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/@types/which/-/which-2.0.2.tgz",
- "integrity": "sha512-113D3mDkZDjo+EeUEHCFy0qniNc1ZpecGiAU7WSo7YDoSzolZIQKpYFHrPpjkB2nuyahcKfrmLXeQlh7gqJYdw==",
+ "node_modules/@wdio/browserstack-service/node_modules/agent-base/node_modules/debug": {
+ "version": "4.3.5",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz",
+ "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==",
"dev": true,
- "optional": true,
- "peer": true
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@wdio/browserstack-service/node_modules/agent-base/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==",
+ "dev": true
},
"node_modules/@wdio/browserstack-service/node_modules/archiver": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/archiver/-/archiver-6.0.1.tgz",
- "integrity": "sha512-CXGy4poOLBKptiZH//VlWdFuUC1RESbdZjGjILwBuZ73P7WkAUN0htfSfBq/7k6FRFlpu7bg4JOkj1vU9G6jcQ==",
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/archiver/-/archiver-7.0.1.tgz",
+ "integrity": "sha512-ZcbTaIqJOfCc03QwD468Unz/5Ir8ATtvAHsK+FdXbDIbGfihqh9mrvdcYunQzqn4HrvWWaFyaxJhGZagaJJpPQ==",
"dev": true,
"dependencies": {
- "archiver-utils": "^4.0.1",
+ "archiver-utils": "^5.0.2",
"async": "^3.2.4",
- "buffer-crc32": "^0.2.1",
- "readable-stream": "^3.6.0",
+ "buffer-crc32": "^1.0.0",
+ "readable-stream": "^4.0.0",
"readdir-glob": "^1.1.2",
"tar-stream": "^3.0.0",
- "zip-stream": "^5.0.1"
+ "zip-stream": "^6.0.1"
},
"engines": {
- "node": ">= 12.0.0"
+ "node": ">= 14"
}
},
"node_modules/@wdio/browserstack-service/node_modules/archiver-utils": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-4.0.1.tgz",
- "integrity": "sha512-Q4Q99idbvzmgCTEAAhi32BkOyq8iVI5EwdO0PmBDSGIzzjYNdcFn7Q7k3OzbLy4kLUPXfJtG6fO2RjftXbobBg==",
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-5.0.2.tgz",
+ "integrity": "sha512-wuLJMmIBQYCsGZgYLTy5FIB2pF6Lfb6cXMSF8Qywwk3t20zWnAi7zLcQFdKQmIB8wyZpY5ER38x08GbwtR2cLA==",
"dev": true,
"dependencies": {
- "glob": "^8.0.0",
+ "glob": "^10.0.0",
"graceful-fs": "^4.2.0",
+ "is-stream": "^2.0.1",
"lazystream": "^1.0.0",
"lodash": "^4.17.15",
"normalize-path": "^3.0.0",
- "readable-stream": "^3.6.0"
+ "readable-stream": "^4.0.0"
},
"engines": {
- "node": ">= 12.0.0"
+ "node": ">= 14"
}
},
"node_modules/@wdio/browserstack-service/node_modules/async": {
@@ -3036,31 +3085,37 @@
"balanced-match": "^1.0.0"
}
},
- "node_modules/@wdio/browserstack-service/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==",
+ "node_modules/@wdio/browserstack-service/node_modules/buffer": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
+ "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
"dev": true,
- "engines": {
- "node": ">=14.16"
+ "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": {
+ "base64-js": "^1.3.1",
+ "ieee754": "^1.2.1"
}
},
- "node_modules/@wdio/browserstack-service/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==",
+ "node_modules/@wdio/browserstack-service/node_modules/buffer-crc32": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-1.0.0.tgz",
+ "integrity": "sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w==",
"dev": true,
- "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": ">=8.0.0"
}
},
"node_modules/@wdio/browserstack-service/node_modules/chalk": {
@@ -3076,9 +3131,9 @@
}
},
"node_modules/@wdio/browserstack-service/node_modules/chrome-launcher": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/chrome-launcher/-/chrome-launcher-1.1.0.tgz",
- "integrity": "sha512-rJYWeEAERwWIr3c3mEVXwNiODPEdMRlRxHc47B1qHPOolHZnkj7rMv1QSUfPoG6MgatWj5AxSpnKKR4QEwEQIQ==",
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/chrome-launcher/-/chrome-launcher-1.1.2.tgz",
+ "integrity": "sha512-YclTJey34KUm5jB1aEJCq807bSievi7Nb/TU4Gu504fUYi3jw3KCIaH6L7nFWQhdEgH3V+wCh+kKD1P5cXnfxw==",
"dev": true,
"optional": true,
"peer": true,
@@ -3096,64 +3151,74 @@
}
},
"node_modules/@wdio/browserstack-service/node_modules/compress-commons": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-5.0.1.tgz",
- "integrity": "sha512-MPh//1cERdLtqwO3pOFLeXtpuai0Y2WCd5AhtKxznqM7WtaMYaOEMSgn45d9D10sIHSfIKE603HlOp8OPGrvag==",
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-6.0.2.tgz",
+ "integrity": "sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg==",
"dev": true,
"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.0.0"
},
"engines": {
- "node": ">= 12.0.0"
+ "node": ">= 14"
}
},
"node_modules/@wdio/browserstack-service/node_modules/crc32-stream": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-5.0.0.tgz",
- "integrity": "sha512-B0EPa1UK+qnpBZpG+7FgPCu0J2ETLpXq09o9BkLkEAhdB6Z61Qo4pJ3JYu0c+Qi+/SAL7QThqnzS06pmSSyZaw==",
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-6.0.0.tgz",
+ "integrity": "sha512-piICUB6ei4IlTv1+653yq5+KoqfBYmj9bw6LqXoOneTMDXk5nM1qt12mFW1caG3LlJXEKW1Bp0WggEmIfQB34g==",
"dev": true,
"dependencies": {
"crc-32": "^1.2.0",
- "readable-stream": "^3.4.0"
+ "readable-stream": "^4.0.0"
},
"engines": {
- "node": ">= 12.0.0"
+ "node": ">= 14"
}
},
"node_modules/@wdio/browserstack-service/node_modules/cross-fetch": {
- "version": "3.1.6",
- "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.6.tgz",
- "integrity": "sha512-riRvo06crlE8HiqOwIpQhxwdOk4fOeR7FVM/wXoxchFEqMNUjvbs3bfo4OTgMEMHzppd4DxFBDbyySj8Cv781g==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.0.0.tgz",
+ "integrity": "sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==",
+ "dev": true,
+ "dependencies": {
+ "node-fetch": "^2.6.12"
+ }
+ },
+ "node_modules/@wdio/browserstack-service/node_modules/debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"dev": true,
"optional": true,
"peer": true,
"dependencies": {
- "node-fetch": "^2.6.11"
+ "ms": "2.0.0"
}
},
"node_modules/@wdio/browserstack-service/node_modules/devtools": {
- "version": "8.29.1",
- "resolved": "https://registry.npmjs.org/devtools/-/devtools-8.29.1.tgz",
- "integrity": "sha512-fbH0Z7CPK4OZSgUw2QcAppczowxtSyvFztPUmiFyi99cUadjEOwlg0aL3pBVlIDo67olYjGb8GD1M5Z4yI/P6w==",
+ "version": "8.38.2",
+ "resolved": "https://registry.npmjs.org/devtools/-/devtools-8.38.2.tgz",
+ "integrity": "sha512-8b+naOPzYqzsiYtZZKYJnUnSqSOIg5orvna2SlWT2kFhkggbAJ1bbMzW7rps6onLfxp93wCNEIvngb9JuxwDsg==",
"dev": true,
"optional": true,
"peer": true,
"dependencies": {
"@types/node": "^20.1.0",
- "@wdio/config": "8.29.1",
- "@wdio/logger": "8.28.0",
- "@wdio/protocols": "8.24.12",
- "@wdio/types": "8.29.1",
- "@wdio/utils": "8.29.1",
+ "@wdio/config": "8.38.2",
+ "@wdio/logger": "8.38.0",
+ "@wdio/protocols": "8.38.0",
+ "@wdio/types": "8.38.2",
+ "@wdio/utils": "8.38.2",
"chrome-launcher": "^1.0.0",
"edge-paths": "^3.0.5",
"import-meta-resolve": "^4.0.0",
"puppeteer-core": "20.3.0",
"query-selector-shadow-dom": "^1.0.0",
- "ua-parser-js": "^1.0.1",
+ "ua-parser-js": "^1.0.37",
"uuid": "^9.0.0",
"which": "^4.0.0"
},
@@ -3162,139 +3227,134 @@
}
},
"node_modules/@wdio/browserstack-service/node_modules/devtools-protocol": {
- "version": "0.0.1120988",
- "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1120988.tgz",
- "integrity": "sha512-39fCpE3Z78IaIPChJsP6Lhmkbf4dWXOmzLk/KFTdRkNk/0JymRIfUynDVRndV9HoDz8PyalK1UH21ST/ivwW5Q==",
- "dev": true,
- "optional": true,
- "peer": true
+ "version": "0.0.1302984",
+ "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1302984.tgz",
+ "integrity": "sha512-Rgh2Sk5fUSCtEx4QGH9iwTyECdFPySG2nlz5J8guGh2Wlha6uzSOCq/DCEC8faHlLaMPZJMuZ4ovgcX4LvOkKA==",
+ "dev": true
},
- "node_modules/@wdio/browserstack-service/node_modules/devtools/node_modules/which": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz",
- "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==",
+ "node_modules/@wdio/browserstack-service/node_modules/devtools/node_modules/@puppeteer/browsers": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-1.3.0.tgz",
+ "integrity": "sha512-an3QdbNPkuU6qpxpbssxAbjRLJcF+eP4L8UqIY3+6n0sbaVxw5pz7PiCLy9g32XEZuoamUlV5ZQPnA6FxvkIHA==",
"dev": true,
"optional": true,
"peer": true,
"dependencies": {
- "isexe": "^3.1.1"
+ "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",
+ "unbzip2-stream": "1.4.3",
+ "yargs": "17.7.1"
},
"bin": {
- "node-which": "bin/which.js"
+ "browsers": "lib/cjs/main-cli.js"
},
"engines": {
- "node": "^16.13.0 || >=18.0.0"
+ "node": ">=16.0.0"
+ },
+ "peerDependencies": {
+ "typescript": ">= 4.7.4"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
}
},
- "node_modules/@wdio/browserstack-service/node_modules/edge-paths": {
- "version": "3.0.5",
- "resolved": "https://registry.npmjs.org/edge-paths/-/edge-paths-3.0.5.tgz",
- "integrity": "sha512-sB7vSrDnFa4ezWQk9nZ/n0FdpdUuC6R1EOrlU3DL+bovcNFK28rqu2emmAUjujYEJTWIgQGqgVVWUZXMnc8iWg==",
+ "node_modules/@wdio/browserstack-service/node_modules/devtools/node_modules/agent-base": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
+ "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
"dev": true,
"optional": true,
"peer": true,
"dependencies": {
- "@types/which": "^2.0.1",
- "which": "^2.0.2"
+ "debug": "4"
},
"engines": {
- "node": ">=14.0.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/shirshak55"
+ "node": ">= 6.0.0"
}
},
- "node_modules/@wdio/browserstack-service/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==",
+ "node_modules/@wdio/browserstack-service/node_modules/devtools/node_modules/chromium-bidi": {
+ "version": "0.4.9",
+ "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-0.4.9.tgz",
+ "integrity": "sha512-u3DC6XwgLCA9QJ5ak1voPslCmacQdulZNCPsI3qNXxSnEcZS7DFIbww+5RM2bznMEje7cc0oydavRLRvOIZtHw==",
"dev": true,
"optional": true,
"peer": true,
- "engines": {
- "node": ">=10"
+ "dependencies": {
+ "mitt": "3.0.0"
},
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "peerDependencies": {
+ "devtools-protocol": "*"
}
},
- "node_modules/@wdio/browserstack-service/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==",
+ "node_modules/@wdio/browserstack-service/node_modules/devtools/node_modules/cross-fetch": {
+ "version": "3.1.6",
+ "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.6.tgz",
+ "integrity": "sha512-riRvo06crlE8HiqOwIpQhxwdOk4fOeR7FVM/wXoxchFEqMNUjvbs3bfo4OTgMEMHzppd4DxFBDbyySj8Cv781g==",
"dev": true,
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "optional": true,
+ "peer": true,
+ "dependencies": {
+ "node-fetch": "^2.6.11"
}
},
- "node_modules/@wdio/browserstack-service/node_modules/glob": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz",
- "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==",
+ "node_modules/@wdio/browserstack-service/node_modules/devtools/node_modules/debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
"dev": true,
+ "optional": true,
+ "peer": true,
"dependencies": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^5.0.1",
- "once": "^1.3.0"
+ "ms": "2.1.2"
},
"engines": {
- "node": ">=12"
+ "node": ">=6.0"
},
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
}
},
- "node_modules/@wdio/browserstack-service/node_modules/glob/node_modules/minimatch": {
- "version": "5.1.6",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
- "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
+ "node_modules/@wdio/browserstack-service/node_modules/devtools/node_modules/devtools-protocol": {
+ "version": "0.0.1120988",
+ "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1120988.tgz",
+ "integrity": "sha512-39fCpE3Z78IaIPChJsP6Lhmkbf4dWXOmzLk/KFTdRkNk/0JymRIfUynDVRndV9HoDz8PyalK1UH21ST/ivwW5Q==",
"dev": true,
- "dependencies": {
- "brace-expansion": "^2.0.1"
- },
- "engines": {
- "node": ">=10"
- }
+ "optional": true,
+ "peer": true
},
- "node_modules/@wdio/browserstack-service/node_modules/got": {
- "version": "12.6.1",
- "resolved": "https://registry.npmjs.org/got/-/got-12.6.1.tgz",
- "integrity": "sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==",
+ "node_modules/@wdio/browserstack-service/node_modules/devtools/node_modules/http-proxy-agent": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz",
+ "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==",
"dev": true,
+ "optional": true,
+ "peer": true,
"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"
+ "@tootallnate/once": "2",
+ "agent-base": "6",
+ "debug": "4"
},
"engines": {
- "node": ">=14.16"
- },
- "funding": {
- "url": "https://github.com/sindresorhus/got?sponsor=1"
+ "node": ">= 6"
}
},
- "node_modules/@wdio/browserstack-service/node_modules/http-proxy-agent": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz",
- "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==",
+ "node_modules/@wdio/browserstack-service/node_modules/devtools/node_modules/https-proxy-agent": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
+ "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
"dev": true,
"optional": true,
"peer": true,
"dependencies": {
- "@tootallnate/once": "2",
"agent-base": "6",
"debug": "4"
},
@@ -3302,90 +3362,176 @@
"node": ">= 6"
}
},
- "node_modules/@wdio/browserstack-service/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==",
+ "node_modules/@wdio/browserstack-service/node_modules/devtools/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==",
+ "dev": true,
+ "optional": true,
+ "peer": true
+ },
+ "node_modules/@wdio/browserstack-service/node_modules/devtools/node_modules/puppeteer-core": {
+ "version": "20.3.0",
+ "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-20.3.0.tgz",
+ "integrity": "sha512-264pBrIui5bO6NJeOcbJrLa0OCwmA4+WK00JMrLIKTfRiqe2gx8KWTzLsjyw/bizErp3TKS7vt/I0i5fTC+mAw==",
"dev": true,
+ "optional": true,
+ "peer": true,
"dependencies": {
- "quick-lru": "^5.1.1",
- "resolve-alpn": "^1.2.0"
+ "@puppeteer/browsers": "1.3.0",
+ "chromium-bidi": "0.4.9",
+ "cross-fetch": "3.1.6",
+ "debug": "4.3.4",
+ "devtools-protocol": "0.0.1120988",
+ "ws": "8.13.0"
},
"engines": {
- "node": ">=10.19.0"
+ "node": ">=16.0.0"
+ },
+ "peerDependencies": {
+ "typescript": ">= 4.7.4"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
}
},
- "node_modules/@wdio/browserstack-service/node_modules/isexe": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz",
- "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==",
+ "node_modules/@wdio/browserstack-service/node_modules/devtools/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==",
"dev": true,
"optional": true,
"peer": true,
+ "dependencies": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ },
"engines": {
- "node": ">=16"
+ "node": ">= 6"
}
},
- "node_modules/@wdio/browserstack-service/node_modules/lighthouse-logger": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/lighthouse-logger/-/lighthouse-logger-2.0.1.tgz",
- "integrity": "sha512-ioBrW3s2i97noEmnXxmUq7cjIcVRjT5HBpAYy8zE11CxU9HqlWHHeRxfeN1tn8F7OEMVPIC9x1f8t3Z7US9ehQ==",
+ "node_modules/@wdio/browserstack-service/node_modules/devtools/node_modules/tar-fs": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz",
+ "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==",
"dev": true,
"optional": true,
"peer": true,
"dependencies": {
- "debug": "^2.6.9",
- "marky": "^1.2.2"
+ "chownr": "^1.1.1",
+ "mkdirp-classic": "^0.5.2",
+ "pump": "^3.0.0",
+ "tar-stream": "^2.1.4"
}
},
- "node_modules/@wdio/browserstack-service/node_modules/lighthouse-logger/node_modules/debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "node_modules/@wdio/browserstack-service/node_modules/devtools/node_modules/tar-stream": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz",
+ "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==",
"dev": true,
"optional": true,
"peer": true,
"dependencies": {
- "ms": "2.0.0"
+ "bl": "^4.0.3",
+ "end-of-stream": "^1.4.1",
+ "fs-constants": "^1.0.0",
+ "inherits": "^2.0.3",
+ "readable-stream": "^3.1.1"
+ },
+ "engines": {
+ "node": ">=6"
}
},
- "node_modules/@wdio/browserstack-service/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==",
+ "node_modules/@wdio/browserstack-service/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==",
"dev": true,
+ "optional": true,
+ "peer": true,
"engines": {
- "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ "node": ">=10"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/@wdio/browserstack-service/node_modules/lru-cache": {
- "version": "7.18.3",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz",
- "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==",
+ "node_modules/@wdio/browserstack-service/node_modules/https-proxy-agent": {
+ "version": "7.0.4",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz",
+ "integrity": "sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==",
"dev": true,
+ "dependencies": {
+ "agent-base": "^7.0.2",
+ "debug": "4"
+ },
"engines": {
- "node": ">=12"
+ "node": ">= 14"
}
},
- "node_modules/@wdio/browserstack-service/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==",
+ "node_modules/@wdio/browserstack-service/node_modules/https-proxy-agent/node_modules/debug": {
+ "version": "4.3.5",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz",
+ "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==",
"dev": true,
+ "dependencies": {
+ "ms": "2.1.2"
+ },
"engines": {
- "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@wdio/browserstack-service/node_modules/https-proxy-agent/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==",
+ "dev": true
+ },
+ "node_modules/@wdio/browserstack-service/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==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/@wdio/browserstack-service/node_modules/lighthouse-logger": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/lighthouse-logger/-/lighthouse-logger-2.0.1.tgz",
+ "integrity": "sha512-ioBrW3s2i97noEmnXxmUq7cjIcVRjT5HBpAYy8zE11CxU9HqlWHHeRxfeN1tn8F7OEMVPIC9x1f8t3Z7US9ehQ==",
+ "dev": true,
+ "optional": true,
+ "peer": true,
+ "dependencies": {
+ "debug": "^2.6.9",
+ "marky": "^1.2.2"
+ }
+ },
+ "node_modules/@wdio/browserstack-service/node_modules/lru-cache": {
+ "version": "7.18.3",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz",
+ "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==",
+ "dev": true,
+ "engines": {
+ "node": ">=12"
+ }
+ },
"node_modules/@wdio/browserstack-service/node_modules/minimatch": {
- "version": "9.0.3",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz",
- "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==",
+ "version": "9.0.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz",
+ "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==",
"dev": true,
"dependencies": {
"brace-expansion": "^2.0.1"
@@ -3425,27 +3571,6 @@
}
}
},
- "node_modules/@wdio/browserstack-service/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==",
- "dev": true,
- "engines": {
- "node": ">=14.16"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/@wdio/browserstack-service/node_modules/p-cancelable": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-3.0.0.tgz",
- "integrity": "sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==",
- "dev": true,
- "engines": {
- "node": ">=12.20"
- }
- },
"node_modules/@wdio/browserstack-service/node_modules/proxy-agent": {
"version": "6.3.0",
"resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.3.0.tgz",
@@ -3465,61 +3590,44 @@
"node": ">= 14"
}
},
- "node_modules/@wdio/browserstack-service/node_modules/proxy-agent/node_modules/agent-base": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz",
- "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==",
+ "node_modules/@wdio/browserstack-service/node_modules/proxy-agent/node_modules/debug": {
+ "version": "4.3.5",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz",
+ "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==",
"dev": true,
"dependencies": {
- "debug": "^4.3.4"
+ "ms": "2.1.2"
},
"engines": {
- "node": ">= 14"
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
}
},
- "node_modules/@wdio/browserstack-service/node_modules/proxy-agent/node_modules/http-proxy-agent": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.0.tgz",
- "integrity": "sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==",
+ "node_modules/@wdio/browserstack-service/node_modules/proxy-agent/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==",
+ "dev": true
+ },
+ "node_modules/@wdio/browserstack-service/node_modules/puppeteer-core": {
+ "version": "20.9.0",
+ "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-20.9.0.tgz",
+ "integrity": "sha512-H9fYZQzMTRrkboEfPmf7m3CLDN6JvbxXA3qTtS+dFt27tR+CsFHzPsT6pzp6lYL6bJbAPaR0HaPO6uSi+F94Pg==",
"dev": true,
"dependencies": {
- "agent-base": "^7.1.0",
- "debug": "^4.3.4"
- },
- "engines": {
- "node": ">= 14"
- }
- },
- "node_modules/@wdio/browserstack-service/node_modules/proxy-agent/node_modules/https-proxy-agent": {
- "version": "7.0.2",
- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz",
- "integrity": "sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==",
- "dev": true,
- "dependencies": {
- "agent-base": "^7.0.2",
- "debug": "4"
- },
- "engines": {
- "node": ">= 14"
- }
- },
- "node_modules/@wdio/browserstack-service/node_modules/puppeteer-core": {
- "version": "20.3.0",
- "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-20.3.0.tgz",
- "integrity": "sha512-264pBrIui5bO6NJeOcbJrLa0OCwmA4+WK00JMrLIKTfRiqe2gx8KWTzLsjyw/bizErp3TKS7vt/I0i5fTC+mAw==",
- "dev": true,
- "optional": true,
- "peer": true,
- "dependencies": {
- "@puppeteer/browsers": "1.3.0",
- "chromium-bidi": "0.4.9",
- "cross-fetch": "3.1.6",
+ "@puppeteer/browsers": "1.4.6",
+ "chromium-bidi": "0.4.16",
+ "cross-fetch": "4.0.0",
"debug": "4.3.4",
- "devtools-protocol": "0.0.1120988",
+ "devtools-protocol": "0.0.1147663",
"ws": "8.13.0"
},
"engines": {
- "node": ">=16.0.0"
+ "node": ">=16.3.0"
},
"peerDependencies": {
"typescript": ">= 4.7.4"
@@ -3530,33 +3638,49 @@
}
}
},
- "node_modules/@wdio/browserstack-service/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==",
+ "node_modules/@wdio/browserstack-service/node_modules/puppeteer-core/node_modules/debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
"dev": true,
"dependencies": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
+ "ms": "2.1.2"
},
"engines": {
- "node": ">= 6"
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
}
},
- "node_modules/@wdio/browserstack-service/node_modules/responselike": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/responselike/-/responselike-3.0.0.tgz",
- "integrity": "sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==",
+ "node_modules/@wdio/browserstack-service/node_modules/puppeteer-core/node_modules/devtools-protocol": {
+ "version": "0.0.1147663",
+ "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1147663.tgz",
+ "integrity": "sha512-hyWmRrexdhbZ1tcJUGpO95ivbRhWXz++F4Ko+n21AY5PNln2ovoJw+8ZMNDTtip+CNFQfrtLVh/w4009dXO/eQ==",
+ "dev": true
+ },
+ "node_modules/@wdio/browserstack-service/node_modules/puppeteer-core/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==",
+ "dev": true
+ },
+ "node_modules/@wdio/browserstack-service/node_modules/readable-stream": {
+ "version": "4.5.2",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz",
+ "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==",
"dev": true,
"dependencies": {
- "lowercase-keys": "^3.0.0"
+ "abort-controller": "^3.0.0",
+ "buffer": "^6.0.3",
+ "events": "^3.3.0",
+ "process": "^0.11.10",
+ "string_decoder": "^1.3.0"
},
"engines": {
- "node": ">=14.16"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
}
},
"node_modules/@wdio/browserstack-service/node_modules/serialize-error": {
@@ -3574,15 +3698,13 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/@wdio/browserstack-service/node_modules/tar-stream": {
- "version": "3.1.7",
- "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz",
- "integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==",
+ "node_modules/@wdio/browserstack-service/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==",
"dev": true,
"dependencies": {
- "b4a": "^1.6.4",
- "fast-fifo": "^1.2.0",
- "streamx": "^2.15.0"
+ "safe-buffer": "~5.2.0"
}
},
"node_modules/@wdio/browserstack-service/node_modules/type-fest": {
@@ -3598,9 +3720,9 @@
}
},
"node_modules/@wdio/browserstack-service/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==",
+ "version": "1.0.38",
+ "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.38.tgz",
+ "integrity": "sha512-Aq5ppTOfvrCMgAPneW1HfWj66Xi7XL+/mIy996R1/CLS/rcyJQm6QZdsKrUeivDFQ+Oc9Wyuwor8Ze8peEoUoQ==",
"dev": true,
"funding": [
{
@@ -3622,40 +3744,28 @@
"node": "*"
}
},
- "node_modules/@wdio/browserstack-service/node_modules/uuid": {
- "version": "9.0.1",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz",
- "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==",
- "dev": true,
- "funding": [
- "https://github.com/sponsors/broofa",
- "https://github.com/sponsors/ctavan"
- ],
- "bin": {
- "uuid": "dist/bin/uuid"
- }
- },
"node_modules/@wdio/browserstack-service/node_modules/webdriverio": {
- "version": "8.29.1",
- "resolved": "https://registry.npmjs.org/webdriverio/-/webdriverio-8.29.1.tgz",
- "integrity": "sha512-NZK95ivXCqdPraB3FHMw6ByxnCvtgFXkjzG2l3Oq5z0IuJS2aMow3AKFIyiuG6is/deGCe+Tb8eFTCqak7UV+w==",
+ "version": "8.38.2",
+ "resolved": "https://registry.npmjs.org/webdriverio/-/webdriverio-8.38.2.tgz",
+ "integrity": "sha512-r09y5UfivyYh5JOzT2SpJJ1zDmQl/R4OTH12opUqkjvp21BibCQm/uu1mrxGy4lzSHljrvqSVrrcGI+6UA1O8w==",
"dev": true,
"dependencies": {
"@types/node": "^20.1.0",
- "@wdio/config": "8.29.1",
- "@wdio/logger": "8.28.0",
- "@wdio/protocols": "8.24.12",
+ "@wdio/config": "8.38.2",
+ "@wdio/logger": "8.38.0",
+ "@wdio/protocols": "8.38.0",
"@wdio/repl": "8.24.12",
- "@wdio/types": "8.29.1",
- "@wdio/utils": "8.29.1",
- "archiver": "^6.0.0",
+ "@wdio/types": "8.38.2",
+ "@wdio/utils": "8.38.2",
+ "archiver": "^7.0.0",
"aria-query": "^5.0.0",
"css-shorthand-properties": "^1.1.1",
"css-value": "^0.0.1",
- "devtools-protocol": "^0.0.1249869",
+ "devtools-protocol": "^0.0.1302984",
"grapheme-splitter": "^1.0.2",
"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.0",
@@ -3664,7 +3774,7 @@
"resq": "^1.9.1",
"rgb2hex": "0.2.5",
"serialize-error": "^11.0.1",
- "webdriver": "8.29.1"
+ "webdriver": "8.38.2"
},
"engines": {
"node": "^16.13 || >=18"
@@ -3678,104 +3788,6 @@
}
}
},
- "node_modules/@wdio/browserstack-service/node_modules/webdriverio/node_modules/@puppeteer/browsers": {
- "version": "1.4.6",
- "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-1.4.6.tgz",
- "integrity": "sha512-x4BEjr2SjOPowNeiguzjozQbsc6h437ovD/wu+JpaenxVLm3jkgzHY2xOslMTp50HoTvQreMjiexiGQw1sqZlQ==",
- "dev": true,
- "dependencies": {
- "debug": "4.3.4",
- "extract-zip": "2.0.1",
- "progress": "2.0.3",
- "proxy-agent": "6.3.0",
- "tar-fs": "3.0.4",
- "unbzip2-stream": "1.4.3",
- "yargs": "17.7.1"
- },
- "bin": {
- "browsers": "lib/cjs/main-cli.js"
- },
- "engines": {
- "node": ">=16.3.0"
- },
- "peerDependencies": {
- "typescript": ">= 4.7.4"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/@wdio/browserstack-service/node_modules/webdriverio/node_modules/chromium-bidi": {
- "version": "0.4.16",
- "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-0.4.16.tgz",
- "integrity": "sha512-7ZbXdWERxRxSwo3txsBjjmc/NLxqb1Bk30mRb0BMS4YIaiV6zvKZqL/UAH+DdqcDYayDWk2n/y8klkBDODrPvA==",
- "dev": true,
- "dependencies": {
- "mitt": "3.0.0"
- },
- "peerDependencies": {
- "devtools-protocol": "*"
- }
- },
- "node_modules/@wdio/browserstack-service/node_modules/webdriverio/node_modules/cross-fetch": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.0.0.tgz",
- "integrity": "sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==",
- "dev": true,
- "dependencies": {
- "node-fetch": "^2.6.12"
- }
- },
- "node_modules/@wdio/browserstack-service/node_modules/webdriverio/node_modules/devtools-protocol": {
- "version": "0.0.1249869",
- "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1249869.tgz",
- "integrity": "sha512-Ctp4hInA0BEavlUoRy9mhGq0i+JSo/AwVyX2EFgZmV1kYB+Zq+EMBAn52QWu6FbRr10hRb6pBl420upbp4++vg==",
- "dev": true
- },
- "node_modules/@wdio/browserstack-service/node_modules/webdriverio/node_modules/puppeteer-core": {
- "version": "20.9.0",
- "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-20.9.0.tgz",
- "integrity": "sha512-H9fYZQzMTRrkboEfPmf7m3CLDN6JvbxXA3qTtS+dFt27tR+CsFHzPsT6pzp6lYL6bJbAPaR0HaPO6uSi+F94Pg==",
- "dev": true,
- "dependencies": {
- "@puppeteer/browsers": "1.4.6",
- "chromium-bidi": "0.4.16",
- "cross-fetch": "4.0.0",
- "debug": "4.3.4",
- "devtools-protocol": "0.0.1147663",
- "ws": "8.13.0"
- },
- "engines": {
- "node": ">=16.3.0"
- },
- "peerDependencies": {
- "typescript": ">= 4.7.4"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/@wdio/browserstack-service/node_modules/webdriverio/node_modules/puppeteer-core/node_modules/devtools-protocol": {
- "version": "0.0.1147663",
- "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1147663.tgz",
- "integrity": "sha512-hyWmRrexdhbZ1tcJUGpO95ivbRhWXz++F4Ko+n21AY5PNln2ovoJw+8ZMNDTtip+CNFQfrtLVh/w4009dXO/eQ==",
- "dev": true
- },
- "node_modules/@wdio/browserstack-service/node_modules/webdriverio/node_modules/tar-fs": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.4.tgz",
- "integrity": "sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w==",
- "dev": true,
- "dependencies": {
- "mkdirp-classic": "^0.5.2",
- "pump": "^3.0.0",
- "tar-stream": "^3.1.5"
- }
- },
"node_modules/@wdio/browserstack-service/node_modules/ws": {
"version": "8.13.0",
"resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz",
@@ -3816,33 +3828,33 @@
}
},
"node_modules/@wdio/browserstack-service/node_modules/zip-stream": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-5.0.1.tgz",
- "integrity": "sha512-UfZ0oa0C8LI58wJ+moL46BDIMgCQbnsb+2PoiJYtonhBsMh2bq1eRBVkvjfVsqbEHd9/EgKPUuL9saSSsec8OA==",
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-6.0.1.tgz",
+ "integrity": "sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==",
"dev": true,
"dependencies": {
- "archiver-utils": "^4.0.1",
- "compress-commons": "^5.0.1",
- "readable-stream": "^3.6.0"
+ "archiver-utils": "^5.0.0",
+ "compress-commons": "^6.0.2",
+ "readable-stream": "^4.0.0"
},
"engines": {
- "node": ">= 12.0.0"
+ "node": ">= 14"
}
},
"node_modules/@wdio/cli": {
- "version": "8.29.1",
- "resolved": "https://registry.npmjs.org/@wdio/cli/-/cli-8.29.1.tgz",
- "integrity": "sha512-WWRTf0g0O+ovTTvS1kEhZ/svX32M7jERuuMF1MaldKCi7rZwHsQqOyJD+fO1UDjuxqS96LHSGsZn0auwUfCTXA==",
+ "version": "8.38.2",
+ "resolved": "https://registry.npmjs.org/@wdio/cli/-/cli-8.38.2.tgz",
+ "integrity": "sha512-p9y6jxmpmw53OoB9v/uTLwMetmz7Q0K7NewdVONgmeTY/ERpkU15qL3fMw1rXb+E+vrV8dlce4srnXroec6SFA==",
"dev": true,
"dependencies": {
"@types/node": "^20.1.1",
"@vitest/snapshot": "^1.2.1",
- "@wdio/config": "8.29.1",
- "@wdio/globals": "8.29.1",
- "@wdio/logger": "8.28.0",
- "@wdio/protocols": "8.24.12",
- "@wdio/types": "8.29.1",
- "@wdio/utils": "8.29.1",
+ "@wdio/config": "8.38.2",
+ "@wdio/globals": "8.38.2",
+ "@wdio/logger": "8.38.0",
+ "@wdio/protocols": "8.38.0",
+ "@wdio/types": "8.38.2",
+ "@wdio/utils": "8.38.2",
"async-exit-hook": "^2.0.1",
"chalk": "^5.2.0",
"chokidar": "^3.5.3",
@@ -3855,9 +3867,9 @@
"lodash.flattendeep": "^4.4.0",
"lodash.pickby": "^4.6.0",
"lodash.union": "^4.6.0",
- "read-pkg-up": "^10.0.0",
+ "read-pkg-up": "10.0.0",
"recursive-readdir": "^2.2.3",
- "webdriverio": "8.29.1",
+ "webdriverio": "8.38.2",
"yargs": "^17.7.2"
},
"bin": {
@@ -3868,20 +3880,16 @@
}
},
"node_modules/@wdio/cli/node_modules/@puppeteer/browsers": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-1.3.0.tgz",
- "integrity": "sha512-an3QdbNPkuU6qpxpbssxAbjRLJcF+eP4L8UqIY3+6n0sbaVxw5pz7PiCLy9g32XEZuoamUlV5ZQPnA6FxvkIHA==",
+ "version": "1.4.6",
+ "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-1.4.6.tgz",
+ "integrity": "sha512-x4BEjr2SjOPowNeiguzjozQbsc6h437ovD/wu+JpaenxVLm3jkgzHY2xOslMTp50HoTvQreMjiexiGQw1sqZlQ==",
"dev": true,
- "optional": true,
- "peer": 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",
+ "proxy-agent": "6.3.0",
+ "tar-fs": "3.0.4",
"unbzip2-stream": "1.4.3",
"yargs": "17.7.1"
},
@@ -3889,7 +3897,7 @@
"browsers": "lib/cjs/main-cli.js"
},
"engines": {
- "node": ">=16.0.0"
+ "node": ">=16.3.0"
},
"peerDependencies": {
"typescript": ">= 4.7.4"
@@ -3900,13 +3908,34 @@
}
}
},
+ "node_modules/@wdio/cli/node_modules/@puppeteer/browsers/node_modules/debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "dev": true,
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@wdio/cli/node_modules/@puppeteer/browsers/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==",
+ "dev": true
+ },
"node_modules/@wdio/cli/node_modules/@puppeteer/browsers/node_modules/yargs": {
"version": "17.7.1",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.1.tgz",
"integrity": "sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw==",
"dev": true,
- "optional": true,
- "peer": true,
"dependencies": {
"cliui": "^8.0.1",
"escalade": "^3.1.1",
@@ -3920,47 +3949,87 @@
"node": ">=12"
}
},
- "node_modules/@wdio/cli/node_modules/@types/which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/@types/which/-/which-2.0.2.tgz",
- "integrity": "sha512-113D3mDkZDjo+EeUEHCFy0qniNc1ZpecGiAU7WSo7YDoSzolZIQKpYFHrPpjkB2nuyahcKfrmLXeQlh7gqJYdw==",
+ "node_modules/@wdio/cli/node_modules/agent-base": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz",
+ "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==",
"dev": true,
- "optional": true,
- "peer": true
+ "dependencies": {
+ "debug": "^4.3.4"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/@wdio/cli/node_modules/agent-base/node_modules/debug": {
+ "version": "4.3.5",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz",
+ "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==",
+ "dev": true,
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@wdio/cli/node_modules/agent-base/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==",
+ "dev": true
},
"node_modules/@wdio/cli/node_modules/archiver": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/archiver/-/archiver-6.0.1.tgz",
- "integrity": "sha512-CXGy4poOLBKptiZH//VlWdFuUC1RESbdZjGjILwBuZ73P7WkAUN0htfSfBq/7k6FRFlpu7bg4JOkj1vU9G6jcQ==",
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/archiver/-/archiver-7.0.1.tgz",
+ "integrity": "sha512-ZcbTaIqJOfCc03QwD468Unz/5Ir8ATtvAHsK+FdXbDIbGfihqh9mrvdcYunQzqn4HrvWWaFyaxJhGZagaJJpPQ==",
"dev": true,
"dependencies": {
- "archiver-utils": "^4.0.1",
+ "archiver-utils": "^5.0.2",
"async": "^3.2.4",
- "buffer-crc32": "^0.2.1",
- "readable-stream": "^3.6.0",
+ "buffer-crc32": "^1.0.0",
+ "readable-stream": "^4.0.0",
"readdir-glob": "^1.1.2",
"tar-stream": "^3.0.0",
- "zip-stream": "^5.0.1"
+ "zip-stream": "^6.0.1"
},
"engines": {
- "node": ">= 12.0.0"
+ "node": ">= 14"
}
},
"node_modules/@wdio/cli/node_modules/archiver-utils": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-4.0.1.tgz",
- "integrity": "sha512-Q4Q99idbvzmgCTEAAhi32BkOyq8iVI5EwdO0PmBDSGIzzjYNdcFn7Q7k3OzbLy4kLUPXfJtG6fO2RjftXbobBg==",
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-5.0.2.tgz",
+ "integrity": "sha512-wuLJMmIBQYCsGZgYLTy5FIB2pF6Lfb6cXMSF8Qywwk3t20zWnAi7zLcQFdKQmIB8wyZpY5ER38x08GbwtR2cLA==",
"dev": true,
"dependencies": {
- "glob": "^8.0.0",
+ "glob": "^10.0.0",
"graceful-fs": "^4.2.0",
+ "is-stream": "^2.0.1",
"lazystream": "^1.0.0",
"lodash": "^4.17.15",
"normalize-path": "^3.0.0",
- "readable-stream": "^3.6.0"
+ "readable-stream": "^4.0.0"
},
"engines": {
- "node": ">= 12.0.0"
+ "node": ">= 14"
+ }
+ },
+ "node_modules/@wdio/cli/node_modules/archiver-utils/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==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/@wdio/cli/node_modules/async": {
@@ -3978,6 +4047,39 @@
"balanced-match": "^1.0.0"
}
},
+ "node_modules/@wdio/cli/node_modules/buffer": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
+ "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
+ "dev": true,
+ "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": {
+ "base64-js": "^1.3.1",
+ "ieee754": "^1.2.1"
+ }
+ },
+ "node_modules/@wdio/cli/node_modules/buffer-crc32": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-1.0.0.tgz",
+ "integrity": "sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w==",
+ "dev": true,
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
"node_modules/@wdio/cli/node_modules/chalk": {
"version": "5.3.0",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz",
@@ -3991,9 +4093,9 @@
}
},
"node_modules/@wdio/cli/node_modules/chrome-launcher": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/chrome-launcher/-/chrome-launcher-1.1.0.tgz",
- "integrity": "sha512-rJYWeEAERwWIr3c3mEVXwNiODPEdMRlRxHc47B1qHPOolHZnkj7rMv1QSUfPoG6MgatWj5AxSpnKKR4QEwEQIQ==",
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/chrome-launcher/-/chrome-launcher-1.1.2.tgz",
+ "integrity": "sha512-YclTJey34KUm5jB1aEJCq807bSievi7Nb/TU4Gu504fUYi3jw3KCIaH6L7nFWQhdEgH3V+wCh+kKD1P5cXnfxw==",
"dev": true,
"optional": true,
"peer": true,
@@ -4011,64 +4113,86 @@
}
},
"node_modules/@wdio/cli/node_modules/compress-commons": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-5.0.1.tgz",
- "integrity": "sha512-MPh//1cERdLtqwO3pOFLeXtpuai0Y2WCd5AhtKxznqM7WtaMYaOEMSgn45d9D10sIHSfIKE603HlOp8OPGrvag==",
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-6.0.2.tgz",
+ "integrity": "sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg==",
"dev": true,
"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.0.0"
},
"engines": {
- "node": ">= 12.0.0"
+ "node": ">= 14"
+ }
+ },
+ "node_modules/@wdio/cli/node_modules/compress-commons/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==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/@wdio/cli/node_modules/crc32-stream": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-5.0.0.tgz",
- "integrity": "sha512-B0EPa1UK+qnpBZpG+7FgPCu0J2ETLpXq09o9BkLkEAhdB6Z61Qo4pJ3JYu0c+Qi+/SAL7QThqnzS06pmSSyZaw==",
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-6.0.0.tgz",
+ "integrity": "sha512-piICUB6ei4IlTv1+653yq5+KoqfBYmj9bw6LqXoOneTMDXk5nM1qt12mFW1caG3LlJXEKW1Bp0WggEmIfQB34g==",
"dev": true,
"dependencies": {
"crc-32": "^1.2.0",
- "readable-stream": "^3.4.0"
+ "readable-stream": "^4.0.0"
},
"engines": {
- "node": ">= 12.0.0"
+ "node": ">= 14"
}
},
"node_modules/@wdio/cli/node_modules/cross-fetch": {
- "version": "3.1.6",
- "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.6.tgz",
- "integrity": "sha512-riRvo06crlE8HiqOwIpQhxwdOk4fOeR7FVM/wXoxchFEqMNUjvbs3bfo4OTgMEMHzppd4DxFBDbyySj8Cv781g==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.0.0.tgz",
+ "integrity": "sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==",
+ "dev": true,
+ "dependencies": {
+ "node-fetch": "^2.6.12"
+ }
+ },
+ "node_modules/@wdio/cli/node_modules/debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"dev": true,
"optional": true,
"peer": true,
"dependencies": {
- "node-fetch": "^2.6.11"
+ "ms": "2.0.0"
}
},
"node_modules/@wdio/cli/node_modules/devtools": {
- "version": "8.29.1",
- "resolved": "https://registry.npmjs.org/devtools/-/devtools-8.29.1.tgz",
- "integrity": "sha512-fbH0Z7CPK4OZSgUw2QcAppczowxtSyvFztPUmiFyi99cUadjEOwlg0aL3pBVlIDo67olYjGb8GD1M5Z4yI/P6w==",
+ "version": "8.38.2",
+ "resolved": "https://registry.npmjs.org/devtools/-/devtools-8.38.2.tgz",
+ "integrity": "sha512-8b+naOPzYqzsiYtZZKYJnUnSqSOIg5orvna2SlWT2kFhkggbAJ1bbMzW7rps6onLfxp93wCNEIvngb9JuxwDsg==",
"dev": true,
"optional": true,
"peer": true,
"dependencies": {
"@types/node": "^20.1.0",
- "@wdio/config": "8.29.1",
- "@wdio/logger": "8.28.0",
- "@wdio/protocols": "8.24.12",
- "@wdio/types": "8.29.1",
- "@wdio/utils": "8.29.1",
+ "@wdio/config": "8.38.2",
+ "@wdio/logger": "8.38.0",
+ "@wdio/protocols": "8.38.0",
+ "@wdio/types": "8.38.2",
+ "@wdio/utils": "8.38.2",
"chrome-launcher": "^1.0.0",
"edge-paths": "^3.0.5",
"import-meta-resolve": "^4.0.0",
"puppeteer-core": "20.3.0",
"query-selector-shadow-dom": "^1.0.0",
- "ua-parser-js": "^1.0.1",
+ "ua-parser-js": "^1.0.37",
"uuid": "^9.0.0",
"which": "^4.0.0"
},
@@ -4077,166 +4201,111 @@
}
},
"node_modules/@wdio/cli/node_modules/devtools-protocol": {
- "version": "0.0.1120988",
- "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1120988.tgz",
- "integrity": "sha512-39fCpE3Z78IaIPChJsP6Lhmkbf4dWXOmzLk/KFTdRkNk/0JymRIfUynDVRndV9HoDz8PyalK1UH21ST/ivwW5Q==",
- "dev": true,
- "optional": true,
- "peer": true
+ "version": "0.0.1302984",
+ "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1302984.tgz",
+ "integrity": "sha512-Rgh2Sk5fUSCtEx4QGH9iwTyECdFPySG2nlz5J8guGh2Wlha6uzSOCq/DCEC8faHlLaMPZJMuZ4ovgcX4LvOkKA==",
+ "dev": true
},
- "node_modules/@wdio/cli/node_modules/devtools/node_modules/which": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz",
- "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==",
+ "node_modules/@wdio/cli/node_modules/devtools/node_modules/@puppeteer/browsers": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-1.3.0.tgz",
+ "integrity": "sha512-an3QdbNPkuU6qpxpbssxAbjRLJcF+eP4L8UqIY3+6n0sbaVxw5pz7PiCLy9g32XEZuoamUlV5ZQPnA6FxvkIHA==",
"dev": true,
"optional": true,
"peer": true,
"dependencies": {
- "isexe": "^3.1.1"
+ "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",
+ "unbzip2-stream": "1.4.3",
+ "yargs": "17.7.1"
},
"bin": {
- "node-which": "bin/which.js"
+ "browsers": "lib/cjs/main-cli.js"
},
"engines": {
- "node": "^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/@wdio/cli/node_modules/edge-paths": {
- "version": "3.0.5",
- "resolved": "https://registry.npmjs.org/edge-paths/-/edge-paths-3.0.5.tgz",
- "integrity": "sha512-sB7vSrDnFa4ezWQk9nZ/n0FdpdUuC6R1EOrlU3DL+bovcNFK28rqu2emmAUjujYEJTWIgQGqgVVWUZXMnc8iWg==",
- "dev": true,
- "optional": true,
- "peer": true,
- "dependencies": {
- "@types/which": "^2.0.1",
- "which": "^2.0.2"
+ "node": ">=16.0.0"
},
- "engines": {
- "node": ">=14.0.0"
+ "peerDependencies": {
+ "typescript": ">= 4.7.4"
},
- "funding": {
- "url": "https://github.com/sponsors/shirshak55"
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
}
},
- "node_modules/@wdio/cli/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==",
+ "node_modules/@wdio/cli/node_modules/devtools/node_modules/agent-base": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
+ "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
"dev": true,
"optional": true,
"peer": true,
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/@wdio/cli/node_modules/execa": {
- "version": "8.0.1",
- "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz",
- "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==",
- "dev": true,
"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",
- "onetime": "^6.0.0",
- "signal-exit": "^4.1.0",
- "strip-final-newline": "^3.0.0"
+ "debug": "4"
},
"engines": {
- "node": ">=16.17"
- },
- "funding": {
- "url": "https://github.com/sindresorhus/execa?sponsor=1"
+ "node": ">= 6.0.0"
}
},
- "node_modules/@wdio/cli/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==",
+ "node_modules/@wdio/cli/node_modules/devtools/node_modules/chromium-bidi": {
+ "version": "0.4.9",
+ "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-0.4.9.tgz",
+ "integrity": "sha512-u3DC6XwgLCA9QJ5ak1voPslCmacQdulZNCPsI3qNXxSnEcZS7DFIbww+5RM2bznMEje7cc0oydavRLRvOIZtHw==",
"dev": true,
+ "optional": true,
+ "peer": true,
"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/@wdio/cli/node_modules/get-stream": {
- "version": "8.0.1",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz",
- "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==",
- "dev": true,
- "engines": {
- "node": ">=16"
+ "mitt": "3.0.0"
},
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "peerDependencies": {
+ "devtools-protocol": "*"
}
},
- "node_modules/@wdio/cli/node_modules/glob": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz",
- "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==",
+ "node_modules/@wdio/cli/node_modules/devtools/node_modules/cross-fetch": {
+ "version": "3.1.6",
+ "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.6.tgz",
+ "integrity": "sha512-riRvo06crlE8HiqOwIpQhxwdOk4fOeR7FVM/wXoxchFEqMNUjvbs3bfo4OTgMEMHzppd4DxFBDbyySj8Cv781g==",
"dev": true,
+ "optional": true,
+ "peer": true,
"dependencies": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^5.0.1",
- "once": "^1.3.0"
- },
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
+ "node-fetch": "^2.6.11"
}
},
- "node_modules/@wdio/cli/node_modules/glob/node_modules/minimatch": {
- "version": "5.1.6",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
- "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
+ "node_modules/@wdio/cli/node_modules/devtools/node_modules/debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
"dev": true,
+ "optional": true,
+ "peer": true,
"dependencies": {
- "brace-expansion": "^2.0.1"
+ "ms": "2.1.2"
},
"engines": {
- "node": ">=10"
- }
- },
- "node_modules/@wdio/cli/node_modules/hosted-git-info": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.1.tgz",
- "integrity": "sha512-+K84LB1DYwMHoHSgaOY/Jfhw3ucPmSET5v98Ke/HdNSw4a0UktWzyW1mjhjpuxxTqOOsfWT/7iVshHmVZ4IpOA==",
- "dev": true,
- "dependencies": {
- "lru-cache": "^10.0.1"
+ "node": ">=6.0"
},
- "engines": {
- "node": "^16.14.0 || >=18.0.0"
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
}
},
- "node_modules/@wdio/cli/node_modules/hosted-git-info/node_modules/lru-cache": {
- "version": "10.1.0",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.1.0.tgz",
- "integrity": "sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag==",
+ "node_modules/@wdio/cli/node_modules/devtools/node_modules/devtools-protocol": {
+ "version": "0.0.1120988",
+ "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1120988.tgz",
+ "integrity": "sha512-39fCpE3Z78IaIPChJsP6Lhmkbf4dWXOmzLk/KFTdRkNk/0JymRIfUynDVRndV9HoDz8PyalK1UH21ST/ivwW5Q==",
"dev": true,
- "engines": {
- "node": "14 || >=16.14"
- }
+ "optional": true,
+ "peer": true
},
- "node_modules/@wdio/cli/node_modules/http-proxy-agent": {
+ "node_modules/@wdio/cli/node_modules/devtools/node_modules/http-proxy-agent": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz",
"integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==",
@@ -4252,78 +4321,214 @@
"node": ">= 6"
}
},
- "node_modules/@wdio/cli/node_modules/is-stream": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz",
- "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==",
+ "node_modules/@wdio/cli/node_modules/devtools/node_modules/https-proxy-agent": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
+ "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
"dev": true,
- "engines": {
- "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ "optional": true,
+ "peer": true,
+ "dependencies": {
+ "agent-base": "6",
+ "debug": "4"
},
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "engines": {
+ "node": ">= 6"
}
},
- "node_modules/@wdio/cli/node_modules/isexe": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz",
- "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==",
+ "node_modules/@wdio/cli/node_modules/devtools/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==",
+ "dev": true,
+ "optional": true,
+ "peer": true
+ },
+ "node_modules/@wdio/cli/node_modules/devtools/node_modules/puppeteer-core": {
+ "version": "20.3.0",
+ "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-20.3.0.tgz",
+ "integrity": "sha512-264pBrIui5bO6NJeOcbJrLa0OCwmA4+WK00JMrLIKTfRiqe2gx8KWTzLsjyw/bizErp3TKS7vt/I0i5fTC+mAw==",
"dev": true,
"optional": true,
"peer": true,
+ "dependencies": {
+ "@puppeteer/browsers": "1.3.0",
+ "chromium-bidi": "0.4.9",
+ "cross-fetch": "3.1.6",
+ "debug": "4.3.4",
+ "devtools-protocol": "0.0.1120988",
+ "ws": "8.13.0"
+ },
"engines": {
- "node": ">=16"
+ "node": ">=16.0.0"
+ },
+ "peerDependencies": {
+ "typescript": ">= 4.7.4"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
}
},
- "node_modules/@wdio/cli/node_modules/json-parse-even-better-errors": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.1.tgz",
- "integrity": "sha512-aatBvbL26wVUCLmbWdCpeu9iF5wOyWpagiKkInA+kfws3sWdBrTnsvN2CKcyCYyUrc7rebNBlK6+kteg7ksecg==",
+ "node_modules/@wdio/cli/node_modules/devtools/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==",
"dev": true,
+ "optional": true,
+ "peer": true,
+ "dependencies": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ },
"engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ "node": ">= 6"
}
},
- "node_modules/@wdio/cli/node_modules/lighthouse-logger": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/lighthouse-logger/-/lighthouse-logger-2.0.1.tgz",
- "integrity": "sha512-ioBrW3s2i97noEmnXxmUq7cjIcVRjT5HBpAYy8zE11CxU9HqlWHHeRxfeN1tn8F7OEMVPIC9x1f8t3Z7US9ehQ==",
+ "node_modules/@wdio/cli/node_modules/devtools/node_modules/tar-fs": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz",
+ "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==",
"dev": true,
"optional": true,
"peer": true,
"dependencies": {
- "debug": "^2.6.9",
- "marky": "^1.2.2"
+ "chownr": "^1.1.1",
+ "mkdirp-classic": "^0.5.2",
+ "pump": "^3.0.0",
+ "tar-stream": "^2.1.4"
}
},
- "node_modules/@wdio/cli/node_modules/lighthouse-logger/node_modules/debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "node_modules/@wdio/cli/node_modules/devtools/node_modules/tar-stream": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz",
+ "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==",
"dev": true,
"optional": true,
"peer": true,
"dependencies": {
- "ms": "2.0.0"
+ "bl": "^4.0.3",
+ "end-of-stream": "^1.4.1",
+ "fs-constants": "^1.0.0",
+ "inherits": "^2.0.3",
+ "readable-stream": "^3.1.1"
+ },
+ "engines": {
+ "node": ">=6"
}
},
- "node_modules/@wdio/cli/node_modules/lines-and-columns": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-2.0.4.tgz",
- "integrity": "sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A==",
+ "node_modules/@wdio/cli/node_modules/devtools/node_modules/yargs": {
+ "version": "17.7.1",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.1.tgz",
+ "integrity": "sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw==",
"dev": true,
+ "optional": true,
+ "peer": true,
+ "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"
+ },
"engines": {
- "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ "node": ">=12"
}
},
- "node_modules/@wdio/cli/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==",
+ "node_modules/@wdio/cli/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==",
+ "dev": true,
+ "optional": true,
+ "peer": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@wdio/cli/node_modules/execa": {
+ "version": "8.0.1",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz",
+ "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==",
"dev": true,
"dependencies": {
- "p-locate": "^6.0.0"
+ "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",
+ "onetime": "^6.0.0",
+ "signal-exit": "^4.1.0",
+ "strip-final-newline": "^3.0.0"
},
+ "engines": {
+ "node": ">=16.17"
+ },
+ "funding": {
+ "url": "https://github.com/sindresorhus/execa?sponsor=1"
+ }
+ },
+ "node_modules/@wdio/cli/node_modules/get-stream": {
+ "version": "8.0.1",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz",
+ "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==",
+ "dev": true,
+ "engines": {
+ "node": ">=16"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@wdio/cli/node_modules/https-proxy-agent": {
+ "version": "7.0.4",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz",
+ "integrity": "sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==",
+ "dev": true,
+ "dependencies": {
+ "agent-base": "^7.0.2",
+ "debug": "4"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/@wdio/cli/node_modules/https-proxy-agent/node_modules/debug": {
+ "version": "4.3.5",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz",
+ "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==",
+ "dev": true,
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@wdio/cli/node_modules/https-proxy-agent/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==",
+ "dev": true
+ },
+ "node_modules/@wdio/cli/node_modules/is-stream": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz",
+ "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==",
+ "dev": true,
"engines": {
"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
},
@@ -4331,6 +4536,27 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/@wdio/cli/node_modules/lighthouse-logger": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/lighthouse-logger/-/lighthouse-logger-2.0.1.tgz",
+ "integrity": "sha512-ioBrW3s2i97noEmnXxmUq7cjIcVRjT5HBpAYy8zE11CxU9HqlWHHeRxfeN1tn8F7OEMVPIC9x1f8t3Z7US9ehQ==",
+ "dev": true,
+ "optional": true,
+ "peer": true,
+ "dependencies": {
+ "debug": "^2.6.9",
+ "marky": "^1.2.2"
+ }
+ },
+ "node_modules/@wdio/cli/node_modules/lru-cache": {
+ "version": "7.18.3",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz",
+ "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==",
+ "dev": true,
+ "engines": {
+ "node": ">=12"
+ }
+ },
"node_modules/@wdio/cli/node_modules/mimic-fn": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz",
@@ -4344,9 +4570,9 @@
}
},
"node_modules/@wdio/cli/node_modules/minimatch": {
- "version": "9.0.3",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz",
- "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==",
+ "version": "9.0.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz",
+ "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==",
"dev": true,
"dependencies": {
"brace-expansion": "^2.0.1"
@@ -4386,25 +4612,10 @@
}
}
},
- "node_modules/@wdio/cli/node_modules/normalize-package-data": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.0.tgz",
- "integrity": "sha512-UL7ELRVxYBHBgYEtZCXjxuD5vPxnmvMGq0jp/dGPKKrN7tfsBh2IY7TlJ15WWwdjRWD3RJbnsygUurTK3xkPkg==",
- "dev": true,
- "dependencies": {
- "hosted-git-info": "^7.0.0",
- "is-core-module": "^2.8.1",
- "semver": "^7.3.5",
- "validate-npm-package-license": "^3.0.4"
- },
- "engines": {
- "node": "^16.14.0 || >=18.0.0"
- }
- },
"node_modules/@wdio/cli/node_modules/npm-run-path": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.2.0.tgz",
- "integrity": "sha512-W4/tgAXFqFA0iL7fk0+uQ3g7wkL8xJmx3XdK0VGb4cHW//eZTtKGvFBBoRKVTpY7n6ze4NL9ly7rgXcHufqXKg==",
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz",
+ "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==",
"dev": true,
"dependencies": {
"path-key": "^4.0.0"
@@ -4431,76 +4642,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/@wdio/cli/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==",
- "dev": true,
- "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/@wdio/cli/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==",
- "dev": true,
- "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/@wdio/cli/node_modules/parse-json": {
- "version": "7.1.1",
- "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-7.1.1.tgz",
- "integrity": "sha512-SgOTCX/EZXtZxBE5eJ97P4yGM5n37BwRU+YMsH4vNzFqJV/oWFXXCmwFlgWUM4PrakybVOueJJ6pwHqSVhTFDw==",
- "dev": true,
- "dependencies": {
- "@babel/code-frame": "^7.21.4",
- "error-ex": "^1.3.2",
- "json-parse-even-better-errors": "^3.0.0",
- "lines-and-columns": "^2.0.3",
- "type-fest": "^3.8.0"
- },
- "engines": {
- "node": ">=16"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/@wdio/cli/node_modules/parse-json/node_modules/type-fest": {
- "version": "3.13.1",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.13.1.tgz",
- "integrity": "sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==",
- "dev": true,
- "engines": {
- "node": ">=14.16"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/@wdio/cli/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==",
- "dev": true,
- "engines": {
- "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
- }
- },
"node_modules/@wdio/cli/node_modules/path-key": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz",
@@ -4532,70 +4673,44 @@
"node": ">= 14"
}
},
- "node_modules/@wdio/cli/node_modules/proxy-agent/node_modules/agent-base": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz",
- "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==",
- "dev": true,
- "dependencies": {
- "debug": "^4.3.4"
- },
- "engines": {
- "node": ">= 14"
- }
- },
- "node_modules/@wdio/cli/node_modules/proxy-agent/node_modules/http-proxy-agent": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.0.tgz",
- "integrity": "sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==",
+ "node_modules/@wdio/cli/node_modules/proxy-agent/node_modules/debug": {
+ "version": "4.3.5",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz",
+ "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==",
"dev": true,
"dependencies": {
- "agent-base": "^7.1.0",
- "debug": "^4.3.4"
+ "ms": "2.1.2"
},
"engines": {
- "node": ">= 14"
- }
- },
- "node_modules/@wdio/cli/node_modules/proxy-agent/node_modules/https-proxy-agent": {
- "version": "7.0.2",
- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz",
- "integrity": "sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==",
- "dev": true,
- "dependencies": {
- "agent-base": "^7.0.2",
- "debug": "4"
+ "node": ">=6.0"
},
- "engines": {
- "node": ">= 14"
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
}
},
- "node_modules/@wdio/cli/node_modules/proxy-agent/node_modules/lru-cache": {
- "version": "7.18.3",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz",
- "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==",
- "dev": true,
- "engines": {
- "node": ">=12"
- }
+ "node_modules/@wdio/cli/node_modules/proxy-agent/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==",
+ "dev": true
},
"node_modules/@wdio/cli/node_modules/puppeteer-core": {
- "version": "20.3.0",
- "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-20.3.0.tgz",
- "integrity": "sha512-264pBrIui5bO6NJeOcbJrLa0OCwmA4+WK00JMrLIKTfRiqe2gx8KWTzLsjyw/bizErp3TKS7vt/I0i5fTC+mAw==",
+ "version": "20.9.0",
+ "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-20.9.0.tgz",
+ "integrity": "sha512-H9fYZQzMTRrkboEfPmf7m3CLDN6JvbxXA3qTtS+dFt27tR+CsFHzPsT6pzp6lYL6bJbAPaR0HaPO6uSi+F94Pg==",
"dev": true,
- "optional": true,
- "peer": true,
"dependencies": {
- "@puppeteer/browsers": "1.3.0",
- "chromium-bidi": "0.4.9",
- "cross-fetch": "3.1.6",
+ "@puppeteer/browsers": "1.4.6",
+ "chromium-bidi": "0.4.16",
+ "cross-fetch": "4.0.0",
"debug": "4.3.4",
- "devtools-protocol": "0.0.1120988",
+ "devtools-protocol": "0.0.1147663",
"ws": "8.13.0"
},
"engines": {
- "node": ">=16.0.0"
+ "node": ">=16.3.0"
},
"peerDependencies": {
"typescript": ">= 4.7.4"
@@ -4606,68 +4721,49 @@
}
}
},
- "node_modules/@wdio/cli/node_modules/read-pkg": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-8.1.0.tgz",
- "integrity": "sha512-PORM8AgzXeskHO/WEv312k9U03B8K9JSiWF/8N9sUuFjBa+9SF2u6K7VClzXwDXab51jCd8Nd36CNM+zR97ScQ==",
+ "node_modules/@wdio/cli/node_modules/puppeteer-core/node_modules/debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
"dev": true,
"dependencies": {
- "@types/normalize-package-data": "^2.4.1",
- "normalize-package-data": "^6.0.0",
- "parse-json": "^7.0.0",
- "type-fest": "^4.2.0"
+ "ms": "2.1.2"
},
"engines": {
- "node": ">=16"
+ "node": ">=6.0"
},
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
}
},
- "node_modules/@wdio/cli/node_modules/read-pkg-up": {
- "version": "10.1.0",
- "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-10.1.0.tgz",
- "integrity": "sha512-aNtBq4jR8NawpKJQldrQcSW9y/d+KWH4v24HWkHljOZ7H0av+YTGANBzRh9A5pw7v/bLVsLVPpOhJ7gHNVy8lA==",
- "dev": true,
- "dependencies": {
- "find-up": "^6.3.0",
- "read-pkg": "^8.1.0",
- "type-fest": "^4.2.0"
- },
- "engines": {
- "node": ">=16"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
+ "node_modules/@wdio/cli/node_modules/puppeteer-core/node_modules/devtools-protocol": {
+ "version": "0.0.1147663",
+ "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1147663.tgz",
+ "integrity": "sha512-hyWmRrexdhbZ1tcJUGpO95ivbRhWXz++F4Ko+n21AY5PNln2ovoJw+8ZMNDTtip+CNFQfrtLVh/w4009dXO/eQ==",
+ "dev": true
},
- "node_modules/@wdio/cli/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==",
- "dev": true,
- "dependencies": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
+ "node_modules/@wdio/cli/node_modules/puppeteer-core/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==",
+ "dev": true
},
- "node_modules/@wdio/cli/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==",
+ "node_modules/@wdio/cli/node_modules/readable-stream": {
+ "version": "4.5.2",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz",
+ "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==",
"dev": true,
"dependencies": {
- "lru-cache": "^6.0.0"
- },
- "bin": {
- "semver": "bin/semver.js"
+ "abort-controller": "^3.0.0",
+ "buffer": "^6.0.3",
+ "events": "^3.3.0",
+ "process": "^0.11.10",
+ "string_decoder": "^1.3.0"
},
"engines": {
- "node": ">=10"
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
}
},
"node_modules/@wdio/cli/node_modules/serialize-error": {
@@ -4685,18 +4781,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/@wdio/cli/node_modules/serialize-error/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==",
- "dev": true,
- "engines": {
- "node": ">=12.20"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/@wdio/cli/node_modules/signal-exit": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
@@ -4709,33 +4793,31 @@
"url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/@wdio/cli/node_modules/tar-stream": {
- "version": "3.1.7",
- "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz",
- "integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==",
+ "node_modules/@wdio/cli/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==",
"dev": true,
"dependencies": {
- "b4a": "^1.6.4",
- "fast-fifo": "^1.2.0",
- "streamx": "^2.15.0"
+ "safe-buffer": "~5.2.0"
}
},
"node_modules/@wdio/cli/node_modules/type-fest": {
- "version": "4.10.1",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.10.1.tgz",
- "integrity": "sha512-7ZnJYTp6uc04uYRISWtiX3DSKB/fxNQT0B5o1OUeCqiQiwF+JC9+rJiZIDrPrNCLLuTqyQmh4VdQqh/ZOkv9MQ==",
+ "version": "2.19.0",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz",
+ "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==",
"dev": true,
"engines": {
- "node": ">=16"
+ "node": ">=12.20"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/@wdio/cli/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==",
+ "version": "1.0.38",
+ "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.38.tgz",
+ "integrity": "sha512-Aq5ppTOfvrCMgAPneW1HfWj66Xi7XL+/mIy996R1/CLS/rcyJQm6QZdsKrUeivDFQ+Oc9Wyuwor8Ze8peEoUoQ==",
"dev": true,
"funding": [
{
@@ -4757,42 +4839,28 @@
"node": "*"
}
},
- "node_modules/@wdio/cli/node_modules/uuid": {
- "version": "9.0.1",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz",
- "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==",
- "dev": true,
- "funding": [
- "https://github.com/sponsors/broofa",
- "https://github.com/sponsors/ctavan"
- ],
- "optional": true,
- "peer": true,
- "bin": {
- "uuid": "dist/bin/uuid"
- }
- },
"node_modules/@wdio/cli/node_modules/webdriverio": {
- "version": "8.29.1",
- "resolved": "https://registry.npmjs.org/webdriverio/-/webdriverio-8.29.1.tgz",
- "integrity": "sha512-NZK95ivXCqdPraB3FHMw6ByxnCvtgFXkjzG2l3Oq5z0IuJS2aMow3AKFIyiuG6is/deGCe+Tb8eFTCqak7UV+w==",
+ "version": "8.38.2",
+ "resolved": "https://registry.npmjs.org/webdriverio/-/webdriverio-8.38.2.tgz",
+ "integrity": "sha512-r09y5UfivyYh5JOzT2SpJJ1zDmQl/R4OTH12opUqkjvp21BibCQm/uu1mrxGy4lzSHljrvqSVrrcGI+6UA1O8w==",
"dev": true,
"dependencies": {
"@types/node": "^20.1.0",
- "@wdio/config": "8.29.1",
- "@wdio/logger": "8.28.0",
- "@wdio/protocols": "8.24.12",
+ "@wdio/config": "8.38.2",
+ "@wdio/logger": "8.38.0",
+ "@wdio/protocols": "8.38.0",
"@wdio/repl": "8.24.12",
- "@wdio/types": "8.29.1",
- "@wdio/utils": "8.29.1",
- "archiver": "^6.0.0",
+ "@wdio/types": "8.38.2",
+ "@wdio/utils": "8.38.2",
+ "archiver": "^7.0.0",
"aria-query": "^5.0.0",
"css-shorthand-properties": "^1.1.1",
"css-value": "^0.0.1",
- "devtools-protocol": "^0.0.1249869",
+ "devtools-protocol": "^0.0.1302984",
"grapheme-splitter": "^1.0.2",
"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.0",
@@ -4801,7 +4869,7 @@
"resq": "^1.9.1",
"rgb2hex": "0.2.5",
"serialize-error": "^11.0.1",
- "webdriver": "8.29.1"
+ "webdriver": "8.38.2"
},
"engines": {
"node": "^16.13 || >=18"
@@ -4815,122 +4883,6 @@
}
}
},
- "node_modules/@wdio/cli/node_modules/webdriverio/node_modules/@puppeteer/browsers": {
- "version": "1.4.6",
- "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-1.4.6.tgz",
- "integrity": "sha512-x4BEjr2SjOPowNeiguzjozQbsc6h437ovD/wu+JpaenxVLm3jkgzHY2xOslMTp50HoTvQreMjiexiGQw1sqZlQ==",
- "dev": true,
- "dependencies": {
- "debug": "4.3.4",
- "extract-zip": "2.0.1",
- "progress": "2.0.3",
- "proxy-agent": "6.3.0",
- "tar-fs": "3.0.4",
- "unbzip2-stream": "1.4.3",
- "yargs": "17.7.1"
- },
- "bin": {
- "browsers": "lib/cjs/main-cli.js"
- },
- "engines": {
- "node": ">=16.3.0"
- },
- "peerDependencies": {
- "typescript": ">= 4.7.4"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/@wdio/cli/node_modules/webdriverio/node_modules/chromium-bidi": {
- "version": "0.4.16",
- "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-0.4.16.tgz",
- "integrity": "sha512-7ZbXdWERxRxSwo3txsBjjmc/NLxqb1Bk30mRb0BMS4YIaiV6zvKZqL/UAH+DdqcDYayDWk2n/y8klkBDODrPvA==",
- "dev": true,
- "dependencies": {
- "mitt": "3.0.0"
- },
- "peerDependencies": {
- "devtools-protocol": "*"
- }
- },
- "node_modules/@wdio/cli/node_modules/webdriverio/node_modules/cross-fetch": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.0.0.tgz",
- "integrity": "sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==",
- "dev": true,
- "dependencies": {
- "node-fetch": "^2.6.12"
- }
- },
- "node_modules/@wdio/cli/node_modules/webdriverio/node_modules/devtools-protocol": {
- "version": "0.0.1249869",
- "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1249869.tgz",
- "integrity": "sha512-Ctp4hInA0BEavlUoRy9mhGq0i+JSo/AwVyX2EFgZmV1kYB+Zq+EMBAn52QWu6FbRr10hRb6pBl420upbp4++vg==",
- "dev": true
- },
- "node_modules/@wdio/cli/node_modules/webdriverio/node_modules/puppeteer-core": {
- "version": "20.9.0",
- "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-20.9.0.tgz",
- "integrity": "sha512-H9fYZQzMTRrkboEfPmf7m3CLDN6JvbxXA3qTtS+dFt27tR+CsFHzPsT6pzp6lYL6bJbAPaR0HaPO6uSi+F94Pg==",
- "dev": true,
- "dependencies": {
- "@puppeteer/browsers": "1.4.6",
- "chromium-bidi": "0.4.16",
- "cross-fetch": "4.0.0",
- "debug": "4.3.4",
- "devtools-protocol": "0.0.1147663",
- "ws": "8.13.0"
- },
- "engines": {
- "node": ">=16.3.0"
- },
- "peerDependencies": {
- "typescript": ">= 4.7.4"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/@wdio/cli/node_modules/webdriverio/node_modules/puppeteer-core/node_modules/devtools-protocol": {
- "version": "0.0.1147663",
- "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1147663.tgz",
- "integrity": "sha512-hyWmRrexdhbZ1tcJUGpO95ivbRhWXz++F4Ko+n21AY5PNln2ovoJw+8ZMNDTtip+CNFQfrtLVh/w4009dXO/eQ==",
- "dev": true
- },
- "node_modules/@wdio/cli/node_modules/webdriverio/node_modules/tar-fs": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.4.tgz",
- "integrity": "sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w==",
- "dev": true,
- "dependencies": {
- "mkdirp-classic": "^0.5.2",
- "pump": "^3.0.0",
- "tar-stream": "^3.1.5"
- }
- },
- "node_modules/@wdio/cli/node_modules/webdriverio/node_modules/yargs": {
- "version": "17.7.1",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.1.tgz",
- "integrity": "sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw==",
- "dev": true,
- "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"
- },
- "engines": {
- "node": ">=12"
- }
- },
"node_modules/@wdio/cli/node_modules/ws": {
"version": "8.13.0",
"resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz",
@@ -4970,40 +4922,28 @@
"node": ">=12"
}
},
- "node_modules/@wdio/cli/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==",
- "dev": true,
- "engines": {
- "node": ">=12.20"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/@wdio/cli/node_modules/zip-stream": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-5.0.1.tgz",
- "integrity": "sha512-UfZ0oa0C8LI58wJ+moL46BDIMgCQbnsb+2PoiJYtonhBsMh2bq1eRBVkvjfVsqbEHd9/EgKPUuL9saSSsec8OA==",
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-6.0.1.tgz",
+ "integrity": "sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==",
"dev": true,
"dependencies": {
- "archiver-utils": "^4.0.1",
- "compress-commons": "^5.0.1",
- "readable-stream": "^3.6.0"
+ "archiver-utils": "^5.0.0",
+ "compress-commons": "^6.0.2",
+ "readable-stream": "^4.0.0"
},
"engines": {
- "node": ">= 12.0.0"
+ "node": ">= 14"
}
},
"node_modules/@wdio/concise-reporter": {
- "version": "8.29.1",
- "resolved": "https://registry.npmjs.org/@wdio/concise-reporter/-/concise-reporter-8.29.1.tgz",
- "integrity": "sha512-dUhClWeq1naL1Qa1nSMDeH8aCVViOKiEzhBhQjgrMOz1Mh3l6O/woqbK2iKDVZDRhfGghtGcV0vpoEUvt8ZKOA==",
+ "version": "8.38.2",
+ "resolved": "https://registry.npmjs.org/@wdio/concise-reporter/-/concise-reporter-8.38.2.tgz",
+ "integrity": "sha512-wE36By4Z9iCtRzihpYrmCehsmNc8t3gHviBsUxV4tmYh/SQr+WX/dysWnojer6KWIJ2rT0rOzyQPmrwhdFKAFg==",
"dev": true,
"dependencies": {
- "@wdio/reporter": "8.29.1",
- "@wdio/types": "8.29.1",
+ "@wdio/reporter": "8.38.2",
+ "@wdio/types": "8.38.2",
"chalk": "^5.0.1",
"pretty-ms": "^7.0.1"
},
@@ -5024,14 +4964,14 @@
}
},
"node_modules/@wdio/config": {
- "version": "8.29.1",
- "resolved": "https://registry.npmjs.org/@wdio/config/-/config-8.29.1.tgz",
- "integrity": "sha512-zNUac4lM429HDKAitO+fdlwUH1ACQU8lww+DNVgUyuEb86xgVdTqHeiJr/3kOMJAq9IATeE7mDtYyyn6HPm1JA==",
+ "version": "8.38.2",
+ "resolved": "https://registry.npmjs.org/@wdio/config/-/config-8.38.2.tgz",
+ "integrity": "sha512-xlnapTr1vOA0h5HsHTIqj47729FbG3WjxmgHweDEQvcT4C1g9l+WKf+N3FM7DNNoIsAqxKi6rOHG02rJADQJtw==",
"dev": true,
"dependencies": {
- "@wdio/logger": "8.28.0",
- "@wdio/types": "8.29.1",
- "@wdio/utils": "8.29.1",
+ "@wdio/logger": "8.38.0",
+ "@wdio/types": "8.38.2",
+ "@wdio/utils": "8.38.2",
"decamelize": "^6.0.0",
"deepmerge-ts": "^5.0.0",
"glob": "^10.2.2",
@@ -5041,78 +4981,309 @@
"node": "^16.13 || >=18"
}
},
- "node_modules/@wdio/config/node_modules/brace-expansion": {
+ "node_modules/@wdio/globals": {
+ "version": "8.38.2",
+ "resolved": "https://registry.npmjs.org/@wdio/globals/-/globals-8.38.2.tgz",
+ "integrity": "sha512-iIrUF1EODfHLh3V/CSNCqbNNxUTe3ND+c86zDjzJcPFjawLX1plvAApsU/eDmtsFShcOS2KHbfSjiydFoqQG1Q==",
+ "dev": true,
+ "engines": {
+ "node": "^16.13 || >=18"
+ },
+ "optionalDependencies": {
+ "expect-webdriverio": "^4.11.2",
+ "webdriverio": "8.38.2"
+ }
+ },
+ "node_modules/@wdio/globals/node_modules/@puppeteer/browsers": {
+ "version": "1.4.6",
+ "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-1.4.6.tgz",
+ "integrity": "sha512-x4BEjr2SjOPowNeiguzjozQbsc6h437ovD/wu+JpaenxVLm3jkgzHY2xOslMTp50HoTvQreMjiexiGQw1sqZlQ==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "debug": "4.3.4",
+ "extract-zip": "2.0.1",
+ "progress": "2.0.3",
+ "proxy-agent": "6.3.0",
+ "tar-fs": "3.0.4",
+ "unbzip2-stream": "1.4.3",
+ "yargs": "17.7.1"
+ },
+ "bin": {
+ "browsers": "lib/cjs/main-cli.js"
+ },
+ "engines": {
+ "node": ">=16.3.0"
+ },
+ "peerDependencies": {
+ "typescript": ">= 4.7.4"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@wdio/globals/node_modules/@puppeteer/browsers/node_modules/debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@wdio/globals/node_modules/@puppeteer/browsers/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==",
+ "dev": true,
+ "optional": true
+ },
+ "node_modules/@wdio/globals/node_modules/agent-base": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz",
+ "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "debug": "^4.3.4"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/@wdio/globals/node_modules/agent-base/node_modules/debug": {
+ "version": "4.3.5",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz",
+ "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@wdio/globals/node_modules/agent-base/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==",
+ "dev": true,
+ "optional": true
+ },
+ "node_modules/@wdio/globals/node_modules/archiver": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/archiver/-/archiver-7.0.1.tgz",
+ "integrity": "sha512-ZcbTaIqJOfCc03QwD468Unz/5Ir8ATtvAHsK+FdXbDIbGfihqh9mrvdcYunQzqn4HrvWWaFyaxJhGZagaJJpPQ==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "archiver-utils": "^5.0.2",
+ "async": "^3.2.4",
+ "buffer-crc32": "^1.0.0",
+ "readable-stream": "^4.0.0",
+ "readdir-glob": "^1.1.2",
+ "tar-stream": "^3.0.0",
+ "zip-stream": "^6.0.1"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/@wdio/globals/node_modules/archiver-utils": {
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-5.0.2.tgz",
+ "integrity": "sha512-wuLJMmIBQYCsGZgYLTy5FIB2pF6Lfb6cXMSF8Qywwk3t20zWnAi7zLcQFdKQmIB8wyZpY5ER38x08GbwtR2cLA==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "glob": "^10.0.0",
+ "graceful-fs": "^4.2.0",
+ "is-stream": "^2.0.1",
+ "lazystream": "^1.0.0",
+ "lodash": "^4.17.15",
+ "normalize-path": "^3.0.0",
+ "readable-stream": "^4.0.0"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/@wdio/globals/node_modules/async": {
+ "version": "3.2.5",
+ "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz",
+ "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==",
+ "dev": true,
+ "optional": true
+ },
+ "node_modules/@wdio/globals/node_modules/brace-expansion": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
"dev": true,
+ "optional": true,
"dependencies": {
"balanced-match": "^1.0.0"
}
},
- "node_modules/@wdio/config/node_modules/decamelize": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-6.0.0.tgz",
- "integrity": "sha512-Fv96DCsdOgB6mdGl67MT5JaTNKRzrzill5OH5s8bjYJXVlcXyPYGyPsUkWyGV5p1TXI5esYIYMMeDJL0hEIwaA==",
+ "node_modules/@wdio/globals/node_modules/buffer": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
+ "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
"dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "optional": true,
+ "dependencies": {
+ "base64-js": "^1.3.1",
+ "ieee754": "^1.2.1"
+ }
+ },
+ "node_modules/@wdio/globals/node_modules/buffer-crc32": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-1.0.0.tgz",
+ "integrity": "sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w==",
+ "dev": true,
+ "optional": true,
"engines": {
- "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "node": ">=8.0.0"
}
},
- "node_modules/@wdio/config/node_modules/glob": {
- "version": "10.3.10",
- "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz",
- "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==",
+ "node_modules/@wdio/globals/node_modules/chrome-launcher": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/chrome-launcher/-/chrome-launcher-1.1.2.tgz",
+ "integrity": "sha512-YclTJey34KUm5jB1aEJCq807bSievi7Nb/TU4Gu504fUYi3jw3KCIaH6L7nFWQhdEgH3V+wCh+kKD1P5cXnfxw==",
"dev": true,
+ "optional": true,
+ "peer": true,
"dependencies": {
- "foreground-child": "^3.1.0",
- "jackspeak": "^2.3.5",
- "minimatch": "^9.0.1",
- "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0",
- "path-scurry": "^1.10.1"
+ "@types/node": "*",
+ "escape-string-regexp": "^4.0.0",
+ "is-wsl": "^2.2.0",
+ "lighthouse-logger": "^2.0.1"
},
"bin": {
- "glob": "dist/esm/bin.mjs"
+ "print-chrome-path": "bin/print-chrome-path.js"
},
"engines": {
- "node": ">=16 || 14 >=14.17"
+ "node": ">=12.13.0"
+ }
+ },
+ "node_modules/@wdio/globals/node_modules/compress-commons": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-6.0.2.tgz",
+ "integrity": "sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "crc-32": "^1.2.0",
+ "crc32-stream": "^6.0.0",
+ "is-stream": "^2.0.1",
+ "normalize-path": "^3.0.0",
+ "readable-stream": "^4.0.0"
},
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/@wdio/globals/node_modules/crc32-stream": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-6.0.0.tgz",
+ "integrity": "sha512-piICUB6ei4IlTv1+653yq5+KoqfBYmj9bw6LqXoOneTMDXk5nM1qt12mFW1caG3LlJXEKW1Bp0WggEmIfQB34g==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "crc-32": "^1.2.0",
+ "readable-stream": "^4.0.0"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/@wdio/globals/node_modules/cross-fetch": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.0.0.tgz",
+ "integrity": "sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "node-fetch": "^2.6.12"
+ }
+ },
+ "node_modules/@wdio/globals/node_modules/debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "optional": true,
+ "peer": true,
+ "dependencies": {
+ "ms": "2.0.0"
}
},
- "node_modules/@wdio/config/node_modules/minimatch": {
- "version": "9.0.3",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz",
- "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==",
+ "node_modules/@wdio/globals/node_modules/devtools": {
+ "version": "8.38.2",
+ "resolved": "https://registry.npmjs.org/devtools/-/devtools-8.38.2.tgz",
+ "integrity": "sha512-8b+naOPzYqzsiYtZZKYJnUnSqSOIg5orvna2SlWT2kFhkggbAJ1bbMzW7rps6onLfxp93wCNEIvngb9JuxwDsg==",
"dev": true,
+ "optional": true,
+ "peer": true,
"dependencies": {
- "brace-expansion": "^2.0.1"
+ "@types/node": "^20.1.0",
+ "@wdio/config": "8.38.2",
+ "@wdio/logger": "8.38.0",
+ "@wdio/protocols": "8.38.0",
+ "@wdio/types": "8.38.2",
+ "@wdio/utils": "8.38.2",
+ "chrome-launcher": "^1.0.0",
+ "edge-paths": "^3.0.5",
+ "import-meta-resolve": "^4.0.0",
+ "puppeteer-core": "20.3.0",
+ "query-selector-shadow-dom": "^1.0.0",
+ "ua-parser-js": "^1.0.37",
+ "uuid": "^9.0.0",
+ "which": "^4.0.0"
},
"engines": {
- "node": ">=16 || 14 >=14.17"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
+ "node": "^16.13 || >=18"
}
},
- "node_modules/@wdio/globals": {
- "version": "8.29.1",
- "resolved": "https://registry.npmjs.org/@wdio/globals/-/globals-8.29.1.tgz",
- "integrity": "sha512-F+fPnX75f44/crZDfQ2FYSino/IMIdbnQGLIkaH0VnoljVJIHuxnX4y5Zqr4yRgurL9DsZaH22cLHrPXaHUhPg==",
+ "node_modules/@wdio/globals/node_modules/devtools-protocol": {
+ "version": "0.0.1302984",
+ "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1302984.tgz",
+ "integrity": "sha512-Rgh2Sk5fUSCtEx4QGH9iwTyECdFPySG2nlz5J8guGh2Wlha6uzSOCq/DCEC8faHlLaMPZJMuZ4ovgcX4LvOkKA==",
"dev": true,
- "engines": {
- "node": "^16.13 || >=18"
- },
- "optionalDependencies": {
- "expect-webdriverio": "^4.9.3",
- "webdriverio": "8.29.1"
- }
+ "optional": true
},
- "node_modules/@wdio/globals/node_modules/@puppeteer/browsers": {
+ "node_modules/@wdio/globals/node_modules/devtools/node_modules/@puppeteer/browsers": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-1.3.0.tgz",
"integrity": "sha512-an3QdbNPkuU6qpxpbssxAbjRLJcF+eP4L8UqIY3+6n0sbaVxw5pz7PiCLy9g32XEZuoamUlV5ZQPnA6FxvkIHA==",
@@ -5145,197 +5316,184 @@
}
}
},
- "node_modules/@wdio/globals/node_modules/@types/which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/@types/which/-/which-2.0.2.tgz",
- "integrity": "sha512-113D3mDkZDjo+EeUEHCFy0qniNc1ZpecGiAU7WSo7YDoSzolZIQKpYFHrPpjkB2nuyahcKfrmLXeQlh7gqJYdw==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "node_modules/@wdio/globals/node_modules/archiver": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/archiver/-/archiver-6.0.1.tgz",
- "integrity": "sha512-CXGy4poOLBKptiZH//VlWdFuUC1RESbdZjGjILwBuZ73P7WkAUN0htfSfBq/7k6FRFlpu7bg4JOkj1vU9G6jcQ==",
+ "node_modules/@wdio/globals/node_modules/devtools/node_modules/agent-base": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
+ "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
"dev": true,
"optional": true,
+ "peer": true,
"dependencies": {
- "archiver-utils": "^4.0.1",
- "async": "^3.2.4",
- "buffer-crc32": "^0.2.1",
- "readable-stream": "^3.6.0",
- "readdir-glob": "^1.1.2",
- "tar-stream": "^3.0.0",
- "zip-stream": "^5.0.1"
+ "debug": "4"
},
"engines": {
- "node": ">= 12.0.0"
+ "node": ">= 6.0.0"
}
},
- "node_modules/@wdio/globals/node_modules/archiver-utils": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-4.0.1.tgz",
- "integrity": "sha512-Q4Q99idbvzmgCTEAAhi32BkOyq8iVI5EwdO0PmBDSGIzzjYNdcFn7Q7k3OzbLy4kLUPXfJtG6fO2RjftXbobBg==",
+ "node_modules/@wdio/globals/node_modules/devtools/node_modules/chromium-bidi": {
+ "version": "0.4.9",
+ "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-0.4.9.tgz",
+ "integrity": "sha512-u3DC6XwgLCA9QJ5ak1voPslCmacQdulZNCPsI3qNXxSnEcZS7DFIbww+5RM2bznMEje7cc0oydavRLRvOIZtHw==",
"dev": true,
"optional": true,
+ "peer": true,
"dependencies": {
- "glob": "^8.0.0",
- "graceful-fs": "^4.2.0",
- "lazystream": "^1.0.0",
- "lodash": "^4.17.15",
- "normalize-path": "^3.0.0",
- "readable-stream": "^3.6.0"
+ "mitt": "3.0.0"
},
- "engines": {
- "node": ">= 12.0.0"
+ "peerDependencies": {
+ "devtools-protocol": "*"
}
},
- "node_modules/@wdio/globals/node_modules/async": {
- "version": "3.2.5",
- "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz",
- "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==",
- "dev": true,
- "optional": true
- },
- "node_modules/@wdio/globals/node_modules/brace-expansion": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
- "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "node_modules/@wdio/globals/node_modules/devtools/node_modules/cross-fetch": {
+ "version": "3.1.6",
+ "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.6.tgz",
+ "integrity": "sha512-riRvo06crlE8HiqOwIpQhxwdOk4fOeR7FVM/wXoxchFEqMNUjvbs3bfo4OTgMEMHzppd4DxFBDbyySj8Cv781g==",
"dev": true,
"optional": true,
+ "peer": true,
"dependencies": {
- "balanced-match": "^1.0.0"
+ "node-fetch": "^2.6.11"
}
},
- "node_modules/@wdio/globals/node_modules/chrome-launcher": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/chrome-launcher/-/chrome-launcher-1.1.0.tgz",
- "integrity": "sha512-rJYWeEAERwWIr3c3mEVXwNiODPEdMRlRxHc47B1qHPOolHZnkj7rMv1QSUfPoG6MgatWj5AxSpnKKR4QEwEQIQ==",
+ "node_modules/@wdio/globals/node_modules/devtools/node_modules/debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
"dev": true,
"optional": true,
"peer": true,
"dependencies": {
- "@types/node": "*",
- "escape-string-regexp": "^4.0.0",
- "is-wsl": "^2.2.0",
- "lighthouse-logger": "^2.0.1"
- },
- "bin": {
- "print-chrome-path": "bin/print-chrome-path.js"
+ "ms": "2.1.2"
},
"engines": {
- "node": ">=12.13.0"
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
}
},
- "node_modules/@wdio/globals/node_modules/compress-commons": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-5.0.1.tgz",
- "integrity": "sha512-MPh//1cERdLtqwO3pOFLeXtpuai0Y2WCd5AhtKxznqM7WtaMYaOEMSgn45d9D10sIHSfIKE603HlOp8OPGrvag==",
+ "node_modules/@wdio/globals/node_modules/devtools/node_modules/devtools-protocol": {
+ "version": "0.0.1120988",
+ "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1120988.tgz",
+ "integrity": "sha512-39fCpE3Z78IaIPChJsP6Lhmkbf4dWXOmzLk/KFTdRkNk/0JymRIfUynDVRndV9HoDz8PyalK1UH21ST/ivwW5Q==",
"dev": true,
"optional": true,
- "dependencies": {
- "crc-32": "^1.2.0",
- "crc32-stream": "^5.0.0",
- "normalize-path": "^3.0.0",
- "readable-stream": "^3.6.0"
- },
- "engines": {
- "node": ">= 12.0.0"
- }
+ "peer": true
},
- "node_modules/@wdio/globals/node_modules/crc32-stream": {
+ "node_modules/@wdio/globals/node_modules/devtools/node_modules/http-proxy-agent": {
"version": "5.0.0",
- "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-5.0.0.tgz",
- "integrity": "sha512-B0EPa1UK+qnpBZpG+7FgPCu0J2ETLpXq09o9BkLkEAhdB6Z61Qo4pJ3JYu0c+Qi+/SAL7QThqnzS06pmSSyZaw==",
+ "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz",
+ "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==",
"dev": true,
"optional": true,
+ "peer": true,
"dependencies": {
- "crc-32": "^1.2.0",
- "readable-stream": "^3.4.0"
+ "@tootallnate/once": "2",
+ "agent-base": "6",
+ "debug": "4"
},
"engines": {
- "node": ">= 12.0.0"
+ "node": ">= 6"
}
},
- "node_modules/@wdio/globals/node_modules/cross-fetch": {
- "version": "3.1.6",
- "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.6.tgz",
- "integrity": "sha512-riRvo06crlE8HiqOwIpQhxwdOk4fOeR7FVM/wXoxchFEqMNUjvbs3bfo4OTgMEMHzppd4DxFBDbyySj8Cv781g==",
+ "node_modules/@wdio/globals/node_modules/devtools/node_modules/https-proxy-agent": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
+ "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
"dev": true,
"optional": true,
"peer": true,
"dependencies": {
- "node-fetch": "^2.6.11"
+ "agent-base": "6",
+ "debug": "4"
+ },
+ "engines": {
+ "node": ">= 6"
}
},
- "node_modules/@wdio/globals/node_modules/devtools": {
- "version": "8.29.1",
- "resolved": "https://registry.npmjs.org/devtools/-/devtools-8.29.1.tgz",
- "integrity": "sha512-fbH0Z7CPK4OZSgUw2QcAppczowxtSyvFztPUmiFyi99cUadjEOwlg0aL3pBVlIDo67olYjGb8GD1M5Z4yI/P6w==",
+ "node_modules/@wdio/globals/node_modules/devtools/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==",
+ "dev": true,
+ "optional": true,
+ "peer": true
+ },
+ "node_modules/@wdio/globals/node_modules/devtools/node_modules/puppeteer-core": {
+ "version": "20.3.0",
+ "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-20.3.0.tgz",
+ "integrity": "sha512-264pBrIui5bO6NJeOcbJrLa0OCwmA4+WK00JMrLIKTfRiqe2gx8KWTzLsjyw/bizErp3TKS7vt/I0i5fTC+mAw==",
"dev": true,
"optional": true,
"peer": true,
"dependencies": {
- "@types/node": "^20.1.0",
- "@wdio/config": "8.29.1",
- "@wdio/logger": "8.28.0",
- "@wdio/protocols": "8.24.12",
- "@wdio/types": "8.29.1",
- "@wdio/utils": "8.29.1",
- "chrome-launcher": "^1.0.0",
- "edge-paths": "^3.0.5",
- "import-meta-resolve": "^4.0.0",
- "puppeteer-core": "20.3.0",
- "query-selector-shadow-dom": "^1.0.0",
- "ua-parser-js": "^1.0.1",
- "uuid": "^9.0.0",
- "which": "^4.0.0"
+ "@puppeteer/browsers": "1.3.0",
+ "chromium-bidi": "0.4.9",
+ "cross-fetch": "3.1.6",
+ "debug": "4.3.4",
+ "devtools-protocol": "0.0.1120988",
+ "ws": "8.13.0"
},
"engines": {
- "node": "^16.13 || >=18"
+ "node": ">=16.0.0"
+ },
+ "peerDependencies": {
+ "typescript": ">= 4.7.4"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
}
},
- "node_modules/@wdio/globals/node_modules/devtools-protocol": {
- "version": "0.0.1120988",
- "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1120988.tgz",
- "integrity": "sha512-39fCpE3Z78IaIPChJsP6Lhmkbf4dWXOmzLk/KFTdRkNk/0JymRIfUynDVRndV9HoDz8PyalK1UH21ST/ivwW5Q==",
+ "node_modules/@wdio/globals/node_modules/devtools/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==",
"dev": true,
"optional": true,
- "peer": true
+ "peer": true,
+ "dependencies": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
},
- "node_modules/@wdio/globals/node_modules/devtools/node_modules/which": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz",
- "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==",
+ "node_modules/@wdio/globals/node_modules/devtools/node_modules/tar-fs": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz",
+ "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==",
"dev": true,
"optional": true,
"peer": true,
"dependencies": {
- "isexe": "^3.1.1"
- },
- "bin": {
- "node-which": "bin/which.js"
- },
- "engines": {
- "node": "^16.13.0 || >=18.0.0"
+ "chownr": "^1.1.1",
+ "mkdirp-classic": "^0.5.2",
+ "pump": "^3.0.0",
+ "tar-stream": "^2.1.4"
}
},
- "node_modules/@wdio/globals/node_modules/edge-paths": {
- "version": "3.0.5",
- "resolved": "https://registry.npmjs.org/edge-paths/-/edge-paths-3.0.5.tgz",
- "integrity": "sha512-sB7vSrDnFa4ezWQk9nZ/n0FdpdUuC6R1EOrlU3DL+bovcNFK28rqu2emmAUjujYEJTWIgQGqgVVWUZXMnc8iWg==",
+ "node_modules/@wdio/globals/node_modules/devtools/node_modules/tar-stream": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz",
+ "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==",
"dev": true,
"optional": true,
"peer": true,
"dependencies": {
- "@types/which": "^2.0.1",
- "which": "^2.0.2"
+ "bl": "^4.0.3",
+ "end-of-stream": "^1.4.1",
+ "fs-constants": "^1.0.0",
+ "inherits": "^2.0.3",
+ "readable-stream": "^3.1.1"
},
"engines": {
- "node": ">=14.0.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/shirshak55"
+ "node": ">=6"
}
},
"node_modules/@wdio/globals/node_modules/escape-string-regexp": {
@@ -5352,64 +5510,56 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/@wdio/globals/node_modules/glob": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz",
- "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==",
+ "node_modules/@wdio/globals/node_modules/https-proxy-agent": {
+ "version": "7.0.4",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz",
+ "integrity": "sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==",
"dev": true,
"optional": true,
"dependencies": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^5.0.1",
- "once": "^1.3.0"
+ "agent-base": "^7.0.2",
+ "debug": "4"
},
"engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
+ "node": ">= 14"
}
},
- "node_modules/@wdio/globals/node_modules/glob/node_modules/minimatch": {
- "version": "5.1.6",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
- "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
+ "node_modules/@wdio/globals/node_modules/https-proxy-agent/node_modules/debug": {
+ "version": "4.3.5",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz",
+ "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==",
"dev": true,
"optional": true,
"dependencies": {
- "brace-expansion": "^2.0.1"
+ "ms": "2.1.2"
},
"engines": {
- "node": ">=10"
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
}
},
- "node_modules/@wdio/globals/node_modules/http-proxy-agent": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz",
- "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==",
+ "node_modules/@wdio/globals/node_modules/https-proxy-agent/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==",
"dev": true,
- "optional": true,
- "peer": true,
- "dependencies": {
- "@tootallnate/once": "2",
- "agent-base": "6",
- "debug": "4"
- },
- "engines": {
- "node": ">= 6"
- }
+ "optional": true
},
- "node_modules/@wdio/globals/node_modules/isexe": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz",
- "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==",
+ "node_modules/@wdio/globals/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==",
"dev": true,
"optional": true,
- "peer": true,
"engines": {
- "node": ">=16"
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/@wdio/globals/node_modules/lighthouse-logger": {
@@ -5424,17 +5574,6 @@
"marky": "^1.2.2"
}
},
- "node_modules/@wdio/globals/node_modules/lighthouse-logger/node_modules/debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "optional": true,
- "peer": true,
- "dependencies": {
- "ms": "2.0.0"
- }
- },
"node_modules/@wdio/globals/node_modules/lru-cache": {
"version": "7.18.3",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz",
@@ -5446,9 +5585,9 @@
}
},
"node_modules/@wdio/globals/node_modules/minimatch": {
- "version": "9.0.3",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz",
- "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==",
+ "version": "9.0.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz",
+ "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==",
"dev": true,
"optional": true,
"dependencies": {
@@ -5510,64 +5649,47 @@
"node": ">= 14"
}
},
- "node_modules/@wdio/globals/node_modules/proxy-agent/node_modules/agent-base": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz",
- "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==",
+ "node_modules/@wdio/globals/node_modules/proxy-agent/node_modules/debug": {
+ "version": "4.3.5",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz",
+ "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==",
"dev": true,
"optional": true,
"dependencies": {
- "debug": "^4.3.4"
+ "ms": "2.1.2"
},
"engines": {
- "node": ">= 14"
- }
- },
- "node_modules/@wdio/globals/node_modules/proxy-agent/node_modules/http-proxy-agent": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.0.tgz",
- "integrity": "sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==",
- "dev": true,
- "optional": true,
- "dependencies": {
- "agent-base": "^7.1.0",
- "debug": "^4.3.4"
+ "node": ">=6.0"
},
- "engines": {
- "node": ">= 14"
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
}
},
- "node_modules/@wdio/globals/node_modules/proxy-agent/node_modules/https-proxy-agent": {
- "version": "7.0.2",
- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz",
- "integrity": "sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==",
+ "node_modules/@wdio/globals/node_modules/proxy-agent/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==",
"dev": true,
- "optional": true,
- "dependencies": {
- "agent-base": "^7.0.2",
- "debug": "4"
- },
- "engines": {
- "node": ">= 14"
- }
+ "optional": true
},
"node_modules/@wdio/globals/node_modules/puppeteer-core": {
- "version": "20.3.0",
- "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-20.3.0.tgz",
- "integrity": "sha512-264pBrIui5bO6NJeOcbJrLa0OCwmA4+WK00JMrLIKTfRiqe2gx8KWTzLsjyw/bizErp3TKS7vt/I0i5fTC+mAw==",
+ "version": "20.9.0",
+ "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-20.9.0.tgz",
+ "integrity": "sha512-H9fYZQzMTRrkboEfPmf7m3CLDN6JvbxXA3qTtS+dFt27tR+CsFHzPsT6pzp6lYL6bJbAPaR0HaPO6uSi+F94Pg==",
"dev": true,
"optional": true,
- "peer": true,
"dependencies": {
- "@puppeteer/browsers": "1.3.0",
- "chromium-bidi": "0.4.9",
- "cross-fetch": "3.1.6",
+ "@puppeteer/browsers": "1.4.6",
+ "chromium-bidi": "0.4.16",
+ "cross-fetch": "4.0.0",
"debug": "4.3.4",
- "devtools-protocol": "0.0.1120988",
+ "devtools-protocol": "0.0.1147663",
"ws": "8.13.0"
},
"engines": {
- "node": ">=16.0.0"
+ "node": ">=16.3.0"
},
"peerDependencies": {
"typescript": ">= 4.7.4"
@@ -5578,19 +5700,53 @@
}
}
},
+ "node_modules/@wdio/globals/node_modules/puppeteer-core/node_modules/debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@wdio/globals/node_modules/puppeteer-core/node_modules/devtools-protocol": {
+ "version": "0.0.1147663",
+ "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1147663.tgz",
+ "integrity": "sha512-hyWmRrexdhbZ1tcJUGpO95ivbRhWXz++F4Ko+n21AY5PNln2ovoJw+8ZMNDTtip+CNFQfrtLVh/w4009dXO/eQ==",
+ "dev": true,
+ "optional": true
+ },
+ "node_modules/@wdio/globals/node_modules/puppeteer-core/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==",
+ "dev": true,
+ "optional": true
+ },
"node_modules/@wdio/globals/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==",
+ "version": "4.5.2",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz",
+ "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==",
"dev": true,
"optional": true,
"dependencies": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
+ "abort-controller": "^3.0.0",
+ "buffer": "^6.0.3",
+ "events": "^3.3.0",
+ "process": "^0.11.10",
+ "string_decoder": "^1.3.0"
},
"engines": {
- "node": ">= 6"
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
}
},
"node_modules/@wdio/globals/node_modules/serialize-error": {
@@ -5609,16 +5765,14 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/@wdio/globals/node_modules/tar-stream": {
- "version": "3.1.7",
- "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz",
- "integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==",
+ "node_modules/@wdio/globals/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==",
"dev": true,
"optional": true,
"dependencies": {
- "b4a": "^1.6.4",
- "fast-fifo": "^1.2.0",
- "streamx": "^2.15.0"
+ "safe-buffer": "~5.2.0"
}
},
"node_modules/@wdio/globals/node_modules/type-fest": {
@@ -5635,9 +5789,9 @@
}
},
"node_modules/@wdio/globals/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==",
+ "version": "1.0.38",
+ "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.38.tgz",
+ "integrity": "sha512-Aq5ppTOfvrCMgAPneW1HfWj66Xi7XL+/mIy996R1/CLS/rcyJQm6QZdsKrUeivDFQ+Oc9Wyuwor8Ze8peEoUoQ==",
"dev": true,
"funding": [
{
@@ -5659,43 +5813,29 @@
"node": "*"
}
},
- "node_modules/@wdio/globals/node_modules/uuid": {
- "version": "9.0.1",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz",
- "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==",
- "dev": true,
- "funding": [
- "https://github.com/sponsors/broofa",
- "https://github.com/sponsors/ctavan"
- ],
- "optional": true,
- "peer": true,
- "bin": {
- "uuid": "dist/bin/uuid"
- }
- },
"node_modules/@wdio/globals/node_modules/webdriverio": {
- "version": "8.29.1",
- "resolved": "https://registry.npmjs.org/webdriverio/-/webdriverio-8.29.1.tgz",
- "integrity": "sha512-NZK95ivXCqdPraB3FHMw6ByxnCvtgFXkjzG2l3Oq5z0IuJS2aMow3AKFIyiuG6is/deGCe+Tb8eFTCqak7UV+w==",
+ "version": "8.38.2",
+ "resolved": "https://registry.npmjs.org/webdriverio/-/webdriverio-8.38.2.tgz",
+ "integrity": "sha512-r09y5UfivyYh5JOzT2SpJJ1zDmQl/R4OTH12opUqkjvp21BibCQm/uu1mrxGy4lzSHljrvqSVrrcGI+6UA1O8w==",
"dev": true,
"optional": true,
"dependencies": {
"@types/node": "^20.1.0",
- "@wdio/config": "8.29.1",
- "@wdio/logger": "8.28.0",
- "@wdio/protocols": "8.24.12",
+ "@wdio/config": "8.38.2",
+ "@wdio/logger": "8.38.0",
+ "@wdio/protocols": "8.38.0",
"@wdio/repl": "8.24.12",
- "@wdio/types": "8.29.1",
- "@wdio/utils": "8.29.1",
- "archiver": "^6.0.0",
+ "@wdio/types": "8.38.2",
+ "@wdio/utils": "8.38.2",
+ "archiver": "^7.0.0",
"aria-query": "^5.0.0",
"css-shorthand-properties": "^1.1.1",
"css-value": "^0.0.1",
- "devtools-protocol": "^0.0.1249869",
+ "devtools-protocol": "^0.0.1302984",
"grapheme-splitter": "^1.0.2",
"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.0",
@@ -5704,7 +5844,7 @@
"resq": "^1.9.1",
"rgb2hex": "0.2.5",
"serialize-error": "^11.0.1",
- "webdriver": "8.29.1"
+ "webdriver": "8.38.2"
},
"engines": {
"node": "^16.13 || >=18"
@@ -5718,111 +5858,6 @@
}
}
},
- "node_modules/@wdio/globals/node_modules/webdriverio/node_modules/@puppeteer/browsers": {
- "version": "1.4.6",
- "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-1.4.6.tgz",
- "integrity": "sha512-x4BEjr2SjOPowNeiguzjozQbsc6h437ovD/wu+JpaenxVLm3jkgzHY2xOslMTp50HoTvQreMjiexiGQw1sqZlQ==",
- "dev": true,
- "optional": true,
- "dependencies": {
- "debug": "4.3.4",
- "extract-zip": "2.0.1",
- "progress": "2.0.3",
- "proxy-agent": "6.3.0",
- "tar-fs": "3.0.4",
- "unbzip2-stream": "1.4.3",
- "yargs": "17.7.1"
- },
- "bin": {
- "browsers": "lib/cjs/main-cli.js"
- },
- "engines": {
- "node": ">=16.3.0"
- },
- "peerDependencies": {
- "typescript": ">= 4.7.4"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/@wdio/globals/node_modules/webdriverio/node_modules/chromium-bidi": {
- "version": "0.4.16",
- "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-0.4.16.tgz",
- "integrity": "sha512-7ZbXdWERxRxSwo3txsBjjmc/NLxqb1Bk30mRb0BMS4YIaiV6zvKZqL/UAH+DdqcDYayDWk2n/y8klkBDODrPvA==",
- "dev": true,
- "optional": true,
- "dependencies": {
- "mitt": "3.0.0"
- },
- "peerDependencies": {
- "devtools-protocol": "*"
- }
- },
- "node_modules/@wdio/globals/node_modules/webdriverio/node_modules/cross-fetch": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.0.0.tgz",
- "integrity": "sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==",
- "dev": true,
- "optional": true,
- "dependencies": {
- "node-fetch": "^2.6.12"
- }
- },
- "node_modules/@wdio/globals/node_modules/webdriverio/node_modules/devtools-protocol": {
- "version": "0.0.1249869",
- "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1249869.tgz",
- "integrity": "sha512-Ctp4hInA0BEavlUoRy9mhGq0i+JSo/AwVyX2EFgZmV1kYB+Zq+EMBAn52QWu6FbRr10hRb6pBl420upbp4++vg==",
- "dev": true,
- "optional": true
- },
- "node_modules/@wdio/globals/node_modules/webdriverio/node_modules/puppeteer-core": {
- "version": "20.9.0",
- "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-20.9.0.tgz",
- "integrity": "sha512-H9fYZQzMTRrkboEfPmf7m3CLDN6JvbxXA3qTtS+dFt27tR+CsFHzPsT6pzp6lYL6bJbAPaR0HaPO6uSi+F94Pg==",
- "dev": true,
- "optional": true,
- "dependencies": {
- "@puppeteer/browsers": "1.4.6",
- "chromium-bidi": "0.4.16",
- "cross-fetch": "4.0.0",
- "debug": "4.3.4",
- "devtools-protocol": "0.0.1147663",
- "ws": "8.13.0"
- },
- "engines": {
- "node": ">=16.3.0"
- },
- "peerDependencies": {
- "typescript": ">= 4.7.4"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/@wdio/globals/node_modules/webdriverio/node_modules/puppeteer-core/node_modules/devtools-protocol": {
- "version": "0.0.1147663",
- "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1147663.tgz",
- "integrity": "sha512-hyWmRrexdhbZ1tcJUGpO95ivbRhWXz++F4Ko+n21AY5PNln2ovoJw+8ZMNDTtip+CNFQfrtLVh/w4009dXO/eQ==",
- "dev": true,
- "optional": true
- },
- "node_modules/@wdio/globals/node_modules/webdriverio/node_modules/tar-fs": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.4.tgz",
- "integrity": "sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w==",
- "dev": true,
- "optional": true,
- "dependencies": {
- "mkdirp-classic": "^0.5.2",
- "pump": "^3.0.0",
- "tar-stream": "^3.1.5"
- }
- },
"node_modules/@wdio/globals/node_modules/ws": {
"version": "8.13.0",
"resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz",
@@ -5865,31 +5900,31 @@
}
},
"node_modules/@wdio/globals/node_modules/zip-stream": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-5.0.1.tgz",
- "integrity": "sha512-UfZ0oa0C8LI58wJ+moL46BDIMgCQbnsb+2PoiJYtonhBsMh2bq1eRBVkvjfVsqbEHd9/EgKPUuL9saSSsec8OA==",
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-6.0.1.tgz",
+ "integrity": "sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==",
"dev": true,
"optional": true,
"dependencies": {
- "archiver-utils": "^4.0.1",
- "compress-commons": "^5.0.1",
- "readable-stream": "^3.6.0"
+ "archiver-utils": "^5.0.0",
+ "compress-commons": "^6.0.2",
+ "readable-stream": "^4.0.0"
},
"engines": {
- "node": ">= 12.0.0"
+ "node": ">= 14"
}
},
"node_modules/@wdio/local-runner": {
- "version": "8.29.1",
- "resolved": "https://registry.npmjs.org/@wdio/local-runner/-/local-runner-8.29.1.tgz",
- "integrity": "sha512-Z3QAgxe1uQ97C7NS1CdMhgmHaLu/sbb47HTbw1yuuLk+SwsBIQGhNpTSA18QVRSUXq70G3bFvjACwqyap1IEQg==",
+ "version": "8.38.2",
+ "resolved": "https://registry.npmjs.org/@wdio/local-runner/-/local-runner-8.38.2.tgz",
+ "integrity": "sha512-syW+R5VUHJ3GBkQGFcNYe6MYwWRgklc9W7A83xQDTvKWFNHCetLvc8AtKZ54vs8MItBejjU+Oh94ZNbNX1pBcg==",
"dev": true,
"dependencies": {
"@types/node": "^20.1.0",
- "@wdio/logger": "8.28.0",
+ "@wdio/logger": "8.38.0",
"@wdio/repl": "8.24.12",
- "@wdio/runner": "8.29.1",
- "@wdio/types": "8.29.1",
+ "@wdio/runner": "8.38.2",
+ "@wdio/types": "8.38.2",
"async-exit-hook": "^2.0.1",
"split2": "^4.1.0",
"stream-buffers": "^3.0.2"
@@ -5899,30 +5934,18 @@
}
},
"node_modules/@wdio/logger": {
- "version": "8.28.0",
- "resolved": "https://registry.npmjs.org/@wdio/logger/-/logger-8.28.0.tgz",
- "integrity": "sha512-/s6zNCqwy1hoc+K4SJypis0Ud0dlJ+urOelJFO1x0G0rwDRWyFiUP6ijTaCcFxAm29jYEcEPWijl2xkVIHwOyA==",
+ "version": "8.38.0",
+ "resolved": "https://registry.npmjs.org/@wdio/logger/-/logger-8.38.0.tgz",
+ "integrity": "sha512-kcHL86RmNbcQP+Gq/vQUGlArfU6IIcbbnNp32rRIraitomZow+iEoc519rdQmSVusDozMS5DZthkgDdxK+vz6Q==",
"dev": true,
"dependencies": {
"chalk": "^5.1.2",
"loglevel": "^1.6.0",
"loglevel-plugin-prefix": "^0.8.4",
- "strip-ansi": "^7.1.0"
- },
- "engines": {
- "node": "^16.13 || >=18"
- }
- },
- "node_modules/@wdio/logger/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==",
- "dev": true,
- "engines": {
- "node": ">=12"
+ "strip-ansi": "^7.1.0"
},
- "funding": {
- "url": "https://github.com/chalk/ansi-regex?sponsor=1"
+ "engines": {
+ "node": "^16.13 || >=18"
}
},
"node_modules/@wdio/logger/node_modules/chalk": {
@@ -5937,32 +5960,17 @@
"url": "https://github.com/chalk/chalk?sponsor=1"
}
},
- "node_modules/@wdio/logger/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==",
- "dev": true,
- "dependencies": {
- "ansi-regex": "^6.0.1"
- },
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/strip-ansi?sponsor=1"
- }
- },
"node_modules/@wdio/mocha-framework": {
- "version": "8.29.1",
- "resolved": "https://registry.npmjs.org/@wdio/mocha-framework/-/mocha-framework-8.29.1.tgz",
- "integrity": "sha512-R9dKMNqWgtUvZo33ORjUQV8Z/WLX5h/pg9u/xIvZSGXuNSw1h+5DWF6UiNFscxBFblL9UvBi6V9ila2LHgE4ew==",
+ "version": "8.38.2",
+ "resolved": "https://registry.npmjs.org/@wdio/mocha-framework/-/mocha-framework-8.38.2.tgz",
+ "integrity": "sha512-qJmRL5E6/ypjCUACH4hvCAAmTdU4YUrUlp9o/IKvTIAHMnZPE0/HgUFixCeu8Mop+rdzTPVBrbqxpRDdSnraYA==",
"dev": true,
"dependencies": {
"@types/mocha": "^10.0.0",
"@types/node": "^20.1.0",
- "@wdio/logger": "8.28.0",
- "@wdio/types": "8.29.1",
- "@wdio/utils": "8.29.1",
+ "@wdio/logger": "8.38.0",
+ "@wdio/types": "8.38.2",
+ "@wdio/utils": "8.38.2",
"mocha": "^10.0.0"
},
"engines": {
@@ -5970,9 +5978,9 @@
}
},
"node_modules/@wdio/protocols": {
- "version": "8.24.12",
- "resolved": "https://registry.npmjs.org/@wdio/protocols/-/protocols-8.24.12.tgz",
- "integrity": "sha512-QnVj3FkapmVD3h2zoZk+ZQ8gevSj9D9MiIQIy8eOnY4FAneYZ9R9GvoW+mgNcCZO8S8++S/jZHetR8n+8Q808g==",
+ "version": "8.38.0",
+ "resolved": "https://registry.npmjs.org/@wdio/protocols/-/protocols-8.38.0.tgz",
+ "integrity": "sha512-7BPi7aXwUtnXZPeWJRmnCNFjyDvGrXlBmN9D4Pi58nILkyjVRQKEY9/qv/pcdyB0cvmIvw++Kl/1Lg+RxG++UA==",
"dev": true
},
"node_modules/@wdio/repl": {
@@ -5988,14 +5996,14 @@
}
},
"node_modules/@wdio/reporter": {
- "version": "8.29.1",
- "resolved": "https://registry.npmjs.org/@wdio/reporter/-/reporter-8.29.1.tgz",
- "integrity": "sha512-LZeYHC+HHJRYiFH9odaotDazZh0zNhu4mTuL/T/e3c/Q3oPSQjLvfQYhB3Ece1QA9PKjP1VPmr+g9CvC0lMixA==",
+ "version": "8.38.2",
+ "resolved": "https://registry.npmjs.org/@wdio/reporter/-/reporter-8.38.2.tgz",
+ "integrity": "sha512-R78UdAtAnkaV22NYlCCcbPPhmYweiDURiw64LYhlVIQrKNuXUQcafR2kRlWKy31rZc9thSLs5LzrZDReENUlFQ==",
"dev": true,
"dependencies": {
"@types/node": "^20.1.0",
- "@wdio/logger": "8.28.0",
- "@wdio/types": "8.29.1",
+ "@wdio/logger": "8.38.0",
+ "@wdio/types": "8.38.2",
"diff": "^5.0.0",
"object-inspect": "^1.12.0"
},
@@ -6004,42 +6012,38 @@
}
},
"node_modules/@wdio/runner": {
- "version": "8.29.1",
- "resolved": "https://registry.npmjs.org/@wdio/runner/-/runner-8.29.1.tgz",
- "integrity": "sha512-MvYFf4RgRmzxjAzy6nxvaDG1ycBRvoz772fT06csjxuaVYm57s8mlB8X+U1UQMx/IzujAb53fSeAmNcyU3FNEA==",
+ "version": "8.38.2",
+ "resolved": "https://registry.npmjs.org/@wdio/runner/-/runner-8.38.2.tgz",
+ "integrity": "sha512-5lPnKSX2BBLI2AbYW+hoGPiEUAJXj8F8I6NC2LaBVzf1CLN+w2HWZ7lUiqS14XT0b5/hlSUX6+JYwUXlDbpuuw==",
"dev": true,
"dependencies": {
- "@types/node": "^20.1.0",
- "@wdio/config": "8.29.1",
- "@wdio/globals": "8.29.1",
- "@wdio/logger": "8.28.0",
- "@wdio/types": "8.29.1",
- "@wdio/utils": "8.29.1",
- "deepmerge-ts": "^5.0.0",
- "expect-webdriverio": "^4.9.3",
- "gaze": "^1.1.2",
- "webdriver": "8.29.1",
- "webdriverio": "8.29.1"
+ "@types/node": "^20.11.28",
+ "@wdio/config": "8.38.2",
+ "@wdio/globals": "8.38.2",
+ "@wdio/logger": "8.38.0",
+ "@wdio/types": "8.38.2",
+ "@wdio/utils": "8.38.2",
+ "deepmerge-ts": "^5.1.0",
+ "expect-webdriverio": "^4.12.0",
+ "gaze": "^1.1.3",
+ "webdriver": "8.38.2",
+ "webdriverio": "8.38.2"
},
"engines": {
"node": "^16.13 || >=18"
}
},
"node_modules/@wdio/runner/node_modules/@puppeteer/browsers": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-1.3.0.tgz",
- "integrity": "sha512-an3QdbNPkuU6qpxpbssxAbjRLJcF+eP4L8UqIY3+6n0sbaVxw5pz7PiCLy9g32XEZuoamUlV5ZQPnA6FxvkIHA==",
+ "version": "1.4.6",
+ "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-1.4.6.tgz",
+ "integrity": "sha512-x4BEjr2SjOPowNeiguzjozQbsc6h437ovD/wu+JpaenxVLm3jkgzHY2xOslMTp50HoTvQreMjiexiGQw1sqZlQ==",
"dev": true,
- "optional": true,
- "peer": 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",
+ "proxy-agent": "6.3.0",
+ "tar-fs": "3.0.4",
"unbzip2-stream": "1.4.3",
"yargs": "17.7.1"
},
@@ -6047,7 +6051,7 @@
"browsers": "lib/cjs/main-cli.js"
},
"engines": {
- "node": ">=16.0.0"
+ "node": ">=16.3.0"
},
"peerDependencies": {
"typescript": ">= 4.7.4"
@@ -6058,47 +6062,98 @@
}
}
},
- "node_modules/@wdio/runner/node_modules/@types/which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/@types/which/-/which-2.0.2.tgz",
- "integrity": "sha512-113D3mDkZDjo+EeUEHCFy0qniNc1ZpecGiAU7WSo7YDoSzolZIQKpYFHrPpjkB2nuyahcKfrmLXeQlh7gqJYdw==",
+ "node_modules/@wdio/runner/node_modules/@puppeteer/browsers/node_modules/debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
"dev": true,
- "optional": true,
- "peer": true
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@wdio/runner/node_modules/@puppeteer/browsers/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==",
+ "dev": true
+ },
+ "node_modules/@wdio/runner/node_modules/agent-base": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz",
+ "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==",
+ "dev": true,
+ "dependencies": {
+ "debug": "^4.3.4"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/@wdio/runner/node_modules/agent-base/node_modules/debug": {
+ "version": "4.3.5",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz",
+ "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==",
+ "dev": true,
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@wdio/runner/node_modules/agent-base/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==",
+ "dev": true
},
"node_modules/@wdio/runner/node_modules/archiver": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/archiver/-/archiver-6.0.1.tgz",
- "integrity": "sha512-CXGy4poOLBKptiZH//VlWdFuUC1RESbdZjGjILwBuZ73P7WkAUN0htfSfBq/7k6FRFlpu7bg4JOkj1vU9G6jcQ==",
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/archiver/-/archiver-7.0.1.tgz",
+ "integrity": "sha512-ZcbTaIqJOfCc03QwD468Unz/5Ir8ATtvAHsK+FdXbDIbGfihqh9mrvdcYunQzqn4HrvWWaFyaxJhGZagaJJpPQ==",
"dev": true,
"dependencies": {
- "archiver-utils": "^4.0.1",
+ "archiver-utils": "^5.0.2",
"async": "^3.2.4",
- "buffer-crc32": "^0.2.1",
- "readable-stream": "^3.6.0",
+ "buffer-crc32": "^1.0.0",
+ "readable-stream": "^4.0.0",
"readdir-glob": "^1.1.2",
"tar-stream": "^3.0.0",
- "zip-stream": "^5.0.1"
+ "zip-stream": "^6.0.1"
},
"engines": {
- "node": ">= 12.0.0"
+ "node": ">= 14"
}
},
"node_modules/@wdio/runner/node_modules/archiver-utils": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-4.0.1.tgz",
- "integrity": "sha512-Q4Q99idbvzmgCTEAAhi32BkOyq8iVI5EwdO0PmBDSGIzzjYNdcFn7Q7k3OzbLy4kLUPXfJtG6fO2RjftXbobBg==",
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-5.0.2.tgz",
+ "integrity": "sha512-wuLJMmIBQYCsGZgYLTy5FIB2pF6Lfb6cXMSF8Qywwk3t20zWnAi7zLcQFdKQmIB8wyZpY5ER38x08GbwtR2cLA==",
"dev": true,
"dependencies": {
- "glob": "^8.0.0",
+ "glob": "^10.0.0",
"graceful-fs": "^4.2.0",
+ "is-stream": "^2.0.1",
"lazystream": "^1.0.0",
"lodash": "^4.17.15",
"normalize-path": "^3.0.0",
- "readable-stream": "^3.6.0"
+ "readable-stream": "^4.0.0"
},
"engines": {
- "node": ">= 12.0.0"
+ "node": ">= 14"
}
},
"node_modules/@wdio/runner/node_modules/async": {
@@ -6116,10 +6171,43 @@
"balanced-match": "^1.0.0"
}
},
+ "node_modules/@wdio/runner/node_modules/buffer": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
+ "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
+ "dev": true,
+ "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": {
+ "base64-js": "^1.3.1",
+ "ieee754": "^1.2.1"
+ }
+ },
+ "node_modules/@wdio/runner/node_modules/buffer-crc32": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-1.0.0.tgz",
+ "integrity": "sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w==",
+ "dev": true,
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
"node_modules/@wdio/runner/node_modules/chrome-launcher": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/chrome-launcher/-/chrome-launcher-1.1.0.tgz",
- "integrity": "sha512-rJYWeEAERwWIr3c3mEVXwNiODPEdMRlRxHc47B1qHPOolHZnkj7rMv1QSUfPoG6MgatWj5AxSpnKKR4QEwEQIQ==",
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/chrome-launcher/-/chrome-launcher-1.1.2.tgz",
+ "integrity": "sha512-YclTJey34KUm5jB1aEJCq807bSievi7Nb/TU4Gu504fUYi3jw3KCIaH6L7nFWQhdEgH3V+wCh+kKD1P5cXnfxw==",
"dev": true,
"optional": true,
"peer": true,
@@ -6137,64 +6225,74 @@
}
},
"node_modules/@wdio/runner/node_modules/compress-commons": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-5.0.1.tgz",
- "integrity": "sha512-MPh//1cERdLtqwO3pOFLeXtpuai0Y2WCd5AhtKxznqM7WtaMYaOEMSgn45d9D10sIHSfIKE603HlOp8OPGrvag==",
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-6.0.2.tgz",
+ "integrity": "sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg==",
"dev": true,
"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.0.0"
},
"engines": {
- "node": ">= 12.0.0"
+ "node": ">= 14"
}
},
"node_modules/@wdio/runner/node_modules/crc32-stream": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-5.0.0.tgz",
- "integrity": "sha512-B0EPa1UK+qnpBZpG+7FgPCu0J2ETLpXq09o9BkLkEAhdB6Z61Qo4pJ3JYu0c+Qi+/SAL7QThqnzS06pmSSyZaw==",
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-6.0.0.tgz",
+ "integrity": "sha512-piICUB6ei4IlTv1+653yq5+KoqfBYmj9bw6LqXoOneTMDXk5nM1qt12mFW1caG3LlJXEKW1Bp0WggEmIfQB34g==",
"dev": true,
"dependencies": {
"crc-32": "^1.2.0",
- "readable-stream": "^3.4.0"
+ "readable-stream": "^4.0.0"
},
"engines": {
- "node": ">= 12.0.0"
+ "node": ">= 14"
}
},
"node_modules/@wdio/runner/node_modules/cross-fetch": {
- "version": "3.1.6",
- "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.6.tgz",
- "integrity": "sha512-riRvo06crlE8HiqOwIpQhxwdOk4fOeR7FVM/wXoxchFEqMNUjvbs3bfo4OTgMEMHzppd4DxFBDbyySj8Cv781g==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.0.0.tgz",
+ "integrity": "sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==",
+ "dev": true,
+ "dependencies": {
+ "node-fetch": "^2.6.12"
+ }
+ },
+ "node_modules/@wdio/runner/node_modules/debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"dev": true,
"optional": true,
"peer": true,
"dependencies": {
- "node-fetch": "^2.6.11"
+ "ms": "2.0.0"
}
},
"node_modules/@wdio/runner/node_modules/devtools": {
- "version": "8.29.1",
- "resolved": "https://registry.npmjs.org/devtools/-/devtools-8.29.1.tgz",
- "integrity": "sha512-fbH0Z7CPK4OZSgUw2QcAppczowxtSyvFztPUmiFyi99cUadjEOwlg0aL3pBVlIDo67olYjGb8GD1M5Z4yI/P6w==",
+ "version": "8.38.2",
+ "resolved": "https://registry.npmjs.org/devtools/-/devtools-8.38.2.tgz",
+ "integrity": "sha512-8b+naOPzYqzsiYtZZKYJnUnSqSOIg5orvna2SlWT2kFhkggbAJ1bbMzW7rps6onLfxp93wCNEIvngb9JuxwDsg==",
"dev": true,
"optional": true,
"peer": true,
"dependencies": {
"@types/node": "^20.1.0",
- "@wdio/config": "8.29.1",
- "@wdio/logger": "8.28.0",
- "@wdio/protocols": "8.24.12",
- "@wdio/types": "8.29.1",
- "@wdio/utils": "8.29.1",
+ "@wdio/config": "8.38.2",
+ "@wdio/logger": "8.38.0",
+ "@wdio/protocols": "8.38.0",
+ "@wdio/types": "8.38.2",
+ "@wdio/utils": "8.38.2",
"chrome-launcher": "^1.0.0",
"edge-paths": "^3.0.5",
"import-meta-resolve": "^4.0.0",
"puppeteer-core": "20.3.0",
"query-selector-shadow-dom": "^1.0.0",
- "ua-parser-js": "^1.0.1",
+ "ua-parser-js": "^1.0.37",
"uuid": "^9.0.0",
"which": "^4.0.0"
},
@@ -6203,94 +6301,111 @@
}
},
"node_modules/@wdio/runner/node_modules/devtools-protocol": {
- "version": "0.0.1120988",
- "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1120988.tgz",
- "integrity": "sha512-39fCpE3Z78IaIPChJsP6Lhmkbf4dWXOmzLk/KFTdRkNk/0JymRIfUynDVRndV9HoDz8PyalK1UH21ST/ivwW5Q==",
- "dev": true,
- "optional": true,
- "peer": true
+ "version": "0.0.1302984",
+ "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1302984.tgz",
+ "integrity": "sha512-Rgh2Sk5fUSCtEx4QGH9iwTyECdFPySG2nlz5J8guGh2Wlha6uzSOCq/DCEC8faHlLaMPZJMuZ4ovgcX4LvOkKA==",
+ "dev": true
},
- "node_modules/@wdio/runner/node_modules/devtools/node_modules/which": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz",
- "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==",
+ "node_modules/@wdio/runner/node_modules/devtools/node_modules/@puppeteer/browsers": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-1.3.0.tgz",
+ "integrity": "sha512-an3QdbNPkuU6qpxpbssxAbjRLJcF+eP4L8UqIY3+6n0sbaVxw5pz7PiCLy9g32XEZuoamUlV5ZQPnA6FxvkIHA==",
"dev": true,
"optional": true,
"peer": true,
"dependencies": {
- "isexe": "^3.1.1"
+ "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",
+ "unbzip2-stream": "1.4.3",
+ "yargs": "17.7.1"
},
"bin": {
- "node-which": "bin/which.js"
+ "browsers": "lib/cjs/main-cli.js"
},
"engines": {
- "node": "^16.13.0 || >=18.0.0"
+ "node": ">=16.0.0"
+ },
+ "peerDependencies": {
+ "typescript": ">= 4.7.4"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
}
},
- "node_modules/@wdio/runner/node_modules/edge-paths": {
- "version": "3.0.5",
- "resolved": "https://registry.npmjs.org/edge-paths/-/edge-paths-3.0.5.tgz",
- "integrity": "sha512-sB7vSrDnFa4ezWQk9nZ/n0FdpdUuC6R1EOrlU3DL+bovcNFK28rqu2emmAUjujYEJTWIgQGqgVVWUZXMnc8iWg==",
+ "node_modules/@wdio/runner/node_modules/devtools/node_modules/agent-base": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
+ "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
"dev": true,
"optional": true,
"peer": true,
"dependencies": {
- "@types/which": "^2.0.1",
- "which": "^2.0.2"
+ "debug": "4"
},
"engines": {
- "node": ">=14.0.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/shirshak55"
+ "node": ">= 6.0.0"
}
},
- "node_modules/@wdio/runner/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==",
+ "node_modules/@wdio/runner/node_modules/devtools/node_modules/chromium-bidi": {
+ "version": "0.4.9",
+ "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-0.4.9.tgz",
+ "integrity": "sha512-u3DC6XwgLCA9QJ5ak1voPslCmacQdulZNCPsI3qNXxSnEcZS7DFIbww+5RM2bznMEje7cc0oydavRLRvOIZtHw==",
"dev": true,
"optional": true,
"peer": true,
- "engines": {
- "node": ">=10"
+ "dependencies": {
+ "mitt": "3.0.0"
},
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "peerDependencies": {
+ "devtools-protocol": "*"
}
},
- "node_modules/@wdio/runner/node_modules/glob": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz",
- "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==",
+ "node_modules/@wdio/runner/node_modules/devtools/node_modules/cross-fetch": {
+ "version": "3.1.6",
+ "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.6.tgz",
+ "integrity": "sha512-riRvo06crlE8HiqOwIpQhxwdOk4fOeR7FVM/wXoxchFEqMNUjvbs3bfo4OTgMEMHzppd4DxFBDbyySj8Cv781g==",
"dev": true,
+ "optional": true,
+ "peer": true,
"dependencies": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^5.0.1",
- "once": "^1.3.0"
- },
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
+ "node-fetch": "^2.6.11"
}
},
- "node_modules/@wdio/runner/node_modules/glob/node_modules/minimatch": {
- "version": "5.1.6",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
- "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
+ "node_modules/@wdio/runner/node_modules/devtools/node_modules/debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
"dev": true,
+ "optional": true,
+ "peer": true,
"dependencies": {
- "brace-expansion": "^2.0.1"
+ "ms": "2.1.2"
},
"engines": {
- "node": ">=10"
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
}
},
- "node_modules/@wdio/runner/node_modules/http-proxy-agent": {
+ "node_modules/@wdio/runner/node_modules/devtools/node_modules/devtools-protocol": {
+ "version": "0.0.1120988",
+ "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1120988.tgz",
+ "integrity": "sha512-39fCpE3Z78IaIPChJsP6Lhmkbf4dWXOmzLk/KFTdRkNk/0JymRIfUynDVRndV9HoDz8PyalK1UH21ST/ivwW5Q==",
+ "dev": true,
+ "optional": true,
+ "peer": true
+ },
+ "node_modules/@wdio/runner/node_modules/devtools/node_modules/http-proxy-agent": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz",
"integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==",
@@ -6306,38 +6421,176 @@
"node": ">= 6"
}
},
- "node_modules/@wdio/runner/node_modules/isexe": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz",
- "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==",
+ "node_modules/@wdio/runner/node_modules/devtools/node_modules/https-proxy-agent": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
+ "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
"dev": true,
"optional": true,
"peer": true,
+ "dependencies": {
+ "agent-base": "6",
+ "debug": "4"
+ },
"engines": {
- "node": ">=16"
+ "node": ">= 6"
}
},
- "node_modules/@wdio/runner/node_modules/lighthouse-logger": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/lighthouse-logger/-/lighthouse-logger-2.0.1.tgz",
- "integrity": "sha512-ioBrW3s2i97noEmnXxmUq7cjIcVRjT5HBpAYy8zE11CxU9HqlWHHeRxfeN1tn8F7OEMVPIC9x1f8t3Z7US9ehQ==",
+ "node_modules/@wdio/runner/node_modules/devtools/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==",
+ "dev": true,
+ "optional": true,
+ "peer": true
+ },
+ "node_modules/@wdio/runner/node_modules/devtools/node_modules/puppeteer-core": {
+ "version": "20.3.0",
+ "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-20.3.0.tgz",
+ "integrity": "sha512-264pBrIui5bO6NJeOcbJrLa0OCwmA4+WK00JMrLIKTfRiqe2gx8KWTzLsjyw/bizErp3TKS7vt/I0i5fTC+mAw==",
"dev": true,
"optional": true,
"peer": true,
"dependencies": {
- "debug": "^2.6.9",
- "marky": "^1.2.2"
+ "@puppeteer/browsers": "1.3.0",
+ "chromium-bidi": "0.4.9",
+ "cross-fetch": "3.1.6",
+ "debug": "4.3.4",
+ "devtools-protocol": "0.0.1120988",
+ "ws": "8.13.0"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ },
+ "peerDependencies": {
+ "typescript": ">= 4.7.4"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
}
},
- "node_modules/@wdio/runner/node_modules/lighthouse-logger/node_modules/debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "node_modules/@wdio/runner/node_modules/devtools/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==",
"dev": true,
"optional": true,
"peer": true,
"dependencies": {
- "ms": "2.0.0"
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/@wdio/runner/node_modules/devtools/node_modules/tar-fs": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz",
+ "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==",
+ "dev": true,
+ "optional": true,
+ "peer": true,
+ "dependencies": {
+ "chownr": "^1.1.1",
+ "mkdirp-classic": "^0.5.2",
+ "pump": "^3.0.0",
+ "tar-stream": "^2.1.4"
+ }
+ },
+ "node_modules/@wdio/runner/node_modules/devtools/node_modules/tar-stream": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz",
+ "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==",
+ "dev": true,
+ "optional": true,
+ "peer": true,
+ "dependencies": {
+ "bl": "^4.0.3",
+ "end-of-stream": "^1.4.1",
+ "fs-constants": "^1.0.0",
+ "inherits": "^2.0.3",
+ "readable-stream": "^3.1.1"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/@wdio/runner/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==",
+ "dev": true,
+ "optional": true,
+ "peer": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@wdio/runner/node_modules/https-proxy-agent": {
+ "version": "7.0.4",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz",
+ "integrity": "sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==",
+ "dev": true,
+ "dependencies": {
+ "agent-base": "^7.0.2",
+ "debug": "4"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/@wdio/runner/node_modules/https-proxy-agent/node_modules/debug": {
+ "version": "4.3.5",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz",
+ "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==",
+ "dev": true,
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@wdio/runner/node_modules/https-proxy-agent/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==",
+ "dev": true
+ },
+ "node_modules/@wdio/runner/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==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@wdio/runner/node_modules/lighthouse-logger": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/lighthouse-logger/-/lighthouse-logger-2.0.1.tgz",
+ "integrity": "sha512-ioBrW3s2i97noEmnXxmUq7cjIcVRjT5HBpAYy8zE11CxU9HqlWHHeRxfeN1tn8F7OEMVPIC9x1f8t3Z7US9ehQ==",
+ "dev": true,
+ "optional": true,
+ "peer": true,
+ "dependencies": {
+ "debug": "^2.6.9",
+ "marky": "^1.2.2"
}
},
"node_modules/@wdio/runner/node_modules/lru-cache": {
@@ -6350,9 +6603,9 @@
}
},
"node_modules/@wdio/runner/node_modules/minimatch": {
- "version": "9.0.3",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz",
- "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==",
+ "version": "9.0.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz",
+ "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==",
"dev": true,
"dependencies": {
"brace-expansion": "^2.0.1"
@@ -6411,61 +6664,44 @@
"node": ">= 14"
}
},
- "node_modules/@wdio/runner/node_modules/proxy-agent/node_modules/agent-base": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz",
- "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==",
+ "node_modules/@wdio/runner/node_modules/proxy-agent/node_modules/debug": {
+ "version": "4.3.5",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz",
+ "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==",
"dev": true,
"dependencies": {
- "debug": "^4.3.4"
+ "ms": "2.1.2"
},
"engines": {
- "node": ">= 14"
- }
- },
- "node_modules/@wdio/runner/node_modules/proxy-agent/node_modules/http-proxy-agent": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.0.tgz",
- "integrity": "sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==",
- "dev": true,
- "dependencies": {
- "agent-base": "^7.1.0",
- "debug": "^4.3.4"
+ "node": ">=6.0"
},
- "engines": {
- "node": ">= 14"
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
}
},
- "node_modules/@wdio/runner/node_modules/proxy-agent/node_modules/https-proxy-agent": {
- "version": "7.0.2",
- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz",
- "integrity": "sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==",
- "dev": true,
- "dependencies": {
- "agent-base": "^7.0.2",
- "debug": "4"
- },
- "engines": {
- "node": ">= 14"
- }
+ "node_modules/@wdio/runner/node_modules/proxy-agent/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==",
+ "dev": true
},
"node_modules/@wdio/runner/node_modules/puppeteer-core": {
- "version": "20.3.0",
- "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-20.3.0.tgz",
- "integrity": "sha512-264pBrIui5bO6NJeOcbJrLa0OCwmA4+WK00JMrLIKTfRiqe2gx8KWTzLsjyw/bizErp3TKS7vt/I0i5fTC+mAw==",
+ "version": "20.9.0",
+ "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-20.9.0.tgz",
+ "integrity": "sha512-H9fYZQzMTRrkboEfPmf7m3CLDN6JvbxXA3qTtS+dFt27tR+CsFHzPsT6pzp6lYL6bJbAPaR0HaPO6uSi+F94Pg==",
"dev": true,
- "optional": true,
- "peer": true,
"dependencies": {
- "@puppeteer/browsers": "1.3.0",
- "chromium-bidi": "0.4.9",
- "cross-fetch": "3.1.6",
+ "@puppeteer/browsers": "1.4.6",
+ "chromium-bidi": "0.4.16",
+ "cross-fetch": "4.0.0",
"debug": "4.3.4",
- "devtools-protocol": "0.0.1120988",
+ "devtools-protocol": "0.0.1147663",
"ws": "8.13.0"
},
"engines": {
- "node": ">=16.0.0"
+ "node": ">=16.3.0"
},
"peerDependencies": {
"typescript": ">= 4.7.4"
@@ -6476,18 +6712,49 @@
}
}
},
+ "node_modules/@wdio/runner/node_modules/puppeteer-core/node_modules/debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "dev": true,
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@wdio/runner/node_modules/puppeteer-core/node_modules/devtools-protocol": {
+ "version": "0.0.1147663",
+ "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1147663.tgz",
+ "integrity": "sha512-hyWmRrexdhbZ1tcJUGpO95ivbRhWXz++F4Ko+n21AY5PNln2ovoJw+8ZMNDTtip+CNFQfrtLVh/w4009dXO/eQ==",
+ "dev": true
+ },
+ "node_modules/@wdio/runner/node_modules/puppeteer-core/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==",
+ "dev": true
+ },
"node_modules/@wdio/runner/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==",
+ "version": "4.5.2",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz",
+ "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==",
"dev": true,
"dependencies": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
+ "abort-controller": "^3.0.0",
+ "buffer": "^6.0.3",
+ "events": "^3.3.0",
+ "process": "^0.11.10",
+ "string_decoder": "^1.3.0"
},
"engines": {
- "node": ">= 6"
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
}
},
"node_modules/@wdio/runner/node_modules/serialize-error": {
@@ -6505,15 +6772,13 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/@wdio/runner/node_modules/tar-stream": {
- "version": "3.1.7",
- "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz",
- "integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==",
+ "node_modules/@wdio/runner/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==",
"dev": true,
"dependencies": {
- "b4a": "^1.6.4",
- "fast-fifo": "^1.2.0",
- "streamx": "^2.15.0"
+ "safe-buffer": "~5.2.0"
}
},
"node_modules/@wdio/runner/node_modules/type-fest": {
@@ -6529,9 +6794,9 @@
}
},
"node_modules/@wdio/runner/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==",
+ "version": "1.0.38",
+ "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.38.tgz",
+ "integrity": "sha512-Aq5ppTOfvrCMgAPneW1HfWj66Xi7XL+/mIy996R1/CLS/rcyJQm6QZdsKrUeivDFQ+Oc9Wyuwor8Ze8peEoUoQ==",
"dev": true,
"funding": [
{
@@ -6553,42 +6818,28 @@
"node": "*"
}
},
- "node_modules/@wdio/runner/node_modules/uuid": {
- "version": "9.0.1",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz",
- "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==",
- "dev": true,
- "funding": [
- "https://github.com/sponsors/broofa",
- "https://github.com/sponsors/ctavan"
- ],
- "optional": true,
- "peer": true,
- "bin": {
- "uuid": "dist/bin/uuid"
- }
- },
"node_modules/@wdio/runner/node_modules/webdriverio": {
- "version": "8.29.1",
- "resolved": "https://registry.npmjs.org/webdriverio/-/webdriverio-8.29.1.tgz",
- "integrity": "sha512-NZK95ivXCqdPraB3FHMw6ByxnCvtgFXkjzG2l3Oq5z0IuJS2aMow3AKFIyiuG6is/deGCe+Tb8eFTCqak7UV+w==",
+ "version": "8.38.2",
+ "resolved": "https://registry.npmjs.org/webdriverio/-/webdriverio-8.38.2.tgz",
+ "integrity": "sha512-r09y5UfivyYh5JOzT2SpJJ1zDmQl/R4OTH12opUqkjvp21BibCQm/uu1mrxGy4lzSHljrvqSVrrcGI+6UA1O8w==",
"dev": true,
"dependencies": {
"@types/node": "^20.1.0",
- "@wdio/config": "8.29.1",
- "@wdio/logger": "8.28.0",
- "@wdio/protocols": "8.24.12",
+ "@wdio/config": "8.38.2",
+ "@wdio/logger": "8.38.0",
+ "@wdio/protocols": "8.38.0",
"@wdio/repl": "8.24.12",
- "@wdio/types": "8.29.1",
- "@wdio/utils": "8.29.1",
- "archiver": "^6.0.0",
+ "@wdio/types": "8.38.2",
+ "@wdio/utils": "8.38.2",
+ "archiver": "^7.0.0",
"aria-query": "^5.0.0",
"css-shorthand-properties": "^1.1.1",
"css-value": "^0.0.1",
- "devtools-protocol": "^0.0.1249869",
+ "devtools-protocol": "^0.0.1302984",
"grapheme-splitter": "^1.0.2",
"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.0",
@@ -6597,7 +6848,7 @@
"resq": "^1.9.1",
"rgb2hex": "0.2.5",
"serialize-error": "^11.0.1",
- "webdriver": "8.29.1"
+ "webdriver": "8.38.2"
},
"engines": {
"node": "^16.13 || >=18"
@@ -6611,104 +6862,6 @@
}
}
},
- "node_modules/@wdio/runner/node_modules/webdriverio/node_modules/@puppeteer/browsers": {
- "version": "1.4.6",
- "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-1.4.6.tgz",
- "integrity": "sha512-x4BEjr2SjOPowNeiguzjozQbsc6h437ovD/wu+JpaenxVLm3jkgzHY2xOslMTp50HoTvQreMjiexiGQw1sqZlQ==",
- "dev": true,
- "dependencies": {
- "debug": "4.3.4",
- "extract-zip": "2.0.1",
- "progress": "2.0.3",
- "proxy-agent": "6.3.0",
- "tar-fs": "3.0.4",
- "unbzip2-stream": "1.4.3",
- "yargs": "17.7.1"
- },
- "bin": {
- "browsers": "lib/cjs/main-cli.js"
- },
- "engines": {
- "node": ">=16.3.0"
- },
- "peerDependencies": {
- "typescript": ">= 4.7.4"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/@wdio/runner/node_modules/webdriverio/node_modules/chromium-bidi": {
- "version": "0.4.16",
- "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-0.4.16.tgz",
- "integrity": "sha512-7ZbXdWERxRxSwo3txsBjjmc/NLxqb1Bk30mRb0BMS4YIaiV6zvKZqL/UAH+DdqcDYayDWk2n/y8klkBDODrPvA==",
- "dev": true,
- "dependencies": {
- "mitt": "3.0.0"
- },
- "peerDependencies": {
- "devtools-protocol": "*"
- }
- },
- "node_modules/@wdio/runner/node_modules/webdriverio/node_modules/cross-fetch": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.0.0.tgz",
- "integrity": "sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==",
- "dev": true,
- "dependencies": {
- "node-fetch": "^2.6.12"
- }
- },
- "node_modules/@wdio/runner/node_modules/webdriverio/node_modules/devtools-protocol": {
- "version": "0.0.1249869",
- "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1249869.tgz",
- "integrity": "sha512-Ctp4hInA0BEavlUoRy9mhGq0i+JSo/AwVyX2EFgZmV1kYB+Zq+EMBAn52QWu6FbRr10hRb6pBl420upbp4++vg==",
- "dev": true
- },
- "node_modules/@wdio/runner/node_modules/webdriverio/node_modules/puppeteer-core": {
- "version": "20.9.0",
- "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-20.9.0.tgz",
- "integrity": "sha512-H9fYZQzMTRrkboEfPmf7m3CLDN6JvbxXA3qTtS+dFt27tR+CsFHzPsT6pzp6lYL6bJbAPaR0HaPO6uSi+F94Pg==",
- "dev": true,
- "dependencies": {
- "@puppeteer/browsers": "1.4.6",
- "chromium-bidi": "0.4.16",
- "cross-fetch": "4.0.0",
- "debug": "4.3.4",
- "devtools-protocol": "0.0.1147663",
- "ws": "8.13.0"
- },
- "engines": {
- "node": ">=16.3.0"
- },
- "peerDependencies": {
- "typescript": ">= 4.7.4"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/@wdio/runner/node_modules/webdriverio/node_modules/puppeteer-core/node_modules/devtools-protocol": {
- "version": "0.0.1147663",
- "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1147663.tgz",
- "integrity": "sha512-hyWmRrexdhbZ1tcJUGpO95ivbRhWXz++F4Ko+n21AY5PNln2ovoJw+8ZMNDTtip+CNFQfrtLVh/w4009dXO/eQ==",
- "dev": true
- },
- "node_modules/@wdio/runner/node_modules/webdriverio/node_modules/tar-fs": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.4.tgz",
- "integrity": "sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w==",
- "dev": true,
- "dependencies": {
- "mkdirp-classic": "^0.5.2",
- "pump": "^3.0.0",
- "tar-stream": "^3.1.5"
- }
- },
"node_modules/@wdio/runner/node_modules/ws": {
"version": "8.13.0",
"resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz",
@@ -6749,27 +6902,27 @@
}
},
"node_modules/@wdio/runner/node_modules/zip-stream": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-5.0.1.tgz",
- "integrity": "sha512-UfZ0oa0C8LI58wJ+moL46BDIMgCQbnsb+2PoiJYtonhBsMh2bq1eRBVkvjfVsqbEHd9/EgKPUuL9saSSsec8OA==",
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-6.0.1.tgz",
+ "integrity": "sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==",
"dev": true,
"dependencies": {
- "archiver-utils": "^4.0.1",
- "compress-commons": "^5.0.1",
- "readable-stream": "^3.6.0"
+ "archiver-utils": "^5.0.0",
+ "compress-commons": "^6.0.2",
+ "readable-stream": "^4.0.0"
},
"engines": {
- "node": ">= 12.0.0"
+ "node": ">= 14"
}
},
"node_modules/@wdio/spec-reporter": {
- "version": "8.29.1",
- "resolved": "https://registry.npmjs.org/@wdio/spec-reporter/-/spec-reporter-8.29.1.tgz",
- "integrity": "sha512-tuDHihrTjCxFCbSjT0jMvAarLA1MtatnCnhv0vguu3ZWXELR1uESX2KzBmpJ+chGZz3oCcKszT8HOr6Pg2a1QA==",
+ "version": "8.38.2",
+ "resolved": "https://registry.npmjs.org/@wdio/spec-reporter/-/spec-reporter-8.38.2.tgz",
+ "integrity": "sha512-Dntk+lmrp+0I3HRRWkkXED+smshvgsW5cdLKwJhEJ1liI48MdBpdNGf9IHTVckE6nfxcWDyFI4icD9qYv/5bFA==",
"dev": true,
"dependencies": {
- "@wdio/reporter": "8.29.1",
- "@wdio/types": "8.29.1",
+ "@wdio/reporter": "8.38.2",
+ "@wdio/types": "8.38.2",
"chalk": "^5.1.2",
"easy-table": "^1.2.0",
"pretty-ms": "^7.0.0"
@@ -6791,9 +6944,9 @@
}
},
"node_modules/@wdio/types": {
- "version": "8.29.1",
- "resolved": "https://registry.npmjs.org/@wdio/types/-/types-8.29.1.tgz",
- "integrity": "sha512-rZYzu+sK8zY1PjCEWxNu4ELJPYKDZRn7HFcYNgR122ylHygfldwkb5TioI6Pn311hQH/S+663KEeoq//Jb0f8A==",
+ "version": "8.38.2",
+ "resolved": "https://registry.npmjs.org/@wdio/types/-/types-8.38.2.tgz",
+ "integrity": "sha512-+wj1c1OSLdnN4WO5b44Ih4263dTl/eSwMGSI4/pCgIyXIuYQH38JQ+6WRa+c8vJEskUzboq2cSgEQumVZ39ozQ==",
"dev": true,
"dependencies": {
"@types/node": "^20.1.0"
@@ -6803,18 +6956,18 @@
}
},
"node_modules/@wdio/utils": {
- "version": "8.29.1",
- "resolved": "https://registry.npmjs.org/@wdio/utils/-/utils-8.29.1.tgz",
- "integrity": "sha512-Dm91DKL/ZKeZ2QogWT8Twv0p+slEgKyB/5x9/kcCG0Q2nNa+tZedTjOhryzrsPiWc+jTSBmjGE4katRXpJRFJg==",
+ "version": "8.38.2",
+ "resolved": "https://registry.npmjs.org/@wdio/utils/-/utils-8.38.2.tgz",
+ "integrity": "sha512-y5AnBwsGcu/XuCBGCgKmlvKdwEIFyzLA+Cr+denySxY3jbWDONtPUcGaVdFALwsIa5jcIjcATqGmZcCPGnkd7g==",
"dev": true,
"dependencies": {
"@puppeteer/browsers": "^1.6.0",
- "@wdio/logger": "8.28.0",
- "@wdio/types": "8.29.1",
+ "@wdio/logger": "8.38.0",
+ "@wdio/types": "8.38.2",
"decamelize": "^6.0.0",
"deepmerge-ts": "^5.1.0",
- "edgedriver": "^5.3.5",
- "geckodriver": "^4.2.0",
+ "edgedriver": "^5.5.0",
+ "geckodriver": "^4.3.1",
"get-port": "^7.0.0",
"import-meta-resolve": "^4.0.0",
"locate-app": "^2.1.0",
@@ -6826,168 +6979,156 @@
"node": "^16.13 || >=18"
}
},
- "node_modules/@wdio/utils/node_modules/decamelize": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-6.0.0.tgz",
- "integrity": "sha512-Fv96DCsdOgB6mdGl67MT5JaTNKRzrzill5OH5s8bjYJXVlcXyPYGyPsUkWyGV5p1TXI5esYIYMMeDJL0hEIwaA==",
- "dev": true,
- "engines": {
- "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/@webassemblyjs/ast": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz",
- "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==",
+ "version": "1.12.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz",
+ "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==",
"dev": true,
"dependencies": {
- "@webassemblyjs/helper-numbers": "1.11.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.1"
+ "@webassemblyjs/helper-numbers": "1.11.6",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.6"
}
},
"node_modules/@webassemblyjs/floating-point-hex-parser": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz",
- "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==",
+ "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==",
"dev": true
},
"node_modules/@webassemblyjs/helper-api-error": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz",
- "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==",
+ "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==",
"dev": true
},
"node_modules/@webassemblyjs/helper-buffer": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz",
- "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==",
+ "version": "1.12.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz",
+ "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==",
"dev": true
},
"node_modules/@webassemblyjs/helper-numbers": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz",
- "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==",
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz",
+ "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==",
"dev": true,
"dependencies": {
- "@webassemblyjs/floating-point-hex-parser": "1.11.1",
- "@webassemblyjs/helper-api-error": "1.11.1",
+ "@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.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz",
- "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==",
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz",
+ "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==",
"dev": true
},
"node_modules/@webassemblyjs/helper-wasm-section": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz",
- "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==",
+ "version": "1.12.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz",
+ "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==",
"dev": true,
"dependencies": {
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/helper-buffer": "1.11.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
- "@webassemblyjs/wasm-gen": "1.11.1"
+ "@webassemblyjs/ast": "1.12.1",
+ "@webassemblyjs/helper-buffer": "1.12.1",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
+ "@webassemblyjs/wasm-gen": "1.12.1"
}
},
"node_modules/@webassemblyjs/ieee754": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz",
- "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==",
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz",
+ "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==",
"dev": true,
"dependencies": {
"@xtuc/ieee754": "^1.2.0"
}
},
"node_modules/@webassemblyjs/leb128": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz",
- "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==",
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz",
+ "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==",
"dev": true,
"dependencies": {
"@xtuc/long": "4.2.2"
}
},
"node_modules/@webassemblyjs/utf8": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz",
- "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==",
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz",
+ "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==",
"dev": true
},
"node_modules/@webassemblyjs/wasm-edit": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz",
- "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==",
+ "version": "1.12.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz",
+ "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==",
"dev": true,
"dependencies": {
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/helper-buffer": "1.11.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
- "@webassemblyjs/helper-wasm-section": "1.11.1",
- "@webassemblyjs/wasm-gen": "1.11.1",
- "@webassemblyjs/wasm-opt": "1.11.1",
- "@webassemblyjs/wasm-parser": "1.11.1",
- "@webassemblyjs/wast-printer": "1.11.1"
+ "@webassemblyjs/ast": "1.12.1",
+ "@webassemblyjs/helper-buffer": "1.12.1",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
+ "@webassemblyjs/helper-wasm-section": "1.12.1",
+ "@webassemblyjs/wasm-gen": "1.12.1",
+ "@webassemblyjs/wasm-opt": "1.12.1",
+ "@webassemblyjs/wasm-parser": "1.12.1",
+ "@webassemblyjs/wast-printer": "1.12.1"
}
},
"node_modules/@webassemblyjs/wasm-gen": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz",
- "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==",
+ "version": "1.12.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz",
+ "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==",
"dev": true,
"dependencies": {
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
- "@webassemblyjs/ieee754": "1.11.1",
- "@webassemblyjs/leb128": "1.11.1",
- "@webassemblyjs/utf8": "1.11.1"
+ "@webassemblyjs/ast": "1.12.1",
+ "@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.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz",
- "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==",
+ "version": "1.12.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz",
+ "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==",
"dev": true,
"dependencies": {
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/helper-buffer": "1.11.1",
- "@webassemblyjs/wasm-gen": "1.11.1",
- "@webassemblyjs/wasm-parser": "1.11.1"
+ "@webassemblyjs/ast": "1.12.1",
+ "@webassemblyjs/helper-buffer": "1.12.1",
+ "@webassemblyjs/wasm-gen": "1.12.1",
+ "@webassemblyjs/wasm-parser": "1.12.1"
}
},
"node_modules/@webassemblyjs/wasm-parser": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz",
- "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==",
+ "version": "1.12.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz",
+ "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==",
"dev": true,
"dependencies": {
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/helper-api-error": "1.11.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
- "@webassemblyjs/ieee754": "1.11.1",
- "@webassemblyjs/leb128": "1.11.1",
- "@webassemblyjs/utf8": "1.11.1"
+ "@webassemblyjs/ast": "1.12.1",
+ "@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.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz",
- "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==",
+ "version": "1.12.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz",
+ "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==",
"dev": true,
"dependencies": {
- "@webassemblyjs/ast": "1.11.1",
+ "@webassemblyjs/ast": "1.12.1",
"@xtuc/long": "4.2.2"
}
},
"node_modules/@xmldom/xmldom": {
- "version": "0.7.8",
- "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.7.8.tgz",
- "integrity": "sha512-PrJx38EfpitFhwmILRl37jAdBlsww6AZ6rRVK4QS7T7RHLhX7mSs647sTmgr9GIxe3qjXdesmomEgbgaokrVFg==",
+ "version": "0.8.10",
+ "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.10.tgz",
+ "integrity": "sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==",
"dev": true,
"engines": {
"node": ">=10.0.0"
@@ -7005,12 +7146,35 @@
"integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==",
"dev": true
},
+ "node_modules/@zip.js/zip.js": {
+ "version": "2.7.45",
+ "resolved": "https://registry.npmjs.org/@zip.js/zip.js/-/zip.js-2.7.45.tgz",
+ "integrity": "sha512-Mm2EXF33DJQ/3GWWEWeP1UCqzpQ5+fiMvT3QWspsXY05DyqqxWu7a9awSzU4/spHMHVFrTjani1PR0vprgZpow==",
+ "dev": true,
+ "engines": {
+ "bun": ">=0.7.0",
+ "deno": ">=1.0.0",
+ "node": ">=16.5.0"
+ }
+ },
"node_modules/abbrev": {
"version": "1.0.9",
"resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz",
"integrity": "sha512-LEyx4aLEC3x6T0UguF6YILf+ntvmOaWsVfENmIW0E9H09vKlLDGelMjjSm0jkDHALj8A8quZ/HapKNigzwge+Q==",
"dev": true
},
+ "node_modules/abort-controller": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz",
+ "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==",
+ "dev": true,
+ "dependencies": {
+ "event-target-shim": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=6.5"
+ }
+ },
"node_modules/accepts": {
"version": "1.3.8",
"resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
@@ -7045,9 +7209,9 @@
}
},
"node_modules/acorn-walk": {
- "version": "8.2.0",
- "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz",
- "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==",
+ "version": "8.3.2",
+ "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz",
+ "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==",
"dev": true,
"engines": {
"node": ">=0.4.0"
@@ -7201,9 +7365,9 @@
}
},
"node_modules/anymatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
- "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
+ "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
"dev": true,
"dependencies": {
"normalize-path": "^3.0.0",
@@ -7226,16 +7390,16 @@
}
},
"node_modules/archiver": {
- "version": "5.3.1",
- "resolved": "https://registry.npmjs.org/archiver/-/archiver-5.3.1.tgz",
- "integrity": "sha512-8KyabkmbYrH+9ibcTScQ1xCJC/CGcugdVIwB+53f5sZziXgwUh3iXlAlANMxcZyDEfTHMe6+Z5FofV8nopXP7w==",
+ "version": "5.3.2",
+ "resolved": "https://registry.npmjs.org/archiver/-/archiver-5.3.2.tgz",
+ "integrity": "sha512-+25nxyyznAXF7Nef3y0EbBeqmGZgeN/BxHX29Rs39djAfaFalmQ89SE6CWyDCHzGL0yt/ycBtNOmGTW0FyGWNw==",
"dev": true,
"dependencies": {
"archiver-utils": "^2.1.0",
- "async": "^3.2.3",
+ "async": "^3.2.4",
"buffer-crc32": "^0.2.1",
"readable-stream": "^3.6.0",
- "readdir-glob": "^1.0.0",
+ "readdir-glob": "^1.1.2",
"tar-stream": "^2.2.0",
"zip-stream": "^4.1.0"
},
@@ -7264,16 +7428,37 @@
"node": ">= 6"
}
},
+ "node_modules/archiver-utils/node_modules/glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "deprecated": "Glob versions prior to v9 are no longer supported",
+ "dev": true,
+ "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/archiver/node_modules/async": {
- "version": "3.2.4",
- "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz",
- "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==",
+ "version": "3.2.5",
+ "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz",
+ "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==",
"dev": true
},
"node_modules/archiver/node_modules/readable-stream": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
- "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+ "version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
+ "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
"dev": true,
"dependencies": {
"inherits": "^2.0.3",
@@ -7284,6 +7469,22 @@
"node": ">= 6"
}
},
+ "node_modules/archiver/node_modules/tar-stream": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz",
+ "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==",
+ "dev": true,
+ "dependencies": {
+ "bl": "^4.0.3",
+ "end-of-stream": "^1.4.1",
+ "fs-constants": "^1.0.0",
+ "inherits": "^2.0.3",
+ "readable-stream": "^3.1.1"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/archy": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz",
@@ -7299,12 +7500,12 @@
}
},
"node_modules/aria-query": {
- "version": "5.1.3",
- "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz",
- "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==",
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz",
+ "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==",
"dev": true,
"dependencies": {
- "deep-equal": "^2.0.5"
+ "dequal": "^2.0.3"
}
},
"node_modules/arr-diff": {
@@ -7371,6 +7572,22 @@
"node": ">=0.10.0"
}
},
+ "node_modules/array-buffer-byte-length": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz",
+ "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.5",
+ "is-array-buffer": "^3.0.4"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/array-differ": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz",
@@ -7401,15 +7618,16 @@
"dev": true
},
"node_modules/array-includes": {
- "version": "3.1.5",
- "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.5.tgz",
- "integrity": "sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ==",
+ "version": "3.1.8",
+ "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz",
+ "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==",
"dev": true,
"dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.19.5",
- "get-intrinsic": "^1.1.1",
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.2",
+ "es-object-atoms": "^1.0.0",
+ "get-intrinsic": "^1.2.4",
"is-string": "^1.0.7"
},
"engines": {
@@ -7503,15 +7721,35 @@
"node": ">=0.10.0"
}
},
+ "node_modules/array.prototype.findlastindex": {
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz",
+ "integrity": "sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.2",
+ "es-errors": "^1.3.0",
+ "es-object-atoms": "^1.0.0",
+ "es-shim-unscopables": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/array.prototype.flat": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.0.tgz",
- "integrity": "sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw==",
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz",
+ "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==",
"dev": true,
"dependencies": {
"call-bind": "^1.0.2",
- "define-properties": "^1.1.3",
- "es-abstract": "^1.19.2",
+ "define-properties": "^1.2.0",
+ "es-abstract": "^1.22.1",
"es-shim-unscopables": "^1.0.0"
},
"engines": {
@@ -7521,6 +7759,46 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/array.prototype.flatmap": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz",
+ "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.2.0",
+ "es-abstract": "^1.22.1",
+ "es-shim-unscopables": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/arraybuffer.prototype.slice": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz",
+ "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==",
+ "dev": true,
+ "dependencies": {
+ "array-buffer-byte-length": "^1.0.1",
+ "call-bind": "^1.0.5",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.22.3",
+ "es-errors": "^1.2.1",
+ "get-intrinsic": "^1.2.3",
+ "is-array-buffer": "^3.0.4",
+ "is-shared-array-buffer": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/asn1": {
"version": "0.2.6",
"resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz",
@@ -7531,15 +7809,16 @@
}
},
"node_modules/assert": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/assert/-/assert-2.0.0.tgz",
- "integrity": "sha512-se5Cd+js9dXJnu6Ag2JFc00t+HmHOen+8Q+L7O9zI0PqQXr20uk2J0XQqMxZEeo5U50o8Nvmmx7dZrl+Ufr35A==",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/assert/-/assert-2.1.0.tgz",
+ "integrity": "sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw==",
"dev": true,
"dependencies": {
- "es6-object-assign": "^1.1.0",
- "is-nan": "^1.2.1",
- "object-is": "^1.0.1",
- "util": "^0.12.0"
+ "call-bind": "^1.0.2",
+ "is-nan": "^1.3.2",
+ "object-is": "^1.1.5",
+ "object.assign": "^4.1.4",
+ "util": "^0.12.5"
}
},
"node_modules/assert-plus": {
@@ -7581,9 +7860,9 @@
}
},
"node_modules/ast-types/node_modules/tslib": {
- "version": "2.6.2",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
- "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==",
+ "version": "2.6.3",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz",
+ "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==",
"dev": true
},
"node_modules/astral-regex": {
@@ -7617,10 +7896,16 @@
}
},
"node_modules/async-each": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz",
- "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==",
- "dev": true
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.6.tgz",
+ "integrity": "sha512-c646jH1avxr+aVpndVMeAfYw7wAa6idufrlN3LPA4PmKS0QEGp6PIC9nwz0WQkkvBGAMEki3pFdtxaF39J9vvg==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "individual",
+ "url": "https://paulmillr.com/funding/"
+ }
+ ]
},
"node_modules/async-exit-hook": {
"version": "2.0.1",
@@ -7662,10 +7947,13 @@
}
},
"node_modules/available-typed-arrays": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz",
- "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==",
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz",
+ "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==",
"dev": true,
+ "dependencies": {
+ "possible-typed-array-names": "^1.0.0"
+ },
"engines": {
"node": ">= 0.4"
},
@@ -7683,15 +7971,15 @@
}
},
"node_modules/aws4": {
- "version": "1.11.0",
- "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz",
- "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==",
+ "version": "1.13.0",
+ "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.13.0.tgz",
+ "integrity": "sha512-3AungXC4I8kKsS9PuS4JH2nc+0bVY/mjgrephHTIi8fpEeGsTHBUJeosp0Wc1myYMElmD0B3Oc4XL/HVJ4PV2g==",
"dev": true
},
"node_modules/b4a": {
- "version": "1.6.4",
- "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.4.tgz",
- "integrity": "sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==",
+ "version": "1.6.6",
+ "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.6.tgz",
+ "integrity": "sha512-5Tk1HLk6b6ctmjIkAcU/Ujv/1WqiDl0F0JdRCR80VsOcUlHcu7pWeWRlOqQLHfDEsVx9YH/aif5AG4ehoCtTmg==",
"dev": true
},
"node_modules/babel-code-frame": {
@@ -7793,6 +8081,12 @@
"source-map": "^0.5.7"
}
},
+ "node_modules/babel-core/node_modules/convert-source-map": {
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz",
+ "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==",
+ "dev": true
+ },
"node_modules/babel-core/node_modules/debug": {
"version": "2.6.9",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
@@ -7853,9 +8147,9 @@
}
},
"node_modules/babel-loader": {
- "version": "8.2.5",
- "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.5.tgz",
- "integrity": "sha512-OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ==",
+ "version": "8.3.0",
+ "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.3.0.tgz",
+ "integrity": "sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==",
"dev": true,
"dependencies": {
"find-cache-dir": "^3.3.1",
@@ -7897,39 +8191,39 @@
}
},
"node_modules/babel-plugin-polyfill-corejs2": {
- "version": "0.3.3",
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz",
- "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==",
+ "version": "0.4.11",
+ "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz",
+ "integrity": "sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==",
"dependencies": {
- "@babel/compat-data": "^7.17.7",
- "@babel/helper-define-polyfill-provider": "^0.3.3",
- "semver": "^6.1.1"
+ "@babel/compat-data": "^7.22.6",
+ "@babel/helper-define-polyfill-provider": "^0.6.2",
+ "semver": "^6.3.1"
},
"peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
}
},
"node_modules/babel-plugin-polyfill-corejs3": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz",
- "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==",
+ "version": "0.10.4",
+ "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz",
+ "integrity": "sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==",
"dependencies": {
- "@babel/helper-define-polyfill-provider": "^0.3.3",
- "core-js-compat": "^3.25.1"
+ "@babel/helper-define-polyfill-provider": "^0.6.1",
+ "core-js-compat": "^3.36.1"
},
"peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
}
},
"node_modules/babel-plugin-polyfill-regenerator": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz",
- "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==",
+ "version": "0.6.2",
+ "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz",
+ "integrity": "sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==",
"dependencies": {
- "@babel/helper-define-polyfill-provider": "^0.3.3"
+ "@babel/helper-define-polyfill-provider": "^0.6.2"
},
"peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
}
},
"node_modules/babel-register": {
@@ -7955,18 +8249,6 @@
"dev": true,
"hasInstallScript": true
},
- "node_modules/babel-register/node_modules/mkdirp": {
- "version": "0.5.6",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
- "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
- "dev": true,
- "dependencies": {
- "minimist": "^1.2.6"
- },
- "bin": {
- "mkdirp": "bin/cmd.js"
- }
- },
"node_modules/babel-runtime": {
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
@@ -8111,6 +8393,52 @@
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
"dev": true
},
+ "node_modules/bare-events": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.4.2.tgz",
+ "integrity": "sha512-qMKFd2qG/36aA4GwvKq8MxnPgCQAmBWmSyLWsJcbn8v03wvIPQ/hG1Ms8bPzndZxMDoHpxez5VOS+gC9Yi24/Q==",
+ "dev": true,
+ "optional": true
+ },
+ "node_modules/bare-fs": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-2.3.1.tgz",
+ "integrity": "sha512-W/Hfxc/6VehXlsgFtbB5B4xFcsCl+pAh30cYhoFyXErf6oGrwjh8SwiPAdHgpmWonKuYpZgGywN0SXt7dgsADA==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "bare-events": "^2.0.0",
+ "bare-path": "^2.0.0",
+ "bare-stream": "^2.0.0"
+ }
+ },
+ "node_modules/bare-os": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-2.3.0.tgz",
+ "integrity": "sha512-oPb8oMM1xZbhRQBngTgpcQ5gXw6kjOaRsSWsIeNyRxGed2w/ARyP7ScBYpWR1qfX2E5rS3gBw6OWcSQo+s+kUg==",
+ "dev": true,
+ "optional": true
+ },
+ "node_modules/bare-path": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/bare-path/-/bare-path-2.1.3.tgz",
+ "integrity": "sha512-lh/eITfU8hrj9Ru5quUp0Io1kJWIk1bTjzo7JH1P5dWmQ2EL4hFUlfI8FonAhSlgIfhn63p84CDY/x+PisgcXA==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "bare-os": "^2.1.0"
+ }
+ },
+ "node_modules/bare-stream": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/bare-stream/-/bare-stream-2.1.3.tgz",
+ "integrity": "sha512-tiDAH9H/kP+tvNO5sczyn9ZAA7utrSMobyDchsnyyXBuUe2FSQWbxhtuHB8jwpHYYevVo2UJpcmvvjrbHboUUQ==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "streamx": "^2.18.0"
+ }
+ },
"node_modules/base": {
"version": "0.11.2",
"resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
@@ -8189,9 +8517,9 @@
"dev": true
},
"node_modules/basic-ftp": {
- "version": "5.0.4",
- "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.0.4.tgz",
- "integrity": "sha512-8PzkB0arJFV4jJWSGOYR+OEic6aeKMu/osRhBULN6RY0ykby6LKhbmuQ5ublvaas5BOwboah5D87nrHyuh8PPA==",
+ "version": "5.0.5",
+ "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.0.5.tgz",
+ "integrity": "sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg==",
"dev": true,
"engines": {
"node": ">=10.0.0"
@@ -8222,9 +8550,9 @@
}
},
"node_modules/big-integer": {
- "version": "1.6.51",
- "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz",
- "integrity": "sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==",
+ "version": "1.6.52",
+ "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.52.tgz",
+ "integrity": "sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==",
"dev": true,
"engines": {
"node": ">=0.6"
@@ -8253,12 +8581,15 @@
}
},
"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==",
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz",
+ "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==",
"dev": true,
"engines": {
"node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/binaryextensions": {
@@ -8295,9 +8626,9 @@
}
},
"node_modules/bl/node_modules/readable-stream": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
- "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+ "version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
+ "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
"dev": true,
"dependencies": {
"inherits": "^2.0.3",
@@ -8309,9 +8640,9 @@
}
},
"node_modules/bluebird": {
- "version": "3.4.7",
- "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.4.7.tgz",
- "integrity": "sha512-iD3898SR7sWVRHbiQv+sHUtHnMvC1o3nW5rAcqnq3uOn07DSAppZYUkIGslDz6gXC7HfunPe7YVBgoEJASPcHA=="
+ "version": "3.7.2",
+ "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz",
+ "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg=="
},
"node_modules/body": {
"version": "5.1.0",
@@ -8403,12 +8734,12 @@
}
},
"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==",
"dev": true,
"dependencies": {
- "fill-range": "^7.0.1"
+ "fill-range": "^7.1.1"
},
"engines": {
"node": ">=8"
@@ -8421,9 +8752,9 @@
"dev": true
},
"node_modules/browserslist": {
- "version": "4.21.4",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz",
- "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==",
+ "version": "4.23.1",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.1.tgz",
+ "integrity": "sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==",
"funding": [
{
"type": "opencollective",
@@ -8432,13 +8763,17 @@
{
"type": "tidelift",
"url": "https://tidelift.com/funding/github/npm/browserslist"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
}
],
"dependencies": {
- "caniuse-lite": "^1.0.30001400",
- "electron-to-chromium": "^1.4.251",
- "node-releases": "^2.0.6",
- "update-browserslist-db": "^1.0.9"
+ "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"
@@ -8457,9 +8792,9 @@
}
},
"node_modules/browserstack-local": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/browserstack-local/-/browserstack-local-1.5.1.tgz",
- "integrity": "sha512-T/wxyWDzvBHbDvl7fZKpFU7mYze6nrUkBhNy+d+8bXBqgQX10HTYvajIGO0wb49oGSLCPM0CMZTV/s7e6LF0sA==",
+ "version": "1.5.5",
+ "resolved": "https://registry.npmjs.org/browserstack-local/-/browserstack-local-1.5.5.tgz",
+ "integrity": "sha512-jKne7yosrMcptj3hqxp36TP9k0ZW2sCqhyurX24rUL4G3eT7OLgv+CSQN8iq5dtkv5IK+g+v8fWvsiC/S9KxMg==",
"dev": true,
"dependencies": {
"agent-base": "^6.0.2",
@@ -8680,55 +9015,57 @@
}
},
"node_modules/cacheable-lookup": {
- "version": "5.0.4",
- "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz",
- "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==",
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-7.0.0.tgz",
+ "integrity": "sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==",
"dev": true,
"engines": {
- "node": ">=10.6.0"
+ "node": ">=14.16"
}
},
"node_modules/cacheable-request": {
- "version": "7.0.2",
- "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.2.tgz",
- "integrity": "sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==",
+ "version": "10.2.14",
+ "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-10.2.14.tgz",
+ "integrity": "sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==",
"dev": true,
"dependencies": {
- "clone-response": "^1.0.2",
- "get-stream": "^5.1.0",
- "http-cache-semantics": "^4.0.0",
- "keyv": "^4.0.0",
- "lowercase-keys": "^2.0.0",
- "normalize-url": "^6.0.1",
- "responselike": "^2.0.0"
+ "@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": ">=8"
+ "node": ">=14.16"
}
},
"node_modules/cacheable-request/node_modules/get-stream": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
- "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
+ "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==",
"dev": true,
- "dependencies": {
- "pump": "^3.0.0"
- },
"engines": {
- "node": ">=8"
+ "node": ">=10"
},
"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==",
+ "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"
@@ -8759,9 +9096,9 @@
"dev": true
},
"node_modules/caniuse-lite": {
- "version": "1.0.30001429",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001429.tgz",
- "integrity": "sha512-511ThLu1hF+5RRRt0zYCf2U2yRr9GPF6m5y90SBCWsvSoYoW7yAGlv/elyPaNfvGCkp6kj/KFZWU0BMA69Prsg==",
+ "version": "1.0.30001633",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001633.tgz",
+ "integrity": "sha512-6sT0yf/z5jqf8tISAgpJDrmwOpLsrpnyCdD/lOZKvKkkJK4Dn0X5i7KF7THEZhOq+30bmhwBlNEaqPUiHiKtZg==",
"funding": [
{
"type": "opencollective",
@@ -8770,6 +9107,10 @@
{
"type": "tidelift",
"url": "https://tidelift.com/funding/github/npm/caniuse-lite"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
}
]
},
@@ -8790,18 +9131,18 @@
}
},
"node_modules/chai": {
- "version": "4.3.6",
- "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.6.tgz",
- "integrity": "sha512-bbcp3YfHCUzMOvKqsztczerVgBKSsEijCySNlHHbX3VG1nskvqjz5Rfso1gGwD6w6oOV3eI60pKuMOV5MV7p3Q==",
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/chai/-/chai-4.4.1.tgz",
+ "integrity": "sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==",
"dev": true,
"dependencies": {
"assertion-error": "^1.1.0",
- "check-error": "^1.0.2",
- "deep-eql": "^3.0.1",
- "get-func-name": "^2.0.0",
- "loupe": "^2.3.1",
+ "check-error": "^1.0.3",
+ "deep-eql": "^4.1.3",
+ "get-func-name": "^2.0.2",
+ "loupe": "^2.3.6",
"pathval": "^1.1.1",
- "type-detect": "^4.0.5"
+ "type-detect": "^4.0.8"
},
"engines": {
"node": ">=4"
@@ -8869,25 +9210,22 @@
"dev": true
},
"node_modules/check-error": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz",
- "integrity": "sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz",
+ "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==",
"dev": true,
+ "dependencies": {
+ "get-func-name": "^2.0.2"
+ },
"engines": {
"node": "*"
}
},
"node_modules/chokidar": {
- "version": "3.5.3",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
- "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz",
+ "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
"dev": true,
- "funding": [
- {
- "type": "individual",
- "url": "https://paulmillr.com/funding/"
- }
- ],
"dependencies": {
"anymatch": "~3.1.2",
"braces": "~3.0.2",
@@ -8900,6 +9238,9 @@
"engines": {
"node": ">= 8.10.0"
},
+ "funding": {
+ "url": "https://paulmillr.com/funding/"
+ },
"optionalDependencies": {
"fsevents": "~2.3.2"
}
@@ -8911,9 +9252,9 @@
"dev": true
},
"node_modules/chrome-launcher": {
- "version": "0.15.1",
- "resolved": "https://registry.npmjs.org/chrome-launcher/-/chrome-launcher-0.15.1.tgz",
- "integrity": "sha512-UugC8u59/w2AyX5sHLZUHoxBAiSiunUhZa3zZwMH6zPVis0C3dDKiRWyUGIo14tTbZHGVviWxv3PQWZ7taZ4fg==",
+ "version": "0.15.2",
+ "resolved": "https://registry.npmjs.org/chrome-launcher/-/chrome-launcher-0.15.2.tgz",
+ "integrity": "sha512-zdLEwNo3aUVzIhKhTtXfxhdvZhUghrnmkvcAq2NoDd+LeOHKf03H5jwZ8T/STsAlzyALkBVK552iaG1fGf1xVQ==",
"dev": true,
"dependencies": {
"@types/node": "*",
@@ -8941,21 +9282,19 @@
}
},
"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==",
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz",
+ "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==",
"dev": true,
"engines": {
"node": ">=6.0"
}
},
"node_modules/chromium-bidi": {
- "version": "0.4.9",
- "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-0.4.9.tgz",
- "integrity": "sha512-u3DC6XwgLCA9QJ5ak1voPslCmacQdulZNCPsI3qNXxSnEcZS7DFIbww+5RM2bznMEje7cc0oydavRLRvOIZtHw==",
+ "version": "0.4.16",
+ "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-0.4.16.tgz",
+ "integrity": "sha512-7ZbXdWERxRxSwo3txsBjjmc/NLxqb1Bk30mRb0BMS4YIaiV6zvKZqL/UAH+DdqcDYayDWk2n/y8klkBDODrPvA==",
"dev": true,
- "optional": true,
- "peer": true,
"dependencies": {
"mitt": "3.0.0"
},
@@ -9014,72 +9353,17 @@
"node": ">=0.10.0"
}
},
- "node_modules/class-utils/node_modules/is-accessor-descriptor": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
- "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==",
- "dev": true,
- "dependencies": {
- "kind-of": "^3.0.2"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/class-utils/node_modules/is-accessor-descriptor/node_modules/kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
- "dev": true,
- "dependencies": {
- "is-buffer": "^1.1.5"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/class-utils/node_modules/is-buffer": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
- "dev": true
- },
- "node_modules/class-utils/node_modules/is-data-descriptor": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
- "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==",
- "dev": true,
- "dependencies": {
- "kind-of": "^3.0.2"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/class-utils/node_modules/is-data-descriptor/node_modules/kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
- "dev": true,
- "dependencies": {
- "is-buffer": "^1.1.5"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/class-utils/node_modules/is-descriptor": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
- "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz",
+ "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==",
"dev": true,
"dependencies": {
- "is-accessor-descriptor": "^0.1.6",
- "is-data-descriptor": "^0.1.4",
- "kind-of": "^5.0.0"
+ "is-accessor-descriptor": "^1.0.1",
+ "is-data-descriptor": "^1.0.1"
},
"engines": {
- "node": ">=0.10.0"
+ "node": ">= 0.4"
}
},
"node_modules/cli-cursor": {
@@ -9107,12 +9391,12 @@
}
},
"node_modules/cli-width": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz",
- "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==",
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz",
+ "integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==",
"dev": true,
"engines": {
- "node": ">= 10"
+ "node": ">= 12"
}
},
"node_modules/cliui": {
@@ -9129,6 +9413,68 @@
"node": ">=12"
}
},
+ "node_modules/cliui/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==",
+ "dev": true,
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/cliui/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==",
+ "dev": true,
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/cliui/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==",
+ "dev": true
+ },
+ "node_modules/cliui/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==",
+ "dev": true,
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/cliui/node_modules/wrap-ansi": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+ }
+ },
"node_modules/clone": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz",
@@ -9159,6 +9505,15 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/clone-response/node_modules/mimic-response": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz",
+ "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
"node_modules/clone-stats": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz",
@@ -9256,9 +9611,9 @@
}
},
"node_modules/comma-separated-tokens": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.2.tgz",
- "integrity": "sha512-G5yTt3KQN4Yn7Yk4ed73hlZ1evrFKXeUW3086p3PRFNp7m2vIjI6Pg+Kgb+oyzhd9F2qdcoj67+y3SdxL5XWsg==",
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz",
+ "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==",
"dev": true,
"funding": {
"type": "github",
@@ -9287,15 +9642,18 @@
"dev": true
},
"node_modules/component-emitter": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
- "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==",
- "dev": true
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz",
+ "integrity": "sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==",
+ "dev": true,
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
},
"node_modules/compress-commons": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-4.1.1.tgz",
- "integrity": "sha512-QLdDLCKNV2dtoTorqgxngQCMA+gWXkM/Nwu7FpeBhk/RdkzimqC3jueb/FDmaZeXh+uby1jkBqE3xArsLBE5wQ==",
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-4.1.2.tgz",
+ "integrity": "sha512-D3uMHtGc/fcO1Gt1/L7i1e33VOvD4A9hfQLP+6ewd+BvG/gQ84Yh4oftEhAdjSMgBgwGL+jsppT7JYNpo6MHHg==",
"dev": true,
"dependencies": {
"buffer-crc32": "^0.2.13",
@@ -9308,9 +9666,9 @@
}
},
"node_modules/compress-commons/node_modules/readable-stream": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
- "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+ "version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
+ "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
"dev": true,
"dependencies": {
"inherits": "^2.0.3",
@@ -9476,9 +9834,9 @@
"dev": true
},
"node_modules/convert-source-map": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz",
- "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A=="
+ "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.6.0",
@@ -9513,9 +9871,9 @@
}
},
"node_modules/core-js": {
- "version": "3.26.0",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.26.0.tgz",
- "integrity": "sha512-+DkDrhoR4Y0PxDz6rurahuB+I45OsEUv8E1maPTB6OuHRohMMcznBq9TMpdpDMm/hUPob/mJJS3PqgbHpMTQgw==",
+ "version": "3.37.1",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.37.1.tgz",
+ "integrity": "sha512-Xn6qmxrQZyB0FFY8E3bgRXei3lWDJHhvI+u0q9TKIYM49G8pAr0FgnnrFRAmsbptZL1yxRADVXn+x5AGsbBfyw==",
"hasInstallScript": true,
"funding": {
"type": "opencollective",
@@ -9523,11 +9881,11 @@
}
},
"node_modules/core-js-compat": {
- "version": "3.26.0",
- "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.26.0.tgz",
- "integrity": "sha512-piOX9Go+Z4f9ZiBFLnZ5VrOpBl0h7IGCkiFUN11QTe6LjAvOT3ifL/5TdoizMh99hcGy5SoLyWbapIY/PIb/3A==",
+ "version": "3.37.1",
+ "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.37.1.tgz",
+ "integrity": "sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg==",
"dependencies": {
- "browserslist": "^4.21.4"
+ "browserslist": "^4.23.0"
},
"funding": {
"type": "opencollective",
@@ -9535,9 +9893,9 @@
}
},
"node_modules/core-js-pure": {
- "version": "3.26.0",
- "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.26.0.tgz",
- "integrity": "sha512-LiN6fylpVBVwT8twhhluD9TzXmZQQsr2I2eIKtWNbZI1XMfBT7CV18itaN6RA7EtQd/SDdRx/wzvAShX2HvhQA==",
+ "version": "3.37.1",
+ "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.37.1.tgz",
+ "integrity": "sha512-J/r5JTHSmzTxbiYYrzXg9w1VpqrYt+gexenBE9pugeyhwPZTAEJddyiReJWsLO6uNQ8xJZFbod6XC7KKwatCiA==",
"hasInstallScript": true,
"funding": {
"type": "opencollective",
@@ -9594,9 +9952,9 @@
}
},
"node_modules/crc32-stream": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-4.0.2.tgz",
- "integrity": "sha512-DxFZ/Hk473b/muq1VJ///PMNLj0ZMnzye9thBpmjpJKCc5eMgB95aK8zCGrGfQ90cWo561Te6HK9D+j4KPdM6w==",
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-4.0.3.tgz",
+ "integrity": "sha512-NT7w2JVU7DFroFdYkeq8cywxrgjPHWkdX1wjpRQXPX5Asews3tA+Ght6lddQO5Mkumffp3X7GEqku3epj2toIw==",
"dev": true,
"dependencies": {
"crc-32": "^1.2.0",
@@ -9607,9 +9965,9 @@
}
},
"node_modules/crc32-stream/node_modules/readable-stream": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
- "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+ "version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
+ "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
"dev": true,
"dependencies": {
"inherits": "^2.0.3",
@@ -9620,11 +9978,6 @@
"node": ">= 6"
}
},
- "node_modules/criteo-direct-rsa-validate": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/criteo-direct-rsa-validate/-/criteo-direct-rsa-validate-1.1.0.tgz",
- "integrity": "sha512-7gQ3zX+d+hS/vOxzLrZ4aRAceB7qNJ0VzaGNpcWjDCmtOpASB50USJDupTik/H2nHgiSAA3VNZ3SFuONs8LR9Q=="
- },
"node_modules/cross-fetch": {
"version": "3.1.5",
"resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz",
@@ -9634,6 +9987,26 @@
"node-fetch": "2.6.7"
}
},
+ "node_modules/cross-fetch/node_modules/node-fetch": {
+ "version": "2.6.7",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
+ "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
+ "dev": true,
+ "dependencies": {
+ "whatwg-url": "^5.0.0"
+ },
+ "engines": {
+ "node": "4.x || >=6.0.0"
+ },
+ "peerDependencies": {
+ "encoding": "^0.1.0"
+ },
+ "peerDependenciesMeta": {
+ "encoding": {
+ "optional": true
+ }
+ }
+ },
"node_modules/cross-spawn": {
"version": "7.0.3",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
@@ -9648,6 +10021,27 @@
"node": ">= 8"
}
},
+ "node_modules/cross-spawn/node_modules/isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
+ "dev": true
+ },
+ "node_modules/cross-spawn/node_modules/which": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "dev": true,
+ "dependencies": {
+ "isexe": "^2.0.0"
+ },
+ "bin": {
+ "node-which": "bin/node-which"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
"node_modules/crypto-js": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.2.0.tgz",
@@ -9726,13 +10120,16 @@
"dev": true
},
"node_modules/d": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz",
- "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/d/-/d-1.0.2.tgz",
+ "integrity": "sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==",
"dev": true,
"dependencies": {
- "es5-ext": "^0.10.50",
- "type": "^1.0.1"
+ "es5-ext": "^0.10.64",
+ "type": "^2.7.2"
+ },
+ "engines": {
+ "node": ">=0.12"
}
},
"node_modules/dashdash": {
@@ -9748,12 +10145,63 @@
}
},
"node_modules/data-uri-to-buffer": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-6.0.1.tgz",
- "integrity": "sha512-MZd3VlchQkp8rdend6vrx7MmVDJzSNTBvghvKjirLkD+WTChA3KUf0jkE68Q4UyctNqI11zZO9/x2Yx+ub5Cvg==",
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz",
+ "integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==",
"dev": true,
"engines": {
- "node": ">= 14"
+ "node": ">= 12"
+ }
+ },
+ "node_modules/data-view-buffer": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz",
+ "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.6",
+ "es-errors": "^1.3.0",
+ "is-data-view": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/data-view-byte-length": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz",
+ "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.7",
+ "es-errors": "^1.3.0",
+ "is-data-view": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/data-view-byte-offset": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz",
+ "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.6",
+ "es-errors": "^1.3.0",
+ "is-data-view": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/date-format": {
@@ -9781,10 +10229,16 @@
"dev": true,
"optional": true
},
+ "node_modules/debounce": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz",
+ "integrity": "sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==",
+ "dev": true
+ },
"node_modules/debug": {
- "version": "4.3.4",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
- "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "version": "4.3.5",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz",
+ "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==",
"dependencies": {
"ms": "2.1.2"
},
@@ -9818,12 +10272,12 @@
}
},
"node_modules/decamelize": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz",
- "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==",
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-6.0.0.tgz",
+ "integrity": "sha512-Fv96DCsdOgB6mdGl67MT5JaTNKRzrzill5OH5s8bjYJXVlcXyPYGyPsUkWyGV5p1TXI5esYIYMMeDJL0hEIwaA==",
"dev": true,
"engines": {
- "node": ">=10"
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
@@ -9879,38 +10333,44 @@
}
},
"node_modules/deep-eql": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz",
- "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==",
+ "version": "4.1.4",
+ "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.4.tgz",
+ "integrity": "sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg==",
"dev": true,
"dependencies": {
"type-detect": "^4.0.0"
},
"engines": {
- "node": ">=0.12"
+ "node": ">=6"
}
},
"node_modules/deep-equal": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.0.5.tgz",
- "integrity": "sha512-nPiRgmbAtm1a3JsnLCf6/SLfXcjyN5v8L1TXzdCmHrXJ4hx+gW/w1YCcn7z8gJtSiDArZCgYtbao3QqLm/N1Sw==",
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.3.tgz",
+ "integrity": "sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==",
"dev": true,
"dependencies": {
- "call-bind": "^1.0.0",
- "es-get-iterator": "^1.1.1",
- "get-intrinsic": "^1.0.1",
- "is-arguments": "^1.0.4",
- "is-date-object": "^1.0.2",
- "is-regex": "^1.1.1",
+ "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.4",
+ "object-is": "^1.1.5",
"object-keys": "^1.1.1",
- "object.assign": "^4.1.2",
- "regexp.prototype.flags": "^1.3.0",
- "side-channel": "^1.0.3",
- "which-boxed-primitive": "^1.0.1",
+ "object.assign": "^4.1.4",
+ "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.2"
+ "which-typed-array": "^1.1.13"
+ },
+ "engines": {
+ "node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
@@ -9923,9 +10383,9 @@
"dev": true
},
"node_modules/deepmerge": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz",
- "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==",
+ "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==",
"dev": true,
"engines": {
"node": ">=0.10.0"
@@ -9992,24 +10452,28 @@
}
},
"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-properties": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz",
- "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==",
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz",
+ "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==",
"dev": true,
"dependencies": {
+ "define-data-property": "^1.0.1",
"has-property-descriptors": "^1.0.0",
"object-keys": "^1.1.1"
},
@@ -10166,21 +10630,21 @@
}
},
"node_modules/devtools": {
- "version": "7.25.4",
- "resolved": "https://registry.npmjs.org/devtools/-/devtools-7.25.4.tgz",
- "integrity": "sha512-R6/S/dCqxoX4Y6PxIGM9JFAuSRZzUeV5r+CoE/frhmno6mTe7dEEgwkJlfit3LkKRoul8n4DsL2A3QtWOvq5IA==",
+ "version": "7.35.0",
+ "resolved": "https://registry.npmjs.org/devtools/-/devtools-7.35.0.tgz",
+ "integrity": "sha512-7HMZMcJSCK/PaBCWVs4n4ZhtBNdUQj10iPwXvj/JDkqPreEXN/XW9GJAoMuLPFmCEKfxe+LrIbgs8ocGJ6rp/A==",
"dev": true,
"dependencies": {
"@types/node": "^18.0.0",
"@types/ua-parser-js": "^0.7.33",
- "@wdio/config": "7.25.4",
- "@wdio/logger": "7.19.0",
- "@wdio/protocols": "7.22.0",
- "@wdio/types": "7.25.4",
- "@wdio/utils": "7.25.4",
+ "@wdio/config": "7.33.0",
+ "@wdio/logger": "7.26.0",
+ "@wdio/protocols": "7.27.0",
+ "@wdio/types": "7.33.0",
+ "@wdio/utils": "7.33.0",
"chrome-launcher": "^0.15.0",
"edge-paths": "^2.1.0",
- "puppeteer-core": "^13.1.3",
+ "puppeteer-core": "13.1.3",
"query-selector-shadow-dom": "^1.0.0",
"ua-parser-js": "^1.0.1",
"uuid": "^9.0.0"
@@ -10190,26 +10654,60 @@
}
},
"node_modules/devtools-protocol": {
- "version": "0.0.1061995",
- "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1061995.tgz",
- "integrity": "sha512-pKZZWTjWa/IF4ENCg6GN8bu/AxSZgdhjSa26uc23wz38Blt2Tnm9icOPcSG3Cht55rMq35in1w3rWVPcZ60ArA==",
+ "version": "0.0.1260888",
+ "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1260888.tgz",
+ "integrity": "sha512-9rTIZ4ZjWwalCPiaY+kPiALLfOKgAz5CTi/Zb1L+qSZ8PH3zVo1T8JcgXIIqg1iM3pZ6hF+n9xO5r2jZ/SF+jg==",
"dev": true
},
+ "node_modules/devtools/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==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sindresorhus/is?sponsor=1"
+ }
+ },
+ "node_modules/devtools/node_modules/@szmarczak/http-timer": {
+ "version": "4.0.6",
+ "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz",
+ "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==",
+ "dev": true,
+ "dependencies": {
+ "defer-to-connect": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/devtools/node_modules/@types/node": {
- "version": "18.11.9",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
- "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==",
+ "version": "18.19.34",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.34.tgz",
+ "integrity": "sha512-eXF4pfBNV5DAMKGbI02NnDtWrQ40hAN558/2vvS4gMpMIxaf6JmD7YjnZbq0Q9TDSSkKBamime8ewRoomHdt4g==",
+ "dev": true,
+ "dependencies": {
+ "undici-types": "~5.26.4"
+ }
+ },
+ "node_modules/devtools/node_modules/@types/which": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/@types/which/-/which-1.3.2.tgz",
+ "integrity": "sha512-8oDqyLC7eD4HM307boe2QWKyuzdzWBj56xI/imSl2cpL+U3tCMaTAkMJ4ee5JBZ/FsOJlvRGeIShiZDAl1qERA==",
"dev": true
},
"node_modules/devtools/node_modules/@wdio/config": {
- "version": "7.25.4",
- "resolved": "https://registry.npmjs.org/@wdio/config/-/config-7.25.4.tgz",
- "integrity": "sha512-vb0emDtD9FbFh/yqW6oNdo2iuhQp8XKj6GX9fyy9v4wZgg3B0HPMVJxhIfcoHz7LMBWlHSo9YdvhFI5EQHRLBA==",
+ "version": "7.33.0",
+ "resolved": "https://registry.npmjs.org/@wdio/config/-/config-7.33.0.tgz",
+ "integrity": "sha512-SaCZNKrDtBghf7ujyaxTiU4pBW+1Kms32shSoXpJ/wFop6/MiA7nb19qpUPoJtEDw5/NOKevUKz8nBMBXphiew==",
"dev": true,
"dependencies": {
- "@wdio/logger": "7.19.0",
- "@wdio/types": "7.25.4",
- "@wdio/utils": "7.25.4",
+ "@types/glob": "^8.1.0",
+ "@wdio/logger": "7.26.0",
+ "@wdio/types": "7.33.0",
+ "@wdio/utils": "7.33.0",
"deepmerge": "^4.0.0",
"glob": "^8.0.3"
},
@@ -10218,9 +10716,9 @@
}
},
"node_modules/devtools/node_modules/@wdio/logger": {
- "version": "7.19.0",
- "resolved": "https://registry.npmjs.org/@wdio/logger/-/logger-7.19.0.tgz",
- "integrity": "sha512-xR7SN/kGei1QJD1aagzxs3KMuzNxdT/7LYYx+lt6BII49+fqL/SO+5X0FDCZD0Ds93AuQvvz9eGyzrBI2FFXmQ==",
+ "version": "7.26.0",
+ "resolved": "https://registry.npmjs.org/@wdio/logger/-/logger-7.26.0.tgz",
+ "integrity": "sha512-kQj9s5JudAG9qB+zAAcYGPHVfATl2oqKgqj47yjehOQ1zzG33xmtL1ArFbQKWhDG32y1A8sN6b0pIqBEIwgg8Q==",
"dev": true,
"dependencies": {
"chalk": "^4.0.0",
@@ -10233,18 +10731,18 @@
}
},
"node_modules/devtools/node_modules/@wdio/protocols": {
- "version": "7.22.0",
- "resolved": "https://registry.npmjs.org/@wdio/protocols/-/protocols-7.22.0.tgz",
- "integrity": "sha512-8EXRR+Ymdwousm/VGtW3H1hwxZ/1g1H99A1lF0U4GuJ5cFWHCd0IVE5H31Z52i8ZruouW8jueMkGZPSo2IIUSQ==",
+ "version": "7.27.0",
+ "resolved": "https://registry.npmjs.org/@wdio/protocols/-/protocols-7.27.0.tgz",
+ "integrity": "sha512-hT/U22R5i3HhwPjkaKAG0yd59eaOaZB0eibRj2+esCImkb5Y6rg8FirrlYRxIGFVBl0+xZV0jKHzR5+o097nvg==",
"dev": true,
"engines": {
"node": ">=12.0.0"
}
},
"node_modules/devtools/node_modules/@wdio/types": {
- "version": "7.25.4",
- "resolved": "https://registry.npmjs.org/@wdio/types/-/types-7.25.4.tgz",
- "integrity": "sha512-muvNmq48QZCvocctnbe0URq2FjJjUPIG4iLoeMmyF0AQgdbjaUkMkw3BHYNHVTbSOU9WMsr2z8alhj/I2H6NRQ==",
+ "version": "7.33.0",
+ "resolved": "https://registry.npmjs.org/@wdio/types/-/types-7.33.0.tgz",
+ "integrity": "sha512-tNcuN5Kl+i5CffaeTYV1omzAo4rVjiI1m9raIA8ph6iVteWdCzYv2/ImpGgFiBPb7Mf6VokU3+q9Slh5Jitaww==",
"dev": true,
"dependencies": {
"@types/node": "^18.0.0",
@@ -10263,13 +10761,13 @@
}
},
"node_modules/devtools/node_modules/@wdio/utils": {
- "version": "7.25.4",
- "resolved": "https://registry.npmjs.org/@wdio/utils/-/utils-7.25.4.tgz",
- "integrity": "sha512-8iwQDk+foUqSzKZKfhLxjlCKOkfRJPNHaezQoevNgnrTq/t0ek+ldZCATezb9B8jprAuP4mgS9xi22akc6RkzA==",
+ "version": "7.33.0",
+ "resolved": "https://registry.npmjs.org/@wdio/utils/-/utils-7.33.0.tgz",
+ "integrity": "sha512-4kQQ86EvEN6fBY5+u7M08cT6LfJtpk1rHd203xyxmbmV9lpNv/OCl4CsC+SD0jGT0aZZqYSIJ/Pil07pAh5K0g==",
"dev": true,
"dependencies": {
- "@wdio/logger": "7.19.0",
- "@wdio/types": "7.25.4",
+ "@wdio/logger": "7.26.0",
+ "@wdio/types": "7.33.0",
"p-iteration": "^1.1.8"
},
"engines": {
@@ -10300,6 +10798,33 @@
"balanced-match": "^1.0.0"
}
},
+ "node_modules/devtools/node_modules/cacheable-lookup": {
+ "version": "5.0.4",
+ "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz",
+ "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==",
+ "dev": true,
+ "engines": {
+ "node": ">=10.6.0"
+ }
+ },
+ "node_modules/devtools/node_modules/cacheable-request": {
+ "version": "7.0.4",
+ "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.4.tgz",
+ "integrity": "sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==",
+ "dev": true,
+ "dependencies": {
+ "clone-response": "^1.0.2",
+ "get-stream": "^5.1.0",
+ "http-cache-semantics": "^4.0.0",
+ "keyv": "^4.0.0",
+ "lowercase-keys": "^2.0.0",
+ "normalize-url": "^6.0.1",
+ "responselike": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/devtools/node_modules/chalk": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
@@ -10334,10 +10859,59 @@
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
},
+ "node_modules/devtools/node_modules/debug": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
+ "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==",
+ "dev": true,
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/devtools/node_modules/devtools-protocol": {
+ "version": "0.0.948846",
+ "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.948846.tgz",
+ "integrity": "sha512-5fGyt9xmMqUl2VI7+rnUkKCiAQIpLns8sfQtTENy5L70ktbNw0Z3TFJ1JoFNYdx/jffz4YXU45VF75wKZD7sZQ==",
+ "dev": true
+ },
+ "node_modules/devtools/node_modules/edge-paths": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/edge-paths/-/edge-paths-2.2.1.tgz",
+ "integrity": "sha512-AI5fC7dfDmCdKo3m5y7PkYE8m6bMqR6pvVpgtrZkkhcJXFLelUgkjrhk3kXXx8Kbw2cRaTT4LkOR7hqf39KJdw==",
+ "dev": true,
+ "dependencies": {
+ "@types/which": "^1.3.2",
+ "which": "^2.0.2"
+ }
+ },
+ "node_modules/devtools/node_modules/get-stream": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
+ "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
+ "dev": true,
+ "dependencies": {
+ "pump": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/devtools/node_modules/glob": {
- "version": "8.0.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz",
- "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==",
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz",
+ "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==",
+ "deprecated": "Glob versions prior to v9 are no longer supported",
"dev": true,
"dependencies": {
"fs.realpath": "^1.0.0",
@@ -10353,6 +10927,31 @@
"url": "https://github.com/sponsors/isaacs"
}
},
+ "node_modules/devtools/node_modules/got": {
+ "version": "11.8.6",
+ "resolved": "https://registry.npmjs.org/got/-/got-11.8.6.tgz",
+ "integrity": "sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==",
+ "dev": true,
+ "dependencies": {
+ "@sindresorhus/is": "^4.0.0",
+ "@szmarczak/http-timer": "^4.0.5",
+ "@types/cacheable-request": "^6.0.1",
+ "@types/responselike": "^1.0.0",
+ "cacheable-lookup": "^5.0.3",
+ "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"
+ },
+ "engines": {
+ "node": ">=10.19.0"
+ },
+ "funding": {
+ "url": "https://github.com/sindresorhus/got?sponsor=1"
+ }
+ },
"node_modules/devtools/node_modules/has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
@@ -10362,10 +10961,51 @@
"node": ">=8"
}
},
+ "node_modules/devtools/node_modules/http2-wrapper": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz",
+ "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==",
+ "dev": true,
+ "dependencies": {
+ "quick-lru": "^5.1.1",
+ "resolve-alpn": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=10.19.0"
+ }
+ },
+ "node_modules/devtools/node_modules/https-proxy-agent": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz",
+ "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==",
+ "dev": true,
+ "dependencies": {
+ "agent-base": "6",
+ "debug": "4"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/devtools/node_modules/isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
+ "dev": true
+ },
+ "node_modules/devtools/node_modules/lowercase-keys": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz",
+ "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/devtools/node_modules/minimatch": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz",
- "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==",
+ "version": "5.1.6",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
+ "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
"dev": true,
"dependencies": {
"brace-expansion": "^2.0.1"
@@ -10374,6 +11014,108 @@
"node": ">=10"
}
},
+ "node_modules/devtools/node_modules/node-fetch": {
+ "version": "2.6.7",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
+ "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
+ "dev": true,
+ "dependencies": {
+ "whatwg-url": "^5.0.0"
+ },
+ "engines": {
+ "node": "4.x || >=6.0.0"
+ },
+ "peerDependencies": {
+ "encoding": "^0.1.0"
+ },
+ "peerDependenciesMeta": {
+ "encoding": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/devtools/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==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/devtools/node_modules/p-cancelable": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz",
+ "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/devtools/node_modules/puppeteer-core": {
+ "version": "13.1.3",
+ "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-13.1.3.tgz",
+ "integrity": "sha512-96pzvVBzq5lUGt3L/QrIH3mxn3NfZylHeusNhq06xBAHPI0Upc0SC/9u7tXjL0oRnmcExeVRJivr1lj7Ah/yDQ==",
+ "dev": true,
+ "dependencies": {
+ "debug": "4.3.2",
+ "devtools-protocol": "0.0.948846",
+ "extract-zip": "2.0.1",
+ "https-proxy-agent": "5.0.0",
+ "node-fetch": "2.6.7",
+ "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": "8.2.3"
+ },
+ "engines": {
+ "node": ">=10.18.1"
+ }
+ },
+ "node_modules/devtools/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==",
+ "dev": true,
+ "dependencies": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/devtools/node_modules/responselike": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz",
+ "integrity": "sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==",
+ "dev": true,
+ "dependencies": {
+ "lowercase-keys": "^2.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/devtools/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==",
+ "dev": true,
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/devtools/node_modules/supports-color": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
@@ -10386,10 +11128,38 @@
"node": ">=8"
}
},
+ "node_modules/devtools/node_modules/tar-fs": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz",
+ "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==",
+ "dev": true,
+ "dependencies": {
+ "chownr": "^1.1.1",
+ "mkdirp-classic": "^0.5.2",
+ "pump": "^3.0.0",
+ "tar-stream": "^2.1.4"
+ }
+ },
+ "node_modules/devtools/node_modules/tar-stream": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz",
+ "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==",
+ "dev": true,
+ "dependencies": {
+ "bl": "^4.0.3",
+ "end-of-stream": "^1.4.1",
+ "fs-constants": "^1.0.0",
+ "inherits": "^2.0.3",
+ "readable-stream": "^3.1.1"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/devtools/node_modules/ua-parser-js": {
- "version": "1.0.33",
- "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.33.tgz",
- "integrity": "sha512-RqshF7TPTE0XLYAqmjlu5cLLuGdKrNu9O1KLA/qp39QtbZwuzwv1dT46DZSopoUMsYgXpB3Cv8a03FI8b74oFQ==",
+ "version": "1.0.38",
+ "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.38.tgz",
+ "integrity": "sha512-Aq5ppTOfvrCMgAPneW1HfWj66Xi7XL+/mIy996R1/CLS/rcyJQm6QZdsKrUeivDFQ+Oc9Wyuwor8Ze8peEoUoQ==",
"dev": true,
"funding": [
{
@@ -10399,19 +11169,50 @@
{
"type": "paypal",
"url": "https://paypal.me/faisalman"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/faisalman"
}
],
"engines": {
"node": "*"
}
},
- "node_modules/devtools/node_modules/uuid": {
- "version": "9.0.0",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz",
- "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==",
+ "node_modules/devtools/node_modules/which": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
"dev": true,
+ "dependencies": {
+ "isexe": "^2.0.0"
+ },
"bin": {
- "uuid": "dist/bin/uuid"
+ "node-which": "bin/node-which"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/devtools/node_modules/ws": {
+ "version": "8.2.3",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz",
+ "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==",
+ "dev": true,
+ "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/di": {
@@ -10421,9 +11222,9 @@
"dev": true
},
"node_modules/diff": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz",
- "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==",
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz",
+ "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==",
"dev": true,
"engines": {
"node": ">=0.3.1"
@@ -10468,9 +11269,9 @@
}
},
"node_modules/documentation": {
- "version": "14.0.1",
- "resolved": "https://registry.npmjs.org/documentation/-/documentation-14.0.1.tgz",
- "integrity": "sha512-Y/brACCE3sNnDJPFiWlhXrqGY+NelLYVZShLGse5bT1KdohP4JkPf5T2KNq1YWhIEbDYl/1tebRLC0WYbPQxVw==",
+ "version": "14.0.3",
+ "resolved": "https://registry.npmjs.org/documentation/-/documentation-14.0.3.tgz",
+ "integrity": "sha512-B7cAviVKN9Rw7Ofd+9grhVuxiHwly6Ieh+d/ceMw8UdBOv/irkuwnDEJP8tq0wgdLJDUVuIkovV+AX9mTrZFxg==",
"dev": true,
"dependencies": {
"@babel/core": "^7.18.10",
@@ -10538,9 +11339,9 @@
}
},
"node_modules/documentation/node_modules/chalk": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.1.2.tgz",
- "integrity": "sha512-E5CkT4jWURs1Vy5qGJye+XwCkNj7Od3Af7CP6SujMetSMkLs8Do2RWJK5yx1wamHV/op8Rz+9rltjaTQWDnEFQ==",
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz",
+ "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==",
"dev": true,
"engines": {
"node": "^12.17.0 || ^14.13 || >=16.0.0"
@@ -10549,10 +11350,27 @@
"url": "https://github.com/chalk/chalk?sponsor=1"
}
},
+ "node_modules/documentation/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==",
+ "dev": true,
+ "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/documentation/node_modules/glob": {
- "version": "8.0.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz",
- "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==",
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz",
+ "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==",
+ "deprecated": "Glob versions prior to v9 are no longer supported",
"dev": true,
"dependencies": {
"fs.realpath": "^1.0.0",
@@ -10568,6 +11386,18 @@
"url": "https://github.com/sponsors/isaacs"
}
},
+ "node_modules/documentation/node_modules/hosted-git-info": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz",
+ "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==",
+ "dev": true,
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/documentation/node_modules/js-yaml": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
@@ -10580,10 +11410,49 @@
"js-yaml": "bin/js-yaml.js"
}
},
+ "node_modules/documentation/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==",
+ "dev": true
+ },
+ "node_modules/documentation/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==",
+ "dev": true
+ },
+ "node_modules/documentation/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==",
+ "dev": true,
+ "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/documentation/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==",
+ "dev": true,
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/documentation/node_modules/minimatch": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz",
- "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==",
+ "version": "5.1.6",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
+ "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
"dev": true,
"dependencies": {
"brace-expansion": "^2.0.1"
@@ -10592,10 +11461,147 @@
"node": ">=10"
}
},
+ "node_modules/documentation/node_modules/normalize-package-data": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz",
+ "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==",
+ "dev": true,
+ "dependencies": {
+ "hosted-git-info": "^4.0.1",
+ "is-core-module": "^2.5.0",
+ "semver": "^7.3.4",
+ "validate-npm-package-license": "^3.0.1"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/documentation/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==",
+ "dev": true,
+ "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/documentation/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==",
+ "dev": true,
+ "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/documentation/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==",
+ "dev": true,
+ "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/documentation/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==",
+ "dev": true,
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ }
+ },
+ "node_modules/documentation/node_modules/read-pkg": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-7.1.0.tgz",
+ "integrity": "sha512-5iOehe+WF75IccPc30bWTbpdDQLOCc3Uu8bi3Dte3Eueij81yx1Mrufk8qBx/YAbR4uL1FdUr+7BKXDwEtisXg==",
+ "dev": true,
+ "dependencies": {
+ "@types/normalize-package-data": "^2.4.1",
+ "normalize-package-data": "^3.0.2",
+ "parse-json": "^5.2.0",
+ "type-fest": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=12.20"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/documentation/node_modules/read-pkg-up": {
+ "version": "9.1.0",
+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-9.1.0.tgz",
+ "integrity": "sha512-vaMRR1AC1nrd5CQM0PhlRsO5oc2AAigqr7cCrZ/MW/Rsaflz4RlgzkpL4qoU/z1F6wrbd85iFv1OQj/y5RdGvg==",
+ "dev": true,
+ "dependencies": {
+ "find-up": "^6.3.0",
+ "read-pkg": "^7.1.0",
+ "type-fest": "^2.5.0"
+ },
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/documentation/node_modules/semver": {
+ "version": "7.6.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz",
+ "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==",
+ "dev": true,
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/documentation/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==",
+ "dev": true,
+ "engines": {
+ "node": ">=12.20"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/documentation/node_modules/yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+ "dev": true
+ },
"node_modules/documentation/node_modules/yargs": {
- "version": "17.6.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.0.tgz",
- "integrity": "sha512-8H/wTDqlSwoSnScvV2N/JHfLWOKuh5MVla9hqLjK3nsfyy6Y4kDSYSvkU5YCUEPOSnRXfIyx3Sq+B/IWudTo4g==",
+ "version": "17.7.2",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
+ "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
"dev": true,
"dependencies": {
"cliui": "^8.0.1",
@@ -10604,7 +11610,7 @@
"require-directory": "^2.1.1",
"string-width": "^4.2.3",
"y18n": "^5.0.5",
- "yargs-parser": "^21.0.0"
+ "yargs-parser": "^21.1.1"
},
"engines": {
"node": ">=12"
@@ -10684,15 +11690,15 @@
}
},
"node_modules/dotenv": {
- "version": "16.4.1",
- "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.1.tgz",
- "integrity": "sha512-CjA3y+Dr3FyFDOAMnxZEGtnW9KBR2M0JvvUtXNW+dYJL5ROWxP9DUHCwgFqpMk0OXCc0ljhaNTr2w/kutYIcHQ==",
+ "version": "16.4.5",
+ "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz",
+ "integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==",
"dev": true,
"engines": {
"node": ">=12"
},
"funding": {
- "url": "https://github.com/motdotla/dotenv?sponsor=1"
+ "url": "https://dotenvx.com"
}
},
"node_modules/dset": {
@@ -10743,21 +11749,21 @@
"dev": true
},
"node_modules/duplexify": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.2.tgz",
- "integrity": "sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw==",
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.3.tgz",
+ "integrity": "sha512-M3BmBhwJRZsSx38lZyhE53Csddgzl5R7xGJNk7CVddZD6CcmwMCH8J+7AprIrQKH7TonKxaCjcv27Qmf+sQ+oA==",
"dev": true,
"dependencies": {
"end-of-stream": "^1.4.1",
"inherits": "^2.0.3",
"readable-stream": "^3.1.1",
- "stream-shift": "^1.0.0"
+ "stream-shift": "^1.0.2"
}
},
"node_modules/duplexify/node_modules/readable-stream": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
- "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+ "version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
+ "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
"dev": true,
"dependencies": {
"inherits": "^2.0.3",
@@ -10818,71 +11824,13 @@
"safer-buffer": "^2.1.0"
}
},
- "node_modules/edge-paths": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/edge-paths/-/edge-paths-2.2.1.tgz",
- "integrity": "sha512-AI5fC7dfDmCdKo3m5y7PkYE8m6bMqR6pvVpgtrZkkhcJXFLelUgkjrhk3kXXx8Kbw2cRaTT4LkOR7hqf39KJdw==",
- "dev": true,
- "dependencies": {
- "@types/which": "^1.3.2",
- "which": "^2.0.2"
- }
- },
- "node_modules/edgedriver": {
- "version": "5.3.9",
- "resolved": "https://registry.npmjs.org/edgedriver/-/edgedriver-5.3.9.tgz",
- "integrity": "sha512-G0wNgFMFRDnFfKaXG2R6HiyVHqhKwdQ3EgoxW3wPlns2wKqem7F+HgkWBcevN7Vz0nN4AXtskID7/6jsYDXcKw==",
- "dev": true,
- "hasInstallScript": 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"
- },
- "bin": {
- "edgedriver": "bin/edgedriver.js"
- }
- },
- "node_modules/edgedriver/node_modules/@types/which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/@types/which/-/which-2.0.2.tgz",
- "integrity": "sha512-113D3mDkZDjo+EeUEHCFy0qniNc1ZpecGiAU7WSo7YDoSzolZIQKpYFHrPpjkB2nuyahcKfrmLXeQlh7gqJYdw==",
+ "node_modules/ecc-jsbn/node_modules/jsbn": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
+ "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==",
"dev": true
},
- "node_modules/edgedriver/node_modules/data-uri-to-buffer": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz",
- "integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==",
- "dev": true,
- "engines": {
- "node": ">= 12"
- }
- },
- "node_modules/edgedriver/node_modules/decamelize": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-6.0.0.tgz",
- "integrity": "sha512-Fv96DCsdOgB6mdGl67MT5JaTNKRzrzill5OH5s8bjYJXVlcXyPYGyPsUkWyGV5p1TXI5esYIYMMeDJL0hEIwaA==",
- "dev": true,
- "engines": {
- "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/edgedriver/node_modules/duplexer2": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz",
- "integrity": "sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==",
- "dev": true,
- "dependencies": {
- "readable-stream": "^2.0.2"
- }
- },
- "node_modules/edgedriver/node_modules/edge-paths": {
+ "node_modules/edge-paths": {
"version": "3.0.5",
"resolved": "https://registry.npmjs.org/edge-paths/-/edge-paths-3.0.5.tgz",
"integrity": "sha512-sB7vSrDnFa4ezWQk9nZ/n0FdpdUuC6R1EOrlU3DL+bovcNFK28rqu2emmAUjujYEJTWIgQGqgVVWUZXMnc8iWg==",
@@ -10898,7 +11846,13 @@
"url": "https://github.com/sponsors/shirshak55"
}
},
- "node_modules/edgedriver/node_modules/edge-paths/node_modules/which": {
+ "node_modules/edge-paths/node_modules/isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
+ "dev": true
+ },
+ "node_modules/edge-paths/node_modules/which": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
"integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
@@ -10913,64 +11867,22 @@
"node": ">= 8"
}
},
- "node_modules/edgedriver/node_modules/node-fetch": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz",
- "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==",
- "dev": true,
- "dependencies": {
- "data-uri-to-buffer": "^4.0.0",
- "fetch-blob": "^3.1.4",
- "formdata-polyfill": "^4.0.10"
- },
- "engines": {
- "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/node-fetch"
- }
- },
- "node_modules/edgedriver/node_modules/unzipper": {
- "version": "0.10.14",
- "resolved": "https://registry.npmjs.org/unzipper/-/unzipper-0.10.14.tgz",
- "integrity": "sha512-ti4wZj+0bQTiX2KmKWuwj7lhV+2n//uXEotUmGuQqrbVZSEGFMbI68+c6JCQ8aAmUWYvtHEz2A8K6wXvueR/6g==",
- "dev": true,
- "dependencies": {
- "big-integer": "^1.6.17",
- "binary": "~0.3.0",
- "bluebird": "~3.4.1",
- "buffer-indexof-polyfill": "~1.0.0",
- "duplexer2": "~0.1.4",
- "fstream": "^1.0.12",
- "graceful-fs": "^4.2.2",
- "listenercount": "~1.0.1",
- "readable-stream": "~2.3.6",
- "setimmediate": "~1.0.4"
- }
- },
- "node_modules/edgedriver/node_modules/which": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz",
- "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==",
+ "node_modules/edgedriver": {
+ "version": "5.6.0",
+ "resolved": "https://registry.npmjs.org/edgedriver/-/edgedriver-5.6.0.tgz",
+ "integrity": "sha512-IeJXEczG+DNYBIa9gFgVYTqrawlxmc9SUqUsWU2E98jOsO/amA7wzabKOS8Bwgr/3xWoyXCJ6yGFrbFKrilyyQ==",
"dev": true,
+ "hasInstallScript": true,
"dependencies": {
- "isexe": "^3.1.1"
+ "@wdio/logger": "^8.28.0",
+ "@zip.js/zip.js": "^2.7.44",
+ "decamelize": "^6.0.0",
+ "edge-paths": "^3.0.5",
+ "node-fetch": "^3.3.2",
+ "which": "^4.0.0"
},
"bin": {
- "node-which": "bin/which.js"
- },
- "engines": {
- "node": "^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/edgedriver/node_modules/which/node_modules/isexe": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz",
- "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==",
- "dev": true,
- "engines": {
- "node": ">=16"
+ "edgedriver": "bin/edgedriver.js"
}
},
"node_modules/ee-first": {
@@ -10994,9 +11906,9 @@
}
},
"node_modules/electron-to-chromium": {
- "version": "1.4.284",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz",
- "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA=="
+ "version": "1.4.802",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.802.tgz",
+ "integrity": "sha512-TnTMUATbgNdPXVSHsxvNVSG0uEd6cSZsANjm8c9HbvflZVVn1yTRcmVXYT1Ma95/ssB/Dcd30AHweH2TE+dNpA=="
},
"node_modules/emoji-regex": {
"version": "8.0.0",
@@ -11031,9 +11943,9 @@
}
},
"node_modules/engine.io": {
- "version": "6.4.2",
- "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.4.2.tgz",
- "integrity": "sha512-FKn/3oMiJjrOEOeUub2WCox6JhxBXq/Zn3fZOMCBxKnNYtsdKjxhl7yR3fZhM9PV+rdE75SU5SYMc+2PGzo+Tg==",
+ "version": "6.5.4",
+ "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.5.4.tgz",
+ "integrity": "sha512-KdVSDKhVKyOi+r5uEabrDLZw2qXStVvCsEB/LN3mw4WFi6Gx50jTyuxYVCwAAC0U46FdnzP/ScKRBTXb/NiEOg==",
"dev": true,
"dependencies": {
"@types/cookie": "^0.4.1",
@@ -11044,17 +11956,17 @@
"cookie": "~0.4.1",
"cors": "~2.8.5",
"debug": "~4.3.1",
- "engine.io-parser": "~5.0.3",
+ "engine.io-parser": "~5.2.1",
"ws": "~8.11.0"
},
"engines": {
- "node": ">=10.0.0"
+ "node": ">=10.2.0"
}
},
"node_modules/engine.io-parser": {
- "version": "5.0.6",
- "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.6.tgz",
- "integrity": "sha512-tjuoZDMAdEhVnSFleYPCtdL2GXwVTGtNjoeJd9IhIG3C1xs9uwxqRNEu5WpnDZCaozwVlK/nuQhpodhXSIMaxw==",
+ "version": "5.2.2",
+ "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.2.tgz",
+ "integrity": "sha512-RcyUFKA93/CXH20l4SoVvzZfrSDMOTUS3bWVpTt2FuFP+XYrL8i8oonHP7WInRyVHXh0n/ORtoeiE1os+8qkSw==",
"dev": true,
"engines": {
"node": ">=10.0.0"
@@ -11070,9 +11982,9 @@
}
},
"node_modules/enhanced-resolve": {
- "version": "5.10.0",
- "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz",
- "integrity": "sha512-T0yTFjdpldGY8PmuXXR0PyQ1ufZpEGiHVrp7zHKB7jdR4qlmZHhONVM5AQOAWXuF/w3dnHbEQVrNptJgt7F+cQ==",
+ "version": "5.17.0",
+ "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.0.tgz",
+ "integrity": "sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==",
"dev": true,
"dependencies": {
"graceful-fs": "^4.2.4",
@@ -11083,17 +11995,30 @@
}
},
"node_modules/enquirer": {
- "version": "2.3.6",
- "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz",
- "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==",
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz",
+ "integrity": "sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==",
"dev": true,
"dependencies": {
- "ansi-colors": "^4.1.1"
+ "ansi-colors": "^4.1.1",
+ "strip-ansi": "^6.0.1"
},
"engines": {
"node": ">=8.6"
}
},
+ "node_modules/enquirer/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==",
+ "dev": true,
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/ent": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz",
@@ -11143,35 +12068,57 @@
}
},
"node_modules/es-abstract": {
- "version": "1.20.4",
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.4.tgz",
- "integrity": "sha512-0UtvRN79eMe2L+UNEF1BwRe364sj/DXhQ/k5FmivgoSdpM90b8Jc0mDzKMGo7QS0BVbOP/bTwBKNnDc9rNzaPA==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2",
+ "version": "1.23.3",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz",
+ "integrity": "sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==",
+ "dev": true,
+ "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",
- "function.prototype.name": "^1.1.5",
- "get-intrinsic": "^1.1.3",
- "get-symbol-description": "^1.0.0",
- "has": "^1.0.3",
- "has-property-descriptors": "^1.0.0",
+ "function.prototype.name": "^1.1.6",
+ "get-intrinsic": "^1.2.4",
+ "get-symbol-description": "^1.0.2",
+ "globalthis": "^1.0.3",
+ "gopd": "^1.0.1",
+ "has-property-descriptors": "^1.0.2",
+ "has-proto": "^1.0.3",
"has-symbols": "^1.0.3",
- "internal-slot": "^1.0.3",
+ "hasown": "^2.0.2",
+ "internal-slot": "^1.0.7",
+ "is-array-buffer": "^3.0.4",
"is-callable": "^1.2.7",
- "is-negative-zero": "^2.0.2",
+ "is-data-view": "^1.0.1",
+ "is-negative-zero": "^2.0.3",
"is-regex": "^1.1.4",
- "is-shared-array-buffer": "^1.0.2",
+ "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.12.2",
+ "object-inspect": "^1.13.1",
"object-keys": "^1.1.1",
- "object.assign": "^4.1.4",
- "regexp.prototype.flags": "^1.4.3",
- "safe-regex-test": "^1.0.0",
- "string.prototype.trimend": "^1.0.5",
- "string.prototype.trimstart": "^1.0.5",
- "unbox-primitive": "^1.0.2"
+ "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"
},
"engines": {
"node": ">= 0.4"
@@ -11180,38 +12127,84 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "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-get-iterator": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.2.tgz",
- "integrity": "sha512-+DTO8GYwbMCwbywjimwZMHp8AuYXOS2JZFWoi2AlPOS3ebnII9w/NLpNZtA7A0YLaVDw+O7KFCeoIV7OPvM7hQ==",
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz",
+ "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==",
"dev": true,
"dependencies": {
"call-bind": "^1.0.2",
- "get-intrinsic": "^1.1.0",
- "has-symbols": "^1.0.1",
- "is-arguments": "^1.1.0",
+ "get-intrinsic": "^1.1.3",
+ "has-symbols": "^1.0.3",
+ "is-arguments": "^1.1.1",
"is-map": "^2.0.2",
"is-set": "^2.0.2",
- "is-string": "^1.0.5",
- "isarray": "^2.0.5"
+ "is-string": "^1.0.7",
+ "isarray": "^2.0.5",
+ "stop-iteration-iterator": "^1.0.0"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/es-module-lexer": {
- "version": "0.9.3",
- "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz",
- "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==",
+ "version": "1.5.3",
+ "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.3.tgz",
+ "integrity": "sha512-i1gCgmR9dCl6Vil6UKPI/trA69s08g/syhiDK9TG0Nf1RJjjFI+AzoWW7sPufzkgYAn861skuCwJa0pIIHYxvg==",
"dev": true
},
- "node_modules/es-shim-unscopables": {
+ "node_modules/es-object-atoms": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz",
- "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==",
+ "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz",
+ "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==",
+ "dev": true,
+ "dependencies": {
+ "es-errors": "^1.3.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/es-set-tostringtag": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz",
+ "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==",
+ "dev": true,
+ "dependencies": {
+ "get-intrinsic": "^1.2.4",
+ "has-tostringtag": "^1.0.2",
+ "hasown": "^2.0.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/es-shim-unscopables": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz",
+ "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==",
"dev": true,
"dependencies": {
- "has": "^1.0.3"
+ "hasown": "^2.0.0"
}
},
"node_modules/es-to-primitive": {
@@ -11232,14 +12225,15 @@
}
},
"node_modules/es5-ext": {
- "version": "0.10.62",
- "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.62.tgz",
- "integrity": "sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==",
+ "version": "0.10.64",
+ "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.64.tgz",
+ "integrity": "sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==",
"dev": true,
"hasInstallScript": true,
"dependencies": {
"es6-iterator": "^2.0.3",
"es6-symbol": "^3.1.3",
+ "esniff": "^2.0.1",
"next-tick": "^1.1.0"
},
"engines": {
@@ -11266,12 +12260,6 @@
"es6-symbol": "^3.1.1"
}
},
- "node_modules/es6-object-assign": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/es6-object-assign/-/es6-object-assign-1.1.0.tgz",
- "integrity": "sha512-MEl9uirslVwqQU369iHNWZXsI8yaZYGg/D65aOgZkeyFJwHYSxilf7rQzXKI7DdDuBPrBXbfk3sl9hJhmd5AUw==",
- "dev": true
- },
"node_modules/es6-promise": {
"version": "4.2.8",
"resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz",
@@ -11287,13 +12275,16 @@
}
},
"node_modules/es6-symbol": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz",
- "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==",
+ "version": "3.1.4",
+ "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.4.tgz",
+ "integrity": "sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==",
"dev": true,
"dependencies": {
- "d": "^1.0.1",
- "ext": "^1.1.2"
+ "d": "^1.0.2",
+ "ext": "^1.7.0"
+ },
+ "engines": {
+ "node": ">=0.12"
}
},
"node_modules/es6-weak-map": {
@@ -11309,9 +12300,9 @@
}
},
"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"
}
@@ -11495,13 +12486,14 @@
}
},
"node_modules/eslint-import-resolver-node": {
- "version": "0.3.6",
- "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz",
- "integrity": "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==",
+ "version": "0.3.9",
+ "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz",
+ "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==",
"dev": true,
"dependencies": {
"debug": "^3.2.7",
- "resolve": "^1.20.0"
+ "is-core-module": "^2.13.0",
+ "resolve": "^1.22.4"
}
},
"node_modules/eslint-import-resolver-node/node_modules/debug": {
@@ -11514,9 +12506,9 @@
}
},
"node_modules/eslint-module-utils": {
- "version": "2.7.4",
- "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz",
- "integrity": "sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==",
+ "version": "2.8.1",
+ "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.1.tgz",
+ "integrity": "sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==",
"dev": true,
"dependencies": {
"debug": "^3.2.7"
@@ -11559,24 +12551,28 @@
}
},
"node_modules/eslint-plugin-import": {
- "version": "2.26.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz",
- "integrity": "sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==",
+ "version": "2.29.1",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz",
+ "integrity": "sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==",
"dev": true,
"dependencies": {
- "array-includes": "^3.1.4",
- "array.prototype.flat": "^1.2.5",
- "debug": "^2.6.9",
+ "array-includes": "^3.1.7",
+ "array.prototype.findlastindex": "^1.2.3",
+ "array.prototype.flat": "^1.3.2",
+ "array.prototype.flatmap": "^1.3.2",
+ "debug": "^3.2.7",
"doctrine": "^2.1.0",
- "eslint-import-resolver-node": "^0.3.6",
- "eslint-module-utils": "^2.7.3",
- "has": "^1.0.3",
- "is-core-module": "^2.8.1",
+ "eslint-import-resolver-node": "^0.3.9",
+ "eslint-module-utils": "^2.8.0",
+ "hasown": "^2.0.0",
+ "is-core-module": "^2.13.1",
"is-glob": "^4.0.3",
"minimatch": "^3.1.2",
- "object.values": "^1.1.5",
- "resolve": "^1.22.0",
- "tsconfig-paths": "^3.14.1"
+ "object.fromentries": "^2.0.7",
+ "object.groupby": "^1.0.1",
+ "object.values": "^1.1.7",
+ "semver": "^6.3.1",
+ "tsconfig-paths": "^3.15.0"
},
"engines": {
"node": ">=4"
@@ -11586,12 +12582,12 @@
}
},
"node_modules/eslint-plugin-import/node_modules/debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
+ "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
"dev": true,
"dependencies": {
- "ms": "2.0.0"
+ "ms": "^2.1.1"
}
},
"node_modules/eslint-plugin-import/node_modules/doctrine": {
@@ -11606,12 +12602,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/eslint-plugin-import/node_modules/ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
- "dev": true
- },
"node_modules/eslint-plugin-jsdoc": {
"version": "38.1.6",
"resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-38.1.6.tgz",
@@ -11647,13 +12637,10 @@
}
},
"node_modules/eslint-plugin-jsdoc/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==",
+ "version": "7.6.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz",
+ "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==",
"dev": true,
- "dependencies": {
- "lru-cache": "^6.0.0"
- },
"bin": {
"semver": "bin/semver.js"
},
@@ -11682,9 +12669,9 @@
}
},
"node_modules/eslint-plugin-node/node_modules/ignore": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
- "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==",
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz",
+ "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==",
"dev": true,
"engines": {
"node": ">= 4"
@@ -11832,9 +12819,9 @@
}
},
"node_modules/eslint/node_modules/globals": {
- "version": "13.17.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz",
- "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==",
+ "version": "13.24.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz",
+ "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==",
"dev": true,
"dependencies": {
"type-fest": "^0.20.2"
@@ -11856,13 +12843,10 @@
}
},
"node_modules/eslint/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==",
+ "version": "7.6.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz",
+ "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==",
"dev": true,
- "dependencies": {
- "lru-cache": "^6.0.0"
- },
"bin": {
"semver": "bin/semver.js"
},
@@ -11870,6 +12854,18 @@
"node": ">=10"
}
},
+ "node_modules/eslint/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==",
+ "dev": true,
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/eslint/node_modules/strip-json-comments": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
@@ -11906,6 +12902,21 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/esniff": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/esniff/-/esniff-2.0.1.tgz",
+ "integrity": "sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==",
+ "dev": true,
+ "dependencies": {
+ "d": "^1.0.1",
+ "es5-ext": "^0.10.62",
+ "event-emitter": "^0.3.5",
+ "type": "^2.7.2"
+ },
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
"node_modules/espree": {
"version": "7.3.1",
"resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz",
@@ -11943,9 +12954,9 @@
}
},
"node_modules/esquery": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz",
- "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==",
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz",
+ "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==",
"dev": true,
"dependencies": {
"estraverse": "^5.1.0"
@@ -12047,6 +13058,15 @@
"integrity": "sha512-CkYQrPYZfWnu/DAmVCpTSX/xHpKZ80eKh2lAkyA6AJTef6bW+6JpbQZN5rofum7da+SyN1bi5ctTm+lTfcCW3g==",
"dev": true
},
+ "node_modules/event-target-shim": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz",
+ "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/eventemitter3": {
"version": "4.0.7",
"resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz",
@@ -12096,6 +13116,12 @@
"node": ">=4.8"
}
},
+ "node_modules/execa/node_modules/isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
+ "dev": true
+ },
"node_modules/execa/node_modules/path-key": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
@@ -12198,72 +13224,17 @@
"node": ">=0.10.0"
}
},
- "node_modules/expand-brackets/node_modules/is-accessor-descriptor": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
- "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==",
- "dev": true,
- "dependencies": {
- "kind-of": "^3.0.2"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/expand-brackets/node_modules/is-accessor-descriptor/node_modules/kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
- "dev": true,
- "dependencies": {
- "is-buffer": "^1.1.5"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/expand-brackets/node_modules/is-buffer": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
- "dev": true
- },
- "node_modules/expand-brackets/node_modules/is-data-descriptor": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
- "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==",
- "dev": true,
- "dependencies": {
- "kind-of": "^3.0.2"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/expand-brackets/node_modules/is-data-descriptor/node_modules/kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
- "dev": true,
- "dependencies": {
- "is-buffer": "^1.1.5"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/expand-brackets/node_modules/is-descriptor": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
- "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz",
+ "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==",
"dev": true,
"dependencies": {
- "is-accessor-descriptor": "^0.1.6",
- "is-data-descriptor": "^0.1.4",
- "kind-of": "^5.0.0"
+ "is-accessor-descriptor": "^1.0.1",
+ "is-data-descriptor": "^1.0.1"
},
"engines": {
- "node": ">=0.10.0"
+ "node": ">= 0.4"
}
},
"node_modules/expand-brackets/node_modules/is-extendable": {
@@ -12310,12 +13281,12 @@
}
},
"node_modules/expect-webdriverio": {
- "version": "4.9.3",
- "resolved": "https://registry.npmjs.org/expect-webdriverio/-/expect-webdriverio-4.9.3.tgz",
- "integrity": "sha512-ASHsFc/QaK5ipF4ct3e8hd3elm8wNXk/Qa3EemtYDmfUQ4uzwqDf75m/QFQpwVNCjEpkNP7Be/6X9kz7bN0P9Q==",
+ "version": "4.15.0",
+ "resolved": "https://registry.npmjs.org/expect-webdriverio/-/expect-webdriverio-4.15.0.tgz",
+ "integrity": "sha512-CIBSLEhDmjZ7kKZq6ItBM7V1jLH/w4JCuKGu3WmR4FscOPvOnp9JN4Zi26SZGeQ73E0dy+YPUL6SIvTNoP/XdQ==",
"dev": true,
"dependencies": {
- "@vitest/snapshot": "^1.2.1",
+ "@vitest/snapshot": "^1.2.2",
"expect": "^29.7.0",
"jest-matcher-utils": "^29.7.0",
"lodash.isequal": "^4.5.0"
@@ -12324,26 +13295,23 @@
"node": ">=16 || >=18 || >=20"
},
"optionalDependencies": {
- "@wdio/globals": "^8.27.0",
- "@wdio/logger": "^8.24.12",
- "webdriverio": "^8.27.0"
+ "@wdio/globals": "^8.29.3",
+ "@wdio/logger": "^8.28.0",
+ "webdriverio": "^8.29.3"
}
},
"node_modules/expect-webdriverio/node_modules/@puppeteer/browsers": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-1.3.0.tgz",
- "integrity": "sha512-an3QdbNPkuU6qpxpbssxAbjRLJcF+eP4L8UqIY3+6n0sbaVxw5pz7PiCLy9g32XEZuoamUlV5ZQPnA6FxvkIHA==",
+ "version": "1.4.6",
+ "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-1.4.6.tgz",
+ "integrity": "sha512-x4BEjr2SjOPowNeiguzjozQbsc6h437ovD/wu+JpaenxVLm3jkgzHY2xOslMTp50HoTvQreMjiexiGQw1sqZlQ==",
"dev": true,
"optional": true,
- "peer": 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",
+ "proxy-agent": "6.3.0",
+ "tar-fs": "3.0.4",
"unbzip2-stream": "1.4.3",
"yargs": "17.7.1"
},
@@ -12351,7 +13319,7 @@
"browsers": "lib/cjs/main-cli.js"
},
"engines": {
- "node": ">=16.0.0"
+ "node": ">=16.3.0"
},
"peerDependencies": {
"typescript": ">= 4.7.4"
@@ -12362,49 +13330,105 @@
}
}
},
- "node_modules/expect-webdriverio/node_modules/@types/which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/@types/which/-/which-2.0.2.tgz",
- "integrity": "sha512-113D3mDkZDjo+EeUEHCFy0qniNc1ZpecGiAU7WSo7YDoSzolZIQKpYFHrPpjkB2nuyahcKfrmLXeQlh7gqJYdw==",
+ "node_modules/expect-webdriverio/node_modules/@puppeteer/browsers/node_modules/debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
"dev": true,
"optional": true,
- "peer": true
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/expect-webdriverio/node_modules/@puppeteer/browsers/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==",
+ "dev": true,
+ "optional": true
+ },
+ "node_modules/expect-webdriverio/node_modules/agent-base": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz",
+ "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "debug": "^4.3.4"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/expect-webdriverio/node_modules/agent-base/node_modules/debug": {
+ "version": "4.3.5",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz",
+ "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/expect-webdriverio/node_modules/agent-base/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==",
+ "dev": true,
+ "optional": true
},
"node_modules/expect-webdriverio/node_modules/archiver": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/archiver/-/archiver-6.0.1.tgz",
- "integrity": "sha512-CXGy4poOLBKptiZH//VlWdFuUC1RESbdZjGjILwBuZ73P7WkAUN0htfSfBq/7k6FRFlpu7bg4JOkj1vU9G6jcQ==",
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/archiver/-/archiver-7.0.1.tgz",
+ "integrity": "sha512-ZcbTaIqJOfCc03QwD468Unz/5Ir8ATtvAHsK+FdXbDIbGfihqh9mrvdcYunQzqn4HrvWWaFyaxJhGZagaJJpPQ==",
"dev": true,
"optional": true,
"dependencies": {
- "archiver-utils": "^4.0.1",
+ "archiver-utils": "^5.0.2",
"async": "^3.2.4",
- "buffer-crc32": "^0.2.1",
- "readable-stream": "^3.6.0",
+ "buffer-crc32": "^1.0.0",
+ "readable-stream": "^4.0.0",
"readdir-glob": "^1.1.2",
"tar-stream": "^3.0.0",
- "zip-stream": "^5.0.1"
+ "zip-stream": "^6.0.1"
},
"engines": {
- "node": ">= 12.0.0"
+ "node": ">= 14"
}
},
"node_modules/expect-webdriverio/node_modules/archiver-utils": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-4.0.1.tgz",
- "integrity": "sha512-Q4Q99idbvzmgCTEAAhi32BkOyq8iVI5EwdO0PmBDSGIzzjYNdcFn7Q7k3OzbLy4kLUPXfJtG6fO2RjftXbobBg==",
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-5.0.2.tgz",
+ "integrity": "sha512-wuLJMmIBQYCsGZgYLTy5FIB2pF6Lfb6cXMSF8Qywwk3t20zWnAi7zLcQFdKQmIB8wyZpY5ER38x08GbwtR2cLA==",
"dev": true,
"optional": true,
"dependencies": {
- "glob": "^8.0.0",
+ "glob": "^10.0.0",
"graceful-fs": "^4.2.0",
+ "is-stream": "^2.0.1",
"lazystream": "^1.0.0",
"lodash": "^4.17.15",
"normalize-path": "^3.0.0",
- "readable-stream": "^3.6.0"
+ "readable-stream": "^4.0.0"
},
"engines": {
- "node": ">= 12.0.0"
+ "node": ">= 14"
}
},
"node_modules/expect-webdriverio/node_modules/async": {
@@ -12424,10 +13448,45 @@
"balanced-match": "^1.0.0"
}
},
+ "node_modules/expect-webdriverio/node_modules/buffer": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
+ "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "optional": true,
+ "dependencies": {
+ "base64-js": "^1.3.1",
+ "ieee754": "^1.2.1"
+ }
+ },
+ "node_modules/expect-webdriverio/node_modules/buffer-crc32": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-1.0.0.tgz",
+ "integrity": "sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w==",
+ "dev": true,
+ "optional": true,
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
"node_modules/expect-webdriverio/node_modules/chrome-launcher": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/chrome-launcher/-/chrome-launcher-1.1.0.tgz",
- "integrity": "sha512-rJYWeEAERwWIr3c3mEVXwNiODPEdMRlRxHc47B1qHPOolHZnkj7rMv1QSUfPoG6MgatWj5AxSpnKKR4QEwEQIQ==",
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/chrome-launcher/-/chrome-launcher-1.1.2.tgz",
+ "integrity": "sha512-YclTJey34KUm5jB1aEJCq807bSievi7Nb/TU4Gu504fUYi3jw3KCIaH6L7nFWQhdEgH3V+wCh+kKD1P5cXnfxw==",
"dev": true,
"optional": true,
"peer": true,
@@ -12445,66 +13504,77 @@
}
},
"node_modules/expect-webdriverio/node_modules/compress-commons": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-5.0.1.tgz",
- "integrity": "sha512-MPh//1cERdLtqwO3pOFLeXtpuai0Y2WCd5AhtKxznqM7WtaMYaOEMSgn45d9D10sIHSfIKE603HlOp8OPGrvag==",
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-6.0.2.tgz",
+ "integrity": "sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg==",
"dev": true,
"optional": true,
"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.0.0"
},
"engines": {
- "node": ">= 12.0.0"
+ "node": ">= 14"
}
},
"node_modules/expect-webdriverio/node_modules/crc32-stream": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-5.0.0.tgz",
- "integrity": "sha512-B0EPa1UK+qnpBZpG+7FgPCu0J2ETLpXq09o9BkLkEAhdB6Z61Qo4pJ3JYu0c+Qi+/SAL7QThqnzS06pmSSyZaw==",
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-6.0.0.tgz",
+ "integrity": "sha512-piICUB6ei4IlTv1+653yq5+KoqfBYmj9bw6LqXoOneTMDXk5nM1qt12mFW1caG3LlJXEKW1Bp0WggEmIfQB34g==",
"dev": true,
"optional": true,
"dependencies": {
"crc-32": "^1.2.0",
- "readable-stream": "^3.4.0"
+ "readable-stream": "^4.0.0"
},
"engines": {
- "node": ">= 12.0.0"
+ "node": ">= 14"
}
},
"node_modules/expect-webdriverio/node_modules/cross-fetch": {
- "version": "3.1.6",
- "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.6.tgz",
- "integrity": "sha512-riRvo06crlE8HiqOwIpQhxwdOk4fOeR7FVM/wXoxchFEqMNUjvbs3bfo4OTgMEMHzppd4DxFBDbyySj8Cv781g==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.0.0.tgz",
+ "integrity": "sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "node-fetch": "^2.6.12"
+ }
+ },
+ "node_modules/expect-webdriverio/node_modules/debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"dev": true,
"optional": true,
"peer": true,
"dependencies": {
- "node-fetch": "^2.6.11"
+ "ms": "2.0.0"
}
},
"node_modules/expect-webdriverio/node_modules/devtools": {
- "version": "8.29.1",
- "resolved": "https://registry.npmjs.org/devtools/-/devtools-8.29.1.tgz",
- "integrity": "sha512-fbH0Z7CPK4OZSgUw2QcAppczowxtSyvFztPUmiFyi99cUadjEOwlg0aL3pBVlIDo67olYjGb8GD1M5Z4yI/P6w==",
+ "version": "8.38.2",
+ "resolved": "https://registry.npmjs.org/devtools/-/devtools-8.38.2.tgz",
+ "integrity": "sha512-8b+naOPzYqzsiYtZZKYJnUnSqSOIg5orvna2SlWT2kFhkggbAJ1bbMzW7rps6onLfxp93wCNEIvngb9JuxwDsg==",
"dev": true,
"optional": true,
"peer": true,
"dependencies": {
"@types/node": "^20.1.0",
- "@wdio/config": "8.29.1",
- "@wdio/logger": "8.28.0",
- "@wdio/protocols": "8.24.12",
- "@wdio/types": "8.29.1",
- "@wdio/utils": "8.29.1",
+ "@wdio/config": "8.38.2",
+ "@wdio/logger": "8.38.0",
+ "@wdio/protocols": "8.38.0",
+ "@wdio/types": "8.38.2",
+ "@wdio/utils": "8.38.2",
"chrome-launcher": "^1.0.0",
"edge-paths": "^3.0.5",
"import-meta-resolve": "^4.0.0",
"puppeteer-core": "20.3.0",
"query-selector-shadow-dom": "^1.0.0",
- "ua-parser-js": "^1.0.1",
+ "ua-parser-js": "^1.0.37",
"uuid": "^9.0.0",
"which": "^4.0.0"
},
@@ -12513,6 +13583,104 @@
}
},
"node_modules/expect-webdriverio/node_modules/devtools-protocol": {
+ "version": "0.0.1302984",
+ "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1302984.tgz",
+ "integrity": "sha512-Rgh2Sk5fUSCtEx4QGH9iwTyECdFPySG2nlz5J8guGh2Wlha6uzSOCq/DCEC8faHlLaMPZJMuZ4ovgcX4LvOkKA==",
+ "dev": true,
+ "optional": true
+ },
+ "node_modules/expect-webdriverio/node_modules/devtools/node_modules/@puppeteer/browsers": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-1.3.0.tgz",
+ "integrity": "sha512-an3QdbNPkuU6qpxpbssxAbjRLJcF+eP4L8UqIY3+6n0sbaVxw5pz7PiCLy9g32XEZuoamUlV5ZQPnA6FxvkIHA==",
+ "dev": true,
+ "optional": true,
+ "peer": 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",
+ "unbzip2-stream": "1.4.3",
+ "yargs": "17.7.1"
+ },
+ "bin": {
+ "browsers": "lib/cjs/main-cli.js"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ },
+ "peerDependencies": {
+ "typescript": ">= 4.7.4"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/expect-webdriverio/node_modules/devtools/node_modules/agent-base": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
+ "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
+ "dev": true,
+ "optional": true,
+ "peer": true,
+ "dependencies": {
+ "debug": "4"
+ },
+ "engines": {
+ "node": ">= 6.0.0"
+ }
+ },
+ "node_modules/expect-webdriverio/node_modules/devtools/node_modules/chromium-bidi": {
+ "version": "0.4.9",
+ "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-0.4.9.tgz",
+ "integrity": "sha512-u3DC6XwgLCA9QJ5ak1voPslCmacQdulZNCPsI3qNXxSnEcZS7DFIbww+5RM2bznMEje7cc0oydavRLRvOIZtHw==",
+ "dev": true,
+ "optional": true,
+ "peer": true,
+ "dependencies": {
+ "mitt": "3.0.0"
+ },
+ "peerDependencies": {
+ "devtools-protocol": "*"
+ }
+ },
+ "node_modules/expect-webdriverio/node_modules/devtools/node_modules/cross-fetch": {
+ "version": "3.1.6",
+ "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.6.tgz",
+ "integrity": "sha512-riRvo06crlE8HiqOwIpQhxwdOk4fOeR7FVM/wXoxchFEqMNUjvbs3bfo4OTgMEMHzppd4DxFBDbyySj8Cv781g==",
+ "dev": true,
+ "optional": true,
+ "peer": true,
+ "dependencies": {
+ "node-fetch": "^2.6.11"
+ }
+ },
+ "node_modules/expect-webdriverio/node_modules/devtools/node_modules/debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "dev": true,
+ "optional": true,
+ "peer": true,
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/expect-webdriverio/node_modules/devtools/node_modules/devtools-protocol": {
"version": "0.0.1120988",
"resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1120988.tgz",
"integrity": "sha512-39fCpE3Z78IaIPChJsP6Lhmkbf4dWXOmzLk/KFTdRkNk/0JymRIfUynDVRndV9HoDz8PyalK1UH21ST/ivwW5Q==",
@@ -12520,39 +13688,118 @@
"optional": true,
"peer": true
},
- "node_modules/expect-webdriverio/node_modules/devtools/node_modules/which": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz",
- "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==",
+ "node_modules/expect-webdriverio/node_modules/devtools/node_modules/http-proxy-agent": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz",
+ "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==",
"dev": true,
"optional": true,
"peer": true,
"dependencies": {
- "isexe": "^3.1.1"
+ "@tootallnate/once": "2",
+ "agent-base": "6",
+ "debug": "4"
},
- "bin": {
- "node-which": "bin/which.js"
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/expect-webdriverio/node_modules/devtools/node_modules/https-proxy-agent": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
+ "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
+ "dev": true,
+ "optional": true,
+ "peer": true,
+ "dependencies": {
+ "agent-base": "6",
+ "debug": "4"
},
"engines": {
- "node": "^16.13.0 || >=18.0.0"
+ "node": ">= 6"
}
},
- "node_modules/expect-webdriverio/node_modules/edge-paths": {
- "version": "3.0.5",
- "resolved": "https://registry.npmjs.org/edge-paths/-/edge-paths-3.0.5.tgz",
- "integrity": "sha512-sB7vSrDnFa4ezWQk9nZ/n0FdpdUuC6R1EOrlU3DL+bovcNFK28rqu2emmAUjujYEJTWIgQGqgVVWUZXMnc8iWg==",
+ "node_modules/expect-webdriverio/node_modules/devtools/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==",
+ "dev": true,
+ "optional": true,
+ "peer": true
+ },
+ "node_modules/expect-webdriverio/node_modules/devtools/node_modules/puppeteer-core": {
+ "version": "20.3.0",
+ "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-20.3.0.tgz",
+ "integrity": "sha512-264pBrIui5bO6NJeOcbJrLa0OCwmA4+WK00JMrLIKTfRiqe2gx8KWTzLsjyw/bizErp3TKS7vt/I0i5fTC+mAw==",
"dev": true,
"optional": true,
"peer": true,
"dependencies": {
- "@types/which": "^2.0.1",
- "which": "^2.0.2"
+ "@puppeteer/browsers": "1.3.0",
+ "chromium-bidi": "0.4.9",
+ "cross-fetch": "3.1.6",
+ "debug": "4.3.4",
+ "devtools-protocol": "0.0.1120988",
+ "ws": "8.13.0"
},
"engines": {
- "node": ">=14.0.0"
+ "node": ">=16.0.0"
},
- "funding": {
- "url": "https://github.com/sponsors/shirshak55"
+ "peerDependencies": {
+ "typescript": ">= 4.7.4"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/expect-webdriverio/node_modules/devtools/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==",
+ "dev": true,
+ "optional": true,
+ "peer": true,
+ "dependencies": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/expect-webdriverio/node_modules/devtools/node_modules/tar-fs": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz",
+ "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==",
+ "dev": true,
+ "optional": true,
+ "peer": true,
+ "dependencies": {
+ "chownr": "^1.1.1",
+ "mkdirp-classic": "^0.5.2",
+ "pump": "^3.0.0",
+ "tar-stream": "^2.1.4"
+ }
+ },
+ "node_modules/expect-webdriverio/node_modules/devtools/node_modules/tar-stream": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz",
+ "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==",
+ "dev": true,
+ "optional": true,
+ "peer": true,
+ "dependencies": {
+ "bl": "^4.0.3",
+ "end-of-stream": "^1.4.1",
+ "fs-constants": "^1.0.0",
+ "inherits": "^2.0.3",
+ "readable-stream": "^3.1.1"
+ },
+ "engines": {
+ "node": ">=6"
}
},
"node_modules/expect-webdriverio/node_modules/escape-string-regexp": {
@@ -12569,64 +13816,56 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/expect-webdriverio/node_modules/glob": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz",
- "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==",
+ "node_modules/expect-webdriverio/node_modules/https-proxy-agent": {
+ "version": "7.0.4",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz",
+ "integrity": "sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==",
"dev": true,
"optional": true,
"dependencies": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^5.0.1",
- "once": "^1.3.0"
+ "agent-base": "^7.0.2",
+ "debug": "4"
},
"engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
+ "node": ">= 14"
}
},
- "node_modules/expect-webdriverio/node_modules/glob/node_modules/minimatch": {
- "version": "5.1.6",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
- "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
+ "node_modules/expect-webdriverio/node_modules/https-proxy-agent/node_modules/debug": {
+ "version": "4.3.5",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz",
+ "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==",
"dev": true,
"optional": true,
"dependencies": {
- "brace-expansion": "^2.0.1"
+ "ms": "2.1.2"
},
"engines": {
- "node": ">=10"
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
}
},
- "node_modules/expect-webdriverio/node_modules/http-proxy-agent": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz",
- "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==",
+ "node_modules/expect-webdriverio/node_modules/https-proxy-agent/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==",
"dev": true,
- "optional": true,
- "peer": true,
- "dependencies": {
- "@tootallnate/once": "2",
- "agent-base": "6",
- "debug": "4"
- },
- "engines": {
- "node": ">= 6"
- }
+ "optional": true
},
- "node_modules/expect-webdriverio/node_modules/isexe": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz",
- "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==",
+ "node_modules/expect-webdriverio/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==",
"dev": true,
"optional": true,
- "peer": true,
"engines": {
- "node": ">=16"
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/expect-webdriverio/node_modules/lighthouse-logger": {
@@ -12641,17 +13880,6 @@
"marky": "^1.2.2"
}
},
- "node_modules/expect-webdriverio/node_modules/lighthouse-logger/node_modules/debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "optional": true,
- "peer": true,
- "dependencies": {
- "ms": "2.0.0"
- }
- },
"node_modules/expect-webdriverio/node_modules/lru-cache": {
"version": "7.18.3",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz",
@@ -12663,9 +13891,9 @@
}
},
"node_modules/expect-webdriverio/node_modules/minimatch": {
- "version": "9.0.3",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz",
- "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==",
+ "version": "9.0.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz",
+ "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==",
"dev": true,
"optional": true,
"dependencies": {
@@ -12727,64 +13955,47 @@
"node": ">= 14"
}
},
- "node_modules/expect-webdriverio/node_modules/proxy-agent/node_modules/agent-base": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz",
- "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==",
+ "node_modules/expect-webdriverio/node_modules/proxy-agent/node_modules/debug": {
+ "version": "4.3.5",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz",
+ "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==",
"dev": true,
"optional": true,
"dependencies": {
- "debug": "^4.3.4"
+ "ms": "2.1.2"
},
"engines": {
- "node": ">= 14"
- }
- },
- "node_modules/expect-webdriverio/node_modules/proxy-agent/node_modules/http-proxy-agent": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.0.tgz",
- "integrity": "sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==",
- "dev": true,
- "optional": true,
- "dependencies": {
- "agent-base": "^7.1.0",
- "debug": "^4.3.4"
+ "node": ">=6.0"
},
- "engines": {
- "node": ">= 14"
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
}
},
- "node_modules/expect-webdriverio/node_modules/proxy-agent/node_modules/https-proxy-agent": {
- "version": "7.0.2",
- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz",
- "integrity": "sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==",
+ "node_modules/expect-webdriverio/node_modules/proxy-agent/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==",
"dev": true,
- "optional": true,
- "dependencies": {
- "agent-base": "^7.0.2",
- "debug": "4"
- },
- "engines": {
- "node": ">= 14"
- }
+ "optional": true
},
"node_modules/expect-webdriverio/node_modules/puppeteer-core": {
- "version": "20.3.0",
- "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-20.3.0.tgz",
- "integrity": "sha512-264pBrIui5bO6NJeOcbJrLa0OCwmA4+WK00JMrLIKTfRiqe2gx8KWTzLsjyw/bizErp3TKS7vt/I0i5fTC+mAw==",
+ "version": "20.9.0",
+ "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-20.9.0.tgz",
+ "integrity": "sha512-H9fYZQzMTRrkboEfPmf7m3CLDN6JvbxXA3qTtS+dFt27tR+CsFHzPsT6pzp6lYL6bJbAPaR0HaPO6uSi+F94Pg==",
"dev": true,
"optional": true,
- "peer": true,
"dependencies": {
- "@puppeteer/browsers": "1.3.0",
- "chromium-bidi": "0.4.9",
- "cross-fetch": "3.1.6",
+ "@puppeteer/browsers": "1.4.6",
+ "chromium-bidi": "0.4.16",
+ "cross-fetch": "4.0.0",
"debug": "4.3.4",
- "devtools-protocol": "0.0.1120988",
+ "devtools-protocol": "0.0.1147663",
"ws": "8.13.0"
},
"engines": {
- "node": ">=16.0.0"
+ "node": ">=16.3.0"
},
"peerDependencies": {
"typescript": ">= 4.7.4"
@@ -12795,19 +14006,53 @@
}
}
},
+ "node_modules/expect-webdriverio/node_modules/puppeteer-core/node_modules/debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/expect-webdriverio/node_modules/puppeteer-core/node_modules/devtools-protocol": {
+ "version": "0.0.1147663",
+ "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1147663.tgz",
+ "integrity": "sha512-hyWmRrexdhbZ1tcJUGpO95ivbRhWXz++F4Ko+n21AY5PNln2ovoJw+8ZMNDTtip+CNFQfrtLVh/w4009dXO/eQ==",
+ "dev": true,
+ "optional": true
+ },
+ "node_modules/expect-webdriverio/node_modules/puppeteer-core/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==",
+ "dev": true,
+ "optional": true
+ },
"node_modules/expect-webdriverio/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==",
+ "version": "4.5.2",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz",
+ "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==",
"dev": true,
"optional": true,
"dependencies": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
+ "abort-controller": "^3.0.0",
+ "buffer": "^6.0.3",
+ "events": "^3.3.0",
+ "process": "^0.11.10",
+ "string_decoder": "^1.3.0"
},
"engines": {
- "node": ">= 6"
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
}
},
"node_modules/expect-webdriverio/node_modules/serialize-error": {
@@ -12826,16 +14071,14 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/expect-webdriverio/node_modules/tar-stream": {
- "version": "3.1.7",
- "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz",
- "integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==",
+ "node_modules/expect-webdriverio/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==",
"dev": true,
"optional": true,
"dependencies": {
- "b4a": "^1.6.4",
- "fast-fifo": "^1.2.0",
- "streamx": "^2.15.0"
+ "safe-buffer": "~5.2.0"
}
},
"node_modules/expect-webdriverio/node_modules/type-fest": {
@@ -12852,9 +14095,9 @@
}
},
"node_modules/expect-webdriverio/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==",
+ "version": "1.0.38",
+ "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.38.tgz",
+ "integrity": "sha512-Aq5ppTOfvrCMgAPneW1HfWj66Xi7XL+/mIy996R1/CLS/rcyJQm6QZdsKrUeivDFQ+Oc9Wyuwor8Ze8peEoUoQ==",
"dev": true,
"funding": [
{
@@ -12876,43 +14119,29 @@
"node": "*"
}
},
- "node_modules/expect-webdriverio/node_modules/uuid": {
- "version": "9.0.1",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz",
- "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==",
- "dev": true,
- "funding": [
- "https://github.com/sponsors/broofa",
- "https://github.com/sponsors/ctavan"
- ],
- "optional": true,
- "peer": true,
- "bin": {
- "uuid": "dist/bin/uuid"
- }
- },
"node_modules/expect-webdriverio/node_modules/webdriverio": {
- "version": "8.29.1",
- "resolved": "https://registry.npmjs.org/webdriverio/-/webdriverio-8.29.1.tgz",
- "integrity": "sha512-NZK95ivXCqdPraB3FHMw6ByxnCvtgFXkjzG2l3Oq5z0IuJS2aMow3AKFIyiuG6is/deGCe+Tb8eFTCqak7UV+w==",
+ "version": "8.38.2",
+ "resolved": "https://registry.npmjs.org/webdriverio/-/webdriverio-8.38.2.tgz",
+ "integrity": "sha512-r09y5UfivyYh5JOzT2SpJJ1zDmQl/R4OTH12opUqkjvp21BibCQm/uu1mrxGy4lzSHljrvqSVrrcGI+6UA1O8w==",
"dev": true,
"optional": true,
"dependencies": {
"@types/node": "^20.1.0",
- "@wdio/config": "8.29.1",
- "@wdio/logger": "8.28.0",
- "@wdio/protocols": "8.24.12",
+ "@wdio/config": "8.38.2",
+ "@wdio/logger": "8.38.0",
+ "@wdio/protocols": "8.38.0",
"@wdio/repl": "8.24.12",
- "@wdio/types": "8.29.1",
- "@wdio/utils": "8.29.1",
- "archiver": "^6.0.0",
+ "@wdio/types": "8.38.2",
+ "@wdio/utils": "8.38.2",
+ "archiver": "^7.0.0",
"aria-query": "^5.0.0",
"css-shorthand-properties": "^1.1.1",
"css-value": "^0.0.1",
- "devtools-protocol": "^0.0.1249869",
+ "devtools-protocol": "^0.0.1302984",
"grapheme-splitter": "^1.0.2",
"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.0",
@@ -12921,7 +14150,7 @@
"resq": "^1.9.1",
"rgb2hex": "0.2.5",
"serialize-error": "^11.0.1",
- "webdriver": "8.29.1"
+ "webdriver": "8.38.2"
},
"engines": {
"node": "^16.13 || >=18"
@@ -12935,111 +14164,6 @@
}
}
},
- "node_modules/expect-webdriverio/node_modules/webdriverio/node_modules/@puppeteer/browsers": {
- "version": "1.4.6",
- "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-1.4.6.tgz",
- "integrity": "sha512-x4BEjr2SjOPowNeiguzjozQbsc6h437ovD/wu+JpaenxVLm3jkgzHY2xOslMTp50HoTvQreMjiexiGQw1sqZlQ==",
- "dev": true,
- "optional": true,
- "dependencies": {
- "debug": "4.3.4",
- "extract-zip": "2.0.1",
- "progress": "2.0.3",
- "proxy-agent": "6.3.0",
- "tar-fs": "3.0.4",
- "unbzip2-stream": "1.4.3",
- "yargs": "17.7.1"
- },
- "bin": {
- "browsers": "lib/cjs/main-cli.js"
- },
- "engines": {
- "node": ">=16.3.0"
- },
- "peerDependencies": {
- "typescript": ">= 4.7.4"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/expect-webdriverio/node_modules/webdriverio/node_modules/chromium-bidi": {
- "version": "0.4.16",
- "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-0.4.16.tgz",
- "integrity": "sha512-7ZbXdWERxRxSwo3txsBjjmc/NLxqb1Bk30mRb0BMS4YIaiV6zvKZqL/UAH+DdqcDYayDWk2n/y8klkBDODrPvA==",
- "dev": true,
- "optional": true,
- "dependencies": {
- "mitt": "3.0.0"
- },
- "peerDependencies": {
- "devtools-protocol": "*"
- }
- },
- "node_modules/expect-webdriverio/node_modules/webdriverio/node_modules/cross-fetch": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.0.0.tgz",
- "integrity": "sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==",
- "dev": true,
- "optional": true,
- "dependencies": {
- "node-fetch": "^2.6.12"
- }
- },
- "node_modules/expect-webdriverio/node_modules/webdriverio/node_modules/devtools-protocol": {
- "version": "0.0.1249869",
- "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1249869.tgz",
- "integrity": "sha512-Ctp4hInA0BEavlUoRy9mhGq0i+JSo/AwVyX2EFgZmV1kYB+Zq+EMBAn52QWu6FbRr10hRb6pBl420upbp4++vg==",
- "dev": true,
- "optional": true
- },
- "node_modules/expect-webdriverio/node_modules/webdriverio/node_modules/puppeteer-core": {
- "version": "20.9.0",
- "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-20.9.0.tgz",
- "integrity": "sha512-H9fYZQzMTRrkboEfPmf7m3CLDN6JvbxXA3qTtS+dFt27tR+CsFHzPsT6pzp6lYL6bJbAPaR0HaPO6uSi+F94Pg==",
- "dev": true,
- "optional": true,
- "dependencies": {
- "@puppeteer/browsers": "1.4.6",
- "chromium-bidi": "0.4.16",
- "cross-fetch": "4.0.0",
- "debug": "4.3.4",
- "devtools-protocol": "0.0.1147663",
- "ws": "8.13.0"
- },
- "engines": {
- "node": ">=16.3.0"
- },
- "peerDependencies": {
- "typescript": ">= 4.7.4"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/expect-webdriverio/node_modules/webdriverio/node_modules/puppeteer-core/node_modules/devtools-protocol": {
- "version": "0.0.1147663",
- "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1147663.tgz",
- "integrity": "sha512-hyWmRrexdhbZ1tcJUGpO95ivbRhWXz++F4Ko+n21AY5PNln2ovoJw+8ZMNDTtip+CNFQfrtLVh/w4009dXO/eQ==",
- "dev": true,
- "optional": true
- },
- "node_modules/expect-webdriverio/node_modules/webdriverio/node_modules/tar-fs": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.4.tgz",
- "integrity": "sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w==",
- "dev": true,
- "optional": true,
- "dependencies": {
- "mkdirp-classic": "^0.5.2",
- "pump": "^3.0.0",
- "tar-stream": "^3.1.5"
- }
- },
"node_modules/expect-webdriverio/node_modules/ws": {
"version": "8.13.0",
"resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz",
@@ -13082,18 +14206,18 @@
}
},
"node_modules/expect-webdriverio/node_modules/zip-stream": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-5.0.1.tgz",
- "integrity": "sha512-UfZ0oa0C8LI58wJ+moL46BDIMgCQbnsb+2PoiJYtonhBsMh2bq1eRBVkvjfVsqbEHd9/EgKPUuL9saSSsec8OA==",
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-6.0.1.tgz",
+ "integrity": "sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==",
"dev": true,
"optional": true,
"dependencies": {
- "archiver-utils": "^4.0.1",
- "compress-commons": "^5.0.1",
- "readable-stream": "^3.6.0"
+ "archiver-utils": "^5.0.0",
+ "compress-commons": "^6.0.2",
+ "readable-stream": "^4.0.0"
},
"engines": {
- "node": ">= 12.0.0"
+ "node": ">= 14"
}
},
"node_modules/express": {
@@ -13159,12 +14283,6 @@
"type": "^2.7.2"
}
},
- "node_modules/ext/node_modules/type": {
- "version": "2.7.2",
- "resolved": "https://registry.npmjs.org/type/-/type-2.7.2.tgz",
- "integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==",
- "dev": true
- },
"node_modules/extend": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
@@ -13206,6 +14324,18 @@
"node": ">=4"
}
},
+ "node_modules/external-editor/node_modules/tmp": {
+ "version": "0.0.33",
+ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
+ "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
+ "dev": true,
+ "dependencies": {
+ "os-tmpdir": "~1.0.2"
+ },
+ "engines": {
+ "node": ">=0.6.0"
+ }
+ },
"node_modules/extglob": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
@@ -13293,6 +14423,16 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/extract-zip/node_modules/yauzl": {
+ "version": "2.10.0",
+ "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
+ "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==",
+ "dev": true,
+ "dependencies": {
+ "buffer-crc32": "~0.2.3",
+ "fd-slicer": "~1.1.0"
+ }
+ },
"node_modules/extsprintf": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
@@ -13398,24 +14538,37 @@
}
},
"node_modules/fetch-blob/node_modules/web-streams-polyfill": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.2.tgz",
- "integrity": "sha512-3pRGuxRF5gpuZc0W+EpwQRmCD7gRqcDOMt688KmdlDAgAyaB1XlN0zq2njfDNm44XVdIouE7pZ6GzbdyH47uIQ==",
+ "version": "3.3.3",
+ "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz",
+ "integrity": "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==",
"dev": true,
"engines": {
"node": ">= 8"
}
},
"node_modules/figures": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz",
- "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==",
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/figures/-/figures-5.0.0.tgz",
+ "integrity": "sha512-ej8ksPF4x6e5wvK9yevct0UCXh8TTFlWGVLlgjZuoBH1HwjIfKE/IdL5mq89sFA7zELi1VhKpmtDnrs7zWyeyg==",
"dev": true,
"dependencies": {
- "escape-string-regexp": "^1.0.5"
+ "escape-string-regexp": "^5.0.0",
+ "is-unicode-supported": "^1.2.0"
},
"engines": {
- "node": ">=8"
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/figures/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==",
+ "dev": true,
+ "engines": {
+ "node": ">=12"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
@@ -13471,9 +14624,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==",
"dev": true,
"dependencies": {
"to-regex-range": "^5.0.1"
@@ -13780,12 +14933,13 @@
}
},
"node_modules/flat-cache": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz",
- "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz",
+ "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==",
"dev": true,
"dependencies": {
- "flatted": "^3.1.0",
+ "flatted": "^3.2.9",
+ "keyv": "^4.5.3",
"rimraf": "^3.0.2"
},
"engines": {
@@ -13793,9 +14947,9 @@
}
},
"node_modules/flatted": {
- "version": "3.2.7",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz",
- "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==",
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz",
+ "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==",
"dev": true
},
"node_modules/flush-write-stream": {
@@ -13865,9 +15019,9 @@
"dev": true
},
"node_modules/foreground-child": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz",
- "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.2.0.tgz",
+ "integrity": "sha512-CrWQNaEl1/6WeZoarcM9LHupTo3RpZO2Pdk1vktwzPiQTsJnAKJmm3TACKeG5UZbWDfaH2AbvYxzP96y0MT7fA==",
"dev": true,
"dependencies": {
"cross-spawn": "^7.0.0",
@@ -13996,17 +15150,32 @@
"dev": true
},
"node_modules/fs-extra": {
- "version": "10.1.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz",
- "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==",
+ "version": "0.6.4",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.6.4.tgz",
+ "integrity": "sha512-5rU898vl/Z948L+kkJedbmo/iltzmiF5bn/eEk0j/SgrPpI+Ydau9xlJPicV7Av2CHYBGz5LAlwTnBU80j1zPQ==",
"dev": true,
"dependencies": {
- "graceful-fs": "^4.2.0",
- "jsonfile": "^6.0.1",
- "universalify": "^2.0.0"
- },
- "engines": {
- "node": ">=12"
+ "jsonfile": "~1.0.1",
+ "mkdirp": "0.3.x",
+ "ncp": "~0.4.2",
+ "rimraf": "~2.2.0"
+ }
+ },
+ "node_modules/fs-extra/node_modules/mkdirp": {
+ "version": "0.3.5",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz",
+ "integrity": "sha512-8OCq0De/h9ZxseqzCH8Kw/Filf5pF/vMI6+BH7Lu0jXz2pqYCjTAQRolSxRIi+Ax+oCCjlxoJMP0YQ4XlrQNHg==",
+ "deprecated": "Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)",
+ "dev": true
+ },
+ "node_modules/fs-extra/node_modules/rimraf": {
+ "version": "2.2.8",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz",
+ "integrity": "sha512-R5KMKHnPAQaZMqLOsyuyUmcIjSeDm+73eoqQpaXA7AZ22BL+6C+1mcUscgOsNd8WVlJuvlgAPsegcx7pjlV0Dg==",
+ "deprecated": "Rimraf versions prior to v4 are no longer supported",
+ "dev": true,
+ "bin": {
+ "rimraf": "bin.js"
}
},
"node_modules/fs-mkdirp-stream": {
@@ -14054,24 +15223,6 @@
"node": "*"
}
},
- "node_modules/fs.extra/node_modules/fs-extra": {
- "version": "0.6.4",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.6.4.tgz",
- "integrity": "sha512-5rU898vl/Z948L+kkJedbmo/iltzmiF5bn/eEk0j/SgrPpI+Ydau9xlJPicV7Av2CHYBGz5LAlwTnBU80j1zPQ==",
- "dev": true,
- "dependencies": {
- "jsonfile": "~1.0.1",
- "mkdirp": "0.3.x",
- "ncp": "~0.4.2",
- "rimraf": "~2.2.0"
- }
- },
- "node_modules/fs.extra/node_modules/jsonfile": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-1.0.1.tgz",
- "integrity": "sha512-KbsDJNRfRPF5v49tMNf9sqyyGqGLBcz1v5kZT01kG5ns5mQSltwxCKVmUzVKtEinkUnTDtSrp6ngWpV7Xw0ZlA==",
- "dev": true
- },
"node_modules/fs.extra/node_modules/mkdirp": {
"version": "0.3.5",
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz",
@@ -14079,15 +15230,6 @@
"deprecated": "Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)",
"dev": true
},
- "node_modules/fs.extra/node_modules/rimraf": {
- "version": "2.2.8",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz",
- "integrity": "sha512-R5KMKHnPAQaZMqLOsyuyUmcIjSeDm+73eoqQpaXA7AZ22BL+6C+1mcUscgOsNd8WVlJuvlgAPsegcx7pjlV0Dg==",
- "dev": true,
- "bin": {
- "rimraf": "bin.js"
- }
- },
"node_modules/fs.realpath": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
@@ -14095,9 +15237,9 @@
"dev": true
},
"node_modules/fsevents": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
- "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
+ "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": [
@@ -14111,6 +15253,7 @@
"version": "1.0.12",
"resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz",
"integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==",
+ "deprecated": "This package is no longer supported.",
"dev": true,
"dependencies": {
"graceful-fs": "^4.1.2",
@@ -14122,22 +15265,32 @@
"node": ">=0.6"
}
},
- "node_modules/fstream/node_modules/mkdirp": {
- "version": "0.5.6",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
- "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
+ "node_modules/fstream/node_modules/glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "deprecated": "Glob versions prior to v9 are no longer supported",
"dev": true,
"dependencies": {
- "minimist": "^1.2.6"
+ "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"
},
- "bin": {
- "mkdirp": "bin/cmd.js"
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
}
},
"node_modules/fstream/node_modules/rimraf": {
"version": "2.7.1",
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
"integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
+ "deprecated": "Rimraf versions prior to v4 are no longer supported",
"dev": true,
"dependencies": {
"glob": "^7.1.3"
@@ -14163,15 +15316,15 @@
}
},
"node_modules/function.prototype.name": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz",
- "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==",
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz",
+ "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==",
"dev": true,
"dependencies": {
"call-bind": "^1.0.2",
- "define-properties": "^1.1.3",
- "es-abstract": "^1.19.0",
- "functions-have-names": "^1.2.2"
+ "define-properties": "^1.2.0",
+ "es-abstract": "^1.22.1",
+ "functions-have-names": "^1.2.3"
},
"engines": {
"node": ">= 0.4"
@@ -14208,19 +15361,19 @@
}
},
"node_modules/geckodriver": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/geckodriver/-/geckodriver-4.3.1.tgz",
- "integrity": "sha512-ol7JLsj55o5k+z7YzeSy2mdJROXMAxIa+uzr3A1yEMr5HISqQOTslE3ZeARcxR4jpAY3fxmHM+sq32qbe/eXfA==",
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/geckodriver/-/geckodriver-4.4.1.tgz",
+ "integrity": "sha512-nnAdIrwLkMcDu4BitWXF23pEMeZZ0Cj7HaWWFdSpeedBP9z6ft150JYiGO2mwzw6UiR823Znk1JeIf07RyzloA==",
"dev": true,
"hasInstallScript": true,
"dependencies": {
- "@wdio/logger": "^8.24.12",
+ "@wdio/logger": "^8.28.0",
+ "@zip.js/zip.js": "^2.7.44",
"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",
- "unzipper": "^0.10.14",
+ "tar-fs": "^3.0.6",
"which": "^4.0.0"
},
"bin": {
@@ -14231,9 +15384,9 @@
}
},
"node_modules/geckodriver/node_modules/agent-base": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz",
- "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==",
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz",
+ "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==",
"dev": true,
"dependencies": {
"debug": "^4.3.4"
@@ -14242,40 +15395,10 @@
"node": ">= 14"
}
},
- "node_modules/geckodriver/node_modules/data-uri-to-buffer": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz",
- "integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==",
- "dev": true,
- "engines": {
- "node": ">= 12"
- }
- },
- "node_modules/geckodriver/node_modules/decamelize": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-6.0.0.tgz",
- "integrity": "sha512-Fv96DCsdOgB6mdGl67MT5JaTNKRzrzill5OH5s8bjYJXVlcXyPYGyPsUkWyGV5p1TXI5esYIYMMeDJL0hEIwaA==",
- "dev": true,
- "engines": {
- "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/geckodriver/node_modules/duplexer2": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz",
- "integrity": "sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==",
- "dev": true,
- "dependencies": {
- "readable-stream": "^2.0.2"
- }
- },
"node_modules/geckodriver/node_modules/https-proxy-agent": {
- "version": "7.0.2",
- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz",
- "integrity": "sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==",
+ "version": "7.0.4",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz",
+ "integrity": "sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==",
"dev": true,
"dependencies": {
"agent-base": "^7.0.2",
@@ -14285,86 +15408,18 @@
"node": ">= 14"
}
},
- "node_modules/geckodriver/node_modules/isexe": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz",
- "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==",
- "dev": true,
- "engines": {
- "node": ">=16"
- }
- },
- "node_modules/geckodriver/node_modules/node-fetch": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz",
- "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==",
- "dev": true,
- "dependencies": {
- "data-uri-to-buffer": "^4.0.0",
- "fetch-blob": "^3.1.4",
- "formdata-polyfill": "^4.0.10"
- },
- "engines": {
- "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/node-fetch"
- }
- },
"node_modules/geckodriver/node_modules/tar-fs": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.4.tgz",
- "integrity": "sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w==",
+ "version": "3.0.6",
+ "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.6.tgz",
+ "integrity": "sha512-iokBDQQkUyeXhgPYaZxmczGPhnhXZ0CmrqI+MOb/WFGS9DW5wnfrLgtjUJBvz50vQ3qfRwJ62QVoCFu8mPVu5w==",
"dev": true,
"dependencies": {
- "mkdirp-classic": "^0.5.2",
"pump": "^3.0.0",
"tar-stream": "^3.1.5"
- }
- },
- "node_modules/geckodriver/node_modules/tar-stream": {
- "version": "3.1.7",
- "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz",
- "integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==",
- "dev": true,
- "dependencies": {
- "b4a": "^1.6.4",
- "fast-fifo": "^1.2.0",
- "streamx": "^2.15.0"
- }
- },
- "node_modules/geckodriver/node_modules/unzipper": {
- "version": "0.10.14",
- "resolved": "https://registry.npmjs.org/unzipper/-/unzipper-0.10.14.tgz",
- "integrity": "sha512-ti4wZj+0bQTiX2KmKWuwj7lhV+2n//uXEotUmGuQqrbVZSEGFMbI68+c6JCQ8aAmUWYvtHEz2A8K6wXvueR/6g==",
- "dev": true,
- "dependencies": {
- "big-integer": "^1.6.17",
- "binary": "~0.3.0",
- "bluebird": "~3.4.1",
- "buffer-indexof-polyfill": "~1.0.0",
- "duplexer2": "~0.1.4",
- "fstream": "^1.0.12",
- "graceful-fs": "^4.2.2",
- "listenercount": "~1.0.1",
- "readable-stream": "~2.3.6",
- "setimmediate": "~1.0.4"
- }
- },
- "node_modules/geckodriver/node_modules/which": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz",
- "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==",
- "dev": true,
- "dependencies": {
- "isexe": "^3.1.1"
- },
- "bin": {
- "node-which": "bin/which.js"
},
- "engines": {
- "node": "^16.13.0 || >=18.0.0"
+ "optionalDependencies": {
+ "bare-fs": "^2.1.1",
+ "bare-path": "^2.1.0"
}
},
"node_modules/gensync": {
@@ -14385,24 +15440,28 @@
}
},
"node_modules/get-func-name": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz",
- "integrity": "sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz",
+ "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==",
"dev": true,
"engines": {
"node": "*"
}
},
"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"
}
@@ -14417,9 +15476,9 @@
}
},
"node_modules/get-port": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/get-port/-/get-port-7.0.0.tgz",
- "integrity": "sha512-mDHFgApoQd+azgMdwylJrv2DX47ywGq1i5VFJE7fZ0dttNq3iQMfsU4IvEgBHojA3KqEudyu7Vq+oN8kNaNkWw==",
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/get-port/-/get-port-7.1.0.tgz",
+ "integrity": "sha512-QB9NKEeDg3xxVwCCwJQ9+xycaz6pBB6iQ76wiWMl1927n0Kir6alPiP+yuiICLLU4jpMe08dXfpebuQppFA2zw==",
"dev": true,
"engines": {
"node": ">=16"
@@ -14441,13 +15500,14 @@
}
},
"node_modules/get-symbol-description": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz",
- "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz",
+ "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==",
"dev": true,
"dependencies": {
- "call-bind": "^1.0.2",
- "get-intrinsic": "^1.1.1"
+ "call-bind": "^1.0.5",
+ "es-errors": "^1.3.0",
+ "get-intrinsic": "^1.2.4"
},
"engines": {
"node": ">= 0.4"
@@ -14457,52 +15517,55 @@
}
},
"node_modules/get-uri": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-6.0.2.tgz",
- "integrity": "sha512-5KLucCJobh8vBY1K07EFV4+cPZH3mrV9YeAruUseCQKHB58SGjjT2l9/eA9LD082IiuMjSlFJEcdJ27TXvbZNw==",
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-6.0.3.tgz",
+ "integrity": "sha512-BzUrJBS9EcUb4cFol8r4W3v1cPsSyajLSthNkz5BxbpDcHN5tIrM10E2eNvfnvBn3DaT3DUgx0OpsBKkaOpanw==",
"dev": true,
"dependencies": {
"basic-ftp": "^5.0.2",
- "data-uri-to-buffer": "^6.0.0",
+ "data-uri-to-buffer": "^6.0.2",
"debug": "^4.3.4",
- "fs-extra": "^8.1.0"
+ "fs-extra": "^11.2.0"
},
"engines": {
"node": ">= 14"
}
},
+ "node_modules/get-uri/node_modules/data-uri-to-buffer": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-6.0.2.tgz",
+ "integrity": "sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==",
+ "dev": true,
+ "engines": {
+ "node": ">= 14"
+ }
+ },
"node_modules/get-uri/node_modules/fs-extra": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
- "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
+ "version": "11.2.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz",
+ "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==",
"dev": true,
"dependencies": {
"graceful-fs": "^4.2.0",
- "jsonfile": "^4.0.0",
- "universalify": "^0.1.0"
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
},
"engines": {
- "node": ">=6 <7 || >=8"
+ "node": ">=14.14"
}
},
"node_modules/get-uri/node_modules/jsonfile": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
- "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==",
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
+ "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
"dev": true,
+ "dependencies": {
+ "universalify": "^2.0.0"
+ },
"optionalDependencies": {
"graceful-fs": "^4.1.6"
}
},
- "node_modules/get-uri/node_modules/universalify": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
- "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
- "dev": true,
- "engines": {
- "node": ">= 4.0.0"
- }
- },
"node_modules/get-value": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
@@ -14541,9 +15604,9 @@
}
},
"node_modules/git-url-parse": {
- "version": "13.1.0",
- "resolved": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-13.1.0.tgz",
- "integrity": "sha512-5FvPJP/70WkIprlUZ33bm4UAaFdjcLkJLpWft1BeZKqwR0uhhNGoKwlUaPtVb4LxCSQ++erHapRak9kWGj+FCA==",
+ "version": "13.1.1",
+ "resolved": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-13.1.1.tgz",
+ "integrity": "sha512-PCFJyeSSdtnbfhSNRw9Wk96dDCNx+sogTe4YNXeXSJxt7xz5hvXekuRn9JX7m+Mf4OscCu8h+mtAl3+h5Fo8lQ==",
"dev": true,
"dependencies": {
"git-up": "^7.0.0"
@@ -14571,20 +15634,22 @@
"dev": true
},
"node_modules/glob": {
- "version": "7.2.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
- "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "version": "10.4.1",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.1.tgz",
+ "integrity": "sha512-2jelhlq3E4ho74ZyVLN03oKdAZVUa6UDZzFLVH1H7dnoax+y9qyaq8zBkfDIggjniU19z0wU18y16jMB2eyVIw==",
"dev": true,
"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"
+ "foreground-child": "^3.1.0",
+ "jackspeak": "^3.1.2",
+ "minimatch": "^9.0.4",
+ "minipass": "^7.1.2",
+ "path-scurry": "^1.11.1"
+ },
+ "bin": {
+ "glob": "dist/esm/bin.mjs"
},
"engines": {
- "node": "*"
+ "node": ">=16 || 14 >=14.18"
},
"funding": {
"url": "https://github.com/sponsors/isaacs"
@@ -14623,6 +15688,27 @@
"node": ">= 0.10"
}
},
+ "node_modules/glob-stream/node_modules/glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "deprecated": "Glob versions prior to v9 are no longer supported",
+ "dev": true,
+ "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-stream/node_modules/glob-parent": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
@@ -14784,7 +15870,7 @@
"version": "1.2.13",
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz",
"integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==",
- "deprecated": "fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.",
+ "deprecated": "The v1 package contains DANGEROUS / INSECURE binaries. Upgrade to safe fsevents v2",
"dev": true,
"hasInstallScript": true,
"optional": true,
@@ -14969,6 +16055,30 @@
"node": ">=0.10.0"
}
},
+ "node_modules/glob/node_modules/brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "dev": true,
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/glob/node_modules/minimatch": {
+ "version": "9.0.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz",
+ "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==",
+ "dev": true,
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
"node_modules/global": {
"version": "4.4.0",
"resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz",
@@ -15015,6 +16125,12 @@
"integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
"dev": true
},
+ "node_modules/global-prefix/node_modules/isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
+ "dev": true
+ },
"node_modules/global-prefix/node_modules/which": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
@@ -15041,6 +16157,22 @@
"integrity": "sha512-qpPnUKkWnz8NESjrCvnlGklsgiQzlq+rcCxoG5uNQ+dNA7cFMCmn231slLAwS2N/PlkzZ3COL8CcS10jXmLHqg==",
"dev": true
},
+ "node_modules/globalthis": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz",
+ "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==",
+ "dev": true,
+ "dependencies": {
+ "define-properties": "^1.2.1",
+ "gopd": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/globule": {
"version": "1.3.4",
"resolved": "https://registry.npmjs.org/globule/-/globule-1.3.4.tgz",
@@ -15059,6 +16191,7 @@
"version": "7.1.7",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
"integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==",
+ "deprecated": "Glob versions prior to v9 are no longer supported",
"dev": true,
"dependencies": {
"fs.realpath": "^1.0.0",
@@ -15111,34 +16244,46 @@
}
},
"node_modules/got": {
- "version": "11.8.5",
- "resolved": "https://registry.npmjs.org/got/-/got-11.8.5.tgz",
- "integrity": "sha512-o0Je4NvQObAuZPHLFoRSkdG2lTgtcynqymzg2Vupdx6PorhaT5MCbIyXG6d4D94kk8ZG57QeosgdiqfJWhEhlQ==",
+ "version": "12.6.1",
+ "resolved": "https://registry.npmjs.org/got/-/got-12.6.1.tgz",
+ "integrity": "sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==",
"dev": true,
"dependencies": {
- "@sindresorhus/is": "^4.0.0",
- "@szmarczak/http-timer": "^4.0.5",
- "@types/cacheable-request": "^6.0.1",
- "@types/responselike": "^1.0.0",
- "cacheable-lookup": "^5.0.3",
- "cacheable-request": "^7.0.2",
+ "@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",
- "http2-wrapper": "^1.0.0-beta.5.2",
- "lowercase-keys": "^2.0.0",
- "p-cancelable": "^2.0.0",
- "responselike": "^2.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": ">=10.19.0"
+ "node": ">=14.16"
},
"funding": {
"url": "https://github.com/sindresorhus/got?sponsor=1"
}
},
+ "node_modules/got/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==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"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=="
+ "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/grapheme-splitter": {
"version": "1.0.4",
@@ -15180,10 +16325,32 @@
"node": ">=0.9"
}
},
+ "node_modules/gulp-clean/node_modules/glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "deprecated": "Glob versions prior to v9 are no longer supported",
+ "dev": true,
+ "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/gulp-clean/node_modules/rimraf": {
"version": "2.7.1",
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
"integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
+ "deprecated": "Rimraf versions prior to v4 are no longer supported",
"dev": true,
"dependencies": {
"glob": "^7.1.3"
@@ -15644,15 +16811,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/gulp-eslint/node_modules/ansi-regex": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz",
- "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/gulp-eslint/node_modules/arr-diff": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
@@ -15680,6 +16838,15 @@
"node": ">=4"
}
},
+ "node_modules/gulp-eslint/node_modules/cli-width": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz",
+ "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==",
+ "dev": true,
+ "engines": {
+ "node": ">= 10"
+ }
+ },
"node_modules/gulp-eslint/node_modules/color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
@@ -15804,18 +16971,6 @@
"node": ">=4"
}
},
- "node_modules/gulp-eslint/node_modules/eslint/node_modules/strip-ansi": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
- "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
- "dev": true,
- "dependencies": {
- "ansi-regex": "^4.1.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/gulp-eslint/node_modules/espree": {
"version": "6.2.1",
"resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz",
@@ -15843,6 +16998,21 @@
"node": ">=0.10.0"
}
},
+ "node_modules/gulp-eslint/node_modules/figures": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz",
+ "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==",
+ "dev": true,
+ "dependencies": {
+ "escape-string-regexp": "^1.0.5"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/gulp-eslint/node_modules/file-entry-cache": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz",
@@ -15875,6 +17045,27 @@
"integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==",
"dev": true
},
+ "node_modules/gulp-eslint/node_modules/glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "deprecated": "Glob versions prior to v9 are no longer supported",
+ "dev": true,
+ "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/gulp-eslint/node_modules/globals": {
"version": "12.4.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz",
@@ -15954,6 +17145,18 @@
"url": "https://github.com/chalk/chalk?sponsor=1"
}
},
+ "node_modules/gulp-eslint/node_modules/inquirer/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==",
+ "dev": true,
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/gulp-eslint/node_modules/is-fullwidth-code-point": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
@@ -15963,6 +17166,12 @@
"node": ">=4"
}
},
+ "node_modules/gulp-eslint/node_modules/isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
+ "dev": true
+ },
"node_modules/gulp-eslint/node_modules/levn": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
@@ -15976,17 +17185,11 @@
"node": ">= 0.8.0"
}
},
- "node_modules/gulp-eslint/node_modules/mkdirp": {
- "version": "0.5.6",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
- "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
- "dev": true,
- "dependencies": {
- "minimist": "^1.2.6"
- },
- "bin": {
- "mkdirp": "bin/cmd.js"
- }
+ "node_modules/gulp-eslint/node_modules/mute-stream": {
+ "version": "0.0.8",
+ "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz",
+ "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==",
+ "dev": true
},
"node_modules/gulp-eslint/node_modules/optionator": {
"version": "0.8.3",
@@ -16051,6 +17254,7 @@
"version": "2.6.3",
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
"integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
+ "deprecated": "Rimraf versions prior to v4 are no longer supported",
"dev": true,
"dependencies": {
"glob": "^7.1.3"
@@ -16059,6 +17263,27 @@
"rimraf": "bin.js"
}
},
+ "node_modules/gulp-eslint/node_modules/run-async": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz",
+ "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.12.0"
+ }
+ },
+ "node_modules/gulp-eslint/node_modules/rxjs": {
+ "version": "6.6.7",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz",
+ "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==",
+ "dev": true,
+ "dependencies": {
+ "tslib": "^1.9.0"
+ },
+ "engines": {
+ "npm": ">=2.0.0"
+ }
+ },
"node_modules/gulp-eslint/node_modules/shebang-command": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
@@ -16094,6 +17319,27 @@
"node": ">=6"
}
},
+ "node_modules/gulp-eslint/node_modules/strip-ansi": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
+ "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
+ "dev": true,
+ "dependencies": {
+ "ansi-regex": "^4.1.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/gulp-eslint/node_modules/strip-ansi/node_modules/ansi-regex": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz",
+ "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/gulp-eslint/node_modules/strip-json-comments": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
@@ -16147,18 +17393,6 @@
"node": ">=6"
}
},
- "node_modules/gulp-eslint/node_modules/table/node_modules/strip-ansi": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
- "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
- "dev": true,
- "dependencies": {
- "ansi-regex": "^4.1.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/gulp-eslint/node_modules/type-check": {
"version": "0.3.2",
"resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
@@ -16275,12 +17509,12 @@
}
},
"node_modules/gulp-replace": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/gulp-replace/-/gulp-replace-1.1.3.tgz",
- "integrity": "sha512-HcPHpWY4XdF8zxYkDODHnG2+7a3nD/Y8Mfu3aBgMiCFDW3X2GiOKXllsAmILcxe3KZT2BXoN18WrpEFm48KfLQ==",
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/gulp-replace/-/gulp-replace-1.1.4.tgz",
+ "integrity": "sha512-SVSF7ikuWKhpAW4l4wapAqPPSToJoiNKsbDoUnRrSgwZHH7lH8pbPeQj1aOVYQrbZKhfSVBxVW+Py7vtulRktw==",
"dev": true,
"dependencies": {
- "@types/node": "^14.14.41",
+ "@types/node": "*",
"@types/vinyl": "^2.0.4",
"istextorbinary": "^3.0.0",
"replacestream": "^4.0.3",
@@ -16290,12 +17524,6 @@
"node": ">=10"
}
},
- "node_modules/gulp-replace/node_modules/@types/node": {
- "version": "14.18.33",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.33.tgz",
- "integrity": "sha512-qelS/Ra6sacc4loe/3MSjXNL1dNQ/GjxNHVzuChwMfmk7HuycRLVQN2qNY3XahK+fZc5E2szqQSKUyAF0E+2bg==",
- "dev": true
- },
"node_modules/gulp-shell": {
"version": "0.8.0",
"resolved": "https://registry.npmjs.org/gulp-shell/-/gulp-shell-0.8.0.tgz",
@@ -16482,6 +17710,12 @@
"node": ">=0.4.0"
}
},
+ "node_modules/gulp-sourcemaps/node_modules/convert-source-map": {
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz",
+ "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==",
+ "dev": true
+ },
"node_modules/gulp-sourcemaps/node_modules/source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
@@ -16845,13 +18079,13 @@
}
},
"node_modules/handlebars": {
- "version": "4.7.7",
- "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz",
- "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==",
+ "version": "4.7.8",
+ "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz",
+ "integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==",
"dev": true,
"dependencies": {
"minimist": "^1.2.5",
- "neo-async": "^2.6.0",
+ "neo-async": "^2.6.2",
"source-map": "^0.6.1",
"wordwrap": "^1.0.0"
},
@@ -16898,12 +18132,9 @@
}
},
"node_modules/has": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
- "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
- "dependencies": {
- "function-bind": "^1.1.1"
- },
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.4.tgz",
+ "integrity": "sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==",
"engines": {
"node": ">= 0.4.0"
}
@@ -16959,20 +18190,20 @@
}
},
"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"
}
},
"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==",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz",
+ "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==",
"engines": {
"node": ">= 0.4"
},
@@ -16992,12 +18223,12 @@
}
},
"node_modules/has-tostringtag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz",
- "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz",
+ "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==",
"dev": true,
"dependencies": {
- "has-symbols": "^1.0.2"
+ "has-symbols": "^1.0.3"
},
"engines": {
"node": ">= 0.4"
@@ -17076,9 +18307,9 @@
}
},
"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==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
+ "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
"dependencies": {
"function-bind": "^1.1.2"
},
@@ -17086,14 +18317,55 @@
"node": ">= 0.4"
}
},
- "node_modules/hast-util-is-element": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-2.1.2.tgz",
- "integrity": "sha512-thjnlGAnwP8ef/GSO1Q8BfVk2gundnc2peGQqEg2kUt/IqesiGg/5mSwN2fE7nLzy61pg88NG6xV+UrGOrx9EA==",
+ "node_modules/hast-util-from-parse5": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-7.1.2.tgz",
+ "integrity": "sha512-Nz7FfPBuljzsN3tCQ4kCBKqdNhQE2l0Tn+X1ubgKBPRoiDIu1mL08Cfw4k7q71+Duyaw7DXDN+VTAp4Vh3oCOw==",
"dev": true,
"dependencies": {
"@types/hast": "^2.0.0",
- "@types/unist": "^2.0.0"
+ "@types/unist": "^2.0.0",
+ "hastscript": "^7.0.0",
+ "property-information": "^6.0.0",
+ "vfile": "^5.0.0",
+ "vfile-location": "^4.0.0",
+ "web-namespaces": "^2.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/hast-util-parse-selector": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-3.1.1.tgz",
+ "integrity": "sha512-jdlwBjEexy1oGz0aJ2f4GKMaVKkA9jwjr4MjAAI22E5fM/TXVZHuS5OpONtdeIkRKqAaryQ2E9xNQxijoThSZA==",
+ "dev": true,
+ "dependencies": {
+ "@types/hast": "^2.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/hast-util-raw": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-7.2.3.tgz",
+ "integrity": "sha512-RujVQfVsOrxzPOPSzZFiwofMArbQke6DJjnFfceiEbFh7S05CbPt0cYN+A5YeD3pso0JQk6O1aHBnx9+Pm2uqg==",
+ "dev": true,
+ "dependencies": {
+ "@types/hast": "^2.0.0",
+ "@types/parse5": "^6.0.0",
+ "hast-util-from-parse5": "^7.0.0",
+ "hast-util-to-parse5": "^7.0.0",
+ "html-void-elements": "^2.0.0",
+ "parse5": "^6.0.0",
+ "unist-util-position": "^4.0.0",
+ "unist-util-visit": "^4.0.0",
+ "vfile": "^5.0.0",
+ "web-namespaces": "^2.0.0",
+ "zwitch": "^2.0.0"
},
"funding": {
"type": "opencollective",
@@ -17101,9 +18373,9 @@
}
},
"node_modules/hast-util-sanitize": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/hast-util-sanitize/-/hast-util-sanitize-4.0.0.tgz",
- "integrity": "sha512-pw56+69jq+QSr/coADNvWTmBPDy+XsmwaF5KnUys4/wM1jt/fZdl7GPxhXXXYdXnz3Gj3qMkbUCH2uKjvX0MgQ==",
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/hast-util-sanitize/-/hast-util-sanitize-4.1.0.tgz",
+ "integrity": "sha512-Hd9tU0ltknMGRDv+d6Ro/4XKzBqQnP/EZrpiTbpFYfXv/uOhWeKc+2uajcbEvAEH98VZd7eII2PiXm13RihnLw==",
"dev": true,
"dependencies": {
"@types/hast": "^2.0.0"
@@ -17114,21 +18386,40 @@
}
},
"node_modules/hast-util-to-html": {
- "version": "8.0.3",
- "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-8.0.3.tgz",
- "integrity": "sha512-/D/E5ymdPYhHpPkuTHOUkSatxr4w1ZKrZsG0Zv/3C2SRVT0JFJG53VS45AMrBtYk0wp5A7ksEhiC8QaOZM95+A==",
+ "version": "8.0.4",
+ "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-8.0.4.tgz",
+ "integrity": "sha512-4tpQTUOr9BMjtYyNlt0P50mH7xj0Ks2xpo8M943Vykljf99HW6EzulIoJP1N3eKOSScEHzyzi9dm7/cn0RfGwA==",
"dev": true,
"dependencies": {
"@types/hast": "^2.0.0",
+ "@types/unist": "^2.0.0",
"ccount": "^2.0.0",
"comma-separated-tokens": "^2.0.0",
- "hast-util-is-element": "^2.0.0",
+ "hast-util-raw": "^7.0.0",
"hast-util-whitespace": "^2.0.0",
"html-void-elements": "^2.0.0",
"property-information": "^6.0.0",
"space-separated-tokens": "^2.0.0",
- "stringify-entities": "^4.0.2",
- "unist-util-is": "^5.0.0"
+ "stringify-entities": "^4.0.0",
+ "zwitch": "^2.0.4"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/hast-util-to-parse5": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-7.1.0.tgz",
+ "integrity": "sha512-YNRgAJkH2Jky5ySkIqFXTQiaqcAtJyVE+D5lkN6CdtOqrnkLfGYYrEcKuHOJZlp+MwjSwuD3fZuawI+sic/RBw==",
+ "dev": true,
+ "dependencies": {
+ "@types/hast": "^2.0.0",
+ "comma-separated-tokens": "^2.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",
@@ -17136,15 +18427,32 @@
}
},
"node_modules/hast-util-whitespace": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-2.0.0.tgz",
- "integrity": "sha512-Pkw+xBHuV6xFeJprJe2BBEoDV+AvQySaz3pPDRUs5PNZEMQjpXJJueqrpcHIXxnWTcAGi/UOCgVShlkY6kLoqg==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-2.0.1.tgz",
+ "integrity": "sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==",
"dev": true,
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/unified"
}
},
+ "node_modules/hastscript": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-7.2.0.tgz",
+ "integrity": "sha512-TtYPq24IldU8iKoJQqvZOuhi5CyCQRAbvDOX0x1eW6rsHSxa/1i2CCiptNTotGHJ3VoHRGmqiv6/D3q113ikkw==",
+ "dev": true,
+ "dependencies": {
+ "@types/hast": "^2.0.0",
+ "comma-separated-tokens": "^2.0.0",
+ "hast-util-parse-selector": "^3.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",
@@ -17161,9 +18469,9 @@
"dev": true
},
"node_modules/highlight.js": {
- "version": "11.6.0",
- "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-11.6.0.tgz",
- "integrity": "sha512-ig1eqDzJaB0pqEvlPVIpSSyMaO92bH1N2rJpLMN/nX396wTpDA4Eq0uK+7I/2XG17pFaaKE0kjV/XPeGt7Evjw==",
+ "version": "11.9.0",
+ "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-11.9.0.tgz",
+ "integrity": "sha512-fJ7cW7fQGCYAkgv4CPfwFHrfd/cLS4Hau96JuJ+ZTOWhjnhoeN1ub1tFmALm/+lW5z4WCAuAV9bm05AP0mS6Gw==",
"dev": true,
"engines": {
"node": ">=12.0.0"
@@ -17195,15 +18503,24 @@
}
},
"node_modules/hosted-git-info": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz",
- "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==",
+ "version": "7.0.2",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.2.tgz",
+ "integrity": "sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==",
"dev": true,
"dependencies": {
- "lru-cache": "^6.0.0"
+ "lru-cache": "^10.0.1"
},
"engines": {
- "node": ">=10"
+ "node": "^16.14.0 || >=18.0.0"
+ }
+ },
+ "node_modules/hosted-git-info/node_modules/lru-cache": {
+ "version": "10.2.2",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.2.tgz",
+ "integrity": "sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==",
+ "dev": true,
+ "engines": {
+ "node": "14 || >=16.14"
}
},
"node_modules/html-escaper": {
@@ -17264,9 +18581,9 @@
}
},
"node_modules/http-proxy-agent": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.0.tgz",
- "integrity": "sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==",
+ "version": "7.0.2",
+ "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz",
+ "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==",
"dev": true,
"dependencies": {
"agent-base": "^7.1.0",
@@ -17277,9 +18594,9 @@
}
},
"node_modules/http-proxy-agent/node_modules/agent-base": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz",
- "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==",
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz",
+ "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==",
"dev": true,
"dependencies": {
"debug": "^4.3.4"
@@ -17304,13 +18621,13 @@
}
},
"node_modules/http2-wrapper": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz",
- "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==",
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-2.2.1.tgz",
+ "integrity": "sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==",
"dev": true,
"dependencies": {
"quick-lru": "^5.1.1",
- "resolve-alpn": "^1.0.0"
+ "resolve-alpn": "^1.2.0"
},
"engines": {
"node": ">=10.19.0"
@@ -17378,6 +18695,12 @@
"node": ">= 4"
}
},
+ "node_modules/immediate": {
+ "version": "3.0.6",
+ "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz",
+ "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==",
+ "dev": true
+ },
"node_modules/import-fresh": {
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
@@ -17404,9 +18727,9 @@
}
},
"node_modules/import-meta-resolve": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.0.0.tgz",
- "integrity": "sha512-okYUR7ZQPH+efeuMJGlq4f8ubUgO50kByRPyt/Cy1Io4PSRsPjxME+YlVaCOx+NIToW7hCsZNFJyTPFFKepRSA==",
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.1.0.tgz",
+ "integrity": "sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==",
"dev": true,
"funding": {
"type": "github",
@@ -17432,6 +18755,7 @@
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
"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.",
"dev": true,
"dependencies": {
"once": "^1.3.0",
@@ -17478,21 +18802,6 @@
"node": ">=14.18.0"
}
},
- "node_modules/inquirer/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==",
- "dev": true,
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
"node_modules/inquirer/node_modules/chalk": {
"version": "5.3.0",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz",
@@ -17505,128 +18814,26 @@
"url": "https://github.com/chalk/chalk?sponsor=1"
}
},
- "node_modules/inquirer/node_modules/cli-width": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz",
- "integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==",
- "dev": true,
- "engines": {
- "node": ">= 12"
- }
- },
- "node_modules/inquirer/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==",
- "dev": true,
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/inquirer/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==",
- "dev": true
- },
- "node_modules/inquirer/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==",
- "dev": true,
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/inquirer/node_modules/figures": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/figures/-/figures-5.0.0.tgz",
- "integrity": "sha512-ej8ksPF4x6e5wvK9yevct0UCXh8TTFlWGVLlgjZuoBH1HwjIfKE/IdL5mq89sFA7zELi1VhKpmtDnrs7zWyeyg==",
- "dev": true,
- "dependencies": {
- "escape-string-regexp": "^5.0.0",
- "is-unicode-supported": "^1.2.0"
- },
- "engines": {
- "node": ">=14"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/inquirer/node_modules/is-unicode-supported": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz",
- "integrity": "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==",
- "dev": true,
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/inquirer/node_modules/mute-stream": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-1.0.0.tgz",
- "integrity": "sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==",
- "dev": true,
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/inquirer/node_modules/run-async": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/run-async/-/run-async-3.0.0.tgz",
- "integrity": "sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q==",
- "dev": true,
- "engines": {
- "node": ">=0.12.0"
- }
- },
- "node_modules/inquirer/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==",
- "dev": true,
- "dependencies": {
- "tslib": "^2.1.0"
- }
- },
- "node_modules/inquirer/node_modules/tslib": {
- "version": "2.6.2",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
- "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==",
- "dev": true
- },
- "node_modules/inquirer/node_modules/wrap-ansi": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
- "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
+ "node_modules/inquirer/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==",
"dev": true,
"dependencies": {
- "ansi-styles": "^4.0.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0"
+ "ansi-regex": "^5.0.1"
},
"engines": {
"node": ">=8"
}
},
"node_modules/internal-slot": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz",
- "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==",
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz",
+ "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==",
"dev": true,
"dependencies": {
- "get-intrinsic": "^1.1.0",
- "has": "^1.0.3",
+ "es-errors": "^1.3.0",
+ "hasown": "^2.0.0",
"side-channel": "^1.0.4"
},
"engines": {
@@ -17660,10 +18867,23 @@
"node": ">=0.10.0"
}
},
- "node_modules/ip": {
- "version": "1.1.9",
- "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.9.tgz",
- "integrity": "sha512-cyRxvOEpNHNtchU3Ln9KC/auJgup87llfQpQ+t5ghoC/UhL16SWzbueiCsdTnWmqAWl7LadfuwhlqmtOaqMHdQ==",
+ "node_modules/ip-address": {
+ "version": "9.0.5",
+ "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz",
+ "integrity": "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==",
+ "dev": true,
+ "dependencies": {
+ "jsbn": "1.1.0",
+ "sprintf-js": "^1.1.3"
+ },
+ "engines": {
+ "node": ">= 12"
+ }
+ },
+ "node_modules/ip-address/node_modules/sprintf-js": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz",
+ "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==",
"dev": true
},
"node_modules/ipaddr.js": {
@@ -17696,24 +18916,15 @@
}
},
"node_modules/is-accessor-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
- "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.1.tgz",
+ "integrity": "sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA==",
"dev": true,
"dependencies": {
- "kind-of": "^6.0.0"
+ "hasown": "^2.0.0"
},
"engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-accessor-descriptor/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==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
+ "node": ">= 0.10"
}
},
"node_modules/is-arguments": {
@@ -17732,6 +18943,22 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/is-array-buffer": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz",
+ "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "get-intrinsic": "^1.2.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/is-arrayish": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
@@ -17814,35 +19041,41 @@
}
},
"node_modules/is-core-module": {
- "version": "2.11.0",
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz",
- "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==",
+ "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": {
- "has": "^1.0.3"
+ "hasown": "^2.0.0"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/is-data-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
- "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.1.tgz",
+ "integrity": "sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw==",
"dev": true,
"dependencies": {
- "kind-of": "^6.0.0"
+ "hasown": "^2.0.0"
},
"engines": {
- "node": ">=0.10.0"
+ "node": ">= 0.4"
}
},
- "node_modules/is-data-descriptor/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==",
+ "node_modules/is-data-view": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz",
+ "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==",
"dev": true,
+ "dependencies": {
+ "is-typed-array": "^1.1.13"
+ },
"engines": {
- "node": ">=0.10.0"
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/is-date-object": {
@@ -17861,26 +19094,16 @@
}
},
"node_modules/is-descriptor": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
- "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.3.tgz",
+ "integrity": "sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==",
"dev": true,
"dependencies": {
- "is-accessor-descriptor": "^1.0.0",
- "is-data-descriptor": "^1.0.0",
- "kind-of": "^6.0.2"
+ "is-accessor-descriptor": "^1.0.1",
+ "is-data-descriptor": "^1.0.1"
},
"engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-descriptor/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==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
+ "node": ">= 0.4"
}
},
"node_modules/is-docker": {
@@ -17993,10 +19216,13 @@
}
},
"node_modules/is-map": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz",
- "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==",
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz",
+ "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==",
"dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ },
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
@@ -18027,9 +19253,9 @@
}
},
"node_modules/is-negative-zero": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz",
- "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==",
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz",
+ "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==",
"dev": true,
"engines": {
"node": ">= 0.4"
@@ -18124,21 +19350,27 @@
"dev": true
},
"node_modules/is-set": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz",
- "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==",
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz",
+ "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==",
"dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ },
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/is-shared-array-buffer": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz",
- "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz",
+ "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==",
"dev": true,
"dependencies": {
- "call-bind": "^1.0.2"
+ "call-bind": "^1.0.7"
+ },
+ "engines": {
+ "node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
@@ -18193,16 +19425,12 @@
}
},
"node_modules/is-typed-array": {
- "version": "1.1.9",
- "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.9.tgz",
- "integrity": "sha512-kfrlnTTn8pZkfpJMUgYD7YZ3qzeJgWUn8XfVYBARc4wnmNOmLbmuuaAs3q5fvB0UJOn6yHAKaGTPM7d6ezoD/A==",
+ "version": "1.1.13",
+ "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz",
+ "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==",
"dev": true,
"dependencies": {
- "available-typed-arrays": "^1.0.5",
- "call-bind": "^1.0.2",
- "es-abstract": "^1.20.0",
- "for-each": "^0.3.3",
- "has-tostringtag": "^1.0.0"
+ "which-typed-array": "^1.1.14"
},
"engines": {
"node": ">= 0.4"
@@ -18230,12 +19458,12 @@
}
},
"node_modules/is-unicode-supported": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz",
- "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==",
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz",
+ "integrity": "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==",
"dev": true,
"engines": {
- "node": ">=10"
+ "node": ">=12"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
@@ -18257,10 +19485,13 @@
}
},
"node_modules/is-weakmap": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz",
- "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz",
+ "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==",
"dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ },
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
@@ -18278,13 +19509,16 @@
}
},
"node_modules/is-weakset": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz",
- "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==",
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz",
+ "integrity": "sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==",
"dev": true,
"dependencies": {
- "call-bind": "^1.0.2",
- "get-intrinsic": "^1.1.1"
+ "call-bind": "^1.0.7",
+ "get-intrinsic": "^1.2.4"
+ },
+ "engines": {
+ "node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
@@ -18330,10 +19564,13 @@
}
},
"node_modules/isexe": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
- "dev": true
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz",
+ "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=16"
+ }
},
"node_modules/isobject": {
"version": "3.0.1",
@@ -18376,9 +19613,9 @@
}
},
"node_modules/istanbul-lib-coverage": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz",
- "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==",
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz",
+ "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==",
"dev": true,
"engines": {
"node": ">=8"
@@ -18401,17 +19638,17 @@
}
},
"node_modules/istanbul-lib-report": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz",
- "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz",
+ "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==",
"dev": true,
"dependencies": {
"istanbul-lib-coverage": "^3.0.0",
- "make-dir": "^3.0.0",
+ "make-dir": "^4.0.0",
"supports-color": "^7.1.0"
},
"engines": {
- "node": ">=8"
+ "node": ">=10"
}
},
"node_modules/istanbul-lib-report/node_modules/has-flag": {
@@ -18423,6 +19660,33 @@
"node": ">=8"
}
},
+ "node_modules/istanbul-lib-report/node_modules/make-dir": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz",
+ "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==",
+ "dev": true,
+ "dependencies": {
+ "semver": "^7.5.3"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/istanbul-lib-report/node_modules/semver": {
+ "version": "7.6.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz",
+ "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==",
+ "dev": true,
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/istanbul-lib-report/node_modules/supports-color": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
@@ -18459,9 +19723,9 @@
}
},
"node_modules/istanbul-reports": {
- "version": "3.1.5",
- "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz",
- "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==",
+ "version": "3.1.7",
+ "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz",
+ "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==",
"dev": true,
"dependencies": {
"html-escaper": "^2.0.0",
@@ -18475,6 +19739,7 @@
"version": "5.0.15",
"resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
"integrity": "sha512-c9IPMazfRITpmAAKi22dK1VKxGDX9ehhqfABDriL/lzO92xcUKEJPQHrVA/2YHSNFB4iFlykVmWvwo48nr3OxA==",
+ "deprecated": "Glob versions prior to v9 are no longer supported",
"dev": true,
"dependencies": {
"inflight": "^1.0.4",
@@ -18496,17 +19761,11 @@
"node": ">=0.10.0"
}
},
- "node_modules/istanbul/node_modules/mkdirp": {
- "version": "0.5.6",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
- "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
- "dev": true,
- "dependencies": {
- "minimist": "^1.2.6"
- },
- "bin": {
- "mkdirp": "bin/cmd.js"
- }
+ "node_modules/istanbul/node_modules/isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
+ "dev": true
},
"node_modules/istanbul/node_modules/resolve": {
"version": "1.1.7",
@@ -18555,9 +19814,9 @@
}
},
"node_modules/jackspeak": {
- "version": "2.3.6",
- "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz",
- "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==",
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.0.tgz",
+ "integrity": "sha512-JVYhQnN59LVPFCEcVa2C3CrEKYacvjRfqIQl+h8oi91aLYQVWRYbxjPcv1bUiUy/kLmQaANrYfNMCO3kuEDHfw==",
"dev": true,
"dependencies": {
"@isaacs/cliui": "^8.0.2"
@@ -18573,9 +19832,9 @@
}
},
"node_modules/jake": {
- "version": "10.8.7",
- "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.7.tgz",
- "integrity": "sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==",
+ "version": "10.9.1",
+ "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.1.tgz",
+ "integrity": "sha512-61btcOHNnLnsOdtLgA5efqQWjnSi/vow5HbI7HMdKKWqvrKR1bLK3BPlJn9gcSaP2ewuamUSMB5XEy76KUIS2w==",
"dev": true,
"dependencies": {
"async": "^3.2.3",
@@ -19099,9 +20358,9 @@
}
},
"node_modules/jsbn": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
- "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz",
+ "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==",
"dev": true
},
"node_modules/jsdoc-type-pratt-parser": {
@@ -19131,10 +20390,13 @@
"dev": true
},
"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==",
- "dev": true
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.2.tgz",
+ "integrity": "sha512-fi0NG4bPjCHunUJffmLd0gxssIgkNmArMvis4iNah6Owg1MCJjWhEcDLmsK6iGkJq3tHwbDkTlce70/tmXN4cQ==",
+ "dev": true,
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
},
"node_modules/json-schema": {
"version": "0.4.0",
@@ -19161,9 +20423,9 @@
"dev": true
},
"node_modules/json5": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz",
- "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==",
+ "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"
},
@@ -19172,16 +20434,10 @@
}
},
"node_modules/jsonfile": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
- "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
- "dev": true,
- "dependencies": {
- "universalify": "^2.0.0"
- },
- "optionalDependencies": {
- "graceful-fs": "^4.1.6"
- }
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-1.0.1.tgz",
+ "integrity": "sha512-KbsDJNRfRPF5v49tMNf9sqyyGqGLBcz1v5kZT01kG5ns5mQSltwxCKVmUzVKtEinkUnTDtSrp6ngWpV7Xw0ZlA==",
+ "dev": true
},
"node_modules/jsprim": {
"version": "1.4.2",
@@ -19198,6 +20454,18 @@
"node": ">=0.6.0"
}
},
+ "node_modules/jszip": {
+ "version": "3.10.1",
+ "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz",
+ "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==",
+ "dev": true,
+ "dependencies": {
+ "lie": "~3.3.0",
+ "pako": "~1.0.2",
+ "readable-stream": "~2.3.6",
+ "setimmediate": "^1.0.5"
+ }
+ },
"node_modules/just-debounce": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/just-debounce/-/just-debounce-1.1.0.tgz",
@@ -19211,9 +20479,9 @@
"dev": true
},
"node_modules/karma": {
- "version": "6.4.1",
- "resolved": "https://registry.npmjs.org/karma/-/karma-6.4.1.tgz",
- "integrity": "sha512-Cj57NKOskK7wtFWSlMvZf459iX+kpYIPXmkNUzP2WAFcA7nhr/ALn5R7sw3w+1udFDcpMx/tuB8d5amgm3ijaA==",
+ "version": "6.4.3",
+ "resolved": "https://registry.npmjs.org/karma/-/karma-6.4.3.tgz",
+ "integrity": "sha512-LuucC/RE92tJ8mlCwqEoRWXP38UMAqpnq98vktmS9SznSoUPPUJQbc91dHcxcunROvfQjdORVA/YFviH+Xci9Q==",
"dev": true,
"dependencies": {
"@colors/colors": "1.5.0",
@@ -19235,7 +20503,7 @@
"qjobs": "^1.2.0",
"range-parser": "^1.2.1",
"rimraf": "^3.0.2",
- "socket.io": "^4.4.1",
+ "socket.io": "^4.7.2",
"source-map": "^0.6.1",
"tmp": "^0.2.1",
"ua-parser-js": "^0.7.30",
@@ -19285,14 +20553,20 @@
}
},
"node_modules/karma-chrome-launcher": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-3.1.1.tgz",
- "integrity": "sha512-hsIglcq1vtboGPAN+DGCISCFOxW+ZVnIqhDQcCMqqCp+4dmJ0Qpq5QAjkbA0X2L9Mi6OBkHi2Srrbmm7pUKkzQ==",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-3.2.0.tgz",
+ "integrity": "sha512-rE9RkUPI7I9mAxByQWkGJFXfFD6lE4gC5nPuZdobf/QdTEJI6EU4yIay/cfU/xV4ZxlM5JiTv7zWYgA64NpS5Q==",
"dev": true,
"dependencies": {
"which": "^1.2.1"
}
},
+ "node_modules/karma-chrome-launcher/node_modules/isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
+ "dev": true
+ },
"node_modules/karma-chrome-launcher/node_modules/which": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
@@ -19306,9 +20580,9 @@
}
},
"node_modules/karma-coverage": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/karma-coverage/-/karma-coverage-2.2.0.tgz",
- "integrity": "sha512-gPVdoZBNDZ08UCzdMHHhEImKrw1+PAOQOIiffv1YsvxFhBjqvo/SVXNk4tqn1SYqX0BJZT6S/59zgxiBe+9OuA==",
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/karma-coverage/-/karma-coverage-2.2.1.tgz",
+ "integrity": "sha512-yj7hbequkQP2qOSb20GuNSIyE//PgJWHwC2IydLE6XRtsnaflv+/OSGNssPjobYUlhVVagy99TQpqUt3vAUG7A==",
"dev": true,
"dependencies": {
"istanbul-lib-coverage": "^3.2.0",
@@ -19338,6 +20612,27 @@
"url": "https://github.com/sponsors/mattlewis92"
}
},
+ "node_modules/karma-coverage-istanbul-reporter/node_modules/glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "deprecated": "Glob versions prior to v9 are no longer supported",
+ "dev": true,
+ "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/karma-coverage-istanbul-reporter/node_modules/istanbul-lib-source-maps": {
"version": "3.0.6",
"resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz",
@@ -19389,6 +20684,7 @@
"version": "2.7.1",
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
"integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
+ "deprecated": "Rimraf versions prior to v4 are no longer supported",
"dev": true,
"dependencies": {
"glob": "^7.1.3"
@@ -19425,13 +20721,34 @@
}
},
"node_modules/karma-firefox-launcher": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/karma-firefox-launcher/-/karma-firefox-launcher-2.1.2.tgz",
- "integrity": "sha512-VV9xDQU1QIboTrjtGVD4NCfzIH7n01ZXqy/qpBhnOeGVOkG5JYPEm8kuSd7psHE6WouZaQ9Ool92g8LFweSNMA==",
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/karma-firefox-launcher/-/karma-firefox-launcher-2.1.3.tgz",
+ "integrity": "sha512-LMM2bseebLbYjODBOVt7TCPP9OI2vZIXCavIXhkO9m+10Uj5l7u/SKoeRmYx8FYHTVGZSpk6peX+3BMHC1WwNw==",
"dev": true,
"dependencies": {
"is-wsl": "^2.2.0",
- "which": "^2.0.1"
+ "which": "^3.0.0"
+ }
+ },
+ "node_modules/karma-firefox-launcher/node_modules/isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
+ "dev": true
+ },
+ "node_modules/karma-firefox-launcher/node_modules/which": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/which/-/which-3.0.1.tgz",
+ "integrity": "sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==",
+ "dev": true,
+ "dependencies": {
+ "isexe": "^2.0.0"
+ },
+ "bin": {
+ "node-which": "bin/which.js"
+ },
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
}
},
"node_modules/karma-ie-launcher": {
@@ -19552,22 +20869,94 @@
}
},
"node_modules/karma-webpack": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/karma-webpack/-/karma-webpack-5.0.0.tgz",
- "integrity": "sha512-+54i/cd3/piZuP3dr54+NcFeKOPnys5QeM1IY+0SPASwrtHsliXUiCL50iW+K9WWA7RvamC4macvvQ86l3KtaA==",
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/karma-webpack/-/karma-webpack-5.0.1.tgz",
+ "integrity": "sha512-oo38O+P3W2mSPCSUrQdySSPv1LvPpXP+f+bBimNomS5sW+1V4SuhCuW8TfJzV+rDv921w2fDSDw0xJbPe6U+kQ==",
"dev": true,
"dependencies": {
"glob": "^7.1.3",
- "minimatch": "^3.0.4",
+ "minimatch": "^9.0.3",
"webpack-merge": "^4.1.5"
},
"engines": {
- "node": ">= 6"
+ "node": ">= 18"
},
"peerDependencies": {
"webpack": "^5.0.0"
}
},
+ "node_modules/karma-webpack/node_modules/glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "deprecated": "Glob versions prior to v9 are no longer supported",
+ "dev": true,
+ "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/karma-webpack/node_modules/glob/node_modules/minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "dev": true,
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/karma-webpack/node_modules/minimatch": {
+ "version": "9.0.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz",
+ "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==",
+ "dev": true,
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/karma-webpack/node_modules/minimatch/node_modules/brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "dev": true,
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/karma/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==",
+ "dev": true,
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
"node_modules/karma/node_modules/cliui": {
"version": "7.0.4",
"resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
@@ -19579,16 +20968,43 @@
"wrap-ansi": "^7.0.0"
}
},
- "node_modules/karma/node_modules/mkdirp": {
- "version": "0.5.6",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
- "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
+ "node_modules/karma/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==",
"dev": true,
"dependencies": {
- "minimist": "^1.2.6"
+ "color-name": "~1.1.4"
},
- "bin": {
- "mkdirp": "bin/cmd.js"
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/karma/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==",
+ "dev": true
+ },
+ "node_modules/karma/node_modules/glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "deprecated": "Glob versions prior to v9 are no longer supported",
+ "dev": true,
+ "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/karma/node_modules/source-map": {
@@ -19600,16 +21016,33 @@
"node": ">=0.10.0"
}
},
- "node_modules/karma/node_modules/tmp": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz",
- "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==",
+ "node_modules/karma/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==",
+ "dev": true,
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/karma/node_modules/wrap-ansi": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
"dev": true,
"dependencies": {
- "rimraf": "^3.0.0"
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
},
"engines": {
- "node": ">=8.17.0"
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
}
},
"node_modules/karma/node_modules/yargs": {
@@ -19773,6 +21206,15 @@
"node": ">= 0.8.0"
}
},
+ "node_modules/lie": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz",
+ "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==",
+ "dev": true,
+ "dependencies": {
+ "immediate": "~3.0.5"
+ }
+ },
"node_modules/liftoff": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/liftoff/-/liftoff-3.1.0.tgz",
@@ -19805,9 +21247,9 @@
}
},
"node_modules/lighthouse-logger": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/lighthouse-logger/-/lighthouse-logger-1.3.0.tgz",
- "integrity": "sha512-BbqAKApLb9ywUli+0a+PcV04SyJ/N1q/8qgCNe6U97KbPCS1BTksEuHFLYdvc8DltuhfxIUBqDZsC0bBGtl3lA==",
+ "version": "1.4.2",
+ "resolved": "https://registry.npmjs.org/lighthouse-logger/-/lighthouse-logger-1.4.2.tgz",
+ "integrity": "sha512-gPWxznF6TKmUHrOQjlVo2UbaL2EJ71mb2CCeRs/2qBpi4L/g4LUVc9+3lKQ6DTUZwJswfM7ainGrLO1+fOqa2g==",
"dev": true,
"dependencies": {
"debug": "^2.6.9",
@@ -19830,10 +21272,13 @@
"dev": true
},
"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==",
- "dev": true
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-2.0.4.tgz",
+ "integrity": "sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A==",
+ "dev": true,
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ }
},
"node_modules/listenercount": {
"version": "1.0.1",
@@ -19940,12 +21385,22 @@
}
},
"node_modules/locate-app": {
- "version": "2.2.13",
- "resolved": "https://registry.npmjs.org/locate-app/-/locate-app-2.2.13.tgz",
- "integrity": "sha512-1jp6iRFrHKBj9vq6Idb0cSjly+KnCIMbxZ2BBKSEzIC4ZJosv47wnLoiJu2EgOAdjhGvNcy/P2fbDCS/WziI8g==",
+ "version": "2.4.15",
+ "resolved": "https://registry.npmjs.org/locate-app/-/locate-app-2.4.15.tgz",
+ "integrity": "sha512-oAGHATXPUHSQ74Om+3dXBRNYtCzU7Wzuhlj/WIZchqHb/5/TGJRzLEtHipMDOak0UZG9U365RMXyBzgV/fhOww==",
"dev": true,
+ "funding": [
+ {
+ "type": "individual",
+ "url": "https://buymeacoffee.com/hejny"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/hejny/locate-app/blob/main/README.md#%EF%B8%8F-contributing"
+ }
+ ],
"dependencies": {
- "n12": "1.8.16",
+ "@promptbook/utils": "0.50.0-10",
"type-fest": "2.13.0",
"userhome": "1.0.0"
}
@@ -20213,16 +21668,16 @@
}
},
"node_modules/log4js": {
- "version": "6.7.0",
- "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.7.0.tgz",
- "integrity": "sha512-KA0W9ffgNBLDj6fZCq/lRbgR6ABAodRIDHrZnS48vOtfKa4PzWImb0Md1lmGCdO3n3sbCm/n1/WmrNlZ8kCI3Q==",
+ "version": "6.9.1",
+ "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.9.1.tgz",
+ "integrity": "sha512-1somDdy9sChrr9/f4UlzhdaGfDR2c/SaD2a4T7qEkG4jTS57/B3qmnjLYePwQ8cqWnUHZI0iAKxMBpCZICiZ2g==",
"dev": true,
"dependencies": {
"date-format": "^4.0.14",
"debug": "^4.3.4",
"flatted": "^3.2.7",
"rfdc": "^1.3.0",
- "streamroller": "^3.1.3"
+ "streamroller": "^3.1.5"
},
"engines": {
"node": ">=8.0"
@@ -20255,9 +21710,9 @@
}
},
"node_modules/loglevel": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.8.0.tgz",
- "integrity": "sha512-G6A/nJLRgWOuuwdNuA6koovfEV1YpqqAG4pRUlFaz3jj2QNZ8M4vBqnVA+HBTmU/AMNUtlOsMmSpF6NyOjztbA==",
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.9.1.tgz",
+ "integrity": "sha512-hP3I3kCrDIMuRwAwHltphhDM1r8i55H33GgqjXbrisuJhF4kRhW1dNuxsRklp4bXl8DSdLaNLuiL4A/LWRfxvg==",
"dev": true,
"engines": {
"node": ">= 0.6.0"
@@ -20280,9 +21735,9 @@
"dev": true
},
"node_modules/longest-streak": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.0.1.tgz",
- "integrity": "sha512-cHlYSUpL2s7Fb3394mYxwTYj8niTaNHUCLr0qdiCXQfSjfuA7CKofpX2uSwEfFDQ0EB7JcnMnm+GjbqqoinYYg==",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz",
+ "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==",
"dev": true,
"funding": {
"type": "github",
@@ -20302,33 +21757,32 @@
}
},
"node_modules/loupe": {
- "version": "2.3.4",
- "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.4.tgz",
- "integrity": "sha512-OvKfgCC2Ndby6aSTREl5aCCPTNIzlDfQZvZxNUrBrihDhL3xcrYegTblhmEiCrg2kKQz4XsFIaemE5BF4ybSaQ==",
+ "version": "2.3.7",
+ "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz",
+ "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==",
"dev": true,
"dependencies": {
- "get-func-name": "^2.0.0"
+ "get-func-name": "^2.0.1"
}
},
"node_modules/lowercase-keys": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz",
- "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-3.0.0.tgz",
+ "integrity": "sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==",
"dev": true,
"engines": {
- "node": ">=8"
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
"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==",
- "dev": true,
+ "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": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
+ "yallist": "^3.0.2"
}
},
"node_modules/lru-queue": {
@@ -20341,9 +21795,9 @@
}
},
"node_modules/m3u8-parser": {
- "version": "4.7.1",
- "resolved": "https://registry.npmjs.org/m3u8-parser/-/m3u8-parser-4.7.1.tgz",
- "integrity": "sha512-pbrQwiMiq+MmI9bl7UjtPT3AK603PV9bogNlr83uC+X9IoxqL5E4k7kU7fMQ0dpRgxgeSMygqUa0IMLQNXLBNA==",
+ "version": "4.8.0",
+ "resolved": "https://registry.npmjs.org/m3u8-parser/-/m3u8-parser-4.8.0.tgz",
+ "integrity": "sha512-UqA2a/Pw3liR6Df3gwxrqghCP17OpPlQj6RBPLYygf/ZSQ4MoSgvdvhvt35qV+3NaaA0FSZx93Ix+2brT1U7cA==",
"dev": true,
"dependencies": {
"@babel/runtime": "^7.12.5",
@@ -20352,13 +21806,12 @@
}
},
"node_modules/magic-string": {
- "version": "0.25.9",
- "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz",
- "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==",
+ "version": "0.30.10",
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.10.tgz",
+ "integrity": "sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==",
"dev": true,
- "optional": true,
"dependencies": {
- "sourcemap-codec": "^1.4.8"
+ "@jridgewell/sourcemap-codec": "^1.4.15"
}
},
"node_modules/make-dir": {
@@ -20425,9 +21878,9 @@
}
},
"node_modules/markdown-table": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.2.tgz",
- "integrity": "sha512-y8j3a5/DkJCmS5x4dMCQL+OR0+2EAq3DOtio1COSHsmW2BGXnNCK3v12hJt1LrUz5iZH5g0LmuYOjDdI+czghA==",
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.3.tgz",
+ "integrity": "sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==",
"dev": true,
"funding": {
"type": "github",
@@ -20659,9 +22112,9 @@
}
},
"node_modules/mdast-util-definitions": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-5.1.1.tgz",
- "integrity": "sha512-rQ+Gv7mHttxHOBx2dkF4HWTg+EE+UR78ptQWDylzPKaQuVGdG4HIoY3SrS/pCp80nZ04greFvXbVFHT+uf0JVQ==",
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-5.1.2.tgz",
+ "integrity": "sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA==",
"dev": true,
"dependencies": {
"@types/mdast": "^3.0.0",
@@ -20674,11 +22127,12 @@
}
},
"node_modules/mdast-util-find-and-replace": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-2.2.1.tgz",
- "integrity": "sha512-SobxkQXFAdd4b5WmEakmkVoh18icjQRxGy5OWTCzgsLRm1Fu/KCtwD1HIQSsmq5ZRjVH0Ehwg6/Fn3xIUk+nKw==",
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-2.2.2.tgz",
+ "integrity": "sha512-MTtdFRz/eMDHXzeK6W3dO7mXUlF82Gom4y0oOgvHhh/HXZAGvIQDUvQ0SuUx+j2tv44b8xTHOm8K/9OoRFnXKw==",
"dev": true,
"dependencies": {
+ "@types/mdast": "^3.0.0",
"escape-string-regexp": "^5.0.0",
"unist-util-is": "^5.0.0",
"unist-util-visit-parents": "^5.0.0"
@@ -20701,9 +22155,9 @@
}
},
"node_modules/mdast-util-from-markdown": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-1.2.0.tgz",
- "integrity": "sha512-iZJyyvKD1+K7QX1b5jXdE7Sc5dtoTry1vzV28UZZe8Z1xVnB/czKntJ7ZAkG0tANqRnBF6p3p7GpU1y19DTf2Q==",
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-1.3.1.tgz",
+ "integrity": "sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww==",
"dev": true,
"dependencies": {
"@types/mdast": "^3.0.0",
@@ -20725,19 +22179,22 @@
}
},
"node_modules/mdast-util-from-markdown/node_modules/mdast-util-to-string": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.1.0.tgz",
- "integrity": "sha512-n4Vypz/DZgwo0iMHLQL49dJzlp7YtAJP+N07MZHpjPf/5XJuHUWstviF4Mn2jEiR/GNmtnRRqnwsXExk3igfFA==",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.2.0.tgz",
+ "integrity": "sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==",
"dev": true,
+ "dependencies": {
+ "@types/mdast": "^3.0.0"
+ },
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/unified"
}
},
"node_modules/mdast-util-gfm": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-2.0.1.tgz",
- "integrity": "sha512-42yHBbfWIFisaAfV1eixlabbsa6q7vHeSPY+cg+BBjX51M8xhgMacqH9g6TftB/9+YkcI0ooV4ncfrJslzm/RQ==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-2.0.2.tgz",
+ "integrity": "sha512-qvZ608nBppZ4icQlhQQIAdc6S3Ffj9RGmzwUKUWuEICFnd1LVkN3EktF7ZHAgfcEdvZB5owU9tQgt99e2TlLjg==",
"dev": true,
"dependencies": {
"mdast-util-from-markdown": "^1.0.0",
@@ -20754,9 +22211,9 @@
}
},
"node_modules/mdast-util-gfm-autolink-literal": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-1.0.2.tgz",
- "integrity": "sha512-FzopkOd4xTTBeGXhXSBU0OCDDh5lUj2rd+HQqG92Ld+jL4lpUfgX2AT2OHAVP9aEeDKp7G92fuooSZcYJA3cRg==",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-1.0.3.tgz",
+ "integrity": "sha512-My8KJ57FYEy2W2LyNom4n3E7hKTuQk/0SES0u16tjA9Z3oFkF4RrC/hPAPgjlSpezsOvI8ObcXcElo92wn5IGA==",
"dev": true,
"dependencies": {
"@types/mdast": "^3.0.0",
@@ -20770,9 +22227,9 @@
}
},
"node_modules/mdast-util-gfm-footnote": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-1.0.1.tgz",
- "integrity": "sha512-p+PrYlkw9DeCRkTVw1duWqPRHX6Ywh2BNKJQcZbCwAuP/59B0Lk9kakuAd7KbQprVO4GzdW8eS5++A9PUSqIyw==",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-1.0.2.tgz",
+ "integrity": "sha512-56D19KOGbE00uKVj3sgIykpwKL179QsVFwx/DCW0u/0+URsryacI4MAdNJl0dh+u2PSsD9FtxPFbHCzJ78qJFQ==",
"dev": true,
"dependencies": {
"@types/mdast": "^3.0.0",
@@ -20785,9 +22242,9 @@
}
},
"node_modules/mdast-util-gfm-strikethrough": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-1.0.1.tgz",
- "integrity": "sha512-zKJbEPe+JP6EUv0mZ0tQUyLQOC+FADt0bARldONot/nefuISkaZFlmVK4tU6JgfyZGrky02m/I6PmehgAgZgqg==",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-1.0.3.tgz",
+ "integrity": "sha512-DAPhYzTYrRcXdMjUtUjKvW9z/FNAMTdU0ORyMcbmkwYNbKocDpdk+PX1L1dQgOID/+vVs1uBQ7ElrBQfZ0cuiQ==",
"dev": true,
"dependencies": {
"@types/mdast": "^3.0.0",
@@ -20799,9 +22256,9 @@
}
},
"node_modules/mdast-util-gfm-table": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-1.0.6.tgz",
- "integrity": "sha512-uHR+fqFq3IvB3Rd4+kzXW8dmpxUhvgCQZep6KdjsLK4O6meK5dYZEayLtIxNus1XO3gfjfcIFe8a7L0HZRGgag==",
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-1.0.7.tgz",
+ "integrity": "sha512-jjcpmNnQvrmN5Vx7y7lEc2iIOEytYv7rTvu+MeyAsSHTASGCCRA79Igg2uKssgOs1i1po8s3plW0sTu1wkkLGg==",
"dev": true,
"dependencies": {
"@types/mdast": "^3.0.0",
@@ -20815,9 +22272,9 @@
}
},
"node_modules/mdast-util-gfm-task-list-item": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-1.0.1.tgz",
- "integrity": "sha512-KZ4KLmPdABXOsfnM6JHUIjxEvcx2ulk656Z/4Balw071/5qgnhz+H1uGtf2zIGnrnvDC8xR4Fj9uKbjAFGNIeA==",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-1.0.2.tgz",
+ "integrity": "sha512-PFTA1gzfp1B1UaiJVyhJZA1rm0+Tzn690frc/L8vNX1Jop4STZgOE6bxUhnzdVSB+vm2GU1tIsuQcA9bxTQpMQ==",
"dev": true,
"dependencies": {
"@types/mdast": "^3.0.0",
@@ -20837,10 +22294,24 @@
"mdast-util-to-string": "^1.0.0"
}
},
+ "node_modules/mdast-util-phrasing": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-3.0.1.tgz",
+ "integrity": "sha512-WmI1gTXUBJo4/ZmSk79Wcb2HcjPJBzM1nlI/OUWA8yk2X9ik3ffNbBGsU+09BFmXaL1IBb9fiuvq6/KMiNycSg==",
+ "dev": true,
+ "dependencies": {
+ "@types/mdast": "^3.0.0",
+ "unist-util-is": "^5.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
"node_modules/mdast-util-to-hast": {
- "version": "12.2.4",
- "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-12.2.4.tgz",
- "integrity": "sha512-a21xoxSef1l8VhHxS1Dnyioz6grrJkoaCUgGzMD/7dWHvboYX3VW53esRUfB5tgTyz4Yos1n25SPcj35dJqmAg==",
+ "version": "12.3.0",
+ "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-12.3.0.tgz",
+ "integrity": "sha512-pits93r8PhnIoU4Vy9bjW39M2jJ6/tdHyja9rrot9uujkN7UTU9SDnE6WNJz/IGyQk3XHX6yNNtrBH6cQzm8Hw==",
"dev": true,
"dependencies": {
"@types/hast": "^2.0.0",
@@ -20848,7 +22319,6 @@
"mdast-util-definitions": "^5.0.0",
"micromark-util-sanitize-uri": "^1.1.0",
"trim-lines": "^3.0.0",
- "unist-builder": "^3.0.0",
"unist-util-generated": "^2.0.0",
"unist-util-position": "^4.0.0",
"unist-util-visit": "^4.0.0"
@@ -20859,14 +22329,15 @@
}
},
"node_modules/mdast-util-to-markdown": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-1.3.0.tgz",
- "integrity": "sha512-6tUSs4r+KK4JGTTiQ7FfHmVOaDrLQJPmpjD6wPMlHGUVXoG9Vjc3jIeP+uyBWRf8clwB2blM+W7+KrlMYQnftA==",
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-1.5.0.tgz",
+ "integrity": "sha512-bbv7TPv/WC49thZPg3jXuqzuvI45IL2EVAr/KxF0BSdHsU0ceFHOmwQn6evxAh1GaoK/6GQ1wp4R4oW2+LFL/A==",
"dev": true,
"dependencies": {
"@types/mdast": "^3.0.0",
"@types/unist": "^2.0.0",
"longest-streak": "^3.0.0",
+ "mdast-util-phrasing": "^3.0.0",
"mdast-util-to-string": "^3.0.0",
"micromark-util-decode-string": "^1.0.0",
"unist-util-visit": "^4.0.0",
@@ -20878,10 +22349,13 @@
}
},
"node_modules/mdast-util-to-markdown/node_modules/mdast-util-to-string": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.1.0.tgz",
- "integrity": "sha512-n4Vypz/DZgwo0iMHLQL49dJzlp7YtAJP+N07MZHpjPf/5XJuHUWstviF4Mn2jEiR/GNmtnRRqnwsXExk3igfFA==",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.2.0.tgz",
+ "integrity": "sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==",
"dev": true,
+ "dependencies": {
+ "@types/mdast": "^3.0.0"
+ },
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/unified"
@@ -20898,58 +22372,37 @@
}
},
"node_modules/mdast-util-toc": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/mdast-util-toc/-/mdast-util-toc-6.1.0.tgz",
- "integrity": "sha512-0PuqZELXZl4ms1sF7Lqigrqik4Ll3UhbI+jdTrfw7pZ9QPawgl7LD4GQ8MkU7bT/EwiVqChNTbifa2jLLKo76A==",
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/mdast-util-toc/-/mdast-util-toc-6.1.1.tgz",
+ "integrity": "sha512-Er21728Kow8hehecK2GZtb7Ny3omcoPUVrmObiSUwmoRYVZaXLR751QROEFjR8W/vAQdHMLj49Lz20J55XaNpw==",
"dev": true,
"dependencies": {
"@types/extend": "^3.0.0",
- "@types/github-slugger": "^1.0.0",
"@types/mdast": "^3.0.0",
"extend": "^3.0.0",
- "github-slugger": "^1.0.0",
+ "github-slugger": "^2.0.0",
"mdast-util-to-string": "^3.1.0",
"unist-util-is": "^5.0.0",
- "unist-util-visit": "^3.0.0"
+ "unist-util-visit": "^4.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/unified"
}
},
- "node_modules/mdast-util-toc/node_modules/mdast-util-to-string": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.1.0.tgz",
- "integrity": "sha512-n4Vypz/DZgwo0iMHLQL49dJzlp7YtAJP+N07MZHpjPf/5XJuHUWstviF4Mn2jEiR/GNmtnRRqnwsXExk3igfFA==",
- "dev": true,
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/mdast-util-toc/node_modules/unist-util-visit": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-3.1.0.tgz",
- "integrity": "sha512-Szoh+R/Ll68QWAyQyZZpQzZQm2UPbxibDvaY8Xc9SUtYgPsDzx5AWSk++UUt2hJuow8mvwR+rG+LQLw+KsuAKA==",
- "dev": true,
- "dependencies": {
- "@types/unist": "^2.0.0",
- "unist-util-is": "^5.0.0",
- "unist-util-visit-parents": "^4.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
+ "node_modules/mdast-util-toc/node_modules/github-slugger": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-2.0.0.tgz",
+ "integrity": "sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==",
+ "dev": true
},
- "node_modules/mdast-util-toc/node_modules/unist-util-visit-parents": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-4.1.1.tgz",
- "integrity": "sha512-1xAFJXAKpnnJl8G7K5KgU7FY55y3GcLIXqkzUj5QF/QVP7biUm0K0O2oqVkYsdjzJKifYeWn9+o6piAK2hGSHw==",
+ "node_modules/mdast-util-toc/node_modules/mdast-util-to-string": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.2.0.tgz",
+ "integrity": "sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==",
"dev": true,
"dependencies": {
- "@types/unist": "^2.0.0",
- "unist-util-is": "^5.0.0"
+ "@types/mdast": "^3.0.0"
},
"funding": {
"type": "opencollective",
@@ -20965,19 +22418,22 @@
}
},
"node_modules/memoizee": {
- "version": "0.4.15",
- "resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.4.15.tgz",
- "integrity": "sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ==",
+ "version": "0.4.17",
+ "resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.4.17.tgz",
+ "integrity": "sha512-DGqD7Hjpi/1or4F/aYAspXKNm5Yili0QDAFAY4QYvpqpgiY6+1jOfqpmByzjxbWd/T9mChbCArXAbDAsTm5oXA==",
"dev": true,
"dependencies": {
- "d": "^1.0.1",
- "es5-ext": "^0.10.53",
+ "d": "^1.0.2",
+ "es5-ext": "^0.10.64",
"es6-weak-map": "^2.0.3",
"event-emitter": "^0.3.5",
"is-promise": "^2.2.2",
"lru-queue": "^0.1.0",
"next-tick": "^1.1.0",
"timers-ext": "^0.1.7"
+ },
+ "engines": {
+ "node": ">=0.12"
}
},
"node_modules/memory-fs": {
@@ -21013,9 +22469,9 @@
}
},
"node_modules/micromark": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/micromark/-/micromark-3.1.0.tgz",
- "integrity": "sha512-6Mj0yHLdUZjHnOPgr5xfWIMqMWS12zDN6iws9SLuSz76W8jTtAv24MN4/CL7gJrl5vtxGInkkqDv/JIoRsQOvA==",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/micromark/-/micromark-3.2.0.tgz",
+ "integrity": "sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA==",
"dev": true,
"funding": [
{
@@ -21048,9 +22504,9 @@
}
},
"node_modules/micromark-core-commonmark": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-1.0.6.tgz",
- "integrity": "sha512-K+PkJTxqjFfSNkfAhp4GB+cZPfQd6dxtTXnf+RjZOV7T4EEXnvgzOcnp+eSTmpGk9d1S9sL6/lqrgSNn/s0HZA==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-1.1.0.tgz",
+ "integrity": "sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw==",
"dev": true,
"funding": [
{
@@ -21082,9 +22538,9 @@
}
},
"node_modules/micromark-extension-gfm": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-2.0.1.tgz",
- "integrity": "sha512-p2sGjajLa0iYiGQdT0oelahRYtMWvLjy8J9LOCxzIQsllMCGLbsLW+Nc+N4vi02jcRJvedVJ68cjelKIO6bpDA==",
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-2.0.3.tgz",
+ "integrity": "sha512-vb9OoHqrhCmbRidQv/2+Bc6pkP0FrtlhurxZofvOEy5o8RtuuvTq+RQ1Vw5ZDNrVraQZu3HixESqbG+0iKk/MQ==",
"dev": true,
"dependencies": {
"micromark-extension-gfm-autolink-literal": "^1.0.0",
@@ -21102,16 +22558,15 @@
}
},
"node_modules/micromark-extension-gfm-autolink-literal": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-1.0.3.tgz",
- "integrity": "sha512-i3dmvU0htawfWED8aHMMAzAVp/F0Z+0bPh3YrbTPPL1v4YAlCZpy5rBO5p0LPYiZo0zFVkoYh7vDU7yQSiCMjg==",
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-1.0.5.tgz",
+ "integrity": "sha512-z3wJSLrDf8kRDOh2qBtoTRD53vJ+CWIyo7uyZuxf/JAbNJjiHsOpG1y5wxk8drtv3ETAHutCu6N3thkOOgueWg==",
"dev": true,
"dependencies": {
"micromark-util-character": "^1.0.0",
"micromark-util-sanitize-uri": "^1.0.0",
"micromark-util-symbol": "^1.0.0",
- "micromark-util-types": "^1.0.0",
- "uvu": "^0.5.0"
+ "micromark-util-types": "^1.0.0"
},
"funding": {
"type": "opencollective",
@@ -21119,9 +22574,9 @@
}
},
"node_modules/micromark-extension-gfm-footnote": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-1.0.4.tgz",
- "integrity": "sha512-E/fmPmDqLiMUP8mLJ8NbJWJ4bTw6tS+FEQS8CcuDtZpILuOb2kjLqPEeAePF1djXROHXChM/wPJw0iS4kHCcIg==",
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-1.1.2.tgz",
+ "integrity": "sha512-Yxn7z7SxgyGWRNa4wzf8AhYYWNrwl5q1Z8ii+CSTTIqVkmGZF1CElX2JI8g5yGoM3GAman9/PVCUFUSJ0kB/8Q==",
"dev": true,
"dependencies": {
"micromark-core-commonmark": "^1.0.0",
@@ -21139,9 +22594,9 @@
}
},
"node_modules/micromark-extension-gfm-strikethrough": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-1.0.4.tgz",
- "integrity": "sha512-/vjHU/lalmjZCT5xt7CcHVJGq8sYRm80z24qAKXzaHzem/xsDYb2yLL+NNVbYvmpLx3O7SYPuGL5pzusL9CLIQ==",
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-1.0.7.tgz",
+ "integrity": "sha512-sX0FawVE1o3abGk3vRjOH50L5TTLr3b5XMqnP9YDRb34M0v5OoZhG+OHFz1OffZ9dlwgpTBKaT4XW/AsUVnSDw==",
"dev": true,
"dependencies": {
"micromark-util-chunked": "^1.0.0",
@@ -21157,9 +22612,9 @@
}
},
"node_modules/micromark-extension-gfm-table": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-1.0.5.tgz",
- "integrity": "sha512-xAZ8J1X9W9K3JTJTUL7G6wSKhp2ZYHrFk5qJgY/4B33scJzE2kpfRL6oiw/veJTbt7jiM/1rngLlOKPWr1G+vg==",
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-1.0.7.tgz",
+ "integrity": "sha512-3ZORTHtcSnMQEKtAOsBQ9/oHp9096pI/UvdPtN7ehKvrmZZ2+bbWhi0ln+I9drmwXMt5boocn6OlwQzNXeVeqw==",
"dev": true,
"dependencies": {
"micromark-factory-space": "^1.0.0",
@@ -21174,9 +22629,9 @@
}
},
"node_modules/micromark-extension-gfm-tagfilter": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-1.0.1.tgz",
- "integrity": "sha512-Ty6psLAcAjboRa/UKUbbUcwjVAv5plxmpUTy2XC/3nJFL37eHej8jrHrRzkqcpipJliuBH30DTs7+3wqNcQUVA==",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-1.0.2.tgz",
+ "integrity": "sha512-5XWB9GbAUSHTn8VPU8/1DBXMuKYT5uOgEjJb8gN3mW0PNW5OPHpSdojoqf+iq1xo7vWzw/P8bAHY0n6ijpXF7g==",
"dev": true,
"dependencies": {
"micromark-util-types": "^1.0.0"
@@ -21187,9 +22642,9 @@
}
},
"node_modules/micromark-extension-gfm-task-list-item": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-1.0.3.tgz",
- "integrity": "sha512-PpysK2S1Q/5VXi72IIapbi/jliaiOFzv7THH4amwXeYXLq3l1uo8/2Be0Ac1rEwK20MQEsGH2ltAZLNY2KI/0Q==",
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-1.0.5.tgz",
+ "integrity": "sha512-RMFXl2uQ0pNQy6Lun2YBYT9g9INXtWJULgbt01D/x8/6yJ2qpKyzdZD3pi6UIkzF++Da49xAelVKUeUMqd5eIQ==",
"dev": true,
"dependencies": {
"micromark-factory-space": "^1.0.0",
@@ -21204,9 +22659,9 @@
}
},
"node_modules/micromark-factory-destination": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-1.0.0.tgz",
- "integrity": "sha512-eUBA7Rs1/xtTVun9TmV3gjfPz2wEwgK5R5xcbIM5ZYAtvGF6JkyaDsj0agx8urXnO31tEO6Ug83iVH3tdedLnw==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-1.1.0.tgz",
+ "integrity": "sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg==",
"dev": true,
"funding": [
{
@@ -21225,9 +22680,9 @@
}
},
"node_modules/micromark-factory-label": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-1.0.2.tgz",
- "integrity": "sha512-CTIwxlOnU7dEshXDQ+dsr2n+yxpP0+fn271pu0bwDIS8uqfFcumXpj5mLn3hSC8iw2MUr6Gx8EcKng1dD7i6hg==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-1.1.0.tgz",
+ "integrity": "sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w==",
"dev": true,
"funding": [
{
@@ -21247,9 +22702,9 @@
}
},
"node_modules/micromark-factory-space": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-1.0.0.tgz",
- "integrity": "sha512-qUmqs4kj9a5yBnk3JMLyjtWYN6Mzfcx8uJfi5XAveBniDevmZasdGBba5b4QsvRcAkmvGo5ACmSUmyGiKTLZew==",
+ "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==",
"dev": true,
"funding": [
{
@@ -21267,9 +22722,9 @@
}
},
"node_modules/micromark-factory-title": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-1.0.2.tgz",
- "integrity": "sha512-zily+Nr4yFqgMGRKLpTVsNl5L4PMu485fGFDOQJQBl2NFpjGte1e86zC0da93wf97jrc4+2G2GQudFMHn3IX+A==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-1.1.0.tgz",
+ "integrity": "sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ==",
"dev": true,
"funding": [
{
@@ -21285,14 +22740,13 @@
"micromark-factory-space": "^1.0.0",
"micromark-util-character": "^1.0.0",
"micromark-util-symbol": "^1.0.0",
- "micromark-util-types": "^1.0.0",
- "uvu": "^0.5.0"
+ "micromark-util-types": "^1.0.0"
}
},
"node_modules/micromark-factory-whitespace": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-1.0.0.tgz",
- "integrity": "sha512-Qx7uEyahU1lt1RnsECBiuEbfr9INjQTGa6Err+gF3g0Tx4YEviPbqqGKNv/NrBaE7dVHdn1bVZKM/n5I/Bak7A==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-1.1.0.tgz",
+ "integrity": "sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ==",
"dev": true,
"funding": [
{
@@ -21312,9 +22766,9 @@
}
},
"node_modules/micromark-util-character": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-1.1.0.tgz",
- "integrity": "sha512-agJ5B3unGNJ9rJvADMJ5ZiYjBRyDpzKAOk01Kpi1TKhlT1APx3XZk6eN7RtSz1erbWHC2L8T3xLZ81wdtGRZzg==",
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-1.2.0.tgz",
+ "integrity": "sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==",
"dev": true,
"funding": [
{
@@ -21332,9 +22786,9 @@
}
},
"node_modules/micromark-util-chunked": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-1.0.0.tgz",
- "integrity": "sha512-5e8xTis5tEZKgesfbQMKRCyzvffRRUX+lK/y+DvsMFdabAicPkkZV6gO+FEWi9RfuKKoxxPwNL+dFF0SMImc1g==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-1.1.0.tgz",
+ "integrity": "sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ==",
"dev": true,
"funding": [
{
@@ -21351,9 +22805,9 @@
}
},
"node_modules/micromark-util-classify-character": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-1.0.0.tgz",
- "integrity": "sha512-F8oW2KKrQRb3vS5ud5HIqBVkCqQi224Nm55o5wYLzY/9PwHGXC01tr3d7+TqHHz6zrKQ72Okwtvm/xQm6OVNZA==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-1.1.0.tgz",
+ "integrity": "sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw==",
"dev": true,
"funding": [
{
@@ -21372,9 +22826,9 @@
}
},
"node_modules/micromark-util-combine-extensions": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.0.0.tgz",
- "integrity": "sha512-J8H058vFBdo/6+AsjHp2NF7AJ02SZtWaVUjsayNFeAiydTxUwViQPxN0Hf8dp4FmCQi0UUFovFsEyRSUmFH3MA==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.1.0.tgz",
+ "integrity": "sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA==",
"dev": true,
"funding": [
{
@@ -21392,9 +22846,9 @@
}
},
"node_modules/micromark-util-decode-numeric-character-reference": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.0.0.tgz",
- "integrity": "sha512-OzO9AI5VUtrTD7KSdagf4MWgHMtET17Ua1fIpXTpuhclCqD8egFWo85GxSGvxgkGS74bEahvtM0WP0HjvV0e4w==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.1.0.tgz",
+ "integrity": "sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw==",
"dev": true,
"funding": [
{
@@ -21411,9 +22865,9 @@
}
},
"node_modules/micromark-util-decode-string": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-1.0.2.tgz",
- "integrity": "sha512-DLT5Ho02qr6QWVNYbRZ3RYOSSWWFuH3tJexd3dgN1odEuPNxCngTCXJum7+ViRAd9BbdxCvMToPOD/IvVhzG6Q==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-1.1.0.tgz",
+ "integrity": "sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ==",
"dev": true,
"funding": [
{
@@ -21433,9 +22887,9 @@
}
},
"node_modules/micromark-util-encode": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-1.0.1.tgz",
- "integrity": "sha512-U2s5YdnAYexjKDel31SVMPbfi+eF8y1U4pfiRW/Y8EFVCy/vgxk/2wWTxzcqE71LHtCuCzlBDRU2a5CQ5j+mQA==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-1.1.0.tgz",
+ "integrity": "sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw==",
"dev": true,
"funding": [
{
@@ -21449,9 +22903,9 @@
]
},
"node_modules/micromark-util-html-tag-name": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.1.0.tgz",
- "integrity": "sha512-BKlClMmYROy9UiV03SwNmckkjn8QHVaWkqoAqzivabvdGcwNGMMMH/5szAnywmsTBUzDsU57/mFi0sp4BQO6dA==",
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.2.0.tgz",
+ "integrity": "sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q==",
"dev": true,
"funding": [
{
@@ -21465,9 +22919,9 @@
]
},
"node_modules/micromark-util-normalize-identifier": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.0.0.tgz",
- "integrity": "sha512-yg+zrL14bBTFrQ7n35CmByWUTFsgst5JhA4gJYoty4Dqzj4Z4Fr/DHekSS5aLfH9bdlfnSvKAWsAgJhIbogyBg==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.1.0.tgz",
+ "integrity": "sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q==",
"dev": true,
"funding": [
{
@@ -21484,9 +22938,9 @@
}
},
"node_modules/micromark-util-resolve-all": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-1.0.0.tgz",
- "integrity": "sha512-CB/AGk98u50k42kvgaMM94wzBqozSzDDaonKU7P7jwQIuH2RU0TeBqGYJz2WY1UdihhjweivStrJ2JdkdEmcfw==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-1.1.0.tgz",
+ "integrity": "sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA==",
"dev": true,
"funding": [
{
@@ -21503,9 +22957,9 @@
}
},
"node_modules/micromark-util-sanitize-uri": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.1.0.tgz",
- "integrity": "sha512-RoxtuSCX6sUNtxhbmsEFQfWzs8VN7cTctmBPvYivo98xb/kDEoTCtJQX5wyzIYEmk/lvNFTat4hL8oW0KndFpg==",
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.2.0.tgz",
+ "integrity": "sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A==",
"dev": true,
"funding": [
{
@@ -21524,9 +22978,9 @@
}
},
"node_modules/micromark-util-subtokenize": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-1.0.2.tgz",
- "integrity": "sha512-d90uqCnXp/cy4G881Ub4psE57Sf8YD0pim9QdjCRNjfas2M1u6Lbt+XZK9gnHL2XFhnozZiEdCa9CNfXSfQ6xA==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-1.1.0.tgz",
+ "integrity": "sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A==",
"dev": true,
"funding": [
{
@@ -21546,9 +23000,9 @@
}
},
"node_modules/micromark-util-symbol": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-1.0.1.tgz",
- "integrity": "sha512-oKDEMK2u5qqAptasDAwWDXq0tG9AssVwAx3E9bBF3t/shRIGsWIRG+cGafs2p/SnDSOecnt6hZPCE2o6lHfFmQ==",
+ "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==",
"dev": true,
"funding": [
{
@@ -21562,9 +23016,9 @@
]
},
"node_modules/micromark-util-types": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.0.2.tgz",
- "integrity": "sha512-DCfg/T8fcrhrRKTPjRrw/5LLvdGV7BHySf/1LOZx7TzWZdYRjogNtyNq885z3nNallwr3QUKARjqvHqX1/7t+w==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.1.0.tgz",
+ "integrity": "sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==",
"dev": true,
"funding": [
{
@@ -21578,12 +23032,12 @@
]
},
"node_modules/micromatch": {
- "version": "4.0.5",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
- "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
+ "version": "4.0.7",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz",
+ "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==",
"dev": true,
"dependencies": {
- "braces": "^3.0.2",
+ "braces": "^3.0.3",
"picomatch": "^2.3.1"
},
"engines": {
@@ -21631,12 +23085,15 @@
}
},
"node_modules/mimic-response": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz",
- "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==",
+ "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==",
"dev": true,
"engines": {
- "node": ">=4"
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/min-document": {
@@ -21661,18 +23118,18 @@
}
},
"node_modules/minimist": {
- "version": "1.2.7",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz",
- "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==",
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
+ "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
"dev": true,
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/minipass": {
- "version": "7.0.4",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz",
- "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==",
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
+ "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
"dev": true,
"engines": {
"node": ">=16 || 14 >=14.17"
@@ -21697,6 +23154,18 @@
"node": ">=0.10.0"
}
},
+ "node_modules/mkdirp": {
+ "version": "0.5.6",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
+ "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
+ "dev": true,
+ "dependencies": {
+ "minimist": "^1.2.6"
+ },
+ "bin": {
+ "mkdirp": "bin/cmd.js"
+ }
+ },
"node_modules/mkdirp-classic": {
"version": "0.5.3",
"resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz",
@@ -21704,9 +23173,9 @@
"dev": true
},
"node_modules/mocha": {
- "version": "10.1.0",
- "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.1.0.tgz",
- "integrity": "sha512-vUF7IYxEoN7XhQpFLxQAEMtE4W91acW4B6En9l97MwE9stL1A9gusXfoHZCLVHDUJ/7V5+lbCM6yMqzo5vNymg==",
+ "version": "10.4.0",
+ "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.4.0.tgz",
+ "integrity": "sha512-eqhGB8JKapEYcC4ytX/xrzKforgEc3j1pGlAXVy3eRwrtAy5/nIfT1SvgGzfN0XZZxeLq0aQWkOUAmqIJiv+bA==",
"dev": true,
"dependencies": {
"ansi-colors": "4.1.1",
@@ -21716,13 +23185,12 @@
"diff": "5.0.0",
"escape-string-regexp": "4.0.0",
"find-up": "5.0.0",
- "glob": "7.2.0",
+ "glob": "8.1.0",
"he": "1.2.0",
"js-yaml": "4.1.0",
"log-symbols": "4.1.0",
"minimatch": "5.0.1",
"ms": "2.1.3",
- "nanoid": "3.3.3",
"serialize-javascript": "6.0.0",
"strip-json-comments": "3.1.1",
"supports-color": "8.1.1",
@@ -21737,10 +23205,6 @@
},
"engines": {
"node": ">= 14.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/mochajs"
}
},
"node_modules/mocha/node_modules/ansi-colors": {
@@ -21773,6 +23237,15 @@
"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
"dev": true
},
+ "node_modules/mocha/node_modules/brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "dev": true,
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
"node_modules/mocha/node_modules/chalk": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
@@ -21801,6 +23274,33 @@
"node": ">=8"
}
},
+ "node_modules/mocha/node_modules/chokidar": {
+ "version": "3.5.3",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
+ "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
+ "dev": true,
+ "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/mocha/node_modules/cliui": {
"version": "7.0.4",
"resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
@@ -21830,6 +23330,29 @@
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
},
+ "node_modules/mocha/node_modules/debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "dev": true,
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/mocha/node_modules/debug/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==",
+ "dev": true
+ },
"node_modules/mocha/node_modules/diff": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz",
@@ -21868,37 +23391,25 @@
}
},
"node_modules/mocha/node_modules/glob": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
- "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==",
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz",
+ "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==",
+ "deprecated": "Glob versions prior to v9 are no longer supported",
"dev": true,
"dependencies": {
"fs.realpath": "^1.0.0",
"inflight": "^1.0.4",
"inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
+ "minimatch": "^5.0.1",
+ "once": "^1.3.0"
},
"engines": {
- "node": "*"
+ "node": ">=12"
},
"funding": {
"url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/mocha/node_modules/glob/node_modules/minimatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
- "dev": true,
- "dependencies": {
- "brace-expansion": "^1.1.7"
- },
- "engines": {
- "node": "*"
- }
- },
"node_modules/mocha/node_modules/has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
@@ -21908,6 +23419,18 @@
"node": ">=8"
}
},
+ "node_modules/mocha/node_modules/is-unicode-supported": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz",
+ "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/mocha/node_modules/js-yaml": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
@@ -21963,15 +23486,6 @@
"node": ">=10"
}
},
- "node_modules/mocha/node_modules/minimatch/node_modules/brace-expansion": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
- "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
- "dev": true,
- "dependencies": {
- "balanced-match": "^1.0.0"
- }
- },
"node_modules/mocha/node_modules/ms": {
"version": "2.1.3",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
@@ -22008,6 +23522,18 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/mocha/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==",
+ "dev": true,
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/mocha/node_modules/strip-json-comments": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
@@ -22035,6 +23561,23 @@
"url": "https://github.com/chalk/supports-color?sponsor=1"
}
},
+ "node_modules/mocha/node_modules/wrap-ansi": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+ }
+ },
"node_modules/mocha/node_modules/yargs": {
"version": "16.2.0",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
@@ -22062,6 +23605,27 @@
"node": ">=10"
}
},
+ "node_modules/mocha/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==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/moment": {
+ "version": "2.30.1",
+ "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz",
+ "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==",
+ "dev": true,
+ "engines": {
+ "node": "*"
+ }
+ },
"node_modules/morgan": {
"version": "1.10.0",
"resolved": "https://registry.npmjs.org/morgan/-/morgan-1.10.0.tgz",
@@ -22106,14 +23670,14 @@
}
},
"node_modules/mpd-parser": {
- "version": "0.21.1",
- "resolved": "https://registry.npmjs.org/mpd-parser/-/mpd-parser-0.21.1.tgz",
- "integrity": "sha512-BxlSXWbKE1n7eyEPBnTEkrzhS3PdmkkKdM1pgKbPnPOH0WFZIc0sPOWi7m0Uo3Wd2a4Or8Qf4ZbS7+ASqQ49fw==",
+ "version": "0.22.1",
+ "resolved": "https://registry.npmjs.org/mpd-parser/-/mpd-parser-0.22.1.tgz",
+ "integrity": "sha512-fwBebvpyPUU8bOzvhX0VQZgSohncbgYwUyJJoTSNpmy7ccD2ryiCvM7oRkn/xQH5cv73/xU7rJSNCLjdGFor0Q==",
"dev": true,
"dependencies": {
"@babel/runtime": "^7.12.5",
"@videojs/vhs-utils": "^3.0.5",
- "@xmldom/xmldom": "^0.7.2",
+ "@xmldom/xmldom": "^0.8.3",
"global": "^4.4.0"
},
"bin": {
@@ -22130,9 +23694,9 @@
}
},
"node_modules/mrmime": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz",
- "integrity": "sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.0.tgz",
+ "integrity": "sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==",
"dev": true,
"engines": {
"node": ">=10"
@@ -22162,10 +23726,13 @@
}
},
"node_modules/mute-stream": {
- "version": "0.0.8",
- "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz",
- "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==",
- "dev": true
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-1.0.0.tgz",
+ "integrity": "sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==",
+ "dev": true,
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
},
"node_modules/mux.js": {
"version": "6.0.1",
@@ -22184,24 +23751,25 @@
"npm": ">=5"
}
},
- "node_modules/n12": {
- "version": "1.8.16",
- "resolved": "https://registry.npmjs.org/n12/-/n12-1.8.16.tgz",
- "integrity": "sha512-CZqHAqbzS0UsaUGkMsL+lMaYLyFr1+/ea+pD8dMziqSjkcuWVWDtgWx9phyfT7C3llqQ2+LwnStSb5afggBMfA==",
- "dev": true
- },
"node_modules/nan": {
- "version": "2.17.0",
- "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz",
- "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==",
+ "version": "2.20.0",
+ "resolved": "https://registry.npmjs.org/nan/-/nan-2.20.0.tgz",
+ "integrity": "sha512-bk3gXBZDGILuuo/6sKtr0DQmSThYHLtNCdSdXk9YkxD/jK6X2vmCyyXBBxyqZ4XcnzTyYEAThfX3DCEnLf6igw==",
"dev": true,
"optional": true
},
"node_modules/nanoid": {
- "version": "3.3.3",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz",
- "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==",
+ "version": "3.3.7",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz",
+ "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==",
"dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "optional": true,
"bin": {
"nanoid": "bin/nanoid.cjs"
},
@@ -22379,29 +23947,27 @@
}
},
"node_modules/node-fetch": {
- "version": "2.6.7",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
- "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz",
+ "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==",
"dev": true,
"dependencies": {
- "whatwg-url": "^5.0.0"
+ "data-uri-to-buffer": "^4.0.0",
+ "fetch-blob": "^3.1.4",
+ "formdata-polyfill": "^4.0.10"
},
"engines": {
- "node": "4.x || >=6.0.0"
- },
- "peerDependencies": {
- "encoding": "^0.1.0"
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
},
- "peerDependenciesMeta": {
- "encoding": {
- "optional": true
- }
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/node-fetch"
}
},
"node_modules/node-html-parser": {
- "version": "6.1.6",
- "resolved": "https://registry.npmjs.org/node-html-parser/-/node-html-parser-6.1.6.tgz",
- "integrity": "sha512-C/MGDQ2NjdjzUq41bW9kW00MPZecAe/oo89vZEFLDfWoQVDk/DdML1yuxVVKLDMFIFax2VTq6Vpfzyn7z5yYgQ==",
+ "version": "6.1.13",
+ "resolved": "https://registry.npmjs.org/node-html-parser/-/node-html-parser-6.1.13.tgz",
+ "integrity": "sha512-qIsTMOY4C/dAa5Q5vsobRpOOvPfC4pB61UVW2uSwZNUp0QU/jCekTal1vMmbO0DgdHeLUJpv/ARmDqErVxA3Sg==",
"dev": true,
"dependencies": {
"css-select": "^5.1.0",
@@ -22409,9 +23975,9 @@
}
},
"node_modules/node-releases": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz",
- "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg=="
+ "version": "2.0.14",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz",
+ "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw=="
},
"node_modules/node-request-interceptor": {
"version": "0.6.3",
@@ -22450,28 +24016,25 @@
}
},
"node_modules/normalize-package-data": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz",
- "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==",
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.1.tgz",
+ "integrity": "sha512-6rvCfeRW+OEZagAB4lMLSNuTNYZWLVtKccK79VSTf//yTY5VOCgcpH80O+bZK8Neps7pUnd5G+QlMg1yV/2iZQ==",
"dev": true,
"dependencies": {
- "hosted-git-info": "^4.0.1",
- "is-core-module": "^2.5.0",
- "semver": "^7.3.4",
- "validate-npm-package-license": "^3.0.1"
+ "hosted-git-info": "^7.0.0",
+ "is-core-module": "^2.8.1",
+ "semver": "^7.3.5",
+ "validate-npm-package-license": "^3.0.4"
},
"engines": {
- "node": ">=10"
+ "node": "^16.14.0 || >=18.0.0"
}
},
"node_modules/normalize-package-data/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==",
+ "version": "7.6.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz",
+ "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==",
"dev": true,
- "dependencies": {
- "lru-cache": "^6.0.0"
- },
"bin": {
"semver": "bin/semver.js"
},
@@ -22489,12 +24052,12 @@
}
},
"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==",
+ "version": "8.0.1",
+ "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-8.0.1.tgz",
+ "integrity": "sha512-IO9QvjUMWxPQQhs60oOu10CRkWCiZzSUkzbXGGV9pviYl1fXYcvkzQ5jV9z8Y6un8ARoVRl4EtC6v6jNqbaJ/w==",
"dev": true,
"engines": {
- "node": ">=10"
+ "node": ">=14.16"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
@@ -22598,57 +24161,23 @@
"node": ">=0.10.0"
}
},
- "node_modules/object-copy/node_modules/is-accessor-descriptor": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
- "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==",
- "dev": true,
- "dependencies": {
- "kind-of": "^3.0.2"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/object-copy/node_modules/is-buffer": {
"version": "1.1.6",
"resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
"integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
"dev": true
},
- "node_modules/object-copy/node_modules/is-data-descriptor": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
- "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==",
- "dev": true,
- "dependencies": {
- "kind-of": "^3.0.2"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/object-copy/node_modules/is-descriptor": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
- "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz",
+ "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==",
"dev": true,
"dependencies": {
- "is-accessor-descriptor": "^0.1.6",
- "is-data-descriptor": "^0.1.4",
- "kind-of": "^5.0.0"
+ "is-accessor-descriptor": "^1.0.1",
+ "is-data-descriptor": "^1.0.1"
},
"engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/object-copy/node_modules/is-descriptor/node_modules/kind-of": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
- "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
+ "node": ">= 0.4"
}
},
"node_modules/object-copy/node_modules/kind-of": {
@@ -22664,21 +24193,21 @@
}
},
"node_modules/object-inspect": {
- "version": "1.12.2",
- "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz",
- "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==",
+ "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-is": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz",
- "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==",
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.6.tgz",
+ "integrity": "sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==",
"dev": true,
"dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.3"
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1"
},
"engines": {
"node": ">= 0.4"
@@ -22709,13 +24238,13 @@
}
},
"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==",
+ "version": "4.1.5",
+ "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz",
+ "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==",
"dev": true,
"dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
+ "call-bind": "^1.0.5",
+ "define-properties": "^1.2.1",
"has-symbols": "^1.0.3",
"object-keys": "^1.1.1"
},
@@ -22741,6 +24270,38 @@
"node": ">=0.10.0"
}
},
+ "node_modules/object.fromentries": {
+ "version": "2.0.8",
+ "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz",
+ "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.2",
+ "es-object-atoms": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/object.groupby": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz",
+ "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
"node_modules/object.map": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz",
@@ -22780,14 +24341,14 @@
}
},
"node_modules/object.values": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz",
- "integrity": "sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==",
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz",
+ "integrity": "sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==",
"dev": true,
"dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.3",
- "es-abstract": "^1.19.1"
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1",
+ "es-object-atoms": "^1.0.0"
},
"engines": {
"node": ">= 0.4"
@@ -22871,9 +24432,9 @@
}
},
"node_modules/optionator": {
- "version": "0.9.1",
- "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz",
- "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==",
+ "version": "0.9.4",
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz",
+ "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==",
"dev": true,
"dependencies": {
"deep-is": "^0.1.3",
@@ -22881,7 +24442,7 @@
"levn": "^0.4.1",
"prelude-ls": "^1.2.1",
"type-check": "^0.4.0",
- "word-wrap": "^1.2.3"
+ "word-wrap": "^1.2.5"
},
"engines": {
"node": ">= 0.8.0"
@@ -22968,6 +24529,18 @@
"node": ">=8"
}
},
+ "node_modules/ora/node_modules/is-unicode-supported": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz",
+ "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/ora/node_modules/log-symbols": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
@@ -22984,6 +24557,18 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/ora/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==",
+ "dev": true,
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/ora/node_modules/supports-color": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
@@ -23036,12 +24621,12 @@
}
},
"node_modules/p-cancelable": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz",
- "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-3.0.0.tgz",
+ "integrity": "sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==",
"dev": true,
"engines": {
- "node": ">=8"
+ "node": ">=12.20"
}
},
"node_modules/p-finally": {
@@ -23118,9 +24703,9 @@
}
},
"node_modules/pac-proxy-agent/node_modules/agent-base": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz",
- "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==",
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz",
+ "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==",
"dev": true,
"dependencies": {
"debug": "^4.3.4"
@@ -23130,9 +24715,9 @@
}
},
"node_modules/pac-proxy-agent/node_modules/https-proxy-agent": {
- "version": "7.0.2",
- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz",
- "integrity": "sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==",
+ "version": "7.0.4",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz",
+ "integrity": "sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==",
"dev": true,
"dependencies": {
"agent-base": "^7.0.2",
@@ -23143,19 +24728,24 @@
}
},
"node_modules/pac-resolver": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-7.0.0.tgz",
- "integrity": "sha512-Fd9lT9vJbHYRACT8OhCbZBbxr6KRSawSovFpy8nDGshaK99S/EBhVIHp9+crhxrsZOuvLpgL1n23iyPg6Rl2hg==",
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-7.0.1.tgz",
+ "integrity": "sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg==",
"dev": true,
"dependencies": {
"degenerator": "^5.0.0",
- "ip": "^1.1.8",
"netmask": "^2.0.2"
},
"engines": {
"node": ">= 14"
}
},
+ "node_modules/pako": {
+ "version": "1.0.11",
+ "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
+ "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==",
+ "dev": true
+ },
"node_modules/parent-module": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
@@ -23183,18 +24773,31 @@
}
},
"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==",
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-7.1.1.tgz",
+ "integrity": "sha512-SgOTCX/EZXtZxBE5eJ97P4yGM5n37BwRU+YMsH4vNzFqJV/oWFXXCmwFlgWUM4PrakybVOueJJ6pwHqSVhTFDw==",
"dev": true,
"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"
+ "@babel/code-frame": "^7.21.4",
+ "error-ex": "^1.3.2",
+ "json-parse-even-better-errors": "^3.0.0",
+ "lines-and-columns": "^2.0.3",
+ "type-fest": "^3.8.0"
},
"engines": {
- "node": ">=8"
+ "node": ">=16"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/parse-json/node_modules/type-fest": {
+ "version": "3.13.1",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.13.1.tgz",
+ "integrity": "sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==",
+ "dev": true,
+ "engines": {
+ "node": ">=14.16"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
@@ -23245,6 +24848,12 @@
"parse-path": "^7.0.0"
}
},
+ "node_modules/parse5": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
+ "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==",
+ "dev": true
+ },
"node_modules/parseurl": {
"version": "1.3.3",
"resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
@@ -23322,25 +24931,25 @@
}
},
"node_modules/path-scurry": {
- "version": "1.10.1",
- "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz",
- "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==",
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz",
+ "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==",
"dev": true,
"dependencies": {
- "lru-cache": "^9.1.1 || ^10.0.0",
+ "lru-cache": "^10.2.0",
"minipass": "^5.0.0 || ^6.0.2 || ^7.0.0"
},
"engines": {
- "node": ">=16 || 14 >=14.17"
+ "node": ">=16 || 14 >=14.18"
},
"funding": {
"url": "https://github.com/sponsors/isaacs"
}
},
"node_modules/path-scurry/node_modules/lru-cache": {
- "version": "10.1.0",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.1.0.tgz",
- "integrity": "sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag==",
+ "version": "10.2.2",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.2.tgz",
+ "integrity": "sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==",
"dev": true,
"engines": {
"node": "14 || >=16.14"
@@ -23411,9 +25020,9 @@
"dev": true
},
"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",
@@ -23509,10 +25118,19 @@
"node": ">=0.10.0"
}
},
+ "node_modules/possible-typed-array-names": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz",
+ "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
"node_modules/postcss": {
- "version": "8.4.18",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.18.tgz",
- "integrity": "sha512-Wi8mWhncLJm11GATDaQKobXSNEYGUHeQLiQqDFG1qQ5UTDPTEvKw0Xt5NsTpktGTwLps3ByrWsBrG0rB8YQ9oA==",
+ "version": "8.4.38",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz",
+ "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==",
"dev": true,
"funding": [
{
@@ -23522,31 +25140,22 @@
{
"type": "tidelift",
"url": "https://tidelift.com/funding/github/npm/postcss"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
}
],
"optional": true,
"dependencies": {
- "nanoid": "^3.3.4",
+ "nanoid": "^3.3.7",
"picocolors": "^1.0.0",
- "source-map-js": "^1.0.2"
+ "source-map-js": "^1.2.0"
},
"engines": {
"node": "^10 || ^12 || >=14"
}
},
- "node_modules/postcss/node_modules/nanoid": {
- "version": "3.3.4",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
- "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==",
- "dev": true,
- "optional": true,
- "bin": {
- "nanoid": "bin/nanoid.cjs"
- },
- "engines": {
- "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
- }
- },
"node_modules/prelude-ls": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
@@ -23556,6 +25165,21 @@
"node": ">= 0.8.0"
}
},
+ "node_modules/prettier": {
+ "version": "2.8.1",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.1.tgz",
+ "integrity": "sha512-lqGoSJBQNJidqCHE80vqZJHWHRFoNYsSpP9AjFhlhi9ODCJA541svILes/+/1GM3VaL/abZi7cpFzOpdR9UPKg==",
+ "dev": true,
+ "bin": {
+ "prettier": "bin-prettier.js"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ },
+ "funding": {
+ "url": "https://github.com/prettier/prettier?sponsor=1"
+ }
+ },
"node_modules/pretty-format": {
"version": "29.7.0",
"resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz",
@@ -23639,9 +25263,9 @@
}
},
"node_modules/property-information": {
- "version": "6.1.1",
- "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.1.1.tgz",
- "integrity": "sha512-hrzC564QIl0r0vy4l6MvRLhafmUowhO/O3KgVSoXIbbA2Sz4j8HGpJc6T2cubRVwMwpdiG/vKGfhT4IixmKN9w==",
+ "version": "6.5.0",
+ "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.5.0.tgz",
+ "integrity": "sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==",
"dev": true,
"funding": {
"type": "github",
@@ -23686,9 +25310,9 @@
}
},
"node_modules/proxy-agent/node_modules/agent-base": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz",
- "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==",
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz",
+ "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==",
"dev": true,
"dependencies": {
"debug": "^4.3.4"
@@ -23698,9 +25322,9 @@
}
},
"node_modules/proxy-agent/node_modules/https-proxy-agent": {
- "version": "7.0.2",
- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz",
- "integrity": "sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==",
+ "version": "7.0.4",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz",
+ "integrity": "sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==",
"dev": true,
"dependencies": {
"agent-base": "^7.0.2",
@@ -23796,9 +25420,9 @@
}
},
"node_modules/punycode": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
- "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
+ "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
"dev": true,
"engines": {
"node": ">=6"
@@ -23827,12 +25451,71 @@
"node": ">=10.18.1"
}
},
+ "node_modules/puppeteer-core/node_modules/debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "dev": true,
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
"node_modules/puppeteer-core/node_modules/devtools-protocol": {
"version": "0.0.981744",
"resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.981744.tgz",
"integrity": "sha512-0cuGS8+jhR67Fy7qG3i3Pc7Aw494sb9yG9QgpG97SFVWwolgYjlhJg7n+UaHxOQT30d1TYu/EYe9k01ivLErIg==",
"dev": true
},
+ "node_modules/puppeteer-core/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==",
+ "dev": true,
+ "dependencies": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/puppeteer-core/node_modules/tar-fs": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz",
+ "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==",
+ "dev": true,
+ "dependencies": {
+ "chownr": "^1.1.1",
+ "mkdirp-classic": "^0.5.2",
+ "pump": "^3.0.0",
+ "tar-stream": "^2.1.4"
+ }
+ },
+ "node_modules/puppeteer-core/node_modules/tar-stream": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz",
+ "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==",
+ "dev": true,
+ "dependencies": {
+ "bl": "^4.0.3",
+ "end-of-stream": "^1.4.1",
+ "fs-constants": "^1.0.0",
+ "inherits": "^2.0.3",
+ "readable-stream": "^3.1.1"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/puppeteer-core/node_modules/ws": {
"version": "8.5.0",
"resolved": "https://registry.npmjs.org/ws/-/ws-8.5.0.tgz",
@@ -23858,6 +25541,7 @@
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
"integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==",
+ "deprecated": "You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other.\n\n(For a CapTP with native promises, see @endo/eventual-send and @endo/captp)",
"dev": true,
"engines": {
"node": ">=0.6.0",
@@ -23888,15 +25572,15 @@
}
},
"node_modules/query-selector-shadow-dom": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/query-selector-shadow-dom/-/query-selector-shadow-dom-1.0.0.tgz",
- "integrity": "sha512-bK0/0cCI+R8ZmOF1QjT7HupDUYCxbf/9TJgAmSXQxZpftXmTAeil9DRoCnTDkWbvOyZzhcMBwKpptWcdkGFIMg==",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/query-selector-shadow-dom/-/query-selector-shadow-dom-1.0.1.tgz",
+ "integrity": "sha512-lT5yCqEBgfoMYpf3F2xQRK7zEr1rhIIZuceDK6+xRkJQ4NMbHTwXqk4NkwDwQMNqXgG9r9fyHnzwNVs6zV5KRw==",
"dev": true
},
"node_modules/querystring": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
- "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==",
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.1.tgz",
+ "integrity": "sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg==",
"deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.",
"dev": true,
"engines": {
@@ -23959,41 +25643,41 @@
}
},
"node_modules/react-is": {
- "version": "18.2.0",
- "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz",
- "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==",
+ "version": "18.3.1",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz",
+ "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==",
"dev": true
},
"node_modules/read-pkg": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-7.1.0.tgz",
- "integrity": "sha512-5iOehe+WF75IccPc30bWTbpdDQLOCc3Uu8bi3Dte3Eueij81yx1Mrufk8qBx/YAbR4uL1FdUr+7BKXDwEtisXg==",
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-8.1.0.tgz",
+ "integrity": "sha512-PORM8AgzXeskHO/WEv312k9U03B8K9JSiWF/8N9sUuFjBa+9SF2u6K7VClzXwDXab51jCd8Nd36CNM+zR97ScQ==",
"dev": true,
"dependencies": {
"@types/normalize-package-data": "^2.4.1",
- "normalize-package-data": "^3.0.2",
- "parse-json": "^5.2.0",
- "type-fest": "^2.0.0"
+ "normalize-package-data": "^6.0.0",
+ "parse-json": "^7.0.0",
+ "type-fest": "^4.2.0"
},
"engines": {
- "node": ">=12.20"
+ "node": ">=16"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/read-pkg-up": {
- "version": "9.1.0",
- "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-9.1.0.tgz",
- "integrity": "sha512-vaMRR1AC1nrd5CQM0PhlRsO5oc2AAigqr7cCrZ/MW/Rsaflz4RlgzkpL4qoU/z1F6wrbd85iFv1OQj/y5RdGvg==",
+ "version": "10.0.0",
+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-10.0.0.tgz",
+ "integrity": "sha512-jgmKiS//w2Zs+YbX039CorlkOp8FIVbSAN8r8GJHDsGlmNPXo+VeHkqAwCiQVTTx5/LwLZTcEw59z3DvcLbr0g==",
"dev": true,
"dependencies": {
"find-up": "^6.3.0",
- "read-pkg": "^7.1.0",
- "type-fest": "^2.5.0"
+ "read-pkg": "^8.0.0",
+ "type-fest": "^3.12.0"
},
"engines": {
- "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ "node": ">=16"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
@@ -24016,9 +25700,9 @@
}
},
"node_modules/read-pkg-up/node_modules/locate-path": {
- "version": "7.1.1",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.1.1.tgz",
- "integrity": "sha512-vJXaRMJgRVD3+cUZs3Mncj2mxpt5mP0EmNOsxRSZRMlbqjvxzDEOIUWXGmavo0ZC9+tNZCBLQ66reA11nbpHZg==",
+ "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==",
"dev": true,
"dependencies": {
"p-locate": "^6.0.0"
@@ -24070,45 +25754,33 @@
}
},
"node_modules/read-pkg-up/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==",
- "dev": true,
- "engines": {
- "node": ">=12.20"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/read-pkg-up/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==",
+ "version": "3.13.1",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.13.1.tgz",
+ "integrity": "sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==",
"dev": true,
"engines": {
- "node": ">=12.20"
+ "node": ">=14.16"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/read-pkg/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==",
+ "version": "4.20.0",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.20.0.tgz",
+ "integrity": "sha512-MBh+PHUHHisjXf4tlx0CFWoMdjx8zCMLJHOjnV1prABYZFHqtFOyauCIK2/7w4oIfwkF8iNhLtnJEfVY2vn3iw==",
"dev": true,
"engines": {
- "node": ">=12.20"
+ "node": ">=16"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/readable-stream": {
- "version": "2.3.7",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
- "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
+ "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",
@@ -24130,9 +25802,9 @@
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
},
"node_modules/readdir-glob": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.2.tgz",
- "integrity": "sha512-6RLVvwJtVwEDfPdn6X6Ille4/lxGl0ATOY4FN/B9nxQcgOazvvI0nodiD19ScKq0PvA/29VpaOQML36o5IzZWA==",
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.3.tgz",
+ "integrity": "sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==",
"dev": true,
"dependencies": {
"minimatch": "^5.1.0"
@@ -24148,9 +25820,9 @@
}
},
"node_modules/readdir-glob/node_modules/minimatch": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz",
- "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==",
+ "version": "5.1.6",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
+ "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
"dev": true,
"dependencies": {
"brace-expansion": "^2.0.1"
@@ -24201,9 +25873,9 @@
"integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A=="
},
"node_modules/regenerate-unicode-properties": {
- "version": "10.1.0",
- "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz",
- "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==",
+ "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"
},
@@ -24212,14 +25884,14 @@
}
},
"node_modules/regenerator-runtime": {
- "version": "0.13.10",
- "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.10.tgz",
- "integrity": "sha512-KepLsg4dU12hryUO7bp/axHAKvwGOCV0sGloQtpagJ12ai+ojVDqkeGSiRX1zlq+kjIMZ1t7gpze+26QqtdGqw=="
+ "version": "0.14.1",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz",
+ "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw=="
},
"node_modules/regenerator-transform": {
- "version": "0.15.0",
- "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz",
- "integrity": "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==",
+ "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"
}
@@ -24251,14 +25923,15 @@
}
},
"node_modules/regexp.prototype.flags": {
- "version": "1.4.3",
- "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz",
- "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==",
+ "version": "1.5.2",
+ "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz",
+ "integrity": "sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==",
"dev": true,
"dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.3",
- "functions-have-names": "^1.2.2"
+ "call-bind": "^1.0.6",
+ "define-properties": "^1.2.1",
+ "es-errors": "^1.3.0",
+ "set-function-name": "^2.0.1"
},
"engines": {
"node": ">= 0.4"
@@ -24280,16 +25953,16 @@
}
},
"node_modules/regexpu-core": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.2.1.tgz",
- "integrity": "sha512-HrnlNtpvqP1Xkb28tMhBUO2EbyUHdQlsnlAhzWcwHy8WJR53UWr7/MAvqrsQKMbV4qdpv03oTMG8iIhfsPFktQ==",
+ "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",
- "regjsgen": "^0.7.1",
"regjsparser": "^0.9.1",
"unicode-match-property-ecmascript": "^2.0.0",
- "unicode-match-property-value-ecmascript": "^2.0.0"
+ "unicode-match-property-value-ecmascript": "^2.1.0"
},
"engines": {
"node": ">=4"
@@ -24304,11 +25977,6 @@
"node": ">=0.1.14"
}
},
- "node_modules/regjsgen": {
- "version": "0.7.1",
- "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.7.1.tgz",
- "integrity": "sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA=="
- },
"node_modules/regjsparser": {
"version": "0.9.1",
"resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz",
@@ -24329,9 +25997,9 @@
}
},
"node_modules/remark": {
- "version": "14.0.2",
- "resolved": "https://registry.npmjs.org/remark/-/remark-14.0.2.tgz",
- "integrity": "sha512-A3ARm2V4BgiRXaUo5K0dRvJ1lbogrbXnhkJRmD0yw092/Yl0kOCZt1k9ZeElEwkZsWGsMumz6qL5MfNJH9nOBA==",
+ "version": "14.0.3",
+ "resolved": "https://registry.npmjs.org/remark/-/remark-14.0.3.tgz",
+ "integrity": "sha512-bfmJW1dmR2LvaMJuAnE88pZP9DktIFYXazkTfOIKZzi3Knk9lT0roItIA24ydOucI3bV/g/tXBA6hzqq3FV9Ew==",
"dev": true,
"dependencies": {
"@types/mdast": "^3.0.0",
@@ -24361,9 +26029,9 @@
}
},
"node_modules/remark-html": {
- "version": "15.0.1",
- "resolved": "https://registry.npmjs.org/remark-html/-/remark-html-15.0.1.tgz",
- "integrity": "sha512-7ta5UPRqj8nP0GhGMYUAghZ/DRno7dgq7alcW90A7+9pgJsXzGJlFgwF8HOP1b1tMgT3WwbeANN+CaTimMfyNQ==",
+ "version": "15.0.2",
+ "resolved": "https://registry.npmjs.org/remark-html/-/remark-html-15.0.2.tgz",
+ "integrity": "sha512-/CIOI7wzHJzsh48AiuIyIe1clxVkUtreul73zcCXLub0FmnevQE0UMFDQm7NUx8/3rl/4zCshlMfqBdWScQthw==",
"dev": true,
"dependencies": {
"@types/mdast": "^3.0.0",
@@ -24378,9 +26046,9 @@
}
},
"node_modules/remark-parse": {
- "version": "10.0.1",
- "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-10.0.1.tgz",
- "integrity": "sha512-1fUyHr2jLsVOkhbvPRBJ5zTKZZyD6yZzYaWCS6BPBdQ8vEMBCH+9zNCDA6tET/zHCi/jLqjCWtlJZUPk+DbnFw==",
+ "version": "10.0.2",
+ "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-10.0.2.tgz",
+ "integrity": "sha512-3ydxgHa/ZQzG8LvC7jTXccARYDcRld3VfcgIIFs7bI6vbRSxJJmzgLEIIoYKyrfhaY+ujuWaf/PJiMZXoiCXgw==",
"dev": true,
"dependencies": {
"@types/mdast": "^3.0.0",
@@ -24408,9 +26076,9 @@
}
},
"node_modules/remark-stringify": {
- "version": "10.0.2",
- "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-10.0.2.tgz",
- "integrity": "sha512-6wV3pvbPvHkbNnWB0wdDvVFHOe1hBRAx1Q/5g/EpH4RppAII6J8Gnwe7VbHuXaoKIF6LAg6ExTel/+kNqSQ7lw==",
+ "version": "10.0.3",
+ "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-10.0.3.tgz",
+ "integrity": "sha512-koyOzCMYoUHudypbj4XpnAKFbkddRMYZHwghnxd7ue5210WzGw6kOBwauJTRUMq16jsovXx8dYNvSSWP89kZ3A==",
"dev": true,
"dependencies": {
"@types/mdast": "^3.0.0",
@@ -24591,6 +26259,16 @@
"node": ">=0.6"
}
},
+ "node_modules/request/node_modules/uuid": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
+ "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.",
+ "dev": true,
+ "bin": {
+ "uuid": "bin/uuid"
+ }
+ },
"node_modules/require-directory": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
@@ -24622,11 +26300,11 @@
"dev": true
},
"node_modules/resolve": {
- "version": "1.22.1",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz",
- "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==",
+ "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.9.0",
+ "is-core-module": "^2.13.0",
"path-parse": "^1.0.7",
"supports-preserve-symlinks-flag": "^1.0.0"
},
@@ -24685,21 +26363,24 @@
"dev": true
},
"node_modules/responselike": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz",
- "integrity": "sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/responselike/-/responselike-3.0.0.tgz",
+ "integrity": "sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==",
"dev": true,
"dependencies": {
- "lowercase-keys": "^2.0.0"
+ "lowercase-keys": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=14.16"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/resq": {
- "version": "1.10.2",
- "resolved": "https://registry.npmjs.org/resq/-/resq-1.10.2.tgz",
- "integrity": "sha512-HmgVS3j+FLrEDBTDYysPdPVF9/hioDMJ/otOiQDKqk77YfZeeLOj0qi34yObumcud1gBpk+wpBTEg4kMicD++A==",
+ "version": "1.11.0",
+ "resolved": "https://registry.npmjs.org/resq/-/resq-1.11.0.tgz",
+ "integrity": "sha512-G10EBz+zAAy3zUd/CDoBbXRL6ia9kOo3xRHrMDsHljI0GDkhYlyjwoCx5+3eCC4swi1uCoZQhskuJkj7Gp57Bw==",
"dev": true,
"dependencies": {
"fast-deep-equal": "^2.0.1"
@@ -24734,9 +26415,9 @@
}
},
"node_modules/rfdc": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz",
- "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==",
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz",
+ "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==",
"dev": true
},
"node_modules/rgb2hex": {
@@ -24749,6 +26430,7 @@
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
"integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+ "deprecated": "Rimraf versions prior to v4 are no longer supported",
"dev": true,
"dependencies": {
"glob": "^7.1.3"
@@ -24760,10 +26442,31 @@
"url": "https://github.com/sponsors/isaacs"
}
},
+ "node_modules/rimraf/node_modules/glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "deprecated": "Glob versions prior to v9 are no longer supported",
+ "dev": true,
+ "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/run-async": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz",
- "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/run-async/-/run-async-3.0.0.tgz",
+ "integrity": "sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q==",
"dev": true,
"engines": {
"node": ">=0.12.0"
@@ -24779,17 +26482,20 @@
}
},
"node_modules/rxjs": {
- "version": "6.6.7",
- "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz",
- "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==",
+ "version": "7.8.1",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz",
+ "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==",
"dev": true,
"dependencies": {
- "tslib": "^1.9.0"
- },
- "engines": {
- "npm": ">=2.0.0"
+ "tslib": "^2.1.0"
}
},
+ "node_modules/rxjs/node_modules/tslib": {
+ "version": "2.6.3",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz",
+ "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==",
+ "dev": true
+ },
"node_modules/sade": {
"version": "1.8.1",
"resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz",
@@ -24808,6 +26514,24 @@
"integrity": "sha512-4R309+gWflJktzPXBQCobbWEHlzC4aK3a+Ov3tz2Ib2aBxiwd11phkdIBH1l0EO22x24CJMUQkpKFumRriCSRg==",
"dev": true
},
+ "node_modules/safe-array-concat": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz",
+ "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.7",
+ "get-intrinsic": "^1.2.4",
+ "has-symbols": "^1.0.3",
+ "isarray": "^2.0.5"
+ },
+ "engines": {
+ "node": ">=0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/safe-buffer": {
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
@@ -24843,15 +26567,18 @@
}
},
"node_modules/safe-regex-test": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz",
- "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz",
+ "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==",
"dev": true,
"dependencies": {
- "call-bind": "^1.0.2",
- "get-intrinsic": "^1.1.3",
+ "call-bind": "^1.0.6",
+ "es-errors": "^1.3.0",
"is-regex": "^1.1.4"
},
+ "engines": {
+ "node": ">= 0.4"
+ },
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
@@ -25118,15 +26845,31 @@
"dev": true
},
"node_modules/set-function-length": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.0.tgz",
- "integrity": "sha512-4DBHDoyHlM1IRPGYcoxexgh67y4ueR53FKV1yyxwFMY7aCqcN/38M1+SwZ/qJQ8iLv7+ck385ot4CcisOAPT9w==",
+ "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",
+ "define-data-property": "^1.1.4",
+ "es-errors": "^1.3.0",
"function-bind": "^1.1.2",
- "get-intrinsic": "^1.2.2",
+ "get-intrinsic": "^1.2.4",
"gopd": "^1.0.1",
- "has-property-descriptors": "^1.0.1"
+ "has-property-descriptors": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/set-function-name": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz",
+ "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==",
+ "dev": true,
+ "dependencies": {
+ "define-data-property": "^1.1.4",
+ "es-errors": "^1.3.0",
+ "functions-have-names": "^1.2.3",
+ "has-property-descriptors": "^1.0.2"
},
"engines": {
"node": ">= 0.4"
@@ -25213,13 +26956,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"
@@ -25235,6 +26982,7 @@
"version": "4.5.0",
"resolved": "https://registry.npmjs.org/sinon/-/sinon-4.5.0.tgz",
"integrity": "sha512-trdx+mB0VBBgoYucy6a9L7/jfQOmvGeaKZT4OOJ+lPAtI8623xyGr8wLiE4eojzBS8G9yXbhx42GHUOVLr4X2w==",
+ "deprecated": "16.1.1",
"dev": true,
"hasInstallScript": true,
"dependencies": {
@@ -25257,14 +27005,14 @@
}
},
"node_modules/sirv": {
- "version": "1.0.19",
- "resolved": "https://registry.npmjs.org/sirv/-/sirv-1.0.19.tgz",
- "integrity": "sha512-JuLThK3TnZG1TAKDwNIqNq6QA2afLOCcm+iE8D1Kj3GA40pSPsxQjjJl0J8X3tsR7T+CP1GavpzLwYkgVLWrZQ==",
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.4.tgz",
+ "integrity": "sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==",
"dev": true,
"dependencies": {
- "@polka/url": "^1.0.0-next.20",
- "mrmime": "^1.0.0",
- "totalist": "^1.0.0"
+ "@polka/url": "^1.0.0-next.24",
+ "mrmime": "^2.0.0",
+ "totalist": "^3.0.0"
},
"engines": {
"node": ">= 10"
@@ -25447,72 +27195,17 @@
"node": ">=0.10.0"
}
},
- "node_modules/snapdragon/node_modules/is-accessor-descriptor": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
- "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==",
- "dev": true,
- "dependencies": {
- "kind-of": "^3.0.2"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/snapdragon/node_modules/is-accessor-descriptor/node_modules/kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
- "dev": true,
- "dependencies": {
- "is-buffer": "^1.1.5"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/snapdragon/node_modules/is-buffer": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
- "dev": true
- },
- "node_modules/snapdragon/node_modules/is-data-descriptor": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
- "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==",
- "dev": true,
- "dependencies": {
- "kind-of": "^3.0.2"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/snapdragon/node_modules/is-data-descriptor/node_modules/kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
- "dev": true,
- "dependencies": {
- "is-buffer": "^1.1.5"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/snapdragon/node_modules/is-descriptor": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
- "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz",
+ "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==",
"dev": true,
"dependencies": {
- "is-accessor-descriptor": "^0.1.6",
- "is-data-descriptor": "^0.1.4",
- "kind-of": "^5.0.0"
+ "is-accessor-descriptor": "^1.0.1",
+ "is-data-descriptor": "^1.0.1"
},
"engines": {
- "node": ">=0.10.0"
+ "node": ">= 0.4"
}
},
"node_modules/snapdragon/node_modules/is-extendable": {
@@ -25545,35 +27238,37 @@
}
},
"node_modules/socket.io": {
- "version": "4.6.1",
- "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.6.1.tgz",
- "integrity": "sha512-KMcaAi4l/8+xEjkRICl6ak8ySoxsYG+gG6/XfRCPJPQ/haCRIJBTL4wIl8YCsmtaBovcAXGLOShyVWQ/FG8GZA==",
+ "version": "4.7.5",
+ "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.7.5.tgz",
+ "integrity": "sha512-DmeAkF6cwM9jSfmp6Dr/5/mfMwb5Z5qRrSXLpo3Fq5SqyU8CMF15jIN4ZhfSwu35ksM1qmHZDQ/DK5XTccSTvA==",
"dev": true,
"dependencies": {
"accepts": "~1.3.4",
"base64id": "~2.0.0",
+ "cors": "~2.8.5",
"debug": "~4.3.2",
- "engine.io": "~6.4.1",
+ "engine.io": "~6.5.2",
"socket.io-adapter": "~2.5.2",
- "socket.io-parser": "~4.2.1"
+ "socket.io-parser": "~4.2.4"
},
"engines": {
- "node": ">=10.0.0"
+ "node": ">=10.2.0"
}
},
"node_modules/socket.io-adapter": {
- "version": "2.5.2",
- "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.2.tgz",
- "integrity": "sha512-87C3LO/NOMc+eMcpcxUBebGjkpMDkNBS9tf7KJqcDsmL936EChtVva71Dw2q4tQcuVC+hAUy4an2NO/sYXmwRA==",
+ "version": "2.5.4",
+ "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.4.tgz",
+ "integrity": "sha512-wDNHGXGewWAjQPt3pyeYBtpWSq9cLE5UW1ZUPL/2eGK9jtse/FpXib7epSTsz0Q0m+6sg6Y4KtcFTlah1bdOVg==",
"dev": true,
"dependencies": {
+ "debug": "~4.3.4",
"ws": "~8.11.0"
}
},
"node_modules/socket.io-parser": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.3.tgz",
- "integrity": "sha512-JMafRntWVO2DCJimKsRTh/wnqVvO4hrfwOqtO7f+uzwsQMuxO6VwImtYxaQ+ieoyshWOTJyV0fA21lccEXRPpQ==",
+ "version": "4.2.4",
+ "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz",
+ "integrity": "sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==",
"dev": true,
"dependencies": {
"@socket.io/component-emitter": "~3.1.0",
@@ -25584,26 +27279,26 @@
}
},
"node_modules/socks": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz",
- "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==",
+ "version": "2.8.3",
+ "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.3.tgz",
+ "integrity": "sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==",
"dev": true,
"dependencies": {
- "ip": "^2.0.0",
+ "ip-address": "^9.0.5",
"smart-buffer": "^4.2.0"
},
"engines": {
- "node": ">= 10.13.0",
+ "node": ">= 10.0.0",
"npm": ">= 3.0.0"
}
},
"node_modules/socks-proxy-agent": {
- "version": "8.0.2",
- "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.2.tgz",
- "integrity": "sha512-8zuqoLv1aP/66PHF5TqwJ7Czm3Yv32urJQHrVyhD7mmA6d61Zv8cIXQYPTWwmg6qlupnPvs/QKDmfa4P/qct2g==",
+ "version": "8.0.3",
+ "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.3.tgz",
+ "integrity": "sha512-VNegTZKhuGq5vSD6XNKlbqWhyt/40CgoEw8XxD6dhnm8Jq9IEa3nIa4HwnM8XOqU0CdB0BwWVXusqiFXfHB3+A==",
"dev": true,
"dependencies": {
- "agent-base": "^7.0.2",
+ "agent-base": "^7.1.1",
"debug": "^4.3.4",
"socks": "^2.7.1"
},
@@ -25612,9 +27307,9 @@
}
},
"node_modules/socks-proxy-agent/node_modules/agent-base": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz",
- "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==",
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz",
+ "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==",
"dev": true,
"dependencies": {
"debug": "^4.3.4"
@@ -25623,12 +27318,6 @@
"node": ">= 14"
}
},
- "node_modules/socks/node_modules/ip": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.1.tgz",
- "integrity": "sha512-lJUL9imLTNi1ZfXT+DU6rBBdbiKGBuay9B6xGSPVjUeQwaH1RIGqef8RZkUtHioLmSNpPR5M4HVKJGm1j8FWVQ==",
- "dev": true
- },
"node_modules/source-list-map": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz",
@@ -25645,9 +27334,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==",
"dev": true,
"optional": true,
"engines": {
@@ -25681,23 +27370,32 @@
"deprecated": "See https://github.com/lydell/source-map-url#deprecated",
"dev": true
},
- "node_modules/sourcemap-codec": {
- "version": "1.4.8",
- "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
- "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==",
- "dev": true,
- "optional": true
- },
"node_modules/space-separated-tokens": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.1.tgz",
- "integrity": "sha512-ekwEbFp5aqSPKaqeY1PGrlGQxPNaq+Cnx4+bE2D8sciBQrHpbwoBbawqTN2+6jPs9IdWxxiUcN0K2pkczD3zmw==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz",
+ "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==",
"dev": true,
"funding": {
"type": "github",
"url": "https://github.com/sponsors/wooorm"
}
},
+ "node_modules/spacetrim": {
+ "version": "0.11.25",
+ "resolved": "https://registry.npmjs.org/spacetrim/-/spacetrim-0.11.25.tgz",
+ "integrity": "sha512-SWxXDROciuJs9YEYXUBjot5k/cqNGPPbT3QmkInFne4AGc1y+76It+jqU8rfsXKt57RRiunzZn1m9+KfuuNklw==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "individual",
+ "url": "https://buymeacoffee.com/hejny"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/hejny/spacetrim/blob/main/README.md#%EF%B8%8F-contributing"
+ }
+ ]
+ },
"node_modules/sparkles": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.1.tgz",
@@ -25708,9 +27406,9 @@
}
},
"node_modules/spdx-correct": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz",
- "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz",
+ "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==",
"dev": true,
"dependencies": {
"spdx-expression-parse": "^3.0.0",
@@ -25718,9 +27416,9 @@
}
},
"node_modules/spdx-exceptions": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz",
- "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==",
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz",
+ "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==",
"dev": true
},
"node_modules/spdx-expression-parse": {
@@ -25734,9 +27432,9 @@
}
},
"node_modules/spdx-license-ids": {
- "version": "3.0.12",
- "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz",
- "integrity": "sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==",
+ "version": "3.0.18",
+ "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.18.tgz",
+ "integrity": "sha512-xxRs31BqRYHwiMzudOrpSiHtZ8i/GeionCBDSilhYRj+9gIcI8wCZTlXZKu9vZIVqViP3dcp9qE5G6AlIaD+TQ==",
"dev": true
},
"node_modules/split": {
@@ -25791,9 +27489,9 @@
"integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g=="
},
"node_modules/sshpk": {
- "version": "1.17.0",
- "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz",
- "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==",
+ "version": "1.18.0",
+ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.18.0.tgz",
+ "integrity": "sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==",
"dev": true,
"dependencies": {
"asn1": "~0.2.3",
@@ -25815,6 +27513,12 @@
"node": ">=0.10.0"
}
},
+ "node_modules/sshpk/node_modules/jsbn": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
+ "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==",
+ "dev": true
+ },
"node_modules/stack-trace": {
"version": "0.0.10",
"resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz",
@@ -25870,72 +27574,17 @@
"node": ">=0.10.0"
}
},
- "node_modules/static-extend/node_modules/is-accessor-descriptor": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
- "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==",
- "dev": true,
- "dependencies": {
- "kind-of": "^3.0.2"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/static-extend/node_modules/is-accessor-descriptor/node_modules/kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
- "dev": true,
- "dependencies": {
- "is-buffer": "^1.1.5"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/static-extend/node_modules/is-buffer": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
- "dev": true
- },
- "node_modules/static-extend/node_modules/is-data-descriptor": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
- "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==",
- "dev": true,
- "dependencies": {
- "kind-of": "^3.0.2"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/static-extend/node_modules/is-data-descriptor/node_modules/kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
- "dev": true,
- "dependencies": {
- "is-buffer": "^1.1.5"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/static-extend/node_modules/is-descriptor": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
- "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz",
+ "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==",
"dev": true,
"dependencies": {
- "is-accessor-descriptor": "^0.1.6",
- "is-data-descriptor": "^0.1.4",
- "kind-of": "^5.0.0"
+ "is-accessor-descriptor": "^1.0.1",
+ "is-data-descriptor": "^1.0.1"
},
"engines": {
- "node": ">=0.10.0"
+ "node": ">= 0.4"
}
},
"node_modules/statuses": {
@@ -25946,6 +27595,18 @@
"node": ">= 0.8"
}
},
+ "node_modules/stop-iteration-iterator": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz",
+ "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==",
+ "dev": true,
+ "dependencies": {
+ "internal-slot": "^1.0.4"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
"node_modules/stream-buffers": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/stream-buffers/-/stream-buffers-3.0.2.tgz",
@@ -25971,15 +27632,15 @@
"dev": true
},
"node_modules/stream-shift": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz",
- "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.3.tgz",
+ "integrity": "sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==",
"dev": true
},
"node_modules/streamroller": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-3.1.3.tgz",
- "integrity": "sha512-CphIJyFx2SALGHeINanjFRKQ4l7x2c+rXYJ4BMq0gd+ZK0gi4VT8b+eHe2wi58x4UayBAKx4xtHpXT/ea1cz8w==",
+ "version": "3.1.5",
+ "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-3.1.5.tgz",
+ "integrity": "sha512-KFxaM7XT+irxvdqSP1LGLgNWbYN7ay5owZ3r/8t77p+EtSUAfUgtl7be3xtqtOmGUl9K9YPO2ca8133RlTjvKw==",
"dev": true,
"dependencies": {
"date-format": "^4.0.14",
@@ -26023,13 +27684,17 @@
}
},
"node_modules/streamx": {
- "version": "2.15.6",
- "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.15.6.tgz",
- "integrity": "sha512-q+vQL4AAz+FdfT137VF69Cc/APqUbxy+MDOImRrMvchJpigHj9GksgDU2LYbO9rx7RX6osWgxJB2WxhYv4SZAw==",
+ "version": "2.18.0",
+ "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.18.0.tgz",
+ "integrity": "sha512-LLUC1TWdjVdn1weXGcSxyTR3T4+acB6tVGXT95y0nGbca4t4o/ng1wKAGTljm9VicuCVLvRlqFYXYy5GwgM7sQ==",
"dev": true,
"dependencies": {
- "fast-fifo": "^1.1.0",
- "queue-tick": "^1.0.1"
+ "fast-fifo": "^1.3.2",
+ "queue-tick": "^1.0.1",
+ "text-decoder": "^1.1.0"
+ },
+ "optionalDependencies": {
+ "bare-events": "^2.2.0"
}
},
"node_modules/strict-event-emitter": {
@@ -26086,38 +27751,83 @@
"node": ">=8"
}
},
+ "node_modules/string-width-cjs/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==",
+ "dev": true,
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/string-width/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==",
+ "dev": true,
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/string.prototype.trim": {
+ "version": "1.2.9",
+ "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz",
+ "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.0",
+ "es-object-atoms": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/string.prototype.trimend": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz",
- "integrity": "sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==",
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz",
+ "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==",
"dev": true,
"dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.19.5"
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1",
+ "es-object-atoms": "^1.0.0"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/string.prototype.trimstart": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz",
- "integrity": "sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==",
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz",
+ "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==",
"dev": true,
"dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.19.5"
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1",
+ "es-object-atoms": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"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==",
"dev": true,
"dependencies": {
"character-entities-html4": "^2.0.0",
@@ -26129,15 +27839,18 @@
}
},
"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==",
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
+ "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
"dev": true,
"dependencies": {
- "ansi-regex": "^5.0.1"
+ "ansi-regex": "^6.0.1"
},
"engines": {
- "node": ">=8"
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/strip-ansi?sponsor=1"
}
},
"node_modules/strip-ansi-cjs": {
@@ -26153,6 +27866,18 @@
"node": ">=8"
}
},
+ "node_modules/strip-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==",
+ "dev": true,
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-regex?sponsor=1"
+ }
+ },
"node_modules/strip-bom": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
@@ -26193,9 +27918,9 @@
}
},
"node_modules/strip-json-comments": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-5.0.0.tgz",
- "integrity": "sha512-V1LGY4UUo0jgwC+ELQ2BNWfPa17TIuwBLg+j1AA/9RPzKINl1lhxVEu2r+ZTTO8aetIsUzE5Qj6LMSBkoGYKKw==",
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-5.0.1.tgz",
+ "integrity": "sha512-0fk9zBqO67Nq5M/m45qHCJxylV/DhBlIOVExqgOMiCCrzrhU6tCibRXNqE3jwJLftzE9SNuZtYbpzcO+i9FiKw==",
"dev": true,
"engines": {
"node": ">=14.16"
@@ -26237,9 +27962,9 @@
}
},
"node_modules/table": {
- "version": "6.8.0",
- "resolved": "https://registry.npmjs.org/table/-/table-6.8.0.tgz",
- "integrity": "sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA==",
+ "version": "6.8.2",
+ "resolved": "https://registry.npmjs.org/table/-/table-6.8.2.tgz",
+ "integrity": "sha512-w2sfv80nrAh2VCbqR5AK27wswXhqcck2AhfnNW76beQXskGZ1V12GwS//yYVa3d3fcvAip2OUnbDAjW2k3v9fA==",
"dev": true,
"dependencies": {
"ajv": "^8.0.1",
@@ -26253,15 +27978,15 @@
}
},
"node_modules/table/node_modules/ajv": {
- "version": "8.11.0",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz",
- "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==",
+ "version": "8.16.0",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.16.0.tgz",
+ "integrity": "sha512-F0twR8U1ZU67JIEtekUcLkXkoO5mMMmgGD8sK/xUFzJ805jxHQl92hImFAqqXMyMYjSPOyUPAwHYhB72g5sTXw==",
"dev": true,
"dependencies": {
- "fast-deep-equal": "^3.1.1",
+ "fast-deep-equal": "^3.1.3",
"json-schema-traverse": "^1.0.0",
"require-from-string": "^2.0.2",
- "uri-js": "^4.2.2"
+ "uri-js": "^4.4.1"
},
"funding": {
"type": "github",
@@ -26274,6 +27999,18 @@
"integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
"dev": true
},
+ "node_modules/table/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==",
+ "dev": true,
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/tapable": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
@@ -26284,45 +28021,25 @@
}
},
"node_modules/tar-fs": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz",
- "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==",
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.4.tgz",
+ "integrity": "sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w==",
"dev": true,
"dependencies": {
- "chownr": "^1.1.1",
"mkdirp-classic": "^0.5.2",
"pump": "^3.0.0",
- "tar-stream": "^2.1.4"
+ "tar-stream": "^3.1.5"
}
},
"node_modules/tar-stream": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz",
- "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==",
- "dev": true,
- "dependencies": {
- "bl": "^4.0.3",
- "end-of-stream": "^1.4.1",
- "fs-constants": "^1.0.0",
- "inherits": "^2.0.3",
- "readable-stream": "^3.1.1"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/tar-stream/node_modules/readable-stream": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
- "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+ "version": "3.1.7",
+ "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz",
+ "integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==",
"dev": true,
"dependencies": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- },
- "engines": {
- "node": ">= 6"
+ "b4a": "^1.6.4",
+ "fast-fifo": "^1.2.0",
+ "streamx": "^2.15.0"
}
},
"node_modules/temp-fs": {
@@ -26337,10 +28054,32 @@
"node": ">=0.8.0"
}
},
+ "node_modules/temp-fs/node_modules/glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "deprecated": "Glob versions prior to v9 are no longer supported",
+ "dev": true,
+ "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/temp-fs/node_modules/rimraf": {
"version": "2.5.4",
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.5.4.tgz",
"integrity": "sha512-Lw7SHMjssciQb/rRz7JyPIy9+bbUshEucPoLRvWqy09vC5zQixl8Uet+Zl+SROBB/JMWHJRdCk1qdxNWHNMvlQ==",
+ "deprecated": "Rimraf versions prior to v4 are no longer supported",
"dev": true,
"dependencies": {
"glob": "^7.0.5"
@@ -26372,13 +28111,13 @@
}
},
"node_modules/terser": {
- "version": "5.15.1",
- "resolved": "https://registry.npmjs.org/terser/-/terser-5.15.1.tgz",
- "integrity": "sha512-K1faMUvpm/FBxjBXud0LWVAGxmvoPbZbfTCYbSgaaYQaIXI3/TdI7a7ZGA73Zrou6Q8Zmz3oeUTsp/dj+ag2Xw==",
+ "version": "5.31.1",
+ "resolved": "https://registry.npmjs.org/terser/-/terser-5.31.1.tgz",
+ "integrity": "sha512-37upzU1+viGvuFtBo9NPufCb9dwM0+l9hMxYyWfBA+fbwrPqNJAhbZ6W47bBFnZHKHTUBnMvi87434qq+qnxOg==",
"dev": true,
"dependencies": {
- "@jridgewell/source-map": "^0.3.2",
- "acorn": "^8.5.0",
+ "@jridgewell/source-map": "^0.3.3",
+ "acorn": "^8.8.2",
"commander": "^2.20.0",
"source-map-support": "~0.5.20"
},
@@ -26390,16 +28129,16 @@
}
},
"node_modules/terser-webpack-plugin": {
- "version": "5.3.6",
- "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.6.tgz",
- "integrity": "sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ==",
+ "version": "5.3.10",
+ "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz",
+ "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==",
"dev": true,
"dependencies": {
- "@jridgewell/trace-mapping": "^0.3.14",
+ "@jridgewell/trace-mapping": "^0.3.20",
"jest-worker": "^27.4.5",
"schema-utils": "^3.1.1",
- "serialize-javascript": "^6.0.0",
- "terser": "^5.14.1"
+ "serialize-javascript": "^6.0.1",
+ "terser": "^5.26.0"
},
"engines": {
"node": ">= 10.13.0"
@@ -26440,9 +28179,9 @@
}
},
"node_modules/terser-webpack-plugin/node_modules/schema-utils": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
- "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
+ "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==",
"dev": true,
"dependencies": {
"@types/json-schema": "^7.0.8",
@@ -26457,10 +28196,19 @@
"url": "https://opencollective.com/webpack"
}
},
+ "node_modules/terser-webpack-plugin/node_modules/serialize-javascript": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz",
+ "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==",
+ "dev": true,
+ "dependencies": {
+ "randombytes": "^2.1.0"
+ }
+ },
"node_modules/terser/node_modules/acorn": {
- "version": "8.8.1",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz",
- "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==",
+ "version": "8.11.3",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz",
+ "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==",
"dev": true,
"bin": {
"acorn": "bin/acorn"
@@ -26502,6 +28250,36 @@
"node": ">=8"
}
},
+ "node_modules/test-exclude/node_modules/glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "deprecated": "Glob versions prior to v9 are no longer supported",
+ "dev": true,
+ "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/text-decoder": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.1.0.tgz",
+ "integrity": "sha512-TmLJNj6UgX8xcUZo4UDStGQtDiTzF7BzWlzn9g7UWrjkpHr5uJTK1ld16wZ3LXb2vb6jH8qU89dW5whuMdXYdw==",
+ "dev": true,
+ "dependencies": {
+ "b4a": "^1.6.4"
+ }
+ },
"node_modules/text-table": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
@@ -26556,9 +28334,9 @@
}
},
"node_modules/through2/node_modules/readable-stream": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
- "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+ "version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
+ "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
"dev": true,
"dependencies": {
"inherits": "^2.0.3",
@@ -26579,13 +28357,16 @@
}
},
"node_modules/timers-ext": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.7.tgz",
- "integrity": "sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==",
+ "version": "0.1.8",
+ "resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.8.tgz",
+ "integrity": "sha512-wFH7+SEAcKfJpfLPkrgMPvvwnEtj8W4IurvEyrKsDleXnKLCDw71w8jltvfLa8Rm4qQxxT4jmDBYbJG/z7qoww==",
"dev": true,
"dependencies": {
- "es5-ext": "~0.10.46",
- "next-tick": "1"
+ "es5-ext": "^0.10.64",
+ "next-tick": "^1.1.0"
+ },
+ "engines": {
+ "node": ">=0.12"
}
},
"node_modules/tiny-hashes": {
@@ -26617,15 +28398,12 @@
}
},
"node_modules/tmp": {
- "version": "0.0.33",
- "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
- "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz",
+ "integrity": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==",
"dev": true,
- "dependencies": {
- "os-tmpdir": "~1.0.2"
- },
"engines": {
- "node": ">=0.6.0"
+ "node": ">=14.14"
}
},
"node_modules/to-absolute-glob": {
@@ -26750,9 +28528,9 @@
}
},
"node_modules/totalist": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/totalist/-/totalist-1.1.0.tgz",
- "integrity": "sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz",
+ "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==",
"dev": true,
"engines": {
"node": ">=6"
@@ -26815,9 +28593,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==",
"dev": true,
"funding": {
"type": "github",
@@ -26830,21 +28608,21 @@
"integrity": "sha512-6C5h3CE+0qjGp+YKYTs74xR0k/Nw/ePtl/Lp6CCf44hqBQ66qnH1sDFR5mV/Gc48EsrHLB53lCFSffQCkka3kg=="
},
"node_modules/tsconfig-paths": {
- "version": "3.14.1",
- "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz",
- "integrity": "sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==",
+ "version": "3.15.0",
+ "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz",
+ "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==",
"dev": true,
"dependencies": {
"@types/json5": "^0.0.29",
- "json5": "^1.0.1",
+ "json5": "^1.0.2",
"minimist": "^1.2.6",
"strip-bom": "^3.0.0"
}
},
"node_modules/tsconfig-paths/node_modules/json5": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
- "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
+ "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
"dev": true,
"dependencies": {
"minimist": "^1.2.0"
@@ -26878,9 +28656,9 @@
"dev": true
},
"node_modules/type": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz",
- "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==",
+ "version": "2.7.3",
+ "resolved": "https://registry.npmjs.org/type/-/type-2.7.3.tgz",
+ "integrity": "sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==",
"dev": true
},
"node_modules/type-check": {
@@ -26928,27 +28706,85 @@
"node": ">= 0.6"
}
},
- "node_modules/typedarray": {
- "version": "0.0.6",
- "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
- "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==",
- "dev": true
+ "node_modules/typed-array-buffer": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz",
+ "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.7",
+ "es-errors": "^1.3.0",
+ "is-typed-array": "^1.1.13"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
},
- "node_modules/typescript": {
- "version": "4.8.4",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz",
- "integrity": "sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==",
+ "node_modules/typed-array-byte-length": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz",
+ "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==",
"dev": true,
- "optional": true,
- "peer": true,
- "bin": {
- "tsc": "bin/tsc",
- "tsserver": "bin/tsserver"
+ "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"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/typed-array-byte-offset": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz",
+ "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==",
+ "dev": true,
+ "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"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/typed-array-length": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz",
+ "integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==",
+ "dev": true,
+ "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"
},
"engines": {
- "node": ">=4.2.0"
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/typedarray": {
+ "version": "0.0.6",
+ "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
+ "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==",
+ "dev": true
+ },
"node_modules/typescript-compare": {
"version": "0.0.2",
"resolved": "https://registry.npmjs.org/typescript-compare/-/typescript-compare-0.0.2.tgz",
@@ -26971,9 +28807,9 @@
}
},
"node_modules/ua-parser-js": {
- "version": "0.7.33",
- "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.33.tgz",
- "integrity": "sha512-s8ax/CeZdK9R/56Sui0WM6y9OFREJarMRHqLB2EwkovemBxNQ+Bqu8GAsUnVcXKgphb++ghr/B2BZx4mahujPw==",
+ "version": "0.7.38",
+ "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.38.tgz",
+ "integrity": "sha512-fYmIy7fKTSFAhG3fuPlubeGaMoAd6r0rSnfEsO5nEY55i26KSLt9EH7PLQiiqPUhNqYIJvSkTy1oArIcXAbPbA==",
"dev": true,
"funding": [
{
@@ -26983,6 +28819,10 @@
{
"type": "paypal",
"url": "https://paypal.me/faisalman"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/faisalman"
}
],
"engines": {
@@ -26990,9 +28830,9 @@
}
},
"node_modules/uglify-js": {
- "version": "3.17.4",
- "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz",
- "integrity": "sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==",
+ "version": "3.18.0",
+ "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.18.0.tgz",
+ "integrity": "sha512-SyVVbcNBCk0dzr9XL/R/ySrmYf0s372K6/hFklzgcp2lBFyXtw4I7BOdDjlLhE1aVqaI/SHWXWmYdlZxuyF38A==",
"dev": true,
"optional": true,
"bin": {
@@ -27099,9 +28939,9 @@
}
},
"node_modules/unicode-match-property-value-ecmascript": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz",
- "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==",
+ "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"
}
@@ -27177,9 +29017,9 @@
}
},
"node_modules/unist-builder": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/unist-builder/-/unist-builder-3.0.0.tgz",
- "integrity": "sha512-GFxmfEAa0vi9i5sd0R2kcrI9ks0r82NasRq5QHh2ysGngrc6GiqD5CDf1FjPenY4vApmFASBIIlk/jj5J5YbmQ==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/unist-builder/-/unist-builder-3.0.1.tgz",
+ "integrity": "sha512-gnpOw7DIpCA0vpr6NqdPvTWnlPTApCTRzr+38E6hCWx3rz/cjo83SsKIlS1Z+L5ttScQ2AwutNnb8+tAvpb6qQ==",
"dev": true,
"dependencies": {
"@types/unist": "^2.0.0"
@@ -27190,9 +29030,9 @@
}
},
"node_modules/unist-util-generated": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-2.0.0.tgz",
- "integrity": "sha512-TiWE6DVtVe7Ye2QxOVW9kqybs6cZexNwTwSMVgkfjEReqy/xwGpAXb99OxktoWwmL+Z+Epb0Dn8/GNDYP1wnUw==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-2.0.1.tgz",
+ "integrity": "sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A==",
"dev": true,
"funding": {
"type": "opencollective",
@@ -27200,19 +29040,22 @@
}
},
"node_modules/unist-util-is": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.1.1.tgz",
- "integrity": "sha512-F5CZ68eYzuSvJjGhCLPL3cYx45IxkqXSetCcRgUXtbcm50X2L9oOWQlfUfDdAf+6Pd27YDblBfdtmsThXmwpbQ==",
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.2.1.tgz",
+ "integrity": "sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==",
"dev": true,
+ "dependencies": {
+ "@types/unist": "^2.0.0"
+ },
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/unified"
}
},
"node_modules/unist-util-position": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-4.0.3.tgz",
- "integrity": "sha512-p/5EMGIa1qwbXjA+QgcBXaPWjSnZfQ2Sc3yBEEfgPwsEmJd8Qh+DSk3LGnmOM4S1bY2C0AjmMnB8RuEYxpPwXQ==",
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-4.0.4.tgz",
+ "integrity": "sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==",
"dev": true,
"dependencies": {
"@types/unist": "^2.0.0"
@@ -27223,9 +29066,9 @@
}
},
"node_modules/unist-util-stringify-position": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.2.tgz",
- "integrity": "sha512-7A6eiDCs9UtjcwZOcCpM4aPII3bAAGv13E96IkawkOAW0OhH+yRxtY0lzo8KiHpzEMfH7Q+FizUmwp8Iqy5EWg==",
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz",
+ "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==",
"dev": true,
"dependencies": {
"@types/unist": "^2.0.0"
@@ -27236,9 +29079,9 @@
}
},
"node_modules/unist-util-visit": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.1.tgz",
- "integrity": "sha512-n9KN3WV9k4h1DxYR1LoajgN93wpEi/7ZplVe02IoB4gH5ctI1AaF2670BLHQYbwj+pY83gFtyeySFiyMHJklrg==",
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.2.tgz",
+ "integrity": "sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==",
"dev": true,
"dependencies": {
"@types/unist": "^2.0.0",
@@ -27251,9 +29094,9 @@
}
},
"node_modules/unist-util-visit-parents": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.1.tgz",
- "integrity": "sha512-gks4baapT/kNRaWxuGkl5BIhoanZo7sC/cUT/JToSRNL1dYoXRFl75d++NkjYk4TAu2uv2Px+l8guMajogeuiw==",
+ "version": "5.1.3",
+ "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz",
+ "integrity": "sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==",
"dev": true,
"dependencies": {
"@types/unist": "^2.0.0",
@@ -27265,9 +29108,9 @@
}
},
"node_modules/universalify": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
- "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz",
+ "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==",
"dev": true,
"engines": {
"node": ">= 10.0.0"
@@ -27352,6 +29195,12 @@
"setimmediate": "~1.0.4"
}
},
+ "node_modules/unzipper/node_modules/bluebird": {
+ "version": "3.4.7",
+ "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.4.7.tgz",
+ "integrity": "sha512-iD3898SR7sWVRHbiQv+sHUtHnMvC1o3nW5rAcqnq3uOn07DSAppZYUkIGslDz6gXC7HfunPe7YVBgoEJASPcHA==",
+ "dev": true
+ },
"node_modules/unzipper/node_modules/duplexer2": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz",
@@ -27372,9 +29221,9 @@
}
},
"node_modules/update-browserslist-db": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz",
- "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==",
+ "version": "1.0.16",
+ "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.16.tgz",
+ "integrity": "sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==",
"funding": [
{
"type": "opencollective",
@@ -27383,14 +29232,18 @@
{
"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"
+ "escalade": "^3.1.2",
+ "picocolors": "^1.0.1"
},
"bin": {
- "browserslist-lint": "cli.js"
+ "update-browserslist-db": "cli.js"
},
"peerDependencies": {
"browserslist": ">= 4.21.0"
@@ -27413,13 +29266,13 @@
"dev": true
},
"node_modules/url": {
- "version": "0.11.0",
- "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
- "integrity": "sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ==",
+ "version": "0.11.3",
+ "resolved": "https://registry.npmjs.org/url/-/url-0.11.3.tgz",
+ "integrity": "sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw==",
"dev": true,
"dependencies": {
- "punycode": "1.3.2",
- "querystring": "0.2.0"
+ "punycode": "^1.4.1",
+ "qs": "^6.11.2"
}
},
"node_modules/url-parse": {
@@ -27439,11 +29292,26 @@
"dev": true
},
"node_modules/url/node_modules/punycode": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
- "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==",
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
+ "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==",
"dev": true
},
+ "node_modules/url/node_modules/qs": {
+ "version": "6.12.1",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.12.1.tgz",
+ "integrity": "sha512-zWmv4RSuB9r2mYQw3zxQuHWeU+42aKi1wWig/j4ele4ygELZ7PEO6MM7rim9oAQH2A5MWfsAVf/jPvTPgCbvUQ==",
+ "dev": true,
+ "dependencies": {
+ "side-channel": "^1.0.6"
+ },
+ "engines": {
+ "node": ">=0.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/use": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
@@ -27489,13 +29357,16 @@
}
},
"node_modules/uuid": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
- "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.",
+ "version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz",
+ "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==",
"dev": true,
+ "funding": [
+ "https://github.com/sponsors/broofa",
+ "https://github.com/sponsors/ctavan"
+ ],
"bin": {
- "uuid": "bin/uuid"
+ "uuid": "dist/bin/uuid"
}
},
"node_modules/uvu": {
@@ -27517,9 +29388,9 @@
}
},
"node_modules/v8-compile-cache": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz",
- "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==",
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.4.0.tgz",
+ "integrity": "sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==",
"dev": true
},
"node_modules/v8flags": {
@@ -27582,9 +29453,9 @@
"dev": true
},
"node_modules/vfile": {
- "version": "5.3.5",
- "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.5.tgz",
- "integrity": "sha512-U1ho2ga33eZ8y8pkbQLH54uKqGhFJ6GYIHnnG5AhRpAh3OWjkrRHKa/KogbmQn8We+c0KVV3rTOgR9V/WowbXQ==",
+ "version": "5.3.7",
+ "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz",
+ "integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==",
"dev": true,
"dependencies": {
"@types/unist": "^2.0.0",
@@ -27597,10 +29468,24 @@
"url": "https://opencollective.com/unified"
}
},
+ "node_modules/vfile-location": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-4.1.0.tgz",
+ "integrity": "sha512-YF23YMyASIIJXpktBa4vIGLJ5Gs88UB/XePgqPmTa7cDA+JeO3yclbpheQYCHjVHBn/yePzrXuygIL+xbvRYHw==",
+ "dev": true,
+ "dependencies": {
+ "@types/unist": "^2.0.0",
+ "vfile": "^5.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
"node_modules/vfile-message": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.2.tgz",
- "integrity": "sha512-QjSNP6Yxzyycd4SVOtmKKyTsSvClqBPJcd00Z0zuPj3hOIjg0rUPG6DbFGPvUKRgYyaIWLPKpuEclcuvb3H8qA==",
+ "version": "3.1.4",
+ "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz",
+ "integrity": "sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==",
"dev": true,
"dependencies": {
"@types/unist": "^2.0.0",
@@ -27612,15 +29497,17 @@
}
},
"node_modules/vfile-reporter": {
- "version": "7.0.4",
- "resolved": "https://registry.npmjs.org/vfile-reporter/-/vfile-reporter-7.0.4.tgz",
- "integrity": "sha512-4cWalUnLrEnbeUQ+hARG5YZtaHieVK3Jp4iG5HslttkVl+MHunSGNAIrODOTLbtjWsNZJRMCkL66AhvZAYuJ9A==",
+ "version": "7.0.5",
+ "resolved": "https://registry.npmjs.org/vfile-reporter/-/vfile-reporter-7.0.5.tgz",
+ "integrity": "sha512-NdWWXkv6gcd7AZMvDomlQbK3MqFWL1RlGzMn++/O2TI+68+nqxCPTvLugdOtfSzXmjh+xUyhp07HhlrbJjT+mw==",
"dev": true,
"dependencies": {
"@types/supports-color": "^8.0.0",
"string-width": "^5.0.0",
"supports-color": "^9.0.0",
"unist-util-stringify-position": "^3.0.0",
+ "vfile": "^5.0.0",
+ "vfile-message": "^3.0.0",
"vfile-sort": "^3.0.0",
"vfile-statistics": "^2.0.0"
},
@@ -27629,18 +29516,6 @@
"url": "https://opencollective.com/unified"
}
},
- "node_modules/vfile-reporter/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==",
- "dev": true,
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-regex?sponsor=1"
- }
- },
"node_modules/vfile-reporter/node_modules/emoji-regex": {
"version": "9.2.2",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
@@ -27664,25 +29539,10 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/vfile-reporter/node_modules/strip-ansi": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz",
- "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==",
- "dev": true,
- "dependencies": {
- "ansi-regex": "^6.0.1"
- },
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/strip-ansi?sponsor=1"
- }
- },
"node_modules/vfile-reporter/node_modules/supports-color": {
- "version": "9.2.3",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-9.2.3.tgz",
- "integrity": "sha512-aszYUX/DVK/ed5rFLb/dDinVJrQjG/vmU433wtqVSD800rYsJNWxh2R3USV90aLSU+UsyQkbNeffVLzc6B6foA==",
+ "version": "9.4.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-9.4.0.tgz",
+ "integrity": "sha512-VL+lNrEoIXww1coLPOmiEmK/0sGigko5COxI09KzHc2VJXJsQ37UaQ+8quuxjDeA7+KnLGTWRyOXSLLR2Wb4jw==",
"dev": true,
"engines": {
"node": ">=12"
@@ -27692,11 +29552,12 @@
}
},
"node_modules/vfile-sort": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/vfile-sort/-/vfile-sort-3.0.0.tgz",
- "integrity": "sha512-fJNctnuMi3l4ikTVcKpxTbzHeCgvDhnI44amA3NVDvA6rTC6oKCFpCVyT5n2fFMr3ebfr+WVQZedOCd73rzSxg==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/vfile-sort/-/vfile-sort-3.0.1.tgz",
+ "integrity": "sha512-1os1733XY6y0D5x0ugqSeaVJm9lYgj0j5qdcZQFyxlZOSy1jYarL77lLyb5gK4Wqr1d5OxmuyflSO3zKyFnTFw==",
"dev": true,
"dependencies": {
+ "vfile": "^5.0.0",
"vfile-message": "^3.0.0"
},
"funding": {
@@ -27705,11 +29566,12 @@
}
},
"node_modules/vfile-statistics": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/vfile-statistics/-/vfile-statistics-2.0.0.tgz",
- "integrity": "sha512-foOWtcnJhKN9M2+20AOTlWi2dxNfAoeNIoxD5GXcO182UJyId4QrXa41fWrgcfV3FWTjdEDy3I4cpLVcQscIMA==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/vfile-statistics/-/vfile-statistics-2.0.1.tgz",
+ "integrity": "sha512-W6dkECZmP32EG/l+dp2jCLdYzmnDBIw6jwiLZSER81oR5AHRcVqL+k3Z+pfH1R73le6ayDkJRMk0sutj1bMVeg==",
"dev": true,
"dependencies": {
+ "vfile": "^5.0.0",
"vfile-message": "^3.0.0"
},
"funding": {
@@ -27718,24 +29580,24 @@
}
},
"node_modules/video.js": {
- "version": "7.20.3",
- "resolved": "https://registry.npmjs.org/video.js/-/video.js-7.20.3.tgz",
- "integrity": "sha512-JMspxaK74LdfWcv69XWhX4rILywz/eInOVPdKefpQiZJSMD5O8xXYueqACP2Q5yqKstycgmmEKlJzZ+kVmDciw==",
+ "version": "7.21.6",
+ "resolved": "https://registry.npmjs.org/video.js/-/video.js-7.21.6.tgz",
+ "integrity": "sha512-m41TbODrUCToVfK1aljVd296CwDQnCRewpIm5tTXMuV87YYSGw1H+VDOaV45HlpcWSsTWWLF++InDgGJfthfUw==",
"dev": true,
"dependencies": {
"@babel/runtime": "^7.12.5",
- "@videojs/http-streaming": "2.14.3",
+ "@videojs/http-streaming": "2.16.3",
"@videojs/vhs-utils": "^3.0.4",
"@videojs/xhr": "2.6.0",
"aes-decrypter": "3.1.3",
"global": "^4.4.0",
"keycode": "^2.2.0",
- "m3u8-parser": "4.7.1",
- "mpd-parser": "0.21.1",
+ "m3u8-parser": "4.8.0",
+ "mpd-parser": "0.22.1",
"mux.js": "6.0.1",
"safe-json-parse": "4.0.0",
"videojs-font": "3.2.0",
- "videojs-vtt.js": "^0.15.4"
+ "videojs-vtt.js": "^0.15.5"
}
},
"node_modules/video.js/node_modules/safe-json-parse": {
@@ -27788,22 +29650,22 @@
}
},
"node_modules/videojs-playlist": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/videojs-playlist/-/videojs-playlist-5.0.0.tgz",
- "integrity": "sha512-TM9bytwKqkE05wdWPEKDpkwMGhS/VgMCIsEuNxmX1J1JO9zaTIl4Wm3egf5j1dhIw19oWrqGUV/nK0YNIelCpA==",
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/videojs-playlist/-/videojs-playlist-5.1.2.tgz",
+ "integrity": "sha512-8YgNq/iL17RLTXpfWAkuhM0Sq4w/x5YPVaNbUycjfqqGL/bp3Nrmc2W0qkPfh0ryB7r4cHfJbtHYP7zlW3ZkdQ==",
"dev": true,
"dependencies": {
"global": "^4.3.2",
- "video.js": "^6 || ^7"
+ "video.js": "^6 || ^7 || ^8"
},
"engines": {
"node": ">=4.4.0"
}
},
"node_modules/videojs-vtt.js": {
- "version": "0.15.4",
- "resolved": "https://registry.npmjs.org/videojs-vtt.js/-/videojs-vtt.js-0.15.4.tgz",
- "integrity": "sha512-r6IhM325fcLb1D6pgsMkTQT1PpFdUdYZa1iqk7wJEu+QlibBwATPfPc9Bg8Jiym0GE5yP1AG2rMLu+QMVWkYtA==",
+ "version": "0.15.5",
+ "resolved": "https://registry.npmjs.org/videojs-vtt.js/-/videojs-vtt.js-0.15.5.tgz",
+ "integrity": "sha512-yZbBxvA7QMYn15Lr/ZfhhLPrNpI/RmCSCqgIff57GC2gIrV5YfyzLfLyZMj0NnZSAz8syB4N0nHXpZg9MyrMOQ==",
"dev": true,
"dependencies": {
"global": "^4.3.1"
@@ -27890,6 +29752,12 @@
"node": ">= 0.10"
}
},
+ "node_modules/vinyl-sourcemap/node_modules/convert-source-map": {
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz",
+ "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==",
+ "dev": true
+ },
"node_modules/vinyl-sourcemap/node_modules/normalize-path": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
@@ -27930,9 +29798,9 @@
}
},
"node_modules/vue-template-compiler": {
- "version": "2.7.13",
- "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.7.13.tgz",
- "integrity": "sha512-jYM6TClwDS9YqP48gYrtAtaOhRKkbYmbzE+Q51gX5YDr777n7tNI/IZk4QV4l/PjQPNh/FVa/E92sh/RqKMrog==",
+ "version": "2.7.16",
+ "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.7.16.tgz",
+ "integrity": "sha512-AYbUWAJHLGGQM7+cNTELw+KsOG9nl2CnSv467WobS5Cv9uk3wFcnr1Etsz2sEIHEZvw1U+o9mRlEO6QbZvUPGQ==",
"dev": true,
"optional": true,
"dependencies": {
@@ -28046,9 +29914,9 @@
}
},
"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==",
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.1.tgz",
+ "integrity": "sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==",
"dev": true,
"dependencies": {
"glob-to-regexp": "^0.4.1",
@@ -28067,6 +29935,16 @@
"defaults": "^1.0.3"
}
},
+ "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==",
+ "dev": true,
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
"node_modules/web-streams-polyfill": {
"version": "4.0.0-beta.3",
"resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-4.0.0-beta.3.tgz",
@@ -28077,18 +29955,18 @@
}
},
"node_modules/webdriver": {
- "version": "8.29.1",
- "resolved": "https://registry.npmjs.org/webdriver/-/webdriver-8.29.1.tgz",
- "integrity": "sha512-D3gkbDUxFKBJhNHRfMriWclooLbNavVQC1MRvmENAgPNKaHnFn+M+WtP9K2sEr0XczLGNlbOzT7CKR9K5UXKXA==",
+ "version": "8.38.2",
+ "resolved": "https://registry.npmjs.org/webdriver/-/webdriver-8.38.2.tgz",
+ "integrity": "sha512-NGfjW0BDYwFgOIzeojOcWGn3tYloQdvHr+Y2xKKYVqa9Rs0x1mzlTjU1kWtC4DaV8DltskwaPa7o+s8hTNpuyA==",
"dev": true,
"dependencies": {
"@types/node": "^20.1.0",
"@types/ws": "^8.5.3",
- "@wdio/config": "8.29.1",
- "@wdio/logger": "8.28.0",
- "@wdio/protocols": "8.24.12",
- "@wdio/types": "8.29.1",
- "@wdio/utils": "8.29.1",
+ "@wdio/config": "8.38.2",
+ "@wdio/logger": "8.38.0",
+ "@wdio/protocols": "8.38.0",
+ "@wdio/types": "8.38.2",
+ "@wdio/utils": "8.38.2",
"deepmerge-ts": "^5.1.0",
"got": "^12.6.1",
"ky": "^0.33.0",
@@ -28098,220 +29976,87 @@
"node": "^16.13 || >=18"
}
},
- "node_modules/webdriver/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==",
- "dev": true,
- "engines": {
- "node": ">=14.16"
- },
- "funding": {
- "url": "https://github.com/sindresorhus/is?sponsor=1"
- }
- },
- "node_modules/webdriver/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==",
- "dev": true,
- "dependencies": {
- "defer-to-connect": "^2.0.1"
- },
- "engines": {
- "node": ">=14.16"
- }
- },
- "node_modules/webdriver/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==",
- "dev": true,
- "engines": {
- "node": ">=14.16"
- }
- },
- "node_modules/webdriver/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==",
- "dev": true,
- "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/webdriver/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==",
- "dev": true,
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/webdriver/node_modules/got": {
- "version": "12.6.1",
- "resolved": "https://registry.npmjs.org/got/-/got-12.6.1.tgz",
- "integrity": "sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==",
- "dev": true,
- "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/webdriver/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==",
- "dev": true,
- "dependencies": {
- "quick-lru": "^5.1.1",
- "resolve-alpn": "^1.2.0"
- },
- "engines": {
- "node": ">=10.19.0"
- }
- },
- "node_modules/webdriver/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==",
- "dev": true,
- "engines": {
- "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/webdriver/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==",
- "dev": true,
- "engines": {
- "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/webdriver/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==",
- "dev": true,
- "engines": {
- "node": ">=14.16"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/webdriver/node_modules/p-cancelable": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-3.0.0.tgz",
- "integrity": "sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==",
- "dev": true,
- "engines": {
- "node": ">=12.20"
- }
- },
- "node_modules/webdriver/node_modules/responselike": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/responselike/-/responselike-3.0.0.tgz",
- "integrity": "sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==",
- "dev": true,
- "dependencies": {
- "lowercase-keys": "^3.0.0"
- },
- "engines": {
- "node": ">=14.16"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/webdriverio": {
- "version": "7.25.4",
- "resolved": "https://registry.npmjs.org/webdriverio/-/webdriverio-7.25.4.tgz",
- "integrity": "sha512-agkgwn2SIk5cAJ03uue1GnGZcUZUDN3W4fUMY9/VfO8bVJrPEgWg31bPguEWPu+YhEB/aBJD8ECxJ3OEKdy4qQ==",
+ "version": "7.36.0",
+ "resolved": "https://registry.npmjs.org/webdriverio/-/webdriverio-7.36.0.tgz",
+ "integrity": "sha512-OTYmKBF7eFKBX39ojUIEzw7AlE1ZRJiFoMTtEQaPMuPzZCP2jUBq6Ey38nuZrYXLkXn3/le9a14pNnKSM0n56w==",
"dev": true,
"dependencies": {
"@types/aria-query": "^5.0.0",
"@types/node": "^18.0.0",
- "@wdio/config": "7.25.4",
- "@wdio/logger": "7.19.0",
- "@wdio/protocols": "7.22.0",
- "@wdio/repl": "7.25.4",
- "@wdio/types": "7.25.4",
- "@wdio/utils": "7.25.4",
+ "@wdio/config": "7.33.0",
+ "@wdio/logger": "7.26.0",
+ "@wdio/protocols": "7.27.0",
+ "@wdio/repl": "7.33.0",
+ "@wdio/types": "7.33.0",
+ "@wdio/utils": "7.33.0",
"archiver": "^5.0.0",
- "aria-query": "^5.0.0",
+ "aria-query": "^5.2.1",
"css-shorthand-properties": "^1.1.1",
"css-value": "^0.0.1",
- "devtools": "7.25.4",
- "devtools-protocol": "^0.0.1061995",
- "fs-extra": "^10.0.0",
+ "devtools": "7.35.0",
+ "devtools-protocol": "^0.0.1260888",
+ "fs-extra": "^11.1.1",
"grapheme-splitter": "^1.0.2",
"lodash.clonedeep": "^4.5.0",
"lodash.isobject": "^3.0.2",
"lodash.isplainobject": "^4.0.6",
"lodash.zip": "^4.2.0",
- "minimatch": "^5.0.0",
+ "minimatch": "^6.0.4",
"puppeteer-core": "^13.1.3",
"query-selector-shadow-dom": "^1.0.0",
"resq": "^1.9.1",
"rgb2hex": "0.2.5",
"serialize-error": "^8.0.0",
- "webdriver": "7.25.4"
+ "webdriver": "7.33.0"
},
"engines": {
"node": ">=12.0.0"
}
},
+ "node_modules/webdriverio/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==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sindresorhus/is?sponsor=1"
+ }
+ },
+ "node_modules/webdriverio/node_modules/@szmarczak/http-timer": {
+ "version": "4.0.6",
+ "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz",
+ "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==",
+ "dev": true,
+ "dependencies": {
+ "defer-to-connect": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/webdriverio/node_modules/@types/node": {
- "version": "18.11.9",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
- "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==",
- "dev": true
+ "version": "18.19.34",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.34.tgz",
+ "integrity": "sha512-eXF4pfBNV5DAMKGbI02NnDtWrQ40hAN558/2vvS4gMpMIxaf6JmD7YjnZbq0Q9TDSSkKBamime8ewRoomHdt4g==",
+ "dev": true,
+ "dependencies": {
+ "undici-types": "~5.26.4"
+ }
},
"node_modules/webdriverio/node_modules/@wdio/config": {
- "version": "7.25.4",
- "resolved": "https://registry.npmjs.org/@wdio/config/-/config-7.25.4.tgz",
- "integrity": "sha512-vb0emDtD9FbFh/yqW6oNdo2iuhQp8XKj6GX9fyy9v4wZgg3B0HPMVJxhIfcoHz7LMBWlHSo9YdvhFI5EQHRLBA==",
+ "version": "7.33.0",
+ "resolved": "https://registry.npmjs.org/@wdio/config/-/config-7.33.0.tgz",
+ "integrity": "sha512-SaCZNKrDtBghf7ujyaxTiU4pBW+1Kms32shSoXpJ/wFop6/MiA7nb19qpUPoJtEDw5/NOKevUKz8nBMBXphiew==",
"dev": true,
"dependencies": {
- "@wdio/logger": "7.19.0",
- "@wdio/types": "7.25.4",
- "@wdio/utils": "7.25.4",
+ "@types/glob": "^8.1.0",
+ "@wdio/logger": "7.26.0",
+ "@wdio/types": "7.33.0",
+ "@wdio/utils": "7.33.0",
"deepmerge": "^4.0.0",
"glob": "^8.0.3"
},
@@ -28320,9 +30065,9 @@
}
},
"node_modules/webdriverio/node_modules/@wdio/logger": {
- "version": "7.19.0",
- "resolved": "https://registry.npmjs.org/@wdio/logger/-/logger-7.19.0.tgz",
- "integrity": "sha512-xR7SN/kGei1QJD1aagzxs3KMuzNxdT/7LYYx+lt6BII49+fqL/SO+5X0FDCZD0Ds93AuQvvz9eGyzrBI2FFXmQ==",
+ "version": "7.26.0",
+ "resolved": "https://registry.npmjs.org/@wdio/logger/-/logger-7.26.0.tgz",
+ "integrity": "sha512-kQj9s5JudAG9qB+zAAcYGPHVfATl2oqKgqj47yjehOQ1zzG33xmtL1ArFbQKWhDG32y1A8sN6b0pIqBEIwgg8Q==",
"dev": true,
"dependencies": {
"chalk": "^4.0.0",
@@ -28335,30 +30080,30 @@
}
},
"node_modules/webdriverio/node_modules/@wdio/protocols": {
- "version": "7.22.0",
- "resolved": "https://registry.npmjs.org/@wdio/protocols/-/protocols-7.22.0.tgz",
- "integrity": "sha512-8EXRR+Ymdwousm/VGtW3H1hwxZ/1g1H99A1lF0U4GuJ5cFWHCd0IVE5H31Z52i8ZruouW8jueMkGZPSo2IIUSQ==",
+ "version": "7.27.0",
+ "resolved": "https://registry.npmjs.org/@wdio/protocols/-/protocols-7.27.0.tgz",
+ "integrity": "sha512-hT/U22R5i3HhwPjkaKAG0yd59eaOaZB0eibRj2+esCImkb5Y6rg8FirrlYRxIGFVBl0+xZV0jKHzR5+o097nvg==",
"dev": true,
"engines": {
"node": ">=12.0.0"
}
},
"node_modules/webdriverio/node_modules/@wdio/repl": {
- "version": "7.25.4",
- "resolved": "https://registry.npmjs.org/@wdio/repl/-/repl-7.25.4.tgz",
- "integrity": "sha512-kYhj9gLsUk4HmlXLqkVre+gwbfvw9CcnrHjqIjrmMS4mR9D8zvBb5CItb3ZExfPf9jpFzIFREbCAYoE9x/kMwg==",
+ "version": "7.33.0",
+ "resolved": "https://registry.npmjs.org/@wdio/repl/-/repl-7.33.0.tgz",
+ "integrity": "sha512-17KM9NCg+UVpZNbS8koT/917vklF5M8IQnw0kGwmJEo444ifTMxmLwQymbS2ovQKAKAQxlfdM7bpqMeI15kzsQ==",
"dev": true,
"dependencies": {
- "@wdio/utils": "7.25.4"
+ "@wdio/utils": "7.33.0"
},
"engines": {
"node": ">=12.0.0"
}
},
"node_modules/webdriverio/node_modules/@wdio/types": {
- "version": "7.25.4",
- "resolved": "https://registry.npmjs.org/@wdio/types/-/types-7.25.4.tgz",
- "integrity": "sha512-muvNmq48QZCvocctnbe0URq2FjJjUPIG4iLoeMmyF0AQgdbjaUkMkw3BHYNHVTbSOU9WMsr2z8alhj/I2H6NRQ==",
+ "version": "7.33.0",
+ "resolved": "https://registry.npmjs.org/@wdio/types/-/types-7.33.0.tgz",
+ "integrity": "sha512-tNcuN5Kl+i5CffaeTYV1omzAo4rVjiI1m9raIA8ph6iVteWdCzYv2/ImpGgFiBPb7Mf6VokU3+q9Slh5Jitaww==",
"dev": true,
"dependencies": {
"@types/node": "^18.0.0",
@@ -28377,13 +30122,13 @@
}
},
"node_modules/webdriverio/node_modules/@wdio/utils": {
- "version": "7.25.4",
- "resolved": "https://registry.npmjs.org/@wdio/utils/-/utils-7.25.4.tgz",
- "integrity": "sha512-8iwQDk+foUqSzKZKfhLxjlCKOkfRJPNHaezQoevNgnrTq/t0ek+ldZCATezb9B8jprAuP4mgS9xi22akc6RkzA==",
+ "version": "7.33.0",
+ "resolved": "https://registry.npmjs.org/@wdio/utils/-/utils-7.33.0.tgz",
+ "integrity": "sha512-4kQQ86EvEN6fBY5+u7M08cT6LfJtpk1rHd203xyxmbmV9lpNv/OCl4CsC+SD0jGT0aZZqYSIJ/Pil07pAh5K0g==",
"dev": true,
"dependencies": {
- "@wdio/logger": "7.19.0",
- "@wdio/types": "7.25.4",
+ "@wdio/logger": "7.26.0",
+ "@wdio/types": "7.33.0",
"p-iteration": "^1.1.8"
},
"engines": {
@@ -28414,6 +30159,33 @@
"balanced-match": "^1.0.0"
}
},
+ "node_modules/webdriverio/node_modules/cacheable-lookup": {
+ "version": "5.0.4",
+ "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz",
+ "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==",
+ "dev": true,
+ "engines": {
+ "node": ">=10.6.0"
+ }
+ },
+ "node_modules/webdriverio/node_modules/cacheable-request": {
+ "version": "7.0.4",
+ "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.4.tgz",
+ "integrity": "sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==",
+ "dev": true,
+ "dependencies": {
+ "clone-response": "^1.0.2",
+ "get-stream": "^5.1.0",
+ "http-cache-semantics": "^4.0.0",
+ "keyv": "^4.0.0",
+ "lowercase-keys": "^2.0.0",
+ "normalize-url": "^6.0.1",
+ "responselike": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/webdriverio/node_modules/chalk": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
@@ -28448,10 +30220,40 @@
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
},
+ "node_modules/webdriverio/node_modules/fs-extra": {
+ "version": "11.2.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz",
+ "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==",
+ "dev": true,
+ "dependencies": {
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=14.14"
+ }
+ },
+ "node_modules/webdriverio/node_modules/get-stream": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
+ "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
+ "dev": true,
+ "dependencies": {
+ "pump": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/webdriverio/node_modules/glob": {
- "version": "8.0.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz",
- "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==",
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz",
+ "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==",
+ "deprecated": "Glob versions prior to v9 are no longer supported",
"dev": true,
"dependencies": {
"fs.realpath": "^1.0.0",
@@ -28467,6 +30269,43 @@
"url": "https://github.com/sponsors/isaacs"
}
},
+ "node_modules/webdriverio/node_modules/glob/node_modules/minimatch": {
+ "version": "5.1.6",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
+ "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
+ "dev": true,
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/webdriverio/node_modules/got": {
+ "version": "11.8.6",
+ "resolved": "https://registry.npmjs.org/got/-/got-11.8.6.tgz",
+ "integrity": "sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==",
+ "dev": true,
+ "dependencies": {
+ "@sindresorhus/is": "^4.0.0",
+ "@szmarczak/http-timer": "^4.0.5",
+ "@types/cacheable-request": "^6.0.1",
+ "@types/responselike": "^1.0.0",
+ "cacheable-lookup": "^5.0.3",
+ "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"
+ },
+ "engines": {
+ "node": ">=10.19.0"
+ },
+ "funding": {
+ "url": "https://github.com/sindresorhus/got?sponsor=1"
+ }
+ },
"node_modules/webdriverio/node_modules/has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
@@ -28476,6 +30315,31 @@
"node": ">=8"
}
},
+ "node_modules/webdriverio/node_modules/http2-wrapper": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz",
+ "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==",
+ "dev": true,
+ "dependencies": {
+ "quick-lru": "^5.1.1",
+ "resolve-alpn": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=10.19.0"
+ }
+ },
+ "node_modules/webdriverio/node_modules/jsonfile": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
+ "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
+ "dev": true,
+ "dependencies": {
+ "universalify": "^2.0.0"
+ },
+ "optionalDependencies": {
+ "graceful-fs": "^4.1.6"
+ }
+ },
"node_modules/webdriverio/node_modules/ky": {
"version": "0.30.0",
"resolved": "https://registry.npmjs.org/ky/-/ky-0.30.0.tgz",
@@ -28488,16 +30352,73 @@
"url": "https://github.com/sindresorhus/ky?sponsor=1"
}
},
+ "node_modules/webdriverio/node_modules/lowercase-keys": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz",
+ "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/webdriverio/node_modules/minimatch": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz",
- "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==",
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-6.2.0.tgz",
+ "integrity": "sha512-sauLxniAmvnhhRjFwPNnJKaPFYyddAgbYdeUpHULtCT/GhzdCx/MDNy+Y40lBxTQUrMzDE8e0S43Z5uqfO0REg==",
"dev": true,
"dependencies": {
"brace-expansion": "^2.0.1"
},
"engines": {
"node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/webdriverio/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==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/webdriverio/node_modules/p-cancelable": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz",
+ "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/webdriverio/node_modules/responselike": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz",
+ "integrity": "sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==",
+ "dev": true,
+ "dependencies": {
+ "lowercase-keys": "^2.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/webdriverio/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==",
+ "dev": true,
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
}
},
"node_modules/webdriverio/node_modules/supports-color": {
@@ -28513,17 +30434,17 @@
}
},
"node_modules/webdriverio/node_modules/webdriver": {
- "version": "7.25.4",
- "resolved": "https://registry.npmjs.org/webdriver/-/webdriver-7.25.4.tgz",
- "integrity": "sha512-6nVDwenh0bxbtUkHASz9B8T9mB531Fn1PcQjUGj2t5dolLPn6zuK1D7XYVX40hpn6r3SlYzcZnEBs4X0az5Txg==",
+ "version": "7.33.0",
+ "resolved": "https://registry.npmjs.org/webdriver/-/webdriver-7.33.0.tgz",
+ "integrity": "sha512-cyMRAVUHgQhEBHojOeNet2e8GkfyvvjpioNCPcF6qUtT+URdagr8Mh0t4Fs+Jr0tpuMqFnw70xZexAcV/6I/jg==",
"dev": true,
"dependencies": {
"@types/node": "^18.0.0",
- "@wdio/config": "7.25.4",
- "@wdio/logger": "7.19.0",
- "@wdio/protocols": "7.22.0",
- "@wdio/types": "7.25.4",
- "@wdio/utils": "7.25.4",
+ "@wdio/config": "7.33.0",
+ "@wdio/logger": "7.26.0",
+ "@wdio/protocols": "7.27.0",
+ "@wdio/types": "7.33.0",
+ "@wdio/utils": "7.33.0",
"got": "^11.0.2",
"ky": "0.30.0",
"lodash.merge": "^4.6.1"
@@ -28539,34 +30460,34 @@
"dev": true
},
"node_modules/webpack": {
- "version": "5.76.0",
- "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.76.0.tgz",
- "integrity": "sha512-l5sOdYBDunyf72HW8dF23rFtWq/7Zgvt/9ftMof71E/yUb1YLOBmTgA2K4vQthB3kotMrSj609txVE0dnr2fjA==",
+ "version": "5.92.0",
+ "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.92.0.tgz",
+ "integrity": "sha512-Bsw2X39MYIgxouNATyVpCNVWBCuUwDgWtN78g6lSdPJRLaQ/PUVm/oXcaRAyY/sMFoKFQrsPeqvTizWtq7QPCA==",
"dev": true,
"dependencies": {
"@types/eslint-scope": "^3.7.3",
- "@types/estree": "^0.0.51",
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/wasm-edit": "1.11.1",
- "@webassemblyjs/wasm-parser": "1.11.1",
+ "@types/estree": "^1.0.5",
+ "@webassemblyjs/ast": "^1.12.1",
+ "@webassemblyjs/wasm-edit": "^1.12.1",
+ "@webassemblyjs/wasm-parser": "^1.12.1",
"acorn": "^8.7.1",
- "acorn-import-assertions": "^1.7.6",
- "browserslist": "^4.14.5",
+ "acorn-import-attributes": "^1.9.5",
+ "browserslist": "^4.21.10",
"chrome-trace-event": "^1.0.2",
- "enhanced-resolve": "^5.10.0",
- "es-module-lexer": "^0.9.0",
+ "enhanced-resolve": "^5.17.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",
+ "graceful-fs": "^4.2.11",
"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.1.0",
+ "schema-utils": "^3.2.0",
"tapable": "^2.1.1",
- "terser-webpack-plugin": "^5.1.3",
- "watchpack": "^2.4.0",
+ "terser-webpack-plugin": "^5.3.10",
+ "watchpack": "^2.4.1",
"webpack-sources": "^3.2.3"
},
"bin": {
@@ -28586,19 +30507,22 @@
}
},
"node_modules/webpack-bundle-analyzer": {
- "version": "4.7.0",
- "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.7.0.tgz",
- "integrity": "sha512-j9b8ynpJS4K+zfO5GGwsAcQX4ZHpWV+yRiHDiL+bE0XHJ8NiPYLTNVQdlFYWxtpg9lfAQNlwJg16J9AJtFSXRg==",
+ "version": "4.10.2",
+ "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.10.2.tgz",
+ "integrity": "sha512-vJptkMm9pk5si4Bv922ZbKLV8UTT4zib4FPgXMhgzUny0bfDDkLXAVQs3ly3fS4/TN9ROFtb0NFrm04UXFE/Vw==",
"dev": true,
"dependencies": {
+ "@discoveryjs/json-ext": "0.5.7",
"acorn": "^8.0.4",
"acorn-walk": "^8.0.0",
- "chalk": "^4.1.0",
"commander": "^7.2.0",
+ "debounce": "^1.2.1",
+ "escape-string-regexp": "^4.0.0",
"gzip-size": "^6.0.0",
- "lodash": "^4.17.20",
+ "html-escaper": "^2.0.2",
"opener": "^1.5.2",
- "sirv": "^1.0.7",
+ "picocolors": "^1.0.0",
+ "sirv": "^2.0.3",
"ws": "^7.3.1"
},
"bin": {
@@ -28609,9 +30533,9 @@
}
},
"node_modules/webpack-bundle-analyzer/node_modules/acorn": {
- "version": "8.8.1",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz",
- "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==",
+ "version": "8.11.3",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz",
+ "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==",
"dev": true,
"bin": {
"acorn": "bin/acorn"
@@ -28620,55 +30544,6 @@
"node": ">=0.4.0"
}
},
- "node_modules/webpack-bundle-analyzer/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==",
- "dev": true,
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/webpack-bundle-analyzer/node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "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/webpack-bundle-analyzer/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==",
- "dev": true,
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/webpack-bundle-analyzer/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==",
- "dev": true
- },
"node_modules/webpack-bundle-analyzer/node_modules/commander": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
@@ -28678,25 +30553,16 @@
"node": ">= 10"
}
},
- "node_modules/webpack-bundle-analyzer/node_modules/has-flag": {
+ "node_modules/webpack-bundle-analyzer/node_modules/escape-string-regexp": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
+ "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
"dev": true,
"engines": {
- "node": ">=8"
- }
- },
- "node_modules/webpack-bundle-analyzer/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==",
- "dev": true,
- "dependencies": {
- "has-flag": "^4.0.0"
+ "node": ">=10"
},
- "engines": {
- "node": ">=8"
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/webpack-bundle-analyzer/node_modules/ws": {
@@ -28881,9 +30747,9 @@
}
},
"node_modules/webpack/node_modules/acorn": {
- "version": "8.8.1",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz",
- "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==",
+ "version": "8.11.3",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz",
+ "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==",
"dev": true,
"bin": {
"acorn": "bin/acorn"
@@ -28892,10 +30758,10 @@
"node": ">=0.4.0"
}
},
- "node_modules/webpack/node_modules/acorn-import-assertions": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz",
- "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==",
+ "node_modules/webpack/node_modules/acorn-import-attributes": {
+ "version": "1.9.5",
+ "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz",
+ "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==",
"dev": true,
"peerDependencies": {
"acorn": "^8"
@@ -28917,10 +30783,16 @@
"url": "https://github.com/sponsors/epoberezkin"
}
},
+ "node_modules/webpack/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==",
+ "dev": true
+ },
"node_modules/webpack/node_modules/schema-utils": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
- "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
+ "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==",
"dev": true,
"dependencies": {
"@types/json-schema": "^7.0.8",
@@ -28969,18 +30841,18 @@
}
},
"node_modules/which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz",
+ "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==",
"dev": true,
"dependencies": {
- "isexe": "^2.0.0"
+ "isexe": "^3.1.1"
},
"bin": {
- "node-which": "bin/node-which"
+ "node-which": "bin/which.js"
},
"engines": {
- "node": ">= 8"
+ "node": "^16.13.0 || >=18.0.0"
}
},
"node_modules/which-boxed-primitive": {
@@ -29000,15 +30872,18 @@
}
},
"node_modules/which-collection": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz",
- "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz",
+ "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==",
"dev": true,
"dependencies": {
- "is-map": "^2.0.1",
- "is-set": "^2.0.1",
- "is-weakmap": "^2.0.1",
- "is-weakset": "^2.0.1"
+ "is-map": "^2.0.3",
+ "is-set": "^2.0.3",
+ "is-weakmap": "^2.0.2",
+ "is-weakset": "^2.0.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
@@ -29021,17 +30896,16 @@
"dev": true
},
"node_modules/which-typed-array": {
- "version": "1.1.8",
- "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.8.tgz",
- "integrity": "sha512-Jn4e5PItbcAHyLoRDwvPj1ypu27DJbtdYXUa5zsinrUx77Uvfb0cXwwnGMTn7cjUfhhqgVQnVJCwF+7cgU7tpw==",
+ "version": "1.1.15",
+ "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz",
+ "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==",
"dev": true,
"dependencies": {
- "available-typed-arrays": "^1.0.5",
- "call-bind": "^1.0.2",
- "es-abstract": "^1.20.0",
+ "available-typed-arrays": "^1.0.7",
+ "call-bind": "^1.0.7",
"for-each": "^0.3.3",
- "has-tostringtag": "^1.0.0",
- "is-typed-array": "^1.1.9"
+ "gopd": "^1.0.1",
+ "has-tostringtag": "^1.0.2"
},
"engines": {
"node": ">= 0.4"
@@ -29041,9 +30915,9 @@
}
},
"node_modules/winston-transport": {
- "version": "4.6.0",
- "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.6.0.tgz",
- "integrity": "sha512-wbBA9PbPAHxKiygo7ub7BYRiKxms0tpfU2ljtWzb3SjRjv5yl6Ozuy/TkXf00HTAt+Uylo3gSkNwzc4ME0wiIg==",
+ "version": "4.7.0",
+ "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.7.0.tgz",
+ "integrity": "sha512-ajBj65K5I7denzer2IYW6+2bNIVqLGDHqDw3Ow8Ohh+vdW+rv4MZ6eiDvHoKhfJFZ2auyN8byXieDDJ96ViONg==",
"dev": true,
"dependencies": {
"logform": "^2.3.2",
@@ -29069,9 +30943,9 @@
}
},
"node_modules/word-wrap": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.4.tgz",
- "integrity": "sha512-2V81OA4ugVo5pRo46hAoD2ivUJx8jXmWXfUkY4KFNw0hEptvN0QfH3K4nHiwzGeKl5rFKedV48QVoqYavy4YpA==",
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz",
+ "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==",
"dev": true,
"engines": {
"node": ">=0.10.0"
@@ -29090,9 +30964,9 @@
"dev": true
},
"node_modules/wrap-ansi": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
- "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
+ "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
"dev": true,
"dependencies": {
"ansi-styles": "^4.0.0",
@@ -29100,10 +30974,7 @@
"strip-ansi": "^6.0.0"
},
"engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+ "node": ">=8"
}
},
"node_modules/wrap-ansi-cjs": {
@@ -29157,6 +31028,18 @@
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
},
+ "node_modules/wrap-ansi-cjs/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==",
+ "dev": true,
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/wrap-ansi/node_modules/ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
@@ -29190,6 +31073,18 @@
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
},
+ "node_modules/wrap-ansi/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==",
+ "dev": true,
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
@@ -29208,18 +31103,6 @@
"node": ">=4"
}
},
- "node_modules/write/node_modules/mkdirp": {
- "version": "0.5.6",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
- "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
- "dev": true,
- "dependencies": {
- "minimist": "^1.2.6"
- },
- "bin": {
- "mkdirp": "bin/cmd.js"
- }
- },
"node_modules/ws": {
"version": "8.11.0",
"resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz",
@@ -29260,10 +31143,9 @@
}
},
"node_modules/yallist": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
- "dev": true
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
+ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="
},
"node_modules/yargs": {
"version": "1.3.3",
@@ -29307,6 +31189,18 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/yargs-unparser/node_modules/decamelize": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz",
+ "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/yargs-unparser/node_modules/is-plain-obj": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz",
@@ -29317,45 +31211,90 @@
}
},
"node_modules/yauzl": {
- "version": "2.10.0",
- "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
- "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==",
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-3.1.3.tgz",
+ "integrity": "sha512-JCCdmlJJWv7L0q/KylOekyRaUrdEoUxWkWVcgorosTROCFWiS9p2NNPE9Yb91ak7b1N5SxAZEliWpspbZccivw==",
"dev": true,
"dependencies": {
"buffer-crc32": "~0.2.3",
- "fd-slicer": "~1.1.0"
+ "pend": "~1.2.0"
+ },
+ "engines": {
+ "node": ">=12"
}
},
"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==",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz",
+ "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==",
"dev": true,
"engines": {
- "node": ">=10"
+ "node": ">=12.20"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/zip-stream": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-4.1.0.tgz",
- "integrity": "sha512-zshzwQW7gG7hjpBlgeQP9RuyPGNxvJdzR8SUM3QhxCnLjWN2E7j3dOvpeDcQoETfHx0urRS7EtmVToql7YpU4A==",
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-4.1.1.tgz",
+ "integrity": "sha512-9qv4rlDiopXg4E69k+vMHjNN63YFMe9sZMrdlvKnCjlCRWeCBswPPMPUfx+ipsAWq1LXHe70RcbaHdJJpS6hyQ==",
"dev": true,
"dependencies": {
- "archiver-utils": "^2.1.0",
- "compress-commons": "^4.1.0",
+ "archiver-utils": "^3.0.4",
+ "compress-commons": "^4.1.2",
"readable-stream": "^3.6.0"
},
"engines": {
"node": ">= 10"
}
},
+ "node_modules/zip-stream/node_modules/archiver-utils": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-3.0.4.tgz",
+ "integrity": "sha512-KVgf4XQVrTjhyWmx6cte4RxonPLR9onExufI1jhvw/MQ4BB6IsZD5gT8Lq+u/+pRkWna/6JoHpiQioaqFP5Rzw==",
+ "dev": true,
+ "dependencies": {
+ "glob": "^7.2.3",
+ "graceful-fs": "^4.2.0",
+ "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",
+ "normalize-path": "^3.0.0",
+ "readable-stream": "^3.6.0"
+ },
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/zip-stream/node_modules/glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "deprecated": "Glob versions prior to v9 are no longer supported",
+ "dev": true,
+ "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/zip-stream/node_modules/readable-stream": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
- "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+ "version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
+ "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
"dev": true,
"dependencies": {
"inherits": "^2.0.3",
@@ -29367,9 +31306,9 @@
}
},
"node_modules/zwitch": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.2.tgz",
- "integrity": "sha512-JZxotl7SxAJH0j7dN4pxsTV6ZLXoLdGME+PsjkL/DaBrVryK9kTGq06GfKrwcSOqypP+fdXGoCHE36b99fWVoA==",
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz",
+ "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==",
"dev": true,
"funding": {
"type": "github",
@@ -29385,481 +31324,345 @@
},
"dependencies": {
"@ampproject/remapping": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz",
- "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==",
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz",
+ "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==",
"requires": {
- "@jridgewell/gen-mapping": "^0.1.0",
- "@jridgewell/trace-mapping": "^0.3.9"
+ "@jridgewell/gen-mapping": "^0.3.5",
+ "@jridgewell/trace-mapping": "^0.3.24"
}
},
"@babel/code-frame": {
- "version": "7.22.13",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz",
- "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz",
+ "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==",
"requires": {
- "@babel/highlight": "^7.22.13",
- "chalk": "^2.4.2"
+ "@babel/highlight": "^7.24.7",
+ "picocolors": "^1.0.0"
}
},
"@babel/compat-data": {
- "version": "7.20.1",
- "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.1.tgz",
- "integrity": "sha512-EWZ4mE2diW3QALKvDMiXnbZpRvlj+nayZ112nK93SnhqOtpdsbVD4W+2tEoT3YNBAG9RBR0ISY758ZkOgsn6pQ=="
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.7.tgz",
+ "integrity": "sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw=="
},
"@babel/core": {
- "version": "7.19.6",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.6.tgz",
- "integrity": "sha512-D2Ue4KHpc6Ys2+AxpIx1BZ8+UegLLLE2p3KJEuJRKmokHOtl49jQ5ny1773KsGLZs8MQvBidAF6yWUJxRqtKtg==",
- "requires": {
- "@ampproject/remapping": "^2.1.0",
- "@babel/code-frame": "^7.18.6",
- "@babel/generator": "^7.19.6",
- "@babel/helper-compilation-targets": "^7.19.3",
- "@babel/helper-module-transforms": "^7.19.6",
- "@babel/helpers": "^7.19.4",
- "@babel/parser": "^7.19.6",
- "@babel/template": "^7.18.10",
- "@babel/traverse": "^7.19.6",
- "@babel/types": "^7.19.4",
- "convert-source-map": "^1.7.0",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.7.tgz",
+ "integrity": "sha512-nykK+LEK86ahTkX/3TgauT0ikKoNCfKHEaZYTUVupJdTLzGNvrblu4u6fa7DhZONAltdf8e662t/abY8idrd/g==",
+ "requires": {
+ "@ampproject/remapping": "^2.2.0",
+ "@babel/code-frame": "^7.24.7",
+ "@babel/generator": "^7.24.7",
+ "@babel/helper-compilation-targets": "^7.24.7",
+ "@babel/helper-module-transforms": "^7.24.7",
+ "@babel/helpers": "^7.24.7",
+ "@babel/parser": "^7.24.7",
+ "@babel/template": "^7.24.7",
+ "@babel/traverse": "^7.24.7",
+ "@babel/types": "^7.24.7",
+ "convert-source-map": "^2.0.0",
"debug": "^4.1.0",
"gensync": "^1.0.0-beta.2",
- "json5": "^2.2.1",
- "semver": "^6.3.0"
+ "json5": "^2.2.3",
+ "semver": "^6.3.1"
}
},
"@babel/eslint-parser": {
- "version": "7.19.1",
- "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.19.1.tgz",
- "integrity": "sha512-AqNf2QWt1rtu2/1rLswy6CDP7H9Oh3mMhk177Y67Rg8d7RD9WfOLLv8CGn6tisFvS2htm86yIe1yLF6I1UDaGQ==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.24.7.tgz",
+ "integrity": "sha512-SO5E3bVxDuxyNxM5agFv480YA2HO6ohZbGxbazZdIk3KQOPOGVNw6q78I9/lbviIf95eq6tPozeYnJLbjnC8IA==",
"dev": true,
"requires": {
"@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1",
"eslint-visitor-keys": "^2.1.0",
- "semver": "^6.3.0"
+ "semver": "^6.3.1"
}
},
"@babel/generator": {
- "version": "7.23.0",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz",
- "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.7.tgz",
+ "integrity": "sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==",
"requires": {
- "@babel/types": "^7.23.0",
- "@jridgewell/gen-mapping": "^0.3.2",
- "@jridgewell/trace-mapping": "^0.3.17",
+ "@babel/types": "^7.24.7",
+ "@jridgewell/gen-mapping": "^0.3.5",
+ "@jridgewell/trace-mapping": "^0.3.25",
"jsesc": "^2.5.1"
- },
- "dependencies": {
- "@jridgewell/gen-mapping": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz",
- "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==",
- "requires": {
- "@jridgewell/set-array": "^1.0.1",
- "@jridgewell/sourcemap-codec": "^1.4.10",
- "@jridgewell/trace-mapping": "^0.3.9"
- }
- }
}
},
"@babel/helper-annotate-as-pure": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz",
- "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.7.tgz",
+ "integrity": "sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==",
"requires": {
- "@babel/types": "^7.18.6"
+ "@babel/types": "^7.24.7"
}
},
"@babel/helper-builder-binary-assignment-operator-visitor": {
- "version": "7.18.9",
- "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz",
- "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.24.7.tgz",
+ "integrity": "sha512-xZeCVVdwb4MsDBkkyZ64tReWYrLRHlMN72vP7Bdm3OUOuyFZExhsHUUnuWnm2/XOlAJzR0LfPpB56WXZn0X/lA==",
"requires": {
- "@babel/helper-explode-assignable-expression": "^7.18.6",
- "@babel/types": "^7.18.9"
+ "@babel/traverse": "^7.24.7",
+ "@babel/types": "^7.24.7"
}
},
"@babel/helper-compilation-targets": {
- "version": "7.20.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.0.tgz",
- "integrity": "sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.24.7.tgz",
+ "integrity": "sha512-ctSdRHBi20qWOfy27RUb4Fhp07KSJ3sXcuSvTrXrc4aG8NSYDo1ici3Vhg9bg69y5bj0Mr1lh0aeEgTvc12rMg==",
"requires": {
- "@babel/compat-data": "^7.20.0",
- "@babel/helper-validator-option": "^7.18.6",
- "browserslist": "^4.21.3",
- "semver": "^6.3.0"
+ "@babel/compat-data": "^7.24.7",
+ "@babel/helper-validator-option": "^7.24.7",
+ "browserslist": "^4.22.2",
+ "lru-cache": "^5.1.1",
+ "semver": "^6.3.1"
}
},
"@babel/helper-create-class-features-plugin": {
- "version": "7.19.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.19.0.tgz",
- "integrity": "sha512-NRz8DwF4jT3UfrmUoZjd0Uph9HQnP30t7Ash+weACcyNkiYTywpIjDBgReJMKgr+n86sn2nPVVmJ28Dm053Kqw==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.7.tgz",
+ "integrity": "sha512-kTkaDl7c9vO80zeX1rJxnuRpEsD5tA81yh11X1gQo+PhSti3JS+7qeZo9U4RHobKRiFPKaGK3svUAeb8D0Q7eg==",
"requires": {
- "@babel/helper-annotate-as-pure": "^7.18.6",
- "@babel/helper-environment-visitor": "^7.18.9",
- "@babel/helper-function-name": "^7.19.0",
- "@babel/helper-member-expression-to-functions": "^7.18.9",
- "@babel/helper-optimise-call-expression": "^7.18.6",
- "@babel/helper-replace-supers": "^7.18.9",
- "@babel/helper-split-export-declaration": "^7.18.6"
+ "@babel/helper-annotate-as-pure": "^7.24.7",
+ "@babel/helper-environment-visitor": "^7.24.7",
+ "@babel/helper-function-name": "^7.24.7",
+ "@babel/helper-member-expression-to-functions": "^7.24.7",
+ "@babel/helper-optimise-call-expression": "^7.24.7",
+ "@babel/helper-replace-supers": "^7.24.7",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7",
+ "@babel/helper-split-export-declaration": "^7.24.7",
+ "semver": "^6.3.1"
}
},
"@babel/helper-create-regexp-features-plugin": {
- "version": "7.19.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.19.0.tgz",
- "integrity": "sha512-htnV+mHX32DF81amCDrwIDr8nrp1PTm+3wfBN9/v8QJOLEioOCOG7qNyq0nHeFiWbT3Eb7gsPwEmV64UCQ1jzw==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.24.7.tgz",
+ "integrity": "sha512-03TCmXy2FtXJEZfbXDTSqq1fRJArk7lX9DOFC/47VthYcxyIOx+eXQmdo6DOQvrbpIix+KfXwvuXdFDZHxt+rA==",
"requires": {
- "@babel/helper-annotate-as-pure": "^7.18.6",
- "regexpu-core": "^5.1.0"
+ "@babel/helper-annotate-as-pure": "^7.24.7",
+ "regexpu-core": "^5.3.1",
+ "semver": "^6.3.1"
}
},
"@babel/helper-define-polyfill-provider": {
- "version": "0.3.3",
- "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz",
- "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==",
+ "version": "0.6.2",
+ "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz",
+ "integrity": "sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==",
"requires": {
- "@babel/helper-compilation-targets": "^7.17.7",
- "@babel/helper-plugin-utils": "^7.16.7",
+ "@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",
- "semver": "^6.1.2"
+ "resolve": "^1.14.2"
}
},
"@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=="
- },
- "@babel/helper-explode-assignable-expression": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz",
- "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.7.tgz",
+ "integrity": "sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==",
"requires": {
- "@babel/types": "^7.18.6"
+ "@babel/types": "^7.24.7"
}
},
"@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==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.24.7.tgz",
+ "integrity": "sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==",
"requires": {
- "@babel/template": "^7.22.15",
- "@babel/types": "^7.23.0"
+ "@babel/template": "^7.24.7",
+ "@babel/types": "^7.24.7"
}
},
"@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==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.7.tgz",
+ "integrity": "sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==",
"requires": {
- "@babel/types": "^7.22.5"
+ "@babel/types": "^7.24.7"
}
},
"@babel/helper-member-expression-to-functions": {
- "version": "7.18.9",
- "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz",
- "integrity": "sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.7.tgz",
+ "integrity": "sha512-LGeMaf5JN4hAT471eJdBs/GK1DoYIJ5GCtZN/EsL6KUiiDZOvO/eKE11AMZJa2zP4zk4qe9V2O/hxAmkRc8p6w==",
"requires": {
- "@babel/types": "^7.18.9"
+ "@babel/traverse": "^7.24.7",
+ "@babel/types": "^7.24.7"
}
},
"@babel/helper-module-imports": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz",
- "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz",
+ "integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==",
"requires": {
- "@babel/types": "^7.18.6"
+ "@babel/traverse": "^7.24.7",
+ "@babel/types": "^7.24.7"
}
},
"@babel/helper-module-transforms": {
- "version": "7.19.6",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.19.6.tgz",
- "integrity": "sha512-fCmcfQo/KYr/VXXDIyd3CBGZ6AFhPFy1TfSEJ+PilGVlQT6jcbqtHAM4C1EciRqMza7/TpOUZliuSH+U6HAhJw==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.24.7.tgz",
+ "integrity": "sha512-1fuJEwIrp+97rM4RWdO+qrRsZlAeL1lQJoPqtCYWv0NL115XM93hIH4CSRln2w52SqvmY5hqdtauB6QFCDiZNQ==",
"requires": {
- "@babel/helper-environment-visitor": "^7.18.9",
- "@babel/helper-module-imports": "^7.18.6",
- "@babel/helper-simple-access": "^7.19.4",
- "@babel/helper-split-export-declaration": "^7.18.6",
- "@babel/helper-validator-identifier": "^7.19.1",
- "@babel/template": "^7.18.10",
- "@babel/traverse": "^7.19.6",
- "@babel/types": "^7.19.4"
+ "@babel/helper-environment-visitor": "^7.24.7",
+ "@babel/helper-module-imports": "^7.24.7",
+ "@babel/helper-simple-access": "^7.24.7",
+ "@babel/helper-split-export-declaration": "^7.24.7",
+ "@babel/helper-validator-identifier": "^7.24.7"
}
},
"@babel/helper-optimise-call-expression": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz",
- "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.24.7.tgz",
+ "integrity": "sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==",
"requires": {
- "@babel/types": "^7.18.6"
+ "@babel/types": "^7.24.7"
}
},
"@babel/helper-plugin-utils": {
- "version": "7.19.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz",
- "integrity": "sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw=="
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.7.tgz",
+ "integrity": "sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg=="
},
"@babel/helper-remap-async-to-generator": {
- "version": "7.18.9",
- "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz",
- "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.24.7.tgz",
+ "integrity": "sha512-9pKLcTlZ92hNZMQfGCHImUpDOlAgkkpqalWEeftW5FBya75k8Li2ilerxkM/uBEj01iBZXcCIB/bwvDYgWyibA==",
"requires": {
- "@babel/helper-annotate-as-pure": "^7.18.6",
- "@babel/helper-environment-visitor": "^7.18.9",
- "@babel/helper-wrap-function": "^7.18.9",
- "@babel/types": "^7.18.9"
+ "@babel/helper-annotate-as-pure": "^7.24.7",
+ "@babel/helper-environment-visitor": "^7.24.7",
+ "@babel/helper-wrap-function": "^7.24.7"
}
},
"@babel/helper-replace-supers": {
- "version": "7.19.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.19.1.tgz",
- "integrity": "sha512-T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.24.7.tgz",
+ "integrity": "sha512-qTAxxBM81VEyoAY0TtLrx1oAEJc09ZK67Q9ljQToqCnA+55eNwCORaxlKyu+rNfX86o8OXRUSNUnrtsAZXM9sg==",
"requires": {
- "@babel/helper-environment-visitor": "^7.18.9",
- "@babel/helper-member-expression-to-functions": "^7.18.9",
- "@babel/helper-optimise-call-expression": "^7.18.6",
- "@babel/traverse": "^7.19.1",
- "@babel/types": "^7.19.0"
+ "@babel/helper-environment-visitor": "^7.24.7",
+ "@babel/helper-member-expression-to-functions": "^7.24.7",
+ "@babel/helper-optimise-call-expression": "^7.24.7"
}
},
"@babel/helper-simple-access": {
- "version": "7.19.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.19.4.tgz",
- "integrity": "sha512-f9Xq6WqBFqaDfbCzn2w85hwklswz5qsKlh7f08w4Y9yhJHpnNC0QemtSkK5YyOY8kPGvyiwdzZksGUhnGdaUIg==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz",
+ "integrity": "sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==",
"requires": {
- "@babel/types": "^7.19.4"
+ "@babel/traverse": "^7.24.7",
+ "@babel/types": "^7.24.7"
}
},
"@babel/helper-skip-transparent-expression-wrappers": {
- "version": "7.20.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz",
- "integrity": "sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.24.7.tgz",
+ "integrity": "sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==",
"requires": {
- "@babel/types": "^7.20.0"
+ "@babel/traverse": "^7.24.7",
+ "@babel/types": "^7.24.7"
}
},
"@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==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz",
+ "integrity": "sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==",
"requires": {
- "@babel/types": "^7.22.5"
+ "@babel/types": "^7.24.7"
}
},
"@babel/helper-string-parser": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz",
- "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw=="
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.7.tgz",
+ "integrity": "sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg=="
},
"@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=="
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz",
+ "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w=="
},
"@babel/helper-validator-option": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz",
- "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw=="
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.7.tgz",
+ "integrity": "sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw=="
},
"@babel/helper-wrap-function": {
- "version": "7.19.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.19.0.tgz",
- "integrity": "sha512-txX8aN8CZyYGTwcLhlk87KRqncAzhh5TpQamZUa0/u3an36NtDpUP6bQgBCBcLeBs09R/OwQu3OjK0k/HwfNDg==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.24.7.tgz",
+ "integrity": "sha512-N9JIYk3TD+1vq/wn77YnJOqMtfWhNewNE+DJV4puD2X7Ew9J4JvrzrFDfTfyv5EgEXVy9/Wt8QiOErzEmv5Ifw==",
"requires": {
- "@babel/helper-function-name": "^7.19.0",
- "@babel/template": "^7.18.10",
- "@babel/traverse": "^7.19.0",
- "@babel/types": "^7.19.0"
+ "@babel/helper-function-name": "^7.24.7",
+ "@babel/template": "^7.24.7",
+ "@babel/traverse": "^7.24.7",
+ "@babel/types": "^7.24.7"
}
},
"@babel/helpers": {
- "version": "7.20.1",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.1.tgz",
- "integrity": "sha512-J77mUVaDTUJFZ5BpP6mMn6OIl3rEWymk2ZxDBQJUG3P+PbmyMcF3bYWvz0ma69Af1oobDqT/iAsvzhB58xhQUg==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.7.tgz",
+ "integrity": "sha512-NlmJJtvcw72yRJRcnCmGvSi+3jDEg8qFu3z0AFoymmzLx5ERVWyzd9kVXr7Th9/8yIJi2Zc6av4Tqz3wFs8QWg==",
"requires": {
- "@babel/template": "^7.18.10",
- "@babel/traverse": "^7.20.1",
- "@babel/types": "^7.20.0"
+ "@babel/template": "^7.24.7",
+ "@babel/types": "^7.24.7"
}
},
"@babel/highlight": {
- "version": "7.22.20",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz",
- "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz",
+ "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==",
"requires": {
- "@babel/helper-validator-identifier": "^7.22.20",
+ "@babel/helper-validator-identifier": "^7.24.7",
"chalk": "^2.4.2",
- "js-tokens": "^4.0.0"
+ "js-tokens": "^4.0.0",
+ "picocolors": "^1.0.0"
}
},
"@babel/parser": {
- "version": "7.23.0",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz",
- "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw=="
- },
- "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": {
- "version": "7.18.6",
- "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.18.6.tgz",
- "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.18.6"
- }
- },
- "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": {
- "version": "7.18.9",
- "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz",
- "integrity": "sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.18.9",
- "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9",
- "@babel/plugin-proposal-optional-chaining": "^7.18.9"
- }
- },
- "@babel/plugin-proposal-async-generator-functions": {
- "version": "7.20.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.1.tgz",
- "integrity": "sha512-Gh5rchzSwE4kC+o/6T8waD0WHEQIsDmjltY8WnWRXHUdH8axZhuH86Ov9M72YhJfDrZseQwuuWaaIT/TmePp3g==",
- "requires": {
- "@babel/helper-environment-visitor": "^7.18.9",
- "@babel/helper-plugin-utils": "^7.19.0",
- "@babel/helper-remap-async-to-generator": "^7.18.9",
- "@babel/plugin-syntax-async-generators": "^7.8.4"
- }
- },
- "@babel/plugin-proposal-class-properties": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz",
- "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==",
- "requires": {
- "@babel/helper-create-class-features-plugin": "^7.18.6",
- "@babel/helper-plugin-utils": "^7.18.6"
- }
- },
- "@babel/plugin-proposal-class-static-block": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz",
- "integrity": "sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==",
- "requires": {
- "@babel/helper-create-class-features-plugin": "^7.18.6",
- "@babel/helper-plugin-utils": "^7.18.6",
- "@babel/plugin-syntax-class-static-block": "^7.14.5"
- }
- },
- "@babel/plugin-proposal-dynamic-import": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz",
- "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.18.6",
- "@babel/plugin-syntax-dynamic-import": "^7.8.3"
- }
- },
- "@babel/plugin-proposal-export-namespace-from": {
- "version": "7.18.9",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz",
- "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.18.9",
- "@babel/plugin-syntax-export-namespace-from": "^7.8.3"
- }
- },
- "@babel/plugin-proposal-json-strings": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz",
- "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.18.6",
- "@babel/plugin-syntax-json-strings": "^7.8.3"
- }
- },
- "@babel/plugin-proposal-logical-assignment-operators": {
- "version": "7.18.9",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz",
- "integrity": "sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.18.9",
- "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4"
- }
- },
- "@babel/plugin-proposal-nullish-coalescing-operator": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz",
- "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.18.6",
- "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3"
- }
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.7.tgz",
+ "integrity": "sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw=="
},
- "@babel/plugin-proposal-numeric-separator": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz",
- "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==",
+ "@babel/plugin-bugfix-firefox-class-in-computed-class-key": {
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.24.7.tgz",
+ "integrity": "sha512-TiT1ss81W80eQsN+722OaeQMY/G4yTb4G9JrqeiDADs3N8lbPMGldWi9x8tyqCW5NLx1Jh2AvkE6r6QvEltMMQ==",
"requires": {
- "@babel/helper-plugin-utils": "^7.18.6",
- "@babel/plugin-syntax-numeric-separator": "^7.10.4"
+ "@babel/helper-environment-visitor": "^7.24.7",
+ "@babel/helper-plugin-utils": "^7.24.7"
}
},
- "@babel/plugin-proposal-object-rest-spread": {
- "version": "7.19.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.19.4.tgz",
- "integrity": "sha512-wHmj6LDxVDnL+3WhXteUBaoM1aVILZODAUjg11kHqG4cOlfgMQGxw6aCgvrXrmaJR3Bn14oZhImyCPZzRpC93Q==",
- "requires": {
- "@babel/compat-data": "^7.19.4",
- "@babel/helper-compilation-targets": "^7.19.3",
- "@babel/helper-plugin-utils": "^7.19.0",
- "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
- "@babel/plugin-transform-parameters": "^7.18.8"
- }
- },
- "@babel/plugin-proposal-optional-catch-binding": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz",
- "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==",
+ "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": {
+ "version": "7.24.7",
+ "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.24.7.tgz",
+ "integrity": "sha512-unaQgZ/iRu/By6tsjMZzpeBZjChYfLYry6HrEXPoz3KmfF0sVBQ1l8zKMQ4xRGLWVsjuvB8nQfjNP/DcfEOCsg==",
"requires": {
- "@babel/helper-plugin-utils": "^7.18.6",
- "@babel/plugin-syntax-optional-catch-binding": "^7.8.3"
+ "@babel/helper-plugin-utils": "^7.24.7"
}
},
- "@babel/plugin-proposal-optional-chaining": {
- "version": "7.18.9",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz",
- "integrity": "sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w==",
+ "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": {
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.7.tgz",
+ "integrity": "sha512-+izXIbke1T33mY4MSNnrqhPXDz01WYhEf3yF5NbnUtkiNnm+XBZJl3kNfoK6NKmYlz/D07+l2GWVK/QfDkNCuQ==",
"requires": {
- "@babel/helper-plugin-utils": "^7.18.9",
- "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9",
- "@babel/plugin-syntax-optional-chaining": "^7.8.3"
+ "@babel/helper-plugin-utils": "^7.24.7",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7",
+ "@babel/plugin-transform-optional-chaining": "^7.24.7"
}
},
- "@babel/plugin-proposal-private-methods": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz",
- "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==",
+ "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": {
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.24.7.tgz",
+ "integrity": "sha512-utA4HuR6F4Vvcr+o4DnjL8fCOlgRFGbeeBEGNg3ZTrLFw6VWG5XmUrvcQ0FjIYMU2ST4XcR2Wsp7t9qOAPnxMg==",
"requires": {
- "@babel/helper-create-class-features-plugin": "^7.18.6",
- "@babel/helper-plugin-utils": "^7.18.6"
+ "@babel/helper-environment-visitor": "^7.24.7",
+ "@babel/helper-plugin-utils": "^7.24.7"
}
},
"@babel/plugin-proposal-private-property-in-object": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.18.6.tgz",
- "integrity": "sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw==",
- "requires": {
- "@babel/helper-annotate-as-pure": "^7.18.6",
- "@babel/helper-create-class-features-plugin": "^7.18.6",
- "@babel/helper-plugin-utils": "^7.18.6",
- "@babel/plugin-syntax-private-property-in-object": "^7.14.5"
- }
- },
- "@babel/plugin-proposal-unicode-property-regex": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz",
- "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==",
- "requires": {
- "@babel/helper-create-regexp-features-plugin": "^7.18.6",
- "@babel/helper-plugin-utils": "^7.18.6"
- }
+ "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==",
+ "requires": {}
},
"@babel/plugin-syntax-async-generators": {
"version": "7.8.4",
@@ -29902,11 +31705,27 @@
}
},
"@babel/plugin-syntax-import-assertions": {
- "version": "7.20.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz",
- "integrity": "sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.7.tgz",
+ "integrity": "sha512-Ec3NRUMoi8gskrkBe3fNmEQfxDvY8bgfQpz6jlk/41kX9eUjvpyqWU7PBP/pLAvMaSQjbMNKJmvX57jP+M6bPg==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.24.7"
+ }
+ },
+ "@babel/plugin-syntax-import-attributes": {
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.7.tgz",
+ "integrity": "sha512-hbX+lKKeUMGihnK8nvKqmXBInriT3GVjzXKFriV3YC6APGxMbP8RZNFwy91+hocLXq90Mta+HshoB31802bb8A==",
"requires": {
- "@babel/helper-plugin-utils": "^7.19.0"
+ "@babel/helper-plugin-utils": "^7.24.7"
+ }
+ },
+ "@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==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.10.4"
}
},
"@babel/plugin-syntax-json-strings": {
@@ -29981,333 +31800,485 @@
"@babel/helper-plugin-utils": "^7.14.5"
}
},
- "@babel/plugin-transform-arrow-functions": {
+ "@babel/plugin-syntax-unicode-sets-regex": {
"version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz",
- "integrity": "sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==",
+ "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==",
"requires": {
+ "@babel/helper-create-regexp-features-plugin": "^7.18.6",
"@babel/helper-plugin-utils": "^7.18.6"
}
},
+ "@babel/plugin-transform-arrow-functions": {
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.7.tgz",
+ "integrity": "sha512-Dt9LQs6iEY++gXUwY03DNFat5C2NbO48jj+j/bSAz6b3HgPs39qcPiYt77fDObIcFwj3/C2ICX9YMwGflUoSHQ==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.24.7"
+ }
+ },
+ "@babel/plugin-transform-async-generator-functions": {
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.24.7.tgz",
+ "integrity": "sha512-o+iF77e3u7ZS4AoAuJvapz9Fm001PuD2V3Lp6OSE4FYQke+cSewYtnek+THqGRWyQloRCyvWL1OkyfNEl9vr/g==",
+ "requires": {
+ "@babel/helper-environment-visitor": "^7.24.7",
+ "@babel/helper-plugin-utils": "^7.24.7",
+ "@babel/helper-remap-async-to-generator": "^7.24.7",
+ "@babel/plugin-syntax-async-generators": "^7.8.4"
+ }
+ },
"@babel/plugin-transform-async-to-generator": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz",
- "integrity": "sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.7.tgz",
+ "integrity": "sha512-SQY01PcJfmQ+4Ash7NE+rpbLFbmqA2GPIgqzxfFTL4t1FKRq4zTms/7htKpoCUI9OcFYgzqfmCdH53s6/jn5fA==",
"requires": {
- "@babel/helper-module-imports": "^7.18.6",
- "@babel/helper-plugin-utils": "^7.18.6",
- "@babel/helper-remap-async-to-generator": "^7.18.6"
+ "@babel/helper-module-imports": "^7.24.7",
+ "@babel/helper-plugin-utils": "^7.24.7",
+ "@babel/helper-remap-async-to-generator": "^7.24.7"
}
},
"@babel/plugin-transform-block-scoped-functions": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz",
- "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.7.tgz",
+ "integrity": "sha512-yO7RAz6EsVQDaBH18IDJcMB1HnrUn2FJ/Jslc/WtPPWcjhpUJXU/rjbwmluzp7v/ZzWcEhTMXELnnsz8djWDwQ==",
"requires": {
- "@babel/helper-plugin-utils": "^7.18.6"
+ "@babel/helper-plugin-utils": "^7.24.7"
}
},
"@babel/plugin-transform-block-scoping": {
- "version": "7.20.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.0.tgz",
- "integrity": "sha512-sXOohbpHZSk7GjxK9b3dKB7CfqUD5DwOH+DggKzOQ7TXYP+RCSbRykfjQmn/zq+rBjycVRtLf9pYhAaEJA786w==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.24.7.tgz",
+ "integrity": "sha512-Nd5CvgMbWc+oWzBsuaMcbwjJWAcp5qzrbg69SZdHSP7AMY0AbWFqFO0WTFCA1jxhMCwodRwvRec8k0QUbZk7RQ==",
"requires": {
- "@babel/helper-plugin-utils": "^7.19.0"
+ "@babel/helper-plugin-utils": "^7.24.7"
+ }
+ },
+ "@babel/plugin-transform-class-properties": {
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.7.tgz",
+ "integrity": "sha512-vKbfawVYayKcSeSR5YYzzyXvsDFWU2mD8U5TFeXtbCPLFUqe7GyCgvO6XDHzje862ODrOwy6WCPmKeWHbCFJ4w==",
+ "requires": {
+ "@babel/helper-create-class-features-plugin": "^7.24.7",
+ "@babel/helper-plugin-utils": "^7.24.7"
+ }
+ },
+ "@babel/plugin-transform-class-static-block": {
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.7.tgz",
+ "integrity": "sha512-HMXK3WbBPpZQufbMG4B46A90PkuuhN9vBCb5T8+VAHqvAqvcLi+2cKoukcpmUYkszLhScU3l1iudhrks3DggRQ==",
+ "requires": {
+ "@babel/helper-create-class-features-plugin": "^7.24.7",
+ "@babel/helper-plugin-utils": "^7.24.7",
+ "@babel/plugin-syntax-class-static-block": "^7.14.5"
}
},
"@babel/plugin-transform-classes": {
- "version": "7.19.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.19.0.tgz",
- "integrity": "sha512-YfeEE9kCjqTS9IitkgfJuxjcEtLUHMqa8yUJ6zdz8vR7hKuo6mOy2C05P0F1tdMmDCeuyidKnlrw/iTppHcr2A==",
- "requires": {
- "@babel/helper-annotate-as-pure": "^7.18.6",
- "@babel/helper-compilation-targets": "^7.19.0",
- "@babel/helper-environment-visitor": "^7.18.9",
- "@babel/helper-function-name": "^7.19.0",
- "@babel/helper-optimise-call-expression": "^7.18.6",
- "@babel/helper-plugin-utils": "^7.19.0",
- "@babel/helper-replace-supers": "^7.18.9",
- "@babel/helper-split-export-declaration": "^7.18.6",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.7.tgz",
+ "integrity": "sha512-CFbbBigp8ln4FU6Bpy6g7sE8B/WmCmzvivzUC6xDAdWVsjYTXijpuuGJmYkAaoWAzcItGKT3IOAbxRItZ5HTjw==",
+ "requires": {
+ "@babel/helper-annotate-as-pure": "^7.24.7",
+ "@babel/helper-compilation-targets": "^7.24.7",
+ "@babel/helper-environment-visitor": "^7.24.7",
+ "@babel/helper-function-name": "^7.24.7",
+ "@babel/helper-plugin-utils": "^7.24.7",
+ "@babel/helper-replace-supers": "^7.24.7",
+ "@babel/helper-split-export-declaration": "^7.24.7",
"globals": "^11.1.0"
}
},
"@babel/plugin-transform-computed-properties": {
- "version": "7.18.9",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz",
- "integrity": "sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.7.tgz",
+ "integrity": "sha512-25cS7v+707Gu6Ds2oY6tCkUwsJ9YIDbggd9+cu9jzzDgiNq7hR/8dkzxWfKWnTic26vsI3EsCXNd4iEB6e8esQ==",
"requires": {
- "@babel/helper-plugin-utils": "^7.18.9"
+ "@babel/helper-plugin-utils": "^7.24.7",
+ "@babel/template": "^7.24.7"
}
},
"@babel/plugin-transform-destructuring": {
- "version": "7.20.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.20.0.tgz",
- "integrity": "sha512-1dIhvZfkDVx/zn2S1aFwlruspTt4189j7fEkH0Y0VyuDM6bQt7bD6kLcz3l4IlLG+e5OReaBz9ROAbttRtUHqA==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.7.tgz",
+ "integrity": "sha512-19eJO/8kdCQ9zISOf+SEUJM/bAUIsvY3YDnXZTupUCQ8LgrWnsG/gFB9dvXqdXnRXMAM8fvt7b0CBKQHNGy1mw==",
"requires": {
- "@babel/helper-plugin-utils": "^7.19.0"
+ "@babel/helper-plugin-utils": "^7.24.7"
}
},
"@babel/plugin-transform-dotall-regex": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz",
- "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.7.tgz",
+ "integrity": "sha512-ZOA3W+1RRTSWvyqcMJDLqbchh7U4NRGqwRfFSVbOLS/ePIP4vHB5e8T8eXcuqyN1QkgKyj5wuW0lcS85v4CrSw==",
"requires": {
- "@babel/helper-create-regexp-features-plugin": "^7.18.6",
- "@babel/helper-plugin-utils": "^7.18.6"
+ "@babel/helper-create-regexp-features-plugin": "^7.24.7",
+ "@babel/helper-plugin-utils": "^7.24.7"
}
},
"@babel/plugin-transform-duplicate-keys": {
- "version": "7.18.9",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz",
- "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.7.tgz",
+ "integrity": "sha512-JdYfXyCRihAe46jUIliuL2/s0x0wObgwwiGxw/UbgJBr20gQBThrokO4nYKgWkD7uBaqM7+9x5TU7NkExZJyzw==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.24.7"
+ }
+ },
+ "@babel/plugin-transform-dynamic-import": {
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.7.tgz",
+ "integrity": "sha512-sc3X26PhZQDb3JhORmakcbvkeInvxz+A8oda99lj7J60QRuPZvNAk9wQlTBS1ZynelDrDmTU4pw1tyc5d5ZMUg==",
"requires": {
- "@babel/helper-plugin-utils": "^7.18.9"
+ "@babel/helper-plugin-utils": "^7.24.7",
+ "@babel/plugin-syntax-dynamic-import": "^7.8.3"
}
},
"@babel/plugin-transform-exponentiation-operator": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz",
- "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.7.tgz",
+ "integrity": "sha512-Rqe/vSc9OYgDajNIK35u7ot+KeCoetqQYFXM4Epf7M7ez3lWlOjrDjrwMei6caCVhfdw+mIKD4cgdGNy5JQotQ==",
"requires": {
- "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6",
- "@babel/helper-plugin-utils": "^7.18.6"
+ "@babel/helper-builder-binary-assignment-operator-visitor": "^7.24.7",
+ "@babel/helper-plugin-utils": "^7.24.7"
+ }
+ },
+ "@babel/plugin-transform-export-namespace-from": {
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.7.tgz",
+ "integrity": "sha512-v0K9uNYsPL3oXZ/7F9NNIbAj2jv1whUEtyA6aujhekLs56R++JDQuzRcP2/z4WX5Vg/c5lE9uWZA0/iUoFhLTA==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.24.7",
+ "@babel/plugin-syntax-export-namespace-from": "^7.8.3"
}
},
"@babel/plugin-transform-for-of": {
- "version": "7.18.8",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz",
- "integrity": "sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.7.tgz",
+ "integrity": "sha512-wo9ogrDG1ITTTBsy46oGiN1dS9A7MROBTcYsfS8DtsImMkHk9JXJ3EWQM6X2SUw4x80uGPlwj0o00Uoc6nEE3g==",
"requires": {
- "@babel/helper-plugin-utils": "^7.18.6"
+ "@babel/helper-plugin-utils": "^7.24.7",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7"
}
},
"@babel/plugin-transform-function-name": {
- "version": "7.18.9",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz",
- "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.24.7.tgz",
+ "integrity": "sha512-U9FcnA821YoILngSmYkW6FjyQe2TyZD5pHt4EVIhmcTkrJw/3KqcrRSxuOo5tFZJi7TE19iDyI1u+weTI7bn2w==",
"requires": {
- "@babel/helper-compilation-targets": "^7.18.9",
- "@babel/helper-function-name": "^7.18.9",
- "@babel/helper-plugin-utils": "^7.18.9"
+ "@babel/helper-compilation-targets": "^7.24.7",
+ "@babel/helper-function-name": "^7.24.7",
+ "@babel/helper-plugin-utils": "^7.24.7"
+ }
+ },
+ "@babel/plugin-transform-json-strings": {
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.7.tgz",
+ "integrity": "sha512-2yFnBGDvRuxAaE/f0vfBKvtnvvqU8tGpMHqMNpTN2oWMKIR3NqFkjaAgGwawhqK/pIN2T3XdjGPdaG0vDhOBGw==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.24.7",
+ "@babel/plugin-syntax-json-strings": "^7.8.3"
}
},
"@babel/plugin-transform-literals": {
- "version": "7.18.9",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz",
- "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.24.7.tgz",
+ "integrity": "sha512-vcwCbb4HDH+hWi8Pqenwnjy+UiklO4Kt1vfspcQYFhJdpthSnW8XvWGyDZWKNVrVbVViI/S7K9PDJZiUmP2fYQ==",
"requires": {
- "@babel/helper-plugin-utils": "^7.18.9"
+ "@babel/helper-plugin-utils": "^7.24.7"
+ }
+ },
+ "@babel/plugin-transform-logical-assignment-operators": {
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.7.tgz",
+ "integrity": "sha512-4D2tpwlQ1odXmTEIFWy9ELJcZHqrStlzK/dAOWYyxX3zT0iXQB6banjgeOJQXzEc4S0E0a5A+hahxPaEFYftsw==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.24.7",
+ "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4"
}
},
"@babel/plugin-transform-member-expression-literals": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz",
- "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.7.tgz",
+ "integrity": "sha512-T/hRC1uqrzXMKLQ6UCwMT85S3EvqaBXDGf0FaMf4446Qx9vKwlghvee0+uuZcDUCZU5RuNi4781UQ7R308zzBw==",
"requires": {
- "@babel/helper-plugin-utils": "^7.18.6"
+ "@babel/helper-plugin-utils": "^7.24.7"
}
},
"@babel/plugin-transform-modules-amd": {
- "version": "7.19.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.19.6.tgz",
- "integrity": "sha512-uG3od2mXvAtIFQIh0xrpLH6r5fpSQN04gIVovl+ODLdUMANokxQLZnPBHcjmv3GxRjnqwLuHvppjjcelqUFZvg==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.7.tgz",
+ "integrity": "sha512-9+pB1qxV3vs/8Hdmz/CulFB8w2tuu6EB94JZFsjdqxQokwGa9Unap7Bo2gGBGIvPmDIVvQrom7r5m/TCDMURhg==",
"requires": {
- "@babel/helper-module-transforms": "^7.19.6",
- "@babel/helper-plugin-utils": "^7.19.0"
+ "@babel/helper-module-transforms": "^7.24.7",
+ "@babel/helper-plugin-utils": "^7.24.7"
}
},
"@babel/plugin-transform-modules-commonjs": {
- "version": "7.19.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.19.6.tgz",
- "integrity": "sha512-8PIa1ym4XRTKuSsOUXqDG0YaOlEuTVvHMe5JCfgBMOtHvJKw/4NGovEGN33viISshG/rZNVrACiBmPQLvWN8xQ==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.7.tgz",
+ "integrity": "sha512-iFI8GDxtevHJ/Z22J5xQpVqFLlMNstcLXh994xifFwxxGslr2ZXXLWgtBeLctOD63UFDArdvN6Tg8RFw+aEmjQ==",
"requires": {
- "@babel/helper-module-transforms": "^7.19.6",
- "@babel/helper-plugin-utils": "^7.19.0",
- "@babel/helper-simple-access": "^7.19.4"
+ "@babel/helper-module-transforms": "^7.24.7",
+ "@babel/helper-plugin-utils": "^7.24.7",
+ "@babel/helper-simple-access": "^7.24.7"
}
},
"@babel/plugin-transform-modules-systemjs": {
- "version": "7.19.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.19.6.tgz",
- "integrity": "sha512-fqGLBepcc3kErfR9R3DnVpURmckXP7gj7bAlrTQyBxrigFqszZCkFkcoxzCp2v32XmwXLvbw+8Yq9/b+QqksjQ==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.24.7.tgz",
+ "integrity": "sha512-GYQE0tW7YoaN13qFh3O1NCY4MPkUiAH3fiF7UcV/I3ajmDKEdG3l+UOcbAm4zUE3gnvUU+Eni7XrVKo9eO9auw==",
"requires": {
- "@babel/helper-hoist-variables": "^7.18.6",
- "@babel/helper-module-transforms": "^7.19.6",
- "@babel/helper-plugin-utils": "^7.19.0",
- "@babel/helper-validator-identifier": "^7.19.1"
+ "@babel/helper-hoist-variables": "^7.24.7",
+ "@babel/helper-module-transforms": "^7.24.7",
+ "@babel/helper-plugin-utils": "^7.24.7",
+ "@babel/helper-validator-identifier": "^7.24.7"
}
},
"@babel/plugin-transform-modules-umd": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz",
- "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.7.tgz",
+ "integrity": "sha512-3aytQvqJ/h9z4g8AsKPLvD4Zqi2qT+L3j7XoFFu1XBlZWEl2/1kWnhmAbxpLgPrHSY0M6UA02jyTiwUVtiKR6A==",
"requires": {
- "@babel/helper-module-transforms": "^7.18.6",
- "@babel/helper-plugin-utils": "^7.18.6"
+ "@babel/helper-module-transforms": "^7.24.7",
+ "@babel/helper-plugin-utils": "^7.24.7"
}
},
"@babel/plugin-transform-named-capturing-groups-regex": {
- "version": "7.19.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.19.1.tgz",
- "integrity": "sha512-oWk9l9WItWBQYS4FgXD4Uyy5kq898lvkXpXQxoJEY1RnvPk4R/Dvu2ebXU9q8lP+rlMwUQTFf2Ok6d78ODa0kw==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.24.7.tgz",
+ "integrity": "sha512-/jr7h/EWeJtk1U/uz2jlsCioHkZk1JJZVcc8oQsJ1dUlaJD83f4/6Zeh2aHt9BIFokHIsSeDfhUmju0+1GPd6g==",
"requires": {
- "@babel/helper-create-regexp-features-plugin": "^7.19.0",
- "@babel/helper-plugin-utils": "^7.19.0"
+ "@babel/helper-create-regexp-features-plugin": "^7.24.7",
+ "@babel/helper-plugin-utils": "^7.24.7"
}
},
"@babel/plugin-transform-new-target": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz",
- "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.7.tgz",
+ "integrity": "sha512-RNKwfRIXg4Ls/8mMTza5oPF5RkOW8Wy/WgMAp1/F1yZ8mMbtwXW+HDoJiOsagWrAhI5f57Vncrmr9XeT4CVapA==",
"requires": {
- "@babel/helper-plugin-utils": "^7.18.6"
+ "@babel/helper-plugin-utils": "^7.24.7"
+ }
+ },
+ "@babel/plugin-transform-nullish-coalescing-operator": {
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.7.tgz",
+ "integrity": "sha512-Ts7xQVk1OEocqzm8rHMXHlxvsfZ0cEF2yomUqpKENHWMF4zKk175Y4q8H5knJes6PgYad50uuRmt3UJuhBw8pQ==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.24.7",
+ "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3"
+ }
+ },
+ "@babel/plugin-transform-numeric-separator": {
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.7.tgz",
+ "integrity": "sha512-e6q1TiVUzvH9KRvicuxdBTUj4AdKSRwzIyFFnfnezpCfP2/7Qmbb8qbU2j7GODbl4JMkblitCQjKYUaX/qkkwA==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.24.7",
+ "@babel/plugin-syntax-numeric-separator": "^7.10.4"
+ }
+ },
+ "@babel/plugin-transform-object-rest-spread": {
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.7.tgz",
+ "integrity": "sha512-4QrHAr0aXQCEFni2q4DqKLD31n2DL+RxcwnNjDFkSG0eNQ/xCavnRkfCUjsyqGC2OviNJvZOF/mQqZBw7i2C5Q==",
+ "requires": {
+ "@babel/helper-compilation-targets": "^7.24.7",
+ "@babel/helper-plugin-utils": "^7.24.7",
+ "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
+ "@babel/plugin-transform-parameters": "^7.24.7"
}
},
"@babel/plugin-transform-object-super": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz",
- "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.7.tgz",
+ "integrity": "sha512-A/vVLwN6lBrMFmMDmPPz0jnE6ZGx7Jq7d6sT/Ev4H65RER6pZ+kczlf1DthF5N0qaPHBsI7UXiE8Zy66nmAovg==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.24.7",
+ "@babel/helper-replace-supers": "^7.24.7"
+ }
+ },
+ "@babel/plugin-transform-optional-catch-binding": {
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.7.tgz",
+ "integrity": "sha512-uLEndKqP5BfBbC/5jTwPxLh9kqPWWgzN/f8w6UwAIirAEqiIVJWWY312X72Eub09g5KF9+Zn7+hT7sDxmhRuKA==",
"requires": {
- "@babel/helper-plugin-utils": "^7.18.6",
- "@babel/helper-replace-supers": "^7.18.6"
+ "@babel/helper-plugin-utils": "^7.24.7",
+ "@babel/plugin-syntax-optional-catch-binding": "^7.8.3"
+ }
+ },
+ "@babel/plugin-transform-optional-chaining": {
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.7.tgz",
+ "integrity": "sha512-tK+0N9yd4j+x/4hxF3F0e0fu/VdcxU18y5SevtyM/PCFlQvXbR0Zmlo2eBrKtVipGNFzpq56o8WsIIKcJFUCRQ==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.24.7",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7",
+ "@babel/plugin-syntax-optional-chaining": "^7.8.3"
}
},
"@babel/plugin-transform-parameters": {
- "version": "7.20.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.1.tgz",
- "integrity": "sha512-nDvKLrAvl+kf6BOy1UJ3MGwzzfTMgppxwiD2Jb4LO3xjYyZq30oQzDNJbCQpMdG9+j2IXHoiMrw5Cm/L6ZoxXQ==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.7.tgz",
+ "integrity": "sha512-yGWW5Rr+sQOhK0Ot8hjDJuxU3XLRQGflvT4lhlSY0DFvdb3TwKaY26CJzHtYllU0vT9j58hc37ndFPsqT1SrzA==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.24.7"
+ }
+ },
+ "@babel/plugin-transform-private-methods": {
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.24.7.tgz",
+ "integrity": "sha512-COTCOkG2hn4JKGEKBADkA8WNb35TGkkRbI5iT845dB+NyqgO8Hn+ajPbSnIQznneJTa3d30scb6iz/DhH8GsJQ==",
"requires": {
- "@babel/helper-plugin-utils": "^7.19.0"
+ "@babel/helper-create-class-features-plugin": "^7.24.7",
+ "@babel/helper-plugin-utils": "^7.24.7"
+ }
+ },
+ "@babel/plugin-transform-private-property-in-object": {
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.7.tgz",
+ "integrity": "sha512-9z76mxwnwFxMyxZWEgdgECQglF2Q7cFLm0kMf8pGwt+GSJsY0cONKj/UuO4bOH0w/uAel3ekS4ra5CEAyJRmDA==",
+ "requires": {
+ "@babel/helper-annotate-as-pure": "^7.24.7",
+ "@babel/helper-create-class-features-plugin": "^7.24.7",
+ "@babel/helper-plugin-utils": "^7.24.7",
+ "@babel/plugin-syntax-private-property-in-object": "^7.14.5"
}
},
"@babel/plugin-transform-property-literals": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz",
- "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.7.tgz",
+ "integrity": "sha512-EMi4MLQSHfd2nrCqQEWxFdha2gBCqU4ZcCng4WBGZ5CJL4bBRW0ptdqqDdeirGZcpALazVVNJqRmsO8/+oNCBA==",
"requires": {
- "@babel/helper-plugin-utils": "^7.18.6"
+ "@babel/helper-plugin-utils": "^7.24.7"
}
},
"@babel/plugin-transform-regenerator": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.6.tgz",
- "integrity": "sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.7.tgz",
+ "integrity": "sha512-lq3fvXPdimDrlg6LWBoqj+r/DEWgONuwjuOuQCSYgRroXDH/IdM1C0IZf59fL5cHLpjEH/O6opIRBbqv7ELnuA==",
"requires": {
- "@babel/helper-plugin-utils": "^7.18.6",
- "regenerator-transform": "^0.15.0"
+ "@babel/helper-plugin-utils": "^7.24.7",
+ "regenerator-transform": "^0.15.2"
}
},
"@babel/plugin-transform-reserved-words": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz",
- "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.7.tgz",
+ "integrity": "sha512-0DUq0pHcPKbjFZCfTss/pGkYMfy3vFWydkUBd9r0GHpIyfs2eCDENvqadMycRS9wZCXR41wucAfJHJmwA0UmoQ==",
"requires": {
- "@babel/helper-plugin-utils": "^7.18.6"
+ "@babel/helper-plugin-utils": "^7.24.7"
}
},
"@babel/plugin-transform-runtime": {
- "version": "7.19.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.19.6.tgz",
- "integrity": "sha512-PRH37lz4JU156lYFW1p8OxE5i7d6Sl/zV58ooyr+q1J1lnQPyg5tIiXlIwNVhJaY4W3TmOtdc8jqdXQcB1v5Yw==",
- "requires": {
- "@babel/helper-module-imports": "^7.18.6",
- "@babel/helper-plugin-utils": "^7.19.0",
- "babel-plugin-polyfill-corejs2": "^0.3.3",
- "babel-plugin-polyfill-corejs3": "^0.6.0",
- "babel-plugin-polyfill-regenerator": "^0.4.1",
- "semver": "^6.3.0"
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.24.7.tgz",
+ "integrity": "sha512-YqXjrk4C+a1kZjewqt+Mmu2UuV1s07y8kqcUf4qYLnoqemhR4gRQikhdAhSVJioMjVTu6Mo6pAbaypEA3jY6fw==",
+ "requires": {
+ "@babel/helper-module-imports": "^7.24.7",
+ "@babel/helper-plugin-utils": "^7.24.7",
+ "babel-plugin-polyfill-corejs2": "^0.4.10",
+ "babel-plugin-polyfill-corejs3": "^0.10.1",
+ "babel-plugin-polyfill-regenerator": "^0.6.1",
+ "semver": "^6.3.1"
}
},
"@babel/plugin-transform-shorthand-properties": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz",
- "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.7.tgz",
+ "integrity": "sha512-KsDsevZMDsigzbA09+vacnLpmPH4aWjcZjXdyFKGzpplxhbeB4wYtury3vglQkg6KM/xEPKt73eCjPPf1PgXBA==",
"requires": {
- "@babel/helper-plugin-utils": "^7.18.6"
+ "@babel/helper-plugin-utils": "^7.24.7"
}
},
"@babel/plugin-transform-spread": {
- "version": "7.19.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.19.0.tgz",
- "integrity": "sha512-RsuMk7j6n+r752EtzyScnWkQyuJdli6LdO5Klv8Yx0OfPVTcQkIUfS8clx5e9yHXzlnhOZF3CbQ8C2uP5j074w==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.7.tgz",
+ "integrity": "sha512-x96oO0I09dgMDxJaANcRyD4ellXFLLiWhuwDxKZX5g2rWP1bTPkBSwCYv96VDXVT1bD9aPj8tppr5ITIh8hBng==",
"requires": {
- "@babel/helper-plugin-utils": "^7.19.0",
- "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9"
+ "@babel/helper-plugin-utils": "^7.24.7",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7"
}
},
"@babel/plugin-transform-sticky-regex": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz",
- "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.7.tgz",
+ "integrity": "sha512-kHPSIJc9v24zEml5geKg9Mjx5ULpfncj0wRpYtxbvKyTtHCYDkVE3aHQ03FrpEo4gEe2vrJJS1Y9CJTaThA52g==",
"requires": {
- "@babel/helper-plugin-utils": "^7.18.6"
+ "@babel/helper-plugin-utils": "^7.24.7"
}
},
"@babel/plugin-transform-template-literals": {
- "version": "7.18.9",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz",
- "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.7.tgz",
+ "integrity": "sha512-AfDTQmClklHCOLxtGoP7HkeMw56k1/bTQjwsfhL6pppo/M4TOBSq+jjBUBLmV/4oeFg4GWMavIl44ZeCtmmZTw==",
"requires": {
- "@babel/helper-plugin-utils": "^7.18.9"
+ "@babel/helper-plugin-utils": "^7.24.7"
}
},
"@babel/plugin-transform-typeof-symbol": {
- "version": "7.18.9",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz",
- "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.7.tgz",
+ "integrity": "sha512-VtR8hDy7YLB7+Pet9IarXjg/zgCMSF+1mNS/EQEiEaUPoFXCVsHG64SIxcaaI2zJgRiv+YmgaQESUfWAdbjzgg==",
"requires": {
- "@babel/helper-plugin-utils": "^7.18.9"
+ "@babel/helper-plugin-utils": "^7.24.7"
}
},
"@babel/plugin-transform-unicode-escapes": {
- "version": "7.18.10",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz",
- "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.7.tgz",
+ "integrity": "sha512-U3ap1gm5+4edc2Q/P+9VrBNhGkfnf+8ZqppY71Bo/pzZmXhhLdqgaUl6cuB07O1+AQJtCLfaOmswiNbSQ9ivhw==",
"requires": {
- "@babel/helper-plugin-utils": "^7.18.9"
+ "@babel/helper-plugin-utils": "^7.24.7"
+ }
+ },
+ "@babel/plugin-transform-unicode-property-regex": {
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.7.tgz",
+ "integrity": "sha512-uH2O4OV5M9FZYQrwc7NdVmMxQJOCCzFeYudlZSzUAHRFeOujQefa92E74TQDVskNHCzOXoigEuoyzHDhaEaK5w==",
+ "requires": {
+ "@babel/helper-create-regexp-features-plugin": "^7.24.7",
+ "@babel/helper-plugin-utils": "^7.24.7"
}
},
"@babel/plugin-transform-unicode-regex": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz",
- "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.7.tgz",
+ "integrity": "sha512-hlQ96MBZSAXUq7ltkjtu3FJCCSMx/j629ns3hA3pXnBXjanNP0LHi+JpPeA81zaWgVK1VGH95Xuy7u0RyQ8kMg==",
"requires": {
- "@babel/helper-create-regexp-features-plugin": "^7.18.6",
- "@babel/helper-plugin-utils": "^7.18.6"
+ "@babel/helper-create-regexp-features-plugin": "^7.24.7",
+ "@babel/helper-plugin-utils": "^7.24.7"
+ }
+ },
+ "@babel/plugin-transform-unicode-sets-regex": {
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.7.tgz",
+ "integrity": "sha512-2G8aAvF4wy1w/AGZkemprdGMRg5o6zPNhbHVImRz3lss55TYCBd6xStN19rt8XJHq20sqV0JbyWjOWwQRwV/wg==",
+ "requires": {
+ "@babel/helper-create-regexp-features-plugin": "^7.24.7",
+ "@babel/helper-plugin-utils": "^7.24.7"
}
},
"@babel/preset-env": {
- "version": "7.19.4",
- "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.19.4.tgz",
- "integrity": "sha512-5QVOTXUdqTCjQuh2GGtdd7YEhoRXBMVGROAtsBeLGIbIz3obCBIfRMT1I3ZKkMgNzwkyCkftDXSSkHxnfVf4qg==",
- "requires": {
- "@babel/compat-data": "^7.19.4",
- "@babel/helper-compilation-targets": "^7.19.3",
- "@babel/helper-plugin-utils": "^7.19.0",
- "@babel/helper-validator-option": "^7.18.6",
- "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6",
- "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9",
- "@babel/plugin-proposal-async-generator-functions": "^7.19.1",
- "@babel/plugin-proposal-class-properties": "^7.18.6",
- "@babel/plugin-proposal-class-static-block": "^7.18.6",
- "@babel/plugin-proposal-dynamic-import": "^7.18.6",
- "@babel/plugin-proposal-export-namespace-from": "^7.18.9",
- "@babel/plugin-proposal-json-strings": "^7.18.6",
- "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9",
- "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6",
- "@babel/plugin-proposal-numeric-separator": "^7.18.6",
- "@babel/plugin-proposal-object-rest-spread": "^7.19.4",
- "@babel/plugin-proposal-optional-catch-binding": "^7.18.6",
- "@babel/plugin-proposal-optional-chaining": "^7.18.9",
- "@babel/plugin-proposal-private-methods": "^7.18.6",
- "@babel/plugin-proposal-private-property-in-object": "^7.18.6",
- "@babel/plugin-proposal-unicode-property-regex": "^7.18.6",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.24.7.tgz",
+ "integrity": "sha512-1YZNsc+y6cTvWlDHidMBsQZrZfEFjRIo/BZCT906PMdzOyXtSLTgqGdrpcuTDCXyd11Am5uQULtDIcCfnTc8fQ==",
+ "requires": {
+ "@babel/compat-data": "^7.24.7",
+ "@babel/helper-compilation-targets": "^7.24.7",
+ "@babel/helper-plugin-utils": "^7.24.7",
+ "@babel/helper-validator-option": "^7.24.7",
+ "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.24.7",
+ "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.24.7",
+ "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.24.7",
+ "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.24.7",
+ "@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.18.6",
+ "@babel/plugin-syntax-import-assertions": "^7.24.7",
+ "@babel/plugin-syntax-import-attributes": "^7.24.7",
+ "@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",
@@ -30317,101 +32288,120 @@
"@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-transform-arrow-functions": "^7.18.6",
- "@babel/plugin-transform-async-to-generator": "^7.18.6",
- "@babel/plugin-transform-block-scoped-functions": "^7.18.6",
- "@babel/plugin-transform-block-scoping": "^7.19.4",
- "@babel/plugin-transform-classes": "^7.19.0",
- "@babel/plugin-transform-computed-properties": "^7.18.9",
- "@babel/plugin-transform-destructuring": "^7.19.4",
- "@babel/plugin-transform-dotall-regex": "^7.18.6",
- "@babel/plugin-transform-duplicate-keys": "^7.18.9",
- "@babel/plugin-transform-exponentiation-operator": "^7.18.6",
- "@babel/plugin-transform-for-of": "^7.18.8",
- "@babel/plugin-transform-function-name": "^7.18.9",
- "@babel/plugin-transform-literals": "^7.18.9",
- "@babel/plugin-transform-member-expression-literals": "^7.18.6",
- "@babel/plugin-transform-modules-amd": "^7.18.6",
- "@babel/plugin-transform-modules-commonjs": "^7.18.6",
- "@babel/plugin-transform-modules-systemjs": "^7.19.0",
- "@babel/plugin-transform-modules-umd": "^7.18.6",
- "@babel/plugin-transform-named-capturing-groups-regex": "^7.19.1",
- "@babel/plugin-transform-new-target": "^7.18.6",
- "@babel/plugin-transform-object-super": "^7.18.6",
- "@babel/plugin-transform-parameters": "^7.18.8",
- "@babel/plugin-transform-property-literals": "^7.18.6",
- "@babel/plugin-transform-regenerator": "^7.18.6",
- "@babel/plugin-transform-reserved-words": "^7.18.6",
- "@babel/plugin-transform-shorthand-properties": "^7.18.6",
- "@babel/plugin-transform-spread": "^7.19.0",
- "@babel/plugin-transform-sticky-regex": "^7.18.6",
- "@babel/plugin-transform-template-literals": "^7.18.9",
- "@babel/plugin-transform-typeof-symbol": "^7.18.9",
- "@babel/plugin-transform-unicode-escapes": "^7.18.10",
- "@babel/plugin-transform-unicode-regex": "^7.18.6",
- "@babel/preset-modules": "^0.1.5",
- "@babel/types": "^7.19.4",
- "babel-plugin-polyfill-corejs2": "^0.3.3",
- "babel-plugin-polyfill-corejs3": "^0.6.0",
- "babel-plugin-polyfill-regenerator": "^0.4.1",
- "core-js-compat": "^3.25.1",
- "semver": "^6.3.0"
+ "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6",
+ "@babel/plugin-transform-arrow-functions": "^7.24.7",
+ "@babel/plugin-transform-async-generator-functions": "^7.24.7",
+ "@babel/plugin-transform-async-to-generator": "^7.24.7",
+ "@babel/plugin-transform-block-scoped-functions": "^7.24.7",
+ "@babel/plugin-transform-block-scoping": "^7.24.7",
+ "@babel/plugin-transform-class-properties": "^7.24.7",
+ "@babel/plugin-transform-class-static-block": "^7.24.7",
+ "@babel/plugin-transform-classes": "^7.24.7",
+ "@babel/plugin-transform-computed-properties": "^7.24.7",
+ "@babel/plugin-transform-destructuring": "^7.24.7",
+ "@babel/plugin-transform-dotall-regex": "^7.24.7",
+ "@babel/plugin-transform-duplicate-keys": "^7.24.7",
+ "@babel/plugin-transform-dynamic-import": "^7.24.7",
+ "@babel/plugin-transform-exponentiation-operator": "^7.24.7",
+ "@babel/plugin-transform-export-namespace-from": "^7.24.7",
+ "@babel/plugin-transform-for-of": "^7.24.7",
+ "@babel/plugin-transform-function-name": "^7.24.7",
+ "@babel/plugin-transform-json-strings": "^7.24.7",
+ "@babel/plugin-transform-literals": "^7.24.7",
+ "@babel/plugin-transform-logical-assignment-operators": "^7.24.7",
+ "@babel/plugin-transform-member-expression-literals": "^7.24.7",
+ "@babel/plugin-transform-modules-amd": "^7.24.7",
+ "@babel/plugin-transform-modules-commonjs": "^7.24.7",
+ "@babel/plugin-transform-modules-systemjs": "^7.24.7",
+ "@babel/plugin-transform-modules-umd": "^7.24.7",
+ "@babel/plugin-transform-named-capturing-groups-regex": "^7.24.7",
+ "@babel/plugin-transform-new-target": "^7.24.7",
+ "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.7",
+ "@babel/plugin-transform-numeric-separator": "^7.24.7",
+ "@babel/plugin-transform-object-rest-spread": "^7.24.7",
+ "@babel/plugin-transform-object-super": "^7.24.7",
+ "@babel/plugin-transform-optional-catch-binding": "^7.24.7",
+ "@babel/plugin-transform-optional-chaining": "^7.24.7",
+ "@babel/plugin-transform-parameters": "^7.24.7",
+ "@babel/plugin-transform-private-methods": "^7.24.7",
+ "@babel/plugin-transform-private-property-in-object": "^7.24.7",
+ "@babel/plugin-transform-property-literals": "^7.24.7",
+ "@babel/plugin-transform-regenerator": "^7.24.7",
+ "@babel/plugin-transform-reserved-words": "^7.24.7",
+ "@babel/plugin-transform-shorthand-properties": "^7.24.7",
+ "@babel/plugin-transform-spread": "^7.24.7",
+ "@babel/plugin-transform-sticky-regex": "^7.24.7",
+ "@babel/plugin-transform-template-literals": "^7.24.7",
+ "@babel/plugin-transform-typeof-symbol": "^7.24.7",
+ "@babel/plugin-transform-unicode-escapes": "^7.24.7",
+ "@babel/plugin-transform-unicode-property-regex": "^7.24.7",
+ "@babel/plugin-transform-unicode-regex": "^7.24.7",
+ "@babel/plugin-transform-unicode-sets-regex": "^7.24.7",
+ "@babel/preset-modules": "0.1.6-no-external-plugins",
+ "babel-plugin-polyfill-corejs2": "^0.4.10",
+ "babel-plugin-polyfill-corejs3": "^0.10.4",
+ "babel-plugin-polyfill-regenerator": "^0.6.1",
+ "core-js-compat": "^3.31.0",
+ "semver": "^6.3.1"
}
},
"@babel/preset-modules": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz",
- "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==",
+ "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==",
"requires": {
"@babel/helper-plugin-utils": "^7.0.0",
- "@babel/plugin-proposal-unicode-property-regex": "^7.4.4",
- "@babel/plugin-transform-dotall-regex": "^7.4.4",
"@babel/types": "^7.4.4",
"esutils": "^2.0.2"
}
},
+ "@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=="
+ },
"@babel/runtime": {
- "version": "7.20.1",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.1.tgz",
- "integrity": "sha512-mrzLkl6U9YLF8qpqI7TB82PESyEGjm/0Ly91jG575eVxMMlb8fYfOXFZIJ8XfLrJZQbm7dlKry2bJmXBUEkdFg==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.7.tgz",
+ "integrity": "sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==",
"requires": {
- "regenerator-runtime": "^0.13.10"
+ "regenerator-runtime": "^0.14.0"
}
},
"@babel/template": {
- "version": "7.22.15",
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz",
- "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.7.tgz",
+ "integrity": "sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==",
"requires": {
- "@babel/code-frame": "^7.22.13",
- "@babel/parser": "^7.22.15",
- "@babel/types": "^7.22.15"
+ "@babel/code-frame": "^7.24.7",
+ "@babel/parser": "^7.24.7",
+ "@babel/types": "^7.24.7"
}
},
"@babel/traverse": {
- "version": "7.23.2",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz",
- "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==",
- "requires": {
- "@babel/code-frame": "^7.22.13",
- "@babel/generator": "^7.23.0",
- "@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.0",
- "@babel/types": "^7.23.0",
- "debug": "^4.1.0",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.7.tgz",
+ "integrity": "sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==",
+ "requires": {
+ "@babel/code-frame": "^7.24.7",
+ "@babel/generator": "^7.24.7",
+ "@babel/helper-environment-visitor": "^7.24.7",
+ "@babel/helper-function-name": "^7.24.7",
+ "@babel/helper-hoist-variables": "^7.24.7",
+ "@babel/helper-split-export-declaration": "^7.24.7",
+ "@babel/parser": "^7.24.7",
+ "@babel/types": "^7.24.7",
+ "debug": "^4.3.1",
"globals": "^11.1.0"
}
},
"@babel/types": {
- "version": "7.23.0",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz",
- "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.7.tgz",
+ "integrity": "sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==",
"requires": {
- "@babel/helper-string-parser": "^7.22.5",
- "@babel/helper-validator-identifier": "^7.22.20",
+ "@babel/helper-string-parser": "^7.24.7",
+ "@babel/helper-validator-identifier": "^7.24.7",
"to-fast-properties": "^2.0.0"
}
},
@@ -30421,6 +32411,12 @@
"integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==",
"dev": true
},
+ "@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==",
+ "dev": true
+ },
"@es-joy/jsdoccomment": {
"version": "0.22.2",
"resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.22.2.tgz",
@@ -30462,9 +32458,9 @@
}
},
"globals": {
- "version": "13.17.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz",
- "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==",
+ "version": "13.24.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz",
+ "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==",
"dev": true,
"requires": {
"type-fest": "^0.20.2"
@@ -30623,12 +32619,6 @@
"wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0"
},
"dependencies": {
- "ansi-regex": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz",
- "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==",
- "dev": true
- },
"ansi-styles": {
"version": "6.2.1",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz",
@@ -30652,15 +32642,6 @@
"strip-ansi": "^7.0.1"
}
},
- "strip-ansi": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
- "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
- "dev": true,
- "requires": {
- "ansi-regex": "^6.0.1"
- }
- },
"wrap-ansi": {
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz",
@@ -30777,68 +32758,56 @@
}
},
"@jridgewell/gen-mapping": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz",
- "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==",
+ "version": "0.3.5",
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz",
+ "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==",
"requires": {
- "@jridgewell/set-array": "^1.0.0",
- "@jridgewell/sourcemap-codec": "^1.4.10"
+ "@jridgewell/set-array": "^1.2.1",
+ "@jridgewell/sourcemap-codec": "^1.4.10",
+ "@jridgewell/trace-mapping": "^0.3.24"
}
},
"@jridgewell/resolve-uri": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz",
- "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w=="
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
+ "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw=="
},
"@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=="
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz",
+ "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A=="
},
"@jridgewell/source-map": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz",
- "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==",
+ "version": "0.3.6",
+ "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz",
+ "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==",
"dev": true,
"requires": {
- "@jridgewell/gen-mapping": "^0.3.0",
- "@jridgewell/trace-mapping": "^0.3.9"
- },
- "dependencies": {
- "@jridgewell/gen-mapping": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz",
- "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==",
- "dev": true,
- "requires": {
- "@jridgewell/set-array": "^1.0.1",
- "@jridgewell/sourcemap-codec": "^1.4.10",
- "@jridgewell/trace-mapping": "^0.3.9"
- }
- }
+ "@jridgewell/gen-mapping": "^0.3.5",
+ "@jridgewell/trace-mapping": "^0.3.25"
}
},
"@jridgewell/sourcemap-codec": {
- "version": "1.4.14",
- "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz",
- "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw=="
+ "version": "1.4.15",
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
+ "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg=="
},
"@jridgewell/trace-mapping": {
- "version": "0.3.17",
- "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz",
- "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==",
+ "version": "0.3.25",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
+ "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
"requires": {
- "@jridgewell/resolve-uri": "3.1.0",
- "@jridgewell/sourcemap-codec": "1.4.14"
+ "@jridgewell/resolve-uri": "^3.1.0",
+ "@jridgewell/sourcemap-codec": "^1.4.14"
}
},
"@ljharb/through": {
- "version": "2.3.12",
- "resolved": "https://registry.npmjs.org/@ljharb/through/-/through-2.3.12.tgz",
- "integrity": "sha512-ajo/heTlG3QgC8EGP6APIejksVAYt4ayz4tqoP3MolFELzcH1x1fzwEYRJTPO0IELutZ5HQ0c26/GqAYy79u3g==",
+ "version": "2.3.13",
+ "resolved": "https://registry.npmjs.org/@ljharb/through/-/through-2.3.13.tgz",
+ "integrity": "sha512-/gKJun8NNiWGZJkGzI/Ragc53cOdcLNdzjLaIa+GEjguQs0ulsurx8WN0jijdK9yPqDvziX995sMRLyLt1uZMQ==",
"dev": true,
"requires": {
- "call-bind": "^1.0.5"
+ "call-bind": "^1.0.7"
}
},
"@nicolo-ribaudo/eslint-scope-5-internals": {
@@ -30857,39 +32826,28 @@
"dev": true
},
"@percy/appium-app": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/@percy/appium-app/-/appium-app-2.0.3.tgz",
- "integrity": "sha512-6INeUJSyK2LzWV4Cc9bszNqKr3/NLcjFelUC2grjPnm6+jLA29inBF4ZE3PeTfLeCSw/0jyCGWV5fr9AyxtzCA==",
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/@percy/appium-app/-/appium-app-2.0.6.tgz",
+ "integrity": "sha512-0NT8xgaq4UOhcqVc4H3D440M7H5Zko8mDpY5j30TRpjOQ3ctLPJalmUVKOCFv4rSzjd2LmyE2F9KXTPA3zqQsw==",
"dev": true,
"requires": {
- "@percy/sdk-utils": "^1.27.0-beta.0",
+ "@percy/sdk-utils": "^1.28.2",
"tmp": "^0.2.1"
- },
- "dependencies": {
- "tmp": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz",
- "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==",
- "dev": true,
- "requires": {
- "rimraf": "^3.0.0"
- }
- }
}
},
"@percy/sdk-utils": {
- "version": "1.27.7",
- "resolved": "https://registry.npmjs.org/@percy/sdk-utils/-/sdk-utils-1.27.7.tgz",
- "integrity": "sha512-E21dIEQ9wwGDno41FdMDYf6jJow5scbWGClqKE/ptB+950W4UF5C4hxhVVQoEJxDdLE/Gy/8ZJR7upvPHShWDg==",
+ "version": "1.28.7",
+ "resolved": "https://registry.npmjs.org/@percy/sdk-utils/-/sdk-utils-1.28.7.tgz",
+ "integrity": "sha512-LIhfHnkcS0fyIdo3gvKn7rwodZjbEtyLkgiDRSRulcBOatI2mhn2Bh269sXXiiFTyAW2BDQjyE3DWc4hkGbsbQ==",
"dev": true
},
"@percy/selenium-webdriver": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/@percy/selenium-webdriver/-/selenium-webdriver-2.0.3.tgz",
- "integrity": "sha512-JfLJVRkwNfqVofe7iGKtoQbOcKSSj9t4pWFbSUk95JfwAA7b9/c+dlBsxgIRrdrMYzLRjnJkYAFSZkJ4F4A19A==",
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/@percy/selenium-webdriver/-/selenium-webdriver-2.0.5.tgz",
+ "integrity": "sha512-bNj52xQm02dY872loFa+8OwyuGcdYHYvCKflmSEsF9EDRiSDj0Wr+XP+DDIgDAl9xXschA7OOdXCLTWV4zEQWA==",
"dev": true,
"requires": {
- "@percy/sdk-utils": "^1.27.2",
+ "@percy/sdk-utils": "^1.28.0",
"node-request-interceptor": "^0.6.3"
}
},
@@ -30901,11 +32859,22 @@
"optional": true
},
"@polka/url": {
- "version": "1.0.0-next.21",
- "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.21.tgz",
- "integrity": "sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==",
+ "version": "1.0.0-next.25",
+ "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.25.tgz",
+ "integrity": "sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==",
"dev": true
},
+ "@promptbook/utils": {
+ "version": "0.50.0-10",
+ "resolved": "https://registry.npmjs.org/@promptbook/utils/-/utils-0.50.0-10.tgz",
+ "integrity": "sha512-Z94YoY/wcZb5m1QoXgmIC1rVeDguGK5bWmUTYdWCqh/LHVifRdJ1C+tBzS0h+HMOD0XzMjZhBQ/mBgTZ/QNW/g==",
+ "dev": true,
+ "requires": {
+ "moment": "2.30.1",
+ "prettier": "2.8.1",
+ "spacetrim": "0.11.25"
+ }
+ },
"@puppeteer/browsers": {
"version": "1.9.1",
"resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-1.9.1.tgz",
@@ -30921,26 +32890,13 @@
"yargs": "17.7.2"
},
"dependencies": {
- "tar-fs": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.4.tgz",
- "integrity": "sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w==",
- "dev": true,
- "requires": {
- "mkdirp-classic": "^0.5.2",
- "pump": "^3.0.0",
- "tar-stream": "^3.1.5"
- }
- },
- "tar-stream": {
- "version": "3.1.7",
- "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz",
- "integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==",
+ "debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
"dev": true,
"requires": {
- "b4a": "^1.6.4",
- "fast-fifo": "^1.2.0",
- "streamx": "^2.15.0"
+ "ms": "2.1.2"
}
},
"yargs": {
@@ -30967,15 +32923,15 @@
"dev": true
},
"@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==",
+ "version": "5.6.0",
+ "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-5.6.0.tgz",
+ "integrity": "sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==",
"dev": true
},
"@sinonjs/commons": {
- "version": "1.8.3",
- "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz",
- "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==",
+ "version": "1.8.6",
+ "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz",
+ "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==",
"dev": true,
"requires": {
"type-detect": "4.0.8"
@@ -31008,18 +32964,18 @@
"dev": true
},
"@socket.io/component-emitter": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz",
- "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==",
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz",
+ "integrity": "sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==",
"dev": true
},
"@szmarczak/http-timer": {
- "version": "4.0.6",
- "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz",
- "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==",
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-5.0.1.tgz",
+ "integrity": "sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==",
"dev": true,
"requires": {
- "defer-to-connect": "^2.0.0"
+ "defer-to-connect": "^2.0.1"
}
},
"@tootallnate/once": {
@@ -31037,21 +32993,21 @@
"dev": true
},
"@types/aria-query": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.1.tgz",
- "integrity": "sha512-XTIieEY+gvJ39ChLcB4If5zHtPxt3Syj5rgZR+e1ctpmK8NjPf0zFqsz4JpLJT0xla9GFDKjy8Cpu331nrmE1Q==",
+ "version": "5.0.4",
+ "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz",
+ "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==",
"dev": true
},
"@types/cacheable-request": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.2.tgz",
- "integrity": "sha512-B3xVo+dlKM6nnKTcmm5ZtY/OL8bOAOd2Olee9M1zft65ox50OzjEHW91sDiU9j6cvW8Ejg1/Qkf4xd2kugApUA==",
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.3.tgz",
+ "integrity": "sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==",
"dev": true,
"requires": {
"@types/http-cache-semantics": "*",
- "@types/keyv": "*",
+ "@types/keyv": "^3.1.4",
"@types/node": "*",
- "@types/responselike": "*"
+ "@types/responselike": "^1.0.0"
}
},
"@types/cookie": {
@@ -31061,27 +33017,27 @@
"dev": true
},
"@types/cors": {
- "version": "2.8.13",
- "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.13.tgz",
- "integrity": "sha512-RG8AStHlUiV5ysZQKq97copd2UmVYw3/pRMLefISZ3S1hK104Cwm7iLQ3fTKx+lsUH2CE8FlLaYeEA2LSeqYUA==",
+ "version": "2.8.17",
+ "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.17.tgz",
+ "integrity": "sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA==",
"dev": true,
"requires": {
"@types/node": "*"
}
},
"@types/debug": {
- "version": "4.1.7",
- "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.7.tgz",
- "integrity": "sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==",
+ "version": "4.1.12",
+ "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz",
+ "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==",
"dev": true,
"requires": {
"@types/ms": "*"
}
},
"@types/eslint": {
- "version": "8.4.9",
- "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.9.tgz",
- "integrity": "sha512-jFCSo4wJzlHQLCpceUhUnXdrPuCNOjGFMQ8Eg6JXxlz3QaCKOb7eGi2cephQdM4XTYsNej69P9JDJ1zqNIbncQ==",
+ "version": "8.56.10",
+ "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.10.tgz",
+ "integrity": "sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ==",
"dev": true,
"requires": {
"@types/estree": "*",
@@ -31089,9 +33045,9 @@
}
},
"@types/eslint-scope": {
- "version": "3.7.4",
- "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz",
- "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==",
+ "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==",
"dev": true,
"requires": {
"@types/eslint": "*",
@@ -31099,9 +33055,9 @@
}
},
"@types/estree": {
- "version": "0.0.51",
- "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz",
- "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==",
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz",
+ "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==",
"dev": true
},
"@types/expect": {
@@ -31111,9 +33067,9 @@
"dev": true
},
"@types/extend": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/@types/extend/-/extend-3.0.1.tgz",
- "integrity": "sha512-R1g/VyKFFI2HLC1QGAeTtCBWCo6n75l41OnsVYNbmKG+kempOESaodf6BeJyUM3Q0rKa/NQcTHbB2+66lNnxLw==",
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/@types/extend/-/extend-3.0.4.tgz",
+ "integrity": "sha512-ArMouDUTJEz1SQRpFsT2rIw7DeqICFv5aaVzLSIYMYQSLcwcGOfT3VyglQs/p7K3F7fT4zxr0NWxYZIdifD6dA==",
"dev": true
},
"@types/gitconfiglocal": {
@@ -31122,19 +33078,23 @@
"integrity": "sha512-W6hyZux6TrtKfF2I9XNLVcsFr4xRr0T+S6hrJ9nDkhA2vzsFPIEAbnY4vgb6v2yKXQ9MJVcbLsARNlMfg4EVtQ==",
"dev": true
},
- "@types/github-slugger": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/@types/github-slugger/-/github-slugger-1.3.0.tgz",
- "integrity": "sha512-J/rMZa7RqiH/rT29TEVZO4nBoDP9XJOjnbbIofg7GQKs4JIduEO3WLpte+6WeUz/TcrXKlY+bM7FYrp8yFB+3g==",
- "dev": true
+ "@types/glob": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/@types/glob/-/glob-8.1.0.tgz",
+ "integrity": "sha512-IO+MJPVhoqz+28h1qLAcBEH2+xHMK6MTyHJc7MTnnYb6wsoLR29POVGJ7LycmVXIqyy/4/2ShP5sUwTXuOwb/w==",
+ "dev": true,
+ "requires": {
+ "@types/minimatch": "^5.1.2",
+ "@types/node": "*"
+ }
},
"@types/hast": {
- "version": "2.3.4",
- "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.4.tgz",
- "integrity": "sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g==",
+ "version": "2.3.10",
+ "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.10.tgz",
+ "integrity": "sha512-McWspRw8xx8J9HurkVBfYj0xKoE25tOFlHGdx4MJ5xORQrMGZNqJhVQWaIbm6Oyla5kYOXtDiopzKRJzEOkwJw==",
"dev": true,
"requires": {
- "@types/unist": "*"
+ "@types/unist": "^2"
}
},
"@types/http-cache-semantics": {
@@ -31168,9 +33128,9 @@
}
},
"@types/json-schema": {
- "version": "7.0.11",
- "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz",
- "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==",
+ "version": "7.0.15",
+ "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz",
+ "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==",
"dev": true
},
"@types/json5": {
@@ -31180,23 +33140,29 @@
"dev": true
},
"@types/keyv": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-4.2.0.tgz",
- "integrity": "sha512-xoBtGl5R9jeKUhc8ZqeYaRDx04qqJ10yhhXYGmJ4Jr8qKpvMsDQQrNUvF/wUJ4klOtmJeJM+p2Xo3zp9uaC3tw==",
+ "version": "3.1.4",
+ "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz",
+ "integrity": "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==",
"dev": true,
"requires": {
- "keyv": "*"
+ "@types/node": "*"
}
},
"@types/mdast": {
- "version": "3.0.10",
- "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.10.tgz",
- "integrity": "sha512-W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA==",
+ "version": "3.0.15",
+ "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.15.tgz",
+ "integrity": "sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==",
"dev": true,
"requires": {
- "@types/unist": "*"
+ "@types/unist": "^2"
}
},
+ "@types/minimatch": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz",
+ "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==",
+ "dev": true
+ },
"@types/mocha": {
"version": "10.0.6",
"resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.6.tgz",
@@ -31204,30 +33170,36 @@
"dev": true
},
"@types/ms": {
- "version": "0.7.31",
- "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz",
- "integrity": "sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==",
+ "version": "0.7.34",
+ "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.34.tgz",
+ "integrity": "sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==",
"dev": true
},
"@types/node": {
- "version": "20.11.6",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.6.tgz",
- "integrity": "sha512-+EOokTnksGVgip2PbYbr3xnR7kZigh4LbybAfBAw5BpnQ+FqBYUsvCEjYd70IXKlbohQ64mzEYmMtlWUY8q//Q==",
+ "version": "20.14.2",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.2.tgz",
+ "integrity": "sha512-xyu6WAMVwv6AKFLB+e/7ySZVr/0zLCzOa7rSpq6jNwpqOrUbcACDWC+53d4n2QHOnDou0fbIsg8wZu/sxrnI4Q==",
"dev": true,
"requires": {
"undici-types": "~5.26.4"
}
},
"@types/normalize-package-data": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz",
- "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==",
+ "version": "2.4.4",
+ "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz",
+ "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==",
+ "dev": true
+ },
+ "@types/parse5": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/@types/parse5/-/parse5-6.0.3.tgz",
+ "integrity": "sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g==",
"dev": true
},
"@types/responselike": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz",
- "integrity": "sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.3.tgz",
+ "integrity": "sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==",
"dev": true,
"requires": {
"@types/node": "*"
@@ -31240,9 +33212,9 @@
"dev": true
},
"@types/supports-color": {
- "version": "8.1.1",
- "resolved": "https://registry.npmjs.org/@types/supports-color/-/supports-color-8.1.1.tgz",
- "integrity": "sha512-dPWnWsf+kzIG140B8z2w3fr5D03TLWbOAFQl45xUpI3vcizeXriNR5VYkWZ+WTMsUHqZ9Xlt3hrxGNANFyNQfw==",
+ "version": "8.1.3",
+ "resolved": "https://registry.npmjs.org/@types/supports-color/-/supports-color-8.1.3.tgz",
+ "integrity": "sha512-Hy6UMpxhE3j1tLpl27exp1XqHD7n8chAiNPzWfz16LPZoMMoSc4dzLl6w9qijkEb/r5O1ozdu1CWGA2L83ZeZg==",
"dev": true
},
"@types/triple-beam": {
@@ -31252,21 +33224,21 @@
"dev": true
},
"@types/ua-parser-js": {
- "version": "0.7.36",
- "resolved": "https://registry.npmjs.org/@types/ua-parser-js/-/ua-parser-js-0.7.36.tgz",
- "integrity": "sha512-N1rW+njavs70y2cApeIw1vLMYXRwfBy+7trgavGuuTfOd7j1Yh7QTRc/yqsPl6ncokt72ZXuxEU0PiCp9bSwNQ==",
+ "version": "0.7.39",
+ "resolved": "https://registry.npmjs.org/@types/ua-parser-js/-/ua-parser-js-0.7.39.tgz",
+ "integrity": "sha512-P/oDfpofrdtF5xw433SPALpdSchtJmY7nsJItf8h3KXqOslkbySh8zq4dSWXH2oTjRvJ5PczVEoCZPow6GicLg==",
"dev": true
},
"@types/unist": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.6.tgz",
- "integrity": "sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==",
+ "version": "2.0.10",
+ "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz",
+ "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==",
"dev": true
},
"@types/vinyl": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/@types/vinyl/-/vinyl-2.0.6.tgz",
- "integrity": "sha512-ayJ0iOCDNHnKpKTgBG6Q6JOnHTj9zFta+3j2b8Ejza0e4cvRyMn0ZoLEmbPrTHe5YYRlDYPvPWVdV4cTaRyH7g==",
+ "version": "2.0.12",
+ "resolved": "https://registry.npmjs.org/@types/vinyl/-/vinyl-2.0.12.tgz",
+ "integrity": "sha512-Sr2fYMBUVGYq8kj3UthXFAu5UN6ZW+rYr4NACjZQJvHvj+c8lYv0CahmZ2P/r7iUkN44gGUBwqxZkrKXYPb7cw==",
"dev": true,
"requires": {
"@types/expect": "^1.20.4",
@@ -31274,9 +33246,9 @@
}
},
"@types/which": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/@types/which/-/which-1.3.2.tgz",
- "integrity": "sha512-8oDqyLC7eD4HM307boe2QWKyuzdzWBj56xI/imSl2cpL+U3tCMaTAkMJ4ee5JBZ/FsOJlvRGeIShiZDAl1qERA==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/@types/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-113D3mDkZDjo+EeUEHCFy0qniNc1ZpecGiAU7WSo7YDoSzolZIQKpYFHrPpjkB2nuyahcKfrmLXeQlh7gqJYdw==",
"dev": true
},
"@types/ws": {
@@ -31304,9 +33276,9 @@
"dev": true
},
"@types/yauzl": {
- "version": "2.10.0",
- "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz",
- "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==",
+ "version": "2.10.3",
+ "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz",
+ "integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==",
"dev": true,
"optional": true,
"requires": {
@@ -31314,17 +33286,17 @@
}
},
"@videojs/http-streaming": {
- "version": "2.14.3",
- "resolved": "https://registry.npmjs.org/@videojs/http-streaming/-/http-streaming-2.14.3.tgz",
- "integrity": "sha512-2tFwxCaNbcEZzQugWf8EERwNMyNtspfHnvxRGRABQs09W/5SqmkWFuGWfUAm4wQKlXGfdPyAJ1338ASl459xAA==",
+ "version": "2.16.3",
+ "resolved": "https://registry.npmjs.org/@videojs/http-streaming/-/http-streaming-2.16.3.tgz",
+ "integrity": "sha512-91CJv5PnFBzNBvyEjt+9cPzTK/xoVixARj2g7ZAvItA+5bx8VKdk5RxCz/PP2kdzz9W+NiDUMPkdmTsosmy69Q==",
"dev": true,
"requires": {
"@babel/runtime": "^7.12.5",
"@videojs/vhs-utils": "3.0.5",
"aes-decrypter": "3.1.3",
"global": "^4.4.0",
- "m3u8-parser": "4.7.1",
- "mpd-parser": "0.21.1",
+ "m3u8-parser": "4.8.0",
+ "mpd-parser": "^0.22.1",
"mux.js": "6.0.1",
"video.js": "^6 || ^7"
}
@@ -31352,138 +33324,89 @@
}
},
"@vitest/snapshot": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.2.1.tgz",
- "integrity": "sha512-Tmp/IcYEemKaqAYCS08sh0vORLJkMr0NRV76Gl8sHGxXT5151cITJCET20063wk0Yr/1koQ6dnmP6eEqezmd/Q==",
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.6.0.tgz",
+ "integrity": "sha512-+Hx43f8Chus+DCmygqqfetcAZrDJwvTj0ymqjQq4CvmpKFSTVteEOBzCusu1x2tt4OJcvBflyHUE0DZSLgEMtQ==",
"dev": true,
"requires": {
"magic-string": "^0.30.5",
"pathe": "^1.1.1",
"pretty-format": "^29.7.0"
- },
- "dependencies": {
- "@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==",
- "dev": true
- },
- "magic-string": {
- "version": "0.30.5",
- "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.5.tgz",
- "integrity": "sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==",
- "dev": true,
- "requires": {
- "@jridgewell/sourcemap-codec": "^1.4.15"
- }
- }
}
},
"@vue/compiler-core": {
- "version": "3.2.41",
- "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.41.tgz",
- "integrity": "sha512-oA4mH6SA78DT+96/nsi4p9DX97PHcNROxs51lYk7gb9Z4BPKQ3Mh+BLn6CQZBw857Iuhu28BfMSRHAlPvD4vlw==",
+ "version": "3.4.27",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.27.tgz",
+ "integrity": "sha512-E+RyqY24KnyDXsCuQrI+mlcdW3ALND6U7Gqa/+bVwbcpcR3BRRIckFoz7Qyd4TTlnugtwuI7YgjbvsLmxb+yvg==",
"dev": true,
"optional": true,
"requires": {
- "@babel/parser": "^7.16.4",
- "@vue/shared": "3.2.41",
+ "@babel/parser": "^7.24.4",
+ "@vue/shared": "3.4.27",
+ "entities": "^4.5.0",
"estree-walker": "^2.0.2",
- "source-map": "^0.6.1"
- },
- "dependencies": {
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true,
- "optional": true
- }
+ "source-map-js": "^1.2.0"
}
},
"@vue/compiler-dom": {
- "version": "3.2.41",
- "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.41.tgz",
- "integrity": "sha512-xe5TbbIsonjENxJsYRbDJvthzqxLNk+tb3d/c47zgREDa/PCp6/Y4gC/skM4H6PIuX5DAxm7fFJdbjjUH2QTMw==",
+ "version": "3.4.27",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.27.tgz",
+ "integrity": "sha512-kUTvochG/oVgE1w5ViSr3KUBh9X7CWirebA3bezTbB5ZKBQZwR2Mwj9uoSKRMFcz4gSMzzLXBPD6KpCLb9nvWw==",
"dev": true,
"optional": true,
"requires": {
- "@vue/compiler-core": "3.2.41",
- "@vue/shared": "3.2.41"
+ "@vue/compiler-core": "3.4.27",
+ "@vue/shared": "3.4.27"
}
},
"@vue/compiler-sfc": {
- "version": "3.2.41",
- "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.41.tgz",
- "integrity": "sha512-+1P2m5kxOeaxVmJNXnBskAn3BenbTmbxBxWOtBq3mQTCokIreuMULFantBUclP0+KnzNCMOvcnKinqQZmiOF8w==",
+ "version": "3.4.27",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.4.27.tgz",
+ "integrity": "sha512-nDwntUEADssW8e0rrmE0+OrONwmRlegDA1pD6QhVeXxjIytV03yDqTey9SBDiALsvAd5U4ZrEKbMyVXhX6mCGA==",
"dev": true,
"optional": true,
"requires": {
- "@babel/parser": "^7.16.4",
- "@vue/compiler-core": "3.2.41",
- "@vue/compiler-dom": "3.2.41",
- "@vue/compiler-ssr": "3.2.41",
- "@vue/reactivity-transform": "3.2.41",
- "@vue/shared": "3.2.41",
+ "@babel/parser": "^7.24.4",
+ "@vue/compiler-core": "3.4.27",
+ "@vue/compiler-dom": "3.4.27",
+ "@vue/compiler-ssr": "3.4.27",
+ "@vue/shared": "3.4.27",
"estree-walker": "^2.0.2",
- "magic-string": "^0.25.7",
- "postcss": "^8.1.10",
- "source-map": "^0.6.1"
- },
- "dependencies": {
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true,
- "optional": true
- }
+ "magic-string": "^0.30.10",
+ "postcss": "^8.4.38",
+ "source-map-js": "^1.2.0"
}
},
"@vue/compiler-ssr": {
- "version": "3.2.41",
- "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.41.tgz",
- "integrity": "sha512-Y5wPiNIiaMz/sps8+DmhaKfDm1xgj6GrH99z4gq2LQenfVQcYXmHIOBcs5qPwl7jaW3SUQWjkAPKMfQemEQZwQ==",
+ "version": "3.4.27",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.4.27.tgz",
+ "integrity": "sha512-CVRzSJIltzMG5FcidsW0jKNQnNRYC8bT21VegyMMtHmhW3UOI7knmUehzswXLrExDLE6lQCZdrhD4ogI7c+vuw==",
"dev": true,
"optional": true,
"requires": {
- "@vue/compiler-dom": "3.2.41",
- "@vue/shared": "3.2.41"
- }
- },
- "@vue/reactivity-transform": {
- "version": "3.2.41",
- "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.2.41.tgz",
- "integrity": "sha512-mK5+BNMsL4hHi+IR3Ft/ho6Za+L3FA5j8WvreJ7XzHrqkPq8jtF/SMo7tuc9gHjLDwKZX1nP1JQOKo9IEAn54A==",
- "dev": true,
- "optional": true,
- "requires": {
- "@babel/parser": "^7.16.4",
- "@vue/compiler-core": "3.2.41",
- "@vue/shared": "3.2.41",
- "estree-walker": "^2.0.2",
- "magic-string": "^0.25.7"
+ "@vue/compiler-dom": "3.4.27",
+ "@vue/shared": "3.4.27"
}
},
"@vue/shared": {
- "version": "3.2.41",
- "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.41.tgz",
- "integrity": "sha512-W9mfWLHmJhkfAmV+7gDjcHeAWALQtgGT3JErxULl0oz6R6+3ug91I7IErs93eCFhPCZPHBs4QJS7YWEV7A3sxw==",
+ "version": "3.4.27",
+ "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.27.tgz",
+ "integrity": "sha512-DL3NmY2OFlqmYYrzp39yi3LDkKxa5vZVwxWdQ3rG0ekuWscHraeIbnI8t+aZK7qhYqEqWKTUdijadunb9pnrgA==",
"dev": true,
"optional": true
},
"@wdio/browserstack-service": {
- "version": "8.29.1",
- "resolved": "https://registry.npmjs.org/@wdio/browserstack-service/-/browserstack-service-8.29.1.tgz",
- "integrity": "sha512-dLEJcdVF0Cu+2REByVOfLUzx9FvMias1VsxSCZpKXeIAGAIWBBdNdooK6Vdc9QdS36S5v/mk0/rTTQhYn4nWjQ==",
+ "version": "8.38.2",
+ "resolved": "https://registry.npmjs.org/@wdio/browserstack-service/-/browserstack-service-8.38.2.tgz",
+ "integrity": "sha512-dBvTK97deVbyDskCRdcQ47xuR7QYx3mqNFJUZLWBitwFV/DU5YIpCbGlySLc4gkO4//Zn1A3Gh/TOGWZrigcCQ==",
"dev": true,
"requires": {
"@percy/appium-app": "^2.0.1",
"@percy/selenium-webdriver": "^2.0.3",
"@types/gitconfiglocal": "^2.0.1",
- "@wdio/logger": "8.28.0",
- "@wdio/reporter": "8.29.1",
- "@wdio/types": "8.29.1",
+ "@wdio/logger": "8.38.0",
+ "@wdio/reporter": "8.38.2",
+ "@wdio/types": "8.38.2",
"browserstack-local": "^1.5.1",
"chalk": "^5.3.0",
"csv-writer": "^1.6.0",
@@ -31492,80 +33415,97 @@
"gitconfiglocal": "^2.1.0",
"got": "^12.6.1",
"uuid": "^9.0.0",
- "webdriverio": "8.29.1",
+ "webdriverio": "8.38.2",
"winston-transport": "^4.5.0",
- "yauzl": "^2.10.0"
+ "yauzl": "^3.0.0"
},
"dependencies": {
"@puppeteer/browsers": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-1.3.0.tgz",
- "integrity": "sha512-an3QdbNPkuU6qpxpbssxAbjRLJcF+eP4L8UqIY3+6n0sbaVxw5pz7PiCLy9g32XEZuoamUlV5ZQPnA6FxvkIHA==",
+ "version": "1.4.6",
+ "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-1.4.6.tgz",
+ "integrity": "sha512-x4BEjr2SjOPowNeiguzjozQbsc6h437ovD/wu+JpaenxVLm3jkgzHY2xOslMTp50HoTvQreMjiexiGQw1sqZlQ==",
"dev": true,
- "optional": true,
- "peer": true,
"requires": {
"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",
"unbzip2-stream": "1.4.3",
"yargs": "17.7.1"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "dev": true,
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true
+ }
}
},
- "@sindresorhus/is": {
- "version": "5.6.0",
- "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-5.6.0.tgz",
- "integrity": "sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==",
- "dev": true
- },
- "@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==",
+ "agent-base": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz",
+ "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==",
"dev": true,
"requires": {
- "defer-to-connect": "^2.0.1"
+ "debug": "^4.3.4"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.3.5",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz",
+ "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==",
+ "dev": true,
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true
+ }
}
},
- "@types/which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/@types/which/-/which-2.0.2.tgz",
- "integrity": "sha512-113D3mDkZDjo+EeUEHCFy0qniNc1ZpecGiAU7WSo7YDoSzolZIQKpYFHrPpjkB2nuyahcKfrmLXeQlh7gqJYdw==",
- "dev": true,
- "optional": true,
- "peer": true
- },
"archiver": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/archiver/-/archiver-6.0.1.tgz",
- "integrity": "sha512-CXGy4poOLBKptiZH//VlWdFuUC1RESbdZjGjILwBuZ73P7WkAUN0htfSfBq/7k6FRFlpu7bg4JOkj1vU9G6jcQ==",
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/archiver/-/archiver-7.0.1.tgz",
+ "integrity": "sha512-ZcbTaIqJOfCc03QwD468Unz/5Ir8ATtvAHsK+FdXbDIbGfihqh9mrvdcYunQzqn4HrvWWaFyaxJhGZagaJJpPQ==",
"dev": true,
"requires": {
- "archiver-utils": "^4.0.1",
+ "archiver-utils": "^5.0.2",
"async": "^3.2.4",
- "buffer-crc32": "^0.2.1",
- "readable-stream": "^3.6.0",
+ "buffer-crc32": "^1.0.0",
+ "readable-stream": "^4.0.0",
"readdir-glob": "^1.1.2",
"tar-stream": "^3.0.0",
- "zip-stream": "^5.0.1"
+ "zip-stream": "^6.0.1"
}
},
"archiver-utils": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-4.0.1.tgz",
- "integrity": "sha512-Q4Q99idbvzmgCTEAAhi32BkOyq8iVI5EwdO0PmBDSGIzzjYNdcFn7Q7k3OzbLy4kLUPXfJtG6fO2RjftXbobBg==",
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-5.0.2.tgz",
+ "integrity": "sha512-wuLJMmIBQYCsGZgYLTy5FIB2pF6Lfb6cXMSF8Qywwk3t20zWnAi7zLcQFdKQmIB8wyZpY5ER38x08GbwtR2cLA==",
"dev": true,
"requires": {
- "glob": "^8.0.0",
+ "glob": "^10.0.0",
"graceful-fs": "^4.2.0",
+ "is-stream": "^2.0.1",
"lazystream": "^1.0.0",
"lodash": "^4.17.15",
"normalize-path": "^3.0.0",
- "readable-stream": "^3.6.0"
+ "readable-stream": "^4.0.0"
}
},
"async": {
@@ -31583,27 +33523,22 @@
"balanced-match": "^1.0.0"
}
},
- "cacheable-lookup": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-7.0.0.tgz",
- "integrity": "sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==",
- "dev": true
- },
- "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==",
+ "buffer": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
+ "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
"dev": true,
"requires": {
- "@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"
+ "base64-js": "^1.3.1",
+ "ieee754": "^1.2.1"
}
},
+ "buffer-crc32": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-1.0.0.tgz",
+ "integrity": "sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w==",
+ "dev": true
+ },
"chalk": {
"version": "5.3.0",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz",
@@ -31611,9 +33546,9 @@
"dev": true
},
"chrome-launcher": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/chrome-launcher/-/chrome-launcher-1.1.0.tgz",
- "integrity": "sha512-rJYWeEAERwWIr3c3mEVXwNiODPEdMRlRxHc47B1qHPOolHZnkj7rMv1QSUfPoG6MgatWj5AxSpnKKR4QEwEQIQ==",
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/chrome-launcher/-/chrome-launcher-1.1.2.tgz",
+ "integrity": "sha512-YclTJey34KUm5jB1aEJCq807bSievi7Nb/TU4Gu504fUYi3jw3KCIaH6L7nFWQhdEgH3V+wCh+kKD1P5cXnfxw==",
"dev": true,
"optional": true,
"peer": true,
@@ -31625,94 +33560,241 @@
}
},
"compress-commons": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-5.0.1.tgz",
- "integrity": "sha512-MPh//1cERdLtqwO3pOFLeXtpuai0Y2WCd5AhtKxznqM7WtaMYaOEMSgn45d9D10sIHSfIKE603HlOp8OPGrvag==",
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-6.0.2.tgz",
+ "integrity": "sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg==",
"dev": true,
"requires": {
"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.0.0"
}
},
"crc32-stream": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-5.0.0.tgz",
- "integrity": "sha512-B0EPa1UK+qnpBZpG+7FgPCu0J2ETLpXq09o9BkLkEAhdB6Z61Qo4pJ3JYu0c+Qi+/SAL7QThqnzS06pmSSyZaw==",
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-6.0.0.tgz",
+ "integrity": "sha512-piICUB6ei4IlTv1+653yq5+KoqfBYmj9bw6LqXoOneTMDXk5nM1qt12mFW1caG3LlJXEKW1Bp0WggEmIfQB34g==",
"dev": true,
"requires": {
"crc-32": "^1.2.0",
- "readable-stream": "^3.4.0"
+ "readable-stream": "^4.0.0"
}
},
"cross-fetch": {
- "version": "3.1.6",
- "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.6.tgz",
- "integrity": "sha512-riRvo06crlE8HiqOwIpQhxwdOk4fOeR7FVM/wXoxchFEqMNUjvbs3bfo4OTgMEMHzppd4DxFBDbyySj8Cv781g==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.0.0.tgz",
+ "integrity": "sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==",
+ "dev": true,
+ "requires": {
+ "node-fetch": "^2.6.12"
+ }
+ },
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"dev": true,
"optional": true,
"peer": true,
"requires": {
- "node-fetch": "^2.6.11"
+ "ms": "2.0.0"
}
},
"devtools": {
- "version": "8.29.1",
- "resolved": "https://registry.npmjs.org/devtools/-/devtools-8.29.1.tgz",
- "integrity": "sha512-fbH0Z7CPK4OZSgUw2QcAppczowxtSyvFztPUmiFyi99cUadjEOwlg0aL3pBVlIDo67olYjGb8GD1M5Z4yI/P6w==",
+ "version": "8.38.2",
+ "resolved": "https://registry.npmjs.org/devtools/-/devtools-8.38.2.tgz",
+ "integrity": "sha512-8b+naOPzYqzsiYtZZKYJnUnSqSOIg5orvna2SlWT2kFhkggbAJ1bbMzW7rps6onLfxp93wCNEIvngb9JuxwDsg==",
"dev": true,
"optional": true,
"peer": true,
"requires": {
"@types/node": "^20.1.0",
- "@wdio/config": "8.29.1",
- "@wdio/logger": "8.28.0",
- "@wdio/protocols": "8.24.12",
- "@wdio/types": "8.29.1",
- "@wdio/utils": "8.29.1",
+ "@wdio/config": "8.38.2",
+ "@wdio/logger": "8.38.0",
+ "@wdio/protocols": "8.38.0",
+ "@wdio/types": "8.38.2",
+ "@wdio/utils": "8.38.2",
"chrome-launcher": "^1.0.0",
"edge-paths": "^3.0.5",
"import-meta-resolve": "^4.0.0",
"puppeteer-core": "20.3.0",
"query-selector-shadow-dom": "^1.0.0",
- "ua-parser-js": "^1.0.1",
+ "ua-parser-js": "^1.0.37",
"uuid": "^9.0.0",
"which": "^4.0.0"
},
"dependencies": {
- "which": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz",
- "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==",
+ "@puppeteer/browsers": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-1.3.0.tgz",
+ "integrity": "sha512-an3QdbNPkuU6qpxpbssxAbjRLJcF+eP4L8UqIY3+6n0sbaVxw5pz7PiCLy9g32XEZuoamUlV5ZQPnA6FxvkIHA==",
"dev": true,
"optional": true,
"peer": true,
"requires": {
- "isexe": "^3.1.1"
+ "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",
+ "unbzip2-stream": "1.4.3",
+ "yargs": "17.7.1"
+ }
+ },
+ "agent-base": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
+ "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
+ "dev": true,
+ "optional": true,
+ "peer": true,
+ "requires": {
+ "debug": "4"
+ }
+ },
+ "chromium-bidi": {
+ "version": "0.4.9",
+ "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-0.4.9.tgz",
+ "integrity": "sha512-u3DC6XwgLCA9QJ5ak1voPslCmacQdulZNCPsI3qNXxSnEcZS7DFIbww+5RM2bznMEje7cc0oydavRLRvOIZtHw==",
+ "dev": true,
+ "optional": true,
+ "peer": true,
+ "requires": {
+ "mitt": "3.0.0"
+ }
+ },
+ "cross-fetch": {
+ "version": "3.1.6",
+ "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.6.tgz",
+ "integrity": "sha512-riRvo06crlE8HiqOwIpQhxwdOk4fOeR7FVM/wXoxchFEqMNUjvbs3bfo4OTgMEMHzppd4DxFBDbyySj8Cv781g==",
+ "dev": true,
+ "optional": true,
+ "peer": true,
+ "requires": {
+ "node-fetch": "^2.6.11"
+ }
+ },
+ "debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "dev": true,
+ "optional": true,
+ "peer": true,
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "devtools-protocol": {
+ "version": "0.0.1120988",
+ "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1120988.tgz",
+ "integrity": "sha512-39fCpE3Z78IaIPChJsP6Lhmkbf4dWXOmzLk/KFTdRkNk/0JymRIfUynDVRndV9HoDz8PyalK1UH21ST/ivwW5Q==",
+ "dev": true,
+ "optional": true,
+ "peer": true
+ },
+ "http-proxy-agent": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz",
+ "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==",
+ "dev": true,
+ "optional": true,
+ "peer": true,
+ "requires": {
+ "@tootallnate/once": "2",
+ "agent-base": "6",
+ "debug": "4"
+ }
+ },
+ "https-proxy-agent": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
+ "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
+ "dev": true,
+ "optional": true,
+ "peer": true,
+ "requires": {
+ "agent-base": "6",
+ "debug": "4"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true,
+ "optional": true,
+ "peer": true
+ },
+ "puppeteer-core": {
+ "version": "20.3.0",
+ "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-20.3.0.tgz",
+ "integrity": "sha512-264pBrIui5bO6NJeOcbJrLa0OCwmA4+WK00JMrLIKTfRiqe2gx8KWTzLsjyw/bizErp3TKS7vt/I0i5fTC+mAw==",
+ "dev": true,
+ "optional": true,
+ "peer": true,
+ "requires": {
+ "@puppeteer/browsers": "1.3.0",
+ "chromium-bidi": "0.4.9",
+ "cross-fetch": "3.1.6",
+ "debug": "4.3.4",
+ "devtools-protocol": "0.0.1120988",
+ "ws": "8.13.0"
+ }
+ },
+ "readable-stream": {
+ "version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
+ "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
+ "dev": true,
+ "optional": true,
+ "peer": true,
+ "requires": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ }
+ },
+ "tar-fs": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz",
+ "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==",
+ "dev": true,
+ "optional": true,
+ "peer": true,
+ "requires": {
+ "chownr": "^1.1.1",
+ "mkdirp-classic": "^0.5.2",
+ "pump": "^3.0.0",
+ "tar-stream": "^2.1.4"
+ }
+ },
+ "tar-stream": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz",
+ "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==",
+ "dev": true,
+ "optional": true,
+ "peer": true,
+ "requires": {
+ "bl": "^4.0.3",
+ "end-of-stream": "^1.4.1",
+ "fs-constants": "^1.0.0",
+ "inherits": "^2.0.3",
+ "readable-stream": "^3.1.1"
}
}
}
},
"devtools-protocol": {
- "version": "0.0.1120988",
- "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1120988.tgz",
- "integrity": "sha512-39fCpE3Z78IaIPChJsP6Lhmkbf4dWXOmzLk/KFTdRkNk/0JymRIfUynDVRndV9HoDz8PyalK1UH21ST/ivwW5Q==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "edge-paths": {
- "version": "3.0.5",
- "resolved": "https://registry.npmjs.org/edge-paths/-/edge-paths-3.0.5.tgz",
- "integrity": "sha512-sB7vSrDnFa4ezWQk9nZ/n0FdpdUuC6R1EOrlU3DL+bovcNFK28rqu2emmAUjujYEJTWIgQGqgVVWUZXMnc8iWg==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "@types/which": "^2.0.1",
- "which": "^2.0.2"
- }
+ "version": "0.0.1302984",
+ "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1302984.tgz",
+ "integrity": "sha512-Rgh2Sk5fUSCtEx4QGH9iwTyECdFPySG2nlz5J8guGh2Wlha6uzSOCq/DCEC8faHlLaMPZJMuZ4ovgcX4LvOkKA==",
+ "dev": true
},
"escape-string-regexp": {
"version": "4.0.0",
@@ -31722,85 +33804,38 @@
"optional": true,
"peer": true
},
- "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==",
- "dev": true
- },
- "glob": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz",
- "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==",
+ "https-proxy-agent": {
+ "version": "7.0.4",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz",
+ "integrity": "sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==",
"dev": true,
"requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^5.0.1",
- "once": "^1.3.0"
+ "agent-base": "^7.0.2",
+ "debug": "4"
},
"dependencies": {
- "minimatch": {
- "version": "5.1.6",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
- "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
+ "debug": {
+ "version": "4.3.5",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz",
+ "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==",
"dev": true,
"requires": {
- "brace-expansion": "^2.0.1"
+ "ms": "2.1.2"
}
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true
}
}
},
- "got": {
- "version": "12.6.1",
- "resolved": "https://registry.npmjs.org/got/-/got-12.6.1.tgz",
- "integrity": "sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==",
- "dev": true,
- "requires": {
- "@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"
- }
- },
- "http-proxy-agent": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz",
- "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "@tootallnate/once": "2",
- "agent-base": "6",
- "debug": "4"
- }
- },
- "http2-wrapper": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-2.2.1.tgz",
- "integrity": "sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==",
- "dev": true,
- "requires": {
- "quick-lru": "^5.1.1",
- "resolve-alpn": "^1.2.0"
- }
- },
- "isexe": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz",
- "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==",
- "dev": true,
- "optional": true,
- "peer": true
+ "is-stream": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
+ "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
+ "dev": true
},
"lighthouse-logger": {
"version": "2.0.1",
@@ -31812,43 +33847,18 @@
"requires": {
"debug": "^2.6.9",
"marky": "^1.2.2"
- },
- "dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "ms": "2.0.0"
- }
- }
}
},
- "lowercase-keys": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-3.0.0.tgz",
- "integrity": "sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==",
- "dev": true
- },
"lru-cache": {
"version": "7.18.3",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz",
"integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==",
"dev": true
},
- "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==",
- "dev": true
- },
"minimatch": {
- "version": "9.0.3",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz",
- "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==",
+ "version": "9.0.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz",
+ "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==",
"dev": true,
"requires": {
"brace-expansion": "^2.0.1"
@@ -31871,18 +33881,6 @@
"whatwg-url": "^5.0.0"
}
},
- "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==",
- "dev": true
- },
- "p-cancelable": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-3.0.0.tgz",
- "integrity": "sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==",
- "dev": true
- },
"proxy-agent": {
"version": "6.3.0",
"resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.3.0.tgz",
@@ -31899,71 +33897,71 @@
"socks-proxy-agent": "^8.0.1"
},
"dependencies": {
- "agent-base": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz",
- "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==",
- "dev": true,
- "requires": {
- "debug": "^4.3.4"
- }
- },
- "http-proxy-agent": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.0.tgz",
- "integrity": "sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==",
+ "debug": {
+ "version": "4.3.5",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz",
+ "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==",
"dev": true,
"requires": {
- "agent-base": "^7.1.0",
- "debug": "^4.3.4"
+ "ms": "2.1.2"
}
},
- "https-proxy-agent": {
- "version": "7.0.2",
- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz",
- "integrity": "sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==",
- "dev": true,
- "requires": {
- "agent-base": "^7.0.2",
- "debug": "4"
- }
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true
}
}
},
"puppeteer-core": {
- "version": "20.3.0",
- "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-20.3.0.tgz",
- "integrity": "sha512-264pBrIui5bO6NJeOcbJrLa0OCwmA4+WK00JMrLIKTfRiqe2gx8KWTzLsjyw/bizErp3TKS7vt/I0i5fTC+mAw==",
+ "version": "20.9.0",
+ "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-20.9.0.tgz",
+ "integrity": "sha512-H9fYZQzMTRrkboEfPmf7m3CLDN6JvbxXA3qTtS+dFt27tR+CsFHzPsT6pzp6lYL6bJbAPaR0HaPO6uSi+F94Pg==",
"dev": true,
- "optional": true,
- "peer": true,
"requires": {
- "@puppeteer/browsers": "1.3.0",
- "chromium-bidi": "0.4.9",
- "cross-fetch": "3.1.6",
+ "@puppeteer/browsers": "1.4.6",
+ "chromium-bidi": "0.4.16",
+ "cross-fetch": "4.0.0",
"debug": "4.3.4",
- "devtools-protocol": "0.0.1120988",
+ "devtools-protocol": "0.0.1147663",
"ws": "8.13.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "dev": true,
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "devtools-protocol": {
+ "version": "0.0.1147663",
+ "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1147663.tgz",
+ "integrity": "sha512-hyWmRrexdhbZ1tcJUGpO95ivbRhWXz++F4Ko+n21AY5PNln2ovoJw+8ZMNDTtip+CNFQfrtLVh/w4009dXO/eQ==",
+ "dev": true
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true
+ }
}
},
"readable-stream": {
- "version": "3.6.2",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
- "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
+ "version": "4.5.2",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz",
+ "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==",
"dev": true,
"requires": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- }
- },
- "responselike": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/responselike/-/responselike-3.0.0.tgz",
- "integrity": "sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==",
- "dev": true,
- "requires": {
- "lowercase-keys": "^3.0.0"
+ "abort-controller": "^3.0.0",
+ "buffer": "^6.0.3",
+ "events": "^3.3.0",
+ "process": "^0.11.10",
+ "string_decoder": "^1.3.0"
}
},
"serialize-error": {
@@ -31975,15 +33973,13 @@
"type-fest": "^2.12.2"
}
},
- "tar-stream": {
- "version": "3.1.7",
- "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz",
- "integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==",
+ "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==",
"dev": true,
"requires": {
- "b4a": "^1.6.4",
- "fast-fifo": "^1.2.0",
- "streamx": "^2.15.0"
+ "safe-buffer": "~5.2.0"
}
},
"type-fest": {
@@ -31993,40 +33989,35 @@
"dev": true
},
"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==",
+ "version": "1.0.38",
+ "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.38.tgz",
+ "integrity": "sha512-Aq5ppTOfvrCMgAPneW1HfWj66Xi7XL+/mIy996R1/CLS/rcyJQm6QZdsKrUeivDFQ+Oc9Wyuwor8Ze8peEoUoQ==",
"dev": true,
"optional": true,
"peer": true
},
- "uuid": {
- "version": "9.0.1",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz",
- "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==",
- "dev": true
- },
"webdriverio": {
- "version": "8.29.1",
- "resolved": "https://registry.npmjs.org/webdriverio/-/webdriverio-8.29.1.tgz",
- "integrity": "sha512-NZK95ivXCqdPraB3FHMw6ByxnCvtgFXkjzG2l3Oq5z0IuJS2aMow3AKFIyiuG6is/deGCe+Tb8eFTCqak7UV+w==",
+ "version": "8.38.2",
+ "resolved": "https://registry.npmjs.org/webdriverio/-/webdriverio-8.38.2.tgz",
+ "integrity": "sha512-r09y5UfivyYh5JOzT2SpJJ1zDmQl/R4OTH12opUqkjvp21BibCQm/uu1mrxGy4lzSHljrvqSVrrcGI+6UA1O8w==",
"dev": true,
"requires": {
"@types/node": "^20.1.0",
- "@wdio/config": "8.29.1",
- "@wdio/logger": "8.28.0",
- "@wdio/protocols": "8.24.12",
+ "@wdio/config": "8.38.2",
+ "@wdio/logger": "8.38.0",
+ "@wdio/protocols": "8.38.0",
"@wdio/repl": "8.24.12",
- "@wdio/types": "8.29.1",
- "@wdio/utils": "8.29.1",
- "archiver": "^6.0.0",
+ "@wdio/types": "8.38.2",
+ "@wdio/utils": "8.38.2",
+ "archiver": "^7.0.0",
"aria-query": "^5.0.0",
"css-shorthand-properties": "^1.1.1",
"css-value": "^0.0.1",
- "devtools-protocol": "^0.0.1249869",
+ "devtools-protocol": "^0.0.1302984",
"grapheme-splitter": "^1.0.2",
"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.0",
@@ -32035,81 +34026,7 @@
"resq": "^1.9.1",
"rgb2hex": "0.2.5",
"serialize-error": "^11.0.1",
- "webdriver": "8.29.1"
- },
- "dependencies": {
- "@puppeteer/browsers": {
- "version": "1.4.6",
- "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-1.4.6.tgz",
- "integrity": "sha512-x4BEjr2SjOPowNeiguzjozQbsc6h437ovD/wu+JpaenxVLm3jkgzHY2xOslMTp50HoTvQreMjiexiGQw1sqZlQ==",
- "dev": true,
- "requires": {
- "debug": "4.3.4",
- "extract-zip": "2.0.1",
- "progress": "2.0.3",
- "proxy-agent": "6.3.0",
- "tar-fs": "3.0.4",
- "unbzip2-stream": "1.4.3",
- "yargs": "17.7.1"
- }
- },
- "chromium-bidi": {
- "version": "0.4.16",
- "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-0.4.16.tgz",
- "integrity": "sha512-7ZbXdWERxRxSwo3txsBjjmc/NLxqb1Bk30mRb0BMS4YIaiV6zvKZqL/UAH+DdqcDYayDWk2n/y8klkBDODrPvA==",
- "dev": true,
- "requires": {
- "mitt": "3.0.0"
- }
- },
- "cross-fetch": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.0.0.tgz",
- "integrity": "sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==",
- "dev": true,
- "requires": {
- "node-fetch": "^2.6.12"
- }
- },
- "devtools-protocol": {
- "version": "0.0.1249869",
- "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1249869.tgz",
- "integrity": "sha512-Ctp4hInA0BEavlUoRy9mhGq0i+JSo/AwVyX2EFgZmV1kYB+Zq+EMBAn52QWu6FbRr10hRb6pBl420upbp4++vg==",
- "dev": true
- },
- "puppeteer-core": {
- "version": "20.9.0",
- "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-20.9.0.tgz",
- "integrity": "sha512-H9fYZQzMTRrkboEfPmf7m3CLDN6JvbxXA3qTtS+dFt27tR+CsFHzPsT6pzp6lYL6bJbAPaR0HaPO6uSi+F94Pg==",
- "dev": true,
- "requires": {
- "@puppeteer/browsers": "1.4.6",
- "chromium-bidi": "0.4.16",
- "cross-fetch": "4.0.0",
- "debug": "4.3.4",
- "devtools-protocol": "0.0.1147663",
- "ws": "8.13.0"
- },
- "dependencies": {
- "devtools-protocol": {
- "version": "0.0.1147663",
- "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1147663.tgz",
- "integrity": "sha512-hyWmRrexdhbZ1tcJUGpO95ivbRhWXz++F4Ko+n21AY5PNln2ovoJw+8ZMNDTtip+CNFQfrtLVh/w4009dXO/eQ==",
- "dev": true
- }
- }
- },
- "tar-fs": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.4.tgz",
- "integrity": "sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w==",
- "dev": true,
- "requires": {
- "mkdirp-classic": "^0.5.2",
- "pump": "^3.0.0",
- "tar-stream": "^3.1.5"
- }
- }
+ "webdriver": "8.38.2"
}
},
"ws": {
@@ -32135,32 +34052,32 @@
}
},
"zip-stream": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-5.0.1.tgz",
- "integrity": "sha512-UfZ0oa0C8LI58wJ+moL46BDIMgCQbnsb+2PoiJYtonhBsMh2bq1eRBVkvjfVsqbEHd9/EgKPUuL9saSSsec8OA==",
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-6.0.1.tgz",
+ "integrity": "sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==",
"dev": true,
"requires": {
- "archiver-utils": "^4.0.1",
- "compress-commons": "^5.0.1",
- "readable-stream": "^3.6.0"
+ "archiver-utils": "^5.0.0",
+ "compress-commons": "^6.0.2",
+ "readable-stream": "^4.0.0"
}
}
}
},
"@wdio/cli": {
- "version": "8.29.1",
- "resolved": "https://registry.npmjs.org/@wdio/cli/-/cli-8.29.1.tgz",
- "integrity": "sha512-WWRTf0g0O+ovTTvS1kEhZ/svX32M7jERuuMF1MaldKCi7rZwHsQqOyJD+fO1UDjuxqS96LHSGsZn0auwUfCTXA==",
+ "version": "8.38.2",
+ "resolved": "https://registry.npmjs.org/@wdio/cli/-/cli-8.38.2.tgz",
+ "integrity": "sha512-p9y6jxmpmw53OoB9v/uTLwMetmz7Q0K7NewdVONgmeTY/ERpkU15qL3fMw1rXb+E+vrV8dlce4srnXroec6SFA==",
"dev": true,
"requires": {
"@types/node": "^20.1.1",
"@vitest/snapshot": "^1.2.1",
- "@wdio/config": "8.29.1",
- "@wdio/globals": "8.29.1",
- "@wdio/logger": "8.28.0",
- "@wdio/protocols": "8.24.12",
- "@wdio/types": "8.29.1",
- "@wdio/utils": "8.29.1",
+ "@wdio/config": "8.38.2",
+ "@wdio/globals": "8.38.2",
+ "@wdio/logger": "8.38.0",
+ "@wdio/protocols": "8.38.0",
+ "@wdio/types": "8.38.2",
+ "@wdio/utils": "8.38.2",
"async-exit-hook": "^2.0.1",
"chalk": "^5.2.0",
"chokidar": "^3.5.3",
@@ -32173,38 +34090,47 @@
"lodash.flattendeep": "^4.4.0",
"lodash.pickby": "^4.6.0",
"lodash.union": "^4.6.0",
- "read-pkg-up": "^10.0.0",
+ "read-pkg-up": "10.0.0",
"recursive-readdir": "^2.2.3",
- "webdriverio": "8.29.1",
+ "webdriverio": "8.38.2",
"yargs": "^17.7.2"
},
"dependencies": {
"@puppeteer/browsers": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-1.3.0.tgz",
- "integrity": "sha512-an3QdbNPkuU6qpxpbssxAbjRLJcF+eP4L8UqIY3+6n0sbaVxw5pz7PiCLy9g32XEZuoamUlV5ZQPnA6FxvkIHA==",
+ "version": "1.4.6",
+ "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-1.4.6.tgz",
+ "integrity": "sha512-x4BEjr2SjOPowNeiguzjozQbsc6h437ovD/wu+JpaenxVLm3jkgzHY2xOslMTp50HoTvQreMjiexiGQw1sqZlQ==",
"dev": true,
- "optional": true,
- "peer": true,
"requires": {
"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",
"unbzip2-stream": "1.4.3",
"yargs": "17.7.1"
},
"dependencies": {
+ "debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "dev": true,
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true
+ },
"yargs": {
"version": "17.7.1",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.1.tgz",
"integrity": "sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw==",
"dev": true,
- "optional": true,
- "peer": true,
"requires": {
"cliui": "^8.0.1",
"escalade": "^3.1.1",
@@ -32217,41 +34143,68 @@
}
}
},
- "@types/which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/@types/which/-/which-2.0.2.tgz",
- "integrity": "sha512-113D3mDkZDjo+EeUEHCFy0qniNc1ZpecGiAU7WSo7YDoSzolZIQKpYFHrPpjkB2nuyahcKfrmLXeQlh7gqJYdw==",
+ "agent-base": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz",
+ "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==",
"dev": true,
- "optional": true,
- "peer": true
+ "requires": {
+ "debug": "^4.3.4"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.3.5",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz",
+ "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==",
+ "dev": true,
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true
+ }
+ }
},
"archiver": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/archiver/-/archiver-6.0.1.tgz",
- "integrity": "sha512-CXGy4poOLBKptiZH//VlWdFuUC1RESbdZjGjILwBuZ73P7WkAUN0htfSfBq/7k6FRFlpu7bg4JOkj1vU9G6jcQ==",
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/archiver/-/archiver-7.0.1.tgz",
+ "integrity": "sha512-ZcbTaIqJOfCc03QwD468Unz/5Ir8ATtvAHsK+FdXbDIbGfihqh9mrvdcYunQzqn4HrvWWaFyaxJhGZagaJJpPQ==",
"dev": true,
"requires": {
- "archiver-utils": "^4.0.1",
+ "archiver-utils": "^5.0.2",
"async": "^3.2.4",
- "buffer-crc32": "^0.2.1",
- "readable-stream": "^3.6.0",
+ "buffer-crc32": "^1.0.0",
+ "readable-stream": "^4.0.0",
"readdir-glob": "^1.1.2",
"tar-stream": "^3.0.0",
- "zip-stream": "^5.0.1"
+ "zip-stream": "^6.0.1"
}
},
"archiver-utils": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-4.0.1.tgz",
- "integrity": "sha512-Q4Q99idbvzmgCTEAAhi32BkOyq8iVI5EwdO0PmBDSGIzzjYNdcFn7Q7k3OzbLy4kLUPXfJtG6fO2RjftXbobBg==",
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-5.0.2.tgz",
+ "integrity": "sha512-wuLJMmIBQYCsGZgYLTy5FIB2pF6Lfb6cXMSF8Qywwk3t20zWnAi7zLcQFdKQmIB8wyZpY5ER38x08GbwtR2cLA==",
"dev": true,
"requires": {
- "glob": "^8.0.0",
+ "glob": "^10.0.0",
"graceful-fs": "^4.2.0",
+ "is-stream": "^2.0.1",
"lazystream": "^1.0.0",
"lodash": "^4.17.15",
"normalize-path": "^3.0.0",
- "readable-stream": "^3.6.0"
+ "readable-stream": "^4.0.0"
+ },
+ "dependencies": {
+ "is-stream": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
+ "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
+ "dev": true
+ }
}
},
"async": {
@@ -32269,6 +34222,22 @@
"balanced-match": "^1.0.0"
}
},
+ "buffer": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
+ "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
+ "dev": true,
+ "requires": {
+ "base64-js": "^1.3.1",
+ "ieee754": "^1.2.1"
+ }
+ },
+ "buffer-crc32": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-1.0.0.tgz",
+ "integrity": "sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w==",
+ "dev": true
+ },
"chalk": {
"version": "5.3.0",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz",
@@ -32276,9 +34245,9 @@
"dev": true
},
"chrome-launcher": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/chrome-launcher/-/chrome-launcher-1.1.0.tgz",
- "integrity": "sha512-rJYWeEAERwWIr3c3mEVXwNiODPEdMRlRxHc47B1qHPOolHZnkj7rMv1QSUfPoG6MgatWj5AxSpnKKR4QEwEQIQ==",
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/chrome-launcher/-/chrome-launcher-1.1.2.tgz",
+ "integrity": "sha512-YclTJey34KUm5jB1aEJCq807bSievi7Nb/TU4Gu504fUYi3jw3KCIaH6L7nFWQhdEgH3V+wCh+kKD1P5cXnfxw==",
"dev": true,
"optional": true,
"peer": true,
@@ -32290,94 +34259,266 @@
}
},
"compress-commons": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-5.0.1.tgz",
- "integrity": "sha512-MPh//1cERdLtqwO3pOFLeXtpuai0Y2WCd5AhtKxznqM7WtaMYaOEMSgn45d9D10sIHSfIKE603HlOp8OPGrvag==",
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-6.0.2.tgz",
+ "integrity": "sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg==",
"dev": true,
"requires": {
"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.0.0"
+ },
+ "dependencies": {
+ "is-stream": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
+ "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
+ "dev": true
+ }
}
},
"crc32-stream": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-5.0.0.tgz",
- "integrity": "sha512-B0EPa1UK+qnpBZpG+7FgPCu0J2ETLpXq09o9BkLkEAhdB6Z61Qo4pJ3JYu0c+Qi+/SAL7QThqnzS06pmSSyZaw==",
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-6.0.0.tgz",
+ "integrity": "sha512-piICUB6ei4IlTv1+653yq5+KoqfBYmj9bw6LqXoOneTMDXk5nM1qt12mFW1caG3LlJXEKW1Bp0WggEmIfQB34g==",
"dev": true,
"requires": {
"crc-32": "^1.2.0",
- "readable-stream": "^3.4.0"
+ "readable-stream": "^4.0.0"
}
},
"cross-fetch": {
- "version": "3.1.6",
- "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.6.tgz",
- "integrity": "sha512-riRvo06crlE8HiqOwIpQhxwdOk4fOeR7FVM/wXoxchFEqMNUjvbs3bfo4OTgMEMHzppd4DxFBDbyySj8Cv781g==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.0.0.tgz",
+ "integrity": "sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==",
+ "dev": true,
+ "requires": {
+ "node-fetch": "^2.6.12"
+ }
+ },
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"dev": true,
"optional": true,
"peer": true,
"requires": {
- "node-fetch": "^2.6.11"
+ "ms": "2.0.0"
}
},
"devtools": {
- "version": "8.29.1",
- "resolved": "https://registry.npmjs.org/devtools/-/devtools-8.29.1.tgz",
- "integrity": "sha512-fbH0Z7CPK4OZSgUw2QcAppczowxtSyvFztPUmiFyi99cUadjEOwlg0aL3pBVlIDo67olYjGb8GD1M5Z4yI/P6w==",
+ "version": "8.38.2",
+ "resolved": "https://registry.npmjs.org/devtools/-/devtools-8.38.2.tgz",
+ "integrity": "sha512-8b+naOPzYqzsiYtZZKYJnUnSqSOIg5orvna2SlWT2kFhkggbAJ1bbMzW7rps6onLfxp93wCNEIvngb9JuxwDsg==",
"dev": true,
"optional": true,
"peer": true,
"requires": {
"@types/node": "^20.1.0",
- "@wdio/config": "8.29.1",
- "@wdio/logger": "8.28.0",
- "@wdio/protocols": "8.24.12",
- "@wdio/types": "8.29.1",
- "@wdio/utils": "8.29.1",
+ "@wdio/config": "8.38.2",
+ "@wdio/logger": "8.38.0",
+ "@wdio/protocols": "8.38.0",
+ "@wdio/types": "8.38.2",
+ "@wdio/utils": "8.38.2",
"chrome-launcher": "^1.0.0",
"edge-paths": "^3.0.5",
"import-meta-resolve": "^4.0.0",
"puppeteer-core": "20.3.0",
"query-selector-shadow-dom": "^1.0.0",
- "ua-parser-js": "^1.0.1",
+ "ua-parser-js": "^1.0.37",
"uuid": "^9.0.0",
"which": "^4.0.0"
},
"dependencies": {
- "which": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz",
- "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==",
+ "@puppeteer/browsers": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-1.3.0.tgz",
+ "integrity": "sha512-an3QdbNPkuU6qpxpbssxAbjRLJcF+eP4L8UqIY3+6n0sbaVxw5pz7PiCLy9g32XEZuoamUlV5ZQPnA6FxvkIHA==",
+ "dev": true,
+ "optional": true,
+ "peer": true,
+ "requires": {
+ "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",
+ "unbzip2-stream": "1.4.3",
+ "yargs": "17.7.1"
+ }
+ },
+ "agent-base": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
+ "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
+ "dev": true,
+ "optional": true,
+ "peer": true,
+ "requires": {
+ "debug": "4"
+ }
+ },
+ "chromium-bidi": {
+ "version": "0.4.9",
+ "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-0.4.9.tgz",
+ "integrity": "sha512-u3DC6XwgLCA9QJ5ak1voPslCmacQdulZNCPsI3qNXxSnEcZS7DFIbww+5RM2bznMEje7cc0oydavRLRvOIZtHw==",
+ "dev": true,
+ "optional": true,
+ "peer": true,
+ "requires": {
+ "mitt": "3.0.0"
+ }
+ },
+ "cross-fetch": {
+ "version": "3.1.6",
+ "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.6.tgz",
+ "integrity": "sha512-riRvo06crlE8HiqOwIpQhxwdOk4fOeR7FVM/wXoxchFEqMNUjvbs3bfo4OTgMEMHzppd4DxFBDbyySj8Cv781g==",
+ "dev": true,
+ "optional": true,
+ "peer": true,
+ "requires": {
+ "node-fetch": "^2.6.11"
+ }
+ },
+ "debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "dev": true,
+ "optional": true,
+ "peer": true,
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "devtools-protocol": {
+ "version": "0.0.1120988",
+ "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1120988.tgz",
+ "integrity": "sha512-39fCpE3Z78IaIPChJsP6Lhmkbf4dWXOmzLk/KFTdRkNk/0JymRIfUynDVRndV9HoDz8PyalK1UH21ST/ivwW5Q==",
+ "dev": true,
+ "optional": true,
+ "peer": true
+ },
+ "http-proxy-agent": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz",
+ "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==",
+ "dev": true,
+ "optional": true,
+ "peer": true,
+ "requires": {
+ "@tootallnate/once": "2",
+ "agent-base": "6",
+ "debug": "4"
+ }
+ },
+ "https-proxy-agent": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
+ "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
+ "dev": true,
+ "optional": true,
+ "peer": true,
+ "requires": {
+ "agent-base": "6",
+ "debug": "4"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true,
+ "optional": true,
+ "peer": true
+ },
+ "puppeteer-core": {
+ "version": "20.3.0",
+ "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-20.3.0.tgz",
+ "integrity": "sha512-264pBrIui5bO6NJeOcbJrLa0OCwmA4+WK00JMrLIKTfRiqe2gx8KWTzLsjyw/bizErp3TKS7vt/I0i5fTC+mAw==",
+ "dev": true,
+ "optional": true,
+ "peer": true,
+ "requires": {
+ "@puppeteer/browsers": "1.3.0",
+ "chromium-bidi": "0.4.9",
+ "cross-fetch": "3.1.6",
+ "debug": "4.3.4",
+ "devtools-protocol": "0.0.1120988",
+ "ws": "8.13.0"
+ }
+ },
+ "readable-stream": {
+ "version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
+ "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
+ "dev": true,
+ "optional": true,
+ "peer": true,
+ "requires": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ }
+ },
+ "tar-fs": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz",
+ "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==",
+ "dev": true,
+ "optional": true,
+ "peer": true,
+ "requires": {
+ "chownr": "^1.1.1",
+ "mkdirp-classic": "^0.5.2",
+ "pump": "^3.0.0",
+ "tar-stream": "^2.1.4"
+ }
+ },
+ "tar-stream": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz",
+ "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==",
+ "dev": true,
+ "optional": true,
+ "peer": true,
+ "requires": {
+ "bl": "^4.0.3",
+ "end-of-stream": "^1.4.1",
+ "fs-constants": "^1.0.0",
+ "inherits": "^2.0.3",
+ "readable-stream": "^3.1.1"
+ }
+ },
+ "yargs": {
+ "version": "17.7.1",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.1.tgz",
+ "integrity": "sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw==",
"dev": true,
"optional": true,
"peer": true,
"requires": {
- "isexe": "^3.1.1"
+ "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"
}
}
}
},
"devtools-protocol": {
- "version": "0.0.1120988",
- "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1120988.tgz",
- "integrity": "sha512-39fCpE3Z78IaIPChJsP6Lhmkbf4dWXOmzLk/KFTdRkNk/0JymRIfUynDVRndV9HoDz8PyalK1UH21ST/ivwW5Q==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "edge-paths": {
- "version": "3.0.5",
- "resolved": "https://registry.npmjs.org/edge-paths/-/edge-paths-3.0.5.tgz",
- "integrity": "sha512-sB7vSrDnFa4ezWQk9nZ/n0FdpdUuC6R1EOrlU3DL+bovcNFK28rqu2emmAUjujYEJTWIgQGqgVVWUZXMnc8iWg==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "@types/which": "^2.0.1",
- "which": "^2.0.2"
- }
+ "version": "0.0.1302984",
+ "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1302984.tgz",
+ "integrity": "sha512-Rgh2Sk5fUSCtEx4QGH9iwTyECdFPySG2nlz5J8guGh2Wlha6uzSOCq/DCEC8faHlLaMPZJMuZ4ovgcX4LvOkKA==",
+ "dev": true
},
"escape-string-regexp": {
"version": "4.0.0",
@@ -32404,96 +34545,45 @@
"strip-final-newline": "^3.0.0"
}
},
- "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==",
- "dev": true,
- "requires": {
- "locate-path": "^7.1.0",
- "path-exists": "^5.0.0"
- }
- },
"get-stream": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz",
"integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==",
"dev": true
},
- "glob": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz",
- "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==",
+ "https-proxy-agent": {
+ "version": "7.0.4",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz",
+ "integrity": "sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==",
"dev": true,
"requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^5.0.1",
- "once": "^1.3.0"
+ "agent-base": "^7.0.2",
+ "debug": "4"
},
"dependencies": {
- "minimatch": {
- "version": "5.1.6",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
- "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
+ "debug": {
+ "version": "4.3.5",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz",
+ "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==",
"dev": true,
"requires": {
- "brace-expansion": "^2.0.1"
+ "ms": "2.1.2"
}
- }
- }
- },
- "hosted-git-info": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.1.tgz",
- "integrity": "sha512-+K84LB1DYwMHoHSgaOY/Jfhw3ucPmSET5v98Ke/HdNSw4a0UktWzyW1mjhjpuxxTqOOsfWT/7iVshHmVZ4IpOA==",
- "dev": true,
- "requires": {
- "lru-cache": "^10.0.1"
- },
- "dependencies": {
- "lru-cache": {
- "version": "10.1.0",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.1.0.tgz",
- "integrity": "sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag==",
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
"dev": true
}
}
},
- "http-proxy-agent": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz",
- "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "@tootallnate/once": "2",
- "agent-base": "6",
- "debug": "4"
- }
- },
"is-stream": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz",
"integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==",
"dev": true
},
- "isexe": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz",
- "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "json-parse-even-better-errors": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.1.tgz",
- "integrity": "sha512-aatBvbL26wVUCLmbWdCpeu9iF5wOyWpagiKkInA+kfws3sWdBrTnsvN2CKcyCYyUrc7rebNBlK6+kteg7ksecg==",
- "dev": true
- },
"lighthouse-logger": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/lighthouse-logger/-/lighthouse-logger-2.0.1.tgz",
@@ -32504,36 +34594,14 @@
"requires": {
"debug": "^2.6.9",
"marky": "^1.2.2"
- },
- "dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "ms": "2.0.0"
- }
- }
}
},
- "lines-and-columns": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-2.0.4.tgz",
- "integrity": "sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A==",
+ "lru-cache": {
+ "version": "7.18.3",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz",
+ "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==",
"dev": true
},
- "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==",
- "dev": true,
- "requires": {
- "p-locate": "^6.0.0"
- }
- },
"mimic-fn": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz",
@@ -32541,9 +34609,9 @@
"dev": true
},
"minimatch": {
- "version": "9.0.3",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz",
- "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==",
+ "version": "9.0.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz",
+ "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==",
"dev": true,
"requires": {
"brace-expansion": "^2.0.1"
@@ -32566,22 +34634,10 @@
"whatwg-url": "^5.0.0"
}
},
- "normalize-package-data": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.0.tgz",
- "integrity": "sha512-UL7ELRVxYBHBgYEtZCXjxuD5vPxnmvMGq0jp/dGPKKrN7tfsBh2IY7TlJ15WWwdjRWD3RJbnsygUurTK3xkPkg==",
- "dev": true,
- "requires": {
- "hosted-git-info": "^7.0.0",
- "is-core-module": "^2.8.1",
- "semver": "^7.3.5",
- "validate-npm-package-license": "^3.0.4"
- }
- },
"npm-run-path": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.2.0.tgz",
- "integrity": "sha512-W4/tgAXFqFA0iL7fk0+uQ3g7wkL8xJmx3XdK0VGb4cHW//eZTtKGvFBBoRKVTpY7n6ze4NL9ly7rgXcHufqXKg==",
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz",
+ "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==",
"dev": true,
"requires": {
"path-key": "^4.0.0"
@@ -32596,51 +34652,6 @@
"mimic-fn": "^4.0.0"
}
},
- "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==",
- "dev": true,
- "requires": {
- "yocto-queue": "^1.0.0"
- }
- },
- "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==",
- "dev": true,
- "requires": {
- "p-limit": "^4.0.0"
- }
- },
- "parse-json": {
- "version": "7.1.1",
- "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-7.1.1.tgz",
- "integrity": "sha512-SgOTCX/EZXtZxBE5eJ97P4yGM5n37BwRU+YMsH4vNzFqJV/oWFXXCmwFlgWUM4PrakybVOueJJ6pwHqSVhTFDw==",
- "dev": true,
- "requires": {
- "@babel/code-frame": "^7.21.4",
- "error-ex": "^1.3.2",
- "json-parse-even-better-errors": "^3.0.0",
- "lines-and-columns": "^2.0.3",
- "type-fest": "^3.8.0"
- },
- "dependencies": {
- "type-fest": {
- "version": "3.13.1",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.13.1.tgz",
- "integrity": "sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==",
- "dev": true
- }
- }
- },
- "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==",
- "dev": true
- },
"path-key": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz",
@@ -32663,100 +34674,71 @@
"socks-proxy-agent": "^8.0.1"
},
"dependencies": {
- "agent-base": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz",
- "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==",
- "dev": true,
- "requires": {
- "debug": "^4.3.4"
- }
- },
- "http-proxy-agent": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.0.tgz",
- "integrity": "sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==",
- "dev": true,
- "requires": {
- "agent-base": "^7.1.0",
- "debug": "^4.3.4"
- }
- },
- "https-proxy-agent": {
- "version": "7.0.2",
- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz",
- "integrity": "sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==",
+ "debug": {
+ "version": "4.3.5",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz",
+ "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==",
"dev": true,
"requires": {
- "agent-base": "^7.0.2",
- "debug": "4"
+ "ms": "2.1.2"
}
},
- "lru-cache": {
- "version": "7.18.3",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz",
- "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==",
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
"dev": true
}
}
},
"puppeteer-core": {
- "version": "20.3.0",
- "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-20.3.0.tgz",
- "integrity": "sha512-264pBrIui5bO6NJeOcbJrLa0OCwmA4+WK00JMrLIKTfRiqe2gx8KWTzLsjyw/bizErp3TKS7vt/I0i5fTC+mAw==",
+ "version": "20.9.0",
+ "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-20.9.0.tgz",
+ "integrity": "sha512-H9fYZQzMTRrkboEfPmf7m3CLDN6JvbxXA3qTtS+dFt27tR+CsFHzPsT6pzp6lYL6bJbAPaR0HaPO6uSi+F94Pg==",
"dev": true,
- "optional": true,
- "peer": true,
"requires": {
- "@puppeteer/browsers": "1.3.0",
- "chromium-bidi": "0.4.9",
- "cross-fetch": "3.1.6",
+ "@puppeteer/browsers": "1.4.6",
+ "chromium-bidi": "0.4.16",
+ "cross-fetch": "4.0.0",
"debug": "4.3.4",
- "devtools-protocol": "0.0.1120988",
+ "devtools-protocol": "0.0.1147663",
"ws": "8.13.0"
- }
- },
- "read-pkg": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-8.1.0.tgz",
- "integrity": "sha512-PORM8AgzXeskHO/WEv312k9U03B8K9JSiWF/8N9sUuFjBa+9SF2u6K7VClzXwDXab51jCd8Nd36CNM+zR97ScQ==",
- "dev": true,
- "requires": {
- "@types/normalize-package-data": "^2.4.1",
- "normalize-package-data": "^6.0.0",
- "parse-json": "^7.0.0",
- "type-fest": "^4.2.0"
- }
- },
- "read-pkg-up": {
- "version": "10.1.0",
- "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-10.1.0.tgz",
- "integrity": "sha512-aNtBq4jR8NawpKJQldrQcSW9y/d+KWH4v24HWkHljOZ7H0av+YTGANBzRh9A5pw7v/bLVsLVPpOhJ7gHNVy8lA==",
- "dev": true,
- "requires": {
- "find-up": "^6.3.0",
- "read-pkg": "^8.1.0",
- "type-fest": "^4.2.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "dev": true,
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "devtools-protocol": {
+ "version": "0.0.1147663",
+ "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1147663.tgz",
+ "integrity": "sha512-hyWmRrexdhbZ1tcJUGpO95ivbRhWXz++F4Ko+n21AY5PNln2ovoJw+8ZMNDTtip+CNFQfrtLVh/w4009dXO/eQ==",
+ "dev": true
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true
+ }
}
},
"readable-stream": {
- "version": "3.6.2",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
- "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
- "dev": true,
- "requires": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- }
- },
- "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==",
+ "version": "4.5.2",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz",
+ "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==",
"dev": true,
"requires": {
- "lru-cache": "^6.0.0"
+ "abort-controller": "^3.0.0",
+ "buffer": "^6.0.3",
+ "events": "^3.3.0",
+ "process": "^0.11.10",
+ "string_decoder": "^1.3.0"
}
},
"serialize-error": {
@@ -32766,14 +34748,6 @@
"dev": true,
"requires": {
"type-fest": "^2.12.2"
- },
- "dependencies": {
- "type-fest": {
- "version": "2.19.0",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz",
- "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==",
- "dev": true
- }
}
},
"signal-exit": {
@@ -32782,60 +34756,51 @@
"integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
"dev": true
},
- "tar-stream": {
- "version": "3.1.7",
- "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz",
- "integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==",
+ "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==",
"dev": true,
"requires": {
- "b4a": "^1.6.4",
- "fast-fifo": "^1.2.0",
- "streamx": "^2.15.0"
+ "safe-buffer": "~5.2.0"
}
},
"type-fest": {
- "version": "4.10.1",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.10.1.tgz",
- "integrity": "sha512-7ZnJYTp6uc04uYRISWtiX3DSKB/fxNQT0B5o1OUeCqiQiwF+JC9+rJiZIDrPrNCLLuTqyQmh4VdQqh/ZOkv9MQ==",
+ "version": "2.19.0",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz",
+ "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==",
"dev": true
},
"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==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "uuid": {
- "version": "9.0.1",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz",
- "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==",
+ "version": "1.0.38",
+ "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.38.tgz",
+ "integrity": "sha512-Aq5ppTOfvrCMgAPneW1HfWj66Xi7XL+/mIy996R1/CLS/rcyJQm6QZdsKrUeivDFQ+Oc9Wyuwor8Ze8peEoUoQ==",
"dev": true,
"optional": true,
"peer": true
},
"webdriverio": {
- "version": "8.29.1",
- "resolved": "https://registry.npmjs.org/webdriverio/-/webdriverio-8.29.1.tgz",
- "integrity": "sha512-NZK95ivXCqdPraB3FHMw6ByxnCvtgFXkjzG2l3Oq5z0IuJS2aMow3AKFIyiuG6is/deGCe+Tb8eFTCqak7UV+w==",
+ "version": "8.38.2",
+ "resolved": "https://registry.npmjs.org/webdriverio/-/webdriverio-8.38.2.tgz",
+ "integrity": "sha512-r09y5UfivyYh5JOzT2SpJJ1zDmQl/R4OTH12opUqkjvp21BibCQm/uu1mrxGy4lzSHljrvqSVrrcGI+6UA1O8w==",
"dev": true,
"requires": {
"@types/node": "^20.1.0",
- "@wdio/config": "8.29.1",
- "@wdio/logger": "8.28.0",
- "@wdio/protocols": "8.24.12",
+ "@wdio/config": "8.38.2",
+ "@wdio/logger": "8.38.0",
+ "@wdio/protocols": "8.38.0",
"@wdio/repl": "8.24.12",
- "@wdio/types": "8.29.1",
- "@wdio/utils": "8.29.1",
- "archiver": "^6.0.0",
+ "@wdio/types": "8.38.2",
+ "@wdio/utils": "8.38.2",
+ "archiver": "^7.0.0",
"aria-query": "^5.0.0",
"css-shorthand-properties": "^1.1.1",
"css-value": "^0.0.1",
- "devtools-protocol": "^0.0.1249869",
+ "devtools-protocol": "^0.0.1302984",
"grapheme-splitter": "^1.0.2",
"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.0",
@@ -32844,96 +34809,7 @@
"resq": "^1.9.1",
"rgb2hex": "0.2.5",
"serialize-error": "^11.0.1",
- "webdriver": "8.29.1"
- },
- "dependencies": {
- "@puppeteer/browsers": {
- "version": "1.4.6",
- "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-1.4.6.tgz",
- "integrity": "sha512-x4BEjr2SjOPowNeiguzjozQbsc6h437ovD/wu+JpaenxVLm3jkgzHY2xOslMTp50HoTvQreMjiexiGQw1sqZlQ==",
- "dev": true,
- "requires": {
- "debug": "4.3.4",
- "extract-zip": "2.0.1",
- "progress": "2.0.3",
- "proxy-agent": "6.3.0",
- "tar-fs": "3.0.4",
- "unbzip2-stream": "1.4.3",
- "yargs": "17.7.1"
- }
- },
- "chromium-bidi": {
- "version": "0.4.16",
- "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-0.4.16.tgz",
- "integrity": "sha512-7ZbXdWERxRxSwo3txsBjjmc/NLxqb1Bk30mRb0BMS4YIaiV6zvKZqL/UAH+DdqcDYayDWk2n/y8klkBDODrPvA==",
- "dev": true,
- "requires": {
- "mitt": "3.0.0"
- }
- },
- "cross-fetch": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.0.0.tgz",
- "integrity": "sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==",
- "dev": true,
- "requires": {
- "node-fetch": "^2.6.12"
- }
- },
- "devtools-protocol": {
- "version": "0.0.1249869",
- "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1249869.tgz",
- "integrity": "sha512-Ctp4hInA0BEavlUoRy9mhGq0i+JSo/AwVyX2EFgZmV1kYB+Zq+EMBAn52QWu6FbRr10hRb6pBl420upbp4++vg==",
- "dev": true
- },
- "puppeteer-core": {
- "version": "20.9.0",
- "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-20.9.0.tgz",
- "integrity": "sha512-H9fYZQzMTRrkboEfPmf7m3CLDN6JvbxXA3qTtS+dFt27tR+CsFHzPsT6pzp6lYL6bJbAPaR0HaPO6uSi+F94Pg==",
- "dev": true,
- "requires": {
- "@puppeteer/browsers": "1.4.6",
- "chromium-bidi": "0.4.16",
- "cross-fetch": "4.0.0",
- "debug": "4.3.4",
- "devtools-protocol": "0.0.1147663",
- "ws": "8.13.0"
- },
- "dependencies": {
- "devtools-protocol": {
- "version": "0.0.1147663",
- "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1147663.tgz",
- "integrity": "sha512-hyWmRrexdhbZ1tcJUGpO95ivbRhWXz++F4Ko+n21AY5PNln2ovoJw+8ZMNDTtip+CNFQfrtLVh/w4009dXO/eQ==",
- "dev": true
- }
- }
- },
- "tar-fs": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.4.tgz",
- "integrity": "sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w==",
- "dev": true,
- "requires": {
- "mkdirp-classic": "^0.5.2",
- "pump": "^3.0.0",
- "tar-stream": "^3.1.5"
- }
- },
- "yargs": {
- "version": "17.7.1",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.1.tgz",
- "integrity": "sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw==",
- "dev": true,
- "requires": {
- "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"
- }
- }
+ "webdriver": "8.38.2"
}
},
"ws": {
@@ -32958,33 +34834,27 @@
"yargs-parser": "^21.1.1"
}
},
- "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==",
- "dev": true
- },
"zip-stream": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-5.0.1.tgz",
- "integrity": "sha512-UfZ0oa0C8LI58wJ+moL46BDIMgCQbnsb+2PoiJYtonhBsMh2bq1eRBVkvjfVsqbEHd9/EgKPUuL9saSSsec8OA==",
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-6.0.1.tgz",
+ "integrity": "sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==",
"dev": true,
"requires": {
- "archiver-utils": "^4.0.1",
- "compress-commons": "^5.0.1",
- "readable-stream": "^3.6.0"
+ "archiver-utils": "^5.0.0",
+ "compress-commons": "^6.0.2",
+ "readable-stream": "^4.0.0"
}
}
}
},
"@wdio/concise-reporter": {
- "version": "8.29.1",
- "resolved": "https://registry.npmjs.org/@wdio/concise-reporter/-/concise-reporter-8.29.1.tgz",
- "integrity": "sha512-dUhClWeq1naL1Qa1nSMDeH8aCVViOKiEzhBhQjgrMOz1Mh3l6O/woqbK2iKDVZDRhfGghtGcV0vpoEUvt8ZKOA==",
+ "version": "8.38.2",
+ "resolved": "https://registry.npmjs.org/@wdio/concise-reporter/-/concise-reporter-8.38.2.tgz",
+ "integrity": "sha512-wE36By4Z9iCtRzihpYrmCehsmNc8t3gHviBsUxV4tmYh/SQr+WX/dysWnojer6KWIJ2rT0rOzyQPmrwhdFKAFg==",
"dev": true,
"requires": {
- "@wdio/reporter": "8.29.1",
- "@wdio/types": "8.29.1",
+ "@wdio/reporter": "8.38.2",
+ "@wdio/types": "8.38.2",
"chalk": "^5.0.1",
"pretty-ms": "^7.0.1"
},
@@ -32998,125 +34868,124 @@
}
},
"@wdio/config": {
- "version": "8.29.1",
- "resolved": "https://registry.npmjs.org/@wdio/config/-/config-8.29.1.tgz",
- "integrity": "sha512-zNUac4lM429HDKAitO+fdlwUH1ACQU8lww+DNVgUyuEb86xgVdTqHeiJr/3kOMJAq9IATeE7mDtYyyn6HPm1JA==",
+ "version": "8.38.2",
+ "resolved": "https://registry.npmjs.org/@wdio/config/-/config-8.38.2.tgz",
+ "integrity": "sha512-xlnapTr1vOA0h5HsHTIqj47729FbG3WjxmgHweDEQvcT4C1g9l+WKf+N3FM7DNNoIsAqxKi6rOHG02rJADQJtw==",
"dev": true,
"requires": {
- "@wdio/logger": "8.28.0",
- "@wdio/types": "8.29.1",
- "@wdio/utils": "8.29.1",
+ "@wdio/logger": "8.38.0",
+ "@wdio/types": "8.38.2",
+ "@wdio/utils": "8.38.2",
"decamelize": "^6.0.0",
"deepmerge-ts": "^5.0.0",
"glob": "^10.2.2",
"import-meta-resolve": "^4.0.0"
- },
- "dependencies": {
- "brace-expansion": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
- "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
- "dev": true,
- "requires": {
- "balanced-match": "^1.0.0"
- }
- },
- "decamelize": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-6.0.0.tgz",
- "integrity": "sha512-Fv96DCsdOgB6mdGl67MT5JaTNKRzrzill5OH5s8bjYJXVlcXyPYGyPsUkWyGV5p1TXI5esYIYMMeDJL0hEIwaA==",
- "dev": true
- },
- "glob": {
- "version": "10.3.10",
- "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz",
- "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==",
- "dev": true,
- "requires": {
- "foreground-child": "^3.1.0",
- "jackspeak": "^2.3.5",
- "minimatch": "^9.0.1",
- "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0",
- "path-scurry": "^1.10.1"
- }
- },
- "minimatch": {
- "version": "9.0.3",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz",
- "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==",
- "dev": true,
- "requires": {
- "brace-expansion": "^2.0.1"
- }
- }
}
},
"@wdio/globals": {
- "version": "8.29.1",
- "resolved": "https://registry.npmjs.org/@wdio/globals/-/globals-8.29.1.tgz",
- "integrity": "sha512-F+fPnX75f44/crZDfQ2FYSino/IMIdbnQGLIkaH0VnoljVJIHuxnX4y5Zqr4yRgurL9DsZaH22cLHrPXaHUhPg==",
+ "version": "8.38.2",
+ "resolved": "https://registry.npmjs.org/@wdio/globals/-/globals-8.38.2.tgz",
+ "integrity": "sha512-iIrUF1EODfHLh3V/CSNCqbNNxUTe3ND+c86zDjzJcPFjawLX1plvAApsU/eDmtsFShcOS2KHbfSjiydFoqQG1Q==",
"dev": true,
"requires": {
- "expect-webdriverio": "^4.9.3",
- "webdriverio": "8.29.1"
+ "expect-webdriverio": "^4.11.2",
+ "webdriverio": "8.38.2"
},
"dependencies": {
"@puppeteer/browsers": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-1.3.0.tgz",
- "integrity": "sha512-an3QdbNPkuU6qpxpbssxAbjRLJcF+eP4L8UqIY3+6n0sbaVxw5pz7PiCLy9g32XEZuoamUlV5ZQPnA6FxvkIHA==",
+ "version": "1.4.6",
+ "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-1.4.6.tgz",
+ "integrity": "sha512-x4BEjr2SjOPowNeiguzjozQbsc6h437ovD/wu+JpaenxVLm3jkgzHY2xOslMTp50HoTvQreMjiexiGQw1sqZlQ==",
"dev": true,
"optional": true,
- "peer": true,
"requires": {
"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",
"unbzip2-stream": "1.4.3",
"yargs": "17.7.1"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true,
+ "optional": true
+ }
}
},
- "@types/which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/@types/which/-/which-2.0.2.tgz",
- "integrity": "sha512-113D3mDkZDjo+EeUEHCFy0qniNc1ZpecGiAU7WSo7YDoSzolZIQKpYFHrPpjkB2nuyahcKfrmLXeQlh7gqJYdw==",
+ "agent-base": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz",
+ "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==",
"dev": true,
"optional": true,
- "peer": true
+ "requires": {
+ "debug": "^4.3.4"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.3.5",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz",
+ "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true,
+ "optional": true
+ }
+ }
},
"archiver": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/archiver/-/archiver-6.0.1.tgz",
- "integrity": "sha512-CXGy4poOLBKptiZH//VlWdFuUC1RESbdZjGjILwBuZ73P7WkAUN0htfSfBq/7k6FRFlpu7bg4JOkj1vU9G6jcQ==",
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/archiver/-/archiver-7.0.1.tgz",
+ "integrity": "sha512-ZcbTaIqJOfCc03QwD468Unz/5Ir8ATtvAHsK+FdXbDIbGfihqh9mrvdcYunQzqn4HrvWWaFyaxJhGZagaJJpPQ==",
"dev": true,
"optional": true,
"requires": {
- "archiver-utils": "^4.0.1",
+ "archiver-utils": "^5.0.2",
"async": "^3.2.4",
- "buffer-crc32": "^0.2.1",
- "readable-stream": "^3.6.0",
+ "buffer-crc32": "^1.0.0",
+ "readable-stream": "^4.0.0",
"readdir-glob": "^1.1.2",
"tar-stream": "^3.0.0",
- "zip-stream": "^5.0.1"
+ "zip-stream": "^6.0.1"
}
},
"archiver-utils": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-4.0.1.tgz",
- "integrity": "sha512-Q4Q99idbvzmgCTEAAhi32BkOyq8iVI5EwdO0PmBDSGIzzjYNdcFn7Q7k3OzbLy4kLUPXfJtG6fO2RjftXbobBg==",
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-5.0.2.tgz",
+ "integrity": "sha512-wuLJMmIBQYCsGZgYLTy5FIB2pF6Lfb6cXMSF8Qywwk3t20zWnAi7zLcQFdKQmIB8wyZpY5ER38x08GbwtR2cLA==",
"dev": true,
"optional": true,
"requires": {
- "glob": "^8.0.0",
+ "glob": "^10.0.0",
"graceful-fs": "^4.2.0",
+ "is-stream": "^2.0.1",
"lazystream": "^1.0.0",
"lodash": "^4.17.15",
"normalize-path": "^3.0.0",
- "readable-stream": "^3.6.0"
+ "readable-stream": "^4.0.0"
}
},
"async": {
@@ -33136,10 +35005,28 @@
"balanced-match": "^1.0.0"
}
},
+ "buffer": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
+ "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "base64-js": "^1.3.1",
+ "ieee754": "^1.2.1"
+ }
+ },
+ "buffer-crc32": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-1.0.0.tgz",
+ "integrity": "sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w==",
+ "dev": true,
+ "optional": true
+ },
"chrome-launcher": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/chrome-launcher/-/chrome-launcher-1.1.0.tgz",
- "integrity": "sha512-rJYWeEAERwWIr3c3mEVXwNiODPEdMRlRxHc47B1qHPOolHZnkj7rMv1QSUfPoG6MgatWj5AxSpnKKR4QEwEQIQ==",
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/chrome-launcher/-/chrome-launcher-1.1.2.tgz",
+ "integrity": "sha512-YclTJey34KUm5jB1aEJCq807bSievi7Nb/TU4Gu504fUYi3jw3KCIaH6L7nFWQhdEgH3V+wCh+kKD1P5cXnfxw==",
"dev": true,
"optional": true,
"peer": true,
@@ -33151,96 +35038,245 @@
}
},
"compress-commons": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-5.0.1.tgz",
- "integrity": "sha512-MPh//1cERdLtqwO3pOFLeXtpuai0Y2WCd5AhtKxznqM7WtaMYaOEMSgn45d9D10sIHSfIKE603HlOp8OPGrvag==",
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-6.0.2.tgz",
+ "integrity": "sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg==",
"dev": true,
"optional": true,
"requires": {
"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.0.0"
}
},
"crc32-stream": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-5.0.0.tgz",
- "integrity": "sha512-B0EPa1UK+qnpBZpG+7FgPCu0J2ETLpXq09o9BkLkEAhdB6Z61Qo4pJ3JYu0c+Qi+/SAL7QThqnzS06pmSSyZaw==",
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-6.0.0.tgz",
+ "integrity": "sha512-piICUB6ei4IlTv1+653yq5+KoqfBYmj9bw6LqXoOneTMDXk5nM1qt12mFW1caG3LlJXEKW1Bp0WggEmIfQB34g==",
"dev": true,
"optional": true,
"requires": {
"crc-32": "^1.2.0",
- "readable-stream": "^3.4.0"
+ "readable-stream": "^4.0.0"
}
},
"cross-fetch": {
- "version": "3.1.6",
- "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.6.tgz",
- "integrity": "sha512-riRvo06crlE8HiqOwIpQhxwdOk4fOeR7FVM/wXoxchFEqMNUjvbs3bfo4OTgMEMHzppd4DxFBDbyySj8Cv781g==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.0.0.tgz",
+ "integrity": "sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "node-fetch": "^2.6.12"
+ }
+ },
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"dev": true,
"optional": true,
"peer": true,
"requires": {
- "node-fetch": "^2.6.11"
+ "ms": "2.0.0"
}
},
"devtools": {
- "version": "8.29.1",
- "resolved": "https://registry.npmjs.org/devtools/-/devtools-8.29.1.tgz",
- "integrity": "sha512-fbH0Z7CPK4OZSgUw2QcAppczowxtSyvFztPUmiFyi99cUadjEOwlg0aL3pBVlIDo67olYjGb8GD1M5Z4yI/P6w==",
+ "version": "8.38.2",
+ "resolved": "https://registry.npmjs.org/devtools/-/devtools-8.38.2.tgz",
+ "integrity": "sha512-8b+naOPzYqzsiYtZZKYJnUnSqSOIg5orvna2SlWT2kFhkggbAJ1bbMzW7rps6onLfxp93wCNEIvngb9JuxwDsg==",
"dev": true,
"optional": true,
"peer": true,
"requires": {
"@types/node": "^20.1.0",
- "@wdio/config": "8.29.1",
- "@wdio/logger": "8.28.0",
- "@wdio/protocols": "8.24.12",
- "@wdio/types": "8.29.1",
- "@wdio/utils": "8.29.1",
+ "@wdio/config": "8.38.2",
+ "@wdio/logger": "8.38.0",
+ "@wdio/protocols": "8.38.0",
+ "@wdio/types": "8.38.2",
+ "@wdio/utils": "8.38.2",
"chrome-launcher": "^1.0.0",
"edge-paths": "^3.0.5",
"import-meta-resolve": "^4.0.0",
"puppeteer-core": "20.3.0",
"query-selector-shadow-dom": "^1.0.0",
- "ua-parser-js": "^1.0.1",
+ "ua-parser-js": "^1.0.37",
"uuid": "^9.0.0",
"which": "^4.0.0"
},
"dependencies": {
- "which": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz",
- "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==",
+ "@puppeteer/browsers": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-1.3.0.tgz",
+ "integrity": "sha512-an3QdbNPkuU6qpxpbssxAbjRLJcF+eP4L8UqIY3+6n0sbaVxw5pz7PiCLy9g32XEZuoamUlV5ZQPnA6FxvkIHA==",
+ "dev": true,
+ "optional": true,
+ "peer": true,
+ "requires": {
+ "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",
+ "unbzip2-stream": "1.4.3",
+ "yargs": "17.7.1"
+ }
+ },
+ "agent-base": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
+ "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
+ "dev": true,
+ "optional": true,
+ "peer": true,
+ "requires": {
+ "debug": "4"
+ }
+ },
+ "chromium-bidi": {
+ "version": "0.4.9",
+ "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-0.4.9.tgz",
+ "integrity": "sha512-u3DC6XwgLCA9QJ5ak1voPslCmacQdulZNCPsI3qNXxSnEcZS7DFIbww+5RM2bznMEje7cc0oydavRLRvOIZtHw==",
+ "dev": true,
+ "optional": true,
+ "peer": true,
+ "requires": {
+ "mitt": "3.0.0"
+ }
+ },
+ "cross-fetch": {
+ "version": "3.1.6",
+ "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.6.tgz",
+ "integrity": "sha512-riRvo06crlE8HiqOwIpQhxwdOk4fOeR7FVM/wXoxchFEqMNUjvbs3bfo4OTgMEMHzppd4DxFBDbyySj8Cv781g==",
+ "dev": true,
+ "optional": true,
+ "peer": true,
+ "requires": {
+ "node-fetch": "^2.6.11"
+ }
+ },
+ "debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "dev": true,
+ "optional": true,
+ "peer": true,
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "devtools-protocol": {
+ "version": "0.0.1120988",
+ "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1120988.tgz",
+ "integrity": "sha512-39fCpE3Z78IaIPChJsP6Lhmkbf4dWXOmzLk/KFTdRkNk/0JymRIfUynDVRndV9HoDz8PyalK1UH21ST/ivwW5Q==",
+ "dev": true,
+ "optional": true,
+ "peer": true
+ },
+ "http-proxy-agent": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz",
+ "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==",
+ "dev": true,
+ "optional": true,
+ "peer": true,
+ "requires": {
+ "@tootallnate/once": "2",
+ "agent-base": "6",
+ "debug": "4"
+ }
+ },
+ "https-proxy-agent": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
+ "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
+ "dev": true,
+ "optional": true,
+ "peer": true,
+ "requires": {
+ "agent-base": "6",
+ "debug": "4"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true,
+ "optional": true,
+ "peer": true
+ },
+ "puppeteer-core": {
+ "version": "20.3.0",
+ "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-20.3.0.tgz",
+ "integrity": "sha512-264pBrIui5bO6NJeOcbJrLa0OCwmA4+WK00JMrLIKTfRiqe2gx8KWTzLsjyw/bizErp3TKS7vt/I0i5fTC+mAw==",
+ "dev": true,
+ "optional": true,
+ "peer": true,
+ "requires": {
+ "@puppeteer/browsers": "1.3.0",
+ "chromium-bidi": "0.4.9",
+ "cross-fetch": "3.1.6",
+ "debug": "4.3.4",
+ "devtools-protocol": "0.0.1120988",
+ "ws": "8.13.0"
+ }
+ },
+ "readable-stream": {
+ "version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
+ "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
+ "dev": true,
+ "optional": true,
+ "peer": true,
+ "requires": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ }
+ },
+ "tar-fs": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz",
+ "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==",
+ "dev": true,
+ "optional": true,
+ "peer": true,
+ "requires": {
+ "chownr": "^1.1.1",
+ "mkdirp-classic": "^0.5.2",
+ "pump": "^3.0.0",
+ "tar-stream": "^2.1.4"
+ }
+ },
+ "tar-stream": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz",
+ "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==",
"dev": true,
"optional": true,
"peer": true,
"requires": {
- "isexe": "^3.1.1"
+ "bl": "^4.0.3",
+ "end-of-stream": "^1.4.1",
+ "fs-constants": "^1.0.0",
+ "inherits": "^2.0.3",
+ "readable-stream": "^3.1.1"
}
}
}
},
"devtools-protocol": {
- "version": "0.0.1120988",
- "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1120988.tgz",
- "integrity": "sha512-39fCpE3Z78IaIPChJsP6Lhmkbf4dWXOmzLk/KFTdRkNk/0JymRIfUynDVRndV9HoDz8PyalK1UH21ST/ivwW5Q==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "edge-paths": {
- "version": "3.0.5",
- "resolved": "https://registry.npmjs.org/edge-paths/-/edge-paths-3.0.5.tgz",
- "integrity": "sha512-sB7vSrDnFa4ezWQk9nZ/n0FdpdUuC6R1EOrlU3DL+bovcNFK28rqu2emmAUjujYEJTWIgQGqgVVWUZXMnc8iWg==",
+ "version": "0.0.1302984",
+ "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1302984.tgz",
+ "integrity": "sha512-Rgh2Sk5fUSCtEx4QGH9iwTyECdFPySG2nlz5J8guGh2Wlha6uzSOCq/DCEC8faHlLaMPZJMuZ4ovgcX4LvOkKA==",
"dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "@types/which": "^2.0.1",
- "which": "^2.0.2"
- }
+ "optional": true
},
"escape-string-regexp": {
"version": "4.0.0",
@@ -33250,52 +35286,42 @@
"optional": true,
"peer": true
},
- "glob": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz",
- "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==",
+ "https-proxy-agent": {
+ "version": "7.0.4",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz",
+ "integrity": "sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==",
"dev": true,
"optional": true,
"requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^5.0.1",
- "once": "^1.3.0"
+ "agent-base": "^7.0.2",
+ "debug": "4"
},
"dependencies": {
- "minimatch": {
- "version": "5.1.6",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
- "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
+ "debug": {
+ "version": "4.3.5",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz",
+ "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==",
"dev": true,
"optional": true,
"requires": {
- "brace-expansion": "^2.0.1"
+ "ms": "2.1.2"
}
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true,
+ "optional": true
}
}
},
- "http-proxy-agent": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz",
- "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "@tootallnate/once": "2",
- "agent-base": "6",
- "debug": "4"
- }
- },
- "isexe": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz",
- "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==",
+ "is-stream": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
+ "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
"dev": true,
- "optional": true,
- "peer": true
+ "optional": true
},
"lighthouse-logger": {
"version": "2.0.1",
@@ -33307,19 +35333,6 @@
"requires": {
"debug": "^2.6.9",
"marky": "^1.2.2"
- },
- "dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "ms": "2.0.0"
- }
- }
}
},
"lru-cache": {
@@ -33330,9 +35343,9 @@
"optional": true
},
"minimatch": {
- "version": "9.0.3",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz",
- "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==",
+ "version": "9.0.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz",
+ "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==",
"dev": true,
"optional": true,
"requires": {
@@ -33374,66 +35387,78 @@
"socks-proxy-agent": "^8.0.1"
},
"dependencies": {
- "agent-base": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz",
- "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==",
- "dev": true,
- "optional": true,
- "requires": {
- "debug": "^4.3.4"
- }
- },
- "http-proxy-agent": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.0.tgz",
- "integrity": "sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==",
+ "debug": {
+ "version": "4.3.5",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz",
+ "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==",
"dev": true,
"optional": true,
"requires": {
- "agent-base": "^7.1.0",
- "debug": "^4.3.4"
+ "ms": "2.1.2"
}
},
- "https-proxy-agent": {
- "version": "7.0.2",
- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz",
- "integrity": "sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==",
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
"dev": true,
- "optional": true,
- "requires": {
- "agent-base": "^7.0.2",
- "debug": "4"
- }
+ "optional": true
}
}
},
"puppeteer-core": {
- "version": "20.3.0",
- "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-20.3.0.tgz",
- "integrity": "sha512-264pBrIui5bO6NJeOcbJrLa0OCwmA4+WK00JMrLIKTfRiqe2gx8KWTzLsjyw/bizErp3TKS7vt/I0i5fTC+mAw==",
+ "version": "20.9.0",
+ "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-20.9.0.tgz",
+ "integrity": "sha512-H9fYZQzMTRrkboEfPmf7m3CLDN6JvbxXA3qTtS+dFt27tR+CsFHzPsT6pzp6lYL6bJbAPaR0HaPO6uSi+F94Pg==",
"dev": true,
"optional": true,
- "peer": true,
"requires": {
- "@puppeteer/browsers": "1.3.0",
- "chromium-bidi": "0.4.9",
- "cross-fetch": "3.1.6",
+ "@puppeteer/browsers": "1.4.6",
+ "chromium-bidi": "0.4.16",
+ "cross-fetch": "4.0.0",
"debug": "4.3.4",
- "devtools-protocol": "0.0.1120988",
+ "devtools-protocol": "0.0.1147663",
"ws": "8.13.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "devtools-protocol": {
+ "version": "0.0.1147663",
+ "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1147663.tgz",
+ "integrity": "sha512-hyWmRrexdhbZ1tcJUGpO95ivbRhWXz++F4Ko+n21AY5PNln2ovoJw+8ZMNDTtip+CNFQfrtLVh/w4009dXO/eQ==",
+ "dev": true,
+ "optional": true
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true,
+ "optional": true
+ }
}
},
"readable-stream": {
- "version": "3.6.2",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
- "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
+ "version": "4.5.2",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz",
+ "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==",
"dev": true,
"optional": true,
"requires": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
+ "abort-controller": "^3.0.0",
+ "buffer": "^6.0.3",
+ "events": "^3.3.0",
+ "process": "^0.11.10",
+ "string_decoder": "^1.3.0"
}
},
"serialize-error": {
@@ -33446,16 +35471,14 @@
"type-fest": "^2.12.2"
}
},
- "tar-stream": {
- "version": "3.1.7",
- "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz",
- "integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==",
+ "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==",
"dev": true,
"optional": true,
"requires": {
- "b4a": "^1.6.4",
- "fast-fifo": "^1.2.0",
- "streamx": "^2.15.0"
+ "safe-buffer": "~5.2.0"
}
},
"type-fest": {
@@ -33466,43 +35489,36 @@
"optional": true
},
"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==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "uuid": {
- "version": "9.0.1",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz",
- "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==",
+ "version": "1.0.38",
+ "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.38.tgz",
+ "integrity": "sha512-Aq5ppTOfvrCMgAPneW1HfWj66Xi7XL+/mIy996R1/CLS/rcyJQm6QZdsKrUeivDFQ+Oc9Wyuwor8Ze8peEoUoQ==",
"dev": true,
"optional": true,
"peer": true
},
"webdriverio": {
- "version": "8.29.1",
- "resolved": "https://registry.npmjs.org/webdriverio/-/webdriverio-8.29.1.tgz",
- "integrity": "sha512-NZK95ivXCqdPraB3FHMw6ByxnCvtgFXkjzG2l3Oq5z0IuJS2aMow3AKFIyiuG6is/deGCe+Tb8eFTCqak7UV+w==",
+ "version": "8.38.2",
+ "resolved": "https://registry.npmjs.org/webdriverio/-/webdriverio-8.38.2.tgz",
+ "integrity": "sha512-r09y5UfivyYh5JOzT2SpJJ1zDmQl/R4OTH12opUqkjvp21BibCQm/uu1mrxGy4lzSHljrvqSVrrcGI+6UA1O8w==",
"dev": true,
"optional": true,
"requires": {
"@types/node": "^20.1.0",
- "@wdio/config": "8.29.1",
- "@wdio/logger": "8.28.0",
- "@wdio/protocols": "8.24.12",
+ "@wdio/config": "8.38.2",
+ "@wdio/logger": "8.38.0",
+ "@wdio/protocols": "8.38.0",
"@wdio/repl": "8.24.12",
- "@wdio/types": "8.29.1",
- "@wdio/utils": "8.29.1",
- "archiver": "^6.0.0",
+ "@wdio/types": "8.38.2",
+ "@wdio/utils": "8.38.2",
+ "archiver": "^7.0.0",
"aria-query": "^5.0.0",
"css-shorthand-properties": "^1.1.1",
"css-value": "^0.0.1",
- "devtools-protocol": "^0.0.1249869",
+ "devtools-protocol": "^0.0.1302984",
"grapheme-splitter": "^1.0.2",
"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.0",
@@ -33511,88 +35527,7 @@
"resq": "^1.9.1",
"rgb2hex": "0.2.5",
"serialize-error": "^11.0.1",
- "webdriver": "8.29.1"
- },
- "dependencies": {
- "@puppeteer/browsers": {
- "version": "1.4.6",
- "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-1.4.6.tgz",
- "integrity": "sha512-x4BEjr2SjOPowNeiguzjozQbsc6h437ovD/wu+JpaenxVLm3jkgzHY2xOslMTp50HoTvQreMjiexiGQw1sqZlQ==",
- "dev": true,
- "optional": true,
- "requires": {
- "debug": "4.3.4",
- "extract-zip": "2.0.1",
- "progress": "2.0.3",
- "proxy-agent": "6.3.0",
- "tar-fs": "3.0.4",
- "unbzip2-stream": "1.4.3",
- "yargs": "17.7.1"
- }
- },
- "chromium-bidi": {
- "version": "0.4.16",
- "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-0.4.16.tgz",
- "integrity": "sha512-7ZbXdWERxRxSwo3txsBjjmc/NLxqb1Bk30mRb0BMS4YIaiV6zvKZqL/UAH+DdqcDYayDWk2n/y8klkBDODrPvA==",
- "dev": true,
- "optional": true,
- "requires": {
- "mitt": "3.0.0"
- }
- },
- "cross-fetch": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.0.0.tgz",
- "integrity": "sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==",
- "dev": true,
- "optional": true,
- "requires": {
- "node-fetch": "^2.6.12"
- }
- },
- "devtools-protocol": {
- "version": "0.0.1249869",
- "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1249869.tgz",
- "integrity": "sha512-Ctp4hInA0BEavlUoRy9mhGq0i+JSo/AwVyX2EFgZmV1kYB+Zq+EMBAn52QWu6FbRr10hRb6pBl420upbp4++vg==",
- "dev": true,
- "optional": true
- },
- "puppeteer-core": {
- "version": "20.9.0",
- "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-20.9.0.tgz",
- "integrity": "sha512-H9fYZQzMTRrkboEfPmf7m3CLDN6JvbxXA3qTtS+dFt27tR+CsFHzPsT6pzp6lYL6bJbAPaR0HaPO6uSi+F94Pg==",
- "dev": true,
- "optional": true,
- "requires": {
- "@puppeteer/browsers": "1.4.6",
- "chromium-bidi": "0.4.16",
- "cross-fetch": "4.0.0",
- "debug": "4.3.4",
- "devtools-protocol": "0.0.1147663",
- "ws": "8.13.0"
- },
- "dependencies": {
- "devtools-protocol": {
- "version": "0.0.1147663",
- "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1147663.tgz",
- "integrity": "sha512-hyWmRrexdhbZ1tcJUGpO95ivbRhWXz++F4Ko+n21AY5PNln2ovoJw+8ZMNDTtip+CNFQfrtLVh/w4009dXO/eQ==",
- "dev": true,
- "optional": true
- }
- }
- },
- "tar-fs": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.4.tgz",
- "integrity": "sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w==",
- "dev": true,
- "optional": true,
- "requires": {
- "mkdirp-classic": "^0.5.2",
- "pump": "^3.0.0",
- "tar-stream": "^3.1.5"
- }
- }
+ "webdriver": "8.38.2"
}
},
"ws": {
@@ -33620,39 +35555,39 @@
}
},
"zip-stream": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-5.0.1.tgz",
- "integrity": "sha512-UfZ0oa0C8LI58wJ+moL46BDIMgCQbnsb+2PoiJYtonhBsMh2bq1eRBVkvjfVsqbEHd9/EgKPUuL9saSSsec8OA==",
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-6.0.1.tgz",
+ "integrity": "sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==",
"dev": true,
"optional": true,
"requires": {
- "archiver-utils": "^4.0.1",
- "compress-commons": "^5.0.1",
- "readable-stream": "^3.6.0"
+ "archiver-utils": "^5.0.0",
+ "compress-commons": "^6.0.2",
+ "readable-stream": "^4.0.0"
}
}
}
},
"@wdio/local-runner": {
- "version": "8.29.1",
- "resolved": "https://registry.npmjs.org/@wdio/local-runner/-/local-runner-8.29.1.tgz",
- "integrity": "sha512-Z3QAgxe1uQ97C7NS1CdMhgmHaLu/sbb47HTbw1yuuLk+SwsBIQGhNpTSA18QVRSUXq70G3bFvjACwqyap1IEQg==",
+ "version": "8.38.2",
+ "resolved": "https://registry.npmjs.org/@wdio/local-runner/-/local-runner-8.38.2.tgz",
+ "integrity": "sha512-syW+R5VUHJ3GBkQGFcNYe6MYwWRgklc9W7A83xQDTvKWFNHCetLvc8AtKZ54vs8MItBejjU+Oh94ZNbNX1pBcg==",
"dev": true,
"requires": {
"@types/node": "^20.1.0",
- "@wdio/logger": "8.28.0",
+ "@wdio/logger": "8.38.0",
"@wdio/repl": "8.24.12",
- "@wdio/runner": "8.29.1",
- "@wdio/types": "8.29.1",
+ "@wdio/runner": "8.38.2",
+ "@wdio/types": "8.38.2",
"async-exit-hook": "^2.0.1",
"split2": "^4.1.0",
"stream-buffers": "^3.0.2"
}
},
"@wdio/logger": {
- "version": "8.28.0",
- "resolved": "https://registry.npmjs.org/@wdio/logger/-/logger-8.28.0.tgz",
- "integrity": "sha512-/s6zNCqwy1hoc+K4SJypis0Ud0dlJ+urOelJFO1x0G0rwDRWyFiUP6ijTaCcFxAm29jYEcEPWijl2xkVIHwOyA==",
+ "version": "8.38.0",
+ "resolved": "https://registry.npmjs.org/@wdio/logger/-/logger-8.38.0.tgz",
+ "integrity": "sha512-kcHL86RmNbcQP+Gq/vQUGlArfU6IIcbbnNp32rRIraitomZow+iEoc519rdQmSVusDozMS5DZthkgDdxK+vz6Q==",
"dev": true,
"requires": {
"chalk": "^5.1.2",
@@ -33661,47 +35596,32 @@
"strip-ansi": "^7.1.0"
},
"dependencies": {
- "ansi-regex": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz",
- "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==",
- "dev": true
- },
"chalk": {
"version": "5.3.0",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz",
"integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==",
"dev": true
- },
- "strip-ansi": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
- "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
- "dev": true,
- "requires": {
- "ansi-regex": "^6.0.1"
- }
}
}
},
"@wdio/mocha-framework": {
- "version": "8.29.1",
- "resolved": "https://registry.npmjs.org/@wdio/mocha-framework/-/mocha-framework-8.29.1.tgz",
- "integrity": "sha512-R9dKMNqWgtUvZo33ORjUQV8Z/WLX5h/pg9u/xIvZSGXuNSw1h+5DWF6UiNFscxBFblL9UvBi6V9ila2LHgE4ew==",
+ "version": "8.38.2",
+ "resolved": "https://registry.npmjs.org/@wdio/mocha-framework/-/mocha-framework-8.38.2.tgz",
+ "integrity": "sha512-qJmRL5E6/ypjCUACH4hvCAAmTdU4YUrUlp9o/IKvTIAHMnZPE0/HgUFixCeu8Mop+rdzTPVBrbqxpRDdSnraYA==",
"dev": true,
"requires": {
"@types/mocha": "^10.0.0",
"@types/node": "^20.1.0",
- "@wdio/logger": "8.28.0",
- "@wdio/types": "8.29.1",
- "@wdio/utils": "8.29.1",
+ "@wdio/logger": "8.38.0",
+ "@wdio/types": "8.38.2",
+ "@wdio/utils": "8.38.2",
"mocha": "^10.0.0"
}
},
"@wdio/protocols": {
- "version": "8.24.12",
- "resolved": "https://registry.npmjs.org/@wdio/protocols/-/protocols-8.24.12.tgz",
- "integrity": "sha512-QnVj3FkapmVD3h2zoZk+ZQ8gevSj9D9MiIQIy8eOnY4FAneYZ9R9GvoW+mgNcCZO8S8++S/jZHetR8n+8Q808g==",
+ "version": "8.38.0",
+ "resolved": "https://registry.npmjs.org/@wdio/protocols/-/protocols-8.38.0.tgz",
+ "integrity": "sha512-7BPi7aXwUtnXZPeWJRmnCNFjyDvGrXlBmN9D4Pi58nILkyjVRQKEY9/qv/pcdyB0cvmIvw++Kl/1Lg+RxG++UA==",
"dev": true
},
"@wdio/repl": {
@@ -33714,91 +35634,123 @@
}
},
"@wdio/reporter": {
- "version": "8.29.1",
- "resolved": "https://registry.npmjs.org/@wdio/reporter/-/reporter-8.29.1.tgz",
- "integrity": "sha512-LZeYHC+HHJRYiFH9odaotDazZh0zNhu4mTuL/T/e3c/Q3oPSQjLvfQYhB3Ece1QA9PKjP1VPmr+g9CvC0lMixA==",
+ "version": "8.38.2",
+ "resolved": "https://registry.npmjs.org/@wdio/reporter/-/reporter-8.38.2.tgz",
+ "integrity": "sha512-R78UdAtAnkaV22NYlCCcbPPhmYweiDURiw64LYhlVIQrKNuXUQcafR2kRlWKy31rZc9thSLs5LzrZDReENUlFQ==",
"dev": true,
"requires": {
"@types/node": "^20.1.0",
- "@wdio/logger": "8.28.0",
- "@wdio/types": "8.29.1",
+ "@wdio/logger": "8.38.0",
+ "@wdio/types": "8.38.2",
"diff": "^5.0.0",
"object-inspect": "^1.12.0"
}
},
"@wdio/runner": {
- "version": "8.29.1",
- "resolved": "https://registry.npmjs.org/@wdio/runner/-/runner-8.29.1.tgz",
- "integrity": "sha512-MvYFf4RgRmzxjAzy6nxvaDG1ycBRvoz772fT06csjxuaVYm57s8mlB8X+U1UQMx/IzujAb53fSeAmNcyU3FNEA==",
+ "version": "8.38.2",
+ "resolved": "https://registry.npmjs.org/@wdio/runner/-/runner-8.38.2.tgz",
+ "integrity": "sha512-5lPnKSX2BBLI2AbYW+hoGPiEUAJXj8F8I6NC2LaBVzf1CLN+w2HWZ7lUiqS14XT0b5/hlSUX6+JYwUXlDbpuuw==",
"dev": true,
"requires": {
- "@types/node": "^20.1.0",
- "@wdio/config": "8.29.1",
- "@wdio/globals": "8.29.1",
- "@wdio/logger": "8.28.0",
- "@wdio/types": "8.29.1",
- "@wdio/utils": "8.29.1",
- "deepmerge-ts": "^5.0.0",
- "expect-webdriverio": "^4.9.3",
- "gaze": "^1.1.2",
- "webdriver": "8.29.1",
- "webdriverio": "8.29.1"
+ "@types/node": "^20.11.28",
+ "@wdio/config": "8.38.2",
+ "@wdio/globals": "8.38.2",
+ "@wdio/logger": "8.38.0",
+ "@wdio/types": "8.38.2",
+ "@wdio/utils": "8.38.2",
+ "deepmerge-ts": "^5.1.0",
+ "expect-webdriverio": "^4.12.0",
+ "gaze": "^1.1.3",
+ "webdriver": "8.38.2",
+ "webdriverio": "8.38.2"
},
"dependencies": {
"@puppeteer/browsers": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-1.3.0.tgz",
- "integrity": "sha512-an3QdbNPkuU6qpxpbssxAbjRLJcF+eP4L8UqIY3+6n0sbaVxw5pz7PiCLy9g32XEZuoamUlV5ZQPnA6FxvkIHA==",
+ "version": "1.4.6",
+ "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-1.4.6.tgz",
+ "integrity": "sha512-x4BEjr2SjOPowNeiguzjozQbsc6h437ovD/wu+JpaenxVLm3jkgzHY2xOslMTp50HoTvQreMjiexiGQw1sqZlQ==",
"dev": true,
- "optional": true,
- "peer": true,
"requires": {
"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",
"unbzip2-stream": "1.4.3",
"yargs": "17.7.1"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "dev": true,
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true
+ }
}
},
- "@types/which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/@types/which/-/which-2.0.2.tgz",
- "integrity": "sha512-113D3mDkZDjo+EeUEHCFy0qniNc1ZpecGiAU7WSo7YDoSzolZIQKpYFHrPpjkB2nuyahcKfrmLXeQlh7gqJYdw==",
+ "agent-base": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz",
+ "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==",
"dev": true,
- "optional": true,
- "peer": true
+ "requires": {
+ "debug": "^4.3.4"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.3.5",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz",
+ "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==",
+ "dev": true,
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true
+ }
+ }
},
"archiver": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/archiver/-/archiver-6.0.1.tgz",
- "integrity": "sha512-CXGy4poOLBKptiZH//VlWdFuUC1RESbdZjGjILwBuZ73P7WkAUN0htfSfBq/7k6FRFlpu7bg4JOkj1vU9G6jcQ==",
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/archiver/-/archiver-7.0.1.tgz",
+ "integrity": "sha512-ZcbTaIqJOfCc03QwD468Unz/5Ir8ATtvAHsK+FdXbDIbGfihqh9mrvdcYunQzqn4HrvWWaFyaxJhGZagaJJpPQ==",
"dev": true,
"requires": {
- "archiver-utils": "^4.0.1",
+ "archiver-utils": "^5.0.2",
"async": "^3.2.4",
- "buffer-crc32": "^0.2.1",
- "readable-stream": "^3.6.0",
+ "buffer-crc32": "^1.0.0",
+ "readable-stream": "^4.0.0",
"readdir-glob": "^1.1.2",
"tar-stream": "^3.0.0",
- "zip-stream": "^5.0.1"
+ "zip-stream": "^6.0.1"
}
},
"archiver-utils": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-4.0.1.tgz",
- "integrity": "sha512-Q4Q99idbvzmgCTEAAhi32BkOyq8iVI5EwdO0PmBDSGIzzjYNdcFn7Q7k3OzbLy4kLUPXfJtG6fO2RjftXbobBg==",
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-5.0.2.tgz",
+ "integrity": "sha512-wuLJMmIBQYCsGZgYLTy5FIB2pF6Lfb6cXMSF8Qywwk3t20zWnAi7zLcQFdKQmIB8wyZpY5ER38x08GbwtR2cLA==",
"dev": true,
"requires": {
- "glob": "^8.0.0",
+ "glob": "^10.0.0",
"graceful-fs": "^4.2.0",
+ "is-stream": "^2.0.1",
"lazystream": "^1.0.0",
"lodash": "^4.17.15",
"normalize-path": "^3.0.0",
- "readable-stream": "^3.6.0"
+ "readable-stream": "^4.0.0"
}
},
"async": {
@@ -33816,10 +35768,26 @@
"balanced-match": "^1.0.0"
}
},
+ "buffer": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
+ "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
+ "dev": true,
+ "requires": {
+ "base64-js": "^1.3.1",
+ "ieee754": "^1.2.1"
+ }
+ },
+ "buffer-crc32": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-1.0.0.tgz",
+ "integrity": "sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w==",
+ "dev": true
+ },
"chrome-launcher": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/chrome-launcher/-/chrome-launcher-1.1.0.tgz",
- "integrity": "sha512-rJYWeEAERwWIr3c3mEVXwNiODPEdMRlRxHc47B1qHPOolHZnkj7rMv1QSUfPoG6MgatWj5AxSpnKKR4QEwEQIQ==",
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/chrome-launcher/-/chrome-launcher-1.1.2.tgz",
+ "integrity": "sha512-YclTJey34KUm5jB1aEJCq807bSievi7Nb/TU4Gu504fUYi3jw3KCIaH6L7nFWQhdEgH3V+wCh+kKD1P5cXnfxw==",
"dev": true,
"optional": true,
"peer": true,
@@ -33831,94 +35799,241 @@
}
},
"compress-commons": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-5.0.1.tgz",
- "integrity": "sha512-MPh//1cERdLtqwO3pOFLeXtpuai0Y2WCd5AhtKxznqM7WtaMYaOEMSgn45d9D10sIHSfIKE603HlOp8OPGrvag==",
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-6.0.2.tgz",
+ "integrity": "sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg==",
"dev": true,
"requires": {
"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.0.0"
}
},
"crc32-stream": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-5.0.0.tgz",
- "integrity": "sha512-B0EPa1UK+qnpBZpG+7FgPCu0J2ETLpXq09o9BkLkEAhdB6Z61Qo4pJ3JYu0c+Qi+/SAL7QThqnzS06pmSSyZaw==",
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-6.0.0.tgz",
+ "integrity": "sha512-piICUB6ei4IlTv1+653yq5+KoqfBYmj9bw6LqXoOneTMDXk5nM1qt12mFW1caG3LlJXEKW1Bp0WggEmIfQB34g==",
"dev": true,
"requires": {
"crc-32": "^1.2.0",
- "readable-stream": "^3.4.0"
+ "readable-stream": "^4.0.0"
}
},
"cross-fetch": {
- "version": "3.1.6",
- "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.6.tgz",
- "integrity": "sha512-riRvo06crlE8HiqOwIpQhxwdOk4fOeR7FVM/wXoxchFEqMNUjvbs3bfo4OTgMEMHzppd4DxFBDbyySj8Cv781g==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.0.0.tgz",
+ "integrity": "sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==",
+ "dev": true,
+ "requires": {
+ "node-fetch": "^2.6.12"
+ }
+ },
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"dev": true,
"optional": true,
"peer": true,
"requires": {
- "node-fetch": "^2.6.11"
+ "ms": "2.0.0"
}
},
"devtools": {
- "version": "8.29.1",
- "resolved": "https://registry.npmjs.org/devtools/-/devtools-8.29.1.tgz",
- "integrity": "sha512-fbH0Z7CPK4OZSgUw2QcAppczowxtSyvFztPUmiFyi99cUadjEOwlg0aL3pBVlIDo67olYjGb8GD1M5Z4yI/P6w==",
+ "version": "8.38.2",
+ "resolved": "https://registry.npmjs.org/devtools/-/devtools-8.38.2.tgz",
+ "integrity": "sha512-8b+naOPzYqzsiYtZZKYJnUnSqSOIg5orvna2SlWT2kFhkggbAJ1bbMzW7rps6onLfxp93wCNEIvngb9JuxwDsg==",
"dev": true,
"optional": true,
"peer": true,
"requires": {
"@types/node": "^20.1.0",
- "@wdio/config": "8.29.1",
- "@wdio/logger": "8.28.0",
- "@wdio/protocols": "8.24.12",
- "@wdio/types": "8.29.1",
- "@wdio/utils": "8.29.1",
+ "@wdio/config": "8.38.2",
+ "@wdio/logger": "8.38.0",
+ "@wdio/protocols": "8.38.0",
+ "@wdio/types": "8.38.2",
+ "@wdio/utils": "8.38.2",
"chrome-launcher": "^1.0.0",
"edge-paths": "^3.0.5",
"import-meta-resolve": "^4.0.0",
"puppeteer-core": "20.3.0",
"query-selector-shadow-dom": "^1.0.0",
- "ua-parser-js": "^1.0.1",
+ "ua-parser-js": "^1.0.37",
"uuid": "^9.0.0",
"which": "^4.0.0"
},
"dependencies": {
- "which": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz",
- "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==",
+ "@puppeteer/browsers": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-1.3.0.tgz",
+ "integrity": "sha512-an3QdbNPkuU6qpxpbssxAbjRLJcF+eP4L8UqIY3+6n0sbaVxw5pz7PiCLy9g32XEZuoamUlV5ZQPnA6FxvkIHA==",
+ "dev": true,
+ "optional": true,
+ "peer": true,
+ "requires": {
+ "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",
+ "unbzip2-stream": "1.4.3",
+ "yargs": "17.7.1"
+ }
+ },
+ "agent-base": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
+ "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
+ "dev": true,
+ "optional": true,
+ "peer": true,
+ "requires": {
+ "debug": "4"
+ }
+ },
+ "chromium-bidi": {
+ "version": "0.4.9",
+ "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-0.4.9.tgz",
+ "integrity": "sha512-u3DC6XwgLCA9QJ5ak1voPslCmacQdulZNCPsI3qNXxSnEcZS7DFIbww+5RM2bznMEje7cc0oydavRLRvOIZtHw==",
+ "dev": true,
+ "optional": true,
+ "peer": true,
+ "requires": {
+ "mitt": "3.0.0"
+ }
+ },
+ "cross-fetch": {
+ "version": "3.1.6",
+ "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.6.tgz",
+ "integrity": "sha512-riRvo06crlE8HiqOwIpQhxwdOk4fOeR7FVM/wXoxchFEqMNUjvbs3bfo4OTgMEMHzppd4DxFBDbyySj8Cv781g==",
+ "dev": true,
+ "optional": true,
+ "peer": true,
+ "requires": {
+ "node-fetch": "^2.6.11"
+ }
+ },
+ "debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "dev": true,
+ "optional": true,
+ "peer": true,
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "devtools-protocol": {
+ "version": "0.0.1120988",
+ "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1120988.tgz",
+ "integrity": "sha512-39fCpE3Z78IaIPChJsP6Lhmkbf4dWXOmzLk/KFTdRkNk/0JymRIfUynDVRndV9HoDz8PyalK1UH21ST/ivwW5Q==",
+ "dev": true,
+ "optional": true,
+ "peer": true
+ },
+ "http-proxy-agent": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz",
+ "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==",
+ "dev": true,
+ "optional": true,
+ "peer": true,
+ "requires": {
+ "@tootallnate/once": "2",
+ "agent-base": "6",
+ "debug": "4"
+ }
+ },
+ "https-proxy-agent": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
+ "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
+ "dev": true,
+ "optional": true,
+ "peer": true,
+ "requires": {
+ "agent-base": "6",
+ "debug": "4"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true,
+ "optional": true,
+ "peer": true
+ },
+ "puppeteer-core": {
+ "version": "20.3.0",
+ "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-20.3.0.tgz",
+ "integrity": "sha512-264pBrIui5bO6NJeOcbJrLa0OCwmA4+WK00JMrLIKTfRiqe2gx8KWTzLsjyw/bizErp3TKS7vt/I0i5fTC+mAw==",
+ "dev": true,
+ "optional": true,
+ "peer": true,
+ "requires": {
+ "@puppeteer/browsers": "1.3.0",
+ "chromium-bidi": "0.4.9",
+ "cross-fetch": "3.1.6",
+ "debug": "4.3.4",
+ "devtools-protocol": "0.0.1120988",
+ "ws": "8.13.0"
+ }
+ },
+ "readable-stream": {
+ "version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
+ "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
+ "dev": true,
+ "optional": true,
+ "peer": true,
+ "requires": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ }
+ },
+ "tar-fs": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz",
+ "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==",
+ "dev": true,
+ "optional": true,
+ "peer": true,
+ "requires": {
+ "chownr": "^1.1.1",
+ "mkdirp-classic": "^0.5.2",
+ "pump": "^3.0.0",
+ "tar-stream": "^2.1.4"
+ }
+ },
+ "tar-stream": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz",
+ "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==",
"dev": true,
"optional": true,
"peer": true,
"requires": {
- "isexe": "^3.1.1"
+ "bl": "^4.0.3",
+ "end-of-stream": "^1.4.1",
+ "fs-constants": "^1.0.0",
+ "inherits": "^2.0.3",
+ "readable-stream": "^3.1.1"
}
}
}
},
"devtools-protocol": {
- "version": "0.0.1120988",
- "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1120988.tgz",
- "integrity": "sha512-39fCpE3Z78IaIPChJsP6Lhmkbf4dWXOmzLk/KFTdRkNk/0JymRIfUynDVRndV9HoDz8PyalK1UH21ST/ivwW5Q==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "edge-paths": {
- "version": "3.0.5",
- "resolved": "https://registry.npmjs.org/edge-paths/-/edge-paths-3.0.5.tgz",
- "integrity": "sha512-sB7vSrDnFa4ezWQk9nZ/n0FdpdUuC6R1EOrlU3DL+bovcNFK28rqu2emmAUjujYEJTWIgQGqgVVWUZXMnc8iWg==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "@types/which": "^2.0.1",
- "which": "^2.0.2"
- }
+ "version": "0.0.1302984",
+ "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1302984.tgz",
+ "integrity": "sha512-Rgh2Sk5fUSCtEx4QGH9iwTyECdFPySG2nlz5J8guGh2Wlha6uzSOCq/DCEC8faHlLaMPZJMuZ4ovgcX4LvOkKA==",
+ "dev": true
},
"escape-string-regexp": {
"version": "4.0.0",
@@ -33928,50 +36043,38 @@
"optional": true,
"peer": true
},
- "glob": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz",
- "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==",
+ "https-proxy-agent": {
+ "version": "7.0.4",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz",
+ "integrity": "sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==",
"dev": true,
"requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^5.0.1",
- "once": "^1.3.0"
+ "agent-base": "^7.0.2",
+ "debug": "4"
},
"dependencies": {
- "minimatch": {
- "version": "5.1.6",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
- "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
+ "debug": {
+ "version": "4.3.5",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz",
+ "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==",
"dev": true,
"requires": {
- "brace-expansion": "^2.0.1"
+ "ms": "2.1.2"
}
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true
}
}
},
- "http-proxy-agent": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz",
- "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "@tootallnate/once": "2",
- "agent-base": "6",
- "debug": "4"
- }
- },
- "isexe": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz",
- "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==",
- "dev": true,
- "optional": true,
- "peer": true
+ "is-stream": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
+ "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
+ "dev": true
},
"lighthouse-logger": {
"version": "2.0.1",
@@ -33983,19 +36086,6 @@
"requires": {
"debug": "^2.6.9",
"marky": "^1.2.2"
- },
- "dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "ms": "2.0.0"
- }
- }
}
},
"lru-cache": {
@@ -34005,9 +36095,9 @@
"dev": true
},
"minimatch": {
- "version": "9.0.3",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz",
- "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==",
+ "version": "9.0.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz",
+ "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==",
"dev": true,
"requires": {
"brace-expansion": "^2.0.1"
@@ -34046,62 +36136,71 @@
"socks-proxy-agent": "^8.0.1"
},
"dependencies": {
- "agent-base": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz",
- "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==",
- "dev": true,
- "requires": {
- "debug": "^4.3.4"
- }
- },
- "http-proxy-agent": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.0.tgz",
- "integrity": "sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==",
+ "debug": {
+ "version": "4.3.5",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz",
+ "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==",
"dev": true,
"requires": {
- "agent-base": "^7.1.0",
- "debug": "^4.3.4"
+ "ms": "2.1.2"
}
},
- "https-proxy-agent": {
- "version": "7.0.2",
- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz",
- "integrity": "sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==",
- "dev": true,
- "requires": {
- "agent-base": "^7.0.2",
- "debug": "4"
- }
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true
}
}
},
"puppeteer-core": {
- "version": "20.3.0",
- "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-20.3.0.tgz",
- "integrity": "sha512-264pBrIui5bO6NJeOcbJrLa0OCwmA4+WK00JMrLIKTfRiqe2gx8KWTzLsjyw/bizErp3TKS7vt/I0i5fTC+mAw==",
+ "version": "20.9.0",
+ "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-20.9.0.tgz",
+ "integrity": "sha512-H9fYZQzMTRrkboEfPmf7m3CLDN6JvbxXA3qTtS+dFt27tR+CsFHzPsT6pzp6lYL6bJbAPaR0HaPO6uSi+F94Pg==",
"dev": true,
- "optional": true,
- "peer": true,
"requires": {
- "@puppeteer/browsers": "1.3.0",
- "chromium-bidi": "0.4.9",
- "cross-fetch": "3.1.6",
+ "@puppeteer/browsers": "1.4.6",
+ "chromium-bidi": "0.4.16",
+ "cross-fetch": "4.0.0",
"debug": "4.3.4",
- "devtools-protocol": "0.0.1120988",
+ "devtools-protocol": "0.0.1147663",
"ws": "8.13.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "dev": true,
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "devtools-protocol": {
+ "version": "0.0.1147663",
+ "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1147663.tgz",
+ "integrity": "sha512-hyWmRrexdhbZ1tcJUGpO95ivbRhWXz++F4Ko+n21AY5PNln2ovoJw+8ZMNDTtip+CNFQfrtLVh/w4009dXO/eQ==",
+ "dev": true
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true
+ }
}
},
"readable-stream": {
- "version": "3.6.2",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
- "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
+ "version": "4.5.2",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz",
+ "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==",
"dev": true,
"requires": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
+ "abort-controller": "^3.0.0",
+ "buffer": "^6.0.3",
+ "events": "^3.3.0",
+ "process": "^0.11.10",
+ "string_decoder": "^1.3.0"
}
},
"serialize-error": {
@@ -34113,15 +36212,13 @@
"type-fest": "^2.12.2"
}
},
- "tar-stream": {
- "version": "3.1.7",
- "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz",
- "integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==",
+ "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==",
"dev": true,
"requires": {
- "b4a": "^1.6.4",
- "fast-fifo": "^1.2.0",
- "streamx": "^2.15.0"
+ "safe-buffer": "~5.2.0"
}
},
"type-fest": {
@@ -34131,42 +36228,35 @@
"dev": true
},
"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==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "uuid": {
- "version": "9.0.1",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz",
- "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==",
+ "version": "1.0.38",
+ "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.38.tgz",
+ "integrity": "sha512-Aq5ppTOfvrCMgAPneW1HfWj66Xi7XL+/mIy996R1/CLS/rcyJQm6QZdsKrUeivDFQ+Oc9Wyuwor8Ze8peEoUoQ==",
"dev": true,
"optional": true,
"peer": true
},
"webdriverio": {
- "version": "8.29.1",
- "resolved": "https://registry.npmjs.org/webdriverio/-/webdriverio-8.29.1.tgz",
- "integrity": "sha512-NZK95ivXCqdPraB3FHMw6ByxnCvtgFXkjzG2l3Oq5z0IuJS2aMow3AKFIyiuG6is/deGCe+Tb8eFTCqak7UV+w==",
+ "version": "8.38.2",
+ "resolved": "https://registry.npmjs.org/webdriverio/-/webdriverio-8.38.2.tgz",
+ "integrity": "sha512-r09y5UfivyYh5JOzT2SpJJ1zDmQl/R4OTH12opUqkjvp21BibCQm/uu1mrxGy4lzSHljrvqSVrrcGI+6UA1O8w==",
"dev": true,
"requires": {
"@types/node": "^20.1.0",
- "@wdio/config": "8.29.1",
- "@wdio/logger": "8.28.0",
- "@wdio/protocols": "8.24.12",
+ "@wdio/config": "8.38.2",
+ "@wdio/logger": "8.38.0",
+ "@wdio/protocols": "8.38.0",
"@wdio/repl": "8.24.12",
- "@wdio/types": "8.29.1",
- "@wdio/utils": "8.29.1",
- "archiver": "^6.0.0",
+ "@wdio/types": "8.38.2",
+ "@wdio/utils": "8.38.2",
+ "archiver": "^7.0.0",
"aria-query": "^5.0.0",
"css-shorthand-properties": "^1.1.1",
"css-value": "^0.0.1",
- "devtools-protocol": "^0.0.1249869",
+ "devtools-protocol": "^0.0.1302984",
"grapheme-splitter": "^1.0.2",
"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.0",
@@ -34175,81 +36265,7 @@
"resq": "^1.9.1",
"rgb2hex": "0.2.5",
"serialize-error": "^11.0.1",
- "webdriver": "8.29.1"
- },
- "dependencies": {
- "@puppeteer/browsers": {
- "version": "1.4.6",
- "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-1.4.6.tgz",
- "integrity": "sha512-x4BEjr2SjOPowNeiguzjozQbsc6h437ovD/wu+JpaenxVLm3jkgzHY2xOslMTp50HoTvQreMjiexiGQw1sqZlQ==",
- "dev": true,
- "requires": {
- "debug": "4.3.4",
- "extract-zip": "2.0.1",
- "progress": "2.0.3",
- "proxy-agent": "6.3.0",
- "tar-fs": "3.0.4",
- "unbzip2-stream": "1.4.3",
- "yargs": "17.7.1"
- }
- },
- "chromium-bidi": {
- "version": "0.4.16",
- "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-0.4.16.tgz",
- "integrity": "sha512-7ZbXdWERxRxSwo3txsBjjmc/NLxqb1Bk30mRb0BMS4YIaiV6zvKZqL/UAH+DdqcDYayDWk2n/y8klkBDODrPvA==",
- "dev": true,
- "requires": {
- "mitt": "3.0.0"
- }
- },
- "cross-fetch": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.0.0.tgz",
- "integrity": "sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==",
- "dev": true,
- "requires": {
- "node-fetch": "^2.6.12"
- }
- },
- "devtools-protocol": {
- "version": "0.0.1249869",
- "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1249869.tgz",
- "integrity": "sha512-Ctp4hInA0BEavlUoRy9mhGq0i+JSo/AwVyX2EFgZmV1kYB+Zq+EMBAn52QWu6FbRr10hRb6pBl420upbp4++vg==",
- "dev": true
- },
- "puppeteer-core": {
- "version": "20.9.0",
- "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-20.9.0.tgz",
- "integrity": "sha512-H9fYZQzMTRrkboEfPmf7m3CLDN6JvbxXA3qTtS+dFt27tR+CsFHzPsT6pzp6lYL6bJbAPaR0HaPO6uSi+F94Pg==",
- "dev": true,
- "requires": {
- "@puppeteer/browsers": "1.4.6",
- "chromium-bidi": "0.4.16",
- "cross-fetch": "4.0.0",
- "debug": "4.3.4",
- "devtools-protocol": "0.0.1147663",
- "ws": "8.13.0"
- },
- "dependencies": {
- "devtools-protocol": {
- "version": "0.0.1147663",
- "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1147663.tgz",
- "integrity": "sha512-hyWmRrexdhbZ1tcJUGpO95ivbRhWXz++F4Ko+n21AY5PNln2ovoJw+8ZMNDTtip+CNFQfrtLVh/w4009dXO/eQ==",
- "dev": true
- }
- }
- },
- "tar-fs": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.4.tgz",
- "integrity": "sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w==",
- "dev": true,
- "requires": {
- "mkdirp-classic": "^0.5.2",
- "pump": "^3.0.0",
- "tar-stream": "^3.1.5"
- }
- }
+ "webdriver": "8.38.2"
}
},
"ws": {
@@ -34275,26 +36291,26 @@
}
},
"zip-stream": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-5.0.1.tgz",
- "integrity": "sha512-UfZ0oa0C8LI58wJ+moL46BDIMgCQbnsb+2PoiJYtonhBsMh2bq1eRBVkvjfVsqbEHd9/EgKPUuL9saSSsec8OA==",
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-6.0.1.tgz",
+ "integrity": "sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==",
"dev": true,
"requires": {
- "archiver-utils": "^4.0.1",
- "compress-commons": "^5.0.1",
- "readable-stream": "^3.6.0"
+ "archiver-utils": "^5.0.0",
+ "compress-commons": "^6.0.2",
+ "readable-stream": "^4.0.0"
}
}
}
},
"@wdio/spec-reporter": {
- "version": "8.29.1",
- "resolved": "https://registry.npmjs.org/@wdio/spec-reporter/-/spec-reporter-8.29.1.tgz",
- "integrity": "sha512-tuDHihrTjCxFCbSjT0jMvAarLA1MtatnCnhv0vguu3ZWXELR1uESX2KzBmpJ+chGZz3oCcKszT8HOr6Pg2a1QA==",
+ "version": "8.38.2",
+ "resolved": "https://registry.npmjs.org/@wdio/spec-reporter/-/spec-reporter-8.38.2.tgz",
+ "integrity": "sha512-Dntk+lmrp+0I3HRRWkkXED+smshvgsW5cdLKwJhEJ1liI48MdBpdNGf9IHTVckE6nfxcWDyFI4icD9qYv/5bFA==",
"dev": true,
"requires": {
- "@wdio/reporter": "8.29.1",
- "@wdio/types": "8.29.1",
+ "@wdio/reporter": "8.38.2",
+ "@wdio/types": "8.38.2",
"chalk": "^5.1.2",
"easy-table": "^1.2.0",
"pretty-ms": "^7.0.0"
@@ -34309,193 +36325,185 @@
}
},
"@wdio/types": {
- "version": "8.29.1",
- "resolved": "https://registry.npmjs.org/@wdio/types/-/types-8.29.1.tgz",
- "integrity": "sha512-rZYzu+sK8zY1PjCEWxNu4ELJPYKDZRn7HFcYNgR122ylHygfldwkb5TioI6Pn311hQH/S+663KEeoq//Jb0f8A==",
+ "version": "8.38.2",
+ "resolved": "https://registry.npmjs.org/@wdio/types/-/types-8.38.2.tgz",
+ "integrity": "sha512-+wj1c1OSLdnN4WO5b44Ih4263dTl/eSwMGSI4/pCgIyXIuYQH38JQ+6WRa+c8vJEskUzboq2cSgEQumVZ39ozQ==",
"dev": true,
"requires": {
"@types/node": "^20.1.0"
}
},
"@wdio/utils": {
- "version": "8.29.1",
- "resolved": "https://registry.npmjs.org/@wdio/utils/-/utils-8.29.1.tgz",
- "integrity": "sha512-Dm91DKL/ZKeZ2QogWT8Twv0p+slEgKyB/5x9/kcCG0Q2nNa+tZedTjOhryzrsPiWc+jTSBmjGE4katRXpJRFJg==",
+ "version": "8.38.2",
+ "resolved": "https://registry.npmjs.org/@wdio/utils/-/utils-8.38.2.tgz",
+ "integrity": "sha512-y5AnBwsGcu/XuCBGCgKmlvKdwEIFyzLA+Cr+denySxY3jbWDONtPUcGaVdFALwsIa5jcIjcATqGmZcCPGnkd7g==",
"dev": true,
"requires": {
"@puppeteer/browsers": "^1.6.0",
- "@wdio/logger": "8.28.0",
- "@wdio/types": "8.29.1",
+ "@wdio/logger": "8.38.0",
+ "@wdio/types": "8.38.2",
"decamelize": "^6.0.0",
"deepmerge-ts": "^5.1.0",
- "edgedriver": "^5.3.5",
- "geckodriver": "^4.2.0",
+ "edgedriver": "^5.5.0",
+ "geckodriver": "^4.3.1",
"get-port": "^7.0.0",
"import-meta-resolve": "^4.0.0",
"locate-app": "^2.1.0",
"safaridriver": "^0.1.0",
"split2": "^4.2.0",
"wait-port": "^1.0.4"
- },
- "dependencies": {
- "decamelize": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-6.0.0.tgz",
- "integrity": "sha512-Fv96DCsdOgB6mdGl67MT5JaTNKRzrzill5OH5s8bjYJXVlcXyPYGyPsUkWyGV5p1TXI5esYIYMMeDJL0hEIwaA==",
- "dev": true
- }
}
},
"@webassemblyjs/ast": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz",
- "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==",
+ "version": "1.12.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz",
+ "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==",
"dev": true,
"requires": {
- "@webassemblyjs/helper-numbers": "1.11.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.1"
+ "@webassemblyjs/helper-numbers": "1.11.6",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.6"
}
},
"@webassemblyjs/floating-point-hex-parser": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz",
- "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==",
+ "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==",
"dev": true
},
"@webassemblyjs/helper-api-error": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz",
- "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==",
+ "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==",
"dev": true
},
"@webassemblyjs/helper-buffer": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz",
- "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==",
+ "version": "1.12.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz",
+ "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==",
"dev": true
},
"@webassemblyjs/helper-numbers": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz",
- "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==",
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz",
+ "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==",
"dev": true,
"requires": {
- "@webassemblyjs/floating-point-hex-parser": "1.11.1",
- "@webassemblyjs/helper-api-error": "1.11.1",
+ "@webassemblyjs/floating-point-hex-parser": "1.11.6",
+ "@webassemblyjs/helper-api-error": "1.11.6",
"@xtuc/long": "4.2.2"
}
},
"@webassemblyjs/helper-wasm-bytecode": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz",
- "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==",
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz",
+ "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==",
"dev": true
},
"@webassemblyjs/helper-wasm-section": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz",
- "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==",
+ "version": "1.12.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz",
+ "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==",
"dev": true,
"requires": {
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/helper-buffer": "1.11.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
- "@webassemblyjs/wasm-gen": "1.11.1"
+ "@webassemblyjs/ast": "1.12.1",
+ "@webassemblyjs/helper-buffer": "1.12.1",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
+ "@webassemblyjs/wasm-gen": "1.12.1"
}
},
"@webassemblyjs/ieee754": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz",
- "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==",
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz",
+ "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==",
"dev": true,
"requires": {
"@xtuc/ieee754": "^1.2.0"
}
},
"@webassemblyjs/leb128": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz",
- "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==",
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz",
+ "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==",
"dev": true,
"requires": {
"@xtuc/long": "4.2.2"
}
},
"@webassemblyjs/utf8": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz",
- "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==",
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz",
+ "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==",
"dev": true
},
"@webassemblyjs/wasm-edit": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz",
- "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==",
+ "version": "1.12.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz",
+ "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==",
"dev": true,
"requires": {
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/helper-buffer": "1.11.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
- "@webassemblyjs/helper-wasm-section": "1.11.1",
- "@webassemblyjs/wasm-gen": "1.11.1",
- "@webassemblyjs/wasm-opt": "1.11.1",
- "@webassemblyjs/wasm-parser": "1.11.1",
- "@webassemblyjs/wast-printer": "1.11.1"
+ "@webassemblyjs/ast": "1.12.1",
+ "@webassemblyjs/helper-buffer": "1.12.1",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
+ "@webassemblyjs/helper-wasm-section": "1.12.1",
+ "@webassemblyjs/wasm-gen": "1.12.1",
+ "@webassemblyjs/wasm-opt": "1.12.1",
+ "@webassemblyjs/wasm-parser": "1.12.1",
+ "@webassemblyjs/wast-printer": "1.12.1"
}
},
"@webassemblyjs/wasm-gen": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz",
- "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==",
+ "version": "1.12.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz",
+ "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==",
"dev": true,
"requires": {
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
- "@webassemblyjs/ieee754": "1.11.1",
- "@webassemblyjs/leb128": "1.11.1",
- "@webassemblyjs/utf8": "1.11.1"
+ "@webassemblyjs/ast": "1.12.1",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
+ "@webassemblyjs/ieee754": "1.11.6",
+ "@webassemblyjs/leb128": "1.11.6",
+ "@webassemblyjs/utf8": "1.11.6"
}
},
"@webassemblyjs/wasm-opt": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz",
- "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==",
+ "version": "1.12.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz",
+ "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==",
"dev": true,
"requires": {
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/helper-buffer": "1.11.1",
- "@webassemblyjs/wasm-gen": "1.11.1",
- "@webassemblyjs/wasm-parser": "1.11.1"
+ "@webassemblyjs/ast": "1.12.1",
+ "@webassemblyjs/helper-buffer": "1.12.1",
+ "@webassemblyjs/wasm-gen": "1.12.1",
+ "@webassemblyjs/wasm-parser": "1.12.1"
}
},
"@webassemblyjs/wasm-parser": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz",
- "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==",
+ "version": "1.12.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz",
+ "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==",
"dev": true,
"requires": {
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/helper-api-error": "1.11.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
- "@webassemblyjs/ieee754": "1.11.1",
- "@webassemblyjs/leb128": "1.11.1",
- "@webassemblyjs/utf8": "1.11.1"
+ "@webassemblyjs/ast": "1.12.1",
+ "@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"
}
},
"@webassemblyjs/wast-printer": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz",
- "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==",
+ "version": "1.12.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz",
+ "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==",
"dev": true,
"requires": {
- "@webassemblyjs/ast": "1.11.1",
+ "@webassemblyjs/ast": "1.12.1",
"@xtuc/long": "4.2.2"
}
},
"@xmldom/xmldom": {
- "version": "0.7.8",
- "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.7.8.tgz",
- "integrity": "sha512-PrJx38EfpitFhwmILRl37jAdBlsww6AZ6rRVK4QS7T7RHLhX7mSs647sTmgr9GIxe3qjXdesmomEgbgaokrVFg==",
+ "version": "0.8.10",
+ "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.10.tgz",
+ "integrity": "sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==",
"dev": true
},
"@xtuc/ieee754": {
@@ -34510,12 +36518,27 @@
"integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==",
"dev": true
},
+ "@zip.js/zip.js": {
+ "version": "2.7.45",
+ "resolved": "https://registry.npmjs.org/@zip.js/zip.js/-/zip.js-2.7.45.tgz",
+ "integrity": "sha512-Mm2EXF33DJQ/3GWWEWeP1UCqzpQ5+fiMvT3QWspsXY05DyqqxWu7a9awSzU4/spHMHVFrTjani1PR0vprgZpow==",
+ "dev": true
+ },
"abbrev": {
"version": "1.0.9",
"resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz",
"integrity": "sha512-LEyx4aLEC3x6T0UguF6YILf+ntvmOaWsVfENmIW0E9H09vKlLDGelMjjSm0jkDHALj8A8quZ/HapKNigzwge+Q==",
"dev": true
},
+ "abort-controller": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz",
+ "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==",
+ "dev": true,
+ "requires": {
+ "event-target-shim": "^5.0.0"
+ }
+ },
"accepts": {
"version": "1.3.8",
"resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
@@ -34539,9 +36562,9 @@
"requires": {}
},
"acorn-walk": {
- "version": "8.2.0",
- "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz",
- "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==",
+ "version": "8.3.2",
+ "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz",
+ "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==",
"dev": true
},
"aes-decrypter": {
@@ -34653,9 +36676,9 @@
"integrity": "sha512-ZyznvL8k/FZeQHr2T6LzcJ/+vBApDnMNZvfVFy3At0knswWd6rJ3/0Hhmpu8oqa6C92npmozs890sX9Dl6q+Qw=="
},
"anymatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
- "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
+ "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
"dev": true,
"requires": {
"normalize-path": "^3.0.0",
@@ -34672,36 +36695,49 @@
}
},
"archiver": {
- "version": "5.3.1",
- "resolved": "https://registry.npmjs.org/archiver/-/archiver-5.3.1.tgz",
- "integrity": "sha512-8KyabkmbYrH+9ibcTScQ1xCJC/CGcugdVIwB+53f5sZziXgwUh3iXlAlANMxcZyDEfTHMe6+Z5FofV8nopXP7w==",
+ "version": "5.3.2",
+ "resolved": "https://registry.npmjs.org/archiver/-/archiver-5.3.2.tgz",
+ "integrity": "sha512-+25nxyyznAXF7Nef3y0EbBeqmGZgeN/BxHX29Rs39djAfaFalmQ89SE6CWyDCHzGL0yt/ycBtNOmGTW0FyGWNw==",
"dev": true,
"requires": {
"archiver-utils": "^2.1.0",
- "async": "^3.2.3",
+ "async": "^3.2.4",
"buffer-crc32": "^0.2.1",
"readable-stream": "^3.6.0",
- "readdir-glob": "^1.0.0",
+ "readdir-glob": "^1.1.2",
"tar-stream": "^2.2.0",
"zip-stream": "^4.1.0"
},
"dependencies": {
"async": {
- "version": "3.2.4",
- "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz",
- "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==",
+ "version": "3.2.5",
+ "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz",
+ "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==",
"dev": true
},
"readable-stream": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
- "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+ "version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
+ "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
"dev": true,
"requires": {
"inherits": "^2.0.3",
"string_decoder": "^1.1.1",
"util-deprecate": "^1.0.1"
}
+ },
+ "tar-stream": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz",
+ "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==",
+ "dev": true,
+ "requires": {
+ "bl": "^4.0.3",
+ "end-of-stream": "^1.4.1",
+ "fs-constants": "^1.0.0",
+ "inherits": "^2.0.3",
+ "readable-stream": "^3.1.1"
+ }
}
}
},
@@ -34721,6 +36757,22 @@
"lodash.union": "^4.6.0",
"normalize-path": "^3.0.0",
"readable-stream": "^2.0.0"
+ },
+ "dependencies": {
+ "glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "dev": true,
+ "requires": {
+ "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"
+ }
+ }
}
},
"archy": {
@@ -34738,12 +36790,12 @@
}
},
"aria-query": {
- "version": "5.1.3",
- "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz",
- "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==",
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz",
+ "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==",
"dev": true,
"requires": {
- "deep-equal": "^2.0.5"
+ "dequal": "^2.0.3"
}
},
"arr-diff": {
@@ -34794,6 +36846,16 @@
"integrity": "sha512-t5db90jq+qdgk8aFnxEkjqta0B/GHrM1pxzuuZz2zWsOXc5nKu3t+76s/PQBA8FTcM/ipspIH9jWG4OxCBc2eA==",
"dev": true
},
+ "array-buffer-byte-length": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz",
+ "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.5",
+ "is-array-buffer": "^3.0.4"
+ }
+ },
"array-differ": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz",
@@ -34818,15 +36880,16 @@
"dev": true
},
"array-includes": {
- "version": "3.1.5",
- "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.5.tgz",
- "integrity": "sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ==",
+ "version": "3.1.8",
+ "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz",
+ "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==",
"dev": true,
"requires": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.19.5",
- "get-intrinsic": "^1.1.1",
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.2",
+ "es-object-atoms": "^1.0.0",
+ "get-intrinsic": "^1.2.4",
"is-string": "^1.0.7"
}
},
@@ -34894,18 +36957,60 @@
"integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==",
"dev": true
},
+ "array.prototype.findlastindex": {
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz",
+ "integrity": "sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.2",
+ "es-errors": "^1.3.0",
+ "es-object-atoms": "^1.0.0",
+ "es-shim-unscopables": "^1.0.2"
+ }
+ },
"array.prototype.flat": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.0.tgz",
- "integrity": "sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw==",
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz",
+ "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.2.0",
+ "es-abstract": "^1.22.1",
+ "es-shim-unscopables": "^1.0.0"
+ }
+ },
+ "array.prototype.flatmap": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz",
+ "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==",
"dev": true,
"requires": {
"call-bind": "^1.0.2",
- "define-properties": "^1.1.3",
- "es-abstract": "^1.19.2",
+ "define-properties": "^1.2.0",
+ "es-abstract": "^1.22.1",
"es-shim-unscopables": "^1.0.0"
}
},
+ "arraybuffer.prototype.slice": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz",
+ "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==",
+ "dev": true,
+ "requires": {
+ "array-buffer-byte-length": "^1.0.1",
+ "call-bind": "^1.0.5",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.22.3",
+ "es-errors": "^1.2.1",
+ "get-intrinsic": "^1.2.3",
+ "is-array-buffer": "^3.0.4",
+ "is-shared-array-buffer": "^1.0.2"
+ }
+ },
"asn1": {
"version": "0.2.6",
"resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz",
@@ -34916,15 +37021,16 @@
}
},
"assert": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/assert/-/assert-2.0.0.tgz",
- "integrity": "sha512-se5Cd+js9dXJnu6Ag2JFc00t+HmHOen+8Q+L7O9zI0PqQXr20uk2J0XQqMxZEeo5U50o8Nvmmx7dZrl+Ufr35A==",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/assert/-/assert-2.1.0.tgz",
+ "integrity": "sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw==",
"dev": true,
"requires": {
- "es6-object-assign": "^1.1.0",
- "is-nan": "^1.2.1",
- "object-is": "^1.0.1",
- "util": "^0.12.0"
+ "call-bind": "^1.0.2",
+ "is-nan": "^1.3.2",
+ "object-is": "^1.1.5",
+ "object.assign": "^4.1.4",
+ "util": "^0.12.5"
}
},
"assert-plus": {
@@ -34954,9 +37060,9 @@
},
"dependencies": {
"tslib": {
- "version": "2.6.2",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
- "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==",
+ "version": "2.6.3",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz",
+ "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==",
"dev": true
}
}
@@ -34986,9 +37092,9 @@
}
},
"async-each": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz",
- "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==",
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.6.tgz",
+ "integrity": "sha512-c646jH1avxr+aVpndVMeAfYw7wAa6idufrlN3LPA4PmKS0QEGp6PIC9nwz0WQkkvBGAMEki3pFdtxaF39J9vvg==",
"dev": true
},
"async-exit-hook": {
@@ -35019,10 +37125,13 @@
"dev": true
},
"available-typed-arrays": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz",
- "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==",
- "dev": true
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz",
+ "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==",
+ "dev": true,
+ "requires": {
+ "possible-typed-array-names": "^1.0.0"
+ }
},
"aws-sign2": {
"version": "0.7.0",
@@ -35031,15 +37140,15 @@
"dev": true
},
"aws4": {
- "version": "1.11.0",
- "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz",
- "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==",
+ "version": "1.13.0",
+ "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.13.0.tgz",
+ "integrity": "sha512-3AungXC4I8kKsS9PuS4JH2nc+0bVY/mjgrephHTIi8fpEeGsTHBUJeosp0Wc1myYMElmD0B3Oc4XL/HVJ4PV2g==",
"dev": true
},
"b4a": {
- "version": "1.6.4",
- "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.4.tgz",
- "integrity": "sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==",
+ "version": "1.6.6",
+ "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.6.tgz",
+ "integrity": "sha512-5Tk1HLk6b6ctmjIkAcU/Ujv/1WqiDl0F0JdRCR80VsOcUlHcu7pWeWRlOqQLHfDEsVx9YH/aif5AG4ehoCtTmg==",
"dev": true
},
"babel-code-frame": {
@@ -35128,6 +37237,12 @@
"source-map": "^0.5.7"
},
"dependencies": {
+ "convert-source-map": {
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz",
+ "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==",
+ "dev": true
+ },
"debug": {
"version": "2.6.9",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
@@ -35186,9 +37301,9 @@
}
},
"babel-loader": {
- "version": "8.2.5",
- "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.5.tgz",
- "integrity": "sha512-OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ==",
+ "version": "8.3.0",
+ "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.3.0.tgz",
+ "integrity": "sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==",
"dev": true,
"requires": {
"find-cache-dir": "^3.3.1",
@@ -35220,30 +37335,30 @@
}
},
"babel-plugin-polyfill-corejs2": {
- "version": "0.3.3",
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz",
- "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==",
+ "version": "0.4.11",
+ "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz",
+ "integrity": "sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==",
"requires": {
- "@babel/compat-data": "^7.17.7",
- "@babel/helper-define-polyfill-provider": "^0.3.3",
- "semver": "^6.1.1"
+ "@babel/compat-data": "^7.22.6",
+ "@babel/helper-define-polyfill-provider": "^0.6.2",
+ "semver": "^6.3.1"
}
},
"babel-plugin-polyfill-corejs3": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz",
- "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==",
+ "version": "0.10.4",
+ "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz",
+ "integrity": "sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==",
"requires": {
- "@babel/helper-define-polyfill-provider": "^0.3.3",
- "core-js-compat": "^3.25.1"
+ "@babel/helper-define-polyfill-provider": "^0.6.1",
+ "core-js-compat": "^3.36.1"
}
},
"babel-plugin-polyfill-regenerator": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz",
- "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==",
+ "version": "0.6.2",
+ "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz",
+ "integrity": "sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==",
"requires": {
- "@babel/helper-define-polyfill-provider": "^0.3.3"
+ "@babel/helper-define-polyfill-provider": "^0.6.2"
}
},
"babel-register": {
@@ -35266,15 +37381,6 @@
"resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz",
"integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==",
"dev": true
- },
- "mkdirp": {
- "version": "0.5.6",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
- "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
- "dev": true,
- "requires": {
- "minimist": "^1.2.6"
- }
}
}
},
@@ -35410,6 +37516,52 @@
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
"dev": true
},
+ "bare-events": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.4.2.tgz",
+ "integrity": "sha512-qMKFd2qG/36aA4GwvKq8MxnPgCQAmBWmSyLWsJcbn8v03wvIPQ/hG1Ms8bPzndZxMDoHpxez5VOS+gC9Yi24/Q==",
+ "dev": true,
+ "optional": true
+ },
+ "bare-fs": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-2.3.1.tgz",
+ "integrity": "sha512-W/Hfxc/6VehXlsgFtbB5B4xFcsCl+pAh30cYhoFyXErf6oGrwjh8SwiPAdHgpmWonKuYpZgGywN0SXt7dgsADA==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "bare-events": "^2.0.0",
+ "bare-path": "^2.0.0",
+ "bare-stream": "^2.0.0"
+ }
+ },
+ "bare-os": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-2.3.0.tgz",
+ "integrity": "sha512-oPb8oMM1xZbhRQBngTgpcQ5gXw6kjOaRsSWsIeNyRxGed2w/ARyP7ScBYpWR1qfX2E5rS3gBw6OWcSQo+s+kUg==",
+ "dev": true,
+ "optional": true
+ },
+ "bare-path": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/bare-path/-/bare-path-2.1.3.tgz",
+ "integrity": "sha512-lh/eITfU8hrj9Ru5quUp0Io1kJWIk1bTjzo7JH1P5dWmQ2EL4hFUlfI8FonAhSlgIfhn63p84CDY/x+PisgcXA==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "bare-os": "^2.1.0"
+ }
+ },
+ "bare-stream": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/bare-stream/-/bare-stream-2.1.3.tgz",
+ "integrity": "sha512-tiDAH9H/kP+tvNO5sczyn9ZAA7utrSMobyDchsnyyXBuUe2FSQWbxhtuHB8jwpHYYevVo2UJpcmvvjrbHboUUQ==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "streamx": "^2.18.0"
+ }
+ },
"base": {
"version": "0.11.2",
"resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
@@ -35466,9 +37618,9 @@
}
},
"basic-ftp": {
- "version": "5.0.4",
- "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.0.4.tgz",
- "integrity": "sha512-8PzkB0arJFV4jJWSGOYR+OEic6aeKMu/osRhBULN6RY0ykby6LKhbmuQ5ublvaas5BOwboah5D87nrHyuh8PPA==",
+ "version": "5.0.5",
+ "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.0.5.tgz",
+ "integrity": "sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg==",
"dev": true
},
"batch": {
@@ -35493,9 +37645,9 @@
"dev": true
},
"big-integer": {
- "version": "1.6.51",
- "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz",
- "integrity": "sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==",
+ "version": "1.6.52",
+ "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.52.tgz",
+ "integrity": "sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==",
"dev": true
},
"big.js": {
@@ -35515,9 +37667,9 @@
}
},
"binary-extensions": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
- "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz",
+ "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==",
"dev": true
},
"binaryextensions": {
@@ -35548,9 +37700,9 @@
},
"dependencies": {
"readable-stream": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
- "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+ "version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
+ "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
"dev": true,
"requires": {
"inherits": "^2.0.3",
@@ -35561,9 +37713,9 @@
}
},
"bluebird": {
- "version": "3.4.7",
- "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.4.7.tgz",
- "integrity": "sha512-iD3898SR7sWVRHbiQv+sHUtHnMvC1o3nW5rAcqnq3uOn07DSAppZYUkIGslDz6gXC7HfunPe7YVBgoEJASPcHA=="
+ "version": "3.7.2",
+ "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz",
+ "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg=="
},
"body": {
"version": "5.1.0",
@@ -35652,12 +37804,12 @@
}
},
"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==",
"dev": true,
"requires": {
- "fill-range": "^7.0.1"
+ "fill-range": "^7.1.1"
}
},
"browser-stdout": {
@@ -35667,14 +37819,14 @@
"dev": true
},
"browserslist": {
- "version": "4.21.4",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz",
- "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==",
+ "version": "4.23.1",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.1.tgz",
+ "integrity": "sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==",
"requires": {
- "caniuse-lite": "^1.0.30001400",
- "electron-to-chromium": "^1.4.251",
- "node-releases": "^2.0.6",
- "update-browserslist-db": "^1.0.9"
+ "caniuse-lite": "^1.0.30001629",
+ "electron-to-chromium": "^1.4.796",
+ "node-releases": "^2.0.14",
+ "update-browserslist-db": "^1.0.16"
}
},
"browserstack": {
@@ -35717,9 +37869,9 @@
}
},
"browserstack-local": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/browserstack-local/-/browserstack-local-1.5.1.tgz",
- "integrity": "sha512-T/wxyWDzvBHbDvl7fZKpFU7mYze6nrUkBhNy+d+8bXBqgQX10HTYvajIGO0wb49oGSLCPM0CMZTV/s7e6LF0sA==",
+ "version": "1.5.5",
+ "resolved": "https://registry.npmjs.org/browserstack-local/-/browserstack-local-1.5.5.tgz",
+ "integrity": "sha512-jKne7yosrMcptj3hqxp36TP9k0ZW2sCqhyurX24rUL4G3eT7OLgv+CSQN8iq5dtkv5IK+g+v8fWvsiC/S9KxMg==",
"dev": true,
"requires": {
"agent-base": "^6.0.2",
@@ -35863,45 +38015,44 @@
}
},
"cacheable-lookup": {
- "version": "5.0.4",
- "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz",
- "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==",
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-7.0.0.tgz",
+ "integrity": "sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==",
"dev": true
},
"cacheable-request": {
- "version": "7.0.2",
- "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.2.tgz",
- "integrity": "sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==",
+ "version": "10.2.14",
+ "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-10.2.14.tgz",
+ "integrity": "sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==",
"dev": true,
"requires": {
- "clone-response": "^1.0.2",
- "get-stream": "^5.1.0",
- "http-cache-semantics": "^4.0.0",
- "keyv": "^4.0.0",
- "lowercase-keys": "^2.0.0",
- "normalize-url": "^6.0.1",
- "responselike": "^2.0.0"
+ "@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"
},
"dependencies": {
"get-stream": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
- "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
- "dev": true,
- "requires": {
- "pump": "^3.0.0"
- }
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
+ "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==",
+ "dev": true
}
}
},
"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==",
"requires": {
+ "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"
}
},
"callsites": {
@@ -35923,9 +38074,9 @@
"dev": true
},
"caniuse-lite": {
- "version": "1.0.30001429",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001429.tgz",
- "integrity": "sha512-511ThLu1hF+5RRRt0zYCf2U2yRr9GPF6m5y90SBCWsvSoYoW7yAGlv/elyPaNfvGCkp6kj/KFZWU0BMA69Prsg=="
+ "version": "1.0.30001633",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001633.tgz",
+ "integrity": "sha512-6sT0yf/z5jqf8tISAgpJDrmwOpLsrpnyCdD/lOZKvKkkJK4Dn0X5i7KF7THEZhOq+30bmhwBlNEaqPUiHiKtZg=="
},
"caseless": {
"version": "0.12.0",
@@ -35940,18 +38091,18 @@
"dev": true
},
"chai": {
- "version": "4.3.6",
- "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.6.tgz",
- "integrity": "sha512-bbcp3YfHCUzMOvKqsztczerVgBKSsEijCySNlHHbX3VG1nskvqjz5Rfso1gGwD6w6oOV3eI60pKuMOV5MV7p3Q==",
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/chai/-/chai-4.4.1.tgz",
+ "integrity": "sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==",
"dev": true,
"requires": {
"assertion-error": "^1.1.0",
- "check-error": "^1.0.2",
- "deep-eql": "^3.0.1",
- "get-func-name": "^2.0.0",
- "loupe": "^2.3.1",
+ "check-error": "^1.0.3",
+ "deep-eql": "^4.1.3",
+ "get-func-name": "^2.0.2",
+ "loupe": "^2.3.6",
"pathval": "^1.1.1",
- "type-detect": "^4.0.5"
+ "type-detect": "^4.0.8"
}
},
"chainsaw": {
@@ -35998,15 +38149,18 @@
"dev": true
},
"check-error": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz",
- "integrity": "sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==",
- "dev": true
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz",
+ "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==",
+ "dev": true,
+ "requires": {
+ "get-func-name": "^2.0.2"
+ }
},
"chokidar": {
- "version": "3.5.3",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
- "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz",
+ "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
"dev": true,
"requires": {
"anymatch": "~3.1.2",
@@ -36026,9 +38180,9 @@
"dev": true
},
"chrome-launcher": {
- "version": "0.15.1",
- "resolved": "https://registry.npmjs.org/chrome-launcher/-/chrome-launcher-0.15.1.tgz",
- "integrity": "sha512-UugC8u59/w2AyX5sHLZUHoxBAiSiunUhZa3zZwMH6zPVis0C3dDKiRWyUGIo14tTbZHGVviWxv3PQWZ7taZ4fg==",
+ "version": "0.15.2",
+ "resolved": "https://registry.npmjs.org/chrome-launcher/-/chrome-launcher-0.15.2.tgz",
+ "integrity": "sha512-zdLEwNo3aUVzIhKhTtXfxhdvZhUghrnmkvcAq2NoDd+LeOHKf03H5jwZ8T/STsAlzyALkBVK552iaG1fGf1xVQ==",
"dev": true,
"requires": {
"@types/node": "*",
@@ -36046,18 +38200,16 @@
}
},
"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==",
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz",
+ "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==",
"dev": true
},
"chromium-bidi": {
- "version": "0.4.9",
- "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-0.4.9.tgz",
- "integrity": "sha512-u3DC6XwgLCA9QJ5ak1voPslCmacQdulZNCPsI3qNXxSnEcZS7DFIbww+5RM2bznMEje7cc0oydavRLRvOIZtHw==",
+ "version": "0.4.16",
+ "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-0.4.16.tgz",
+ "integrity": "sha512-7ZbXdWERxRxSwo3txsBjjmc/NLxqb1Bk30mRb0BMS4YIaiV6zvKZqL/UAH+DdqcDYayDWk2n/y8klkBDODrPvA==",
"dev": true,
- "optional": true,
- "peer": true,
"requires": {
"mitt": "3.0.0"
}
@@ -36095,61 +38247,14 @@
"is-descriptor": "^0.1.0"
}
},
- "is-accessor-descriptor": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
- "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==",
- "dev": true,
- "requires": {
- "kind-of": "^3.0.2"
- },
- "dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
- "dev": true,
- "requires": {
- "is-buffer": "^1.1.5"
- }
- }
- }
- },
- "is-buffer": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
- "dev": true
- },
- "is-data-descriptor": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
- "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==",
- "dev": true,
- "requires": {
- "kind-of": "^3.0.2"
- },
- "dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
- "dev": true,
- "requires": {
- "is-buffer": "^1.1.5"
- }
- }
- }
- },
"is-descriptor": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
- "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz",
+ "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==",
"dev": true,
"requires": {
- "is-accessor-descriptor": "^0.1.6",
- "is-data-descriptor": "^0.1.4",
- "kind-of": "^5.0.0"
+ "is-accessor-descriptor": "^1.0.1",
+ "is-data-descriptor": "^1.0.1"
}
}
}
@@ -36170,9 +38275,9 @@
"dev": true
},
"cli-width": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz",
- "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==",
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz",
+ "integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==",
"dev": true
},
"cliui": {
@@ -36184,6 +38289,52 @@
"string-width": "^4.2.0",
"strip-ansi": "^6.0.1",
"wrap-ansi": "^7.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "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==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "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==",
+ "dev": true
+ },
+ "strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^5.0.1"
+ }
+ },
+ "wrap-ansi": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ }
+ }
}
},
"clone": {
@@ -36205,6 +38356,14 @@
"dev": true,
"requires": {
"mimic-response": "^1.0.0"
+ },
+ "dependencies": {
+ "mimic-response": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz",
+ "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==",
+ "dev": true
+ }
}
},
"clone-stats": {
@@ -36286,9 +38445,9 @@
}
},
"comma-separated-tokens": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.2.tgz",
- "integrity": "sha512-G5yTt3KQN4Yn7Yk4ed73hlZ1evrFKXeUW3086p3PRFNp7m2vIjI6Pg+Kgb+oyzhd9F2qdcoj67+y3SdxL5XWsg==",
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz",
+ "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==",
"dev": true
},
"commander": {
@@ -36310,15 +38469,15 @@
"dev": true
},
"component-emitter": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
- "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==",
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz",
+ "integrity": "sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==",
"dev": true
},
"compress-commons": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-4.1.1.tgz",
- "integrity": "sha512-QLdDLCKNV2dtoTorqgxngQCMA+gWXkM/Nwu7FpeBhk/RdkzimqC3jueb/FDmaZeXh+uby1jkBqE3xArsLBE5wQ==",
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-4.1.2.tgz",
+ "integrity": "sha512-D3uMHtGc/fcO1Gt1/L7i1e33VOvD4A9hfQLP+6ewd+BvG/gQ84Yh4oftEhAdjSMgBgwGL+jsppT7JYNpo6MHHg==",
"dev": true,
"requires": {
"buffer-crc32": "^0.2.13",
@@ -36328,9 +38487,9 @@
},
"dependencies": {
"readable-stream": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
- "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+ "version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
+ "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
"dev": true,
"requires": {
"inherits": "^2.0.3",
@@ -36468,9 +38627,9 @@
"dev": true
},
"convert-source-map": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz",
- "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A=="
+ "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=="
},
"cookie": {
"version": "0.6.0",
@@ -36499,22 +38658,22 @@
}
},
"core-js": {
- "version": "3.26.0",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.26.0.tgz",
- "integrity": "sha512-+DkDrhoR4Y0PxDz6rurahuB+I45OsEUv8E1maPTB6OuHRohMMcznBq9TMpdpDMm/hUPob/mJJS3PqgbHpMTQgw=="
+ "version": "3.37.1",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.37.1.tgz",
+ "integrity": "sha512-Xn6qmxrQZyB0FFY8E3bgRXei3lWDJHhvI+u0q9TKIYM49G8pAr0FgnnrFRAmsbptZL1yxRADVXn+x5AGsbBfyw=="
},
"core-js-compat": {
- "version": "3.26.0",
- "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.26.0.tgz",
- "integrity": "sha512-piOX9Go+Z4f9ZiBFLnZ5VrOpBl0h7IGCkiFUN11QTe6LjAvOT3ifL/5TdoizMh99hcGy5SoLyWbapIY/PIb/3A==",
+ "version": "3.37.1",
+ "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.37.1.tgz",
+ "integrity": "sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg==",
"requires": {
- "browserslist": "^4.21.4"
+ "browserslist": "^4.23.0"
}
},
"core-js-pure": {
- "version": "3.26.0",
- "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.26.0.tgz",
- "integrity": "sha512-LiN6fylpVBVwT8twhhluD9TzXmZQQsr2I2eIKtWNbZI1XMfBT7CV18itaN6RA7EtQd/SDdRx/wzvAShX2HvhQA=="
+ "version": "3.37.1",
+ "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.37.1.tgz",
+ "integrity": "sha512-J/r5JTHSmzTxbiYYrzXg9w1VpqrYt+gexenBE9pugeyhwPZTAEJddyiReJWsLO6uNQ8xJZFbod6XC7KKwatCiA=="
},
"core-util-is": {
"version": "1.0.3",
@@ -36551,9 +38710,9 @@
"dev": true
},
"crc32-stream": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-4.0.2.tgz",
- "integrity": "sha512-DxFZ/Hk473b/muq1VJ///PMNLj0ZMnzye9thBpmjpJKCc5eMgB95aK8zCGrGfQ90cWo561Te6HK9D+j4KPdM6w==",
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-4.0.3.tgz",
+ "integrity": "sha512-NT7w2JVU7DFroFdYkeq8cywxrgjPHWkdX1wjpRQXPX5Asews3tA+Ght6lddQO5Mkumffp3X7GEqku3epj2toIw==",
"dev": true,
"requires": {
"crc-32": "^1.2.0",
@@ -36561,9 +38720,9 @@
},
"dependencies": {
"readable-stream": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
- "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+ "version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
+ "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
"dev": true,
"requires": {
"inherits": "^2.0.3",
@@ -36573,11 +38732,6 @@
}
}
},
- "criteo-direct-rsa-validate": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/criteo-direct-rsa-validate/-/criteo-direct-rsa-validate-1.1.0.tgz",
- "integrity": "sha512-7gQ3zX+d+hS/vOxzLrZ4aRAceB7qNJ0VzaGNpcWjDCmtOpASB50USJDupTik/H2nHgiSAA3VNZ3SFuONs8LR9Q=="
- },
"cross-fetch": {
"version": "3.1.5",
"resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz",
@@ -36585,6 +38739,17 @@
"dev": true,
"requires": {
"node-fetch": "2.6.7"
+ },
+ "dependencies": {
+ "node-fetch": {
+ "version": "2.6.7",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
+ "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
+ "dev": true,
+ "requires": {
+ "whatwg-url": "^5.0.0"
+ }
+ }
}
},
"cross-spawn": {
@@ -36596,6 +38761,23 @@
"path-key": "^3.1.0",
"shebang-command": "^2.0.0",
"which": "^2.0.1"
+ },
+ "dependencies": {
+ "isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
+ "dev": true
+ },
+ "which": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "dev": true,
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ }
}
},
"crypto-js": {
@@ -36666,13 +38848,13 @@
"dev": true
},
"d": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz",
- "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/d/-/d-1.0.2.tgz",
+ "integrity": "sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==",
"dev": true,
"requires": {
- "es5-ext": "^0.10.50",
- "type": "^1.0.1"
+ "es5-ext": "^0.10.64",
+ "type": "^2.7.2"
}
},
"dashdash": {
@@ -36685,11 +38867,44 @@
}
},
"data-uri-to-buffer": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-6.0.1.tgz",
- "integrity": "sha512-MZd3VlchQkp8rdend6vrx7MmVDJzSNTBvghvKjirLkD+WTChA3KUf0jkE68Q4UyctNqI11zZO9/x2Yx+ub5Cvg==",
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz",
+ "integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==",
"dev": true
},
+ "data-view-buffer": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz",
+ "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.6",
+ "es-errors": "^1.3.0",
+ "is-data-view": "^1.0.1"
+ }
+ },
+ "data-view-byte-length": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz",
+ "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.7",
+ "es-errors": "^1.3.0",
+ "is-data-view": "^1.0.1"
+ }
+ },
+ "data-view-byte-offset": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz",
+ "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.6",
+ "es-errors": "^1.3.0",
+ "is-data-view": "^1.0.1"
+ }
+ },
"date-format": {
"version": "4.0.14",
"resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.14.tgz",
@@ -36709,10 +38924,16 @@
"dev": true,
"optional": true
},
+ "debounce": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz",
+ "integrity": "sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==",
+ "dev": true
+ },
"debug": {
- "version": "4.3.4",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
- "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "version": "4.3.5",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz",
+ "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==",
"requires": {
"ms": "2.1.2"
}
@@ -36740,9 +38961,9 @@
}
},
"decamelize": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz",
- "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==",
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-6.0.0.tgz",
+ "integrity": "sha512-Fv96DCsdOgB6mdGl67MT5JaTNKRzrzill5OH5s8bjYJXVlcXyPYGyPsUkWyGV5p1TXI5esYIYMMeDJL0hEIwaA==",
"dev": true
},
"decode-named-character-reference": {
@@ -36778,35 +38999,38 @@
}
},
"deep-eql": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz",
- "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==",
+ "version": "4.1.4",
+ "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.4.tgz",
+ "integrity": "sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg==",
"dev": true,
"requires": {
"type-detect": "^4.0.0"
}
},
"deep-equal": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.0.5.tgz",
- "integrity": "sha512-nPiRgmbAtm1a3JsnLCf6/SLfXcjyN5v8L1TXzdCmHrXJ4hx+gW/w1YCcn7z8gJtSiDArZCgYtbao3QqLm/N1Sw==",
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.3.tgz",
+ "integrity": "sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==",
"dev": true,
"requires": {
- "call-bind": "^1.0.0",
- "es-get-iterator": "^1.1.1",
- "get-intrinsic": "^1.0.1",
- "is-arguments": "^1.0.4",
- "is-date-object": "^1.0.2",
- "is-regex": "^1.1.1",
+ "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.4",
+ "object-is": "^1.1.5",
"object-keys": "^1.1.1",
- "object.assign": "^4.1.2",
- "regexp.prototype.flags": "^1.3.0",
- "side-channel": "^1.0.3",
- "which-boxed-primitive": "^1.0.1",
+ "object.assign": "^4.1.4",
+ "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.2"
+ "which-typed-array": "^1.1.13"
}
},
"deep-is": {
@@ -36816,9 +39040,9 @@
"dev": true
},
"deepmerge": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz",
- "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==",
+ "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==",
"dev": true
},
"deepmerge-ts": {
@@ -36866,21 +39090,22 @@
"dev": true
},
"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==",
"requires": {
- "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"
}
},
"define-properties": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz",
- "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==",
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz",
+ "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==",
"dev": true,
"requires": {
+ "define-data-property": "^1.0.1",
"has-property-descriptors": "^1.0.0",
"object-keys": "^1.1.1"
}
@@ -36983,49 +39208,74 @@
"dev": true
},
"devtools": {
- "version": "7.25.4",
- "resolved": "https://registry.npmjs.org/devtools/-/devtools-7.25.4.tgz",
- "integrity": "sha512-R6/S/dCqxoX4Y6PxIGM9JFAuSRZzUeV5r+CoE/frhmno6mTe7dEEgwkJlfit3LkKRoul8n4DsL2A3QtWOvq5IA==",
+ "version": "7.35.0",
+ "resolved": "https://registry.npmjs.org/devtools/-/devtools-7.35.0.tgz",
+ "integrity": "sha512-7HMZMcJSCK/PaBCWVs4n4ZhtBNdUQj10iPwXvj/JDkqPreEXN/XW9GJAoMuLPFmCEKfxe+LrIbgs8ocGJ6rp/A==",
"dev": true,
"requires": {
"@types/node": "^18.0.0",
"@types/ua-parser-js": "^0.7.33",
- "@wdio/config": "7.25.4",
- "@wdio/logger": "7.19.0",
- "@wdio/protocols": "7.22.0",
- "@wdio/types": "7.25.4",
- "@wdio/utils": "7.25.4",
+ "@wdio/config": "7.33.0",
+ "@wdio/logger": "7.26.0",
+ "@wdio/protocols": "7.27.0",
+ "@wdio/types": "7.33.0",
+ "@wdio/utils": "7.33.0",
"chrome-launcher": "^0.15.0",
"edge-paths": "^2.1.0",
- "puppeteer-core": "^13.1.3",
+ "puppeteer-core": "13.1.3",
"query-selector-shadow-dom": "^1.0.0",
"ua-parser-js": "^1.0.1",
"uuid": "^9.0.0"
},
"dependencies": {
+ "@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==",
+ "dev": true
+ },
+ "@szmarczak/http-timer": {
+ "version": "4.0.6",
+ "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz",
+ "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==",
+ "dev": true,
+ "requires": {
+ "defer-to-connect": "^2.0.0"
+ }
+ },
"@types/node": {
- "version": "18.11.9",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
- "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==",
+ "version": "18.19.34",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.34.tgz",
+ "integrity": "sha512-eXF4pfBNV5DAMKGbI02NnDtWrQ40hAN558/2vvS4gMpMIxaf6JmD7YjnZbq0Q9TDSSkKBamime8ewRoomHdt4g==",
+ "dev": true,
+ "requires": {
+ "undici-types": "~5.26.4"
+ }
+ },
+ "@types/which": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/@types/which/-/which-1.3.2.tgz",
+ "integrity": "sha512-8oDqyLC7eD4HM307boe2QWKyuzdzWBj56xI/imSl2cpL+U3tCMaTAkMJ4ee5JBZ/FsOJlvRGeIShiZDAl1qERA==",
"dev": true
},
"@wdio/config": {
- "version": "7.25.4",
- "resolved": "https://registry.npmjs.org/@wdio/config/-/config-7.25.4.tgz",
- "integrity": "sha512-vb0emDtD9FbFh/yqW6oNdo2iuhQp8XKj6GX9fyy9v4wZgg3B0HPMVJxhIfcoHz7LMBWlHSo9YdvhFI5EQHRLBA==",
+ "version": "7.33.0",
+ "resolved": "https://registry.npmjs.org/@wdio/config/-/config-7.33.0.tgz",
+ "integrity": "sha512-SaCZNKrDtBghf7ujyaxTiU4pBW+1Kms32shSoXpJ/wFop6/MiA7nb19qpUPoJtEDw5/NOKevUKz8nBMBXphiew==",
"dev": true,
"requires": {
- "@wdio/logger": "7.19.0",
- "@wdio/types": "7.25.4",
- "@wdio/utils": "7.25.4",
+ "@types/glob": "^8.1.0",
+ "@wdio/logger": "7.26.0",
+ "@wdio/types": "7.33.0",
+ "@wdio/utils": "7.33.0",
"deepmerge": "^4.0.0",
"glob": "^8.0.3"
}
},
"@wdio/logger": {
- "version": "7.19.0",
- "resolved": "https://registry.npmjs.org/@wdio/logger/-/logger-7.19.0.tgz",
- "integrity": "sha512-xR7SN/kGei1QJD1aagzxs3KMuzNxdT/7LYYx+lt6BII49+fqL/SO+5X0FDCZD0Ds93AuQvvz9eGyzrBI2FFXmQ==",
+ "version": "7.26.0",
+ "resolved": "https://registry.npmjs.org/@wdio/logger/-/logger-7.26.0.tgz",
+ "integrity": "sha512-kQj9s5JudAG9qB+zAAcYGPHVfATl2oqKgqj47yjehOQ1zzG33xmtL1ArFbQKWhDG32y1A8sN6b0pIqBEIwgg8Q==",
"dev": true,
"requires": {
"chalk": "^4.0.0",
@@ -37035,15 +39285,15 @@
}
},
"@wdio/protocols": {
- "version": "7.22.0",
- "resolved": "https://registry.npmjs.org/@wdio/protocols/-/protocols-7.22.0.tgz",
- "integrity": "sha512-8EXRR+Ymdwousm/VGtW3H1hwxZ/1g1H99A1lF0U4GuJ5cFWHCd0IVE5H31Z52i8ZruouW8jueMkGZPSo2IIUSQ==",
+ "version": "7.27.0",
+ "resolved": "https://registry.npmjs.org/@wdio/protocols/-/protocols-7.27.0.tgz",
+ "integrity": "sha512-hT/U22R5i3HhwPjkaKAG0yd59eaOaZB0eibRj2+esCImkb5Y6rg8FirrlYRxIGFVBl0+xZV0jKHzR5+o097nvg==",
"dev": true
},
"@wdio/types": {
- "version": "7.25.4",
- "resolved": "https://registry.npmjs.org/@wdio/types/-/types-7.25.4.tgz",
- "integrity": "sha512-muvNmq48QZCvocctnbe0URq2FjJjUPIG4iLoeMmyF0AQgdbjaUkMkw3BHYNHVTbSOU9WMsr2z8alhj/I2H6NRQ==",
+ "version": "7.33.0",
+ "resolved": "https://registry.npmjs.org/@wdio/types/-/types-7.33.0.tgz",
+ "integrity": "sha512-tNcuN5Kl+i5CffaeTYV1omzAo4rVjiI1m9raIA8ph6iVteWdCzYv2/ImpGgFiBPb7Mf6VokU3+q9Slh5Jitaww==",
"dev": true,
"requires": {
"@types/node": "^18.0.0",
@@ -37051,13 +39301,13 @@
}
},
"@wdio/utils": {
- "version": "7.25.4",
- "resolved": "https://registry.npmjs.org/@wdio/utils/-/utils-7.25.4.tgz",
- "integrity": "sha512-8iwQDk+foUqSzKZKfhLxjlCKOkfRJPNHaezQoevNgnrTq/t0ek+ldZCATezb9B8jprAuP4mgS9xi22akc6RkzA==",
+ "version": "7.33.0",
+ "resolved": "https://registry.npmjs.org/@wdio/utils/-/utils-7.33.0.tgz",
+ "integrity": "sha512-4kQQ86EvEN6fBY5+u7M08cT6LfJtpk1rHd203xyxmbmV9lpNv/OCl4CsC+SD0jGT0aZZqYSIJ/Pil07pAh5K0g==",
"dev": true,
"requires": {
- "@wdio/logger": "7.19.0",
- "@wdio/types": "7.25.4",
+ "@wdio/logger": "7.26.0",
+ "@wdio/types": "7.33.0",
"p-iteration": "^1.1.8"
}
},
@@ -37079,6 +39329,27 @@
"balanced-match": "^1.0.0"
}
},
+ "cacheable-lookup": {
+ "version": "5.0.4",
+ "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz",
+ "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==",
+ "dev": true
+ },
+ "cacheable-request": {
+ "version": "7.0.4",
+ "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.4.tgz",
+ "integrity": "sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==",
+ "dev": true,
+ "requires": {
+ "clone-response": "^1.0.2",
+ "get-stream": "^5.1.0",
+ "http-cache-semantics": "^4.0.0",
+ "keyv": "^4.0.0",
+ "lowercase-keys": "^2.0.0",
+ "normalize-url": "^6.0.1",
+ "responselike": "^2.0.0"
+ }
+ },
"chalk": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
@@ -37104,10 +39375,44 @@
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
},
+ "debug": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
+ "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==",
+ "dev": true,
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "devtools-protocol": {
+ "version": "0.0.948846",
+ "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.948846.tgz",
+ "integrity": "sha512-5fGyt9xmMqUl2VI7+rnUkKCiAQIpLns8sfQtTENy5L70ktbNw0Z3TFJ1JoFNYdx/jffz4YXU45VF75wKZD7sZQ==",
+ "dev": true
+ },
+ "edge-paths": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/edge-paths/-/edge-paths-2.2.1.tgz",
+ "integrity": "sha512-AI5fC7dfDmCdKo3m5y7PkYE8m6bMqR6pvVpgtrZkkhcJXFLelUgkjrhk3kXXx8Kbw2cRaTT4LkOR7hqf39KJdw==",
+ "dev": true,
+ "requires": {
+ "@types/which": "^1.3.2",
+ "which": "^2.0.2"
+ }
+ },
+ "get-stream": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
+ "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
+ "dev": true,
+ "requires": {
+ "pump": "^3.0.0"
+ }
+ },
"glob": {
- "version": "8.0.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz",
- "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==",
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz",
+ "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==",
"dev": true,
"requires": {
"fs.realpath": "^1.0.0",
@@ -37117,21 +39422,142 @@
"once": "^1.3.0"
}
},
+ "got": {
+ "version": "11.8.6",
+ "resolved": "https://registry.npmjs.org/got/-/got-11.8.6.tgz",
+ "integrity": "sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==",
+ "dev": true,
+ "requires": {
+ "@sindresorhus/is": "^4.0.0",
+ "@szmarczak/http-timer": "^4.0.5",
+ "@types/cacheable-request": "^6.0.1",
+ "@types/responselike": "^1.0.0",
+ "cacheable-lookup": "^5.0.3",
+ "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"
+ }
+ },
"has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true
},
+ "http2-wrapper": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz",
+ "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==",
+ "dev": true,
+ "requires": {
+ "quick-lru": "^5.1.1",
+ "resolve-alpn": "^1.0.0"
+ }
+ },
+ "https-proxy-agent": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz",
+ "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==",
+ "dev": true,
+ "requires": {
+ "agent-base": "6",
+ "debug": "4"
+ }
+ },
+ "isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
+ "dev": true
+ },
+ "lowercase-keys": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz",
+ "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==",
+ "dev": true
+ },
"minimatch": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz",
- "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==",
+ "version": "5.1.6",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
+ "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
"dev": true,
"requires": {
"brace-expansion": "^2.0.1"
}
},
+ "node-fetch": {
+ "version": "2.6.7",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
+ "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
+ "dev": true,
+ "requires": {
+ "whatwg-url": "^5.0.0"
+ }
+ },
+ "normalize-url": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz",
+ "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==",
+ "dev": true
+ },
+ "p-cancelable": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz",
+ "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==",
+ "dev": true
+ },
+ "puppeteer-core": {
+ "version": "13.1.3",
+ "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-13.1.3.tgz",
+ "integrity": "sha512-96pzvVBzq5lUGt3L/QrIH3mxn3NfZylHeusNhq06xBAHPI0Upc0SC/9u7tXjL0oRnmcExeVRJivr1lj7Ah/yDQ==",
+ "dev": true,
+ "requires": {
+ "debug": "4.3.2",
+ "devtools-protocol": "0.0.948846",
+ "extract-zip": "2.0.1",
+ "https-proxy-agent": "5.0.0",
+ "node-fetch": "2.6.7",
+ "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": "8.2.3"
+ }
+ },
+ "readable-stream": {
+ "version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
+ "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
+ "dev": true,
+ "requires": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ }
+ },
+ "responselike": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz",
+ "integrity": "sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==",
+ "dev": true,
+ "requires": {
+ "lowercase-keys": "^2.0.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^5.0.1"
+ }
+ },
"supports-color": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
@@ -37141,24 +39567,59 @@
"has-flag": "^4.0.0"
}
},
+ "tar-fs": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz",
+ "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==",
+ "dev": true,
+ "requires": {
+ "chownr": "^1.1.1",
+ "mkdirp-classic": "^0.5.2",
+ "pump": "^3.0.0",
+ "tar-stream": "^2.1.4"
+ }
+ },
+ "tar-stream": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz",
+ "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==",
+ "dev": true,
+ "requires": {
+ "bl": "^4.0.3",
+ "end-of-stream": "^1.4.1",
+ "fs-constants": "^1.0.0",
+ "inherits": "^2.0.3",
+ "readable-stream": "^3.1.1"
+ }
+ },
"ua-parser-js": {
- "version": "1.0.33",
- "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.33.tgz",
- "integrity": "sha512-RqshF7TPTE0XLYAqmjlu5cLLuGdKrNu9O1KLA/qp39QtbZwuzwv1dT46DZSopoUMsYgXpB3Cv8a03FI8b74oFQ==",
+ "version": "1.0.38",
+ "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.38.tgz",
+ "integrity": "sha512-Aq5ppTOfvrCMgAPneW1HfWj66Xi7XL+/mIy996R1/CLS/rcyJQm6QZdsKrUeivDFQ+Oc9Wyuwor8Ze8peEoUoQ==",
"dev": true
},
- "uuid": {
- "version": "9.0.0",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz",
- "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==",
- "dev": true
+ "which": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "dev": true,
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ },
+ "ws": {
+ "version": "8.2.3",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz",
+ "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==",
+ "dev": true,
+ "requires": {}
}
}
},
"devtools-protocol": {
- "version": "0.0.1061995",
- "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1061995.tgz",
- "integrity": "sha512-pKZZWTjWa/IF4ENCg6GN8bu/AxSZgdhjSa26uc23wz38Blt2Tnm9icOPcSG3Cht55rMq35in1w3rWVPcZ60ArA==",
+ "version": "0.0.1260888",
+ "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1260888.tgz",
+ "integrity": "sha512-9rTIZ4ZjWwalCPiaY+kPiALLfOKgAz5CTi/Zb1L+qSZ8PH3zVo1T8JcgXIIqg1iM3pZ6hF+n9xO5r2jZ/SF+jg==",
"dev": true
},
"di": {
@@ -37168,9 +39629,9 @@
"dev": true
},
"diff": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz",
- "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==",
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz",
+ "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==",
"dev": true
},
"diff-sequences": {
@@ -37203,9 +39664,9 @@
}
},
"documentation": {
- "version": "14.0.1",
- "resolved": "https://registry.npmjs.org/documentation/-/documentation-14.0.1.tgz",
- "integrity": "sha512-Y/brACCE3sNnDJPFiWlhXrqGY+NelLYVZShLGse5bT1KdohP4JkPf5T2KNq1YWhIEbDYl/1tebRLC0WYbPQxVw==",
+ "version": "14.0.3",
+ "resolved": "https://registry.npmjs.org/documentation/-/documentation-14.0.3.tgz",
+ "integrity": "sha512-B7cAviVKN9Rw7Ofd+9grhVuxiHwly6Ieh+d/ceMw8UdBOv/irkuwnDEJP8tq0wgdLJDUVuIkovV+AX9mTrZFxg==",
"dev": true,
"requires": {
"@babel/core": "^7.18.10",
@@ -37265,15 +39726,25 @@
}
},
"chalk": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.1.2.tgz",
- "integrity": "sha512-E5CkT4jWURs1Vy5qGJye+XwCkNj7Od3Af7CP6SujMetSMkLs8Do2RWJK5yx1wamHV/op8Rz+9rltjaTQWDnEFQ==",
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz",
+ "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==",
"dev": true
},
+ "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==",
+ "dev": true,
+ "requires": {
+ "locate-path": "^7.1.0",
+ "path-exists": "^5.0.0"
+ }
+ },
"glob": {
- "version": "8.0.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz",
- "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==",
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz",
+ "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==",
"dev": true,
"requires": {
"fs.realpath": "^1.0.0",
@@ -37283,6 +39754,15 @@
"once": "^1.3.0"
}
},
+ "hosted-git-info": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz",
+ "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==",
+ "dev": true,
+ "requires": {
+ "lru-cache": "^6.0.0"
+ }
+ },
"js-yaml": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
@@ -37292,19 +39772,138 @@
"argparse": "^2.0.1"
}
},
+ "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==",
+ "dev": true
+ },
+ "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==",
+ "dev": true
+ },
+ "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==",
+ "dev": true,
+ "requires": {
+ "p-locate": "^6.0.0"
+ }
+ },
+ "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==",
+ "dev": true,
+ "requires": {
+ "yallist": "^4.0.0"
+ }
+ },
"minimatch": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz",
- "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==",
+ "version": "5.1.6",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
+ "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
"dev": true,
"requires": {
"brace-expansion": "^2.0.1"
}
},
+ "normalize-package-data": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz",
+ "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==",
+ "dev": true,
+ "requires": {
+ "hosted-git-info": "^4.0.1",
+ "is-core-module": "^2.5.0",
+ "semver": "^7.3.4",
+ "validate-npm-package-license": "^3.0.1"
+ }
+ },
+ "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==",
+ "dev": true,
+ "requires": {
+ "yocto-queue": "^1.0.0"
+ }
+ },
+ "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==",
+ "dev": true,
+ "requires": {
+ "p-limit": "^4.0.0"
+ }
+ },
+ "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==",
+ "dev": true,
+ "requires": {
+ "@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"
+ }
+ },
+ "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==",
+ "dev": true
+ },
+ "read-pkg": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-7.1.0.tgz",
+ "integrity": "sha512-5iOehe+WF75IccPc30bWTbpdDQLOCc3Uu8bi3Dte3Eueij81yx1Mrufk8qBx/YAbR4uL1FdUr+7BKXDwEtisXg==",
+ "dev": true,
+ "requires": {
+ "@types/normalize-package-data": "^2.4.1",
+ "normalize-package-data": "^3.0.2",
+ "parse-json": "^5.2.0",
+ "type-fest": "^2.0.0"
+ }
+ },
+ "read-pkg-up": {
+ "version": "9.1.0",
+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-9.1.0.tgz",
+ "integrity": "sha512-vaMRR1AC1nrd5CQM0PhlRsO5oc2AAigqr7cCrZ/MW/Rsaflz4RlgzkpL4qoU/z1F6wrbd85iFv1OQj/y5RdGvg==",
+ "dev": true,
+ "requires": {
+ "find-up": "^6.3.0",
+ "read-pkg": "^7.1.0",
+ "type-fest": "^2.5.0"
+ }
+ },
+ "semver": {
+ "version": "7.6.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz",
+ "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==",
+ "dev": true
+ },
+ "type-fest": {
+ "version": "2.19.0",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz",
+ "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==",
+ "dev": true
+ },
+ "yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+ "dev": true
+ },
"yargs": {
- "version": "17.6.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.0.tgz",
- "integrity": "sha512-8H/wTDqlSwoSnScvV2N/JHfLWOKuh5MVla9hqLjK3nsfyy6Y4kDSYSvkU5YCUEPOSnRXfIyx3Sq+B/IWudTo4g==",
+ "version": "17.7.2",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
+ "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
"dev": true,
"requires": {
"cliui": "^8.0.1",
@@ -37313,7 +39912,7 @@
"require-directory": "^2.1.1",
"string-width": "^4.2.3",
"y18n": "^5.0.5",
- "yargs-parser": "^21.0.0"
+ "yargs-parser": "^21.1.1"
}
}
}
@@ -37374,9 +39973,9 @@
}
},
"dotenv": {
- "version": "16.4.1",
- "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.1.tgz",
- "integrity": "sha512-CjA3y+Dr3FyFDOAMnxZEGtnW9KBR2M0JvvUtXNW+dYJL5ROWxP9DUHCwgFqpMk0OXCc0ljhaNTr2w/kutYIcHQ==",
+ "version": "16.4.5",
+ "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz",
+ "integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==",
"dev": true
},
"dset": {
@@ -37426,21 +40025,21 @@
}
},
"duplexify": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.2.tgz",
- "integrity": "sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw==",
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.3.tgz",
+ "integrity": "sha512-M3BmBhwJRZsSx38lZyhE53Csddgzl5R7xGJNk7CVddZD6CcmwMCH8J+7AprIrQKH7TonKxaCjcv27Qmf+sQ+oA==",
"dev": true,
"requires": {
"end-of-stream": "^1.4.1",
"inherits": "^2.0.3",
"readable-stream": "^3.1.1",
- "stream-shift": "^1.0.0"
+ "stream-shift": "^1.0.2"
},
"dependencies": {
"readable-stream": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
- "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+ "version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
+ "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
"dev": true,
"requires": {
"inherits": "^2.0.3",
@@ -37495,128 +40094,57 @@
"requires": {
"jsbn": "~0.1.0",
"safer-buffer": "^2.1.0"
+ },
+ "dependencies": {
+ "jsbn": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
+ "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==",
+ "dev": true
+ }
}
},
"edge-paths": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/edge-paths/-/edge-paths-2.2.1.tgz",
- "integrity": "sha512-AI5fC7dfDmCdKo3m5y7PkYE8m6bMqR6pvVpgtrZkkhcJXFLelUgkjrhk3kXXx8Kbw2cRaTT4LkOR7hqf39KJdw==",
+ "version": "3.0.5",
+ "resolved": "https://registry.npmjs.org/edge-paths/-/edge-paths-3.0.5.tgz",
+ "integrity": "sha512-sB7vSrDnFa4ezWQk9nZ/n0FdpdUuC6R1EOrlU3DL+bovcNFK28rqu2emmAUjujYEJTWIgQGqgVVWUZXMnc8iWg==",
"dev": true,
"requires": {
- "@types/which": "^1.3.2",
+ "@types/which": "^2.0.1",
"which": "^2.0.2"
- }
- },
- "edgedriver": {
- "version": "5.3.9",
- "resolved": "https://registry.npmjs.org/edgedriver/-/edgedriver-5.3.9.tgz",
- "integrity": "sha512-G0wNgFMFRDnFfKaXG2R6HiyVHqhKwdQ3EgoxW3wPlns2wKqem7F+HgkWBcevN7Vz0nN4AXtskID7/6jsYDXcKw==",
- "dev": true,
- "requires": {
- "@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"
},
"dependencies": {
- "@types/which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/@types/which/-/which-2.0.2.tgz",
- "integrity": "sha512-113D3mDkZDjo+EeUEHCFy0qniNc1ZpecGiAU7WSo7YDoSzolZIQKpYFHrPpjkB2nuyahcKfrmLXeQlh7gqJYdw==",
- "dev": true
- },
- "data-uri-to-buffer": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz",
- "integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==",
- "dev": true
- },
- "decamelize": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-6.0.0.tgz",
- "integrity": "sha512-Fv96DCsdOgB6mdGl67MT5JaTNKRzrzill5OH5s8bjYJXVlcXyPYGyPsUkWyGV5p1TXI5esYIYMMeDJL0hEIwaA==",
+ "isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
"dev": true
},
- "duplexer2": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz",
- "integrity": "sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==",
- "dev": true,
- "requires": {
- "readable-stream": "^2.0.2"
- }
- },
- "edge-paths": {
- "version": "3.0.5",
- "resolved": "https://registry.npmjs.org/edge-paths/-/edge-paths-3.0.5.tgz",
- "integrity": "sha512-sB7vSrDnFa4ezWQk9nZ/n0FdpdUuC6R1EOrlU3DL+bovcNFK28rqu2emmAUjujYEJTWIgQGqgVVWUZXMnc8iWg==",
- "dev": true,
- "requires": {
- "@types/which": "^2.0.1",
- "which": "^2.0.2"
- },
- "dependencies": {
- "which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
- "dev": true,
- "requires": {
- "isexe": "^2.0.0"
- }
- }
- }
- },
- "node-fetch": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz",
- "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==",
- "dev": true,
- "requires": {
- "data-uri-to-buffer": "^4.0.0",
- "fetch-blob": "^3.1.4",
- "formdata-polyfill": "^4.0.10"
- }
- },
- "unzipper": {
- "version": "0.10.14",
- "resolved": "https://registry.npmjs.org/unzipper/-/unzipper-0.10.14.tgz",
- "integrity": "sha512-ti4wZj+0bQTiX2KmKWuwj7lhV+2n//uXEotUmGuQqrbVZSEGFMbI68+c6JCQ8aAmUWYvtHEz2A8K6wXvueR/6g==",
- "dev": true,
- "requires": {
- "big-integer": "^1.6.17",
- "binary": "~0.3.0",
- "bluebird": "~3.4.1",
- "buffer-indexof-polyfill": "~1.0.0",
- "duplexer2": "~0.1.4",
- "fstream": "^1.0.12",
- "graceful-fs": "^4.2.2",
- "listenercount": "~1.0.1",
- "readable-stream": "~2.3.6",
- "setimmediate": "~1.0.4"
- }
- },
"which": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz",
- "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
"dev": true,
"requires": {
- "isexe": "^3.1.1"
- },
- "dependencies": {
- "isexe": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz",
- "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==",
- "dev": true
- }
+ "isexe": "^2.0.0"
}
}
}
},
+ "edgedriver": {
+ "version": "5.6.0",
+ "resolved": "https://registry.npmjs.org/edgedriver/-/edgedriver-5.6.0.tgz",
+ "integrity": "sha512-IeJXEczG+DNYBIa9gFgVYTqrawlxmc9SUqUsWU2E98jOsO/amA7wzabKOS8Bwgr/3xWoyXCJ6yGFrbFKrilyyQ==",
+ "dev": true,
+ "requires": {
+ "@wdio/logger": "^8.28.0",
+ "@zip.js/zip.js": "^2.7.44",
+ "decamelize": "^6.0.0",
+ "edge-paths": "^3.0.5",
+ "node-fetch": "^3.3.2",
+ "which": "^4.0.0"
+ }
+ },
"ee-first": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
@@ -37632,9 +40160,9 @@
}
},
"electron-to-chromium": {
- "version": "1.4.284",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz",
- "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA=="
+ "version": "1.4.802",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.802.tgz",
+ "integrity": "sha512-TnTMUATbgNdPXVSHsxvNVSG0uEd6cSZsANjm8c9HbvflZVVn1yTRcmVXYT1Ma95/ssB/Dcd30AHweH2TE+dNpA=="
},
"emoji-regex": {
"version": "8.0.0",
@@ -37663,9 +40191,9 @@
}
},
"engine.io": {
- "version": "6.4.2",
- "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.4.2.tgz",
- "integrity": "sha512-FKn/3oMiJjrOEOeUub2WCox6JhxBXq/Zn3fZOMCBxKnNYtsdKjxhl7yR3fZhM9PV+rdE75SU5SYMc+2PGzo+Tg==",
+ "version": "6.5.4",
+ "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.5.4.tgz",
+ "integrity": "sha512-KdVSDKhVKyOi+r5uEabrDLZw2qXStVvCsEB/LN3mw4WFi6Gx50jTyuxYVCwAAC0U46FdnzP/ScKRBTXb/NiEOg==",
"dev": true,
"requires": {
"@types/cookie": "^0.4.1",
@@ -37676,7 +40204,7 @@
"cookie": "~0.4.1",
"cors": "~2.8.5",
"debug": "~4.3.1",
- "engine.io-parser": "~5.0.3",
+ "engine.io-parser": "~5.2.1",
"ws": "~8.11.0"
},
"dependencies": {
@@ -37689,15 +40217,15 @@
}
},
"engine.io-parser": {
- "version": "5.0.6",
- "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.6.tgz",
- "integrity": "sha512-tjuoZDMAdEhVnSFleYPCtdL2GXwVTGtNjoeJd9IhIG3C1xs9uwxqRNEu5WpnDZCaozwVlK/nuQhpodhXSIMaxw==",
+ "version": "5.2.2",
+ "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.2.tgz",
+ "integrity": "sha512-RcyUFKA93/CXH20l4SoVvzZfrSDMOTUS3bWVpTt2FuFP+XYrL8i8oonHP7WInRyVHXh0n/ORtoeiE1os+8qkSw==",
"dev": true
},
"enhanced-resolve": {
- "version": "5.10.0",
- "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz",
- "integrity": "sha512-T0yTFjdpldGY8PmuXXR0PyQ1ufZpEGiHVrp7zHKB7jdR4qlmZHhONVM5AQOAWXuF/w3dnHbEQVrNptJgt7F+cQ==",
+ "version": "5.17.0",
+ "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.0.tgz",
+ "integrity": "sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==",
"dev": true,
"requires": {
"graceful-fs": "^4.2.4",
@@ -37705,12 +40233,24 @@
}
},
"enquirer": {
- "version": "2.3.6",
- "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz",
- "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==",
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz",
+ "integrity": "sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==",
"dev": true,
"requires": {
- "ansi-colors": "^4.1.1"
+ "ansi-colors": "^4.1.1",
+ "strip-ansi": "^6.0.1"
+ },
+ "dependencies": {
+ "strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^5.0.1"
+ }
+ }
}
},
"ent": {
@@ -37753,66 +40293,122 @@
}
},
"es-abstract": {
- "version": "1.20.4",
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.4.tgz",
- "integrity": "sha512-0UtvRN79eMe2L+UNEF1BwRe364sj/DXhQ/k5FmivgoSdpM90b8Jc0mDzKMGo7QS0BVbOP/bTwBKNnDc9rNzaPA==",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.2",
+ "version": "1.23.3",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz",
+ "integrity": "sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==",
+ "dev": true,
+ "requires": {
+ "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",
- "function.prototype.name": "^1.1.5",
- "get-intrinsic": "^1.1.3",
- "get-symbol-description": "^1.0.0",
- "has": "^1.0.3",
- "has-property-descriptors": "^1.0.0",
+ "function.prototype.name": "^1.1.6",
+ "get-intrinsic": "^1.2.4",
+ "get-symbol-description": "^1.0.2",
+ "globalthis": "^1.0.3",
+ "gopd": "^1.0.1",
+ "has-property-descriptors": "^1.0.2",
+ "has-proto": "^1.0.3",
"has-symbols": "^1.0.3",
- "internal-slot": "^1.0.3",
+ "hasown": "^2.0.2",
+ "internal-slot": "^1.0.7",
+ "is-array-buffer": "^3.0.4",
"is-callable": "^1.2.7",
- "is-negative-zero": "^2.0.2",
+ "is-data-view": "^1.0.1",
+ "is-negative-zero": "^2.0.3",
"is-regex": "^1.1.4",
- "is-shared-array-buffer": "^1.0.2",
+ "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.12.2",
+ "object-inspect": "^1.13.1",
"object-keys": "^1.1.1",
- "object.assign": "^4.1.4",
- "regexp.prototype.flags": "^1.4.3",
- "safe-regex-test": "^1.0.0",
- "string.prototype.trimend": "^1.0.5",
- "string.prototype.trimstart": "^1.0.5",
- "unbox-primitive": "^1.0.2"
+ "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-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==",
+ "requires": {
+ "get-intrinsic": "^1.2.4"
}
},
+ "es-errors": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
+ "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw=="
+ },
"es-get-iterator": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.2.tgz",
- "integrity": "sha512-+DTO8GYwbMCwbywjimwZMHp8AuYXOS2JZFWoi2AlPOS3ebnII9w/NLpNZtA7A0YLaVDw+O7KFCeoIV7OPvM7hQ==",
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz",
+ "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==",
"dev": true,
"requires": {
"call-bind": "^1.0.2",
- "get-intrinsic": "^1.1.0",
- "has-symbols": "^1.0.1",
- "is-arguments": "^1.1.0",
+ "get-intrinsic": "^1.1.3",
+ "has-symbols": "^1.0.3",
+ "is-arguments": "^1.1.1",
"is-map": "^2.0.2",
"is-set": "^2.0.2",
- "is-string": "^1.0.5",
- "isarray": "^2.0.5"
+ "is-string": "^1.0.7",
+ "isarray": "^2.0.5",
+ "stop-iteration-iterator": "^1.0.0"
}
},
"es-module-lexer": {
- "version": "0.9.3",
- "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz",
- "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==",
+ "version": "1.5.3",
+ "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.3.tgz",
+ "integrity": "sha512-i1gCgmR9dCl6Vil6UKPI/trA69s08g/syhiDK9TG0Nf1RJjjFI+AzoWW7sPufzkgYAn861skuCwJa0pIIHYxvg==",
"dev": true
},
- "es-shim-unscopables": {
+ "es-object-atoms": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz",
- "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==",
+ "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz",
+ "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==",
"dev": true,
"requires": {
- "has": "^1.0.3"
+ "es-errors": "^1.3.0"
+ }
+ },
+ "es-set-tostringtag": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz",
+ "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==",
+ "dev": true,
+ "requires": {
+ "get-intrinsic": "^1.2.4",
+ "has-tostringtag": "^1.0.2",
+ "hasown": "^2.0.1"
+ }
+ },
+ "es-shim-unscopables": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz",
+ "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==",
+ "dev": true,
+ "requires": {
+ "hasown": "^2.0.0"
}
},
"es-to-primitive": {
@@ -37827,13 +40423,14 @@
}
},
"es5-ext": {
- "version": "0.10.62",
- "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.62.tgz",
- "integrity": "sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==",
+ "version": "0.10.64",
+ "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.64.tgz",
+ "integrity": "sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==",
"dev": true,
"requires": {
"es6-iterator": "^2.0.3",
"es6-symbol": "^3.1.3",
+ "esniff": "^2.0.1",
"next-tick": "^1.1.0"
}
},
@@ -37854,12 +40451,6 @@
"es6-symbol": "^3.1.1"
}
},
- "es6-object-assign": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/es6-object-assign/-/es6-object-assign-1.1.0.tgz",
- "integrity": "sha512-MEl9uirslVwqQU369iHNWZXsI8yaZYGg/D65aOgZkeyFJwHYSxilf7rQzXKI7DdDuBPrBXbfk3sl9hJhmd5AUw==",
- "dev": true
- },
"es6-promise": {
"version": "4.2.8",
"resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz",
@@ -37875,13 +40466,13 @@
}
},
"es6-symbol": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz",
- "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==",
+ "version": "3.1.4",
+ "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.4.tgz",
+ "integrity": "sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==",
"dev": true,
"requires": {
- "d": "^1.0.1",
- "ext": "^1.1.2"
+ "d": "^1.0.2",
+ "ext": "^1.7.0"
}
},
"es6-weak-map": {
@@ -37897,9 +40488,9 @@
}
},
"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=="
},
"escape-html": {
"version": "1.0.3",
@@ -38079,9 +40670,9 @@
"dev": true
},
"globals": {
- "version": "13.17.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz",
- "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==",
+ "version": "13.24.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz",
+ "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==",
"dev": true,
"requires": {
"type-fest": "^0.20.2"
@@ -38094,12 +40685,18 @@
"dev": true
},
"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==",
+ "version": "7.6.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz",
+ "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==",
+ "dev": true
+ },
+ "strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
"dev": true,
"requires": {
- "lru-cache": "^6.0.0"
+ "ansi-regex": "^5.0.1"
}
},
"strip-json-comments": {
@@ -38133,13 +40730,14 @@
"requires": {}
},
"eslint-import-resolver-node": {
- "version": "0.3.6",
- "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz",
- "integrity": "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==",
+ "version": "0.3.9",
+ "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz",
+ "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==",
"dev": true,
"requires": {
"debug": "^3.2.7",
- "resolve": "^1.20.0"
+ "is-core-module": "^2.13.0",
+ "resolve": "^1.22.4"
},
"dependencies": {
"debug": {
@@ -38154,9 +40752,9 @@
}
},
"eslint-module-utils": {
- "version": "2.7.4",
- "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz",
- "integrity": "sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==",
+ "version": "2.8.1",
+ "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.1.tgz",
+ "integrity": "sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==",
"dev": true,
"requires": {
"debug": "^3.2.7"
@@ -38184,33 +40782,37 @@
}
},
"eslint-plugin-import": {
- "version": "2.26.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz",
- "integrity": "sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==",
+ "version": "2.29.1",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz",
+ "integrity": "sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==",
"dev": true,
"requires": {
- "array-includes": "^3.1.4",
- "array.prototype.flat": "^1.2.5",
- "debug": "^2.6.9",
+ "array-includes": "^3.1.7",
+ "array.prototype.findlastindex": "^1.2.3",
+ "array.prototype.flat": "^1.3.2",
+ "array.prototype.flatmap": "^1.3.2",
+ "debug": "^3.2.7",
"doctrine": "^2.1.0",
- "eslint-import-resolver-node": "^0.3.6",
- "eslint-module-utils": "^2.7.3",
- "has": "^1.0.3",
- "is-core-module": "^2.8.1",
+ "eslint-import-resolver-node": "^0.3.9",
+ "eslint-module-utils": "^2.8.0",
+ "hasown": "^2.0.0",
+ "is-core-module": "^2.13.1",
"is-glob": "^4.0.3",
"minimatch": "^3.1.2",
- "object.values": "^1.1.5",
- "resolve": "^1.22.0",
- "tsconfig-paths": "^3.14.1"
+ "object.fromentries": "^2.0.7",
+ "object.groupby": "^1.0.1",
+ "object.values": "^1.1.7",
+ "semver": "^6.3.1",
+ "tsconfig-paths": "^3.15.0"
},
"dependencies": {
"debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
+ "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
"dev": true,
"requires": {
- "ms": "2.0.0"
+ "ms": "^2.1.1"
}
},
"doctrine": {
@@ -38221,12 +40823,6 @@
"requires": {
"esutils": "^2.0.2"
}
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
- "dev": true
}
}
},
@@ -38253,13 +40849,10 @@
"dev": true
},
"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==",
- "dev": true,
- "requires": {
- "lru-cache": "^6.0.0"
- }
+ "version": "7.6.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz",
+ "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==",
+ "dev": true
}
}
},
@@ -38278,9 +40871,9 @@
},
"dependencies": {
"ignore": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
- "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==",
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz",
+ "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==",
"dev": true
}
}
@@ -38335,6 +40928,18 @@
"integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==",
"dev": true
},
+ "esniff": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/esniff/-/esniff-2.0.1.tgz",
+ "integrity": "sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==",
+ "dev": true,
+ "requires": {
+ "d": "^1.0.1",
+ "es5-ext": "^0.10.62",
+ "event-emitter": "^0.3.5",
+ "type": "^2.7.2"
+ }
+ },
"espree": {
"version": "7.3.1",
"resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz",
@@ -38361,9 +40966,9 @@
"dev": true
},
"esquery": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz",
- "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==",
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz",
+ "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==",
"dev": true,
"requires": {
"estraverse": "^5.1.0"
@@ -38450,6 +41055,12 @@
}
}
},
+ "event-target-shim": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz",
+ "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==",
+ "dev": true
+ },
"eventemitter3": {
"version": "4.0.7",
"resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz",
@@ -38490,6 +41101,12 @@
"which": "^1.2.9"
}
},
+ "isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
+ "dev": true
+ },
"path-key": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
@@ -38570,61 +41187,14 @@
"is-extendable": "^0.1.0"
}
},
- "is-accessor-descriptor": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
- "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==",
- "dev": true,
- "requires": {
- "kind-of": "^3.0.2"
- },
- "dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
- "dev": true,
- "requires": {
- "is-buffer": "^1.1.5"
- }
- }
- }
- },
- "is-buffer": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
- "dev": true
- },
- "is-data-descriptor": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
- "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==",
- "dev": true,
- "requires": {
- "kind-of": "^3.0.2"
- },
- "dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
- "dev": true,
- "requires": {
- "is-buffer": "^1.1.5"
- }
- }
- }
- },
"is-descriptor": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
- "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz",
+ "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==",
"dev": true,
"requires": {
- "is-accessor-descriptor": "^0.1.6",
- "is-data-descriptor": "^0.1.4",
- "kind-of": "^5.0.0"
+ "is-accessor-descriptor": "^1.0.1",
+ "is-data-descriptor": "^1.0.1"
}
},
"is-extendable": {
@@ -38664,76 +41234,114 @@
}
},
"expect-webdriverio": {
- "version": "4.9.3",
- "resolved": "https://registry.npmjs.org/expect-webdriverio/-/expect-webdriverio-4.9.3.tgz",
- "integrity": "sha512-ASHsFc/QaK5ipF4ct3e8hd3elm8wNXk/Qa3EemtYDmfUQ4uzwqDf75m/QFQpwVNCjEpkNP7Be/6X9kz7bN0P9Q==",
+ "version": "4.15.0",
+ "resolved": "https://registry.npmjs.org/expect-webdriverio/-/expect-webdriverio-4.15.0.tgz",
+ "integrity": "sha512-CIBSLEhDmjZ7kKZq6ItBM7V1jLH/w4JCuKGu3WmR4FscOPvOnp9JN4Zi26SZGeQ73E0dy+YPUL6SIvTNoP/XdQ==",
"dev": true,
"requires": {
- "@vitest/snapshot": "^1.2.1",
- "@wdio/globals": "^8.27.0",
- "@wdio/logger": "^8.24.12",
+ "@vitest/snapshot": "^1.2.2",
+ "@wdio/globals": "^8.29.3",
+ "@wdio/logger": "^8.28.0",
"expect": "^29.7.0",
"jest-matcher-utils": "^29.7.0",
"lodash.isequal": "^4.5.0",
- "webdriverio": "^8.27.0"
+ "webdriverio": "^8.29.3"
},
"dependencies": {
"@puppeteer/browsers": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-1.3.0.tgz",
- "integrity": "sha512-an3QdbNPkuU6qpxpbssxAbjRLJcF+eP4L8UqIY3+6n0sbaVxw5pz7PiCLy9g32XEZuoamUlV5ZQPnA6FxvkIHA==",
+ "version": "1.4.6",
+ "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-1.4.6.tgz",
+ "integrity": "sha512-x4BEjr2SjOPowNeiguzjozQbsc6h437ovD/wu+JpaenxVLm3jkgzHY2xOslMTp50HoTvQreMjiexiGQw1sqZlQ==",
"dev": true,
"optional": true,
- "peer": true,
"requires": {
"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",
"unbzip2-stream": "1.4.3",
"yargs": "17.7.1"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true,
+ "optional": true
+ }
}
},
- "@types/which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/@types/which/-/which-2.0.2.tgz",
- "integrity": "sha512-113D3mDkZDjo+EeUEHCFy0qniNc1ZpecGiAU7WSo7YDoSzolZIQKpYFHrPpjkB2nuyahcKfrmLXeQlh7gqJYdw==",
+ "agent-base": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz",
+ "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==",
"dev": true,
"optional": true,
- "peer": true
+ "requires": {
+ "debug": "^4.3.4"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.3.5",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz",
+ "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true,
+ "optional": true
+ }
+ }
},
"archiver": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/archiver/-/archiver-6.0.1.tgz",
- "integrity": "sha512-CXGy4poOLBKptiZH//VlWdFuUC1RESbdZjGjILwBuZ73P7WkAUN0htfSfBq/7k6FRFlpu7bg4JOkj1vU9G6jcQ==",
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/archiver/-/archiver-7.0.1.tgz",
+ "integrity": "sha512-ZcbTaIqJOfCc03QwD468Unz/5Ir8ATtvAHsK+FdXbDIbGfihqh9mrvdcYunQzqn4HrvWWaFyaxJhGZagaJJpPQ==",
"dev": true,
"optional": true,
"requires": {
- "archiver-utils": "^4.0.1",
+ "archiver-utils": "^5.0.2",
"async": "^3.2.4",
- "buffer-crc32": "^0.2.1",
- "readable-stream": "^3.6.0",
+ "buffer-crc32": "^1.0.0",
+ "readable-stream": "^4.0.0",
"readdir-glob": "^1.1.2",
"tar-stream": "^3.0.0",
- "zip-stream": "^5.0.1"
+ "zip-stream": "^6.0.1"
}
},
"archiver-utils": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-4.0.1.tgz",
- "integrity": "sha512-Q4Q99idbvzmgCTEAAhi32BkOyq8iVI5EwdO0PmBDSGIzzjYNdcFn7Q7k3OzbLy4kLUPXfJtG6fO2RjftXbobBg==",
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-5.0.2.tgz",
+ "integrity": "sha512-wuLJMmIBQYCsGZgYLTy5FIB2pF6Lfb6cXMSF8Qywwk3t20zWnAi7zLcQFdKQmIB8wyZpY5ER38x08GbwtR2cLA==",
"dev": true,
"optional": true,
"requires": {
- "glob": "^8.0.0",
+ "glob": "^10.0.0",
"graceful-fs": "^4.2.0",
+ "is-stream": "^2.0.1",
"lazystream": "^1.0.0",
"lodash": "^4.17.15",
"normalize-path": "^3.0.0",
- "readable-stream": "^3.6.0"
+ "readable-stream": "^4.0.0"
}
},
"async": {
@@ -38753,10 +41361,28 @@
"balanced-match": "^1.0.0"
}
},
+ "buffer": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
+ "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "base64-js": "^1.3.1",
+ "ieee754": "^1.2.1"
+ }
+ },
+ "buffer-crc32": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-1.0.0.tgz",
+ "integrity": "sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w==",
+ "dev": true,
+ "optional": true
+ },
"chrome-launcher": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/chrome-launcher/-/chrome-launcher-1.1.0.tgz",
- "integrity": "sha512-rJYWeEAERwWIr3c3mEVXwNiODPEdMRlRxHc47B1qHPOolHZnkj7rMv1QSUfPoG6MgatWj5AxSpnKKR4QEwEQIQ==",
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/chrome-launcher/-/chrome-launcher-1.1.2.tgz",
+ "integrity": "sha512-YclTJey34KUm5jB1aEJCq807bSievi7Nb/TU4Gu504fUYi3jw3KCIaH6L7nFWQhdEgH3V+wCh+kKD1P5cXnfxw==",
"dev": true,
"optional": true,
"peer": true,
@@ -38768,96 +41394,245 @@
}
},
"compress-commons": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-5.0.1.tgz",
- "integrity": "sha512-MPh//1cERdLtqwO3pOFLeXtpuai0Y2WCd5AhtKxznqM7WtaMYaOEMSgn45d9D10sIHSfIKE603HlOp8OPGrvag==",
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-6.0.2.tgz",
+ "integrity": "sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg==",
"dev": true,
"optional": true,
"requires": {
"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.0.0"
}
},
"crc32-stream": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-5.0.0.tgz",
- "integrity": "sha512-B0EPa1UK+qnpBZpG+7FgPCu0J2ETLpXq09o9BkLkEAhdB6Z61Qo4pJ3JYu0c+Qi+/SAL7QThqnzS06pmSSyZaw==",
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-6.0.0.tgz",
+ "integrity": "sha512-piICUB6ei4IlTv1+653yq5+KoqfBYmj9bw6LqXoOneTMDXk5nM1qt12mFW1caG3LlJXEKW1Bp0WggEmIfQB34g==",
"dev": true,
"optional": true,
"requires": {
"crc-32": "^1.2.0",
- "readable-stream": "^3.4.0"
+ "readable-stream": "^4.0.0"
}
},
"cross-fetch": {
- "version": "3.1.6",
- "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.6.tgz",
- "integrity": "sha512-riRvo06crlE8HiqOwIpQhxwdOk4fOeR7FVM/wXoxchFEqMNUjvbs3bfo4OTgMEMHzppd4DxFBDbyySj8Cv781g==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.0.0.tgz",
+ "integrity": "sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "node-fetch": "^2.6.12"
+ }
+ },
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"dev": true,
"optional": true,
"peer": true,
"requires": {
- "node-fetch": "^2.6.11"
+ "ms": "2.0.0"
}
},
"devtools": {
- "version": "8.29.1",
- "resolved": "https://registry.npmjs.org/devtools/-/devtools-8.29.1.tgz",
- "integrity": "sha512-fbH0Z7CPK4OZSgUw2QcAppczowxtSyvFztPUmiFyi99cUadjEOwlg0aL3pBVlIDo67olYjGb8GD1M5Z4yI/P6w==",
+ "version": "8.38.2",
+ "resolved": "https://registry.npmjs.org/devtools/-/devtools-8.38.2.tgz",
+ "integrity": "sha512-8b+naOPzYqzsiYtZZKYJnUnSqSOIg5orvna2SlWT2kFhkggbAJ1bbMzW7rps6onLfxp93wCNEIvngb9JuxwDsg==",
"dev": true,
"optional": true,
"peer": true,
"requires": {
"@types/node": "^20.1.0",
- "@wdio/config": "8.29.1",
- "@wdio/logger": "8.28.0",
- "@wdio/protocols": "8.24.12",
- "@wdio/types": "8.29.1",
- "@wdio/utils": "8.29.1",
+ "@wdio/config": "8.38.2",
+ "@wdio/logger": "8.38.0",
+ "@wdio/protocols": "8.38.0",
+ "@wdio/types": "8.38.2",
+ "@wdio/utils": "8.38.2",
"chrome-launcher": "^1.0.0",
"edge-paths": "^3.0.5",
"import-meta-resolve": "^4.0.0",
"puppeteer-core": "20.3.0",
"query-selector-shadow-dom": "^1.0.0",
- "ua-parser-js": "^1.0.1",
+ "ua-parser-js": "^1.0.37",
"uuid": "^9.0.0",
"which": "^4.0.0"
},
"dependencies": {
- "which": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz",
- "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==",
+ "@puppeteer/browsers": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-1.3.0.tgz",
+ "integrity": "sha512-an3QdbNPkuU6qpxpbssxAbjRLJcF+eP4L8UqIY3+6n0sbaVxw5pz7PiCLy9g32XEZuoamUlV5ZQPnA6FxvkIHA==",
"dev": true,
"optional": true,
"peer": true,
"requires": {
- "isexe": "^3.1.1"
+ "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",
+ "unbzip2-stream": "1.4.3",
+ "yargs": "17.7.1"
+ }
+ },
+ "agent-base": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
+ "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
+ "dev": true,
+ "optional": true,
+ "peer": true,
+ "requires": {
+ "debug": "4"
+ }
+ },
+ "chromium-bidi": {
+ "version": "0.4.9",
+ "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-0.4.9.tgz",
+ "integrity": "sha512-u3DC6XwgLCA9QJ5ak1voPslCmacQdulZNCPsI3qNXxSnEcZS7DFIbww+5RM2bznMEje7cc0oydavRLRvOIZtHw==",
+ "dev": true,
+ "optional": true,
+ "peer": true,
+ "requires": {
+ "mitt": "3.0.0"
+ }
+ },
+ "cross-fetch": {
+ "version": "3.1.6",
+ "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.6.tgz",
+ "integrity": "sha512-riRvo06crlE8HiqOwIpQhxwdOk4fOeR7FVM/wXoxchFEqMNUjvbs3bfo4OTgMEMHzppd4DxFBDbyySj8Cv781g==",
+ "dev": true,
+ "optional": true,
+ "peer": true,
+ "requires": {
+ "node-fetch": "^2.6.11"
+ }
+ },
+ "debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "dev": true,
+ "optional": true,
+ "peer": true,
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "devtools-protocol": {
+ "version": "0.0.1120988",
+ "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1120988.tgz",
+ "integrity": "sha512-39fCpE3Z78IaIPChJsP6Lhmkbf4dWXOmzLk/KFTdRkNk/0JymRIfUynDVRndV9HoDz8PyalK1UH21ST/ivwW5Q==",
+ "dev": true,
+ "optional": true,
+ "peer": true
+ },
+ "http-proxy-agent": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz",
+ "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==",
+ "dev": true,
+ "optional": true,
+ "peer": true,
+ "requires": {
+ "@tootallnate/once": "2",
+ "agent-base": "6",
+ "debug": "4"
+ }
+ },
+ "https-proxy-agent": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
+ "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
+ "dev": true,
+ "optional": true,
+ "peer": true,
+ "requires": {
+ "agent-base": "6",
+ "debug": "4"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true,
+ "optional": true,
+ "peer": true
+ },
+ "puppeteer-core": {
+ "version": "20.3.0",
+ "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-20.3.0.tgz",
+ "integrity": "sha512-264pBrIui5bO6NJeOcbJrLa0OCwmA4+WK00JMrLIKTfRiqe2gx8KWTzLsjyw/bizErp3TKS7vt/I0i5fTC+mAw==",
+ "dev": true,
+ "optional": true,
+ "peer": true,
+ "requires": {
+ "@puppeteer/browsers": "1.3.0",
+ "chromium-bidi": "0.4.9",
+ "cross-fetch": "3.1.6",
+ "debug": "4.3.4",
+ "devtools-protocol": "0.0.1120988",
+ "ws": "8.13.0"
+ }
+ },
+ "readable-stream": {
+ "version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
+ "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
+ "dev": true,
+ "optional": true,
+ "peer": true,
+ "requires": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ }
+ },
+ "tar-fs": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz",
+ "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==",
+ "dev": true,
+ "optional": true,
+ "peer": true,
+ "requires": {
+ "chownr": "^1.1.1",
+ "mkdirp-classic": "^0.5.2",
+ "pump": "^3.0.0",
+ "tar-stream": "^2.1.4"
+ }
+ },
+ "tar-stream": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz",
+ "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==",
+ "dev": true,
+ "optional": true,
+ "peer": true,
+ "requires": {
+ "bl": "^4.0.3",
+ "end-of-stream": "^1.4.1",
+ "fs-constants": "^1.0.0",
+ "inherits": "^2.0.3",
+ "readable-stream": "^3.1.1"
}
}
}
},
"devtools-protocol": {
- "version": "0.0.1120988",
- "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1120988.tgz",
- "integrity": "sha512-39fCpE3Z78IaIPChJsP6Lhmkbf4dWXOmzLk/KFTdRkNk/0JymRIfUynDVRndV9HoDz8PyalK1UH21ST/ivwW5Q==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "edge-paths": {
- "version": "3.0.5",
- "resolved": "https://registry.npmjs.org/edge-paths/-/edge-paths-3.0.5.tgz",
- "integrity": "sha512-sB7vSrDnFa4ezWQk9nZ/n0FdpdUuC6R1EOrlU3DL+bovcNFK28rqu2emmAUjujYEJTWIgQGqgVVWUZXMnc8iWg==",
+ "version": "0.0.1302984",
+ "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1302984.tgz",
+ "integrity": "sha512-Rgh2Sk5fUSCtEx4QGH9iwTyECdFPySG2nlz5J8guGh2Wlha6uzSOCq/DCEC8faHlLaMPZJMuZ4ovgcX4LvOkKA==",
"dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "@types/which": "^2.0.1",
- "which": "^2.0.2"
- }
+ "optional": true
},
"escape-string-regexp": {
"version": "4.0.0",
@@ -38867,52 +41642,42 @@
"optional": true,
"peer": true
},
- "glob": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz",
- "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==",
+ "https-proxy-agent": {
+ "version": "7.0.4",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz",
+ "integrity": "sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==",
"dev": true,
"optional": true,
"requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^5.0.1",
- "once": "^1.3.0"
+ "agent-base": "^7.0.2",
+ "debug": "4"
},
"dependencies": {
- "minimatch": {
- "version": "5.1.6",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
- "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
+ "debug": {
+ "version": "4.3.5",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz",
+ "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==",
"dev": true,
"optional": true,
"requires": {
- "brace-expansion": "^2.0.1"
+ "ms": "2.1.2"
}
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true,
+ "optional": true
}
}
},
- "http-proxy-agent": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz",
- "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "@tootallnate/once": "2",
- "agent-base": "6",
- "debug": "4"
- }
- },
- "isexe": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz",
- "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==",
+ "is-stream": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
+ "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
"dev": true,
- "optional": true,
- "peer": true
+ "optional": true
},
"lighthouse-logger": {
"version": "2.0.1",
@@ -38924,19 +41689,6 @@
"requires": {
"debug": "^2.6.9",
"marky": "^1.2.2"
- },
- "dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "optional": true,
- "peer": true,
- "requires": {
- "ms": "2.0.0"
- }
- }
}
},
"lru-cache": {
@@ -38947,9 +41699,9 @@
"optional": true
},
"minimatch": {
- "version": "9.0.3",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz",
- "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==",
+ "version": "9.0.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz",
+ "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==",
"dev": true,
"optional": true,
"requires": {
@@ -38991,66 +41743,78 @@
"socks-proxy-agent": "^8.0.1"
},
"dependencies": {
- "agent-base": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz",
- "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==",
- "dev": true,
- "optional": true,
- "requires": {
- "debug": "^4.3.4"
- }
- },
- "http-proxy-agent": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.0.tgz",
- "integrity": "sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==",
+ "debug": {
+ "version": "4.3.5",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz",
+ "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==",
"dev": true,
"optional": true,
"requires": {
- "agent-base": "^7.1.0",
- "debug": "^4.3.4"
+ "ms": "2.1.2"
}
},
- "https-proxy-agent": {
- "version": "7.0.2",
- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz",
- "integrity": "sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==",
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
"dev": true,
- "optional": true,
- "requires": {
- "agent-base": "^7.0.2",
- "debug": "4"
- }
+ "optional": true
}
}
},
"puppeteer-core": {
- "version": "20.3.0",
- "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-20.3.0.tgz",
- "integrity": "sha512-264pBrIui5bO6NJeOcbJrLa0OCwmA4+WK00JMrLIKTfRiqe2gx8KWTzLsjyw/bizErp3TKS7vt/I0i5fTC+mAw==",
+ "version": "20.9.0",
+ "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-20.9.0.tgz",
+ "integrity": "sha512-H9fYZQzMTRrkboEfPmf7m3CLDN6JvbxXA3qTtS+dFt27tR+CsFHzPsT6pzp6lYL6bJbAPaR0HaPO6uSi+F94Pg==",
"dev": true,
"optional": true,
- "peer": true,
"requires": {
- "@puppeteer/browsers": "1.3.0",
- "chromium-bidi": "0.4.9",
- "cross-fetch": "3.1.6",
+ "@puppeteer/browsers": "1.4.6",
+ "chromium-bidi": "0.4.16",
+ "cross-fetch": "4.0.0",
"debug": "4.3.4",
- "devtools-protocol": "0.0.1120988",
+ "devtools-protocol": "0.0.1147663",
"ws": "8.13.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "devtools-protocol": {
+ "version": "0.0.1147663",
+ "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1147663.tgz",
+ "integrity": "sha512-hyWmRrexdhbZ1tcJUGpO95ivbRhWXz++F4Ko+n21AY5PNln2ovoJw+8ZMNDTtip+CNFQfrtLVh/w4009dXO/eQ==",
+ "dev": true,
+ "optional": true
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true,
+ "optional": true
+ }
}
},
"readable-stream": {
- "version": "3.6.2",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
- "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
+ "version": "4.5.2",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz",
+ "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==",
"dev": true,
"optional": true,
"requires": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
+ "abort-controller": "^3.0.0",
+ "buffer": "^6.0.3",
+ "events": "^3.3.0",
+ "process": "^0.11.10",
+ "string_decoder": "^1.3.0"
}
},
"serialize-error": {
@@ -39063,16 +41827,14 @@
"type-fest": "^2.12.2"
}
},
- "tar-stream": {
- "version": "3.1.7",
- "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz",
- "integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==",
+ "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==",
"dev": true,
"optional": true,
"requires": {
- "b4a": "^1.6.4",
- "fast-fifo": "^1.2.0",
- "streamx": "^2.15.0"
+ "safe-buffer": "~5.2.0"
}
},
"type-fest": {
@@ -39083,43 +41845,36 @@
"optional": true
},
"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==",
- "dev": true,
- "optional": true,
- "peer": true
- },
- "uuid": {
- "version": "9.0.1",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz",
- "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==",
+ "version": "1.0.38",
+ "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.38.tgz",
+ "integrity": "sha512-Aq5ppTOfvrCMgAPneW1HfWj66Xi7XL+/mIy996R1/CLS/rcyJQm6QZdsKrUeivDFQ+Oc9Wyuwor8Ze8peEoUoQ==",
"dev": true,
"optional": true,
"peer": true
},
"webdriverio": {
- "version": "8.29.1",
- "resolved": "https://registry.npmjs.org/webdriverio/-/webdriverio-8.29.1.tgz",
- "integrity": "sha512-NZK95ivXCqdPraB3FHMw6ByxnCvtgFXkjzG2l3Oq5z0IuJS2aMow3AKFIyiuG6is/deGCe+Tb8eFTCqak7UV+w==",
+ "version": "8.38.2",
+ "resolved": "https://registry.npmjs.org/webdriverio/-/webdriverio-8.38.2.tgz",
+ "integrity": "sha512-r09y5UfivyYh5JOzT2SpJJ1zDmQl/R4OTH12opUqkjvp21BibCQm/uu1mrxGy4lzSHljrvqSVrrcGI+6UA1O8w==",
"dev": true,
"optional": true,
"requires": {
"@types/node": "^20.1.0",
- "@wdio/config": "8.29.1",
- "@wdio/logger": "8.28.0",
- "@wdio/protocols": "8.24.12",
+ "@wdio/config": "8.38.2",
+ "@wdio/logger": "8.38.0",
+ "@wdio/protocols": "8.38.0",
"@wdio/repl": "8.24.12",
- "@wdio/types": "8.29.1",
- "@wdio/utils": "8.29.1",
- "archiver": "^6.0.0",
+ "@wdio/types": "8.38.2",
+ "@wdio/utils": "8.38.2",
+ "archiver": "^7.0.0",
"aria-query": "^5.0.0",
"css-shorthand-properties": "^1.1.1",
"css-value": "^0.0.1",
- "devtools-protocol": "^0.0.1249869",
+ "devtools-protocol": "^0.0.1302984",
"grapheme-splitter": "^1.0.2",
"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.0",
@@ -39128,88 +41883,7 @@
"resq": "^1.9.1",
"rgb2hex": "0.2.5",
"serialize-error": "^11.0.1",
- "webdriver": "8.29.1"
- },
- "dependencies": {
- "@puppeteer/browsers": {
- "version": "1.4.6",
- "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-1.4.6.tgz",
- "integrity": "sha512-x4BEjr2SjOPowNeiguzjozQbsc6h437ovD/wu+JpaenxVLm3jkgzHY2xOslMTp50HoTvQreMjiexiGQw1sqZlQ==",
- "dev": true,
- "optional": true,
- "requires": {
- "debug": "4.3.4",
- "extract-zip": "2.0.1",
- "progress": "2.0.3",
- "proxy-agent": "6.3.0",
- "tar-fs": "3.0.4",
- "unbzip2-stream": "1.4.3",
- "yargs": "17.7.1"
- }
- },
- "chromium-bidi": {
- "version": "0.4.16",
- "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-0.4.16.tgz",
- "integrity": "sha512-7ZbXdWERxRxSwo3txsBjjmc/NLxqb1Bk30mRb0BMS4YIaiV6zvKZqL/UAH+DdqcDYayDWk2n/y8klkBDODrPvA==",
- "dev": true,
- "optional": true,
- "requires": {
- "mitt": "3.0.0"
- }
- },
- "cross-fetch": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.0.0.tgz",
- "integrity": "sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==",
- "dev": true,
- "optional": true,
- "requires": {
- "node-fetch": "^2.6.12"
- }
- },
- "devtools-protocol": {
- "version": "0.0.1249869",
- "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1249869.tgz",
- "integrity": "sha512-Ctp4hInA0BEavlUoRy9mhGq0i+JSo/AwVyX2EFgZmV1kYB+Zq+EMBAn52QWu6FbRr10hRb6pBl420upbp4++vg==",
- "dev": true,
- "optional": true
- },
- "puppeteer-core": {
- "version": "20.9.0",
- "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-20.9.0.tgz",
- "integrity": "sha512-H9fYZQzMTRrkboEfPmf7m3CLDN6JvbxXA3qTtS+dFt27tR+CsFHzPsT6pzp6lYL6bJbAPaR0HaPO6uSi+F94Pg==",
- "dev": true,
- "optional": true,
- "requires": {
- "@puppeteer/browsers": "1.4.6",
- "chromium-bidi": "0.4.16",
- "cross-fetch": "4.0.0",
- "debug": "4.3.4",
- "devtools-protocol": "0.0.1147663",
- "ws": "8.13.0"
- },
- "dependencies": {
- "devtools-protocol": {
- "version": "0.0.1147663",
- "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1147663.tgz",
- "integrity": "sha512-hyWmRrexdhbZ1tcJUGpO95ivbRhWXz++F4Ko+n21AY5PNln2ovoJw+8ZMNDTtip+CNFQfrtLVh/w4009dXO/eQ==",
- "dev": true,
- "optional": true
- }
- }
- },
- "tar-fs": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.4.tgz",
- "integrity": "sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w==",
- "dev": true,
- "optional": true,
- "requires": {
- "mkdirp-classic": "^0.5.2",
- "pump": "^3.0.0",
- "tar-stream": "^3.1.5"
- }
- }
+ "webdriver": "8.38.2"
}
},
"ws": {
@@ -39237,15 +41911,15 @@
}
},
"zip-stream": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-5.0.1.tgz",
- "integrity": "sha512-UfZ0oa0C8LI58wJ+moL46BDIMgCQbnsb+2PoiJYtonhBsMh2bq1eRBVkvjfVsqbEHd9/EgKPUuL9saSSsec8OA==",
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-6.0.1.tgz",
+ "integrity": "sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==",
"dev": true,
"optional": true,
"requires": {
- "archiver-utils": "^4.0.1",
- "compress-commons": "^5.0.1",
- "readable-stream": "^3.6.0"
+ "archiver-utils": "^5.0.0",
+ "compress-commons": "^6.0.2",
+ "readable-stream": "^4.0.0"
}
}
}
@@ -39310,14 +41984,6 @@
"dev": true,
"requires": {
"type": "^2.7.2"
- },
- "dependencies": {
- "type": {
- "version": "2.7.2",
- "resolved": "https://registry.npmjs.org/type/-/type-2.7.2.tgz",
- "integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==",
- "dev": true
- }
}
},
"extend": {
@@ -39352,6 +42018,17 @@
"chardet": "^0.7.0",
"iconv-lite": "^0.4.24",
"tmp": "^0.0.33"
+ },
+ "dependencies": {
+ "tmp": {
+ "version": "0.0.33",
+ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
+ "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
+ "dev": true,
+ "requires": {
+ "os-tmpdir": "~1.0.2"
+ }
+ }
}
},
"extglob": {
@@ -39416,6 +42093,16 @@
"requires": {
"pump": "^3.0.0"
}
+ },
+ "yauzl": {
+ "version": "2.10.0",
+ "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
+ "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==",
+ "dev": true,
+ "requires": {
+ "buffer-crc32": "~0.2.3",
+ "fd-slicer": "~1.1.0"
+ }
}
}
},
@@ -39502,20 +42189,29 @@
},
"dependencies": {
"web-streams-polyfill": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.2.tgz",
- "integrity": "sha512-3pRGuxRF5gpuZc0W+EpwQRmCD7gRqcDOMt688KmdlDAgAyaB1XlN0zq2njfDNm44XVdIouE7pZ6GzbdyH47uIQ==",
+ "version": "3.3.3",
+ "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz",
+ "integrity": "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==",
"dev": true
}
}
},
"figures": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz",
- "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==",
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/figures/-/figures-5.0.0.tgz",
+ "integrity": "sha512-ej8ksPF4x6e5wvK9yevct0UCXh8TTFlWGVLlgjZuoBH1HwjIfKE/IdL5mq89sFA7zELi1VhKpmtDnrs7zWyeyg==",
"dev": true,
"requires": {
- "escape-string-regexp": "^1.0.5"
+ "escape-string-regexp": "^5.0.0",
+ "is-unicode-supported": "^1.2.0"
+ },
+ "dependencies": {
+ "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==",
+ "dev": true
+ }
}
},
"file-entry-cache": {
@@ -39564,9 +42260,9 @@
}
},
"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==",
"dev": true,
"requires": {
"to-regex-range": "^5.0.1"
@@ -39816,19 +42512,20 @@
"dev": true
},
"flat-cache": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz",
- "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz",
+ "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==",
"dev": true,
"requires": {
- "flatted": "^3.1.0",
+ "flatted": "^3.2.9",
+ "keyv": "^4.5.3",
"rimraf": "^3.0.2"
}
},
"flatted": {
- "version": "3.2.7",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz",
- "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==",
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz",
+ "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==",
"dev": true
},
"flush-write-stream": {
@@ -39878,9 +42575,9 @@
"dev": true
},
"foreground-child": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz",
- "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.2.0.tgz",
+ "integrity": "sha512-CrWQNaEl1/6WeZoarcM9LHupTo3RpZO2Pdk1vktwzPiQTsJnAKJmm3TACKeG5UZbWDfaH2AbvYxzP96y0MT7fA==",
"dev": true,
"requires": {
"cross-spawn": "^7.0.0",
@@ -39975,14 +42672,29 @@
"dev": true
},
"fs-extra": {
- "version": "10.1.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz",
- "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==",
+ "version": "0.6.4",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.6.4.tgz",
+ "integrity": "sha512-5rU898vl/Z948L+kkJedbmo/iltzmiF5bn/eEk0j/SgrPpI+Ydau9xlJPicV7Av2CHYBGz5LAlwTnBU80j1zPQ==",
"dev": true,
"requires": {
- "graceful-fs": "^4.2.0",
- "jsonfile": "^6.0.1",
- "universalify": "^2.0.0"
+ "jsonfile": "~1.0.1",
+ "mkdirp": "0.3.x",
+ "ncp": "~0.4.2",
+ "rimraf": "~2.2.0"
+ },
+ "dependencies": {
+ "mkdirp": {
+ "version": "0.3.5",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz",
+ "integrity": "sha512-8OCq0De/h9ZxseqzCH8Kw/Filf5pF/vMI6+BH7Lu0jXz2pqYCjTAQRolSxRIi+Ax+oCCjlxoJMP0YQ4XlrQNHg==",
+ "dev": true
+ },
+ "rimraf": {
+ "version": "2.2.8",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz",
+ "integrity": "sha512-R5KMKHnPAQaZMqLOsyuyUmcIjSeDm+73eoqQpaXA7AZ22BL+6C+1mcUscgOsNd8WVlJuvlgAPsegcx7pjlV0Dg==",
+ "dev": true
+ }
}
},
"fs-mkdirp-stream": {
@@ -40026,35 +42738,11 @@
"walk": "^2.3.9"
},
"dependencies": {
- "fs-extra": {
- "version": "0.6.4",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.6.4.tgz",
- "integrity": "sha512-5rU898vl/Z948L+kkJedbmo/iltzmiF5bn/eEk0j/SgrPpI+Ydau9xlJPicV7Av2CHYBGz5LAlwTnBU80j1zPQ==",
- "dev": true,
- "requires": {
- "jsonfile": "~1.0.1",
- "mkdirp": "0.3.x",
- "ncp": "~0.4.2",
- "rimraf": "~2.2.0"
- }
- },
- "jsonfile": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-1.0.1.tgz",
- "integrity": "sha512-KbsDJNRfRPF5v49tMNf9sqyyGqGLBcz1v5kZT01kG5ns5mQSltwxCKVmUzVKtEinkUnTDtSrp6ngWpV7Xw0ZlA==",
- "dev": true
- },
"mkdirp": {
"version": "0.3.5",
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz",
"integrity": "sha512-8OCq0De/h9ZxseqzCH8Kw/Filf5pF/vMI6+BH7Lu0jXz2pqYCjTAQRolSxRIi+Ax+oCCjlxoJMP0YQ4XlrQNHg==",
"dev": true
- },
- "rimraf": {
- "version": "2.2.8",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz",
- "integrity": "sha512-R5KMKHnPAQaZMqLOsyuyUmcIjSeDm+73eoqQpaXA7AZ22BL+6C+1mcUscgOsNd8WVlJuvlgAPsegcx7pjlV0Dg==",
- "dev": true
}
}
},
@@ -40065,9 +42753,9 @@
"dev": true
},
"fsevents": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
- "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
+ "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
"optional": true
},
"fstream": {
@@ -40082,13 +42770,18 @@
"rimraf": "2"
},
"dependencies": {
- "mkdirp": {
- "version": "0.5.6",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
- "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
+ "glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
"dev": true,
"requires": {
- "minimist": "^1.2.6"
+ "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"
}
},
"rimraf": {
@@ -40116,15 +42809,15 @@
"integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA=="
},
"function.prototype.name": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz",
- "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==",
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz",
+ "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==",
"dev": true,
"requires": {
"call-bind": "^1.0.2",
- "define-properties": "^1.1.3",
- "es-abstract": "^1.19.0",
- "functions-have-names": "^1.2.2"
+ "define-properties": "^1.2.0",
+ "es-abstract": "^1.22.1",
+ "functions-have-names": "^1.2.3"
}
},
"functional-red-black-tree": {
@@ -40149,126 +42842,51 @@
}
},
"geckodriver": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/geckodriver/-/geckodriver-4.3.1.tgz",
- "integrity": "sha512-ol7JLsj55o5k+z7YzeSy2mdJROXMAxIa+uzr3A1yEMr5HISqQOTslE3ZeARcxR4jpAY3fxmHM+sq32qbe/eXfA==",
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/geckodriver/-/geckodriver-4.4.1.tgz",
+ "integrity": "sha512-nnAdIrwLkMcDu4BitWXF23pEMeZZ0Cj7HaWWFdSpeedBP9z6ft150JYiGO2mwzw6UiR823Znk1JeIf07RyzloA==",
"dev": true,
"requires": {
- "@wdio/logger": "^8.24.12",
+ "@wdio/logger": "^8.28.0",
+ "@zip.js/zip.js": "^2.7.44",
"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",
- "unzipper": "^0.10.14",
+ "tar-fs": "^3.0.6",
"which": "^4.0.0"
},
"dependencies": {
"agent-base": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz",
- "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==",
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz",
+ "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==",
"dev": true,
"requires": {
"debug": "^4.3.4"
}
},
- "data-uri-to-buffer": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz",
- "integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==",
- "dev": true
- },
- "decamelize": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-6.0.0.tgz",
- "integrity": "sha512-Fv96DCsdOgB6mdGl67MT5JaTNKRzrzill5OH5s8bjYJXVlcXyPYGyPsUkWyGV5p1TXI5esYIYMMeDJL0hEIwaA==",
- "dev": true
- },
- "duplexer2": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz",
- "integrity": "sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==",
- "dev": true,
- "requires": {
- "readable-stream": "^2.0.2"
- }
- },
"https-proxy-agent": {
- "version": "7.0.2",
- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz",
- "integrity": "sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==",
+ "version": "7.0.4",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz",
+ "integrity": "sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==",
"dev": true,
"requires": {
"agent-base": "^7.0.2",
"debug": "4"
}
},
- "isexe": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz",
- "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==",
- "dev": true
- },
- "node-fetch": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz",
- "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==",
- "dev": true,
- "requires": {
- "data-uri-to-buffer": "^4.0.0",
- "fetch-blob": "^3.1.4",
- "formdata-polyfill": "^4.0.10"
- }
- },
"tar-fs": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.4.tgz",
- "integrity": "sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w==",
+ "version": "3.0.6",
+ "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.6.tgz",
+ "integrity": "sha512-iokBDQQkUyeXhgPYaZxmczGPhnhXZ0CmrqI+MOb/WFGS9DW5wnfrLgtjUJBvz50vQ3qfRwJ62QVoCFu8mPVu5w==",
"dev": true,
"requires": {
- "mkdirp-classic": "^0.5.2",
+ "bare-fs": "^2.1.1",
+ "bare-path": "^2.1.0",
"pump": "^3.0.0",
"tar-stream": "^3.1.5"
}
- },
- "tar-stream": {
- "version": "3.1.7",
- "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz",
- "integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==",
- "dev": true,
- "requires": {
- "b4a": "^1.6.4",
- "fast-fifo": "^1.2.0",
- "streamx": "^2.15.0"
- }
- },
- "unzipper": {
- "version": "0.10.14",
- "resolved": "https://registry.npmjs.org/unzipper/-/unzipper-0.10.14.tgz",
- "integrity": "sha512-ti4wZj+0bQTiX2KmKWuwj7lhV+2n//uXEotUmGuQqrbVZSEGFMbI68+c6JCQ8aAmUWYvtHEz2A8K6wXvueR/6g==",
- "dev": true,
- "requires": {
- "big-integer": "^1.6.17",
- "binary": "~0.3.0",
- "bluebird": "~3.4.1",
- "buffer-indexof-polyfill": "~1.0.0",
- "duplexer2": "~0.1.4",
- "fstream": "^1.0.12",
- "graceful-fs": "^4.2.2",
- "listenercount": "~1.0.1",
- "readable-stream": "~2.3.6",
- "setimmediate": "~1.0.4"
- }
- },
- "which": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz",
- "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==",
- "dev": true,
- "requires": {
- "isexe": "^3.1.1"
- }
}
}
},
@@ -40284,16 +42902,17 @@
"dev": true
},
"get-func-name": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz",
- "integrity": "sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz",
+ "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==",
"dev": true
},
"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==",
"requires": {
+ "es-errors": "^1.3.0",
"function-bind": "^1.1.2",
"has-proto": "^1.0.1",
"has-symbols": "^1.0.3",
@@ -40307,9 +42926,9 @@
"dev": true
},
"get-port": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/get-port/-/get-port-7.0.0.tgz",
- "integrity": "sha512-mDHFgApoQd+azgMdwylJrv2DX47ywGq1i5VFJE7fZ0dttNq3iQMfsU4IvEgBHojA3KqEudyu7Vq+oN8kNaNkWw==",
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/get-port/-/get-port-7.1.0.tgz",
+ "integrity": "sha512-QB9NKEeDg3xxVwCCwJQ9+xycaz6pBB6iQ76wiWMl1927n0Kir6alPiP+yuiICLLU4jpMe08dXfpebuQppFA2zw==",
"dev": true
},
"get-stream": {
@@ -40322,52 +42941,54 @@
}
},
"get-symbol-description": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz",
- "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz",
+ "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==",
"dev": true,
"requires": {
- "call-bind": "^1.0.2",
- "get-intrinsic": "^1.1.1"
+ "call-bind": "^1.0.5",
+ "es-errors": "^1.3.0",
+ "get-intrinsic": "^1.2.4"
}
},
"get-uri": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-6.0.2.tgz",
- "integrity": "sha512-5KLucCJobh8vBY1K07EFV4+cPZH3mrV9YeAruUseCQKHB58SGjjT2l9/eA9LD082IiuMjSlFJEcdJ27TXvbZNw==",
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-6.0.3.tgz",
+ "integrity": "sha512-BzUrJBS9EcUb4cFol8r4W3v1cPsSyajLSthNkz5BxbpDcHN5tIrM10E2eNvfnvBn3DaT3DUgx0OpsBKkaOpanw==",
"dev": true,
"requires": {
"basic-ftp": "^5.0.2",
- "data-uri-to-buffer": "^6.0.0",
+ "data-uri-to-buffer": "^6.0.2",
"debug": "^4.3.4",
- "fs-extra": "^8.1.0"
+ "fs-extra": "^11.2.0"
},
"dependencies": {
+ "data-uri-to-buffer": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-6.0.2.tgz",
+ "integrity": "sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==",
+ "dev": true
+ },
"fs-extra": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
- "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
+ "version": "11.2.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz",
+ "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==",
"dev": true,
"requires": {
"graceful-fs": "^4.2.0",
- "jsonfile": "^4.0.0",
- "universalify": "^0.1.0"
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
}
},
"jsonfile": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
- "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==",
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
+ "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
"dev": true,
"requires": {
- "graceful-fs": "^4.1.6"
+ "graceful-fs": "^4.1.6",
+ "universalify": "^2.0.0"
}
- },
- "universalify": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
- "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
- "dev": true
}
}
},
@@ -40403,9 +43024,9 @@
}
},
"git-url-parse": {
- "version": "13.1.0",
- "resolved": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-13.1.0.tgz",
- "integrity": "sha512-5FvPJP/70WkIprlUZ33bm4UAaFdjcLkJLpWft1BeZKqwR0uhhNGoKwlUaPtVb4LxCSQ++erHapRak9kWGj+FCA==",
+ "version": "13.1.1",
+ "resolved": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-13.1.1.tgz",
+ "integrity": "sha512-PCFJyeSSdtnbfhSNRw9Wk96dDCNx+sogTe4YNXeXSJxt7xz5hvXekuRn9JX7m+Mf4OscCu8h+mtAl3+h5Fo8lQ==",
"dev": true,
"requires": {
"git-up": "^7.0.0"
@@ -40435,17 +43056,36 @@
"dev": true
},
"glob": {
- "version": "7.2.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
- "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "version": "10.4.1",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.1.tgz",
+ "integrity": "sha512-2jelhlq3E4ho74ZyVLN03oKdAZVUa6UDZzFLVH1H7dnoax+y9qyaq8zBkfDIggjniU19z0wU18y16jMB2eyVIw==",
"dev": true,
"requires": {
- "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"
+ "foreground-child": "^3.1.0",
+ "jackspeak": "^3.1.2",
+ "minimatch": "^9.0.4",
+ "minipass": "^7.1.2",
+ "path-scurry": "^1.11.1"
+ },
+ "dependencies": {
+ "brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "dev": true,
+ "requires": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "minimatch": {
+ "version": "9.0.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz",
+ "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==",
+ "dev": true,
+ "requires": {
+ "brace-expansion": "^2.0.1"
+ }
+ }
}
},
"glob-parent": {
@@ -40475,6 +43115,20 @@
"unique-stream": "^2.0.2"
},
"dependencies": {
+ "glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "dev": true,
+ "requires": {
+ "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"
+ }
+ },
"glob-parent": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
@@ -40800,6 +43454,12 @@
"integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
"dev": true
},
+ "isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
+ "dev": true
+ },
"which": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
@@ -40822,6 +43482,16 @@
"integrity": "sha512-qpPnUKkWnz8NESjrCvnlGklsgiQzlq+rcCxoG5uNQ+dNA7cFMCmn231slLAwS2N/PlkzZ3COL8CcS10jXmLHqg==",
"dev": true
},
+ "globalthis": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz",
+ "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==",
+ "dev": true,
+ "requires": {
+ "define-properties": "^1.2.1",
+ "gopd": "^1.0.1"
+ }
+ },
"globule": {
"version": "1.3.4",
"resolved": "https://registry.npmjs.org/globule/-/globule-1.3.4.tgz",
@@ -40876,28 +43546,36 @@
}
},
"got": {
- "version": "11.8.5",
- "resolved": "https://registry.npmjs.org/got/-/got-11.8.5.tgz",
- "integrity": "sha512-o0Je4NvQObAuZPHLFoRSkdG2lTgtcynqymzg2Vupdx6PorhaT5MCbIyXG6d4D94kk8ZG57QeosgdiqfJWhEhlQ==",
+ "version": "12.6.1",
+ "resolved": "https://registry.npmjs.org/got/-/got-12.6.1.tgz",
+ "integrity": "sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==",
"dev": true,
"requires": {
- "@sindresorhus/is": "^4.0.0",
- "@szmarczak/http-timer": "^4.0.5",
- "@types/cacheable-request": "^6.0.1",
- "@types/responselike": "^1.0.0",
- "cacheable-lookup": "^5.0.3",
- "cacheable-request": "^7.0.2",
+ "@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",
- "http2-wrapper": "^1.0.0-beta.5.2",
- "lowercase-keys": "^2.0.0",
- "p-cancelable": "^2.0.0",
- "responselike": "^2.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"
+ },
+ "dependencies": {
+ "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==",
+ "dev": true
+ }
}
},
"graceful-fs": {
- "version": "4.2.10",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz",
- "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA=="
+ "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=="
},
"grapheme-splitter": {
"version": "1.0.4",
@@ -40930,6 +43608,20 @@
"vinyl": "^2.1.0"
},
"dependencies": {
+ "glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "dev": true,
+ "requires": {
+ "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"
+ }
+ },
"rimraf": {
"version": "2.7.1",
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
@@ -41324,12 +44016,6 @@
"ansi-wrap": "^0.1.0"
}
},
- "ansi-regex": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz",
- "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==",
- "dev": true
- },
"arr-diff": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
@@ -41348,6 +44034,12 @@
"integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==",
"dev": true
},
+ "cli-width": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz",
+ "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==",
+ "dev": true
+ },
"color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
@@ -41433,17 +44125,6 @@
"table": "^5.2.3",
"text-table": "^0.2.0",
"v8-compile-cache": "^2.0.3"
- },
- "dependencies": {
- "strip-ansi": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
- "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
- "dev": true,
- "requires": {
- "ansi-regex": "^4.1.0"
- }
- }
}
},
"eslint-utils": {
@@ -41482,6 +44163,15 @@
"is-extendable": "^1.0.1"
}
},
+ "figures": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz",
+ "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==",
+ "dev": true,
+ "requires": {
+ "escape-string-regexp": "^1.0.5"
+ }
+ },
"file-entry-cache": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz",
@@ -41508,6 +44198,20 @@
"integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==",
"dev": true
},
+ "glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "dev": true,
+ "requires": {
+ "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"
+ }
+ },
"globals": {
"version": "12.4.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz",
@@ -41562,6 +44266,15 @@
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
}
+ },
+ "strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^5.0.1"
+ }
}
}
},
@@ -41571,6 +44284,12 @@
"integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==",
"dev": true
},
+ "isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
+ "dev": true
+ },
"levn": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
@@ -41581,14 +44300,11 @@
"type-check": "~0.3.2"
}
},
- "mkdirp": {
- "version": "0.5.6",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
- "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
- "dev": true,
- "requires": {
- "minimist": "^1.2.6"
- }
+ "mute-stream": {
+ "version": "0.0.8",
+ "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz",
+ "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==",
+ "dev": true
},
"optionator": {
"version": "0.8.3",
@@ -41643,6 +44359,21 @@
"glob": "^7.1.3"
}
},
+ "run-async": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz",
+ "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==",
+ "dev": true
+ },
+ "rxjs": {
+ "version": "6.6.7",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz",
+ "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==",
+ "dev": true,
+ "requires": {
+ "tslib": "^1.9.0"
+ }
+ },
"shebang-command": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
@@ -41669,6 +44400,23 @@
"is-fullwidth-code-point": "^2.0.0"
}
},
+ "strip-ansi": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
+ "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^4.1.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz",
+ "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==",
+ "dev": true
+ }
+ }
+ },
"strip-json-comments": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
@@ -41706,15 +44454,6 @@
"is-fullwidth-code-point": "^2.0.0",
"strip-ansi": "^5.1.0"
}
- },
- "strip-ansi": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
- "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
- "dev": true,
- "requires": {
- "ansi-regex": "^4.1.0"
- }
}
}
},
@@ -41828,24 +44567,16 @@
"dev": true
},
"gulp-replace": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/gulp-replace/-/gulp-replace-1.1.3.tgz",
- "integrity": "sha512-HcPHpWY4XdF8zxYkDODHnG2+7a3nD/Y8Mfu3aBgMiCFDW3X2GiOKXllsAmILcxe3KZT2BXoN18WrpEFm48KfLQ==",
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/gulp-replace/-/gulp-replace-1.1.4.tgz",
+ "integrity": "sha512-SVSF7ikuWKhpAW4l4wapAqPPSToJoiNKsbDoUnRrSgwZHH7lH8pbPeQj1aOVYQrbZKhfSVBxVW+Py7vtulRktw==",
"dev": true,
"requires": {
- "@types/node": "^14.14.41",
+ "@types/node": "*",
"@types/vinyl": "^2.0.4",
"istextorbinary": "^3.0.0",
"replacestream": "^4.0.3",
"yargs-parser": ">=5.0.0-security.0"
- },
- "dependencies": {
- "@types/node": {
- "version": "14.18.33",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.33.tgz",
- "integrity": "sha512-qelS/Ra6sacc4loe/3MSjXNL1dNQ/GjxNHVzuChwMfmk7HuycRLVQN2qNY3XahK+fZc5E2szqQSKUyAF0E+2bg==",
- "dev": true
- }
}
},
"gulp-shell": {
@@ -41991,6 +44722,12 @@
"integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==",
"dev": true
},
+ "convert-source-map": {
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz",
+ "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==",
+ "dev": true
+ },
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
@@ -42285,13 +45022,13 @@
}
},
"handlebars": {
- "version": "4.7.7",
- "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz",
- "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==",
+ "version": "4.7.8",
+ "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz",
+ "integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==",
"dev": true,
"requires": {
"minimist": "^1.2.5",
- "neo-async": "^2.6.0",
+ "neo-async": "^2.6.2",
"source-map": "^0.6.1",
"uglify-js": "^3.1.4",
"wordwrap": "^1.0.0"
@@ -42322,12 +45059,9 @@
}
},
"has": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
- "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
- "requires": {
- "function-bind": "^1.1.1"
- }
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.4.tgz",
+ "integrity": "sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ=="
},
"has-ansi": {
"version": "2.0.0",
@@ -42367,17 +45101,17 @@
}
},
"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==",
"requires": {
- "get-intrinsic": "^1.2.2"
+ "es-define-property": "^1.0.0"
}
},
"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=="
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz",
+ "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q=="
},
"has-symbols": {
"version": "1.0.3",
@@ -42385,12 +45119,12 @@
"integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A=="
},
"has-tostringtag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz",
- "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz",
+ "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==",
"dev": true,
"requires": {
- "has-symbols": "^1.0.2"
+ "has-symbols": "^1.0.3"
}
},
"has-value": {
@@ -42452,56 +45186,117 @@
}
},
"hasown": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz",
- "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
+ "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
"requires": {
"function-bind": "^1.1.2"
}
},
- "hast-util-is-element": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-2.1.2.tgz",
- "integrity": "sha512-thjnlGAnwP8ef/GSO1Q8BfVk2gundnc2peGQqEg2kUt/IqesiGg/5mSwN2fE7nLzy61pg88NG6xV+UrGOrx9EA==",
+ "hast-util-from-parse5": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-7.1.2.tgz",
+ "integrity": "sha512-Nz7FfPBuljzsN3tCQ4kCBKqdNhQE2l0Tn+X1ubgKBPRoiDIu1mL08Cfw4k7q71+Duyaw7DXDN+VTAp4Vh3oCOw==",
"dev": true,
"requires": {
"@types/hast": "^2.0.0",
- "@types/unist": "^2.0.0"
+ "@types/unist": "^2.0.0",
+ "hastscript": "^7.0.0",
+ "property-information": "^6.0.0",
+ "vfile": "^5.0.0",
+ "vfile-location": "^4.0.0",
+ "web-namespaces": "^2.0.0"
+ }
+ },
+ "hast-util-parse-selector": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-3.1.1.tgz",
+ "integrity": "sha512-jdlwBjEexy1oGz0aJ2f4GKMaVKkA9jwjr4MjAAI22E5fM/TXVZHuS5OpONtdeIkRKqAaryQ2E9xNQxijoThSZA==",
+ "dev": true,
+ "requires": {
+ "@types/hast": "^2.0.0"
+ }
+ },
+ "hast-util-raw": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-7.2.3.tgz",
+ "integrity": "sha512-RujVQfVsOrxzPOPSzZFiwofMArbQke6DJjnFfceiEbFh7S05CbPt0cYN+A5YeD3pso0JQk6O1aHBnx9+Pm2uqg==",
+ "dev": true,
+ "requires": {
+ "@types/hast": "^2.0.0",
+ "@types/parse5": "^6.0.0",
+ "hast-util-from-parse5": "^7.0.0",
+ "hast-util-to-parse5": "^7.0.0",
+ "html-void-elements": "^2.0.0",
+ "parse5": "^6.0.0",
+ "unist-util-position": "^4.0.0",
+ "unist-util-visit": "^4.0.0",
+ "vfile": "^5.0.0",
+ "web-namespaces": "^2.0.0",
+ "zwitch": "^2.0.0"
}
},
"hast-util-sanitize": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/hast-util-sanitize/-/hast-util-sanitize-4.0.0.tgz",
- "integrity": "sha512-pw56+69jq+QSr/coADNvWTmBPDy+XsmwaF5KnUys4/wM1jt/fZdl7GPxhXXXYdXnz3Gj3qMkbUCH2uKjvX0MgQ==",
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/hast-util-sanitize/-/hast-util-sanitize-4.1.0.tgz",
+ "integrity": "sha512-Hd9tU0ltknMGRDv+d6Ro/4XKzBqQnP/EZrpiTbpFYfXv/uOhWeKc+2uajcbEvAEH98VZd7eII2PiXm13RihnLw==",
"dev": true,
"requires": {
"@types/hast": "^2.0.0"
}
},
"hast-util-to-html": {
- "version": "8.0.3",
- "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-8.0.3.tgz",
- "integrity": "sha512-/D/E5ymdPYhHpPkuTHOUkSatxr4w1ZKrZsG0Zv/3C2SRVT0JFJG53VS45AMrBtYk0wp5A7ksEhiC8QaOZM95+A==",
+ "version": "8.0.4",
+ "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-8.0.4.tgz",
+ "integrity": "sha512-4tpQTUOr9BMjtYyNlt0P50mH7xj0Ks2xpo8M943Vykljf99HW6EzulIoJP1N3eKOSScEHzyzi9dm7/cn0RfGwA==",
"dev": true,
"requires": {
"@types/hast": "^2.0.0",
+ "@types/unist": "^2.0.0",
"ccount": "^2.0.0",
"comma-separated-tokens": "^2.0.0",
- "hast-util-is-element": "^2.0.0",
+ "hast-util-raw": "^7.0.0",
"hast-util-whitespace": "^2.0.0",
"html-void-elements": "^2.0.0",
"property-information": "^6.0.0",
"space-separated-tokens": "^2.0.0",
- "stringify-entities": "^4.0.2",
- "unist-util-is": "^5.0.0"
+ "stringify-entities": "^4.0.0",
+ "zwitch": "^2.0.4"
+ }
+ },
+ "hast-util-to-parse5": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-7.1.0.tgz",
+ "integrity": "sha512-YNRgAJkH2Jky5ySkIqFXTQiaqcAtJyVE+D5lkN6CdtOqrnkLfGYYrEcKuHOJZlp+MwjSwuD3fZuawI+sic/RBw==",
+ "dev": true,
+ "requires": {
+ "@types/hast": "^2.0.0",
+ "comma-separated-tokens": "^2.0.0",
+ "property-information": "^6.0.0",
+ "space-separated-tokens": "^2.0.0",
+ "web-namespaces": "^2.0.0",
+ "zwitch": "^2.0.0"
}
},
"hast-util-whitespace": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-2.0.0.tgz",
- "integrity": "sha512-Pkw+xBHuV6xFeJprJe2BBEoDV+AvQySaz3pPDRUs5PNZEMQjpXJJueqrpcHIXxnWTcAGi/UOCgVShlkY6kLoqg==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-2.0.1.tgz",
+ "integrity": "sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==",
"dev": true
},
+ "hastscript": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-7.2.0.tgz",
+ "integrity": "sha512-TtYPq24IldU8iKoJQqvZOuhi5CyCQRAbvDOX0x1eW6rsHSxa/1i2CCiptNTotGHJ3VoHRGmqiv6/D3q113ikkw==",
+ "dev": true,
+ "requires": {
+ "@types/hast": "^2.0.0",
+ "comma-separated-tokens": "^2.0.0",
+ "hast-util-parse-selector": "^3.0.0",
+ "property-information": "^6.0.0",
+ "space-separated-tokens": "^2.0.0"
+ }
+ },
"he": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
@@ -42515,9 +45310,9 @@
"dev": true
},
"highlight.js": {
- "version": "11.6.0",
- "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-11.6.0.tgz",
- "integrity": "sha512-ig1eqDzJaB0pqEvlPVIpSSyMaO92bH1N2rJpLMN/nX396wTpDA4Eq0uK+7I/2XG17pFaaKE0kjV/XPeGt7Evjw==",
+ "version": "11.9.0",
+ "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-11.9.0.tgz",
+ "integrity": "sha512-fJ7cW7fQGCYAkgv4CPfwFHrfd/cLS4Hau96JuJ+ZTOWhjnhoeN1ub1tFmALm/+lW5z4WCAuAV9bm05AP0mS6Gw==",
"dev": true
},
"home-or-tmp": {
@@ -42540,12 +45335,20 @@
}
},
"hosted-git-info": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz",
- "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==",
+ "version": "7.0.2",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.2.tgz",
+ "integrity": "sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==",
"dev": true,
"requires": {
- "lru-cache": "^6.0.0"
+ "lru-cache": "^10.0.1"
+ },
+ "dependencies": {
+ "lru-cache": {
+ "version": "10.2.2",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.2.tgz",
+ "integrity": "sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==",
+ "dev": true
+ }
}
},
"html-escaper": {
@@ -42596,9 +45399,9 @@
}
},
"http-proxy-agent": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.0.tgz",
- "integrity": "sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==",
+ "version": "7.0.2",
+ "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz",
+ "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==",
"dev": true,
"requires": {
"agent-base": "^7.1.0",
@@ -42606,9 +45409,9 @@
},
"dependencies": {
"agent-base": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz",
- "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==",
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz",
+ "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==",
"dev": true,
"requires": {
"debug": "^4.3.4"
@@ -42628,13 +45431,13 @@
}
},
"http2-wrapper": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz",
- "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==",
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-2.2.1.tgz",
+ "integrity": "sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==",
"dev": true,
"requires": {
"quick-lru": "^5.1.1",
- "resolve-alpn": "^1.0.0"
+ "resolve-alpn": "^1.2.0"
}
},
"https-proxy-agent": {
@@ -42673,6 +45476,12 @@
"integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
"dev": true
},
+ "immediate": {
+ "version": "3.0.6",
+ "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz",
+ "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==",
+ "dev": true
+ },
"import-fresh": {
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
@@ -42692,9 +45501,9 @@
}
},
"import-meta-resolve": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.0.0.tgz",
- "integrity": "sha512-okYUR7ZQPH+efeuMJGlq4f8ubUgO50kByRPyt/Cy1Io4PSRsPjxME+YlVaCOx+NIToW7hCsZNFJyTPFFKepRSA==",
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.1.0.tgz",
+ "integrity": "sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==",
"dev": true
},
"imurmurhash": {
@@ -42753,112 +45562,31 @@
"wrap-ansi": "^6.2.0"
},
"dependencies": {
- "ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "requires": {
- "color-convert": "^2.0.1"
- }
- },
"chalk": {
"version": "5.3.0",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz",
"integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==",
"dev": true
},
- "cli-width": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz",
- "integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==",
- "dev": true
- },
- "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==",
- "dev": true,
- "requires": {
- "color-name": "~1.1.4"
- }
- },
- "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==",
- "dev": true
- },
- "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==",
- "dev": true
- },
- "figures": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/figures/-/figures-5.0.0.tgz",
- "integrity": "sha512-ej8ksPF4x6e5wvK9yevct0UCXh8TTFlWGVLlgjZuoBH1HwjIfKE/IdL5mq89sFA7zELi1VhKpmtDnrs7zWyeyg==",
- "dev": true,
- "requires": {
- "escape-string-regexp": "^5.0.0",
- "is-unicode-supported": "^1.2.0"
- }
- },
- "is-unicode-supported": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz",
- "integrity": "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==",
- "dev": true
- },
- "mute-stream": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-1.0.0.tgz",
- "integrity": "sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==",
- "dev": true
- },
- "run-async": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/run-async/-/run-async-3.0.0.tgz",
- "integrity": "sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q==",
- "dev": true
- },
- "rxjs": {
- "version": "7.8.1",
- "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz",
- "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==",
+ "strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
"dev": true,
"requires": {
- "tslib": "^2.1.0"
- }
- },
- "tslib": {
- "version": "2.6.2",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
- "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==",
- "dev": true
- },
- "wrap-ansi": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
- "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.0.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0"
+ "ansi-regex": "^5.0.1"
}
}
}
},
"internal-slot": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz",
- "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==",
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz",
+ "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==",
"dev": true,
"requires": {
- "get-intrinsic": "^1.1.0",
- "has": "^1.0.3",
+ "es-errors": "^1.3.0",
+ "hasown": "^2.0.0",
"side-channel": "^1.0.4"
}
},
@@ -42883,11 +45611,23 @@
"integrity": "sha512-xgs2NH9AE66ucSq4cNG1nhSFghr5l6tdL15Pk+jl46bmmBapgoaY/AacXyaDznAqmGL99TiLSQgO/XazFSKYeQ==",
"dev": true
},
- "ip": {
- "version": "1.1.9",
- "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.9.tgz",
- "integrity": "sha512-cyRxvOEpNHNtchU3Ln9KC/auJgup87llfQpQ+t5ghoC/UhL16SWzbueiCsdTnWmqAWl7LadfuwhlqmtOaqMHdQ==",
- "dev": true
+ "ip-address": {
+ "version": "9.0.5",
+ "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz",
+ "integrity": "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==",
+ "dev": true,
+ "requires": {
+ "jsbn": "1.1.0",
+ "sprintf-js": "^1.1.3"
+ },
+ "dependencies": {
+ "sprintf-js": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz",
+ "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==",
+ "dev": true
+ }
+ }
},
"ipaddr.js": {
"version": "1.9.1",
@@ -42910,20 +45650,12 @@
}
},
"is-accessor-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
- "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.1.tgz",
+ "integrity": "sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA==",
"dev": true,
"requires": {
- "kind-of": "^6.0.0"
- },
- "dependencies": {
- "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==",
- "dev": true
- }
+ "hasown": "^2.0.0"
}
},
"is-arguments": {
@@ -42936,6 +45668,16 @@
"has-tostringtag": "^1.0.0"
}
},
+ "is-array-buffer": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz",
+ "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.2",
+ "get-intrinsic": "^1.2.1"
+ }
+ },
"is-arrayish": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
@@ -42983,28 +45725,29 @@
"dev": true
},
"is-core-module": {
- "version": "2.11.0",
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz",
- "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==",
+ "version": "2.13.1",
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz",
+ "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==",
"requires": {
- "has": "^1.0.3"
+ "hasown": "^2.0.0"
}
},
"is-data-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
- "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.1.tgz",
+ "integrity": "sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw==",
"dev": true,
"requires": {
- "kind-of": "^6.0.0"
- },
- "dependencies": {
- "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==",
- "dev": true
- }
+ "hasown": "^2.0.0"
+ }
+ },
+ "is-data-view": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz",
+ "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==",
+ "dev": true,
+ "requires": {
+ "is-typed-array": "^1.1.13"
}
},
"is-date-object": {
@@ -43017,22 +45760,13 @@
}
},
"is-descriptor": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
- "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.3.tgz",
+ "integrity": "sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==",
"dev": true,
"requires": {
- "is-accessor-descriptor": "^1.0.0",
- "is-data-descriptor": "^1.0.0",
- "kind-of": "^6.0.2"
- },
- "dependencies": {
- "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==",
- "dev": true
- }
+ "is-accessor-descriptor": "^1.0.1",
+ "is-data-descriptor": "^1.0.1"
}
},
"is-docker": {
@@ -43108,9 +45842,9 @@
"dev": true
},
"is-map": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz",
- "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==",
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz",
+ "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==",
"dev": true
},
"is-nan": {
@@ -43130,9 +45864,9 @@
"dev": true
},
"is-negative-zero": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz",
- "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==",
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz",
+ "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==",
"dev": true
},
"is-number": {
@@ -43194,18 +45928,18 @@
"dev": true
},
"is-set": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz",
- "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==",
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz",
+ "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==",
"dev": true
},
"is-shared-array-buffer": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz",
- "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz",
+ "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==",
"dev": true,
"requires": {
- "call-bind": "^1.0.2"
+ "call-bind": "^1.0.7"
}
},
"is-ssh": {
@@ -43242,16 +45976,12 @@
}
},
"is-typed-array": {
- "version": "1.1.9",
- "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.9.tgz",
- "integrity": "sha512-kfrlnTTn8pZkfpJMUgYD7YZ3qzeJgWUn8XfVYBARc4wnmNOmLbmuuaAs3q5fvB0UJOn6yHAKaGTPM7d6ezoD/A==",
+ "version": "1.1.13",
+ "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz",
+ "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==",
"dev": true,
"requires": {
- "available-typed-arrays": "^1.0.5",
- "call-bind": "^1.0.2",
- "es-abstract": "^1.20.0",
- "for-each": "^0.3.3",
- "has-tostringtag": "^1.0.0"
+ "which-typed-array": "^1.1.14"
}
},
"is-typedarray": {
@@ -43270,9 +46000,9 @@
}
},
"is-unicode-supported": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz",
- "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==",
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz",
+ "integrity": "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==",
"dev": true
},
"is-utf8": {
@@ -43288,9 +46018,9 @@
"dev": true
},
"is-weakmap": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz",
- "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz",
+ "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==",
"dev": true
},
"is-weakref": {
@@ -43303,13 +46033,13 @@
}
},
"is-weakset": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz",
- "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==",
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz",
+ "integrity": "sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==",
"dev": true,
"requires": {
- "call-bind": "^1.0.2",
- "get-intrinsic": "^1.1.1"
+ "call-bind": "^1.0.7",
+ "get-intrinsic": "^1.2.4"
}
},
"is-windows": {
@@ -43340,9 +46070,9 @@
"dev": true
},
"isexe": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz",
+ "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==",
"dev": true
},
"isobject": {
@@ -43397,14 +46127,11 @@
"integrity": "sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA==",
"dev": true
},
- "mkdirp": {
- "version": "0.5.6",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
- "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
- "dev": true,
- "requires": {
- "minimist": "^1.2.6"
- }
+ "isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
+ "dev": true
},
"resolve": {
"version": "1.1.7",
@@ -43433,9 +46160,9 @@
}
},
"istanbul-lib-coverage": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz",
- "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==",
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz",
+ "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==",
"dev": true
},
"istanbul-lib-instrument": {
@@ -43452,13 +46179,13 @@
}
},
"istanbul-lib-report": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz",
- "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz",
+ "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==",
"dev": true,
"requires": {
"istanbul-lib-coverage": "^3.0.0",
- "make-dir": "^3.0.0",
+ "make-dir": "^4.0.0",
"supports-color": "^7.1.0"
},
"dependencies": {
@@ -43468,6 +46195,21 @@
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true
},
+ "make-dir": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz",
+ "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==",
+ "dev": true,
+ "requires": {
+ "semver": "^7.5.3"
+ }
+ },
+ "semver": {
+ "version": "7.6.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz",
+ "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==",
+ "dev": true
+ },
"supports-color": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
@@ -43499,9 +46241,9 @@
}
},
"istanbul-reports": {
- "version": "3.1.5",
- "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz",
- "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==",
+ "version": "3.1.7",
+ "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz",
+ "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==",
"dev": true,
"requires": {
"html-escaper": "^2.0.0",
@@ -43519,9 +46261,9 @@
}
},
"jackspeak": {
- "version": "2.3.6",
- "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz",
- "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==",
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.0.tgz",
+ "integrity": "sha512-JVYhQnN59LVPFCEcVa2C3CrEKYacvjRfqIQl+h8oi91aLYQVWRYbxjPcv1bUiUy/kLmQaANrYfNMCO3kuEDHfw==",
"dev": true,
"requires": {
"@isaacs/cliui": "^8.0.2",
@@ -43529,9 +46271,9 @@
}
},
"jake": {
- "version": "10.8.7",
- "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.7.tgz",
- "integrity": "sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==",
+ "version": "10.9.1",
+ "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.1.tgz",
+ "integrity": "sha512-61btcOHNnLnsOdtLgA5efqQWjnSi/vow5HbI7HMdKKWqvrKR1bLK3BPlJn9gcSaP2ewuamUSMB5XEy76KUIS2w==",
"dev": true,
"requires": {
"async": "^3.2.3",
@@ -43918,9 +46660,9 @@
}
},
"jsbn": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
- "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz",
+ "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==",
"dev": true
},
"jsdoc-type-pratt-parser": {
@@ -43941,9 +46683,9 @@
"dev": true
},
"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==",
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.2.tgz",
+ "integrity": "sha512-fi0NG4bPjCHunUJffmLd0gxssIgkNmArMvis4iNah6Owg1MCJjWhEcDLmsK6iGkJq3tHwbDkTlce70/tmXN4cQ==",
"dev": true
},
"json-schema": {
@@ -43971,19 +46713,15 @@
"dev": true
},
"json5": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz",
- "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA=="
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
+ "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg=="
},
"jsonfile": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
- "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.6",
- "universalify": "^2.0.0"
- }
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-1.0.1.tgz",
+ "integrity": "sha512-KbsDJNRfRPF5v49tMNf9sqyyGqGLBcz1v5kZT01kG5ns5mQSltwxCKVmUzVKtEinkUnTDtSrp6ngWpV7Xw0ZlA==",
+ "dev": true
},
"jsprim": {
"version": "1.4.2",
@@ -43997,6 +46735,18 @@
"verror": "1.10.0"
}
},
+ "jszip": {
+ "version": "3.10.1",
+ "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz",
+ "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==",
+ "dev": true,
+ "requires": {
+ "lie": "~3.3.0",
+ "pako": "~1.0.2",
+ "readable-stream": "~2.3.6",
+ "setimmediate": "^1.0.5"
+ }
+ },
"just-debounce": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/just-debounce/-/just-debounce-1.1.0.tgz",
@@ -44010,9 +46760,9 @@
"dev": true
},
"karma": {
- "version": "6.4.1",
- "resolved": "https://registry.npmjs.org/karma/-/karma-6.4.1.tgz",
- "integrity": "sha512-Cj57NKOskK7wtFWSlMvZf459iX+kpYIPXmkNUzP2WAFcA7nhr/ALn5R7sw3w+1udFDcpMx/tuB8d5amgm3ijaA==",
+ "version": "6.4.3",
+ "resolved": "https://registry.npmjs.org/karma/-/karma-6.4.3.tgz",
+ "integrity": "sha512-LuucC/RE92tJ8mlCwqEoRWXP38UMAqpnq98vktmS9SznSoUPPUJQbc91dHcxcunROvfQjdORVA/YFviH+Xci9Q==",
"dev": true,
"requires": {
"@colors/colors": "1.5.0",
@@ -44034,13 +46784,22 @@
"qjobs": "^1.2.0",
"range-parser": "^1.2.1",
"rimraf": "^3.0.2",
- "socket.io": "^4.4.1",
+ "socket.io": "^4.7.2",
"source-map": "^0.6.1",
"tmp": "^0.2.1",
"ua-parser-js": "^0.7.30",
"yargs": "^16.1.1"
},
"dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
"cliui": {
"version": "7.0.4",
"resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
@@ -44052,13 +46811,33 @@
"wrap-ansi": "^7.0.0"
}
},
- "mkdirp": {
- "version": "0.5.6",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
- "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
+ "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==",
"dev": true,
"requires": {
- "minimist": "^1.2.6"
+ "color-name": "~1.1.4"
+ }
+ },
+ "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==",
+ "dev": true
+ },
+ "glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "dev": true,
+ "requires": {
+ "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"
}
},
"source-map": {
@@ -44067,13 +46846,24 @@
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true
},
- "tmp": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz",
- "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==",
+ "strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^5.0.1"
+ }
+ },
+ "wrap-ansi": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
"dev": true,
"requires": {
- "rimraf": "^3.0.0"
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
}
},
"yargs": {
@@ -44125,14 +46915,20 @@
"requires": {}
},
"karma-chrome-launcher": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-3.1.1.tgz",
- "integrity": "sha512-hsIglcq1vtboGPAN+DGCISCFOxW+ZVnIqhDQcCMqqCp+4dmJ0Qpq5QAjkbA0X2L9Mi6OBkHi2Srrbmm7pUKkzQ==",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-3.2.0.tgz",
+ "integrity": "sha512-rE9RkUPI7I9mAxByQWkGJFXfFD6lE4gC5nPuZdobf/QdTEJI6EU4yIay/cfU/xV4ZxlM5JiTv7zWYgA64NpS5Q==",
"dev": true,
"requires": {
"which": "^1.2.1"
},
"dependencies": {
+ "isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
+ "dev": true
+ },
"which": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
@@ -44145,9 +46941,9 @@
}
},
"karma-coverage": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/karma-coverage/-/karma-coverage-2.2.0.tgz",
- "integrity": "sha512-gPVdoZBNDZ08UCzdMHHhEImKrw1+PAOQOIiffv1YsvxFhBjqvo/SVXNk4tqn1SYqX0BJZT6S/59zgxiBe+9OuA==",
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/karma-coverage/-/karma-coverage-2.2.1.tgz",
+ "integrity": "sha512-yj7hbequkQP2qOSb20GuNSIyE//PgJWHwC2IydLE6XRtsnaflv+/OSGNssPjobYUlhVVagy99TQpqUt3vAUG7A==",
"dev": true,
"requires": {
"istanbul-lib-coverage": "^3.2.0",
@@ -44171,6 +46967,20 @@
"minimatch": "^3.0.4"
},
"dependencies": {
+ "glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "dev": true,
+ "requires": {
+ "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"
+ }
+ },
"istanbul-lib-source-maps": {
"version": "3.0.6",
"resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz",
@@ -44241,13 +47051,30 @@
}
},
"karma-firefox-launcher": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/karma-firefox-launcher/-/karma-firefox-launcher-2.1.2.tgz",
- "integrity": "sha512-VV9xDQU1QIboTrjtGVD4NCfzIH7n01ZXqy/qpBhnOeGVOkG5JYPEm8kuSd7psHE6WouZaQ9Ool92g8LFweSNMA==",
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/karma-firefox-launcher/-/karma-firefox-launcher-2.1.3.tgz",
+ "integrity": "sha512-LMM2bseebLbYjODBOVt7TCPP9OI2vZIXCavIXhkO9m+10Uj5l7u/SKoeRmYx8FYHTVGZSpk6peX+3BMHC1WwNw==",
"dev": true,
"requires": {
"is-wsl": "^2.2.0",
- "which": "^2.0.1"
+ "which": "^3.0.0"
+ },
+ "dependencies": {
+ "isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
+ "dev": true
+ },
+ "which": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/which/-/which-3.0.1.tgz",
+ "integrity": "sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==",
+ "dev": true,
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ }
}
},
"karma-ie-launcher": {
@@ -44343,14 +47170,61 @@
}
},
"karma-webpack": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/karma-webpack/-/karma-webpack-5.0.0.tgz",
- "integrity": "sha512-+54i/cd3/piZuP3dr54+NcFeKOPnys5QeM1IY+0SPASwrtHsliXUiCL50iW+K9WWA7RvamC4macvvQ86l3KtaA==",
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/karma-webpack/-/karma-webpack-5.0.1.tgz",
+ "integrity": "sha512-oo38O+P3W2mSPCSUrQdySSPv1LvPpXP+f+bBimNomS5sW+1V4SuhCuW8TfJzV+rDv921w2fDSDw0xJbPe6U+kQ==",
"dev": true,
"requires": {
"glob": "^7.1.3",
- "minimatch": "^3.0.4",
+ "minimatch": "^9.0.3",
"webpack-merge": "^4.1.5"
+ },
+ "dependencies": {
+ "glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "dev": true,
+ "requires": {
+ "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"
+ },
+ "dependencies": {
+ "minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "dev": true,
+ "requires": {
+ "brace-expansion": "^1.1.7"
+ }
+ }
+ }
+ },
+ "minimatch": {
+ "version": "9.0.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz",
+ "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==",
+ "dev": true,
+ "requires": {
+ "brace-expansion": "^2.0.1"
+ },
+ "dependencies": {
+ "brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "dev": true,
+ "requires": {
+ "balanced-match": "^1.0.0"
+ }
+ }
+ }
+ }
}
},
"keycode": {
@@ -44454,6 +47328,15 @@
"type-check": "~0.4.0"
}
},
+ "lie": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz",
+ "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==",
+ "dev": true,
+ "requires": {
+ "immediate": "~3.0.5"
+ }
+ },
"liftoff": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/liftoff/-/liftoff-3.1.0.tgz",
@@ -44482,9 +47365,9 @@
}
},
"lighthouse-logger": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/lighthouse-logger/-/lighthouse-logger-1.3.0.tgz",
- "integrity": "sha512-BbqAKApLb9ywUli+0a+PcV04SyJ/N1q/8qgCNe6U97KbPCS1BTksEuHFLYdvc8DltuhfxIUBqDZsC0bBGtl3lA==",
+ "version": "1.4.2",
+ "resolved": "https://registry.npmjs.org/lighthouse-logger/-/lighthouse-logger-1.4.2.tgz",
+ "integrity": "sha512-gPWxznF6TKmUHrOQjlVo2UbaL2EJ71mb2CCeRs/2qBpi4L/g4LUVc9+3lKQ6DTUZwJswfM7ainGrLO1+fOqa2g==",
"dev": true,
"requires": {
"debug": "^2.6.9",
@@ -44509,9 +47392,9 @@
}
},
"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==",
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-2.0.4.tgz",
+ "integrity": "sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A==",
"dev": true
},
"listenercount": {
@@ -44597,12 +47480,12 @@
}
},
"locate-app": {
- "version": "2.2.13",
- "resolved": "https://registry.npmjs.org/locate-app/-/locate-app-2.2.13.tgz",
- "integrity": "sha512-1jp6iRFrHKBj9vq6Idb0cSjly+KnCIMbxZ2BBKSEzIC4ZJosv47wnLoiJu2EgOAdjhGvNcy/P2fbDCS/WziI8g==",
+ "version": "2.4.15",
+ "resolved": "https://registry.npmjs.org/locate-app/-/locate-app-2.4.15.tgz",
+ "integrity": "sha512-oAGHATXPUHSQ74Om+3dXBRNYtCzU7Wzuhlj/WIZchqHb/5/TGJRzLEtHipMDOak0UZG9U365RMXyBzgV/fhOww==",
"dev": true,
"requires": {
- "n12": "1.8.16",
+ "@promptbook/utils": "0.50.0-10",
"type-fest": "2.13.0",
"userhome": "1.0.0"
},
@@ -44857,16 +47740,16 @@
}
},
"log4js": {
- "version": "6.7.0",
- "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.7.0.tgz",
- "integrity": "sha512-KA0W9ffgNBLDj6fZCq/lRbgR6ABAodRIDHrZnS48vOtfKa4PzWImb0Md1lmGCdO3n3sbCm/n1/WmrNlZ8kCI3Q==",
+ "version": "6.9.1",
+ "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.9.1.tgz",
+ "integrity": "sha512-1somDdy9sChrr9/f4UlzhdaGfDR2c/SaD2a4T7qEkG4jTS57/B3qmnjLYePwQ8cqWnUHZI0iAKxMBpCZICiZ2g==",
"dev": true,
"requires": {
"date-format": "^4.0.14",
"debug": "^4.3.4",
"flatted": "^3.2.7",
"rfdc": "^1.3.0",
- "streamroller": "^3.1.3"
+ "streamroller": "^3.1.5"
}
},
"logform": {
@@ -44892,9 +47775,9 @@
}
},
"loglevel": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.8.0.tgz",
- "integrity": "sha512-G6A/nJLRgWOuuwdNuA6koovfEV1YpqqAG4pRUlFaz3jj2QNZ8M4vBqnVA+HBTmU/AMNUtlOsMmSpF6NyOjztbA==",
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.9.1.tgz",
+ "integrity": "sha512-hP3I3kCrDIMuRwAwHltphhDM1r8i55H33GgqjXbrisuJhF4kRhW1dNuxsRklp4bXl8DSdLaNLuiL4A/LWRfxvg==",
"dev": true
},
"loglevel-plugin-prefix": {
@@ -44910,9 +47793,9 @@
"dev": true
},
"longest-streak": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.0.1.tgz",
- "integrity": "sha512-cHlYSUpL2s7Fb3394mYxwTYj8niTaNHUCLr0qdiCXQfSjfuA7CKofpX2uSwEfFDQ0EB7JcnMnm+GjbqqoinYYg==",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz",
+ "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==",
"dev": true
},
"loose-envify": {
@@ -44925,27 +47808,26 @@
}
},
"loupe": {
- "version": "2.3.4",
- "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.4.tgz",
- "integrity": "sha512-OvKfgCC2Ndby6aSTREl5aCCPTNIzlDfQZvZxNUrBrihDhL3xcrYegTblhmEiCrg2kKQz4XsFIaemE5BF4ybSaQ==",
+ "version": "2.3.7",
+ "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz",
+ "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==",
"dev": true,
"requires": {
- "get-func-name": "^2.0.0"
+ "get-func-name": "^2.0.1"
}
},
"lowercase-keys": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz",
- "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-3.0.0.tgz",
+ "integrity": "sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==",
"dev": true
},
"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==",
- "dev": true,
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
+ "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
"requires": {
- "yallist": "^4.0.0"
+ "yallist": "^3.0.2"
}
},
"lru-queue": {
@@ -44958,9 +47840,9 @@
}
},
"m3u8-parser": {
- "version": "4.7.1",
- "resolved": "https://registry.npmjs.org/m3u8-parser/-/m3u8-parser-4.7.1.tgz",
- "integrity": "sha512-pbrQwiMiq+MmI9bl7UjtPT3AK603PV9bogNlr83uC+X9IoxqL5E4k7kU7fMQ0dpRgxgeSMygqUa0IMLQNXLBNA==",
+ "version": "4.8.0",
+ "resolved": "https://registry.npmjs.org/m3u8-parser/-/m3u8-parser-4.8.0.tgz",
+ "integrity": "sha512-UqA2a/Pw3liR6Df3gwxrqghCP17OpPlQj6RBPLYygf/ZSQ4MoSgvdvhvt35qV+3NaaA0FSZx93Ix+2brT1U7cA==",
"dev": true,
"requires": {
"@babel/runtime": "^7.12.5",
@@ -44969,13 +47851,12 @@
}
},
"magic-string": {
- "version": "0.25.9",
- "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz",
- "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==",
+ "version": "0.30.10",
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.10.tgz",
+ "integrity": "sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==",
"dev": true,
- "optional": true,
"requires": {
- "sourcemap-codec": "^1.4.8"
+ "@jridgewell/sourcemap-codec": "^1.4.15"
}
},
"make-dir": {
@@ -45026,9 +47907,9 @@
}
},
"markdown-table": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.2.tgz",
- "integrity": "sha512-y8j3a5/DkJCmS5x4dMCQL+OR0+2EAq3DOtio1COSHsmW2BGXnNCK3v12hJt1LrUz5iZH5g0LmuYOjDdI+czghA==",
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.3.tgz",
+ "integrity": "sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==",
"dev": true
},
"marky": {
@@ -45216,9 +48097,9 @@
}
},
"mdast-util-definitions": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-5.1.1.tgz",
- "integrity": "sha512-rQ+Gv7mHttxHOBx2dkF4HWTg+EE+UR78ptQWDylzPKaQuVGdG4HIoY3SrS/pCp80nZ04greFvXbVFHT+uf0JVQ==",
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-5.1.2.tgz",
+ "integrity": "sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA==",
"dev": true,
"requires": {
"@types/mdast": "^3.0.0",
@@ -45227,11 +48108,12 @@
}
},
"mdast-util-find-and-replace": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-2.2.1.tgz",
- "integrity": "sha512-SobxkQXFAdd4b5WmEakmkVoh18icjQRxGy5OWTCzgsLRm1Fu/KCtwD1HIQSsmq5ZRjVH0Ehwg6/Fn3xIUk+nKw==",
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-2.2.2.tgz",
+ "integrity": "sha512-MTtdFRz/eMDHXzeK6W3dO7mXUlF82Gom4y0oOgvHhh/HXZAGvIQDUvQ0SuUx+j2tv44b8xTHOm8K/9OoRFnXKw==",
"dev": true,
"requires": {
+ "@types/mdast": "^3.0.0",
"escape-string-regexp": "^5.0.0",
"unist-util-is": "^5.0.0",
"unist-util-visit-parents": "^5.0.0"
@@ -45246,9 +48128,9 @@
}
},
"mdast-util-from-markdown": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-1.2.0.tgz",
- "integrity": "sha512-iZJyyvKD1+K7QX1b5jXdE7Sc5dtoTry1vzV28UZZe8Z1xVnB/czKntJ7ZAkG0tANqRnBF6p3p7GpU1y19DTf2Q==",
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-1.3.1.tgz",
+ "integrity": "sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww==",
"dev": true,
"requires": {
"@types/mdast": "^3.0.0",
@@ -45266,17 +48148,20 @@
},
"dependencies": {
"mdast-util-to-string": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.1.0.tgz",
- "integrity": "sha512-n4Vypz/DZgwo0iMHLQL49dJzlp7YtAJP+N07MZHpjPf/5XJuHUWstviF4Mn2jEiR/GNmtnRRqnwsXExk3igfFA==",
- "dev": true
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.2.0.tgz",
+ "integrity": "sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==",
+ "dev": true,
+ "requires": {
+ "@types/mdast": "^3.0.0"
+ }
}
}
},
"mdast-util-gfm": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-2.0.1.tgz",
- "integrity": "sha512-42yHBbfWIFisaAfV1eixlabbsa6q7vHeSPY+cg+BBjX51M8xhgMacqH9g6TftB/9+YkcI0ooV4ncfrJslzm/RQ==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-2.0.2.tgz",
+ "integrity": "sha512-qvZ608nBppZ4icQlhQQIAdc6S3Ffj9RGmzwUKUWuEICFnd1LVkN3EktF7ZHAgfcEdvZB5owU9tQgt99e2TlLjg==",
"dev": true,
"requires": {
"mdast-util-from-markdown": "^1.0.0",
@@ -45289,9 +48174,9 @@
}
},
"mdast-util-gfm-autolink-literal": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-1.0.2.tgz",
- "integrity": "sha512-FzopkOd4xTTBeGXhXSBU0OCDDh5lUj2rd+HQqG92Ld+jL4lpUfgX2AT2OHAVP9aEeDKp7G92fuooSZcYJA3cRg==",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-1.0.3.tgz",
+ "integrity": "sha512-My8KJ57FYEy2W2LyNom4n3E7hKTuQk/0SES0u16tjA9Z3oFkF4RrC/hPAPgjlSpezsOvI8ObcXcElo92wn5IGA==",
"dev": true,
"requires": {
"@types/mdast": "^3.0.0",
@@ -45301,9 +48186,9 @@
}
},
"mdast-util-gfm-footnote": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-1.0.1.tgz",
- "integrity": "sha512-p+PrYlkw9DeCRkTVw1duWqPRHX6Ywh2BNKJQcZbCwAuP/59B0Lk9kakuAd7KbQprVO4GzdW8eS5++A9PUSqIyw==",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-1.0.2.tgz",
+ "integrity": "sha512-56D19KOGbE00uKVj3sgIykpwKL179QsVFwx/DCW0u/0+URsryacI4MAdNJl0dh+u2PSsD9FtxPFbHCzJ78qJFQ==",
"dev": true,
"requires": {
"@types/mdast": "^3.0.0",
@@ -45312,9 +48197,9 @@
}
},
"mdast-util-gfm-strikethrough": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-1.0.1.tgz",
- "integrity": "sha512-zKJbEPe+JP6EUv0mZ0tQUyLQOC+FADt0bARldONot/nefuISkaZFlmVK4tU6JgfyZGrky02m/I6PmehgAgZgqg==",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-1.0.3.tgz",
+ "integrity": "sha512-DAPhYzTYrRcXdMjUtUjKvW9z/FNAMTdU0ORyMcbmkwYNbKocDpdk+PX1L1dQgOID/+vVs1uBQ7ElrBQfZ0cuiQ==",
"dev": true,
"requires": {
"@types/mdast": "^3.0.0",
@@ -45322,9 +48207,9 @@
}
},
"mdast-util-gfm-table": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-1.0.6.tgz",
- "integrity": "sha512-uHR+fqFq3IvB3Rd4+kzXW8dmpxUhvgCQZep6KdjsLK4O6meK5dYZEayLtIxNus1XO3gfjfcIFe8a7L0HZRGgag==",
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-1.0.7.tgz",
+ "integrity": "sha512-jjcpmNnQvrmN5Vx7y7lEc2iIOEytYv7rTvu+MeyAsSHTASGCCRA79Igg2uKssgOs1i1po8s3plW0sTu1wkkLGg==",
"dev": true,
"requires": {
"@types/mdast": "^3.0.0",
@@ -45334,9 +48219,9 @@
}
},
"mdast-util-gfm-task-list-item": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-1.0.1.tgz",
- "integrity": "sha512-KZ4KLmPdABXOsfnM6JHUIjxEvcx2ulk656Z/4Balw071/5qgnhz+H1uGtf2zIGnrnvDC8xR4Fj9uKbjAFGNIeA==",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-1.0.2.tgz",
+ "integrity": "sha512-PFTA1gzfp1B1UaiJVyhJZA1rm0+Tzn690frc/L8vNX1Jop4STZgOE6bxUhnzdVSB+vm2GU1tIsuQcA9bxTQpMQ==",
"dev": true,
"requires": {
"@types/mdast": "^3.0.0",
@@ -45352,10 +48237,20 @@
"mdast-util-to-string": "^1.0.0"
}
},
+ "mdast-util-phrasing": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-3.0.1.tgz",
+ "integrity": "sha512-WmI1gTXUBJo4/ZmSk79Wcb2HcjPJBzM1nlI/OUWA8yk2X9ik3ffNbBGsU+09BFmXaL1IBb9fiuvq6/KMiNycSg==",
+ "dev": true,
+ "requires": {
+ "@types/mdast": "^3.0.0",
+ "unist-util-is": "^5.0.0"
+ }
+ },
"mdast-util-to-hast": {
- "version": "12.2.4",
- "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-12.2.4.tgz",
- "integrity": "sha512-a21xoxSef1l8VhHxS1Dnyioz6grrJkoaCUgGzMD/7dWHvboYX3VW53esRUfB5tgTyz4Yos1n25SPcj35dJqmAg==",
+ "version": "12.3.0",
+ "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-12.3.0.tgz",
+ "integrity": "sha512-pits93r8PhnIoU4Vy9bjW39M2jJ6/tdHyja9rrot9uujkN7UTU9SDnE6WNJz/IGyQk3XHX6yNNtrBH6cQzm8Hw==",
"dev": true,
"requires": {
"@types/hast": "^2.0.0",
@@ -45363,21 +48258,21 @@
"mdast-util-definitions": "^5.0.0",
"micromark-util-sanitize-uri": "^1.1.0",
"trim-lines": "^3.0.0",
- "unist-builder": "^3.0.0",
"unist-util-generated": "^2.0.0",
"unist-util-position": "^4.0.0",
"unist-util-visit": "^4.0.0"
}
},
"mdast-util-to-markdown": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-1.3.0.tgz",
- "integrity": "sha512-6tUSs4r+KK4JGTTiQ7FfHmVOaDrLQJPmpjD6wPMlHGUVXoG9Vjc3jIeP+uyBWRf8clwB2blM+W7+KrlMYQnftA==",
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-1.5.0.tgz",
+ "integrity": "sha512-bbv7TPv/WC49thZPg3jXuqzuvI45IL2EVAr/KxF0BSdHsU0ceFHOmwQn6evxAh1GaoK/6GQ1wp4R4oW2+LFL/A==",
"dev": true,
"requires": {
"@types/mdast": "^3.0.0",
"@types/unist": "^2.0.0",
"longest-streak": "^3.0.0",
+ "mdast-util-phrasing": "^3.0.0",
"mdast-util-to-string": "^3.0.0",
"micromark-util-decode-string": "^1.0.0",
"unist-util-visit": "^4.0.0",
@@ -45385,10 +48280,13 @@
},
"dependencies": {
"mdast-util-to-string": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.1.0.tgz",
- "integrity": "sha512-n4Vypz/DZgwo0iMHLQL49dJzlp7YtAJP+N07MZHpjPf/5XJuHUWstviF4Mn2jEiR/GNmtnRRqnwsXExk3igfFA==",
- "dev": true
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.2.0.tgz",
+ "integrity": "sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==",
+ "dev": true,
+ "requires": {
+ "@types/mdast": "^3.0.0"
+ }
}
}
},
@@ -45399,46 +48297,33 @@
"dev": true
},
"mdast-util-toc": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/mdast-util-toc/-/mdast-util-toc-6.1.0.tgz",
- "integrity": "sha512-0PuqZELXZl4ms1sF7Lqigrqik4Ll3UhbI+jdTrfw7pZ9QPawgl7LD4GQ8MkU7bT/EwiVqChNTbifa2jLLKo76A==",
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/mdast-util-toc/-/mdast-util-toc-6.1.1.tgz",
+ "integrity": "sha512-Er21728Kow8hehecK2GZtb7Ny3omcoPUVrmObiSUwmoRYVZaXLR751QROEFjR8W/vAQdHMLj49Lz20J55XaNpw==",
"dev": true,
"requires": {
"@types/extend": "^3.0.0",
- "@types/github-slugger": "^1.0.0",
"@types/mdast": "^3.0.0",
"extend": "^3.0.0",
- "github-slugger": "^1.0.0",
+ "github-slugger": "^2.0.0",
"mdast-util-to-string": "^3.1.0",
"unist-util-is": "^5.0.0",
- "unist-util-visit": "^3.0.0"
+ "unist-util-visit": "^4.0.0"
},
"dependencies": {
- "mdast-util-to-string": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.1.0.tgz",
- "integrity": "sha512-n4Vypz/DZgwo0iMHLQL49dJzlp7YtAJP+N07MZHpjPf/5XJuHUWstviF4Mn2jEiR/GNmtnRRqnwsXExk3igfFA==",
+ "github-slugger": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-2.0.0.tgz",
+ "integrity": "sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==",
"dev": true
},
- "unist-util-visit": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-3.1.0.tgz",
- "integrity": "sha512-Szoh+R/Ll68QWAyQyZZpQzZQm2UPbxibDvaY8Xc9SUtYgPsDzx5AWSk++UUt2hJuow8mvwR+rG+LQLw+KsuAKA==",
- "dev": true,
- "requires": {
- "@types/unist": "^2.0.0",
- "unist-util-is": "^5.0.0",
- "unist-util-visit-parents": "^4.0.0"
- }
- },
- "unist-util-visit-parents": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-4.1.1.tgz",
- "integrity": "sha512-1xAFJXAKpnnJl8G7K5KgU7FY55y3GcLIXqkzUj5QF/QVP7biUm0K0O2oqVkYsdjzJKifYeWn9+o6piAK2hGSHw==",
+ "mdast-util-to-string": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.2.0.tgz",
+ "integrity": "sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==",
"dev": true,
"requires": {
- "@types/unist": "^2.0.0",
- "unist-util-is": "^5.0.0"
+ "@types/mdast": "^3.0.0"
}
}
}
@@ -45449,13 +48334,13 @@
"integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ=="
},
"memoizee": {
- "version": "0.4.15",
- "resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.4.15.tgz",
- "integrity": "sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ==",
+ "version": "0.4.17",
+ "resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.4.17.tgz",
+ "integrity": "sha512-DGqD7Hjpi/1or4F/aYAspXKNm5Yili0QDAFAY4QYvpqpgiY6+1jOfqpmByzjxbWd/T9mChbCArXAbDAsTm5oXA==",
"dev": true,
"requires": {
- "d": "^1.0.1",
- "es5-ext": "^0.10.53",
+ "d": "^1.0.2",
+ "es5-ext": "^0.10.64",
"es6-weak-map": "^2.0.3",
"event-emitter": "^0.3.5",
"is-promise": "^2.2.2",
@@ -45491,9 +48376,9 @@
"integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w=="
},
"micromark": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/micromark/-/micromark-3.1.0.tgz",
- "integrity": "sha512-6Mj0yHLdUZjHnOPgr5xfWIMqMWS12zDN6iws9SLuSz76W8jTtAv24MN4/CL7gJrl5vtxGInkkqDv/JIoRsQOvA==",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/micromark/-/micromark-3.2.0.tgz",
+ "integrity": "sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA==",
"dev": true,
"requires": {
"@types/debug": "^4.0.0",
@@ -45516,9 +48401,9 @@
}
},
"micromark-core-commonmark": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-1.0.6.tgz",
- "integrity": "sha512-K+PkJTxqjFfSNkfAhp4GB+cZPfQd6dxtTXnf+RjZOV7T4EEXnvgzOcnp+eSTmpGk9d1S9sL6/lqrgSNn/s0HZA==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-1.1.0.tgz",
+ "integrity": "sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw==",
"dev": true,
"requires": {
"decode-named-character-reference": "^1.0.0",
@@ -45540,9 +48425,9 @@
}
},
"micromark-extension-gfm": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-2.0.1.tgz",
- "integrity": "sha512-p2sGjajLa0iYiGQdT0oelahRYtMWvLjy8J9LOCxzIQsllMCGLbsLW+Nc+N4vi02jcRJvedVJ68cjelKIO6bpDA==",
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-2.0.3.tgz",
+ "integrity": "sha512-vb9OoHqrhCmbRidQv/2+Bc6pkP0FrtlhurxZofvOEy5o8RtuuvTq+RQ1Vw5ZDNrVraQZu3HixESqbG+0iKk/MQ==",
"dev": true,
"requires": {
"micromark-extension-gfm-autolink-literal": "^1.0.0",
@@ -45556,22 +48441,21 @@
}
},
"micromark-extension-gfm-autolink-literal": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-1.0.3.tgz",
- "integrity": "sha512-i3dmvU0htawfWED8aHMMAzAVp/F0Z+0bPh3YrbTPPL1v4YAlCZpy5rBO5p0LPYiZo0zFVkoYh7vDU7yQSiCMjg==",
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-1.0.5.tgz",
+ "integrity": "sha512-z3wJSLrDf8kRDOh2qBtoTRD53vJ+CWIyo7uyZuxf/JAbNJjiHsOpG1y5wxk8drtv3ETAHutCu6N3thkOOgueWg==",
"dev": true,
"requires": {
"micromark-util-character": "^1.0.0",
"micromark-util-sanitize-uri": "^1.0.0",
"micromark-util-symbol": "^1.0.0",
- "micromark-util-types": "^1.0.0",
- "uvu": "^0.5.0"
+ "micromark-util-types": "^1.0.0"
}
},
"micromark-extension-gfm-footnote": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-1.0.4.tgz",
- "integrity": "sha512-E/fmPmDqLiMUP8mLJ8NbJWJ4bTw6tS+FEQS8CcuDtZpILuOb2kjLqPEeAePF1djXROHXChM/wPJw0iS4kHCcIg==",
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-1.1.2.tgz",
+ "integrity": "sha512-Yxn7z7SxgyGWRNa4wzf8AhYYWNrwl5q1Z8ii+CSTTIqVkmGZF1CElX2JI8g5yGoM3GAman9/PVCUFUSJ0kB/8Q==",
"dev": true,
"requires": {
"micromark-core-commonmark": "^1.0.0",
@@ -45585,9 +48469,9 @@
}
},
"micromark-extension-gfm-strikethrough": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-1.0.4.tgz",
- "integrity": "sha512-/vjHU/lalmjZCT5xt7CcHVJGq8sYRm80z24qAKXzaHzem/xsDYb2yLL+NNVbYvmpLx3O7SYPuGL5pzusL9CLIQ==",
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-1.0.7.tgz",
+ "integrity": "sha512-sX0FawVE1o3abGk3vRjOH50L5TTLr3b5XMqnP9YDRb34M0v5OoZhG+OHFz1OffZ9dlwgpTBKaT4XW/AsUVnSDw==",
"dev": true,
"requires": {
"micromark-util-chunked": "^1.0.0",
@@ -45599,9 +48483,9 @@
}
},
"micromark-extension-gfm-table": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-1.0.5.tgz",
- "integrity": "sha512-xAZ8J1X9W9K3JTJTUL7G6wSKhp2ZYHrFk5qJgY/4B33scJzE2kpfRL6oiw/veJTbt7jiM/1rngLlOKPWr1G+vg==",
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-1.0.7.tgz",
+ "integrity": "sha512-3ZORTHtcSnMQEKtAOsBQ9/oHp9096pI/UvdPtN7ehKvrmZZ2+bbWhi0ln+I9drmwXMt5boocn6OlwQzNXeVeqw==",
"dev": true,
"requires": {
"micromark-factory-space": "^1.0.0",
@@ -45612,18 +48496,18 @@
}
},
"micromark-extension-gfm-tagfilter": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-1.0.1.tgz",
- "integrity": "sha512-Ty6psLAcAjboRa/UKUbbUcwjVAv5plxmpUTy2XC/3nJFL37eHej8jrHrRzkqcpipJliuBH30DTs7+3wqNcQUVA==",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-1.0.2.tgz",
+ "integrity": "sha512-5XWB9GbAUSHTn8VPU8/1DBXMuKYT5uOgEjJb8gN3mW0PNW5OPHpSdojoqf+iq1xo7vWzw/P8bAHY0n6ijpXF7g==",
"dev": true,
"requires": {
"micromark-util-types": "^1.0.0"
}
},
"micromark-extension-gfm-task-list-item": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-1.0.3.tgz",
- "integrity": "sha512-PpysK2S1Q/5VXi72IIapbi/jliaiOFzv7THH4amwXeYXLq3l1uo8/2Be0Ac1rEwK20MQEsGH2ltAZLNY2KI/0Q==",
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-1.0.5.tgz",
+ "integrity": "sha512-RMFXl2uQ0pNQy6Lun2YBYT9g9INXtWJULgbt01D/x8/6yJ2qpKyzdZD3pi6UIkzF++Da49xAelVKUeUMqd5eIQ==",
"dev": true,
"requires": {
"micromark-factory-space": "^1.0.0",
@@ -45634,9 +48518,9 @@
}
},
"micromark-factory-destination": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-1.0.0.tgz",
- "integrity": "sha512-eUBA7Rs1/xtTVun9TmV3gjfPz2wEwgK5R5xcbIM5ZYAtvGF6JkyaDsj0agx8urXnO31tEO6Ug83iVH3tdedLnw==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-1.1.0.tgz",
+ "integrity": "sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg==",
"dev": true,
"requires": {
"micromark-util-character": "^1.0.0",
@@ -45645,9 +48529,9 @@
}
},
"micromark-factory-label": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-1.0.2.tgz",
- "integrity": "sha512-CTIwxlOnU7dEshXDQ+dsr2n+yxpP0+fn271pu0bwDIS8uqfFcumXpj5mLn3hSC8iw2MUr6Gx8EcKng1dD7i6hg==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-1.1.0.tgz",
+ "integrity": "sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w==",
"dev": true,
"requires": {
"micromark-util-character": "^1.0.0",
@@ -45657,9 +48541,9 @@
}
},
"micromark-factory-space": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-1.0.0.tgz",
- "integrity": "sha512-qUmqs4kj9a5yBnk3JMLyjtWYN6Mzfcx8uJfi5XAveBniDevmZasdGBba5b4QsvRcAkmvGo5ACmSUmyGiKTLZew==",
+ "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==",
"dev": true,
"requires": {
"micromark-util-character": "^1.0.0",
@@ -45667,22 +48551,21 @@
}
},
"micromark-factory-title": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-1.0.2.tgz",
- "integrity": "sha512-zily+Nr4yFqgMGRKLpTVsNl5L4PMu485fGFDOQJQBl2NFpjGte1e86zC0da93wf97jrc4+2G2GQudFMHn3IX+A==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-1.1.0.tgz",
+ "integrity": "sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ==",
"dev": true,
"requires": {
"micromark-factory-space": "^1.0.0",
"micromark-util-character": "^1.0.0",
"micromark-util-symbol": "^1.0.0",
- "micromark-util-types": "^1.0.0",
- "uvu": "^0.5.0"
+ "micromark-util-types": "^1.0.0"
}
},
"micromark-factory-whitespace": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-1.0.0.tgz",
- "integrity": "sha512-Qx7uEyahU1lt1RnsECBiuEbfr9INjQTGa6Err+gF3g0Tx4YEviPbqqGKNv/NrBaE7dVHdn1bVZKM/n5I/Bak7A==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-1.1.0.tgz",
+ "integrity": "sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ==",
"dev": true,
"requires": {
"micromark-factory-space": "^1.0.0",
@@ -45692,9 +48575,9 @@
}
},
"micromark-util-character": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-1.1.0.tgz",
- "integrity": "sha512-agJ5B3unGNJ9rJvADMJ5ZiYjBRyDpzKAOk01Kpi1TKhlT1APx3XZk6eN7RtSz1erbWHC2L8T3xLZ81wdtGRZzg==",
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-1.2.0.tgz",
+ "integrity": "sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==",
"dev": true,
"requires": {
"micromark-util-symbol": "^1.0.0",
@@ -45702,18 +48585,18 @@
}
},
"micromark-util-chunked": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-1.0.0.tgz",
- "integrity": "sha512-5e8xTis5tEZKgesfbQMKRCyzvffRRUX+lK/y+DvsMFdabAicPkkZV6gO+FEWi9RfuKKoxxPwNL+dFF0SMImc1g==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-1.1.0.tgz",
+ "integrity": "sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ==",
"dev": true,
"requires": {
"micromark-util-symbol": "^1.0.0"
}
},
"micromark-util-classify-character": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-1.0.0.tgz",
- "integrity": "sha512-F8oW2KKrQRb3vS5ud5HIqBVkCqQi224Nm55o5wYLzY/9PwHGXC01tr3d7+TqHHz6zrKQ72Okwtvm/xQm6OVNZA==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-1.1.0.tgz",
+ "integrity": "sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw==",
"dev": true,
"requires": {
"micromark-util-character": "^1.0.0",
@@ -45722,9 +48605,9 @@
}
},
"micromark-util-combine-extensions": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.0.0.tgz",
- "integrity": "sha512-J8H058vFBdo/6+AsjHp2NF7AJ02SZtWaVUjsayNFeAiydTxUwViQPxN0Hf8dp4FmCQi0UUFovFsEyRSUmFH3MA==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.1.0.tgz",
+ "integrity": "sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA==",
"dev": true,
"requires": {
"micromark-util-chunked": "^1.0.0",
@@ -45732,18 +48615,18 @@
}
},
"micromark-util-decode-numeric-character-reference": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.0.0.tgz",
- "integrity": "sha512-OzO9AI5VUtrTD7KSdagf4MWgHMtET17Ua1fIpXTpuhclCqD8egFWo85GxSGvxgkGS74bEahvtM0WP0HjvV0e4w==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.1.0.tgz",
+ "integrity": "sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw==",
"dev": true,
"requires": {
"micromark-util-symbol": "^1.0.0"
}
},
"micromark-util-decode-string": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-1.0.2.tgz",
- "integrity": "sha512-DLT5Ho02qr6QWVNYbRZ3RYOSSWWFuH3tJexd3dgN1odEuPNxCngTCXJum7+ViRAd9BbdxCvMToPOD/IvVhzG6Q==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-1.1.0.tgz",
+ "integrity": "sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ==",
"dev": true,
"requires": {
"decode-named-character-reference": "^1.0.0",
@@ -45753,39 +48636,39 @@
}
},
"micromark-util-encode": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-1.0.1.tgz",
- "integrity": "sha512-U2s5YdnAYexjKDel31SVMPbfi+eF8y1U4pfiRW/Y8EFVCy/vgxk/2wWTxzcqE71LHtCuCzlBDRU2a5CQ5j+mQA==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-1.1.0.tgz",
+ "integrity": "sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw==",
"dev": true
},
"micromark-util-html-tag-name": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.1.0.tgz",
- "integrity": "sha512-BKlClMmYROy9UiV03SwNmckkjn8QHVaWkqoAqzivabvdGcwNGMMMH/5szAnywmsTBUzDsU57/mFi0sp4BQO6dA==",
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.2.0.tgz",
+ "integrity": "sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q==",
"dev": true
},
"micromark-util-normalize-identifier": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.0.0.tgz",
- "integrity": "sha512-yg+zrL14bBTFrQ7n35CmByWUTFsgst5JhA4gJYoty4Dqzj4Z4Fr/DHekSS5aLfH9bdlfnSvKAWsAgJhIbogyBg==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.1.0.tgz",
+ "integrity": "sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q==",
"dev": true,
"requires": {
"micromark-util-symbol": "^1.0.0"
}
},
"micromark-util-resolve-all": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-1.0.0.tgz",
- "integrity": "sha512-CB/AGk98u50k42kvgaMM94wzBqozSzDDaonKU7P7jwQIuH2RU0TeBqGYJz2WY1UdihhjweivStrJ2JdkdEmcfw==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-1.1.0.tgz",
+ "integrity": "sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA==",
"dev": true,
"requires": {
"micromark-util-types": "^1.0.0"
}
},
"micromark-util-sanitize-uri": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.1.0.tgz",
- "integrity": "sha512-RoxtuSCX6sUNtxhbmsEFQfWzs8VN7cTctmBPvYivo98xb/kDEoTCtJQX5wyzIYEmk/lvNFTat4hL8oW0KndFpg==",
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.2.0.tgz",
+ "integrity": "sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A==",
"dev": true,
"requires": {
"micromark-util-character": "^1.0.0",
@@ -45794,9 +48677,9 @@
}
},
"micromark-util-subtokenize": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-1.0.2.tgz",
- "integrity": "sha512-d90uqCnXp/cy4G881Ub4psE57Sf8YD0pim9QdjCRNjfas2M1u6Lbt+XZK9gnHL2XFhnozZiEdCa9CNfXSfQ6xA==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-1.1.0.tgz",
+ "integrity": "sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A==",
"dev": true,
"requires": {
"micromark-util-chunked": "^1.0.0",
@@ -45806,24 +48689,24 @@
}
},
"micromark-util-symbol": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-1.0.1.tgz",
- "integrity": "sha512-oKDEMK2u5qqAptasDAwWDXq0tG9AssVwAx3E9bBF3t/shRIGsWIRG+cGafs2p/SnDSOecnt6hZPCE2o6lHfFmQ==",
+ "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==",
"dev": true
},
"micromark-util-types": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.0.2.tgz",
- "integrity": "sha512-DCfg/T8fcrhrRKTPjRrw/5LLvdGV7BHySf/1LOZx7TzWZdYRjogNtyNq885z3nNallwr3QUKARjqvHqX1/7t+w==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.1.0.tgz",
+ "integrity": "sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==",
"dev": true
},
"micromatch": {
- "version": "4.0.5",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
- "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
+ "version": "4.0.7",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz",
+ "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==",
"dev": true,
"requires": {
- "braces": "^3.0.2",
+ "braces": "^3.0.3",
"picomatch": "^2.3.1"
}
},
@@ -45853,9 +48736,9 @@
"dev": true
},
"mimic-response": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz",
- "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==",
+ "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==",
"dev": true
},
"min-document": {
@@ -45877,15 +48760,15 @@
}
},
"minimist": {
- "version": "1.2.7",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz",
- "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==",
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
+ "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
"dev": true
},
"minipass": {
- "version": "7.0.4",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz",
- "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==",
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
+ "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
"dev": true
},
"mitt": {
@@ -45904,6 +48787,15 @@
"is-extendable": "^1.0.1"
}
},
+ "mkdirp": {
+ "version": "0.5.6",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
+ "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
+ "dev": true,
+ "requires": {
+ "minimist": "^1.2.6"
+ }
+ },
"mkdirp-classic": {
"version": "0.5.3",
"resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz",
@@ -45911,9 +48803,9 @@
"dev": true
},
"mocha": {
- "version": "10.1.0",
- "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.1.0.tgz",
- "integrity": "sha512-vUF7IYxEoN7XhQpFLxQAEMtE4W91acW4B6En9l97MwE9stL1A9gusXfoHZCLVHDUJ/7V5+lbCM6yMqzo5vNymg==",
+ "version": "10.4.0",
+ "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.4.0.tgz",
+ "integrity": "sha512-eqhGB8JKapEYcC4ytX/xrzKforgEc3j1pGlAXVy3eRwrtAy5/nIfT1SvgGzfN0XZZxeLq0aQWkOUAmqIJiv+bA==",
"dev": true,
"requires": {
"ansi-colors": "4.1.1",
@@ -45923,13 +48815,12 @@
"diff": "5.0.0",
"escape-string-regexp": "4.0.0",
"find-up": "5.0.0",
- "glob": "7.2.0",
+ "glob": "8.1.0",
"he": "1.2.0",
"js-yaml": "4.1.0",
"log-symbols": "4.1.0",
"minimatch": "5.0.1",
"ms": "2.1.3",
- "nanoid": "3.3.3",
"serialize-javascript": "6.0.0",
"strip-json-comments": "3.1.1",
"supports-color": "8.1.1",
@@ -45960,6 +48851,15 @@
"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
"dev": true
},
+ "brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "dev": true,
+ "requires": {
+ "balanced-match": "^1.0.0"
+ }
+ },
"chalk": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
@@ -45981,6 +48881,22 @@
}
}
},
+ "chokidar": {
+ "version": "3.5.3",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
+ "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
+ "dev": true,
+ "requires": {
+ "anymatch": "~3.1.2",
+ "braces": "~3.0.2",
+ "fsevents": "~2.3.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"
+ }
+ },
"cliui": {
"version": "7.0.4",
"resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
@@ -46007,6 +48923,23 @@
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
},
+ "debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "dev": true,
+ "requires": {
+ "ms": "2.1.2"
+ },
+ "dependencies": {
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true
+ }
+ }
+ },
"diff": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz",
@@ -46030,28 +48963,16 @@
}
},
"glob": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
- "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==",
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz",
+ "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==",
"dev": true,
"requires": {
"fs.realpath": "^1.0.0",
"inflight": "^1.0.4",
"inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- },
- "dependencies": {
- "minimatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
- "dev": true,
- "requires": {
- "brace-expansion": "^1.1.7"
- }
- }
+ "minimatch": "^5.0.1",
+ "once": "^1.3.0"
}
},
"has-flag": {
@@ -46060,6 +48981,12 @@
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true
},
+ "is-unicode-supported": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz",
+ "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==",
+ "dev": true
+ },
"js-yaml": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
@@ -46095,17 +49022,6 @@
"dev": true,
"requires": {
"brace-expansion": "^2.0.1"
- },
- "dependencies": {
- "brace-expansion": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
- "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
- "dev": true,
- "requires": {
- "balanced-match": "^1.0.0"
- }
- }
}
},
"ms": {
@@ -46132,6 +49048,15 @@
"p-limit": "^3.0.2"
}
},
+ "strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^5.0.1"
+ }
+ },
"strip-json-comments": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
@@ -46147,6 +49072,17 @@
"has-flag": "^4.0.0"
}
},
+ "wrap-ansi": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ }
+ },
"yargs": {
"version": "16.2.0",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
@@ -46167,9 +49103,21 @@
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz",
"integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==",
"dev": true
+ },
+ "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==",
+ "dev": true
}
}
},
+ "moment": {
+ "version": "2.30.1",
+ "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz",
+ "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==",
+ "dev": true
+ },
"morgan": {
"version": "1.10.0",
"resolved": "https://registry.npmjs.org/morgan/-/morgan-1.10.0.tgz",
@@ -46210,14 +49158,14 @@
}
},
"mpd-parser": {
- "version": "0.21.1",
- "resolved": "https://registry.npmjs.org/mpd-parser/-/mpd-parser-0.21.1.tgz",
- "integrity": "sha512-BxlSXWbKE1n7eyEPBnTEkrzhS3PdmkkKdM1pgKbPnPOH0WFZIc0sPOWi7m0Uo3Wd2a4Or8Qf4ZbS7+ASqQ49fw==",
+ "version": "0.22.1",
+ "resolved": "https://registry.npmjs.org/mpd-parser/-/mpd-parser-0.22.1.tgz",
+ "integrity": "sha512-fwBebvpyPUU8bOzvhX0VQZgSohncbgYwUyJJoTSNpmy7ccD2ryiCvM7oRkn/xQH5cv73/xU7rJSNCLjdGFor0Q==",
"dev": true,
"requires": {
"@babel/runtime": "^7.12.5",
"@videojs/vhs-utils": "^3.0.5",
- "@xmldom/xmldom": "^0.7.2",
+ "@xmldom/xmldom": "^0.8.3",
"global": "^4.4.0"
}
},
@@ -46228,9 +49176,9 @@
"dev": true
},
"mrmime": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz",
- "integrity": "sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.0.tgz",
+ "integrity": "sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==",
"dev": true
},
"ms": {
@@ -46254,9 +49202,9 @@
"dev": true
},
"mute-stream": {
- "version": "0.0.8",
- "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz",
- "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-1.0.0.tgz",
+ "integrity": "sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==",
"dev": true
},
"mux.js": {
@@ -46269,24 +49217,19 @@
"global": "^4.4.0"
}
},
- "n12": {
- "version": "1.8.16",
- "resolved": "https://registry.npmjs.org/n12/-/n12-1.8.16.tgz",
- "integrity": "sha512-CZqHAqbzS0UsaUGkMsL+lMaYLyFr1+/ea+pD8dMziqSjkcuWVWDtgWx9phyfT7C3llqQ2+LwnStSb5afggBMfA==",
- "dev": true
- },
"nan": {
- "version": "2.17.0",
- "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz",
- "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==",
+ "version": "2.20.0",
+ "resolved": "https://registry.npmjs.org/nan/-/nan-2.20.0.tgz",
+ "integrity": "sha512-bk3gXBZDGILuuo/6sKtr0DQmSThYHLtNCdSdXk9YkxD/jK6X2vmCyyXBBxyqZ4XcnzTyYEAThfX3DCEnLf6igw==",
"dev": true,
"optional": true
},
"nanoid": {
- "version": "3.3.3",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz",
- "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==",
- "dev": true
+ "version": "3.3.7",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz",
+ "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==",
+ "dev": true,
+ "optional": true
},
"nanomatch": {
"version": "1.2.13",
@@ -46428,18 +49371,20 @@
"dev": true
},
"node-fetch": {
- "version": "2.6.7",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
- "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz",
+ "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==",
"dev": true,
"requires": {
- "whatwg-url": "^5.0.0"
+ "data-uri-to-buffer": "^4.0.0",
+ "fetch-blob": "^3.1.4",
+ "formdata-polyfill": "^4.0.10"
}
},
"node-html-parser": {
- "version": "6.1.6",
- "resolved": "https://registry.npmjs.org/node-html-parser/-/node-html-parser-6.1.6.tgz",
- "integrity": "sha512-C/MGDQ2NjdjzUq41bW9kW00MPZecAe/oo89vZEFLDfWoQVDk/DdML1yuxVVKLDMFIFax2VTq6Vpfzyn7z5yYgQ==",
+ "version": "6.1.13",
+ "resolved": "https://registry.npmjs.org/node-html-parser/-/node-html-parser-6.1.13.tgz",
+ "integrity": "sha512-qIsTMOY4C/dAa5Q5vsobRpOOvPfC4pB61UVW2uSwZNUp0QU/jCekTal1vMmbO0DgdHeLUJpv/ARmDqErVxA3Sg==",
"dev": true,
"requires": {
"css-select": "^5.1.0",
@@ -46447,9 +49392,9 @@
}
},
"node-releases": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz",
- "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg=="
+ "version": "2.0.14",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz",
+ "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw=="
},
"node-request-interceptor": {
"version": "0.6.3",
@@ -46482,25 +49427,22 @@
}
},
"normalize-package-data": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz",
- "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==",
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.1.tgz",
+ "integrity": "sha512-6rvCfeRW+OEZagAB4lMLSNuTNYZWLVtKccK79VSTf//yTY5VOCgcpH80O+bZK8Neps7pUnd5G+QlMg1yV/2iZQ==",
"dev": true,
"requires": {
- "hosted-git-info": "^4.0.1",
- "is-core-module": "^2.5.0",
- "semver": "^7.3.4",
- "validate-npm-package-license": "^3.0.1"
+ "hosted-git-info": "^7.0.0",
+ "is-core-module": "^2.8.1",
+ "semver": "^7.3.5",
+ "validate-npm-package-license": "^3.0.4"
},
"dependencies": {
"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==",
- "dev": true,
- "requires": {
- "lru-cache": "^6.0.0"
- }
+ "version": "7.6.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz",
+ "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==",
+ "dev": true
}
}
},
@@ -46511,9 +49453,9 @@
"dev": true
},
"normalize-url": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz",
- "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==",
+ "version": "8.0.1",
+ "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-8.0.1.tgz",
+ "integrity": "sha512-IO9QvjUMWxPQQhs60oOu10CRkWCiZzSUkzbXGGV9pviYl1fXYcvkzQ5jV9z8Y6un8ARoVRl4EtC6v6jNqbaJ/w==",
"dev": true
},
"now-and-later": {
@@ -46589,47 +49531,20 @@
"is-descriptor": "^0.1.0"
}
},
- "is-accessor-descriptor": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
- "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==",
- "dev": true,
- "requires": {
- "kind-of": "^3.0.2"
- }
- },
"is-buffer": {
"version": "1.1.6",
"resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
"integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
"dev": true
},
- "is-data-descriptor": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
- "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==",
- "dev": true,
- "requires": {
- "kind-of": "^3.0.2"
- }
- },
"is-descriptor": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
- "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz",
+ "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==",
"dev": true,
"requires": {
- "is-accessor-descriptor": "^0.1.6",
- "is-data-descriptor": "^0.1.4",
- "kind-of": "^5.0.0"
- },
- "dependencies": {
- "kind-of": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
- "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
- "dev": true
- }
+ "is-accessor-descriptor": "^1.0.1",
+ "is-data-descriptor": "^1.0.1"
}
},
"kind-of": {
@@ -46644,18 +49559,18 @@
}
},
"object-inspect": {
- "version": "1.12.2",
- "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz",
- "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ=="
+ "version": "1.13.1",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz",
+ "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ=="
},
"object-is": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz",
- "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==",
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.6.tgz",
+ "integrity": "sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==",
"dev": true,
"requires": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.3"
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1"
}
},
"object-keys": {
@@ -46674,13 +49589,13 @@
}
},
"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==",
+ "version": "4.1.5",
+ "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz",
+ "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==",
"dev": true,
"requires": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
+ "call-bind": "^1.0.5",
+ "define-properties": "^1.2.1",
"has-symbols": "^1.0.3",
"object-keys": "^1.1.1"
}
@@ -46697,6 +49612,29 @@
"isobject": "^3.0.0"
}
},
+ "object.fromentries": {
+ "version": "2.0.8",
+ "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz",
+ "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.2",
+ "es-object-atoms": "^1.0.0"
+ }
+ },
+ "object.groupby": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz",
+ "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.2"
+ }
+ },
"object.map": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz",
@@ -46727,14 +49665,14 @@
}
},
"object.values": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz",
- "integrity": "sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==",
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz",
+ "integrity": "sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==",
"dev": true,
"requires": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.3",
- "es-abstract": "^1.19.1"
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1",
+ "es-object-atoms": "^1.0.0"
}
},
"on-finished": {
@@ -46793,9 +49731,9 @@
}
},
"optionator": {
- "version": "0.9.1",
- "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz",
- "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==",
+ "version": "0.9.4",
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz",
+ "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==",
"dev": true,
"requires": {
"deep-is": "^0.1.3",
@@ -46803,7 +49741,7 @@
"levn": "^0.4.1",
"prelude-ls": "^1.2.1",
"type-check": "^0.4.0",
- "word-wrap": "^1.2.3"
+ "word-wrap": "^1.2.5"
}
},
"ora": {
@@ -46863,6 +49801,12 @@
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true
},
+ "is-unicode-supported": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz",
+ "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==",
+ "dev": true
+ },
"log-symbols": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
@@ -46873,6 +49817,15 @@
"is-unicode-supported": "^0.1.0"
}
},
+ "strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^5.0.1"
+ }
+ },
"supports-color": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
@@ -46915,9 +49868,9 @@
"dev": true
},
"p-cancelable": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz",
- "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-3.0.0.tgz",
+ "integrity": "sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==",
"dev": true
},
"p-finally": {
@@ -46973,18 +49926,18 @@
},
"dependencies": {
"agent-base": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz",
- "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==",
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz",
+ "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==",
"dev": true,
"requires": {
"debug": "^4.3.4"
}
},
"https-proxy-agent": {
- "version": "7.0.2",
- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz",
- "integrity": "sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==",
+ "version": "7.0.4",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz",
+ "integrity": "sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==",
"dev": true,
"requires": {
"agent-base": "^7.0.2",
@@ -46994,16 +49947,21 @@
}
},
"pac-resolver": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-7.0.0.tgz",
- "integrity": "sha512-Fd9lT9vJbHYRACT8OhCbZBbxr6KRSawSovFpy8nDGshaK99S/EBhVIHp9+crhxrsZOuvLpgL1n23iyPg6Rl2hg==",
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-7.0.1.tgz",
+ "integrity": "sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg==",
"dev": true,
"requires": {
"degenerator": "^5.0.0",
- "ip": "^1.1.8",
"netmask": "^2.0.2"
}
},
+ "pako": {
+ "version": "1.0.11",
+ "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
+ "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==",
+ "dev": true
+ },
"parent-module": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
@@ -47025,15 +49983,24 @@
}
},
"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==",
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-7.1.1.tgz",
+ "integrity": "sha512-SgOTCX/EZXtZxBE5eJ97P4yGM5n37BwRU+YMsH4vNzFqJV/oWFXXCmwFlgWUM4PrakybVOueJJ6pwHqSVhTFDw==",
"dev": true,
"requires": {
- "@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"
+ "@babel/code-frame": "^7.21.4",
+ "error-ex": "^1.3.2",
+ "json-parse-even-better-errors": "^3.0.0",
+ "lines-and-columns": "^2.0.3",
+ "type-fest": "^3.8.0"
+ },
+ "dependencies": {
+ "type-fest": {
+ "version": "3.13.1",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.13.1.tgz",
+ "integrity": "sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==",
+ "dev": true
+ }
}
},
"parse-ms": {
@@ -47072,6 +50039,12 @@
"parse-path": "^7.0.0"
}
},
+ "parse5": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
+ "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==",
+ "dev": true
+ },
"parseurl": {
"version": "1.3.3",
"resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
@@ -47128,19 +50101,19 @@
"dev": true
},
"path-scurry": {
- "version": "1.10.1",
- "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz",
- "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==",
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz",
+ "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==",
"dev": true,
"requires": {
- "lru-cache": "^9.1.1 || ^10.0.0",
+ "lru-cache": "^10.2.0",
"minipass": "^5.0.0 || ^6.0.2 || ^7.0.0"
},
"dependencies": {
"lru-cache": {
- "version": "10.1.0",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.1.0.tgz",
- "integrity": "sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag==",
+ "version": "10.2.2",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.2.tgz",
+ "integrity": "sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==",
"dev": true
}
}
@@ -47203,9 +50176,9 @@
"dev": true
},
"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=="
},
"picomatch": {
"version": "2.3.1",
@@ -47271,25 +50244,22 @@
"integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==",
"dev": true
},
+ "possible-typed-array-names": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz",
+ "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==",
+ "dev": true
+ },
"postcss": {
- "version": "8.4.18",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.18.tgz",
- "integrity": "sha512-Wi8mWhncLJm11GATDaQKobXSNEYGUHeQLiQqDFG1qQ5UTDPTEvKw0Xt5NsTpktGTwLps3ByrWsBrG0rB8YQ9oA==",
+ "version": "8.4.38",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz",
+ "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==",
"dev": true,
"optional": true,
"requires": {
- "nanoid": "^3.3.4",
+ "nanoid": "^3.3.7",
"picocolors": "^1.0.0",
- "source-map-js": "^1.0.2"
- },
- "dependencies": {
- "nanoid": {
- "version": "3.3.4",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
- "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==",
- "dev": true,
- "optional": true
- }
+ "source-map-js": "^1.2.0"
}
},
"prelude-ls": {
@@ -47298,6 +50268,12 @@
"integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
"dev": true
},
+ "prettier": {
+ "version": "2.8.1",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.1.tgz",
+ "integrity": "sha512-lqGoSJBQNJidqCHE80vqZJHWHRFoNYsSpP9AjFhlhi9ODCJA541svILes/+/1GM3VaL/abZi7cpFzOpdR9UPKg==",
+ "dev": true
+ },
"pretty-format": {
"version": "29.7.0",
"resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz",
@@ -47356,9 +50332,9 @@
"dev": true
},
"property-information": {
- "version": "6.1.1",
- "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.1.1.tgz",
- "integrity": "sha512-hrzC564QIl0r0vy4l6MvRLhafmUowhO/O3KgVSoXIbbA2Sz4j8HGpJc6T2cubRVwMwpdiG/vKGfhT4IixmKN9w==",
+ "version": "6.5.0",
+ "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.5.0.tgz",
+ "integrity": "sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==",
"dev": true
},
"protocols": {
@@ -47393,18 +50369,18 @@
},
"dependencies": {
"agent-base": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz",
- "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==",
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz",
+ "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==",
"dev": true,
"requires": {
"debug": "^4.3.4"
}
},
"https-proxy-agent": {
- "version": "7.0.2",
- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz",
- "integrity": "sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==",
+ "version": "7.0.4",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz",
+ "integrity": "sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==",
"dev": true,
"requires": {
"agent-base": "^7.0.2",
@@ -47492,9 +50468,9 @@
}
},
"punycode": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
- "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
+ "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
"dev": true
},
"puppeteer-core": {
@@ -47517,12 +50493,57 @@
"ws": "8.5.0"
},
"dependencies": {
+ "debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "dev": true,
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
"devtools-protocol": {
"version": "0.0.981744",
"resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.981744.tgz",
"integrity": "sha512-0cuGS8+jhR67Fy7qG3i3Pc7Aw494sb9yG9QgpG97SFVWwolgYjlhJg7n+UaHxOQT30d1TYu/EYe9k01ivLErIg==",
"dev": true
},
+ "readable-stream": {
+ "version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
+ "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
+ "dev": true,
+ "requires": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ }
+ },
+ "tar-fs": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz",
+ "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==",
+ "dev": true,
+ "requires": {
+ "chownr": "^1.1.1",
+ "mkdirp-classic": "^0.5.2",
+ "pump": "^3.0.0",
+ "tar-stream": "^2.1.4"
+ }
+ },
+ "tar-stream": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz",
+ "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==",
+ "dev": true,
+ "requires": {
+ "bl": "^4.0.3",
+ "end-of-stream": "^1.4.1",
+ "fs-constants": "^1.0.0",
+ "inherits": "^2.0.3",
+ "readable-stream": "^3.1.1"
+ }
+ },
"ws": {
"version": "8.5.0",
"resolved": "https://registry.npmjs.org/ws/-/ws-8.5.0.tgz",
@@ -47553,15 +50574,15 @@
}
},
"query-selector-shadow-dom": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/query-selector-shadow-dom/-/query-selector-shadow-dom-1.0.0.tgz",
- "integrity": "sha512-bK0/0cCI+R8ZmOF1QjT7HupDUYCxbf/9TJgAmSXQxZpftXmTAeil9DRoCnTDkWbvOyZzhcMBwKpptWcdkGFIMg==",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/query-selector-shadow-dom/-/query-selector-shadow-dom-1.0.1.tgz",
+ "integrity": "sha512-lT5yCqEBgfoMYpf3F2xQRK7zEr1rhIIZuceDK6+xRkJQ4NMbHTwXqk4NkwDwQMNqXgG9r9fyHnzwNVs6zV5KRw==",
"dev": true
},
"querystring": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
- "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==",
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.1.tgz",
+ "integrity": "sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg==",
"dev": true
},
"querystringify": {
@@ -47608,40 +50629,40 @@
}
},
"react-is": {
- "version": "18.2.0",
- "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz",
- "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==",
+ "version": "18.3.1",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz",
+ "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==",
"dev": true
},
"read-pkg": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-7.1.0.tgz",
- "integrity": "sha512-5iOehe+WF75IccPc30bWTbpdDQLOCc3Uu8bi3Dte3Eueij81yx1Mrufk8qBx/YAbR4uL1FdUr+7BKXDwEtisXg==",
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-8.1.0.tgz",
+ "integrity": "sha512-PORM8AgzXeskHO/WEv312k9U03B8K9JSiWF/8N9sUuFjBa+9SF2u6K7VClzXwDXab51jCd8Nd36CNM+zR97ScQ==",
"dev": true,
"requires": {
"@types/normalize-package-data": "^2.4.1",
- "normalize-package-data": "^3.0.2",
- "parse-json": "^5.2.0",
- "type-fest": "^2.0.0"
+ "normalize-package-data": "^6.0.0",
+ "parse-json": "^7.0.0",
+ "type-fest": "^4.2.0"
},
"dependencies": {
"type-fest": {
- "version": "2.19.0",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz",
- "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==",
+ "version": "4.20.0",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.20.0.tgz",
+ "integrity": "sha512-MBh+PHUHHisjXf4tlx0CFWoMdjx8zCMLJHOjnV1prABYZFHqtFOyauCIK2/7w4oIfwkF8iNhLtnJEfVY2vn3iw==",
"dev": true
}
}
},
"read-pkg-up": {
- "version": "9.1.0",
- "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-9.1.0.tgz",
- "integrity": "sha512-vaMRR1AC1nrd5CQM0PhlRsO5oc2AAigqr7cCrZ/MW/Rsaflz4RlgzkpL4qoU/z1F6wrbd85iFv1OQj/y5RdGvg==",
+ "version": "10.0.0",
+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-10.0.0.tgz",
+ "integrity": "sha512-jgmKiS//w2Zs+YbX039CorlkOp8FIVbSAN8r8GJHDsGlmNPXo+VeHkqAwCiQVTTx5/LwLZTcEw59z3DvcLbr0g==",
"dev": true,
"requires": {
"find-up": "^6.3.0",
- "read-pkg": "^7.1.0",
- "type-fest": "^2.5.0"
+ "read-pkg": "^8.0.0",
+ "type-fest": "^3.12.0"
},
"dependencies": {
"find-up": {
@@ -47655,9 +50676,9 @@
}
},
"locate-path": {
- "version": "7.1.1",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.1.1.tgz",
- "integrity": "sha512-vJXaRMJgRVD3+cUZs3Mncj2mxpt5mP0EmNOsxRSZRMlbqjvxzDEOIUWXGmavo0ZC9+tNZCBLQ66reA11nbpHZg==",
+ "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==",
"dev": true,
"requires": {
"p-locate": "^6.0.0"
@@ -47688,23 +50709,17 @@
"dev": true
},
"type-fest": {
- "version": "2.19.0",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz",
- "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==",
- "dev": true
- },
- "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==",
+ "version": "3.13.1",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.13.1.tgz",
+ "integrity": "sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==",
"dev": true
}
}
},
"readable-stream": {
- "version": "2.3.7",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
- "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
+ "version": "2.3.8",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
+ "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
"requires": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.3",
@@ -47728,9 +50743,9 @@
}
},
"readdir-glob": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.2.tgz",
- "integrity": "sha512-6RLVvwJtVwEDfPdn6X6Ille4/lxGl0ATOY4FN/B9nxQcgOazvvI0nodiD19ScKq0PvA/29VpaOQML36o5IzZWA==",
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.3.tgz",
+ "integrity": "sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==",
"dev": true,
"requires": {
"minimatch": "^5.1.0"
@@ -47746,9 +50761,9 @@
}
},
"minimatch": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz",
- "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==",
+ "version": "5.1.6",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
+ "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
"dev": true,
"requires": {
"brace-expansion": "^2.0.1"
@@ -47789,22 +50804,22 @@
"integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A=="
},
"regenerate-unicode-properties": {
- "version": "10.1.0",
- "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz",
- "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==",
+ "version": "10.1.1",
+ "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz",
+ "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==",
"requires": {
"regenerate": "^1.4.2"
}
},
"regenerator-runtime": {
- "version": "0.13.10",
- "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.10.tgz",
- "integrity": "sha512-KepLsg4dU12hryUO7bp/axHAKvwGOCV0sGloQtpagJ12ai+ojVDqkeGSiRX1zlq+kjIMZ1t7gpze+26QqtdGqw=="
+ "version": "0.14.1",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz",
+ "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw=="
},
"regenerator-transform": {
- "version": "0.15.0",
- "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz",
- "integrity": "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==",
+ "version": "0.15.2",
+ "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz",
+ "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==",
"requires": {
"@babel/runtime": "^7.8.4"
}
@@ -47832,14 +50847,15 @@
}
},
"regexp.prototype.flags": {
- "version": "1.4.3",
- "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz",
- "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==",
+ "version": "1.5.2",
+ "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz",
+ "integrity": "sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==",
"dev": true,
"requires": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.3",
- "functions-have-names": "^1.2.2"
+ "call-bind": "^1.0.6",
+ "define-properties": "^1.2.1",
+ "es-errors": "^1.3.0",
+ "set-function-name": "^2.0.1"
}
},
"regexpp": {
@@ -47849,16 +50865,16 @@
"dev": true
},
"regexpu-core": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.2.1.tgz",
- "integrity": "sha512-HrnlNtpvqP1Xkb28tMhBUO2EbyUHdQlsnlAhzWcwHy8WJR53UWr7/MAvqrsQKMbV4qdpv03oTMG8iIhfsPFktQ==",
+ "version": "5.3.2",
+ "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz",
+ "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==",
"requires": {
+ "@babel/regjsgen": "^0.8.0",
"regenerate": "^1.4.2",
"regenerate-unicode-properties": "^10.1.0",
- "regjsgen": "^0.7.1",
"regjsparser": "^0.9.1",
"unicode-match-property-ecmascript": "^2.0.0",
- "unicode-match-property-value-ecmascript": "^2.0.0"
+ "unicode-match-property-value-ecmascript": "^2.1.0"
}
},
"regextras": {
@@ -47867,11 +50883,6 @@
"integrity": "sha512-k519uI04Z3SaY0fLX843MRXnDeG2+vHOFsyhiPZvNLe7r8rD2YNRjq4BQLZZ0oAr2NrtvZlICsXysGNFPGa3CQ==",
"dev": true
},
- "regjsgen": {
- "version": "0.7.1",
- "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.7.1.tgz",
- "integrity": "sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA=="
- },
"regjsparser": {
"version": "0.9.1",
"resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz",
@@ -47888,9 +50899,9 @@
}
},
"remark": {
- "version": "14.0.2",
- "resolved": "https://registry.npmjs.org/remark/-/remark-14.0.2.tgz",
- "integrity": "sha512-A3ARm2V4BgiRXaUo5K0dRvJ1lbogrbXnhkJRmD0yw092/Yl0kOCZt1k9ZeElEwkZsWGsMumz6qL5MfNJH9nOBA==",
+ "version": "14.0.3",
+ "resolved": "https://registry.npmjs.org/remark/-/remark-14.0.3.tgz",
+ "integrity": "sha512-bfmJW1dmR2LvaMJuAnE88pZP9DktIFYXazkTfOIKZzi3Knk9lT0roItIA24ydOucI3bV/g/tXBA6hzqq3FV9Ew==",
"dev": true,
"requires": {
"@types/mdast": "^3.0.0",
@@ -47912,9 +50923,9 @@
}
},
"remark-html": {
- "version": "15.0.1",
- "resolved": "https://registry.npmjs.org/remark-html/-/remark-html-15.0.1.tgz",
- "integrity": "sha512-7ta5UPRqj8nP0GhGMYUAghZ/DRno7dgq7alcW90A7+9pgJsXzGJlFgwF8HOP1b1tMgT3WwbeANN+CaTimMfyNQ==",
+ "version": "15.0.2",
+ "resolved": "https://registry.npmjs.org/remark-html/-/remark-html-15.0.2.tgz",
+ "integrity": "sha512-/CIOI7wzHJzsh48AiuIyIe1clxVkUtreul73zcCXLub0FmnevQE0UMFDQm7NUx8/3rl/4zCshlMfqBdWScQthw==",
"dev": true,
"requires": {
"@types/mdast": "^3.0.0",
@@ -47925,9 +50936,9 @@
}
},
"remark-parse": {
- "version": "10.0.1",
- "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-10.0.1.tgz",
- "integrity": "sha512-1fUyHr2jLsVOkhbvPRBJ5zTKZZyD6yZzYaWCS6BPBdQ8vEMBCH+9zNCDA6tET/zHCi/jLqjCWtlJZUPk+DbnFw==",
+ "version": "10.0.2",
+ "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-10.0.2.tgz",
+ "integrity": "sha512-3ydxgHa/ZQzG8LvC7jTXccARYDcRld3VfcgIIFs7bI6vbRSxJJmzgLEIIoYKyrfhaY+ujuWaf/PJiMZXoiCXgw==",
"dev": true,
"requires": {
"@types/mdast": "^3.0.0",
@@ -47947,9 +50958,9 @@
}
},
"remark-stringify": {
- "version": "10.0.2",
- "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-10.0.2.tgz",
- "integrity": "sha512-6wV3pvbPvHkbNnWB0wdDvVFHOe1hBRAx1Q/5g/EpH4RppAII6J8Gnwe7VbHuXaoKIF6LAg6ExTel/+kNqSQ7lw==",
+ "version": "10.0.3",
+ "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-10.0.3.tgz",
+ "integrity": "sha512-koyOzCMYoUHudypbj4XpnAKFbkddRMYZHwghnxd7ue5210WzGw6kOBwauJTRUMq16jsovXx8dYNvSSWP89kZ3A==",
"dev": true,
"requires": {
"@types/mdast": "^3.0.0",
@@ -48097,6 +51108,12 @@
"resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz",
"integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==",
"dev": true
+ },
+ "uuid": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
+ "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
+ "dev": true
}
}
},
@@ -48125,11 +51142,11 @@
"dev": true
},
"resolve": {
- "version": "1.22.1",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz",
- "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==",
+ "version": "1.22.8",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz",
+ "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==",
"requires": {
- "is-core-module": "^2.9.0",
+ "is-core-module": "^2.13.0",
"path-parse": "^1.0.7",
"supports-preserve-symlinks-flag": "^1.0.0"
}
@@ -48172,18 +51189,18 @@
"dev": true
},
"responselike": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz",
- "integrity": "sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/responselike/-/responselike-3.0.0.tgz",
+ "integrity": "sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==",
"dev": true,
"requires": {
- "lowercase-keys": "^2.0.0"
+ "lowercase-keys": "^3.0.0"
}
},
"resq": {
- "version": "1.10.2",
- "resolved": "https://registry.npmjs.org/resq/-/resq-1.10.2.tgz",
- "integrity": "sha512-HmgVS3j+FLrEDBTDYysPdPVF9/hioDMJ/otOiQDKqk77YfZeeLOj0qi34yObumcud1gBpk+wpBTEg4kMicD++A==",
+ "version": "1.11.0",
+ "resolved": "https://registry.npmjs.org/resq/-/resq-1.11.0.tgz",
+ "integrity": "sha512-G10EBz+zAAy3zUd/CDoBbXRL6ia9kOo3xRHrMDsHljI0GDkhYlyjwoCx5+3eCC4swi1uCoZQhskuJkj7Gp57Bw==",
"dev": true,
"requires": {
"fast-deep-equal": "^2.0.1"
@@ -48214,9 +51231,9 @@
"dev": true
},
"rfdc": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz",
- "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==",
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz",
+ "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==",
"dev": true
},
"rgb2hex": {
@@ -48232,12 +51249,28 @@
"dev": true,
"requires": {
"glob": "^7.1.3"
+ },
+ "dependencies": {
+ "glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "dev": true,
+ "requires": {
+ "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"
+ }
+ }
}
},
"run-async": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz",
- "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/run-async/-/run-async-3.0.0.tgz",
+ "integrity": "sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q==",
"dev": true
},
"rust-result": {
@@ -48250,12 +51283,20 @@
}
},
"rxjs": {
- "version": "6.6.7",
- "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz",
- "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==",
+ "version": "7.8.1",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz",
+ "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==",
"dev": true,
"requires": {
- "tslib": "^1.9.0"
+ "tslib": "^2.1.0"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "2.6.3",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz",
+ "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==",
+ "dev": true
+ }
}
},
"sade": {
@@ -48273,6 +51314,18 @@
"integrity": "sha512-4R309+gWflJktzPXBQCobbWEHlzC4aK3a+Ov3tz2Ib2aBxiwd11phkdIBH1l0EO22x24CJMUQkpKFumRriCSRg==",
"dev": true
},
+ "safe-array-concat": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz",
+ "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.7",
+ "get-intrinsic": "^1.2.4",
+ "has-symbols": "^1.0.3",
+ "isarray": "^2.0.5"
+ }
+ },
"safe-buffer": {
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
@@ -48294,13 +51347,13 @@
}
},
"safe-regex-test": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz",
- "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz",
+ "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==",
"dev": true,
"requires": {
- "call-bind": "^1.0.2",
- "get-intrinsic": "^1.1.3",
+ "call-bind": "^1.0.6",
+ "es-errors": "^1.3.0",
"is-regex": "^1.1.4"
}
},
@@ -48519,15 +51572,28 @@
"dev": true
},
"set-function-length": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.0.tgz",
- "integrity": "sha512-4DBHDoyHlM1IRPGYcoxexgh67y4ueR53FKV1yyxwFMY7aCqcN/38M1+SwZ/qJQ8iLv7+ck385ot4CcisOAPT9w==",
+ "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==",
"requires": {
- "define-data-property": "^1.1.1",
+ "define-data-property": "^1.1.4",
+ "es-errors": "^1.3.0",
"function-bind": "^1.1.2",
- "get-intrinsic": "^1.2.2",
+ "get-intrinsic": "^1.2.4",
"gopd": "^1.0.1",
- "has-property-descriptors": "^1.0.1"
+ "has-property-descriptors": "^1.0.2"
+ }
+ },
+ "set-function-name": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz",
+ "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==",
+ "dev": true,
+ "requires": {
+ "define-data-property": "^1.1.4",
+ "es-errors": "^1.3.0",
+ "functions-have-names": "^1.2.3",
+ "has-property-descriptors": "^1.0.2"
}
},
"set-value": {
@@ -48595,13 +51661,14 @@
"dev": true
},
"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==",
"requires": {
- "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"
}
},
"signal-exit": {
@@ -48634,14 +51701,14 @@
}
},
"sirv": {
- "version": "1.0.19",
- "resolved": "https://registry.npmjs.org/sirv/-/sirv-1.0.19.tgz",
- "integrity": "sha512-JuLThK3TnZG1TAKDwNIqNq6QA2afLOCcm+iE8D1Kj3GA40pSPsxQjjJl0J8X3tsR7T+CP1GavpzLwYkgVLWrZQ==",
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.4.tgz",
+ "integrity": "sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==",
"dev": true,
"requires": {
- "@polka/url": "^1.0.0-next.20",
- "mrmime": "^1.0.0",
- "totalist": "^1.0.0"
+ "@polka/url": "^1.0.0-next.24",
+ "mrmime": "^2.0.0",
+ "totalist": "^3.0.0"
}
},
"slash": {
@@ -48736,61 +51803,14 @@
"is-extendable": "^0.1.0"
}
},
- "is-accessor-descriptor": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
- "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==",
- "dev": true,
- "requires": {
- "kind-of": "^3.0.2"
- },
- "dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
- "dev": true,
- "requires": {
- "is-buffer": "^1.1.5"
- }
- }
- }
- },
- "is-buffer": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
- "dev": true
- },
- "is-data-descriptor": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
- "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==",
- "dev": true,
- "requires": {
- "kind-of": "^3.0.2"
- },
- "dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
- "dev": true,
- "requires": {
- "is-buffer": "^1.1.5"
- }
- }
- }
- },
"is-descriptor": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
- "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz",
+ "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==",
"dev": true,
"requires": {
- "is-accessor-descriptor": "^0.1.6",
- "is-data-descriptor": "^0.1.4",
- "kind-of": "^5.0.0"
+ "is-accessor-descriptor": "^1.0.1",
+ "is-data-descriptor": "^1.0.1"
}
},
"is-extendable": {
@@ -48869,32 +51889,34 @@
}
},
"socket.io": {
- "version": "4.6.1",
- "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.6.1.tgz",
- "integrity": "sha512-KMcaAi4l/8+xEjkRICl6ak8ySoxsYG+gG6/XfRCPJPQ/haCRIJBTL4wIl8YCsmtaBovcAXGLOShyVWQ/FG8GZA==",
+ "version": "4.7.5",
+ "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.7.5.tgz",
+ "integrity": "sha512-DmeAkF6cwM9jSfmp6Dr/5/mfMwb5Z5qRrSXLpo3Fq5SqyU8CMF15jIN4ZhfSwu35ksM1qmHZDQ/DK5XTccSTvA==",
"dev": true,
"requires": {
"accepts": "~1.3.4",
"base64id": "~2.0.0",
+ "cors": "~2.8.5",
"debug": "~4.3.2",
- "engine.io": "~6.4.1",
+ "engine.io": "~6.5.2",
"socket.io-adapter": "~2.5.2",
- "socket.io-parser": "~4.2.1"
+ "socket.io-parser": "~4.2.4"
}
},
"socket.io-adapter": {
- "version": "2.5.2",
- "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.2.tgz",
- "integrity": "sha512-87C3LO/NOMc+eMcpcxUBebGjkpMDkNBS9tf7KJqcDsmL936EChtVva71Dw2q4tQcuVC+hAUy4an2NO/sYXmwRA==",
+ "version": "2.5.4",
+ "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.4.tgz",
+ "integrity": "sha512-wDNHGXGewWAjQPt3pyeYBtpWSq9cLE5UW1ZUPL/2eGK9jtse/FpXib7epSTsz0Q0m+6sg6Y4KtcFTlah1bdOVg==",
"dev": true,
"requires": {
+ "debug": "~4.3.4",
"ws": "~8.11.0"
}
},
"socket.io-parser": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.3.tgz",
- "integrity": "sha512-JMafRntWVO2DCJimKsRTh/wnqVvO4hrfwOqtO7f+uzwsQMuxO6VwImtYxaQ+ieoyshWOTJyV0fA21lccEXRPpQ==",
+ "version": "4.2.4",
+ "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz",
+ "integrity": "sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==",
"dev": true,
"requires": {
"@socket.io/component-emitter": "~3.1.0",
@@ -48902,38 +51924,30 @@
}
},
"socks": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz",
- "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==",
+ "version": "2.8.3",
+ "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.3.tgz",
+ "integrity": "sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==",
"dev": true,
"requires": {
- "ip": "^2.0.0",
+ "ip-address": "^9.0.5",
"smart-buffer": "^4.2.0"
- },
- "dependencies": {
- "ip": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.1.tgz",
- "integrity": "sha512-lJUL9imLTNi1ZfXT+DU6rBBdbiKGBuay9B6xGSPVjUeQwaH1RIGqef8RZkUtHioLmSNpPR5M4HVKJGm1j8FWVQ==",
- "dev": true
- }
}
},
"socks-proxy-agent": {
- "version": "8.0.2",
- "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.2.tgz",
- "integrity": "sha512-8zuqoLv1aP/66PHF5TqwJ7Czm3Yv32urJQHrVyhD7mmA6d61Zv8cIXQYPTWwmg6qlupnPvs/QKDmfa4P/qct2g==",
+ "version": "8.0.3",
+ "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.3.tgz",
+ "integrity": "sha512-VNegTZKhuGq5vSD6XNKlbqWhyt/40CgoEw8XxD6dhnm8Jq9IEa3nIa4HwnM8XOqU0CdB0BwWVXusqiFXfHB3+A==",
"dev": true,
"requires": {
- "agent-base": "^7.0.2",
+ "agent-base": "^7.1.1",
"debug": "^4.3.4",
"socks": "^2.7.1"
},
"dependencies": {
"agent-base": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz",
- "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==",
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz",
+ "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==",
"dev": true,
"requires": {
"debug": "^4.3.4"
@@ -48954,9 +51968,9 @@
"dev": true
},
"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==",
"dev": true,
"optional": true
},
@@ -48985,17 +51999,16 @@
"integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==",
"dev": true
},
- "sourcemap-codec": {
- "version": "1.4.8",
- "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
- "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==",
- "dev": true,
- "optional": true
- },
"space-separated-tokens": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.1.tgz",
- "integrity": "sha512-ekwEbFp5aqSPKaqeY1PGrlGQxPNaq+Cnx4+bE2D8sciBQrHpbwoBbawqTN2+6jPs9IdWxxiUcN0K2pkczD3zmw==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz",
+ "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==",
+ "dev": true
+ },
+ "spacetrim": {
+ "version": "0.11.25",
+ "resolved": "https://registry.npmjs.org/spacetrim/-/spacetrim-0.11.25.tgz",
+ "integrity": "sha512-SWxXDROciuJs9YEYXUBjot5k/cqNGPPbT3QmkInFne4AGc1y+76It+jqU8rfsXKt57RRiunzZn1m9+KfuuNklw==",
"dev": true
},
"sparkles": {
@@ -49005,9 +52018,9 @@
"dev": true
},
"spdx-correct": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz",
- "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz",
+ "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==",
"dev": true,
"requires": {
"spdx-expression-parse": "^3.0.0",
@@ -49015,9 +52028,9 @@
}
},
"spdx-exceptions": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz",
- "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==",
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz",
+ "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==",
"dev": true
},
"spdx-expression-parse": {
@@ -49031,9 +52044,9 @@
}
},
"spdx-license-ids": {
- "version": "3.0.12",
- "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz",
- "integrity": "sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==",
+ "version": "3.0.18",
+ "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.18.tgz",
+ "integrity": "sha512-xxRs31BqRYHwiMzudOrpSiHtZ8i/GeionCBDSilhYRj+9gIcI8wCZTlXZKu9vZIVqViP3dcp9qE5G6AlIaD+TQ==",
"dev": true
},
"split": {
@@ -49078,9 +52091,9 @@
"integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g=="
},
"sshpk": {
- "version": "1.17.0",
- "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz",
- "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==",
+ "version": "1.18.0",
+ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.18.0.tgz",
+ "integrity": "sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==",
"dev": true,
"requires": {
"asn1": "~0.2.3",
@@ -49092,6 +52105,14 @@
"jsbn": "~0.1.0",
"safer-buffer": "^2.0.2",
"tweetnacl": "~0.14.0"
+ },
+ "dependencies": {
+ "jsbn": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
+ "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==",
+ "dev": true
+ }
}
},
"stack-trace": {
@@ -49136,61 +52157,14 @@
"is-descriptor": "^0.1.0"
}
},
- "is-accessor-descriptor": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
- "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==",
- "dev": true,
- "requires": {
- "kind-of": "^3.0.2"
- },
- "dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
- "dev": true,
- "requires": {
- "is-buffer": "^1.1.5"
- }
- }
- }
- },
- "is-buffer": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
- "dev": true
- },
- "is-data-descriptor": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
- "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==",
- "dev": true,
- "requires": {
- "kind-of": "^3.0.2"
- },
- "dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
- "dev": true,
- "requires": {
- "is-buffer": "^1.1.5"
- }
- }
- }
- },
"is-descriptor": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
- "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz",
+ "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==",
"dev": true,
"requires": {
- "is-accessor-descriptor": "^0.1.6",
- "is-data-descriptor": "^0.1.4",
- "kind-of": "^5.0.0"
+ "is-accessor-descriptor": "^1.0.1",
+ "is-data-descriptor": "^1.0.1"
}
}
}
@@ -49200,6 +52174,15 @@
"resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
"integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ=="
},
+ "stop-iteration-iterator": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz",
+ "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==",
+ "dev": true,
+ "requires": {
+ "internal-slot": "^1.0.4"
+ }
+ },
"stream-buffers": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/stream-buffers/-/stream-buffers-3.0.2.tgz",
@@ -49222,15 +52205,15 @@
"dev": true
},
"stream-shift": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz",
- "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.3.tgz",
+ "integrity": "sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==",
"dev": true
},
"streamroller": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-3.1.3.tgz",
- "integrity": "sha512-CphIJyFx2SALGHeINanjFRKQ4l7x2c+rXYJ4BMq0gd+ZK0gi4VT8b+eHe2wi58x4UayBAKx4xtHpXT/ea1cz8w==",
+ "version": "3.1.5",
+ "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-3.1.5.tgz",
+ "integrity": "sha512-KFxaM7XT+irxvdqSP1LGLgNWbYN7ay5owZ3r/8t77p+EtSUAfUgtl7be3xtqtOmGUl9K9YPO2ca8133RlTjvKw==",
"dev": true,
"requires": {
"date-format": "^4.0.14",
@@ -49267,13 +52250,15 @@
}
},
"streamx": {
- "version": "2.15.6",
- "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.15.6.tgz",
- "integrity": "sha512-q+vQL4AAz+FdfT137VF69Cc/APqUbxy+MDOImRrMvchJpigHj9GksgDU2LYbO9rx7RX6osWgxJB2WxhYv4SZAw==",
+ "version": "2.18.0",
+ "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.18.0.tgz",
+ "integrity": "sha512-LLUC1TWdjVdn1weXGcSxyTR3T4+acB6tVGXT95y0nGbca4t4o/ng1wKAGTljm9VicuCVLvRlqFYXYy5GwgM7sQ==",
"dev": true,
"requires": {
- "fast-fifo": "^1.1.0",
- "queue-tick": "^1.0.1"
+ "bare-events": "^2.2.0",
+ "fast-fifo": "^1.3.2",
+ "queue-tick": "^1.0.1",
+ "text-decoder": "^1.1.0"
}
},
"strict-event-emitter": {
@@ -49312,6 +52297,17 @@
"emoji-regex": "^8.0.0",
"is-fullwidth-code-point": "^3.0.0",
"strip-ansi": "^6.0.1"
+ },
+ "dependencies": {
+ "strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^5.0.1"
+ }
+ }
}
},
"string-width-cjs": {
@@ -49323,34 +52319,57 @@
"emoji-regex": "^8.0.0",
"is-fullwidth-code-point": "^3.0.0",
"strip-ansi": "^6.0.1"
+ },
+ "dependencies": {
+ "strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^5.0.1"
+ }
+ }
+ }
+ },
+ "string.prototype.trim": {
+ "version": "1.2.9",
+ "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz",
+ "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.0",
+ "es-object-atoms": "^1.0.0"
}
},
"string.prototype.trimend": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz",
- "integrity": "sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==",
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz",
+ "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==",
"dev": true,
"requires": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.19.5"
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1",
+ "es-object-atoms": "^1.0.0"
}
},
"string.prototype.trimstart": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz",
- "integrity": "sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==",
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz",
+ "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==",
"dev": true,
"requires": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.19.5"
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1",
+ "es-object-atoms": "^1.0.0"
}
},
"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==",
"dev": true,
"requires": {
"character-entities-html4": "^2.0.0",
@@ -49358,12 +52377,20 @@
}
},
"strip-ansi": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
+ "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
"dev": true,
"requires": {
- "ansi-regex": "^5.0.1"
+ "ansi-regex": "^6.0.1"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz",
+ "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==",
+ "dev": true
+ }
}
},
"strip-ansi-cjs": {
@@ -49400,9 +52427,9 @@
"dev": true
},
"strip-json-comments": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-5.0.0.tgz",
- "integrity": "sha512-V1LGY4UUo0jgwC+ELQ2BNWfPa17TIuwBLg+j1AA/9RPzKINl1lhxVEu2r+ZTTO8aetIsUzE5Qj6LMSBkoGYKKw==",
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-5.0.1.tgz",
+ "integrity": "sha512-0fk9zBqO67Nq5M/m45qHCJxylV/DhBlIOVExqgOMiCCrzrhU6tCibRXNqE3jwJLftzE9SNuZtYbpzcO+i9FiKw==",
"dev": true
},
"supports-color": {
@@ -49429,9 +52456,9 @@
}
},
"table": {
- "version": "6.8.0",
- "resolved": "https://registry.npmjs.org/table/-/table-6.8.0.tgz",
- "integrity": "sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA==",
+ "version": "6.8.2",
+ "resolved": "https://registry.npmjs.org/table/-/table-6.8.2.tgz",
+ "integrity": "sha512-w2sfv80nrAh2VCbqR5AK27wswXhqcck2AhfnNW76beQXskGZ1V12GwS//yYVa3d3fcvAip2OUnbDAjW2k3v9fA==",
"dev": true,
"requires": {
"ajv": "^8.0.1",
@@ -49442,15 +52469,15 @@
},
"dependencies": {
"ajv": {
- "version": "8.11.0",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz",
- "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==",
+ "version": "8.16.0",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.16.0.tgz",
+ "integrity": "sha512-F0twR8U1ZU67JIEtekUcLkXkoO5mMMmgGD8sK/xUFzJ805jxHQl92hImFAqqXMyMYjSPOyUPAwHYhB72g5sTXw==",
"dev": true,
"requires": {
- "fast-deep-equal": "^3.1.1",
+ "fast-deep-equal": "^3.1.3",
"json-schema-traverse": "^1.0.0",
"require-from-string": "^2.0.2",
- "uri-js": "^4.2.2"
+ "uri-js": "^4.4.1"
}
},
"json-schema-traverse": {
@@ -49458,6 +52485,15 @@
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
"integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
"dev": true
+ },
+ "strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^5.0.1"
+ }
}
}
},
@@ -49468,41 +52504,25 @@
"dev": true
},
"tar-fs": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz",
- "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==",
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.4.tgz",
+ "integrity": "sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w==",
"dev": true,
"requires": {
- "chownr": "^1.1.1",
"mkdirp-classic": "^0.5.2",
"pump": "^3.0.0",
- "tar-stream": "^2.1.4"
+ "tar-stream": "^3.1.5"
}
},
"tar-stream": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz",
- "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==",
+ "version": "3.1.7",
+ "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz",
+ "integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==",
"dev": true,
"requires": {
- "bl": "^4.0.3",
- "end-of-stream": "^1.4.1",
- "fs-constants": "^1.0.0",
- "inherits": "^2.0.3",
- "readable-stream": "^3.1.1"
- },
- "dependencies": {
- "readable-stream": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
- "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
- "dev": true,
- "requires": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- }
- }
+ "b4a": "^1.6.4",
+ "fast-fifo": "^1.2.0",
+ "streamx": "^2.15.0"
}
},
"temp-fs": {
@@ -49514,6 +52534,20 @@
"rimraf": "~2.5.2"
},
"dependencies": {
+ "glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "dev": true,
+ "requires": {
+ "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"
+ }
+ },
"rimraf": {
"version": "2.5.4",
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.5.4.tgz",
@@ -49550,21 +52584,21 @@
}
},
"terser": {
- "version": "5.15.1",
- "resolved": "https://registry.npmjs.org/terser/-/terser-5.15.1.tgz",
- "integrity": "sha512-K1faMUvpm/FBxjBXud0LWVAGxmvoPbZbfTCYbSgaaYQaIXI3/TdI7a7ZGA73Zrou6Q8Zmz3oeUTsp/dj+ag2Xw==",
+ "version": "5.31.1",
+ "resolved": "https://registry.npmjs.org/terser/-/terser-5.31.1.tgz",
+ "integrity": "sha512-37upzU1+viGvuFtBo9NPufCb9dwM0+l9hMxYyWfBA+fbwrPqNJAhbZ6W47bBFnZHKHTUBnMvi87434qq+qnxOg==",
"dev": true,
"requires": {
- "@jridgewell/source-map": "^0.3.2",
- "acorn": "^8.5.0",
+ "@jridgewell/source-map": "^0.3.3",
+ "acorn": "^8.8.2",
"commander": "^2.20.0",
"source-map-support": "~0.5.20"
},
"dependencies": {
"acorn": {
- "version": "8.8.1",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz",
- "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==",
+ "version": "8.11.3",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz",
+ "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==",
"dev": true
},
"source-map": {
@@ -49586,16 +52620,16 @@
}
},
"terser-webpack-plugin": {
- "version": "5.3.6",
- "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.6.tgz",
- "integrity": "sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ==",
+ "version": "5.3.10",
+ "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz",
+ "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==",
"dev": true,
"requires": {
- "@jridgewell/trace-mapping": "^0.3.14",
+ "@jridgewell/trace-mapping": "^0.3.20",
"jest-worker": "^27.4.5",
"schema-utils": "^3.1.1",
- "serialize-javascript": "^6.0.0",
- "terser": "^5.14.1"
+ "serialize-javascript": "^6.0.1",
+ "terser": "^5.26.0"
},
"dependencies": {
"ajv": {
@@ -49611,15 +52645,24 @@
}
},
"schema-utils": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
- "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
+ "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==",
"dev": true,
"requires": {
"@types/json-schema": "^7.0.8",
"ajv": "^6.12.5",
"ajv-keywords": "^3.5.2"
}
+ },
+ "serialize-javascript": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz",
+ "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==",
+ "dev": true,
+ "requires": {
+ "randombytes": "^2.1.0"
+ }
}
}
},
@@ -49632,6 +52675,31 @@
"@istanbuljs/schema": "^0.1.2",
"glob": "^7.1.4",
"minimatch": "^3.0.4"
+ },
+ "dependencies": {
+ "glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "dev": true,
+ "requires": {
+ "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"
+ }
+ }
+ }
+ },
+ "text-decoder": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.1.0.tgz",
+ "integrity": "sha512-TmLJNj6UgX8xcUZo4UDStGQtDiTzF7BzWlzn9g7UWrjkpHr5uJTK1ld16wZ3LXb2vb6jH8qU89dW5whuMdXYdw==",
+ "dev": true,
+ "requires": {
+ "b4a": "^1.6.4"
}
},
"text-table": {
@@ -49662,9 +52730,9 @@
},
"dependencies": {
"readable-stream": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
- "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+ "version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
+ "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
"dev": true,
"requires": {
"inherits": "^2.0.3",
@@ -49703,13 +52771,13 @@
"dev": true
},
"timers-ext": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.7.tgz",
- "integrity": "sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==",
+ "version": "0.1.8",
+ "resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.8.tgz",
+ "integrity": "sha512-wFH7+SEAcKfJpfLPkrgMPvvwnEtj8W4IurvEyrKsDleXnKLCDw71w8jltvfLa8Rm4qQxxT4jmDBYbJG/z7qoww==",
"dev": true,
"requires": {
- "es5-ext": "~0.10.46",
- "next-tick": "1"
+ "es5-ext": "^0.10.64",
+ "next-tick": "^1.1.0"
}
},
"tiny-hashes": {
@@ -49743,13 +52811,10 @@
}
},
"tmp": {
- "version": "0.0.33",
- "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
- "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
- "dev": true,
- "requires": {
- "os-tmpdir": "~1.0.2"
- }
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz",
+ "integrity": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==",
+ "dev": true
},
"to-absolute-glob": {
"version": "2.0.2",
@@ -49852,9 +52917,9 @@
"integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA=="
},
"totalist": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/totalist/-/totalist-1.1.0.tgz",
- "integrity": "sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz",
+ "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==",
"dev": true
},
"tough-cookie": {
@@ -49898,9 +52963,9 @@
"dev": true
},
"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==",
"dev": true
},
"tryit": {
@@ -49909,21 +52974,21 @@
"integrity": "sha512-6C5h3CE+0qjGp+YKYTs74xR0k/Nw/ePtl/Lp6CCf44hqBQ66qnH1sDFR5mV/Gc48EsrHLB53lCFSffQCkka3kg=="
},
"tsconfig-paths": {
- "version": "3.14.1",
- "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz",
- "integrity": "sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==",
+ "version": "3.15.0",
+ "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz",
+ "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==",
"dev": true,
"requires": {
"@types/json5": "^0.0.29",
- "json5": "^1.0.1",
+ "json5": "^1.0.2",
"minimist": "^1.2.6",
"strip-bom": "^3.0.0"
},
"dependencies": {
"json5": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
- "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
+ "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
"dev": true,
"requires": {
"minimist": "^1.2.0"
@@ -49953,9 +53018,9 @@
"dev": true
},
"type": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz",
- "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==",
+ "version": "2.7.3",
+ "resolved": "https://registry.npmjs.org/type/-/type-2.7.3.tgz",
+ "integrity": "sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==",
"dev": true
},
"type-check": {
@@ -49988,20 +53053,64 @@
"mime-types": "~2.1.24"
}
},
+ "typed-array-buffer": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz",
+ "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.7",
+ "es-errors": "^1.3.0",
+ "is-typed-array": "^1.1.13"
+ }
+ },
+ "typed-array-byte-length": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz",
+ "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==",
+ "dev": true,
+ "requires": {
+ "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": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz",
+ "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==",
+ "dev": true,
+ "requires": {
+ "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": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz",
+ "integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==",
+ "dev": true,
+ "requires": {
+ "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": {
"version": "0.0.6",
"resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
"integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==",
"dev": true
},
- "typescript": {
- "version": "4.8.4",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz",
- "integrity": "sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==",
- "dev": true,
- "optional": true,
- "peer": true
- },
"typescript-compare": {
"version": "0.0.2",
"resolved": "https://registry.npmjs.org/typescript-compare/-/typescript-compare-0.0.2.tgz",
@@ -50024,15 +53133,15 @@
}
},
"ua-parser-js": {
- "version": "0.7.33",
- "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.33.tgz",
- "integrity": "sha512-s8ax/CeZdK9R/56Sui0WM6y9OFREJarMRHqLB2EwkovemBxNQ+Bqu8GAsUnVcXKgphb++ghr/B2BZx4mahujPw==",
+ "version": "0.7.38",
+ "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.38.tgz",
+ "integrity": "sha512-fYmIy7fKTSFAhG3fuPlubeGaMoAd6r0rSnfEsO5nEY55i26KSLt9EH7PLQiiqPUhNqYIJvSkTy1oArIcXAbPbA==",
"dev": true
},
"uglify-js": {
- "version": "3.17.4",
- "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz",
- "integrity": "sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==",
+ "version": "3.18.0",
+ "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.18.0.tgz",
+ "integrity": "sha512-SyVVbcNBCk0dzr9XL/R/ySrmYf0s372K6/hFklzgcp2lBFyXtw4I7BOdDjlLhE1aVqaI/SHWXWmYdlZxuyF38A==",
"dev": true,
"optional": true
},
@@ -50117,9 +53226,9 @@
}
},
"unicode-match-property-value-ecmascript": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz",
- "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw=="
+ "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=="
},
"unicode-property-aliases-ecmascript": {
"version": "2.1.0",
@@ -50178,48 +53287,51 @@
}
},
"unist-builder": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/unist-builder/-/unist-builder-3.0.0.tgz",
- "integrity": "sha512-GFxmfEAa0vi9i5sd0R2kcrI9ks0r82NasRq5QHh2ysGngrc6GiqD5CDf1FjPenY4vApmFASBIIlk/jj5J5YbmQ==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/unist-builder/-/unist-builder-3.0.1.tgz",
+ "integrity": "sha512-gnpOw7DIpCA0vpr6NqdPvTWnlPTApCTRzr+38E6hCWx3rz/cjo83SsKIlS1Z+L5ttScQ2AwutNnb8+tAvpb6qQ==",
"dev": true,
"requires": {
"@types/unist": "^2.0.0"
}
},
"unist-util-generated": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-2.0.0.tgz",
- "integrity": "sha512-TiWE6DVtVe7Ye2QxOVW9kqybs6cZexNwTwSMVgkfjEReqy/xwGpAXb99OxktoWwmL+Z+Epb0Dn8/GNDYP1wnUw==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-2.0.1.tgz",
+ "integrity": "sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A==",
"dev": true
},
"unist-util-is": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.1.1.tgz",
- "integrity": "sha512-F5CZ68eYzuSvJjGhCLPL3cYx45IxkqXSetCcRgUXtbcm50X2L9oOWQlfUfDdAf+6Pd27YDblBfdtmsThXmwpbQ==",
- "dev": true
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.2.1.tgz",
+ "integrity": "sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==",
+ "dev": true,
+ "requires": {
+ "@types/unist": "^2.0.0"
+ }
},
"unist-util-position": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-4.0.3.tgz",
- "integrity": "sha512-p/5EMGIa1qwbXjA+QgcBXaPWjSnZfQ2Sc3yBEEfgPwsEmJd8Qh+DSk3LGnmOM4S1bY2C0AjmMnB8RuEYxpPwXQ==",
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-4.0.4.tgz",
+ "integrity": "sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==",
"dev": true,
"requires": {
"@types/unist": "^2.0.0"
}
},
"unist-util-stringify-position": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.2.tgz",
- "integrity": "sha512-7A6eiDCs9UtjcwZOcCpM4aPII3bAAGv13E96IkawkOAW0OhH+yRxtY0lzo8KiHpzEMfH7Q+FizUmwp8Iqy5EWg==",
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz",
+ "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==",
"dev": true,
"requires": {
"@types/unist": "^2.0.0"
}
},
"unist-util-visit": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.1.tgz",
- "integrity": "sha512-n9KN3WV9k4h1DxYR1LoajgN93wpEi/7ZplVe02IoB4gH5ctI1AaF2670BLHQYbwj+pY83gFtyeySFiyMHJklrg==",
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.2.tgz",
+ "integrity": "sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==",
"dev": true,
"requires": {
"@types/unist": "^2.0.0",
@@ -50228,9 +53340,9 @@
}
},
"unist-util-visit-parents": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.1.tgz",
- "integrity": "sha512-gks4baapT/kNRaWxuGkl5BIhoanZo7sC/cUT/JToSRNL1dYoXRFl75d++NkjYk4TAu2uv2Px+l8guMajogeuiw==",
+ "version": "5.1.3",
+ "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz",
+ "integrity": "sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==",
"dev": true,
"requires": {
"@types/unist": "^2.0.0",
@@ -50238,9 +53350,9 @@
}
},
"universalify": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
- "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz",
+ "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==",
"dev": true
},
"unpipe": {
@@ -50311,6 +53423,12 @@
"setimmediate": "~1.0.4"
},
"dependencies": {
+ "bluebird": {
+ "version": "3.4.7",
+ "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.4.7.tgz",
+ "integrity": "sha512-iD3898SR7sWVRHbiQv+sHUtHnMvC1o3nW5rAcqnq3uOn07DSAppZYUkIGslDz6gXC7HfunPe7YVBgoEJASPcHA==",
+ "dev": true
+ },
"duplexer2": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz",
@@ -50329,12 +53447,12 @@
"dev": true
},
"update-browserslist-db": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz",
- "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==",
+ "version": "1.0.16",
+ "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.16.tgz",
+ "integrity": "sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==",
"requires": {
- "escalade": "^3.1.1",
- "picocolors": "^1.0.0"
+ "escalade": "^3.1.2",
+ "picocolors": "^1.0.1"
}
},
"uri-js": {
@@ -50353,20 +53471,29 @@
"dev": true
},
"url": {
- "version": "0.11.0",
- "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
- "integrity": "sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ==",
+ "version": "0.11.3",
+ "resolved": "https://registry.npmjs.org/url/-/url-0.11.3.tgz",
+ "integrity": "sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw==",
"dev": true,
"requires": {
- "punycode": "1.3.2",
- "querystring": "0.2.0"
+ "punycode": "^1.4.1",
+ "qs": "^6.11.2"
},
"dependencies": {
"punycode": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
- "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==",
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
+ "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==",
"dev": true
+ },
+ "qs": {
+ "version": "6.12.1",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.12.1.tgz",
+ "integrity": "sha512-zWmv4RSuB9r2mYQw3zxQuHWeU+42aKi1wWig/j4ele4ygELZ7PEO6MM7rim9oAQH2A5MWfsAVf/jPvTPgCbvUQ==",
+ "dev": true,
+ "requires": {
+ "side-channel": "^1.0.6"
+ }
}
}
},
@@ -50422,9 +53549,9 @@
"integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA=="
},
"uuid": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
- "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
+ "version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz",
+ "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==",
"dev": true
},
"uvu": {
@@ -50440,9 +53567,9 @@
}
},
"v8-compile-cache": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz",
- "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==",
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.4.0.tgz",
+ "integrity": "sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==",
"dev": true
},
"v8flags": {
@@ -50495,9 +53622,9 @@
}
},
"vfile": {
- "version": "5.3.5",
- "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.5.tgz",
- "integrity": "sha512-U1ho2ga33eZ8y8pkbQLH54uKqGhFJ6GYIHnnG5AhRpAh3OWjkrRHKa/KogbmQn8We+c0KVV3rTOgR9V/WowbXQ==",
+ "version": "5.3.7",
+ "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz",
+ "integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==",
"dev": true,
"requires": {
"@types/unist": "^2.0.0",
@@ -50506,10 +53633,20 @@
"vfile-message": "^3.0.0"
}
},
+ "vfile-location": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-4.1.0.tgz",
+ "integrity": "sha512-YF23YMyASIIJXpktBa4vIGLJ5Gs88UB/XePgqPmTa7cDA+JeO3yclbpheQYCHjVHBn/yePzrXuygIL+xbvRYHw==",
+ "dev": true,
+ "requires": {
+ "@types/unist": "^2.0.0",
+ "vfile": "^5.0.0"
+ }
+ },
"vfile-message": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.2.tgz",
- "integrity": "sha512-QjSNP6Yxzyycd4SVOtmKKyTsSvClqBPJcd00Z0zuPj3hOIjg0rUPG6DbFGPvUKRgYyaIWLPKpuEclcuvb3H8qA==",
+ "version": "3.1.4",
+ "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz",
+ "integrity": "sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==",
"dev": true,
"requires": {
"@types/unist": "^2.0.0",
@@ -50517,25 +53654,21 @@
}
},
"vfile-reporter": {
- "version": "7.0.4",
- "resolved": "https://registry.npmjs.org/vfile-reporter/-/vfile-reporter-7.0.4.tgz",
- "integrity": "sha512-4cWalUnLrEnbeUQ+hARG5YZtaHieVK3Jp4iG5HslttkVl+MHunSGNAIrODOTLbtjWsNZJRMCkL66AhvZAYuJ9A==",
+ "version": "7.0.5",
+ "resolved": "https://registry.npmjs.org/vfile-reporter/-/vfile-reporter-7.0.5.tgz",
+ "integrity": "sha512-NdWWXkv6gcd7AZMvDomlQbK3MqFWL1RlGzMn++/O2TI+68+nqxCPTvLugdOtfSzXmjh+xUyhp07HhlrbJjT+mw==",
"dev": true,
"requires": {
"@types/supports-color": "^8.0.0",
"string-width": "^5.0.0",
"supports-color": "^9.0.0",
"unist-util-stringify-position": "^3.0.0",
+ "vfile": "^5.0.0",
+ "vfile-message": "^3.0.0",
"vfile-sort": "^3.0.0",
"vfile-statistics": "^2.0.0"
},
"dependencies": {
- "ansi-regex": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz",
- "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==",
- "dev": true
- },
"emoji-regex": {
"version": "9.2.2",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
@@ -50553,60 +53686,53 @@
"strip-ansi": "^7.0.1"
}
},
- "strip-ansi": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz",
- "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==",
- "dev": true,
- "requires": {
- "ansi-regex": "^6.0.1"
- }
- },
"supports-color": {
- "version": "9.2.3",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-9.2.3.tgz",
- "integrity": "sha512-aszYUX/DVK/ed5rFLb/dDinVJrQjG/vmU433wtqVSD800rYsJNWxh2R3USV90aLSU+UsyQkbNeffVLzc6B6foA==",
+ "version": "9.4.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-9.4.0.tgz",
+ "integrity": "sha512-VL+lNrEoIXww1coLPOmiEmK/0sGigko5COxI09KzHc2VJXJsQ37UaQ+8quuxjDeA7+KnLGTWRyOXSLLR2Wb4jw==",
"dev": true
}
}
},
"vfile-sort": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/vfile-sort/-/vfile-sort-3.0.0.tgz",
- "integrity": "sha512-fJNctnuMi3l4ikTVcKpxTbzHeCgvDhnI44amA3NVDvA6rTC6oKCFpCVyT5n2fFMr3ebfr+WVQZedOCd73rzSxg==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/vfile-sort/-/vfile-sort-3.0.1.tgz",
+ "integrity": "sha512-1os1733XY6y0D5x0ugqSeaVJm9lYgj0j5qdcZQFyxlZOSy1jYarL77lLyb5gK4Wqr1d5OxmuyflSO3zKyFnTFw==",
"dev": true,
"requires": {
+ "vfile": "^5.0.0",
"vfile-message": "^3.0.0"
}
},
"vfile-statistics": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/vfile-statistics/-/vfile-statistics-2.0.0.tgz",
- "integrity": "sha512-foOWtcnJhKN9M2+20AOTlWi2dxNfAoeNIoxD5GXcO182UJyId4QrXa41fWrgcfV3FWTjdEDy3I4cpLVcQscIMA==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/vfile-statistics/-/vfile-statistics-2.0.1.tgz",
+ "integrity": "sha512-W6dkECZmP32EG/l+dp2jCLdYzmnDBIw6jwiLZSER81oR5AHRcVqL+k3Z+pfH1R73le6ayDkJRMk0sutj1bMVeg==",
"dev": true,
"requires": {
+ "vfile": "^5.0.0",
"vfile-message": "^3.0.0"
}
},
"video.js": {
- "version": "7.20.3",
- "resolved": "https://registry.npmjs.org/video.js/-/video.js-7.20.3.tgz",
- "integrity": "sha512-JMspxaK74LdfWcv69XWhX4rILywz/eInOVPdKefpQiZJSMD5O8xXYueqACP2Q5yqKstycgmmEKlJzZ+kVmDciw==",
+ "version": "7.21.6",
+ "resolved": "https://registry.npmjs.org/video.js/-/video.js-7.21.6.tgz",
+ "integrity": "sha512-m41TbODrUCToVfK1aljVd296CwDQnCRewpIm5tTXMuV87YYSGw1H+VDOaV45HlpcWSsTWWLF++InDgGJfthfUw==",
"dev": true,
"requires": {
"@babel/runtime": "^7.12.5",
- "@videojs/http-streaming": "2.14.3",
+ "@videojs/http-streaming": "2.16.3",
"@videojs/vhs-utils": "^3.0.4",
"@videojs/xhr": "2.6.0",
"aes-decrypter": "3.1.3",
"global": "^4.4.0",
"keycode": "^2.2.0",
- "m3u8-parser": "4.7.1",
- "mpd-parser": "0.21.1",
+ "m3u8-parser": "4.8.0",
+ "mpd-parser": "0.22.1",
"mux.js": "6.0.1",
"safe-json-parse": "4.0.0",
"videojs-font": "3.2.0",
- "videojs-vtt.js": "^0.15.4"
+ "videojs-vtt.js": "^0.15.5"
},
"dependencies": {
"safe-json-parse": {
@@ -50651,19 +53777,19 @@
}
},
"videojs-playlist": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/videojs-playlist/-/videojs-playlist-5.0.0.tgz",
- "integrity": "sha512-TM9bytwKqkE05wdWPEKDpkwMGhS/VgMCIsEuNxmX1J1JO9zaTIl4Wm3egf5j1dhIw19oWrqGUV/nK0YNIelCpA==",
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/videojs-playlist/-/videojs-playlist-5.1.2.tgz",
+ "integrity": "sha512-8YgNq/iL17RLTXpfWAkuhM0Sq4w/x5YPVaNbUycjfqqGL/bp3Nrmc2W0qkPfh0ryB7r4cHfJbtHYP7zlW3ZkdQ==",
"dev": true,
"requires": {
"global": "^4.3.2",
- "video.js": "^6 || ^7"
+ "video.js": "^6 || ^7 || ^8"
}
},
"videojs-vtt.js": {
- "version": "0.15.4",
- "resolved": "https://registry.npmjs.org/videojs-vtt.js/-/videojs-vtt.js-0.15.4.tgz",
- "integrity": "sha512-r6IhM325fcLb1D6pgsMkTQT1PpFdUdYZa1iqk7wJEu+QlibBwATPfPc9Bg8Jiym0GE5yP1AG2rMLu+QMVWkYtA==",
+ "version": "0.15.5",
+ "resolved": "https://registry.npmjs.org/videojs-vtt.js/-/videojs-vtt.js-0.15.5.tgz",
+ "integrity": "sha512-yZbBxvA7QMYn15Lr/ZfhhLPrNpI/RmCSCqgIff57GC2gIrV5YfyzLfLyZMj0NnZSAz8syB4N0nHXpZg9MyrMOQ==",
"dev": true,
"requires": {
"global": "^4.3.1"
@@ -50751,6 +53877,12 @@
"vinyl": "^2.0.0"
},
"dependencies": {
+ "convert-source-map": {
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz",
+ "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==",
+ "dev": true
+ },
"normalize-path": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
@@ -50778,9 +53910,9 @@
"dev": true
},
"vue-template-compiler": {
- "version": "2.7.13",
- "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.7.13.tgz",
- "integrity": "sha512-jYM6TClwDS9YqP48gYrtAtaOhRKkbYmbzE+Q51gX5YDr777n7tNI/IZk4QV4l/PjQPNh/FVa/E92sh/RqKMrog==",
+ "version": "2.7.16",
+ "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.7.16.tgz",
+ "integrity": "sha512-AYbUWAJHLGGQM7+cNTELw+KsOG9nl2CnSv467WobS5Cv9uk3wFcnr1Etsz2sEIHEZvw1U+o9mRlEO6QbZvUPGQ==",
"dev": true,
"optional": true,
"requires": {
@@ -50866,9 +53998,9 @@
}
},
"watchpack": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz",
- "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==",
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.1.tgz",
+ "integrity": "sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==",
"dev": true,
"requires": {
"glob-to-regexp": "^0.4.1",
@@ -50884,6 +54016,12 @@
"defaults": "^1.0.3"
}
},
+ "web-namespaces": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz",
+ "integrity": "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==",
+ "dev": true
+ },
"web-streams-polyfill": {
"version": "4.0.0-beta.3",
"resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-4.0.0-beta.3.tgz",
@@ -50891,188 +54029,101 @@
"dev": true
},
"webdriver": {
- "version": "8.29.1",
- "resolved": "https://registry.npmjs.org/webdriver/-/webdriver-8.29.1.tgz",
- "integrity": "sha512-D3gkbDUxFKBJhNHRfMriWclooLbNavVQC1MRvmENAgPNKaHnFn+M+WtP9K2sEr0XczLGNlbOzT7CKR9K5UXKXA==",
+ "version": "8.38.2",
+ "resolved": "https://registry.npmjs.org/webdriver/-/webdriver-8.38.2.tgz",
+ "integrity": "sha512-NGfjW0BDYwFgOIzeojOcWGn3tYloQdvHr+Y2xKKYVqa9Rs0x1mzlTjU1kWtC4DaV8DltskwaPa7o+s8hTNpuyA==",
"dev": true,
"requires": {
"@types/node": "^20.1.0",
"@types/ws": "^8.5.3",
- "@wdio/config": "8.29.1",
- "@wdio/logger": "8.28.0",
- "@wdio/protocols": "8.24.12",
- "@wdio/types": "8.29.1",
- "@wdio/utils": "8.29.1",
+ "@wdio/config": "8.38.2",
+ "@wdio/logger": "8.38.0",
+ "@wdio/protocols": "8.38.0",
+ "@wdio/types": "8.38.2",
+ "@wdio/utils": "8.38.2",
"deepmerge-ts": "^5.1.0",
"got": "^12.6.1",
"ky": "^0.33.0",
"ws": "^8.8.0"
- },
- "dependencies": {
- "@sindresorhus/is": {
- "version": "5.6.0",
- "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-5.6.0.tgz",
- "integrity": "sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==",
- "dev": true
- },
- "@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==",
- "dev": true,
- "requires": {
- "defer-to-connect": "^2.0.1"
- }
- },
- "cacheable-lookup": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-7.0.0.tgz",
- "integrity": "sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==",
- "dev": true
- },
- "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==",
- "dev": true,
- "requires": {
- "@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"
- }
- },
- "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==",
- "dev": true
- },
- "got": {
- "version": "12.6.1",
- "resolved": "https://registry.npmjs.org/got/-/got-12.6.1.tgz",
- "integrity": "sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==",
- "dev": true,
- "requires": {
- "@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"
- }
- },
- "http2-wrapper": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-2.2.1.tgz",
- "integrity": "sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==",
- "dev": true,
- "requires": {
- "quick-lru": "^5.1.1",
- "resolve-alpn": "^1.2.0"
- }
- },
- "lowercase-keys": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-3.0.0.tgz",
- "integrity": "sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==",
- "dev": true
- },
- "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==",
- "dev": true
- },
- "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==",
- "dev": true
- },
- "p-cancelable": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-3.0.0.tgz",
- "integrity": "sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==",
- "dev": true
- },
- "responselike": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/responselike/-/responselike-3.0.0.tgz",
- "integrity": "sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==",
- "dev": true,
- "requires": {
- "lowercase-keys": "^3.0.0"
- }
- }
}
},
"webdriverio": {
- "version": "7.25.4",
- "resolved": "https://registry.npmjs.org/webdriverio/-/webdriverio-7.25.4.tgz",
- "integrity": "sha512-agkgwn2SIk5cAJ03uue1GnGZcUZUDN3W4fUMY9/VfO8bVJrPEgWg31bPguEWPu+YhEB/aBJD8ECxJ3OEKdy4qQ==",
+ "version": "7.36.0",
+ "resolved": "https://registry.npmjs.org/webdriverio/-/webdriverio-7.36.0.tgz",
+ "integrity": "sha512-OTYmKBF7eFKBX39ojUIEzw7AlE1ZRJiFoMTtEQaPMuPzZCP2jUBq6Ey38nuZrYXLkXn3/le9a14pNnKSM0n56w==",
"dev": true,
"requires": {
"@types/aria-query": "^5.0.0",
"@types/node": "^18.0.0",
- "@wdio/config": "7.25.4",
- "@wdio/logger": "7.19.0",
- "@wdio/protocols": "7.22.0",
- "@wdio/repl": "7.25.4",
- "@wdio/types": "7.25.4",
- "@wdio/utils": "7.25.4",
+ "@wdio/config": "7.33.0",
+ "@wdio/logger": "7.26.0",
+ "@wdio/protocols": "7.27.0",
+ "@wdio/repl": "7.33.0",
+ "@wdio/types": "7.33.0",
+ "@wdio/utils": "7.33.0",
"archiver": "^5.0.0",
- "aria-query": "^5.0.0",
+ "aria-query": "^5.2.1",
"css-shorthand-properties": "^1.1.1",
"css-value": "^0.0.1",
- "devtools": "7.25.4",
- "devtools-protocol": "^0.0.1061995",
- "fs-extra": "^10.0.0",
+ "devtools": "7.35.0",
+ "devtools-protocol": "^0.0.1260888",
+ "fs-extra": "^11.1.1",
"grapheme-splitter": "^1.0.2",
"lodash.clonedeep": "^4.5.0",
"lodash.isobject": "^3.0.2",
"lodash.isplainobject": "^4.0.6",
"lodash.zip": "^4.2.0",
- "minimatch": "^5.0.0",
+ "minimatch": "^6.0.4",
"puppeteer-core": "^13.1.3",
"query-selector-shadow-dom": "^1.0.0",
"resq": "^1.9.1",
"rgb2hex": "0.2.5",
"serialize-error": "^8.0.0",
- "webdriver": "7.25.4"
+ "webdriver": "7.33.0"
},
"dependencies": {
- "@types/node": {
- "version": "18.11.9",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
- "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==",
+ "@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==",
"dev": true
},
+ "@szmarczak/http-timer": {
+ "version": "4.0.6",
+ "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz",
+ "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==",
+ "dev": true,
+ "requires": {
+ "defer-to-connect": "^2.0.0"
+ }
+ },
+ "@types/node": {
+ "version": "18.19.34",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.34.tgz",
+ "integrity": "sha512-eXF4pfBNV5DAMKGbI02NnDtWrQ40hAN558/2vvS4gMpMIxaf6JmD7YjnZbq0Q9TDSSkKBamime8ewRoomHdt4g==",
+ "dev": true,
+ "requires": {
+ "undici-types": "~5.26.4"
+ }
+ },
"@wdio/config": {
- "version": "7.25.4",
- "resolved": "https://registry.npmjs.org/@wdio/config/-/config-7.25.4.tgz",
- "integrity": "sha512-vb0emDtD9FbFh/yqW6oNdo2iuhQp8XKj6GX9fyy9v4wZgg3B0HPMVJxhIfcoHz7LMBWlHSo9YdvhFI5EQHRLBA==",
+ "version": "7.33.0",
+ "resolved": "https://registry.npmjs.org/@wdio/config/-/config-7.33.0.tgz",
+ "integrity": "sha512-SaCZNKrDtBghf7ujyaxTiU4pBW+1Kms32shSoXpJ/wFop6/MiA7nb19qpUPoJtEDw5/NOKevUKz8nBMBXphiew==",
"dev": true,
"requires": {
- "@wdio/logger": "7.19.0",
- "@wdio/types": "7.25.4",
- "@wdio/utils": "7.25.4",
+ "@types/glob": "^8.1.0",
+ "@wdio/logger": "7.26.0",
+ "@wdio/types": "7.33.0",
+ "@wdio/utils": "7.33.0",
"deepmerge": "^4.0.0",
"glob": "^8.0.3"
}
},
"@wdio/logger": {
- "version": "7.19.0",
- "resolved": "https://registry.npmjs.org/@wdio/logger/-/logger-7.19.0.tgz",
- "integrity": "sha512-xR7SN/kGei1QJD1aagzxs3KMuzNxdT/7LYYx+lt6BII49+fqL/SO+5X0FDCZD0Ds93AuQvvz9eGyzrBI2FFXmQ==",
+ "version": "7.26.0",
+ "resolved": "https://registry.npmjs.org/@wdio/logger/-/logger-7.26.0.tgz",
+ "integrity": "sha512-kQj9s5JudAG9qB+zAAcYGPHVfATl2oqKgqj47yjehOQ1zzG33xmtL1ArFbQKWhDG32y1A8sN6b0pIqBEIwgg8Q==",
"dev": true,
"requires": {
"chalk": "^4.0.0",
@@ -51082,24 +54133,24 @@
}
},
"@wdio/protocols": {
- "version": "7.22.0",
- "resolved": "https://registry.npmjs.org/@wdio/protocols/-/protocols-7.22.0.tgz",
- "integrity": "sha512-8EXRR+Ymdwousm/VGtW3H1hwxZ/1g1H99A1lF0U4GuJ5cFWHCd0IVE5H31Z52i8ZruouW8jueMkGZPSo2IIUSQ==",
+ "version": "7.27.0",
+ "resolved": "https://registry.npmjs.org/@wdio/protocols/-/protocols-7.27.0.tgz",
+ "integrity": "sha512-hT/U22R5i3HhwPjkaKAG0yd59eaOaZB0eibRj2+esCImkb5Y6rg8FirrlYRxIGFVBl0+xZV0jKHzR5+o097nvg==",
"dev": true
},
"@wdio/repl": {
- "version": "7.25.4",
- "resolved": "https://registry.npmjs.org/@wdio/repl/-/repl-7.25.4.tgz",
- "integrity": "sha512-kYhj9gLsUk4HmlXLqkVre+gwbfvw9CcnrHjqIjrmMS4mR9D8zvBb5CItb3ZExfPf9jpFzIFREbCAYoE9x/kMwg==",
+ "version": "7.33.0",
+ "resolved": "https://registry.npmjs.org/@wdio/repl/-/repl-7.33.0.tgz",
+ "integrity": "sha512-17KM9NCg+UVpZNbS8koT/917vklF5M8IQnw0kGwmJEo444ifTMxmLwQymbS2ovQKAKAQxlfdM7bpqMeI15kzsQ==",
"dev": true,
"requires": {
- "@wdio/utils": "7.25.4"
+ "@wdio/utils": "7.33.0"
}
},
"@wdio/types": {
- "version": "7.25.4",
- "resolved": "https://registry.npmjs.org/@wdio/types/-/types-7.25.4.tgz",
- "integrity": "sha512-muvNmq48QZCvocctnbe0URq2FjJjUPIG4iLoeMmyF0AQgdbjaUkMkw3BHYNHVTbSOU9WMsr2z8alhj/I2H6NRQ==",
+ "version": "7.33.0",
+ "resolved": "https://registry.npmjs.org/@wdio/types/-/types-7.33.0.tgz",
+ "integrity": "sha512-tNcuN5Kl+i5CffaeTYV1omzAo4rVjiI1m9raIA8ph6iVteWdCzYv2/ImpGgFiBPb7Mf6VokU3+q9Slh5Jitaww==",
"dev": true,
"requires": {
"@types/node": "^18.0.0",
@@ -51107,13 +54158,13 @@
}
},
"@wdio/utils": {
- "version": "7.25.4",
- "resolved": "https://registry.npmjs.org/@wdio/utils/-/utils-7.25.4.tgz",
- "integrity": "sha512-8iwQDk+foUqSzKZKfhLxjlCKOkfRJPNHaezQoevNgnrTq/t0ek+ldZCATezb9B8jprAuP4mgS9xi22akc6RkzA==",
+ "version": "7.33.0",
+ "resolved": "https://registry.npmjs.org/@wdio/utils/-/utils-7.33.0.tgz",
+ "integrity": "sha512-4kQQ86EvEN6fBY5+u7M08cT6LfJtpk1rHd203xyxmbmV9lpNv/OCl4CsC+SD0jGT0aZZqYSIJ/Pil07pAh5K0g==",
"dev": true,
"requires": {
- "@wdio/logger": "7.19.0",
- "@wdio/types": "7.25.4",
+ "@wdio/logger": "7.26.0",
+ "@wdio/types": "7.33.0",
"p-iteration": "^1.1.8"
}
},
@@ -51135,6 +54186,27 @@
"balanced-match": "^1.0.0"
}
},
+ "cacheable-lookup": {
+ "version": "5.0.4",
+ "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz",
+ "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==",
+ "dev": true
+ },
+ "cacheable-request": {
+ "version": "7.0.4",
+ "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.4.tgz",
+ "integrity": "sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==",
+ "dev": true,
+ "requires": {
+ "clone-response": "^1.0.2",
+ "get-stream": "^5.1.0",
+ "http-cache-semantics": "^4.0.0",
+ "keyv": "^4.0.0",
+ "lowercase-keys": "^2.0.0",
+ "normalize-url": "^6.0.1",
+ "responselike": "^2.0.0"
+ }
+ },
"chalk": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
@@ -51160,10 +54232,30 @@
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
},
+ "fs-extra": {
+ "version": "11.2.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz",
+ "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
+ }
+ },
+ "get-stream": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
+ "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
+ "dev": true,
+ "requires": {
+ "pump": "^3.0.0"
+ }
+ },
"glob": {
- "version": "8.0.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz",
- "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==",
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz",
+ "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==",
"dev": true,
"requires": {
"fs.realpath": "^1.0.0",
@@ -51171,6 +54263,36 @@
"inherits": "2",
"minimatch": "^5.0.1",
"once": "^1.3.0"
+ },
+ "dependencies": {
+ "minimatch": {
+ "version": "5.1.6",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
+ "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
+ "dev": true,
+ "requires": {
+ "brace-expansion": "^2.0.1"
+ }
+ }
+ }
+ },
+ "got": {
+ "version": "11.8.6",
+ "resolved": "https://registry.npmjs.org/got/-/got-11.8.6.tgz",
+ "integrity": "sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==",
+ "dev": true,
+ "requires": {
+ "@sindresorhus/is": "^4.0.0",
+ "@szmarczak/http-timer": "^4.0.5",
+ "@types/cacheable-request": "^6.0.1",
+ "@types/responselike": "^1.0.0",
+ "cacheable-lookup": "^5.0.3",
+ "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"
}
},
"has-flag": {
@@ -51179,21 +54301,77 @@
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true
},
+ "http2-wrapper": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz",
+ "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==",
+ "dev": true,
+ "requires": {
+ "quick-lru": "^5.1.1",
+ "resolve-alpn": "^1.0.0"
+ }
+ },
+ "jsonfile": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
+ "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.6",
+ "universalify": "^2.0.0"
+ }
+ },
"ky": {
"version": "0.30.0",
"resolved": "https://registry.npmjs.org/ky/-/ky-0.30.0.tgz",
"integrity": "sha512-X/u76z4JtDVq10u1JA5UQfatPxgPaVDMYTrgHyiTpGN2z4TMEJkIHsoSBBSg9SWZEIXTKsi9kHgiQ9o3Y/4yog==",
"dev": true
},
+ "lowercase-keys": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz",
+ "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==",
+ "dev": true
+ },
"minimatch": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz",
- "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==",
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-6.2.0.tgz",
+ "integrity": "sha512-sauLxniAmvnhhRjFwPNnJKaPFYyddAgbYdeUpHULtCT/GhzdCx/MDNy+Y40lBxTQUrMzDE8e0S43Z5uqfO0REg==",
"dev": true,
"requires": {
"brace-expansion": "^2.0.1"
}
},
+ "normalize-url": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz",
+ "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==",
+ "dev": true
+ },
+ "p-cancelable": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz",
+ "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==",
+ "dev": true
+ },
+ "responselike": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz",
+ "integrity": "sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==",
+ "dev": true,
+ "requires": {
+ "lowercase-keys": "^2.0.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^5.0.1"
+ }
+ },
"supports-color": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
@@ -51204,17 +54382,17 @@
}
},
"webdriver": {
- "version": "7.25.4",
- "resolved": "https://registry.npmjs.org/webdriver/-/webdriver-7.25.4.tgz",
- "integrity": "sha512-6nVDwenh0bxbtUkHASz9B8T9mB531Fn1PcQjUGj2t5dolLPn6zuK1D7XYVX40hpn6r3SlYzcZnEBs4X0az5Txg==",
+ "version": "7.33.0",
+ "resolved": "https://registry.npmjs.org/webdriver/-/webdriver-7.33.0.tgz",
+ "integrity": "sha512-cyMRAVUHgQhEBHojOeNet2e8GkfyvvjpioNCPcF6qUtT+URdagr8Mh0t4Fs+Jr0tpuMqFnw70xZexAcV/6I/jg==",
"dev": true,
"requires": {
"@types/node": "^18.0.0",
- "@wdio/config": "7.25.4",
- "@wdio/logger": "7.19.0",
- "@wdio/protocols": "7.22.0",
- "@wdio/types": "7.25.4",
- "@wdio/utils": "7.25.4",
+ "@wdio/config": "7.33.0",
+ "@wdio/logger": "7.26.0",
+ "@wdio/protocols": "7.27.0",
+ "@wdio/types": "7.33.0",
+ "@wdio/utils": "7.33.0",
"got": "^11.0.2",
"ky": "0.30.0",
"lodash.merge": "^4.6.1"
@@ -51229,47 +54407,47 @@
"dev": true
},
"webpack": {
- "version": "5.76.0",
- "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.76.0.tgz",
- "integrity": "sha512-l5sOdYBDunyf72HW8dF23rFtWq/7Zgvt/9ftMof71E/yUb1YLOBmTgA2K4vQthB3kotMrSj609txVE0dnr2fjA==",
+ "version": "5.92.0",
+ "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.92.0.tgz",
+ "integrity": "sha512-Bsw2X39MYIgxouNATyVpCNVWBCuUwDgWtN78g6lSdPJRLaQ/PUVm/oXcaRAyY/sMFoKFQrsPeqvTizWtq7QPCA==",
"dev": true,
"requires": {
"@types/eslint-scope": "^3.7.3",
- "@types/estree": "^0.0.51",
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/wasm-edit": "1.11.1",
- "@webassemblyjs/wasm-parser": "1.11.1",
+ "@types/estree": "^1.0.5",
+ "@webassemblyjs/ast": "^1.12.1",
+ "@webassemblyjs/wasm-edit": "^1.12.1",
+ "@webassemblyjs/wasm-parser": "^1.12.1",
"acorn": "^8.7.1",
- "acorn-import-assertions": "^1.7.6",
- "browserslist": "^4.14.5",
+ "acorn-import-attributes": "^1.9.5",
+ "browserslist": "^4.21.10",
"chrome-trace-event": "^1.0.2",
- "enhanced-resolve": "^5.10.0",
- "es-module-lexer": "^0.9.0",
+ "enhanced-resolve": "^5.17.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",
+ "graceful-fs": "^4.2.11",
"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.1.0",
+ "schema-utils": "^3.2.0",
"tapable": "^2.1.1",
- "terser-webpack-plugin": "^5.1.3",
- "watchpack": "^2.4.0",
+ "terser-webpack-plugin": "^5.3.10",
+ "watchpack": "^2.4.1",
"webpack-sources": "^3.2.3"
},
"dependencies": {
"acorn": {
- "version": "8.8.1",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz",
- "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==",
+ "version": "8.11.3",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz",
+ "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==",
"dev": true
},
- "acorn-import-assertions": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz",
- "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==",
+ "acorn-import-attributes": {
+ "version": "1.9.5",
+ "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz",
+ "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==",
"dev": true,
"requires": {}
},
@@ -51285,10 +54463,16 @@
"uri-js": "^4.2.2"
}
},
+ "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==",
+ "dev": true
+ },
"schema-utils": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
- "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
+ "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==",
"dev": true,
"requires": {
"@types/json-schema": "^7.0.8",
@@ -51299,60 +54483,29 @@
}
},
"webpack-bundle-analyzer": {
- "version": "4.7.0",
- "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.7.0.tgz",
- "integrity": "sha512-j9b8ynpJS4K+zfO5GGwsAcQX4ZHpWV+yRiHDiL+bE0XHJ8NiPYLTNVQdlFYWxtpg9lfAQNlwJg16J9AJtFSXRg==",
+ "version": "4.10.2",
+ "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.10.2.tgz",
+ "integrity": "sha512-vJptkMm9pk5si4Bv922ZbKLV8UTT4zib4FPgXMhgzUny0bfDDkLXAVQs3ly3fS4/TN9ROFtb0NFrm04UXFE/Vw==",
"dev": true,
"requires": {
+ "@discoveryjs/json-ext": "0.5.7",
"acorn": "^8.0.4",
"acorn-walk": "^8.0.0",
- "chalk": "^4.1.0",
"commander": "^7.2.0",
+ "debounce": "^1.2.1",
+ "escape-string-regexp": "^4.0.0",
"gzip-size": "^6.0.0",
- "lodash": "^4.17.20",
+ "html-escaper": "^2.0.2",
"opener": "^1.5.2",
- "sirv": "^1.0.7",
+ "picocolors": "^1.0.0",
+ "sirv": "^2.0.3",
"ws": "^7.3.1"
},
"dependencies": {
"acorn": {
- "version": "8.8.1",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz",
- "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==",
- "dev": true
- },
- "ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "requires": {
- "color-convert": "^2.0.1"
- }
- },
- "chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "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==",
- "dev": true,
- "requires": {
- "color-name": "~1.1.4"
- }
- },
- "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==",
+ "version": "8.11.3",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz",
+ "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==",
"dev": true
},
"commander": {
@@ -51361,21 +54514,12 @@
"integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==",
"dev": true
},
- "has-flag": {
+ "escape-string-regexp": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
+ "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
"dev": true
},
- "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==",
- "dev": true,
- "requires": {
- "has-flag": "^4.0.0"
- }
- },
"ws": {
"version": "7.5.9",
"resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz",
@@ -51532,12 +54676,12 @@
}
},
"which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz",
+ "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==",
"dev": true,
"requires": {
- "isexe": "^2.0.0"
+ "isexe": "^3.1.1"
}
},
"which-boxed-primitive": {
@@ -51554,15 +54698,15 @@
}
},
"which-collection": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz",
- "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz",
+ "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==",
"dev": true,
"requires": {
- "is-map": "^2.0.1",
- "is-set": "^2.0.1",
- "is-weakmap": "^2.0.1",
- "is-weakset": "^2.0.1"
+ "is-map": "^2.0.3",
+ "is-set": "^2.0.3",
+ "is-weakmap": "^2.0.2",
+ "is-weakset": "^2.0.3"
}
},
"which-module": {
@@ -51572,23 +54716,22 @@
"dev": true
},
"which-typed-array": {
- "version": "1.1.8",
- "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.8.tgz",
- "integrity": "sha512-Jn4e5PItbcAHyLoRDwvPj1ypu27DJbtdYXUa5zsinrUx77Uvfb0cXwwnGMTn7cjUfhhqgVQnVJCwF+7cgU7tpw==",
+ "version": "1.1.15",
+ "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz",
+ "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==",
"dev": true,
"requires": {
- "available-typed-arrays": "^1.0.5",
- "call-bind": "^1.0.2",
- "es-abstract": "^1.20.0",
+ "available-typed-arrays": "^1.0.7",
+ "call-bind": "^1.0.7",
"for-each": "^0.3.3",
- "has-tostringtag": "^1.0.0",
- "is-typed-array": "^1.1.9"
+ "gopd": "^1.0.1",
+ "has-tostringtag": "^1.0.2"
}
},
"winston-transport": {
- "version": "4.6.0",
- "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.6.0.tgz",
- "integrity": "sha512-wbBA9PbPAHxKiygo7ub7BYRiKxms0tpfU2ljtWzb3SjRjv5yl6Ozuy/TkXf00HTAt+Uylo3gSkNwzc4ME0wiIg==",
+ "version": "4.7.0",
+ "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.7.0.tgz",
+ "integrity": "sha512-ajBj65K5I7denzer2IYW6+2bNIVqLGDHqDw3Ow8Ohh+vdW+rv4MZ6eiDvHoKhfJFZ2auyN8byXieDDJ96ViONg==",
"dev": true,
"requires": {
"logform": "^2.3.2",
@@ -51610,9 +54753,9 @@
}
},
"word-wrap": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.4.tgz",
- "integrity": "sha512-2V81OA4ugVo5pRo46hAoD2ivUJx8jXmWXfUkY4KFNw0hEptvN0QfH3K4nHiwzGeKl5rFKedV48QVoqYavy4YpA==",
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz",
+ "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==",
"dev": true
},
"wordwrap": {
@@ -51628,9 +54771,9 @@
"dev": true
},
"wrap-ansi": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
- "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
+ "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
"dev": true,
"requires": {
"ansi-styles": "^4.0.0",
@@ -51661,6 +54804,15 @@
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
+ },
+ "strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^5.0.1"
+ }
}
}
},
@@ -51698,6 +54850,15 @@
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
+ },
+ "strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^5.0.1"
+ }
}
}
},
@@ -51714,17 +54875,6 @@
"dev": true,
"requires": {
"mkdirp": "^0.5.1"
- },
- "dependencies": {
- "mkdirp": {
- "version": "0.5.6",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
- "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
- "dev": true,
- "requires": {
- "minimist": "^1.2.6"
- }
- }
}
},
"ws": {
@@ -51747,10 +54897,9 @@
"dev": true
},
"yallist": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
- "dev": true
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
+ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="
},
"yargs": {
"version": "1.3.3",
@@ -51782,6 +54931,12 @@
"integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
"dev": true
},
+ "decamelize": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz",
+ "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==",
+ "dev": true
+ },
"is-plain-obj": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz",
@@ -51791,36 +54946,68 @@
}
},
"yauzl": {
- "version": "2.10.0",
- "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
- "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==",
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-3.1.3.tgz",
+ "integrity": "sha512-JCCdmlJJWv7L0q/KylOekyRaUrdEoUxWkWVcgorosTROCFWiS9p2NNPE9Yb91ak7b1N5SxAZEliWpspbZccivw==",
"dev": true,
"requires": {
"buffer-crc32": "~0.2.3",
- "fd-slicer": "~1.1.0"
+ "pend": "~1.2.0"
}
},
"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==",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz",
+ "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==",
"dev": true
},
"zip-stream": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-4.1.0.tgz",
- "integrity": "sha512-zshzwQW7gG7hjpBlgeQP9RuyPGNxvJdzR8SUM3QhxCnLjWN2E7j3dOvpeDcQoETfHx0urRS7EtmVToql7YpU4A==",
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-4.1.1.tgz",
+ "integrity": "sha512-9qv4rlDiopXg4E69k+vMHjNN63YFMe9sZMrdlvKnCjlCRWeCBswPPMPUfx+ipsAWq1LXHe70RcbaHdJJpS6hyQ==",
"dev": true,
"requires": {
- "archiver-utils": "^2.1.0",
- "compress-commons": "^4.1.0",
+ "archiver-utils": "^3.0.4",
+ "compress-commons": "^4.1.2",
"readable-stream": "^3.6.0"
},
"dependencies": {
+ "archiver-utils": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-3.0.4.tgz",
+ "integrity": "sha512-KVgf4XQVrTjhyWmx6cte4RxonPLR9onExufI1jhvw/MQ4BB6IsZD5gT8Lq+u/+pRkWna/6JoHpiQioaqFP5Rzw==",
+ "dev": true,
+ "requires": {
+ "glob": "^7.2.3",
+ "graceful-fs": "^4.2.0",
+ "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",
+ "normalize-path": "^3.0.0",
+ "readable-stream": "^3.6.0"
+ }
+ },
+ "glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "dev": true,
+ "requires": {
+ "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"
+ }
+ },
"readable-stream": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
- "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+ "version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
+ "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
"dev": true,
"requires": {
"inherits": "^2.0.3",
@@ -51831,9 +55018,9 @@
}
},
"zwitch": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.2.tgz",
- "integrity": "sha512-JZxotl7SxAJH0j7dN4pxsTV6ZLXoLdGME+PsjkL/DaBrVryK9kTGq06GfKrwcSOqypP+fdXGoCHE36b99fWVoA==",
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz",
+ "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==",
"dev": true
}
}
diff --git a/package.json b/package.json
index 53211bd3e0e..43edec4be1f 100644
--- a/package.json
+++ b/package.json
@@ -1,8 +1,17 @@
{
"name": "prebid.js",
- "version": "8.52.1-pre",
+ "version": "9.0.0-pre",
"description": "Header Bidding Management Library",
- "main": "src/prebid.js",
+ "main": "src/prebid.public.js",
+ "exports": {
+ ".": "./src/prebid.public.js",
+ "./prebid.js": "./src/prebid.public.js",
+ "./prebid": "./src/prebid.public.js",
+ "./.babelrc.js": "./.babelrc.js",
+ "./babelConfig.js": "./babelConfig.js",
+ "./modules/*": "./modules/*",
+ "./modules/*.js": "./modules/*.js"
+ },
"scripts": {
"serve": "gulp serve",
"test": "gulp test",
@@ -30,10 +39,10 @@
],
"globalVarName": "pbjs",
"defineGlobal": true,
- "author": "the prebid.js contributors",
+ "author": "The prebid.js contributors",
"license": "Apache-2.0",
"engines": {
- "node": ">=12.0.0"
+ "node": ">=20.0.0"
},
"devDependencies": {
"@babel/eslint-parser": "^7.16.5",
@@ -104,6 +113,7 @@
"morgan": "^1.10.0",
"node-html-parser": "^6.1.5",
"opn": "^5.4.0",
+ "querystring": "^0.2.1",
"resolve-from": "^5.0.0",
"sinon": "^4.1.3",
"through2": "^4.0.2",
@@ -121,13 +131,12 @@
"yargs": "^1.3.1"
},
"dependencies": {
- "@babel/core": "^7.16.7",
+ "@babel/core": "^7.24.6",
"@babel/plugin-transform-runtime": "^7.18.9",
"@babel/preset-env": "^7.16.8",
"@babel/runtime": "^7.18.9",
"core-js": "^3.13.0",
"core-js-pure": "^3.13.0",
- "criteo-direct-rsa-validate": "^1.1.0",
"crypto-js": "^4.2.0",
"dlv": "1.1.3",
"dset": "3.1.2",
diff --git a/plugins/eslint/index.js b/plugins/eslint/index.js
new file mode 100644
index 00000000000..5041675f6ad
--- /dev/null
+++ b/plugins/eslint/index.js
@@ -0,0 +1,76 @@
+const _ = require('lodash');
+const { flagErrors } = require('./validateImports.js');
+
+module.exports = {
+ rules: {
+ 'no-outerText': {
+ meta: {
+ docs: {
+ description: '.outerText property on DOM elements should not be used due to performance issues'
+ },
+ messages: {
+ noInnerText: 'Use of `.outerText` is not allowed. Use `.textContent` instead.',
+ }
+ },
+ create: function(context) {
+ return {
+ MemberExpression(node) {
+ if (node.property && node.property.name === 'outerText') {
+ context.report({
+ node: node.property,
+ messageId: 'noOuterText',
+ });
+ }
+ }
+ }
+ }
+ },
+ 'no-innerText': {
+ meta: {
+ docs: {
+ description: '.innerText property on DOM elements should not be used due to performance issues'
+ },
+ messages: {
+ noInnerText: 'Use of `.innerText` is not allowed. Use `.textContent` instead.',
+ }
+ },
+ create: function(context) {
+ return {
+ MemberExpression(node) {
+ if (node.property && node.property.name === 'innerText') {
+ context.report({
+ node: node.property,
+ messageId: 'noInnerText',
+ });
+ }
+ }
+ }
+ }
+ },
+ 'validate-imports': {
+ meta: {
+ docs: {
+ description: 'validates module imports can be found without custom webpack resolvers, are in module whitelist, and not module entry points'
+ }
+ },
+ create: function(context) {
+ return {
+ "CallExpression[callee.name='require']"(node) {
+ let importPath = _.get(node, ['arguments', 0, 'value']);
+ if (importPath) {
+ flagErrors(context, node, importPath);
+ }
+ },
+ ImportDeclaration(node) {
+ let importPath = node.source.value.trim();
+ flagErrors(context, node, importPath);
+ },
+ 'ExportNamedDeclaration[source]'(node) {
+ let importPath = node.source.value.trim();
+ flagErrors(context, node, importPath);
+ }
+ }
+ }
+ }
+ }
+};
diff --git a/plugins/eslint/package.json b/plugins/eslint/package.json
index fa18ad83718..446f63945fa 100644
--- a/plugins/eslint/package.json
+++ b/plugins/eslint/package.json
@@ -2,7 +2,7 @@
"name": "eslint-plugin-prebid",
"version": "1.0.0",
"description": "validates module imports can be found without custom webpack resolvers, are in module whitelist, and not module entry points",
- "main": "validateImports.js",
+ "main": "index.js",
"author": "the prebid.js contributors",
"license": "Apache-2.0"
}
diff --git a/plugins/eslint/validateImports.js b/plugins/eslint/validateImports.js
index b936f44aee7..e38f0532238 100644
--- a/plugins/eslint/validateImports.js
+++ b/plugins/eslint/validateImports.js
@@ -53,31 +53,5 @@ function flagErrors(context, node, importPath) {
}
module.exports = {
- rules: {
- 'validate-imports': {
- meta: {
- docs: {
- description: 'validates module imports can be found without custom webpack resolvers, are in module whitelist, and not module entry points'
- }
- },
- create: function(context) {
- return {
- "CallExpression[callee.name='require']"(node) {
- let importPath = _.get(node, ['arguments', 0, 'value']);
- if (importPath) {
- flagErrors(context, node, importPath);
- }
- },
- ImportDeclaration(node) {
- let importPath = node.source.value.trim();
- flagErrors(context, node, importPath);
- },
- 'ExportNamedDeclaration[source]'(node) {
- let importPath = node.source.value.trim();
- flagErrors(context, node, importPath);
- }
- }
- }
- }
- }
-};
+ flagErrors
+}
diff --git a/src/adapters/bidderFactory.js b/src/adapters/bidderFactory.js
index dae0902d4cc..ac26883ae99 100644
--- a/src/adapters/bidderFactory.js
+++ b/src/adapters/bidderFactory.js
@@ -361,18 +361,7 @@ export function newBidder(spec) {
}
}
-// Transition from 'fledge' to 'paapi'
-// TODO: remove this in prebid 9
-const PAAPI_PROPS = ['paapi', 'fledgeAuctionConfigs'];
-const RESPONSE_PROPS = ['bids'].concat(PAAPI_PROPS);
-
-function getPaapiConfigs(adapterResponse) {
- const [paapi, fledge] = PAAPI_PROPS.map(prop => adapterResponse[prop]);
- if (paapi != null && fledge != null) {
- throw new Error(`Adapter response should use ${PAAPI_PROPS[0]} over ${PAAPI_PROPS[1]}, not both`);
- }
- return paapi ?? fledge;
-}
+const RESPONSE_PROPS = ['bids', 'paapi']
/**
* Run a set of bid requests - that entails converting them to HTTP requests, sending
@@ -443,7 +432,7 @@ export const processBidderRequests = hook('sync', function (spec, bids, bidderRe
let bids, paapiConfigs;
if (response && !Object.keys(response).some(key => !RESPONSE_PROPS.includes(key))) {
bids = response.bids;
- paapiConfigs = getPaapiConfigs(response);
+ paapiConfigs = response.paapi;
} else {
bids = response;
}
diff --git a/src/adloader.js b/src/adloader.js
index b746c59a1cc..12b552373a0 100644
--- a/src/adloader.js
+++ b/src/adloader.js
@@ -4,36 +4,38 @@ import { logError, logWarn, insertElement, setScriptAttributes } from './utils.j
const _requestCache = new WeakMap();
// The below list contains modules or vendors whom Prebid allows to load external JS.
const _approvedLoadExternalJSList = [
+ // Prebid maintained modules:
'debugging',
- 'adloox',
- 'criteo',
'outstream',
+ // Bid Modules - only exception is on rendering edge cases, to clean up in Prebid 10:
+ 'improvedigital',
+ 'showheroes-bs',
+ // RTD modules:
+ 'aaxBlockmeter',
'adagio',
- 'spotx',
+ 'adloox',
+ 'akamaidap',
+ 'arcspan',
+ 'airgrid',
'browsi',
'brandmetrics',
- 'justtag',
- 'tncId',
- 'akamaidap',
- 'ftrackId',
- 'inskin',
+ 'clean.io',
+ 'confiant',
+ 'contxtful',
'hadron',
+ 'mediafilter',
'medianet',
- 'improvedigital',
'azerionedge',
- 'aaxBlockmeter',
- 'confiant',
- 'arcspan',
- 'airgrid',
- 'clean.io',
'a1Media',
'geoedge',
- 'mediafilter',
'qortex',
'dynamicAdBoost',
- 'contxtful',
- 'id5',
'51Degrees',
+ // UserId Submodules
+ 'justtag',
+ 'tncId',
+ 'ftrackId',
+ 'id5',
];
/**
diff --git a/src/config.js b/src/config.js
index 21c34cf34d2..1fc9b4ea895 100644
--- a/src/config.js
+++ b/src/config.js
@@ -40,6 +40,8 @@ const DEFAULT_MAXBID_VALUE = 5000
const DEFAULT_TIMEOUTBUFFER = 400;
+const DEFAULT_IFRAMES_CONFIG = {};
+
export const RANDOM = 'random';
const FIXED = 'fixed';
@@ -163,7 +165,10 @@ export function newConfig() {
maxNestedIframes: DEFAULT_MAX_NESTED_IFRAMES,
// default max bid
- maxBid: DEFAULT_MAXBID_VALUE
+ maxBid: DEFAULT_MAXBID_VALUE,
+ userSync: {
+ topics: DEFAULT_IFRAMES_CONFIG
+ }
};
Object.defineProperties(newConfig,
diff --git a/src/consentHandler.js b/src/consentHandler.js
index 19137d9a422..87d1e1a6e23 100644
--- a/src/consentHandler.js
+++ b/src/consentHandler.js
@@ -10,14 +10,6 @@ import {config} from './config.js';
*/
export const VENDORLESS_GVLID = Object.freeze({});
-/**
- * Placeholder gvlid for when device.ext.cdep is present (Privacy Sandbox cookie deprecation label). When this value is used as gvlid, the gdpr
- * enforcement module will look to see that publisher consent was given.
- *
- * see https://github.com/prebid/Prebid.js/issues/10516
- */
-export const FIRST_PARTY_GVLID = Object.freeze({});
-
export class ConsentHandler {
#enabled;
#data;
@@ -108,7 +100,6 @@ class UspConsentHandler extends ConsentHandler {
const consentData = this.getConsentData();
if (consentData && this.generatedTime) {
return {
- usp: consentData,
generatedAt: this.generatedTime
};
}
diff --git a/src/fpd/enrichment.js b/src/fpd/enrichment.js
index 65c3db65974..5024a0ee184 100644
--- a/src/fpd/enrichment.js
+++ b/src/fpd/enrichment.js
@@ -33,7 +33,6 @@ export const enrichFPD = hook('sync', (fpd) => {
return GreedyPromise.all(promArr)
.then(([ortb2, sua, cdep]) => {
const ri = dep.getRefererInfo();
- mergeLegacySetConfigs(ortb2);
Object.entries(ENRICHMENTS).forEach(([section, getEnrichments]) => {
const data = getEnrichments(ortb2, ri);
if (data && Object.keys(data).length > 0) {
@@ -64,17 +63,6 @@ export const enrichFPD = hook('sync', (fpd) => {
});
});
-function mergeLegacySetConfigs(ortb2) {
- // merge in values from "legacy" setConfig({app, site, device})
- // TODO: deprecate these eventually
- ['app', 'site', 'device'].forEach(prop => {
- const cfg = config.getConfig(prop);
- if (cfg != null) {
- ortb2[prop] = mergeDeep({}, cfg, ortb2[prop]);
- }
- })
-}
-
function winFallback(fn) {
try {
return fn(dep.getWindowTop());
diff --git a/src/prebid.js b/src/prebid.js
index df8ce019ed1..4c09966482e 100644
--- a/src/prebid.js
+++ b/src/prebid.js
@@ -138,10 +138,29 @@ function validateVideoMediaType(adUnit) {
}
function validateNativeMediaType(adUnit) {
+ function err(msg) {
+ logError(`Error in adUnit "${adUnit.code}": ${msg}. Removing native request from ad unit`, adUnit);
+ delete validatedAdUnit.mediaTypes.native;
+ return validatedAdUnit;
+ }
+ function checkDeprecated(onDeprecated) {
+ for (const key of ['sendTargetingKeys', 'types']) {
+ if (native.hasOwnProperty(key)) {
+ const res = onDeprecated(key);
+ if (res) return res;
+ }
+ }
+ }
const validatedAdUnit = deepClone(adUnit);
const native = validatedAdUnit.mediaTypes.native;
// if native assets are specified in OpenRTB format, remove legacy assets and print a warn.
if (native.ortb) {
+ if (native.ortb.assets?.some(asset => !isNumber(asset.id) || asset.id < 0 || asset.id % 1 !== 0)) {
+ return err('native asset ID must be a nonnegative integer');
+ }
+ if (checkDeprecated(key => err(`ORTB native requests cannot specify "${key}"`))) {
+ return validatedAdUnit;
+ }
const legacyNativeKeys = Object.keys(NATIVE_KEYS).filter(key => NATIVE_KEYS[key].includes('hb_native_'));
const nativeKeys = Object.keys(native);
const intersection = nativeKeys.filter(nativeKey => legacyNativeKeys.includes(nativeKey));
@@ -149,6 +168,8 @@ function validateNativeMediaType(adUnit) {
logError(`when using native OpenRTB format, you cannot use legacy native properties. Deleting ${intersection} keys from request.`);
intersection.forEach(legacyKey => delete validatedAdUnit.mediaTypes.native[legacyKey]);
}
+ } else {
+ checkDeprecated(key => `mediaTypes.native.${key} is deprecated, consider using native ORTB instead`, adUnit);
}
if (native.image && native.image.sizes && !Array.isArray(native.image.sizes)) {
logError('Please use an array of sizes for native.image.sizes field. Removing invalid mediaTypes.native.image.sizes property from request.');
@@ -402,26 +423,7 @@ pbjsInstance.setTargetingForGPTAsync = function (adUnit, customSlotMatching) {
logError('window.googletag is not defined on the page');
return;
}
-
- // get our ad unit codes
- let targetingSet = targeting.getAllTargeting(adUnit);
-
- // first reset any old targeting
- targeting.resetPresetTargeting(adUnit, customSlotMatching);
-
- // now set new targeting keys
- targeting.setTargetingForGPT(targetingSet, customSlotMatching);
-
- Object.keys(targetingSet).forEach((adUnitCode) => {
- Object.keys(targetingSet[adUnitCode]).forEach((targetingKey) => {
- if (targetingKey === 'hb_adid') {
- auctionManager.setStatusForBids(targetingSet[adUnitCode][targetingKey], BID_STATUS.BID_TARGETING_SET);
- }
- });
- });
-
- // emit event
- events.emit(SET_TARGETING, targetingSet);
+ targeting.setTargetingForGPT(adUnit, customSlotMatching);
};
/**
@@ -641,7 +643,7 @@ export function executeCallbacks(fn, reqBidsConfigObj) {
}
}
-// This hook will execute all storage callbacks which were registered before gdpr enforcement hook was added. Some bidders, user id modules use storage functions when module is parsed but gdpr enforcement hook is not added at that stage as setConfig callbacks are yet to be called. Hence for such calls we execute all the stored callbacks just before requestBids. At this hook point we will know for sure that gdprEnforcement module is added or not
+// This hook will execute all storage callbacks which were registered before gdpr enforcement hook was added. Some bidders, user id modules use storage functions when module is parsed but gdpr enforcement hook is not added at that stage as setConfig callbacks are yet to be called. Hence for such calls we execute all the stored callbacks just before requestBids. At this hook point we will know for sure that tcfControl module is added or not
pbjsInstance.requestBids.before(executeCallbacks, 49);
/**
diff --git a/src/prebid.public.js b/src/prebid.public.js
new file mode 100644
index 00000000000..f05e671ac24
--- /dev/null
+++ b/src/prebid.public.js
@@ -0,0 +1 @@
+export {default} from './prebid.js';
diff --git a/src/targeting.js b/src/targeting.js
index d3fb3878248..0c4874fc50b 100644
--- a/src/targeting.js
+++ b/src/targeting.js
@@ -21,9 +21,18 @@ import {ADPOD} from './mediaTypes.js';
import {hook} from './hook.js';
import {bidderSettings} from './bidderSettings.js';
import {find, includes} from './polyfill.js';
-import { BID_STATUS, JSON_MAPPING, DEFAULT_TARGETING_KEYS, TARGETING_KEYS, NATIVE_KEYS, STATUS } from './constants.js';
+import {
+ BID_STATUS,
+ DEFAULT_TARGETING_KEYS,
+ EVENTS,
+ JSON_MAPPING,
+ NATIVE_KEYS,
+ STATUS,
+ TARGETING_KEYS
+} from './constants.js';
import {getHighestCpm, getOldestHighestCpmBid} from './utils/reducers.js';
import {getTTL} from './bidTTL.js';
+import * as events from './events.js';
var pbTargetingKeys = [];
@@ -124,6 +133,22 @@ export function sortByDealAndPriceBucketOrCpm(useCpm = false) {
}
}
+/**
+ * Return a map where each code in `adUnitCodes` maps to a list of GPT slots that match it.
+ *
+ * @param {Array} adUnitCodes
+ * @param customSlotMatching
+ * @param getSlots
+ * @return {{[p: string]: any}}
+ */
+export function getGPTSlotsForAdUnits(adUnitCodes, customSlotMatching, getSlots = () => window.googletag.pubads().getSlots()) {
+ return getSlots().reduce((auToSlots, slot) => {
+ const customMatch = isFn(customSlotMatching) && customSlotMatching(slot);
+ Object.keys(auToSlots).filter(isFn(customMatch) ? customMatch : isAdUnitCodeMatchingSlot(slot)).forEach(au => auToSlots[au].push(slot));
+ return auToSlots;
+ }, Object.fromEntries(adUnitCodes.map(au => [au, []])));
+}
+
/**
* @typedef {Object.} targeting
* @property {string} targeting_key
@@ -144,22 +169,13 @@ export function newTargeting(auctionManager) {
targeting.resetPresetTargeting = function(adUnitCode, customSlotMatching) {
if (isGptPubadsDefined()) {
const adUnitCodes = getAdUnitCodes(adUnitCode);
- const adUnits = auctionManager.getAdUnits().filter(adUnit => includes(adUnitCodes, adUnit.code));
let unsetKeys = pbTargetingKeys.reduce((reducer, key) => {
reducer[key] = null;
return reducer;
}, {});
- window.googletag.pubads().getSlots().forEach(slot => {
- let customSlotMatchingFunc = isFn(customSlotMatching) && customSlotMatching(slot);
- // reset only registered adunits
- adUnits.forEach(unit => {
- if (unit.code === slot.getAdUnitPath() ||
- unit.code === slot.getSlotElementId() ||
- (isFn(customSlotMatchingFunc) && customSlotMatchingFunc(unit.code))) {
- slot.updateTargetingFromMap(unsetKeys);
- }
- });
- });
+ Object.values(getGPTSlotsForAdUnits(adUnitCodes, customSlotMatching)).forEach((slots) => {
+ slots.forEach(slot => slot.updateTargetingFromMap(unsetKeys))
+ })
}
};
@@ -415,27 +431,39 @@ export function newTargeting(auctionManager) {
return targetingObj;
}
- /**
- * Sets targeting for DFP
- * @param {Object.>} targetingConfig
- */
- targeting.setTargetingForGPT = function(targetingConfig, customSlotMatching) {
- window.googletag.pubads().getSlots().forEach(slot => {
- Object.keys(targetingConfig).filter(customSlotMatching ? customSlotMatching(slot) : isAdUnitCodeMatchingSlot(slot))
- .forEach(targetId => {
- Object.keys(targetingConfig[targetId]).forEach(key => {
- let value = targetingConfig[targetId][key];
- if (typeof value === 'string' && value.indexOf(',') !== -1) {
- // due to the check the array will be formed only if string has ',' else plain string will be assigned as value
- value = value.split(',');
- }
- targetingConfig[targetId][key] = value;
- });
- logMessage(`Attempting to set targeting-map for slot: ${slot.getSlotElementId()} with targeting-map:`, targetingConfig[targetId]);
- slot.updateTargetingFromMap(targetingConfig[targetId])
- })
+ targeting.setTargetingForGPT = hook('sync', function (adUnit, customSlotMatching) {
+ // get our ad unit codes
+ let targetingSet = targeting.getAllTargeting(adUnit);
+
+ let resetMap = Object.fromEntries(pbTargetingKeys.map(key => [key, null]));
+
+ Object.entries(getGPTSlotsForAdUnits(Object.keys(targetingSet), customSlotMatching)).forEach(([targetId, slots]) => {
+ slots.forEach(slot => {
+ // now set new targeting keys
+ Object.keys(targetingSet[targetId]).forEach(key => {
+ let value = targetingSet[targetId][key];
+ if (typeof value === 'string' && value.indexOf(',') !== -1) {
+ // due to the check the array will be formed only if string has ',' else plain string will be assigned as value
+ value = value.split(',');
+ }
+ targetingSet[targetId][key] = value;
+ });
+ logMessage(`Attempting to set targeting-map for slot: ${slot.getSlotElementId()} with targeting-map:`, targetingSet[targetId]);
+ slot.updateTargetingFromMap(Object.assign({}, resetMap, targetingSet[targetId]))
+ })
})
- };
+
+ Object.keys(targetingSet).forEach((adUnitCode) => {
+ Object.keys(targetingSet[adUnitCode]).forEach((targetingKey) => {
+ if (targetingKey === 'hb_adid') {
+ auctionManager.setStatusForBids(targetingSet[adUnitCode][targetingKey], BID_STATUS.BID_TARGETING_SET);
+ }
+ });
+ });
+
+ // emit event
+ events.emit(EVENTS.SET_TARGETING, targetingSet);
+ }, 'setTargetingForGPT');
/**
* normlizes input to a `adUnit.code` array
diff --git a/src/userSync.js b/src/userSync.js
index 1b684de6de0..d8f2238007d 100644
--- a/src/userSync.js
+++ b/src/userSync.js
@@ -25,7 +25,7 @@ export const USERSYNC_DEFAULT_CONFIG = {
},
syncsPerBidder: 5,
syncDelay: 3000,
- auctionDelay: 0
+ auctionDelay: 500
};
// Set userSync default values
diff --git a/test/mocks/ortbConverter.js b/test/mocks/ortbConverter.js
new file mode 100644
index 00000000000..446fac4629a
--- /dev/null
+++ b/test/mocks/ortbConverter.js
@@ -0,0 +1,8 @@
+import {defaultProcessors} from '../../libraries/ortbConverter/converter.js';
+import {pbsExtensions} from '../../libraries/pbsExtensions/pbsExtensions.js';
+
+beforeEach(() => {
+ // disable caching of default processors so that tests do not freeze a subset for other tests
+ defaultProcessors.clear();
+ pbsExtensions.clear();
+});
diff --git a/test/spec/adloader_spec.js b/test/spec/adloader_spec.js
index b775ec76e9b..fcc388c2d3b 100644
--- a/test/spec/adloader_spec.js
+++ b/test/spec/adloader_spec.js
@@ -23,19 +23,19 @@ describe('adLoader', function () {
});
it('only allows whitelisted vendors to load scripts', function () {
- adLoader.loadExternalScript('someURL', 'criteo');
+ adLoader.loadExternalScript('someURL', 'debugging');
expect(utilsLogErrorStub.called).to.be.false;
expect(utilsinsertElementStub.called).to.be.true;
});
it('should not load cached script again', function() {
- adLoader.loadExternalScript('someURL', 'criteo');
+ adLoader.loadExternalScript('someURL', 'debugging');
expect(utilsinsertElementStub.called).to.be.false;
});
it('callback function can be passed to the function', function() {
let callback = function() {};
- adLoader.loadExternalScript('someURL1', 'criteo', callback);
+ adLoader.loadExternalScript('someURL1', 'debugging', callback);
expect(utilsinsertElementStub.called).to.be.true;
});
@@ -61,11 +61,11 @@ describe('adLoader', function () {
}
const doc1 = getDocSpec();
const doc2 = getDocSpec();
- adLoader.loadExternalScript('someURL', 'criteo', () => {}, doc1);
- adLoader.loadExternalScript('someURL', 'criteo', () => {}, doc1);
- adLoader.loadExternalScript('someURL', 'criteo', () => {}, doc1);
- adLoader.loadExternalScript('someURL', 'criteo', () => {}, doc2);
- adLoader.loadExternalScript('someURL', 'criteo', () => {}, doc2);
+ adLoader.loadExternalScript('someURL', 'debugging', () => {}, doc1);
+ adLoader.loadExternalScript('someURL', 'debugging', () => {}, doc1);
+ adLoader.loadExternalScript('someURL', 'debugging', () => {}, doc1);
+ adLoader.loadExternalScript('someURL', 'debugging', () => {}, doc2);
+ adLoader.loadExternalScript('someURL', 'debugging', () => {}, doc2);
expect(utilsinsertElementStub.callCount).to.equal(2);
});
});
@@ -88,7 +88,7 @@ describe('adLoader', function () {
}
},
attrs = {'z': 'A', 'y': 2};
- let script = adLoader.loadExternalScript('someUrl', 'criteo', undefined, doc, attrs);
+ let script = adLoader.loadExternalScript('someUrl', 'debugging', undefined, doc, attrs);
expect(script.z).to.equal('A');
expect(script.y).to.equal(2);
});
diff --git a/test/spec/fpd/enrichment_spec.js b/test/spec/fpd/enrichment_spec.js
index 80ee0dd6cd2..7fa9075e802 100644
--- a/test/spec/fpd/enrichment_spec.js
+++ b/test/spec/fpd/enrichment_spec.js
@@ -147,26 +147,6 @@ describe('FPD enrichment', () => {
expect(ortb2.site.publisher.domain).to.eql('pub.com');
});
});
-
- it('respects config set through setConfig({site})', () => {
- sandbox.stub(dep, 'getRefererInfo').callsFake(() => ({
- page: 'www.example.com',
- ref: 'referrer.com',
- }));
- config.setConfig({
- site: {
- ref: 'override.com',
- priority: 'lower'
- }
- });
- return fpd({site: {priority: 'highest'}}).then(ortb2 => {
- sinon.assert.match(ortb2.site, {
- page: 'www.example.com',
- ref: 'override.com',
- priority: 'highest'
- })
- })
- })
});
describe('device', () => {
@@ -214,44 +194,9 @@ describe('FPD enrichment', () => {
expect(ortb2.device.language).to.eql('lang');
})
});
-
- it('respects setConfig({device})', () => {
- win.navigator.userAgent = 'ua';
- win.navigator.language = 'lang';
- config.setConfig({
- device: {
- language: 'override',
- priority: 'lower'
- }
- });
- return fpd({device: {priority: 'highest'}}).then(ortb2 => {
- sinon.assert.match(ortb2.device, {
- language: 'override',
- priority: 'highest',
- ua: 'ua'
- })
- })
- });
});
});
- describe('app', () => {
- it('respects setConfig({app})', () => {
- config.setConfig({
- app: {
- priority: 'lower',
- prop: 'value'
- }
- });
- return fpd({app: {priority: 'highest'}}).then(ortb2 => {
- sinon.assert.match(ortb2.app, {
- priority: 'highest',
- prop: 'value'
- })
- })
- })
- })
-
describe('regs', () => {
describe('gpc', () => {
let win;
diff --git a/test/spec/fpd/gdpr_spec.js b/test/spec/fpd/gdpr_spec.js
index 8fc04815112..68303657939 100644
--- a/test/spec/fpd/gdpr_spec.js
+++ b/test/spec/fpd/gdpr_spec.js
@@ -1,5 +1,5 @@
import {gdprDataHandler} from '../../../src/adapterManager.js';
-import {enrichFPDHook} from '../../../modules/consentManagement.js';
+import {enrichFPDHook} from '../../../modules/consentManagementTcf.js';
describe('GDPR FPD enrichment', () => {
let sandbox, consent;
diff --git a/test/spec/fpd/oneClient.js b/test/spec/fpd/oneClient_spec.js
similarity index 100%
rename from test/spec/fpd/oneClient.js
rename to test/spec/fpd/oneClient_spec.js
diff --git a/test/spec/modules/33acrossBidAdapter_spec.js b/test/spec/modules/33acrossBidAdapter_spec.js
index 936e7cee074..35c8e31ecfe 100644
--- a/test/spec/modules/33acrossBidAdapter_spec.js
+++ b/test/spec/modules/33acrossBidAdapter_spec.js
@@ -1539,7 +1539,6 @@ describe('33acrossBidAdapter:', function () {
.withProduct('instream')
.build();
- ttxRequest.imp[0].video.plcmt = 1;
ttxRequest.imp[0].video.startdelay = 0;
const serverRequest = new ServerRequestBuilder()
@@ -1558,7 +1557,7 @@ describe('33acrossBidAdapter:', function () {
);
const ttxRequest = new TtxRequestBuilder()
- .withVideo({startdelay: -2, plcmt: 1})
+ .withVideo({startdelay: -2})
.withProduct('instream')
.build();
@@ -1567,36 +1566,8 @@ describe('33acrossBidAdapter:', function () {
expect(JSON.parse(builtServerRequest.data)).to.deep.equal(ttxRequest);
});
- it('overrides the placement value', function() {
- const bidRequests = (
- new BidRequestsBuilder()
- .withVideo({
- plcmt: 2, // Incorrect placement value for an instream video
- placement: 2, // Placement specified in the DEPRECATED field.
- context: 'instream'
- })
- .build()
- );
-
- const ttxRequest = new TtxRequestBuilder()
- .withVideo()
- .withProduct('instream')
- .build();
-
- ttxRequest.imp[0].video.plcmt = 1;
- ttxRequest.imp[0].video.placement = 1;
- ttxRequest.imp[0].video.startdelay = 0;
-
- const serverRequest = new ServerRequestBuilder()
- .withData(ttxRequest)
- .build();
- const [ builtServerRequest ] = spec.buildRequests(bidRequests, bidderRequest);
-
- expect(JSON.parse(builtServerRequest.data)).to.deep.equal(ttxRequest);
- });
-
context('when the placement is still specified in the DEPRECATED `placement` field', function() {
- it('overwrites its value and sets it in the recent `plcmt` field as well', function() {
+ it('does not overwrite its value and does not set it in the recent `plcmt` field as well', function() {
const bidRequests = (
new BidRequestsBuilder()
.withVideo({
@@ -1611,8 +1582,7 @@ describe('33acrossBidAdapter:', function () {
.withProduct('instream')
.build();
- ttxRequest.imp[0].video.plcmt = 1;
- ttxRequest.imp[0].video.placement = 1;
+ ttxRequest.imp[0].video.placement = 2;
ttxRequest.imp[0].video.startdelay = 0;
const serverRequest = new ServerRequestBuilder()
diff --git a/test/spec/modules/33acrossIdSystem_spec.js b/test/spec/modules/33acrossIdSystem_spec.js
index 2454d790f90..6ec3554d353 100644
--- a/test/spec/modules/33acrossIdSystem_spec.js
+++ b/test/spec/modules/33acrossIdSystem_spec.js
@@ -53,27 +53,149 @@ describe('33acrossIdSystem', () => {
expect(completeCallback.calledOnceWithExactly('foo')).to.be.true;
});
- context('if the use of a first-party ID has been enabled', () => {
- context('and the response includes a first-party ID', () => {
- context('and the enabled storage types include "cookie"', () => {
- it('should store the provided first-party ID in a cookie', () => {
+ const additionalOptions = {
+ 'by an option': { storeFpid: true, storeTpid: true },
+ 'by default': { } // No storeFpid, default value should be true
+ };
+
+ Object.entries(additionalOptions).forEach(([caseTitle, opts]) => {
+ context(`if the use of a first-party ID has been enabled ${caseTitle}`, () => {
+ context('and the response includes a first-party ID', () => {
+ context('and the enabled storage types include "cookie"', () => {
+ it('should store the provided first-party ID in a cookie', () => {
+ const completeCallback = () => {};
+
+ const { callback } = thirthyThreeAcrossIdSubmodule.getId({
+ params: {
+ pid: '12345',
+ ...opts
+ },
+ enabledStorageTypes: [ 'cookie' ],
+ storage: { expires: 30 }
+ });
+
+ callback(completeCallback);
+
+ const [request] = server.requests;
+
+ const setCookie = sinon.stub(storage, 'setCookie');
+ sinon.stub(domainUtils, 'domainOverride').returns('foo.com');
+
+ request.respond(200, {
+ 'Content-Type': 'application/json'
+ }, JSON.stringify({
+ succeeded: true,
+ data: {
+ envelope: 'foo',
+ fp: 'bar'
+ },
+ expires: 1645667805067
+ }));
+
+ expect(setCookie.calledWithExactly('33acrossIdFp', 'bar', sinon.match.string, 'Lax', 'foo.com')).to.be.true;
+
+ setCookie.restore();
+ domainUtils.domainOverride.restore();
+ });
+ });
+
+ context('and the enabled storage types include "html5"', () => {
+ it('should store the provided first-party ID in local storage', () => {
+ const completeCallback = () => {};
+
+ const { callback } = thirthyThreeAcrossIdSubmodule.getId({
+ params: {
+ pid: '12345',
+ ...opts
+ },
+ enabledStorageTypes: [ 'html5' ],
+ storage: {}
+ });
+
+ callback(completeCallback);
+
+ const [request] = server.requests;
+
+ const setDataInLocalStorage = sinon.stub(storage, 'setDataInLocalStorage');
+
+ request.respond(200, {
+ 'Content-Type': 'application/json'
+ }, JSON.stringify({
+ succeeded: true,
+ data: {
+ envelope: 'foo',
+ fp: 'bar'
+ },
+ expires: 1645667805067
+ }));
+
+ expect(setDataInLocalStorage.calledWithExactly('33acrossIdFp', 'bar')).to.be.true;
+
+ setDataInLocalStorage.restore();
+ });
+ });
+
+ context('and the enabled storage types are "cookie" and "html5"', () => {
+ it('should store the provided first-party ID in each storage type', () => {
+ const completeCallback = () => {};
+
+ const { callback } = thirthyThreeAcrossIdSubmodule.getId({
+ params: {
+ pid: '12345',
+ ...opts
+ },
+ enabledStorageTypes: [ 'cookie', 'html5' ],
+ storage: {}
+ });
+
+ callback(completeCallback);
+
+ const [request] = server.requests;
+
+ const setCookie = sinon.stub(storage, 'setCookie');
+ sinon.stub(domainUtils, 'domainOverride').returns('foo.com');
+ const setDataInLocalStorage = sinon.stub(storage, 'setDataInLocalStorage');
+
+ request.respond(200, {
+ 'Content-Type': 'application/json'
+ }, JSON.stringify({
+ succeeded: true,
+ data: {
+ envelope: 'foo',
+ fp: 'bar'
+ },
+ expires: 1645667805067
+ }));
+
+ expect(setCookie.calledWithExactly('33acrossIdFp', 'bar', sinon.match.string, 'Lax', 'foo.com')).to.be.true;
+ expect(setDataInLocalStorage.calledWithExactly('33acrossIdFp', 'bar')).to.be.true;
+
+ setCookie.restore();
+ domainUtils.domainOverride.restore();
+ setDataInLocalStorage.restore();
+ });
+ });
+ });
+
+ context('and the response lacks a first-party ID', () => {
+ it('should wipe any existing first-party ID from storage', () => {
const completeCallback = () => {};
const { callback } = thirthyThreeAcrossIdSubmodule.getId({
params: {
pid: '12345',
- storeFpid: true
+ ...opts
},
- enabledStorageTypes: [ 'cookie' ],
- storage: { expires: 30 }
+ enabledStorageTypes: [ 'html5' ],
+ storage: {}
});
callback(completeCallback);
const [request] = server.requests;
+ const removeDataFromLocalStorage = sinon.stub(storage, 'removeDataFromLocalStorage');
const setCookie = sinon.stub(storage, 'setCookie');
- const cookiesAreEnabled = sinon.stub(storage, 'cookiesAreEnabled').returns(true);
sinon.stub(domainUtils, 'domainOverride').returns('foo.com');
request.respond(200, {
@@ -81,66 +203,149 @@ describe('33acrossIdSystem', () => {
}, JSON.stringify({
succeeded: true,
data: {
- envelope: 'foo',
- fp: 'bar'
+ envelope: 'foo' // no 'fp' field
},
expires: 1645667805067
}));
- expect(setCookie.calledWithExactly('33acrossIdFp', 'bar', sinon.match.string, 'Lax', 'foo.com')).to.be.true;
+ expect(removeDataFromLocalStorage.calledWithExactly('33acrossIdFp')).to.be.true;
+ expect(setCookie.calledWithExactly('33acrossIdFp', '', sinon.match.string, 'Lax', 'foo.com')).to.be.true;
+ removeDataFromLocalStorage.restore();
setCookie.restore();
- cookiesAreEnabled.restore();
domainUtils.domainOverride.restore();
});
});
+ });
- context('and the enabled storage types include "html5"', () => {
- it('should store the provided first-party ID in local storage', () => {
- const completeCallback = () => {};
-
- const { callback } = thirthyThreeAcrossIdSubmodule.getId({
- params: {
- pid: '12345',
- storeFpid: true
- },
- enabledStorageTypes: [ 'html5' ],
- storage: {}
+ context(`if the use of a supplemental third-party ID has been enabled ${caseTitle}`, () => {
+ context('and the response includes a third-party ID', () => {
+ context('and the enabled storage type include "cookie"', () => {
+ it('should store the provided third-party ID in a cookie', () => {
+ const completeCallback = () => {};
+
+ const { callback } = thirthyThreeAcrossIdSubmodule.getId({
+ params: {
+ pid: '12345',
+ ...opts
+ },
+ enabledStorageTypes: [ 'cookie' ],
+ storage: { expires: 30 }
+ });
+
+ callback(completeCallback);
+
+ const [request] = server.requests;
+
+ const setCookie = sinon.stub(storage, 'setCookie');
+ sinon.stub(domainUtils, 'domainOverride').returns('foo.com');
+
+ request.respond(200, {
+ 'Content-Type': 'application/json'
+ }, JSON.stringify({
+ succeeded: true,
+ data: {
+ envelope: 'foo',
+ tp: 'bar'
+ },
+ expires: 1645667805067
+ }));
+
+ expect(setCookie.calledWithExactly('33acrossIdTp', 'bar', sinon.match.string, 'Lax', 'foo.com')).to.be.true;
+
+ setCookie.restore();
+ domainUtils.domainOverride.restore();
});
+ });
- callback(completeCallback);
+ context('and the enabled storage types include "html5"', () => {
+ it('should store the provided third-party ID in local storage', () => {
+ const completeCallback = () => {};
- const [request] = server.requests;
+ const { callback } = thirthyThreeAcrossIdSubmodule.getId({
+ params: {
+ pid: '12345',
+ ...opts
+ },
+ enabledStorageTypes: [ 'html5' ],
+ storage: {}
+ });
- const setDataInLocalStorage = sinon.stub(storage, 'setDataInLocalStorage');
+ callback(completeCallback);
- request.respond(200, {
- 'Content-Type': 'application/json'
- }, JSON.stringify({
- succeeded: true,
- data: {
- envelope: 'foo',
- fp: 'bar'
- },
- expires: 1645667805067
- }));
+ const [request] = server.requests;
+
+ const setDataInLocalStorage = sinon.stub(storage, 'setDataInLocalStorage');
+
+ request.respond(200, {
+ 'Content-Type': 'application/json'
+ }, JSON.stringify({
+ succeeded: true,
+ data: {
+ envelope: 'foo',
+ tp: 'bar'
+ },
+ expires: 1645667805067
+ }));
+
+ expect(setDataInLocalStorage.calledWithExactly('33acrossIdTp', 'bar')).to.be.true;
- expect(setDataInLocalStorage.calledOnceWithExactly('33acrossIdFp', 'bar')).to.be.true;
+ setDataInLocalStorage.restore();
+ });
+ });
- setDataInLocalStorage.restore();
+ context('and the enabled storage types are "cookie" and "html5"', () => {
+ it('should store the provided third-party ID in each storage type', () => {
+ const completeCallback = () => {};
+
+ const { callback } = thirthyThreeAcrossIdSubmodule.getId({
+ params: {
+ pid: '12345',
+ ...opts
+ },
+ enabledStorageTypes: [ 'cookie', 'html5' ],
+ storage: {}
+ });
+
+ callback(completeCallback);
+
+ const [request] = server.requests;
+
+ const setCookie = sinon.stub(storage, 'setCookie');
+ sinon.stub(domainUtils, 'domainOverride').returns('foo.com');
+ const setDataInLocalStorage = sinon.stub(storage, 'setDataInLocalStorage');
+
+ request.respond(200, {
+ 'Content-Type': 'application/json'
+ }, JSON.stringify({
+ succeeded: true,
+ data: {
+ envelope: 'foo',
+ tp: 'bar'
+ },
+ expires: 1645667805067
+ }));
+
+ expect(setCookie.calledWithExactly('33acrossIdTp', 'bar', sinon.match.string, 'Lax', 'foo.com')).to.be.true;
+ expect(setDataInLocalStorage.calledWithExactly('33acrossIdTp', 'bar')).to.be.true;
+
+ setCookie.restore();
+ domainUtils.domainOverride.restore();
+ setDataInLocalStorage.restore();
+ });
});
});
- context('and the enabled storage types are "cookie" and "html5"', () => {
- it('should store the provided first-party ID in each storage type', () => {
+ context('and the response lacks a third-party ID', () => {
+ it('should wipe any existing third-party ID from storage', () => {
const completeCallback = () => {};
const { callback } = thirthyThreeAcrossIdSubmodule.getId({
params: {
pid: '12345',
- storeFpid: true
+ ...opts
},
- enabledStorageTypes: [ 'cookie', 'html5' ],
+ enabledStorageTypes: [ 'html5' ],
storage: {}
});
@@ -148,53 +353,52 @@ describe('33acrossIdSystem', () => {
const [request] = server.requests;
+ const removeDataFromLocalStorage = sinon.stub(storage, 'removeDataFromLocalStorage');
const setCookie = sinon.stub(storage, 'setCookie');
- const cookiesAreEnabled = sinon.stub(storage, 'cookiesAreEnabled').returns(true);
sinon.stub(domainUtils, 'domainOverride').returns('foo.com');
- const setDataInLocalStorage = sinon.stub(storage, 'setDataInLocalStorage');
request.respond(200, {
'Content-Type': 'application/json'
}, JSON.stringify({
succeeded: true,
data: {
- envelope: 'foo',
- fp: 'bar'
+ envelope: 'foo' // no 'tp' field
},
expires: 1645667805067
}));
- expect(setCookie.calledWithExactly('33acrossIdFp', 'bar', sinon.match.string, 'Lax', 'foo.com')).to.be.true;
- expect(setDataInLocalStorage.calledOnceWithExactly('33acrossIdFp', 'bar')).to.be.true;
+ expect(removeDataFromLocalStorage.calledWithExactly('33acrossIdTp')).to.be.true;
+ expect(setCookie.calledWithExactly('33acrossIdTp', '', sinon.match.string, 'Lax', 'foo.com')).to.be.true;
+ removeDataFromLocalStorage.restore();
setCookie.restore();
- cookiesAreEnabled.restore();
domainUtils.domainOverride.restore();
- setDataInLocalStorage.restore();
});
});
});
+ });
- context('and the response lacks a first-party ID', () => {
- it('should wipe any existing first-party ID from storage', () => {
+ context('if the use of a first-party ID has been disabled', () => {
+ context('and the response includes a first-party ID', () => {
+ it('should not store the provided first-party ID in a cookie', () => {
const completeCallback = () => {};
const { callback } = thirthyThreeAcrossIdSubmodule.getId({
params: {
pid: '12345',
- storeFpid: true
+ storeFpid: false
},
- enabledStorageTypes: [ 'html5' ],
- storage: {}
+ enabledStorageTypes: [ 'cookie' ],
+ storage: {
+ expires: 30
+ }
});
callback(completeCallback);
const [request] = server.requests;
- const removeDataFromLocalStorage = sinon.stub(storage, 'removeDataFromLocalStorage');
const setCookie = sinon.stub(storage, 'setCookie');
- const cookiesAreEnabled = sinon.stub(storage, 'cookiesAreEnabled').returns(true);
sinon.stub(domainUtils, 'domainOverride').returns('foo.com');
request.respond(200, {
@@ -202,31 +406,63 @@ describe('33acrossIdSystem', () => {
}, JSON.stringify({
succeeded: true,
data: {
- envelope: 'foo' // no 'fp' field
+ envelope: 'foo',
+ fp: 'bar'
},
expires: 1645667805067
}));
- expect(removeDataFromLocalStorage.calledOnceWithExactly('33acrossIdFp')).to.be.true;
- expect(setCookie.calledWithExactly('33acrossIdFp', '', sinon.match.string, 'Lax', 'foo.com')).to.be.true;
+ expect(setCookie.calledWithExactly('33acrossIdFp', 'bar', sinon.match.string, 'Lax', 'foo.com')).to.be.false;
- removeDataFromLocalStorage.restore();
setCookie.restore();
- cookiesAreEnabled.restore();
domainUtils.domainOverride.restore();
});
+
+ it('should not store the provided first-party ID in local storage', () => {
+ const completeCallback = () => {};
+
+ const { callback } = thirthyThreeAcrossIdSubmodule.getId({
+ params: {
+ pid: '12345',
+ storeFpid: false
+ },
+ enabledStorageTypes: [ 'html5' ],
+ storage: {}
+ });
+
+ callback(completeCallback);
+
+ const [request] = server.requests;
+
+ const setDataInLocalStorage = sinon.stub(storage, 'setDataInLocalStorage');
+
+ request.respond(200, {
+ 'Content-Type': 'application/json'
+ }, JSON.stringify({
+ succeeded: true,
+ data: {
+ envelope: 'foo',
+ fp: 'bar'
+ },
+ expires: 1645667805067
+ }));
+
+ expect(setDataInLocalStorage.calledWithExactly('33acrossIdFp', 'bar')).to.be.false;
+
+ setDataInLocalStorage.restore();
+ });
});
});
- context('if the use of a first-party ID has been disabled (default value)', () => {
- context('and the response includes a first-party ID', () => {
- it('should not store the provided first-party ID in a cookie', () => {
+ context('if the use of a supplemental third-party ID has been disabled', () => {
+ context('and the response includes a third-party ID', () => {
+ it('should not store the provided third-party ID in a cookie', () => {
const completeCallback = () => {};
const { callback } = thirthyThreeAcrossIdSubmodule.getId({
params: {
- pid: '12345'
- // no storeFpid param
+ pid: '12345',
+ storeTpid: false
},
enabledStorageTypes: [ 'cookie' ],
storage: {
@@ -239,8 +475,6 @@ describe('33acrossIdSystem', () => {
const [request] = server.requests;
const setCookie = sinon.stub(storage, 'setCookie');
- const cookiesAreEnabled = sinon.stub(storage, 'cookiesAreEnabled').returns(true);
- sinon.stub(domainUtils, 'domainOverride').returns('foo.com');
request.respond(200, {
'Content-Type': 'application/json'
@@ -248,25 +482,23 @@ describe('33acrossIdSystem', () => {
succeeded: true,
data: {
envelope: 'foo',
- fp: 'bar'
+ tp: 'bar'
},
expires: 1645667805067
}));
- expect(setCookie.calledWithExactly('33acrossIdFp', 'bar', sinon.match.string, 'Lax', 'foo.com')).to.be.false;
+ expect(setCookie.calledWithExactly('33acrossIdTp', 'bar', sinon.match.string, 'Lax')).to.be.false;
setCookie.restore();
- cookiesAreEnabled.restore();
- domainUtils.domainOverride.restore();
});
- it('should not store the provided first-party ID in local storage', () => {
+ it('should not store the provided third-party ID in local storage', () => {
const completeCallback = () => {};
const { callback } = thirthyThreeAcrossIdSubmodule.getId({
params: {
- pid: '12345'
- // no storeFpid param
+ pid: '12345',
+ storeTpid: false
},
enabledStorageTypes: [ 'html5' ],
storage: {}
@@ -284,12 +516,12 @@ describe('33acrossIdSystem', () => {
succeeded: true,
data: {
envelope: 'foo',
- fp: 'bar'
+ tp: 'bar'
},
expires: 1645667805067
}));
- expect(setDataInLocalStorage.calledOnceWithExactly('33acrossIdFp', 'bar')).to.be.false;
+ expect(setDataInLocalStorage.calledWithExactly('33acrossIdTp', 'bar')).to.be.false;
setDataInLocalStorage.restore();
});
@@ -314,7 +546,6 @@ describe('33acrossIdSystem', () => {
const removeDataFromLocalStorage = sinon.stub(storage, 'removeDataFromLocalStorage');
const setCookie = sinon.stub(storage, 'setCookie');
- const cookiesAreEnabled = sinon.stub(storage, 'cookiesAreEnabled').returns(true);
sinon.stub(domainUtils, 'domainOverride').returns('foo.com');
request.respond(200, {
@@ -332,7 +563,6 @@ describe('33acrossIdSystem', () => {
removeDataFromLocalStorage.restore();
setCookie.restore();
- cookiesAreEnabled.restore();
domainUtils.domainOverride.restore();
});
});
@@ -590,36 +820,75 @@ describe('33acrossIdSystem', () => {
});
});
- context('when a first-party ID is present only in one of the enabled storage types', () => {
- it('should call endpoint with the first-party ID found', () => {
+ context('when a first-party ID is not present in storage', () => {
+ it('should not call endpoint with the first-party ID included', () => {
+ const completeCallback = () => {};
+ const { callback } = thirthyThreeAcrossIdSubmodule.getId({
+ params: {
+ pid: '12345'
+ }
+ });
+
+ callback(completeCallback);
+
+ const [request] = server.requests;
+
+ expect(request.url).not.to.contain('fp=');
+ });
+ });
+
+ context('when a third-party ID is present in local storage', () => {
+ it('should call endpoint with the encoded third-party ID included', () => {
const completeCallback = () => {};
const { callback } = thirthyThreeAcrossIdSubmodule.getId({
params: {
pid: '12345'
},
- enabledStorageTypes: [ 'cookie', 'html5' ],
+ enabledStorageTypes: [ 'html5' ],
storage: {}
});
- sinon.stub(storage, 'getCookie')
- .withArgs('33acrossIdFp')
- .returns('');
sinon.stub(storage, 'getDataFromLocalStorage')
- .withArgs('33acrossIdFp')
- .returns('33acrossIdFpValue');
+ .withArgs('33acrossIdTp')
+ .returns('33acrossIdTpValue+');
callback(completeCallback);
const [request] = server.requests;
- expect(request.url).to.contain('fp=33acrossIdFpValue');
+ expect(request.url).to.contain('tp=33acrossIdTpValue%2B');
+
+ storage.getDataFromLocalStorage.restore();
+ });
+ });
+
+ context('when a third-party ID is present in cookie storage', () => {
+ it('should call endpoint with the third-party ID included', () => {
+ const completeCallback = () => {};
+ const { callback } = thirthyThreeAcrossIdSubmodule.getId({
+ params: {
+ pid: '12345'
+ },
+ enabledStorageTypes: [ 'cookie' ],
+ storage: {}
+ });
+
+ sinon.stub(storage, 'getCookie')
+ .withArgs('33acrossIdTp')
+ .returns('33acrossIdTpValue');
+
+ callback(completeCallback);
+
+ const [request] = server.requests;
+
+ expect(request.url).to.contain('tp=33acrossIdTpValue');
storage.getCookie.restore();
});
});
- context('when a first-party ID is not present in storage', () => {
- it('should not call endpoint with the first-party ID included', () => {
+ context('when a third-party ID is not present in storage', () => {
+ it('should not call endpoint with the third-party ID included', () => {
const completeCallback = () => {};
const { callback } = thirthyThreeAcrossIdSubmodule.getId({
params: {
@@ -631,7 +900,7 @@ describe('33acrossIdSystem', () => {
const [request] = server.requests;
- expect(request.url).not.to.contain('fp=');
+ expect(request.url).not.to.contain('tp=');
});
});
diff --git a/test/spec/modules/prebidmanagerAnalyticsAdapter_spec.js b/test/spec/modules/AsteriobidPbmAnalyticsAdapter_spec.js
similarity index 98%
rename from test/spec/modules/prebidmanagerAnalyticsAdapter_spec.js
rename to test/spec/modules/AsteriobidPbmAnalyticsAdapter_spec.js
index 9241fda8c81..57fb5b9a32b 100644
--- a/test/spec/modules/prebidmanagerAnalyticsAdapter_spec.js
+++ b/test/spec/modules/AsteriobidPbmAnalyticsAdapter_spec.js
@@ -1,4 +1,4 @@
-import prebidmanagerAnalytics, {storage} from 'modules/prebidmanagerAnalyticsAdapter.js';
+import prebidmanagerAnalytics, {storage} from 'modules/AsteriobidPbmAnalyticsAdapter.js';
import {expect} from 'chai';
import {server} from 'test/mocks/xhr.js';
import * as utils from 'src/utils.js';
diff --git a/test/spec/modules/BTBidAdapter_spec.js b/test/spec/modules/BTBidAdapter_spec.js
index e0306abb7f0..2ec0acc424e 100644
--- a/test/spec/modules/BTBidAdapter_spec.js
+++ b/test/spec/modules/BTBidAdapter_spec.js
@@ -7,11 +7,10 @@ import 'modules/currency.js';
import 'modules/userId/index.js';
import 'modules/multibid/index.js';
import 'modules/priceFloors.js';
-import 'modules/consentManagement.js';
+import 'modules/consentManagementTcf.js';
import 'modules/consentManagementUsp.js';
import 'modules/consentManagementGpp.js';
-import 'modules/enrichmentFpdModule.js';
-import 'modules/gdprEnforcement.js';
+import 'modules/tcfControl.js';
import 'modules/gppControl_usnat.js';
import 'modules/schain.js';
diff --git a/test/spec/modules/adagioAnalyticsAdapter_spec.js b/test/spec/modules/adagioAnalyticsAdapter_spec.js
index c14393e267b..663da9c4fb8 100644
--- a/test/spec/modules/adagioAnalyticsAdapter_spec.js
+++ b/test/spec/modules/adagioAnalyticsAdapter_spec.js
@@ -182,7 +182,7 @@ const AUCTION_ID_ADAGIO = '6fc53663-bde5-427b-ab63-baa9ed296f47'
const AUCTION_ID_CACHE = 'b43d24a0-13d4-406d-8176-3181402bafc4';
const AUCTION_ID_CACHE_ADAGIO = 'a9cae98f-efb5-477e-9259-27350044f8db';
-const BID_ADAGIO = Object.assign({}, BID_ADAGIO, {
+const BID_ADAGIO = {
bidder: 'adagio',
auctionId: AUCTION_ID,
adUnitCode: '/19968336/header-bid-tag-1',
@@ -215,9 +215,9 @@ const BID_ADAGIO = Object.assign({}, BID_ADAGIO, {
sid: '42',
e_pba_test: true
}
-});
+};
-const BID_ANOTHER = Object.assign({}, BID_ANOTHER, {
+const BID_ANOTHER = {
bidder: 'another',
auctionId: AUCTION_ID,
adUnitCode: '/19968336/header-bid-tag-1',
@@ -246,7 +246,7 @@ const BID_ANOTHER = Object.assign({}, BID_ANOTHER, {
meta: {
advertiserDomains: ['example.com']
}
-});
+};
const BID_CACHED = Object.assign({}, BID_ADAGIO, {
auctionId: AUCTION_ID_CACHE,
diff --git a/test/spec/modules/adagioBidAdapter_spec.js b/test/spec/modules/adagioBidAdapter_spec.js
index ec8486f62ad..4f942e21c0e 100644
--- a/test/spec/modules/adagioBidAdapter_spec.js
+++ b/test/spec/modules/adagioBidAdapter_spec.js
@@ -1,22 +1,16 @@
-import { expect } from 'chai';
+import * as utils from '../../../src/utils.js';
import {
- _features,
- internal as adagio,
- adagioScriptFromLocalStorageCb,
- getAdagioScript,
- storage,
- setExtraParam,
- spec,
+ BB_RENDERER_URL,
ENDPOINT,
VERSION,
- BB_RENDERER_URL,
- GlobalExchange
+ _internal,
+ setExtraParam,
+ spec
} from '../../../modules/adagioBidAdapter.js';
-import { loadExternalScript } from '../../../src/adloader.js';
-import * as utils from '../../../src/utils.js';
-import { config } from '../../../src/config.js';
import { NATIVE } from '../../../src/mediaTypes.js';
+import { config } from '../../../src/config.js';
import { executeRenderer } from '../../../src/Renderer.js';
+import { expect } from 'chai';
import { userSync } from '../../../src/userSync.js';
const BidRequestBuilder = function BidRequestBuilder(options) {
@@ -73,7 +67,6 @@ const BidderRequestBuilder = function BidderRequestBuilder(options) {
};
describe('Adagio bid adapter', () => {
- let adagioMock;
let utilsMock;
let sandbox;
let fakeRenderer;
@@ -119,17 +112,9 @@ describe('Adagio bid adapter', () => {
window.ADAGIO.versions.adagioBidderAdapter = VERSION;
window.ADAGIO.pageviewId = 'dda61753-4059-4f75-b0bf-3f60bd2c4d9a';
- GlobalExchange.clearFeatures();
- GlobalExchange.clearExchangeData();
-
- $$PREBID_GLOBAL$$.bidderSettings = {
- adagio: {
- storageAllowed: true
- }
- };
+ utilsMock = sinon.mock(utils);
sandbox = sinon.createSandbox();
- adagioMock = sandbox.mock(adagio);
utilsMock = sandbox.mock(utils);
});
@@ -137,6 +122,8 @@ describe('Adagio bid adapter', () => {
window.ADAGIO = undefined;
$$PREBID_GLOBAL$$.bidderSettings = {};
+ utilsMock.restore();
+
sandbox.restore();
});
@@ -188,7 +175,7 @@ describe('Adagio bid adapter', () => {
});
it('should compute organizationId and site params from global BidderSettings config', function() {
- sandbox.stub(adagio, 'getRefererInfo').returns({ reachedTop: true });
+ sandbox.stub(_internal, 'getRefererInfo').returns({ reachedTop: true });
sandbox.stub(config, 'getConfig').withArgs('adagio').returns({
siteId: '1000:SITE-NAME'
});
@@ -262,11 +249,9 @@ describe('Adagio bid adapter', () => {
'user',
'schain',
'prebidVersion',
- 'featuresVersion',
'hasRtd',
'data',
'usIfr',
- 'adgjs',
];
it('groups requests by organizationId', function() {
@@ -290,10 +275,10 @@ describe('Adagio bid adapter', () => {
});
it('should send bid request to ENDPOINT_PB via POST', function() {
- sandbox.stub(adagio, 'getDevice').returns({ a: 'a' });
- sandbox.stub(adagio, 'getSite').returns({ domain: 'adagio.io', 'page': 'https://adagio.io/hb' });
- sandbox.stub(adagio, 'getPageviewId').returns('1234-567');
- sandbox.stub(utils, 'generateUUID').returns('blabla');
+ sandbox.stub(_internal, 'getDevice').returns({ a: 'a' });
+ sandbox.stub(_internal, 'getSite').returns({ domain: 'adagio.io', 'page': 'https://adagio.io/hb' });
+ // sandbox.stub(_internal, 'getPageviewId').returns('1234-567');
+ // sandbox.stub(utils, 'generateUUID').returns('blabla');
const bid01 = new BidRequestBuilder().withParams().build();
const bidderRequest = new BidderRequestBuilder().build();
@@ -323,7 +308,7 @@ describe('Adagio bid adapter', () => {
const expectedAuctionId = '373bcda7-9794-4f1c-be2c-0d223d11d579'
const expectedPageviewId = '56befc26-8cf0-472d-b105-73896df8eb89';
sandbox.stub(utils, 'generateUUID').returns(expectedAuctionId);
- sandbox.stub(adagio, 'getPageviewId').returns(expectedPageviewId);
+ sandbox.stub(_internal, 'getAdagioNs').returns({ pageviewId: expectedPageviewId });
const bid01 = new BidRequestBuilder().withParams().build();
const bidderRequest = new BidderRequestBuilder().build();
@@ -334,78 +319,6 @@ describe('Adagio bid adapter', () => {
expect(bid01.params.pageviewId).eq(expectedPageviewId);
});
- it('should enqueue computed features for collect usage', function() {
- sandbox.stub(Date, 'now').returns(12345);
-
- const bid01 = new BidRequestBuilder().withParams().build();
- const bidderRequest = new BidderRequestBuilder().build();
-
- adagioMock.expects('enqueue').withArgs(sinon.match({ action: 'features' })).atLeast(1);
-
- const requests = spec.buildRequests([bid01], bidderRequest);
-
- expect(requests[0].data).to.have.all.keys(expectedDataKeys);
-
- adagioMock.verify();
- });
-
- describe('with Adagio Rtd Provider', function() {
- it('it dont enqueue features from the bidder adapter', function() {
- sandbox.stub(adagio, 'hasRtd').returns(true);
- const bid01 = new BidRequestBuilder().withParams().build();
- const bidderRequest = new BidderRequestBuilder().build();
- spec.buildRequests([bid01], bidderRequest);
- adagioMock.expects('enqueue').withArgs(sinon.match({ action: 'features' })).never();
- adagioMock.verify();
- });
-
- it('get feature from ortb2', function() {
- sandbox.stub(adagio, 'hasRtd').returns(true);
- const bid01 = new BidRequestBuilder().withParams().build();
- bid01.ortb2Imp = {
- ext: { data: {adg_rtd: {adunit_position: '1x1'}} }
- };
- bid01.ortb2 = {
- site: {
- ext:
- {
- data: {
- adg_rtd: { features: {} }
- }
- }
- }
- };
- const bidderRequest = new BidderRequestBuilder().build();
- const requests = spec.buildRequests([bid01], bidderRequest);
- expect(requests[0].data.adUnits[0].features).to.exist;
- expect(requests[0].data.adUnits[0].features.adunit_position).to.equal('1x1');
- });
- });
-
- it('should filter some props in case refererDetection.reachedTop is false', function() {
- const bid01 = new BidRequestBuilder().withParams().build();
- const bidderRequest = new BidderRequestBuilder({
- refererInfo: {
- numIframes: 2,
- reachedTop: false,
- referer: 'http://example.com/iframe1.html',
- stack: [
- null,
- 'http://example.com/iframe1.html',
- 'http://example.com/iframe2.html'
- ],
- canonicalUrl: ''
- }
- }).build();
-
- const requests = spec.buildRequests([bid01], bidderRequest);
-
- expect(requests).to.have.lengthOf(1);
- expect(requests[0].data).to.have.all.keys(expectedDataKeys);
- expect(requests[0].data.adUnits[0].features).to.exist;
- expect(requests[0].data.adUnits[0].features.url).to.not.exist;
- });
-
it('should force split keyword param into a string', function() {
const bid01 = new BidRequestBuilder().withParams({
splitKeyword: 1234
@@ -476,10 +389,102 @@ describe('Adagio bid adapter', () => {
expect(requests[0].data.adUnits[3].params.dataLayer).to.not.exist;
});
+ describe('with adagioRtdProvider enrichments', function() {
+ const adUnitRtdEnrichments = {
+ ortb2: {
+ site: {
+ ext: {
+ data: {
+ adg_rtd: {
+ features: {
+ page_dimensions: '1024x768',
+ viewport_dimensions: '1024x768',
+ user_timestamp: '111111111',
+ dom_loading: '111111111',
+ }
+ }
+ }}}
+ },
+ ortb2Imp: {
+ ext: {
+ data: {
+ adg_rtd: {
+ adunit_position: '1x1'
+ }
+ }
+ }
+ }
+ }
+ const rtdEnrichments = {
+ ortb2: {
+ site: {
+ ext: {
+ data: {
+ adg_rtd: {
+ session: {
+ new: true,
+ rnd: 0.0666
+ },
+ }
+ }
+ }
+ }
+ }
+ }
+
+ it('should add features and data to the request if exists', function() {
+ const bid01 = new BidRequestBuilder(adUnitRtdEnrichments).withParams().build();
+ const bidderRequest = new BidderRequestBuilder(rtdEnrichments).build();
+
+ const requests = spec.buildRequests([bid01], bidderRequest);
+
+ expect(requests[0].data.data).to.deep.equal({
+ session: {
+ new: true,
+ rnd: 0.0666
+ }
+ });
+
+ expect(requests[0].data.adUnits[0].features).to.deep.equal({
+ page_dimensions: '1024x768',
+ viewport_dimensions: '1024x768',
+ user_timestamp: '111111111',
+ dom_loading: '111111111',
+ adunit_position: '1x1',
+ print_number: '1'
+ })
+ });
+
+ it('should add an only "print_number" in features object if ortb2 is not properly defined', function() {
+ const bid01 = new BidRequestBuilder({
+ ortb2: {},
+ bidderRequestsCount: 2
+ }).withParams().build();
+ const bidderRequest = new BidderRequestBuilder().build();
+
+ const requests = spec.buildRequests([bid01], bidderRequest);
+
+ expect(requests[0].data.adUnits[0].features).to.deep.equal({
+ print_number: '2'
+ });
+ });
+
+ it('should send data.session with default if the ortb2 ext is not properly defined', function() {
+ const bid01 = new BidRequestBuilder().withParams().build();
+ const bidderRequest = new BidderRequestBuilder().build();
+ sandbox.stub(Math, 'random').returns(0.444);
+
+ const requests = spec.buildRequests([bid01], bidderRequest);
+
+ expect(requests[0].data.data.session).to.exist;
+ expect(requests[0].data.data.session.new).to.equal(true);
+ expect(requests[0].data.data.session.rnd).to.equal(0.444);
+ });
+ });
+
describe('With video mediatype', function() {
context('Outstream video', function() {
- it('should logWarn if user does not set renderer.backupOnly: true', function() {
- sandbox.spy(utils, 'logWarn');
+ it('should set playerName = "other" if user does not set renderer.backupOnly: true', function() {
const bid01 = new BidRequestBuilder({
adUnitCode: 'adunit-code-01',
mediaTypes: {
@@ -498,7 +503,39 @@ describe('Adagio bid adapter', () => {
const request = spec.buildRequests([bid01], bidderRequest)[0];
expect(request.data.adUnits[0].mediaTypes.video.playerName).to.equal('other');
- sinon.assert.calledWith(utils.logWarn, 'Adagio: renderer.backupOnly has not been set. Adagio recommends to use its own player to get expected behavior.');
+ });
+
+ it('should set playerName = "adagio" if user does not set a renderer or set `renderer.backupOnly: true`', function() {
+ const bid01 = new BidRequestBuilder({
+ adUnitCode: 'adunit-code-01',
+ mediaTypes: {
+ banner: { sizes: [[300, 250]] },
+ video: {
+ context: 'outstream',
+ playerSize: [[300, 250]],
+ }
+ },
+ }).withParams().build();
+ const bid02 = new BidRequestBuilder({
+ adUnitCode: 'adunit-code-02',
+ mediaTypes: {
+ banner: { sizes: [[300, 250]] },
+ video: {
+ context: 'outstream',
+ playerSize: [[300, 250]],
+ renderer: {
+ url: 'https://url.tld',
+ render: () => true,
+ backupOnly: true
+ }
+ }
+ },
+ }).withParams().build();
+ const bidderRequest = new BidderRequestBuilder().build();
+ const request = spec.buildRequests([bid01, bid02], bidderRequest)[0];
+
+ expect(request.data.adUnits[0].mediaTypes.video.playerName).to.equal('adagio');
+ expect(request.data.adUnits[1].mediaTypes.video.playerName).to.equal('adagio');
});
});
@@ -1173,25 +1210,24 @@ describe('Adagio bid adapter', () => {
it('should populate ADAGIO queue with ssp-data', function() {
sandbox.stub(Date, 'now').returns(12345);
+ sandbox.stub(_internal, 'hasRtd').returns(true);
+ const spy = sandbox.spy(_internal.getAdagioNs().queue, 'push')
+
+ spec.interpretResponse(serverResponse, bidRequest);
- adagioMock.expects('enqueue').withExactArgs({
+ expect(spy.withArgs({
action: 'ssp-data',
ts: 12345,
data: serverResponse.body.data
- }).once();
-
- spec.interpretResponse(serverResponse, bidRequest);
-
- adagioMock.verify();
+ }).calledOnce).to.be.true;
});
it('should properly try-catch an exception and return an empty array', function() {
- sandbox.stub(adagio, 'enqueue').throws();
- utilsMock.expects('logError').once();
-
+ sandbox.stub(_internal, 'hasRtd').returns(true);
+ sandbox.stub(_internal, 'getAdagioNs').returns({ queue: () => { throw new Error('test') } });
+ const spy = sandbox.spy(utils, 'logError');
expect(spec.interpretResponse(serverResponse, bidRequest)).to.be.an('array').length(0);
-
- utilsMock.verify();
+ expect(spy.calledOnce).to.be.true;
});
describe('Response with video outstream', function() {
@@ -1495,188 +1531,6 @@ describe('Adagio bid adapter', () => {
});
});
- describe('Adagio features when prebid in top.window', function() {
- it('should return all expected features when all expected bidder params are available', function() {
- sandbox.stub(window.top.document, 'getElementById').returns(
- fixtures.getElementById()
- );
- sandbox.stub(window.top, 'getComputedStyle').returns({ display: 'block' });
- sandbox.stub(utils, 'inIframe').returns(false);
-
- const bidRequest = new BidRequestBuilder({
- 'mediaTypes': {
- banner: { sizes: [[300, 250]] }
- }
- }).withParams().build();
-
- const bidderRequest = new BidderRequestBuilder().build();
-
- const requests = spec.buildRequests([bidRequest], bidderRequest);
- const result = requests[0].data.adUnits[0].features;
-
- expect(result.adunit_position).to.match(/^[\d]+x[\d]+$/);
- expect(result.page_dimensions).to.match(/^[\d]+x[\d]+$/);
- expect(result.viewport_dimensions).to.match(/^[\d]+x[\d]+$/);
- expect(result.print_number).to.be.a('String');
- expect(result.dom_loading).to.be.a('String');
- expect(result.user_timestamp).to.be.a('String');
- expect(result.url).to.not.exist;
- expect(result.device).to.not.exist;
- expect(result.os).to.not.exist;
- expect(result.browser).to.not.exist;
- });
-
- it('should return all expected features when `adUnitElementId` param is not available', function() {
- sandbox.stub(utils, 'inIframe').returns(false);
-
- const bidRequest = new BidRequestBuilder({
- params: {
- organizationId: '1000',
- placement: 'PAVE_ATF',
- site: 'SITE-NAME'
- },
- 'mediaTypes': {
- banner: { sizes: [[300, 250]] }
- }
- }).build();
-
- const bidderRequest = new BidderRequestBuilder().build();
-
- const requests = spec.buildRequests([bidRequest], bidderRequest);
- const result = requests[0].data.adUnits[0].features;
-
- expect(result.adunit_position).to.not.exist;
- expect(result.page_dimensions).to.be.a('String');
- expect(result.viewport_dimensions).to.be.a('String');
- expect(result.print_number).to.be.a('String');
- expect(result.dom_loading).to.be.a('String');
- expect(result.user_timestamp).to.be.a('String');
- });
-
- it('should return `adunit_position` feature when the slot is hidden with value 0x0', function () {
- const elem = fixtures.getElementById('0', '0', '0', '0');
- sandbox.stub(window.top.document, 'getElementById').returns(elem);
- sandbox.stub(window.top, 'getComputedStyle').returns({ display: 'none' });
- sandbox.stub(utils, 'inIframe').returns(false);
-
- const bidRequest = new BidRequestBuilder({
- mediaTypes: {
- banner: { sizes: [[300, 250]] },
- },
- })
- .withParams()
- .build();
-
- const bidderRequest = new BidderRequestBuilder().build();
-
- const requests = spec.buildRequests([bidRequest], bidderRequest);
- const result = requests[0].data.adUnits[0].features;
-
- expect(result.adunit_position).to.equal('0x0');
- });
- });
-
- describe('Adagio features when prebid in Safeframe', function() {
- beforeEach(function () {
- window.$sf = $sf;
- });
-
- afterEach(function () {
- delete window.$sf;
- });
-
- it('should return all expected features when prebid is in safeframe iframe', function() {
- sandbox.stub(window.$sf.ext, 'geom').returns({
- win: {t: 23, r: 1920, b: 1200, l: 0, w: 1920, h: 1177},
- self: {t: 210, r: 1159, b: 460, l: 859, w: 300, h: 250},
- });
-
- const bidRequest = new BidRequestBuilder({
- 'mediaTypes': {
- banner: { sizes: [[300, 250]] }
- }
- }).withParams().build();
-
- const bidderRequest = new BidderRequestBuilder().build();
-
- const requests = spec.buildRequests([bidRequest], bidderRequest);
- const result = requests[0].data.adUnits[0].features;
-
- expect(result.page_dimensions).to.not.exist;
- expect(result.viewport_dimensions).to.be.a('String');
- expect(result.print_number).to.be.a('String');
- expect(result.dom_loading).to.be.a('String');
- expect(result.user_timestamp).to.be.a('String');
- expect(result.adunit_position).to.exist;
- });
-
- it('should return all expected features when prebid safeframe api not properly implemented', function() {
- const bidRequest = new BidRequestBuilder({
- 'mediaTypes': {
- banner: { sizes: [[300, 250]] }
- }
- }).withParams().build();
-
- const bidderRequest = new BidderRequestBuilder().build();
-
- const requests = spec.buildRequests([bidRequest], bidderRequest);
- const result = requests[0].data.adUnits[0].features;
-
- expect(result.page_dimensions).to.not.exist;
- expect(result.viewport_dimensions).to.not.exist;
- expect(result.print_number).to.be.a('String');
- expect(result.dom_loading).to.be.a('String');
- expect(result.user_timestamp).to.be.a('String');
- expect(result.adunit_position).to.not.exist;
- });
-
- it('should return all expected features when prebid safeframe api not properly implemented bis', function() {
- window.$sf.ext.geom = undefined;
-
- const bidRequest = new BidRequestBuilder({
- 'mediaTypes': {
- banner: { sizes: [[300, 250]] }
- }
- }).withParams().build();
-
- const bidderRequest = new BidderRequestBuilder().build();
-
- const requests = spec.buildRequests([bidRequest], bidderRequest);
- const result = requests[0].data.adUnits[0].features;
-
- expect(result.page_dimensions).to.not.exist;
- expect(result.viewport_dimensions).to.not.exist;
- expect(result.print_number).to.be.a('String');
- expect(result.dom_loading).to.be.a('String');
- expect(result.user_timestamp).to.be.a('String');
- expect(result.adunit_position).to.not.exist;
- });
- });
-
- describe('Adagio features when prebid in crossdomain iframe', function() {
- it('should return all expected features', function() {
- sandbox.stub(utils, 'canAccessWindowTop').returns(false);
-
- const bidRequest = new BidRequestBuilder({
- 'mediaTypes': {
- banner: { sizes: [[300, 250]] }
- }
- }).withParams().build();
-
- const bidderRequest = new BidderRequestBuilder().build();
-
- const requests = spec.buildRequests([bidRequest], bidderRequest);
- const result = requests[0].data.adUnits[0].features;
-
- expect(result.page_dimensions).to.not.exist;
- expect(result.viewport_dimensions).to.not.exist;
- expect(result.print_number).to.be.a('String');
- expect(result.dom_loading).to.be.a('String');
- expect(result.user_timestamp).to.be.a('String');
- expect(result.adunit_position).to.not.exist;
- });
- });
-
describe('site information using refererDetection or window.top', function() {
it('should returns domain, page and window.referrer in a window.top context', function() {
const bidderRequest = new BidderRequestBuilder({
@@ -1690,7 +1544,7 @@ describe('Adagio bid adapter', () => {
}
}).build();
- expect(adagio.getSite(bidderRequest)).to.deep.equal({
+ expect(_internal.getSite(bidderRequest)).to.deep.equal({
domain: 'test.io',
page: 'https://test.io/article/a.html',
referrer: 'https://google.com',
@@ -1725,7 +1579,7 @@ describe('Adagio bid adapter', () => {
refererInfo: info
}).build();
- expect(adagio.getSite(bidderRequest)).to.deep.equal({
+ expect(_internal.getSite(bidderRequest)).to.deep.equal({
domain: 'level.io',
page: 'http://level.io/',
referrer: 'https://google.com',
@@ -1755,119 +1609,11 @@ describe('Adagio bid adapter', () => {
refererInfo: info
}).build();
- const s = adagio.getSite(bidderRequest)
+ const s = _internal.getSite(bidderRequest)
expect(s.domain).equal('example.com')
expect(s.page).equal('http://example.com/iframe1.html')
expect(s.referrer).match(/^https?:\/\/.+/);
expect(s.top).equal(false)
});
});
-
- describe('adagioScriptFromLocalStorageCb()', function() {
- const VALID_HASH = 'Lddcw3AADdQDrPtbRJkKxvA+o1CtScGDIMNRpHB3NnlC/FYmy/9RKXelKrYj/sjuWusl5YcOpo+lbGSkk655i8EKuDiOvK6ae/imxSrmdziIp+S/TA6hTFJXcB8k1Q9OIp4CMCT52jjXgHwX6G0rp+uYoCR25B1jHaHnpH26A6I=';
- const INVALID_HASH = 'invalid';
- const VALID_SCRIPT_CONTENT = 'var _ADAGIO=function(){};(_ADAGIO)();\n';
- const INVALID_SCRIPT_CONTENT = 'var _ADAGIO=function(){//corrupted};(_ADAGIO)();\n';
- const ADAGIO_LOCALSTORAGE_KEY = 'adagioScript';
-
- beforeEach(function() {
- localStorage.removeItem(ADAGIO_LOCALSTORAGE_KEY);
- });
-
- describe('getAdagioScript', function() {
- it('should run storage.getDataFromLocalStorage callback and call adagioScriptFromLocalStorageCb() ', function() {
- sandbox.spy(adagio, 'adagioScriptFromLocalStorageCb');
- const getDataFromLocalStorageStub = sandbox.stub(storage, 'getDataFromLocalStorage').callsArg(1);
- localStorage.setItem(ADAGIO_LOCALSTORAGE_KEY, '// hash: ' + VALID_HASH + '\n' + VALID_SCRIPT_CONTENT);
-
- getAdagioScript();
-
- sinon.assert.callCount(getDataFromLocalStorageStub, 1);
- sinon.assert.callCount(adagio.adagioScriptFromLocalStorageCb, 1);
- });
-
- it('should load external script if the user consent', function() {
- sandbox.stub(storage, 'localStorageIsEnabled').callsArgWith(0, true);
- getAdagioScript();
-
- expect(loadExternalScript.called).to.be.true;
- });
-
- it('should not load external script if the user does not consent', function() {
- sandbox.stub(storage, 'localStorageIsEnabled').callsArgWith(0, false);
- getAdagioScript();
-
- expect(loadExternalScript.called).to.be.false;
- });
-
- it('should remove the localStorage key if exists and the user does not consent', function() {
- sandbox.stub(storage, 'localStorageIsEnabled').callsArgWith(0, false);
- localStorage.setItem(ADAGIO_LOCALSTORAGE_KEY, 'the script');
-
- getAdagioScript();
-
- expect(loadExternalScript.called).to.be.false;
- expect(localStorage.getItem(ADAGIO_LOCALSTORAGE_KEY)).to.be.null;
- });
- });
-
- it('should verify valid hash with valid script', function () {
- localStorage.setItem(ADAGIO_LOCALSTORAGE_KEY, '// hash: ' + VALID_HASH + '\n' + VALID_SCRIPT_CONTENT);
-
- utilsMock.expects('logInfo').withExactArgs('Adagio: start script.').once();
- utilsMock.expects('logWarn').withExactArgs('Adagio: no hash found.').never();
- utilsMock.expects('logWarn').withExactArgs('Adagio: invalid script found.').never();
-
- adagioScriptFromLocalStorageCb(localStorage.getItem(ADAGIO_LOCALSTORAGE_KEY));
-
- expect(localStorage.getItem(ADAGIO_LOCALSTORAGE_KEY)).to.equals('// hash: ' + VALID_HASH + '\n' + VALID_SCRIPT_CONTENT);
- utilsMock.verify();
- });
-
- it('should verify valid hash with invalid script', function () {
- localStorage.setItem(ADAGIO_LOCALSTORAGE_KEY, '// hash: ' + VALID_HASH + '\n' + INVALID_SCRIPT_CONTENT);
-
- utilsMock.expects('logInfo').withExactArgs('Adagio: start script').never();
- utilsMock.expects('logWarn').withExactArgs('Adagio: no hash found.').never();
- utilsMock.expects('logWarn').withExactArgs('Adagio: invalid script found.').once();
-
- adagioScriptFromLocalStorageCb(localStorage.getItem(ADAGIO_LOCALSTORAGE_KEY));
-
- expect(localStorage.getItem(ADAGIO_LOCALSTORAGE_KEY)).to.be.null;
- utilsMock.verify();
- });
-
- it('should verify invalid hash with valid script', function () {
- localStorage.setItem(ADAGIO_LOCALSTORAGE_KEY, '// hash: ' + INVALID_HASH + '\n' + VALID_SCRIPT_CONTENT);
-
- utilsMock.expects('logInfo').withExactArgs('Adagio: start script').never();
- utilsMock.expects('logWarn').withExactArgs('Adagio: no hash found.').never();
- utilsMock.expects('logWarn').withExactArgs('Adagio: invalid script found.').once();
-
- adagioScriptFromLocalStorageCb(localStorage.getItem(ADAGIO_LOCALSTORAGE_KEY));
-
- expect(localStorage.getItem(ADAGIO_LOCALSTORAGE_KEY)).to.be.null;
- utilsMock.verify();
- });
-
- it('should verify missing hash', function () {
- localStorage.setItem(ADAGIO_LOCALSTORAGE_KEY, VALID_SCRIPT_CONTENT);
-
- utilsMock.expects('logInfo').withExactArgs('Adagio: start script').never();
- utilsMock.expects('logWarn').withExactArgs('Adagio: no hash found.').once();
- utilsMock.expects('logWarn').withExactArgs('Adagio: invalid script found.').never();
-
- adagioScriptFromLocalStorageCb(localStorage.getItem(ADAGIO_LOCALSTORAGE_KEY));
-
- expect(localStorage.getItem(ADAGIO_LOCALSTORAGE_KEY)).to.be.null;
- utilsMock.verify();
- });
-
- it('should return false if content script does not exist in localStorage', function() {
- sandbox.spy(utils, 'logWarn');
- expect(adagioScriptFromLocalStorageCb(null)).to.be.undefined;
- sinon.assert.callCount(utils.logWarn, 1);
- sinon.assert.calledWith(utils.logWarn, 'Adagio: script not found.');
- });
- });
});
diff --git a/test/spec/modules/adbookpspBidAdapter_spec.js b/test/spec/modules/adbookpspBidAdapter_spec.js
deleted file mode 100755
index 3f26cd7749f..00000000000
--- a/test/spec/modules/adbookpspBidAdapter_spec.js
+++ /dev/null
@@ -1,1344 +0,0 @@
-import { expect } from 'chai';
-import * as utils from '../../../src/utils.js';
-import {
- spec,
- storage,
- DEFAULT_BIDDER_CONFIG,
- VERSION,
- common,
-} from '../../../modules/adbookpspBidAdapter.js';
-
-describe('adbookpsp bid adapter', () => {
- let sandbox;
-
- beforeEach(function () {
- sandbox = sinon.sandbox.create();
-
- sandbox
- .stub(common, 'generateUUID')
- .returns('54444444-5444-4444-9444-544444444444');
- sandbox.stub(common, 'getWindowDimensions').returns({
- innerWidth: 100,
- innerHeight: 100,
- });
- });
-
- afterEach(function () {
- sandbox.restore();
- });
-
- describe('isBidRequestValid()', () => {
- it('should return false when there is no banner in mediaTypes', () => {
- const bid = utils.deepClone(bannerBid);
- delete bid.mediaTypes.banner;
-
- expect(spec.isBidRequestValid(bid)).to.equal(false);
- });
-
- it('should return false when orgId and placementId is not defined', () => {
- const bid = utils.deepClone(bannerBid);
- delete bid.params.placementId;
- delete bid.params.orgId;
-
- expect(spec.isBidRequestValid(bid)).to.be.false;
- });
-
- it('should return true when orgId is set in config', () => {
- const bid = utils.deepClone(bannerBid);
-
- delete bid.params.placementId;
- delete bid.params.orgId;
-
- sandbox
- .stub(common, 'getConfig')
- .withArgs('adbookpsp.orgId')
- .returns('129576');
-
- expect(spec.isBidRequestValid(bid)).to.be.true;
- });
-
- it('should return true when required params found', () => {
- expect(spec.isBidRequestValid(bannerBid)).to.equal(true);
- expect(spec.isBidRequestValid(videoBid)).to.equal(true);
- expect(spec.isBidRequestValid(mixedBid)).to.equal(true);
- });
-
- it('should return false when sizes for banner are not specified', () => {
- const bid = utils.deepClone(bannerBid);
- delete bid.mediaTypes.banner.sizes;
-
- expect(spec.isBidRequestValid(bid)).to.equal(false);
- });
-
- it('should return false when sizes for banner are invalid', () => {
- const bid = utils.deepClone(bannerBid);
- delete bid.mediaTypes.banner.sizes;
-
- bid.mediaTypes.banner.sizes = [['123', 'foo']];
-
- expect(spec.isBidRequestValid(bid)).to.equal(false);
- });
-
- it('should return true if player size is set via playerSize', () => {
- expect(spec.isBidRequestValid(videoBid)).to.equal(true);
- });
-
- it('should return true if player size is set via w and h', () => {
- const bid = utils.deepClone(videoBid);
- delete bid.mediaTypes.video.playerSize;
-
- bid.mediaTypes.video.w = 400;
- bid.mediaTypes.video.h = 300;
-
- expect(spec.isBidRequestValid(bid)).to.equal(true);
- });
-
- it('should reutrn false if player size is not set', () => {
- const bid = utils.deepClone(videoBid);
- delete bid.mediaTypes.video.playerSize;
-
- expect(spec.isBidRequestValid(bid)).to.equal(false);
- });
- });
-
- describe('buildRequests()', () => {
- it('should build correct request for banner bid', () => {
- sandbox
- .stub(common, 'getConfig')
- .withArgs('adbookpsp.orgId')
- .returns(undefined)
- .withArgs('adbookpsp.exchangeUrl')
- .returns('https://ex.fattail.com/openrtb2');
-
- const requests = spec.buildRequests([bannerBid], bidderRequest);
-
- expect(requests).to.have.lengthOf(1);
- expect(requests[0]).to.deep.include({
- method: 'POST',
- url: 'https://ex.fattail.com/openrtb2',
- options: {
- contentType: 'application/json',
- withCredentials: true,
- },
- });
- expect(JSON.parse(requests[0].data)).to.deep.equal(bannerExchangeRequest);
- });
-
- it('should build correct request for video bid', () => {
- sandbox
- .stub(common, 'getConfig')
- .withArgs('adbookpsp')
- .returns(DEFAULT_BIDDER_CONFIG)
- .withArgs('adbookpsp.exchangeUrl')
- .returns(DEFAULT_BIDDER_CONFIG.exchangeUrl)
- .withArgs('adbookpsp.orgId')
- .returns(undefined);
-
- const requests = spec.buildRequests([videoBid], bidderRequest);
-
- expect(requests).to.have.lengthOf(1);
- expect(requests[0]).to.deep.include({
- method: 'POST',
- url: 'https://ex.fattail.com/openrtb2',
- options: {
- contentType: 'application/json',
- withCredentials: true,
- },
- });
- expect(JSON.parse(requests[0].data)).to.deep.include({
- ...videoExchangeRequest,
- ext: {
- adbook: {
- config: DEFAULT_BIDDER_CONFIG,
- version: {
- adapter: VERSION,
- prebid: '$prebid.version$',
- },
- },
- },
- });
- });
-
- it('should build correct request for video bid with w and h', () => {
- const bid = utils.deepClone(videoBid);
-
- delete bid.mediaTypes.video.playerSize;
-
- bid.mediaTypes.video.w = 400;
- bid.mediaTypes.video.h = 300;
-
- const [request] = spec.buildRequests([bid], bidderRequest);
- const requestData = JSON.parse(request.data);
-
- expect(requestData.imp[0].video.w).to.equal(400);
- expect(requestData.imp[0].video.h).to.equal(300);
- });
-
- it('should build correct request for video bid with both w, h and playerSize', () => {
- const bid = utils.deepClone(videoBid);
-
- bid.mediaTypes.video.w = 640;
- bid.mediaTypes.video.h = 480;
-
- const [request] = spec.buildRequests([bid], bidderRequest);
- const requestData = JSON.parse(request.data);
-
- expect(requestData.imp[0].video.w).to.equal(640);
- expect(requestData.imp[0].video.h).to.equal(480);
- });
-
- it('should build correct request for mixed bid', () => {
- sandbox
- .stub(common, 'getConfig')
- .withArgs('adbookpsp.orgId')
- .returns(undefined)
- .withArgs('adbookpsp.exchangeUrl')
- .returns('https://ex.fattail.com/openrtb2');
-
- const requests = spec.buildRequests([mixedBid], bidderRequest);
-
- expect(requests).to.have.lengthOf(1);
- expect(requests[0]).to.deep.include({
- method: 'POST',
- url: 'https://ex.fattail.com/openrtb2',
- options: {
- contentType: 'application/json',
- withCredentials: true,
- },
- });
- expect(JSON.parse(requests[0].data)).to.deep.include(
- mixedExchangeRequest
- );
- });
-
- it('should use orgId from config', () => {
- const bid = utils.deepClone(bannerBid);
-
- delete bid.params;
-
- sandbox
- .stub(common, 'getConfig')
- .withArgs('adbookpsp.orgId')
- .returns('129576');
-
- const requests = spec.buildRequests([bid], bidderRequest);
- const request = JSON.parse(requests[0].data);
-
- expect(request.imp[0].ext).to.deep.include({
- adbook: {
- orgId: '129576',
- },
- });
- });
-
- it('should use orgId from adUnit when orgId is also set in config', () => {
- const bid = utils.deepClone(bannerBid);
-
- delete bid.params.placementId;
-
- bid.params.orgId = 'adUnitOrgId';
-
- sandbox
- .stub(common, 'getConfig')
- .withArgs('adbookpsp.orgId')
- .returns('configOrgId');
-
- const requests = spec.buildRequests([bid], bidderRequest);
- const request = JSON.parse(requests[0].data);
-
- expect(request.imp[0].ext).to.deep.include({
- adbook: {
- orgId: 'adUnitOrgId',
- },
- });
- });
-
- it('should include in request GDPR options if available', () => {
- const request = utils.deepClone(bidderRequest);
-
- delete request.uspConsent;
-
- const requests = spec.buildRequests([bannerBid, mixedBid], request);
-
- expect(JSON.parse(requests[0].data)).to.deep.include({
- regs: {
- coppa: 0,
- ext: {
- gdpr: 1,
- gdprConsentString: 'gdprConsentString',
- },
- },
- });
- });
-
- it('should include in request USP (CPPA) options if available', () => {
- const request = utils.deepClone(bidderRequest);
-
- delete request.gdprConsent;
-
- const requests = spec.buildRequests([bannerBid, mixedBid], request);
-
- expect(JSON.parse(requests[0].data)).to.deep.include({
- regs: {
- coppa: 0,
- ext: {
- us_privacy: 'uspConsentString',
- },
- },
- });
- });
-
- it('should pass valid coppa flag based on config', () => {
- sandbox.stub(common, 'getConfig').withArgs('coppa').returns(true);
-
- const request = utils.deepClone(bidderRequest);
-
- delete request.gdprConsent;
- delete request.uspConsent;
-
- const requests = spec.buildRequests([bannerBid, mixedBid], request);
-
- expect(JSON.parse(requests[0].data)).to.deep.include({
- regs: {
- coppa: 1,
- },
- });
- });
-
- it('should pass GDPR, USP (CCPA) and COPPA options', () => {
- sandbox.stub(common, 'getConfig').withArgs('coppa').returns(true);
-
- const requests = spec.buildRequests([bannerBid, mixedBid], bidderRequest);
-
- expect(JSON.parse(requests[0].data)).to.deep.include({
- regs: {
- coppa: 1,
- ext: {
- gdpr: 1,
- gdprConsentString: 'gdprConsentString',
- us_privacy: 'uspConsentString',
- },
- },
- });
- });
-
- it('should generate and pass user id when is not present in cookie and local storage is not enabled', () => {
- sandbox.stub(storage, 'localStorageIsEnabled').returns(false);
- const requests = spec.buildRequests([bannerBid, mixedBid], bidderRequest);
- const rtbRequest = JSON.parse(requests[0].data);
-
- expect(rtbRequest.user.id).to.have.lengthOf(36);
- });
-
- it('should pass user id when is present in cookie', () => {
- sandbox.stub(storage, 'localStorageIsEnabled').returns(false);
- sandbox
- .stub(storage, 'getCookie')
- .returns('e35da6bb-f2f8-443b-aeff-3375bef45c9d');
- const requests = spec.buildRequests([bannerBid, mixedBid], bidderRequest);
- const rtbRequest = JSON.parse(requests[0].data);
-
- expect(rtbRequest.user.id).to.equal(
- 'e35da6bb-f2f8-443b-aeff-3375bef45c9d'
- );
- });
-
- it('should pass user id if is present in local storage', () => {
- sandbox.stub(storage, 'localStorageIsEnabled').returns(true);
- sandbox
- .stub(storage, 'getDataFromLocalStorage')
- .returns('e35da6bb-f2f8-443b-aeff-3375bef45c9d');
-
- const requests = spec.buildRequests([bannerBid, mixedBid], bidderRequest);
- const rtbRequest = JSON.parse(requests[0].data);
- expect(rtbRequest.user.id).to.equal(
- 'e35da6bb-f2f8-443b-aeff-3375bef45c9d'
- );
- });
-
- it('should regenerate user id if it is invalid', () => {
- sandbox.stub(storage, 'localStorageIsEnabled').returns(true);
- sandbox.stub(storage, 'getDataFromLocalStorage').returns('foo');
-
- const requests = spec.buildRequests([bannerBid, mixedBid], bidderRequest);
- const rtbRequest = JSON.parse(requests[0].data);
- expect(rtbRequest.user.id).to.have.lengthOf(36);
- });
-
- it('should pass schain if available', () => {
- const bid = utils.deepClone(bannerBid);
- const schain = {
- ver: '1.0',
- complete: 1,
- nodes: [
- {
- asi: 'exchange1.com',
- sid: '1234',
- hp: 1,
- rid: 'bid-request-1',
- name: 'publisher',
- domain: 'publisher.com',
- },
- ],
- };
-
- bid.schain = schain;
-
- const requests = spec.buildRequests([bid], bidderRequest);
-
- expect(JSON.parse(requests[0].data).source).to.deep.include({
- ext: {
- schain,
- },
- });
- });
-
- it('return empty array if there are no valid bid requests', () => {
- const requests = spec.buildRequests([], bidderRequest);
-
- expect(requests).to.deep.equal([]);
- });
-
- it('should prioritize device information set in config', () => {
- const ua =
- 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_5_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1.1 Mobile/15E148 Safari/604.1';
-
- sandbox.stub(common, 'getConfig').withArgs('device').returns({
- ua,
- });
-
- const requests = spec.buildRequests([bannerBid], bidderRequest);
-
- expect(JSON.parse(requests[0].data).device.ua).to.equal(ua);
- });
-
- it('should include bidder config', () => {
- const bidderConfig = {
- bidTTL: 500,
- defaultCurrency: 'USD',
- exchangeUrl: 'https://exsb.fattail.com/openrtb2',
- winTrackingEnabled: true,
- winTrackingUrl: 'https://evsb.fattail.com/wins',
- orgId: '129576',
- };
- sandbox
- .stub(common, 'getConfig')
- .withArgs('adbookpsp')
- .returns(bidderConfig);
-
- const requests = spec.buildRequests([bannerBid], bidderRequest);
- const request = JSON.parse(requests[0].data);
-
- expect(request.ext).to.deep.include({
- adbook: {
- config: bidderConfig,
- version: {
- adapter: VERSION,
- prebid: '$prebid.version$',
- },
- },
- });
- });
-
- it('should use bidder video params if they are set', () => {
- const videoBidWithParams = utils.deepClone(videoBid);
- const bidderVideoParams = {
- api: [1, 2],
- mimes: ['video/mp4', 'video/x-flv'],
- playbackmethod: [3, 4],
- protocols: [5, 6],
- minduration: 10,
- maxduration: 30,
- };
- videoBidWithParams.params.video = bidderVideoParams;
-
- const requests = spec.buildRequests([videoBidWithParams], bidderRequest);
- const request = JSON.parse(requests[0].data);
-
- expect(request.imp[0]).to.deep.include({
- video: {
- ...bidderVideoParams,
- w: videoBidWithParams.mediaTypes.video.playerSize[0][0],
- h: videoBidWithParams.mediaTypes.video.playerSize[0][1],
- },
- });
- });
- });
-
- describe('interpretResponse()', () => {
- it('should correctly interpret valid response', () => {
- sandbox
- .stub(common, 'getConfig')
- .withArgs('adbookpsp.defaultCurrency')
- .returns(DEFAULT_BIDDER_CONFIG.defaultCurrency)
- .withArgs('adbookpsp.bidTTL')
- .returns(DEFAULT_BIDDER_CONFIG.bidTTL);
-
- const response = utils.deepClone(exchangeResponse);
- const bids = spec.interpretResponse(
- { body: response },
- { data: JSON.stringify(exchangeBidRequest) }
- );
-
- expect(bids).to.deep.equal([
- {
- bidderRequestId: '999ccceeee11',
- requestId: '9873kfse',
- bidId: 'bid123456',
- width: 300,
- height: 250,
- ttl: 300,
- cpm: 0.5,
- currency: 'USD',
- creativeId: '123456789',
- mediaType: 'banner',
- meta: {
- advertiserDomains: ['advertiser.com'],
- mediaType: 'banner',
- primaryCatId: 'IAB2-1',
- secondaryCatIds: ['IAB2-2', 'IAB2-3'],
- },
- netRevenue: true,
- nurl: 'http://win.example.url',
- adUnitCode: 'div-gpt-ad-837465923534-0',
- ad: 'ad
',
- adId: '5',
- adserverTargeting: {
- hb_ad_ord_adbookpsp: '0_0', // the value to the left of the underscore represents the index of the ad id and the number to the right represents the order index
- hb_adid_c_adbookpsp: '5',
- hb_deal_adbookpsp: 'werwetwerw',
- hb_liid_adbookpsp: '2342345',
- hb_ordid_adbookpsp: '567843',
- },
- referrer: 'http://prebid-test-page.io:8080/banner.html',
- lineItemId: '2342345',
- },
- {
- ad: '',
- adId: '10',
- adUnitCode: 'div-gpt-ad-837465923534-0',
- adserverTargeting: {
- hb_ad_ord_adbookpsp: '0_0',
- hb_adid_c_adbookpsp: '10',
- hb_deal_adbookpsp: 'dsfxcxcvxc',
- hb_liid_adbookpsp: '2121221',
- hb_ordid_adbookpsp: '5678234',
- },
- bidId: 'bid4321',
- bidderRequestId: '999ccceeee11',
- cpm: 0.45,
- creativeId: '543123',
- currency: 'USD',
- height: 250,
- lineItemId: '2121221',
- mediaType: 'video',
- meta: {
- advertiserDomains: ['advertiser.com', 'campaign.advertiser.com'],
- mediaType: 'video',
- primaryCatId: 'IAB2-3',
- secondaryCatIds: [],
- },
- netRevenue: true,
- nurl: 'http://win.example.url',
- referrer: 'http://prebid-test-page.io:8080/banner.html',
- requestId: '120kfeske',
- ttl: 300,
- vastXml:
- '',
- width: 300,
- },
- ]);
- });
-
- it('should place valid GAM targeting for all bids when multiple bids are present for multiple impressions', () => {
- const response = utils.deepClone(exchangeResponse);
-
- const bids = spec.interpretResponse(
- { body: response },
- { data: JSON.stringify(exchangeBidRequest) }
- );
-
- expect(bids).to.have.length(2);
- expect(bids[0].adserverTargeting).to.deep.equal({
- hb_ad_ord_adbookpsp: '0_0',
- hb_adid_c_adbookpsp: '5',
- hb_deal_adbookpsp: 'werwetwerw',
- hb_liid_adbookpsp: '2342345',
- hb_ordid_adbookpsp: '567843',
- });
- expect(bids[1].adserverTargeting).to.deep.equal({
- hb_ad_ord_adbookpsp: '0_0',
- hb_adid_c_adbookpsp: '10',
- hb_deal_adbookpsp: 'dsfxcxcvxc',
- hb_liid_adbookpsp: '2121221',
- hb_ordid_adbookpsp: '5678234',
- });
- });
-
- it('should place valid GAM targeting for all bids when multiple bids are present for single impression', () => {
- const response = utils.deepClone(exchangeResponse);
-
- response.seatbid[1].bid[0].impid = '9873kfse';
-
- const bids = spec.interpretResponse(
- { body: response },
- { data: JSON.stringify(exchangeBidRequest) }
- );
-
- expect(bids).to.have.length(2);
- for (const bid of bids) {
- expect(bid.adserverTargeting).to.deep.equal({
- hb_ad_ord_adbookpsp: '0_0,1_0',
- hb_adid_c_adbookpsp: '5,10',
- hb_deal_adbookpsp: 'werwetwerw,dsfxcxcvxc',
- hb_liid_adbookpsp: '2342345,2121221',
- hb_ordid_adbookpsp: '567843,5678234',
- });
- }
- });
-
- it('should return no bids if response id does not match bidderRequestId', () => {
- const body = utils.deepClone(exchangeResponse);
- body.id = '999';
-
- const bids = spec.interpretResponse(
- { body },
- { data: JSON.stringify(exchangeBidRequest) }
- );
-
- expect(bids).to.deep.equal([]);
- });
-
- it('should return no bids if response does not include seatbid', () => {
- const body = utils.deepClone(exchangeResponse);
- delete body.seatbid;
-
- const bids = spec.interpretResponse(
- { body },
- { data: JSON.stringify(exchangeBidRequest) }
- );
-
- expect(bids).to.deep.equal([]);
- });
-
- it('should return no bids if response does not include any bids', () => {
- const body = utils.deepClone(exchangeResponse);
- body.seatbid = [];
-
- const bids = spec.interpretResponse(
- { body },
- { data: JSON.stringify(exchangeBidRequest) }
- );
-
- expect(bids).to.deep.equal([]);
- });
-
- it('should exclude invalid video bids', () => {
- const body = utils.deepClone(exchangeResponse);
-
- body.seatbid.shift();
- body.seatbid[0].bid[0].adid = 34;
-
- const bids = spec.interpretResponse(
- { body },
- { data: JSON.stringify(exchangeBidRequest) }
- );
-
- expect(bids).to.deep.equal([]);
- });
-
- it('should exclude invalid banner bids', () => {
- const body = utils.deepClone(exchangeResponse);
- const request = utils.deepClone(exchangeBidRequest);
-
- body.seatbid.pop();
-
- delete body.seatbid[0].bid[0].w;
- delete body.seatbid[0].bid[0].h;
-
- request.imp[0].banner.format.push({ w: 300, h: 600 });
-
- const bids = spec.interpretResponse(
- { body },
- { data: JSON.stringify(request) }
- );
-
- expect(bids).to.deep.equal([]);
- });
-
- it('should not include invalid banner bids in targeting map', () => {
- const body = utils.deepClone(exchangeResponse);
- const request = utils.deepClone(exchangeBidRequest);
-
- body.seatbid[0].bid[0].h = '600';
-
- request.imp[0].banner.format.push({ w: 300, h: 600 });
-
- const bids = spec.interpretResponse(
- { body },
- { data: JSON.stringify(exchangeBidRequest) }
- );
-
- expect(bids[0].adserverTargeting).to.deep.equal({
- hb_ad_ord_adbookpsp: '0_0',
- hb_adid_c_adbookpsp: '10',
- hb_deal_adbookpsp: 'dsfxcxcvxc',
- hb_liid_adbookpsp: '2121221',
- hb_ordid_adbookpsp: '5678234',
- });
- });
-
- it('should not validate banner bid dimensions if bid request has single size', () => {
- const body = utils.deepClone(exchangeResponse);
- const request = utils.deepClone(exchangeBidRequest);
-
- delete body.seatbid[1];
- delete body.seatbid[0].bid[0].h;
- delete body.seatbid[0].bid[0].w;
-
- const bids = spec.interpretResponse(
- { body },
- { data: JSON.stringify(request) }
- );
-
- expect(bids.length).to.equal(1);
- });
- });
-
- describe('getUserSyncs()', () => {
- it('should return user syncs if there are included in the response and syncs are enabled', () => {
- const syncs = spec.getUserSyncs(
- {
- pixelEnabled: true,
- iframeEnabled: true,
- },
- [{ body: exchangeResponse }]
- );
-
- expect(syncs).to.deep.equal([
- {
- type: 'image',
- url: 'http://sometest.com/sync/1234567',
- },
- {
- type: 'iframe',
- url: 'http://sometest.com/sync/1234567',
- },
- ]);
- });
-
- it('should not return user syncs if syncs are disabled', () => {
- const syncs = spec.getUserSyncs(
- {
- pixelEnabled: false,
- iframeEnabled: false,
- },
- [{ body: exchangeResponse }]
- );
-
- expect(syncs).to.deep.equal([]);
- });
-
- it('should return image syncs if they are enabled', () => {
- const syncs = spec.getUserSyncs(
- {
- pixelEnabled: true,
- iframeEnabled: false,
- },
- [{ body: exchangeResponse }]
- );
-
- expect(syncs).to.deep.equal([
- {
- type: 'image',
- url: 'http://sometest.com/sync/1234567',
- },
- ]);
- });
-
- it('should return iframe syncs if they are enabled', () => {
- const syncs = spec.getUserSyncs(
- {
- pixelEnabled: false,
- iframeEnabled: true,
- },
- [{ body: exchangeResponse }]
- );
-
- expect(syncs).to.deep.equal([
- {
- type: 'iframe',
- url: 'http://sometest.com/sync/1234567',
- },
- ]);
- });
-
- it('should append COPPA status to sync url', () => {
- sandbox.stub(common, 'getConfig').withArgs('coppa').returns(true);
- const syncs = spec.getUserSyncs(
- {
- pixelEnabled: false,
- iframeEnabled: true,
- },
- [{ body: utils.deepClone(exchangeResponse) }]
- );
-
- expect(syncs).to.deep.equal([
- {
- type: 'iframe',
- url: 'http://sometest.com/sync/1234567?coppa=1',
- },
- ]);
- });
-
- it('should append GDPR consent data to url', () => {
- sandbox.stub(common, 'getConfig').withArgs('coppa').returns(false);
- const syncs = spec.getUserSyncs(
- {
- pixelEnabled: false,
- iframeEnabled: true,
- },
- [{ body: utils.deepClone(exchangeResponse) }],
- { gdprApplies: true, consentString: 'gdprConsentString' }
- );
-
- expect(syncs).to.deep.equal([
- {
- type: 'iframe',
- url: 'http://sometest.com/sync/1234567?gdpr=1&consentString=gdprConsentString',
- },
- ]);
- });
-
- it('should append USP (CCPA) consent string to url', () => {
- const syncs = spec.getUserSyncs(
- {
- pixelEnabled: false,
- iframeEnabled: true,
- },
- [{ body: utils.deepClone(exchangeResponse) }],
- undefined,
- 'uspConsentString'
- );
-
- expect(syncs).to.deep.equal([
- {
- type: 'iframe',
- url: 'http://sometest.com/sync/1234567?us_privacy=uspConsentString',
- },
- ]);
- });
-
- it('should append COPPA, GDPR and USP (CCPA) url params', () => {
- sandbox.stub(common, 'getConfig').withArgs('coppa').returns(true);
- const syncs = spec.getUserSyncs(
- {
- pixelEnabled: true,
- iframeEnabled: true,
- },
- [{ body: utils.deepClone(exchangeResponse) }],
- { gdprApplies: true, consentString: 'gdprConsentString' },
- 'uspConsentString'
- );
-
- expect(syncs).to.deep.equal([
- {
- type: 'image',
- url: 'http://sometest.com/sync/1234567?gdpr=1&consentString=gdprConsentString&us_privacy=uspConsentString&coppa=1',
- },
- {
- type: 'iframe',
- url: 'http://sometest.com/sync/1234567?gdpr=1&consentString=gdprConsentString&us_privacy=uspConsentString&coppa=1',
- },
- ]);
- });
-
- it('should respect url param syntax when appending params', () => {
- sandbox.stub(common, 'getConfig').withArgs('coppa').returns(true);
-
- const response = utils.deepClone(exchangeResponse);
-
- response.ext.sync[0] = {
- type: 'image',
- url: 'http://sometest.com/sync/1234567?horseCount=4',
- };
-
- const syncs = spec.getUserSyncs(
- {
- pixelEnabled: true,
- iframeEnabled: false,
- },
- [{ body: response }],
- { gdprApplies: true, consentString: 'gdprConsentString' },
- 'uspConsentString'
- );
-
- expect(syncs).to.deep.equal([
- {
- type: 'image',
- url: 'http://sometest.com/sync/1234567?horseCount=4&gdpr=1&consentString=gdprConsentString&us_privacy=uspConsentString&coppa=1',
- },
- ]);
- });
- });
-
- describe('onBidWon()', () => {
- it('should track win if win tracking is enabled', () => {
- const spy = sandbox.spy(utils, 'triggerPixel');
-
- sandbox
- .stub(common, 'getConfig')
- .withArgs('adbookpsp.winTrackingEnabled')
- .returns(true)
- .withArgs('adbookpsp.winTrackingUrl')
- .returns('https://ev.fattail.com/wins');
-
- spec.onBidWon({
- requestId: 'requestId',
- bidderRequestId: 'bidderRequestId',
- bidId: 'bidId',
- });
-
- expect(
- spy.calledWith(
- 'https://ev.fattail.com/wins?impId=requestId&reqId=bidderRequestId&bidId=bidId'
- )
- ).to.equal(true);
- });
- it('should call bid.nurl if win tracking is enabled', () => {
- const spy = sandbox.spy(utils, 'triggerPixel');
-
- sandbox
- .stub(common, 'getConfig')
- .withArgs('adbookpsp.winTrackingEnabled')
- .returns(true)
- .withArgs('adbookpsp.winTrackingUrl')
- .returns('https://ev.fattail.com/wins');
-
- spec.onBidWon({
- requestId: 'requestId',
- bidderRequestId: 'bidderRequestId',
- bidId: 'bidId',
- nurl: 'http://win.example.url',
- });
-
- expect(spy.calledWith('http://win.example.url')).to.equal(true);
- });
- it('should not track win nor call bid.nurl if win tracking is disabled', () => {
- const spy = sandbox.spy(utils, 'triggerPixel');
-
- sandbox
- .stub(common, 'getConfig')
- .withArgs('adbookpsp.winTrackingEnabled')
- .returns(false)
- .withArgs('adbookpsp.winTrackingUrl')
- .returns('https://ev.fattail.com/wins');
-
- spec.onBidWon({
- requestId: 'requestId',
- bidderRequestId: 'bidderRequestId',
- bidId: 'bidId',
- nurl: 'http://win.example.url',
- });
-
- expect(spy.notCalled).to.equal(true);
- });
- });
-});
-
-const bidderRequest = {
- auctionId: 'aaccee333311',
- bidderRequestId: '999ccceeee11',
- timeout: 200,
- refererInfo: {
- page: 'http://mock-page.com',
- domain: 'mock-page.com',
- ref: 'http://example-domain.com/foo',
- },
- gdprConsent: {
- gdprApplies: 1,
- consentString: 'gdprConsentString',
- },
- uspConsent: 'uspConsentString',
- ortb2: {
- source: {
- tid: 'aaccee333311'
- }
- }
-};
-
-const bannerBid = {
- bidder: 'adbookpsp',
- params: {
- placementId: '12390123',
- },
- mediaTypes: {
- banner: {
- sizes: [
- [300, 250],
- [300, 600],
- ],
- },
- },
- adUnitCode: 'div-gpt-ad-837465923534-0',
- transactionId: 'sfsf89e-mck3-asf3-fe45-feksjfi123mfs',
- bidId: '9873kfse',
- bidderRequestId: '999ccceeee11',
- auctionId: 'aaccee333311',
- lineItemId: 123123123,
-};
-
-const bannerExchangeRequest = {
- id: '999ccceeee11',
- device: {
- h: 100,
- w: 100,
- js: true,
- ua: navigator.userAgent,
- dnt: 0,
- },
- regs: {
- coppa: 0,
- ext: {
- gdpr: 1,
- gdprConsentString: 'gdprConsentString',
- us_privacy: 'uspConsentString',
- },
- },
- site: {
- domain: 'mock-page.com',
- page: 'http://mock-page.com',
- ref: 'http://example-domain.com/foo',
- },
- source: {
- fd: 1,
- tid: 'aaccee333311',
- },
- tmax: 200,
- user: {
- gdprConsentString: 'gdprConsentString',
- id: '54444444-5444-4444-9444-544444444444',
- },
- imp: [
- {
- banner: {
- format: [
- {
- w: 300,
- h: 250,
- },
- {
- w: 300,
- h: 600,
- },
- ],
- w: 300,
- h: 250,
- topframe: 0,
- pos: 0,
- },
- ext: {
- adbook: {
- placementId: '12390123',
- },
- },
- id: '9873kfse',
- tagid: 'div-gpt-ad-837465923534-0',
- },
- ],
- ext: {
- adbook: {
- version: {
- adapter: VERSION,
- prebid: '$prebid.version$',
- },
- },
- },
-};
-
-const videoBid = {
- bidder: 'adbookpsp',
- params: {
- placementId: '129576',
- },
- mediaTypes: {
- video: {
- api: [1, 2, 4, 6],
- mimes: ['video/mp4'],
- playbackmethod: [2, 4, 6],
- playerSize: [[400, 300]],
- protocols: [3, 4, 7, 8, 10],
- },
- },
- adUnitCode: 'div-gpt-ad-9383743831-6',
- transactionId: 'aacc3fasf-fere-1335-8m1s-785393mc3fj',
- bidId: '120kfeske',
- bidderRequestId: '999ccceeee11',
- auctionId: 'aaccee333311',
- lineItemId: 321321321,
-};
-
-const videoExchangeRequest = {
- id: '999ccceeee11',
- device: {
- h: 100,
- w: 100,
- js: true,
- ua: navigator.userAgent,
- dnt: 0,
- },
- regs: {
- coppa: 0,
- ext: {
- gdpr: 1,
- gdprConsentString: 'gdprConsentString',
- us_privacy: 'uspConsentString',
- },
- },
- site: {
- domain: 'mock-page.com',
- page: 'http://mock-page.com',
- ref: 'http://example-domain.com/foo',
- },
- source: {
- fd: 1,
- tid: 'aaccee333311',
- },
- tmax: 200,
- user: {
- gdprConsentString: 'gdprConsentString',
- id: '54444444-5444-4444-9444-544444444444',
- },
- imp: [
- {
- video: {
- api: [1, 2, 4, 6],
- h: 300,
- mimes: ['video/mp4'],
- playbackmethod: [2, 4, 6],
- protocols: [3, 4, 7, 8, 10],
- w: 400,
- },
- ext: {
- adbook: {
- placementId: '129576',
- },
- },
- id: '120kfeske',
- tagid: 'div-gpt-ad-9383743831-6',
- },
- ],
- ext: {
- adbook: {
- version: {
- adapter: VERSION,
- prebid: '$prebid.version$',
- },
- },
- },
-};
-
-const mixedBid = {
- bidder: 'adbookpsp',
- params: {
- orgId: '129576',
- },
- mediaTypes: {
- banner: {
- sizes: [[300, 600]],
- },
- video: {
- mimes: ['video/mp4'],
- playerSize: [[300, 600]],
- },
- },
- adUnitCode: 'div-gpt-ad-9383743831-5',
- transactionId: 'aacc3fasf-fere-1335-8m1s-785393mc3fj',
- bidId: '120kfeske',
- bidderRequestId: '999ccceeee11',
- auctionId: 'aaccee333311',
- lineItemId: 12341234,
-};
-
-const mixedExchangeRequest = {
- id: '999ccceeee11',
- device: {
- h: 100,
- w: 100,
- js: true,
- ua: navigator.userAgent,
- dnt: 0,
- },
- regs: {
- coppa: 0,
- ext: {
- gdpr: 1,
- gdprConsentString: 'gdprConsentString',
- us_privacy: 'uspConsentString',
- },
- },
- site: {
- domain: 'mock-page.com',
- page: 'http://mock-page.com',
- ref: 'http://example-domain.com/foo',
- },
- source: {
- fd: 1,
- tid: 'aaccee333311',
- },
- tmax: 200,
- user: {
- gdprConsentString: 'gdprConsentString',
- id: '54444444-5444-4444-9444-544444444444',
- },
- imp: [
- {
- banner: {
- format: [
- {
- w: 300,
- h: 600,
- },
- ],
- w: 300,
- h: 600,
- topframe: 0,
- pos: 0,
- },
- video: {
- h: 600,
- mimes: ['video/mp4'],
- w: 300,
- },
- ext: {
- adbook: {
- orgId: '129576',
- },
- },
- id: '120kfeske',
- tagid: 'div-gpt-ad-9383743831-5',
- },
- ],
- ext: {
- adbook: {
- version: {
- adapter: VERSION,
- prebid: '$prebid.version$',
- },
- },
- },
-};
-
-const exchangeBidRequest = {
- id: '999ccceeee11',
- tmax: 200,
- imp: [
- {
- id: '9873kfse',
- banner: {
- format: [
- {
- w: 300,
- h: 250,
- },
- ],
- },
- video: {
- w: 300,
- h: 250,
- },
- tagid: 'div-gpt-ad-837465923534-0',
- },
- {
- id: '120kfeske',
- banner: {
- format: [
- {
- w: 300,
- h: 250,
- },
- ],
- },
- video: {
- w: 300,
- h: 250,
- },
- tagid: 'div-gpt-ad-837465923534-0',
- },
- ],
- source: {
- fd: 1,
- tid: 'aaccee333311',
- },
- site: {
- domain: location.hostname,
- page: location.href,
- ref: 'http://prebid-test-page.io:8080/banner.html',
- },
-};
-
-const exchangeResponse = {
- id: '999ccceeee11',
- seatbid: [
- {
- seat: 'adbookpsp',
- group: 0,
- bid: [
- {
- id: 'bid123456',
- w: 300,
- h: 250,
- impid: '9873kfse',
- price: 0.5,
- exp: 300,
- crid: '123456789',
- adm: 'ad
',
- adid: '5',
- dealid: 'werwetwerw',
- nurl: 'http://win.example.url',
- ext: {
- liid: '2342345',
- ordid: '567843',
- },
- cat: ['IAB2-1', 'IAB2-2', 'IAB2-3'],
- adomain: ['advertiser.com'],
- },
- ],
- },
- {
- seat: 'adbookpsp',
- group: 0,
- bid: [
- {
- id: 'bid4321',
- impid: '120kfeske',
- price: 0.45,
- exp: 300,
- crid: '543123',
- adm: '',
- adid: '10',
- dealid: 'dsfxcxcvxc',
- nurl: 'http://win.example.url',
- ext: {
- liid: '2121221',
- ordid: '5678234',
- },
- cat: ['IAB2-3'],
- adomain: ['advertiser.com', 'campaign.advertiser.com'],
- },
- ],
- },
- ],
- ext: {
- sync: [
- {
- type: 'image',
- url: 'http://sometest.com/sync/1234567',
- },
- {
- type: 'iframe',
- url: 'http://sometest.com/sync/1234567',
- },
- ],
- },
-};
diff --git a/test/spec/modules/adgenerationBidAdapter_spec.js b/test/spec/modules/adgenerationBidAdapter_spec.js
index 9a3bf61fe23..7a95d4272fb 100644
--- a/test/spec/modules/adgenerationBidAdapter_spec.js
+++ b/test/spec/modules/adgenerationBidAdapter_spec.js
@@ -27,10 +27,10 @@ describe('AdgenerationAdapter', function () {
});
it('should return false when required params are not passed', function () {
- let bid = Object.assign({}, bid);
- delete bid.params;
- bid.params = {};
- expect(spec.isBidRequestValid(bid)).to.equal(false);
+ let invalidBid = Object.assign({}, bid);
+ delete invalidBid.params;
+ invalidBid.params = {};
+ expect(spec.isBidRequestValid(invalidBid)).to.equal(false);
});
});
diff --git a/test/spec/modules/admanBidAdapter_spec.js b/test/spec/modules/admanBidAdapter_spec.js
index a9413860072..3cff5816356 100644
--- a/test/spec/modules/admanBidAdapter_spec.js
+++ b/test/spec/modules/admanBidAdapter_spec.js
@@ -134,7 +134,7 @@ describe('AdmanAdapter', function () {
for (let i = 0; i < placements.length; i++) {
let placement = placements[i];
expect(placement).to.have.all.keys('placementId', 'eids', 'bidId', 'traffic', 'schain', 'bidFloor',
- 'playerSize', 'minduration', 'maxduration', 'mimes', 'protocols', 'startdelay', 'placement', 'skip',
+ 'playerSize', 'minduration', 'maxduration', 'mimes', 'protocols', 'startdelay', 'placement', 'plcmt', 'skip',
'skipafter', 'minbitrate', 'maxbitrate', 'delivery', 'playbackmethod', 'api', 'linearity', 'ext');
expect(placement.ext).to.be.an('object')
expect(placement.ext).to.have.key('tid')
diff --git a/test/spec/modules/admaruBidAdapter_spec.js b/test/spec/modules/admaruBidAdapter_spec.js
index 813a4ed8b29..05ec9eca67f 100644
--- a/test/spec/modules/admaruBidAdapter_spec.js
+++ b/test/spec/modules/admaruBidAdapter_spec.js
@@ -39,12 +39,12 @@ describe('Admaru Adapter', function () {
});
it('should return false when required params are not passed', () => {
- let bid = Object.assign({}, bid);
- delete bid.params;
- bid.params = {
+ let invalidBid = Object.assign({}, bid);
+ delete invalidBid.params;
+ invalidBid.params = {
wrong: 'missing pub_id or adspace_id'
};
- expect(spec.isBidRequestValid(bid)).to.equal(false);
+ expect(spec.isBidRequestValid(invalidBid)).to.equal(false);
});
});
diff --git a/test/spec/modules/admixerBidAdapter_spec.js b/test/spec/modules/admixerBidAdapter_spec.js
index e254d2f2ff7..4b70f0cec00 100644
--- a/test/spec/modules/admixerBidAdapter_spec.js
+++ b/test/spec/modules/admixerBidAdapter_spec.js
@@ -61,20 +61,20 @@ describe('AdmixerAdapter', function () {
});
it('should return false when required params are not passed', function () {
- let bid = Object.assign({}, bid);
- delete bid.params;
- bid.params = {
+ let invalidBid = Object.assign({}, bid);
+ delete invalidBid.params;
+ invalidBid.params = {
placementId: 0,
};
- expect(spec.isBidRequestValid(bid)).to.equal(false);
+ expect(spec.isBidRequestValid(invalidBid)).to.equal(false);
});
it('should return false when params required by WL are not passed', function () {
- let wlBid = Object.assign({}, wlBid);
- delete wlBid.params;
- wlBid.params = {
+ let invalidBid = Object.assign({}, wlBid);
+ delete invalidBid.params;
+ invalidBid.params = {
clientId: 0,
};
- expect(spec.isBidRequestValid(wlBid)).to.equal(false);
+ expect(spec.isBidRequestValid(invalidBid)).to.equal(false);
});
});
diff --git a/test/spec/modules/adoceanBidAdapter_spec.js b/test/spec/modules/adoceanBidAdapter_spec.js
index 080b5bd5d1d..cff5e77d95b 100644
--- a/test/spec/modules/adoceanBidAdapter_spec.js
+++ b/test/spec/modules/adoceanBidAdapter_spec.js
@@ -36,13 +36,13 @@ describe('AdoceanAdapter', function () {
});
it('should return false when required params are not passed', function () {
- const bid = Object.assign({}, bid);
- delete bid.params;
- bid.params = {
+ const invalidBid = Object.assign({}, bid);
+ delete invalidBid.params;
+ invalidBid.params = {
'masterId': 0
};
- expect(spec.isBidRequestValid(bid)).to.equal(false);
+ expect(spec.isBidRequestValid(invalidBid)).to.equal(false);
});
});
diff --git a/test/spec/modules/adomikAnalyticsAdapter_spec.js b/test/spec/modules/adomikAnalyticsAdapter_spec.js
deleted file mode 100644
index 703e6ed8992..00000000000
--- a/test/spec/modules/adomikAnalyticsAdapter_spec.js
+++ /dev/null
@@ -1,253 +0,0 @@
-import adomikAnalytics from 'modules/adomikAnalyticsAdapter.js';
-import { expect } from 'chai';
-import {EVENTS} from 'src/constants.js';
-
-let events = require('src/events');
-let adapterManager = require('src/adapterManager').default;
-
-describe('Adomik Prebid Analytic', function () {
- let sendEventStub;
- let sendWonEventStub;
- let clock;
-
- beforeEach(function () {
- clock = sinon.useFakeTimers();
- sinon.spy(adomikAnalytics, 'track');
- sendEventStub = sinon.stub(adomikAnalytics, 'sendTypedEvent');
- sendWonEventStub = sinon.stub(adomikAnalytics, 'sendWonEvent');
- sinon.stub(events, 'getEvents').returns([]);
- adomikAnalytics.currentContext = undefined;
-
- adapterManager.registerAnalyticsAdapter({
- code: 'adomik',
- adapter: adomikAnalytics
- });
- });
-
- afterEach(function () {
- adomikAnalytics.disableAnalytics();
- clock.restore();
- adomikAnalytics.track.restore();
- sendEventStub.restore();
- sendWonEventStub.restore();
- events.getEvents.restore();
- });
-
- describe('adomikAnalytics.enableAnalytics', function () {
- it('should catch all events', function (done) {
- const initOptions = {
- id: '123456',
- url: 'testurl'
- };
-
- const bid = {
- bidderCode: 'adomik_test_bid',
- width: 10,
- height: 10,
- statusMessage: 'Bid available',
- adId: '1234',
- auctionId: '',
- responseTimestamp: 1496410856397,
- requestTimestamp: 1496410856295,
- cpm: 0.1,
- bidder: 'biddertest',
- adUnitCode: '0000',
- timeToRespond: 100,
- placementCode: 'placementtest'
- }
-
- // Step 1: Initialize adapter
- adapterManager.enableAnalytics({
- provider: 'adomik',
- options: initOptions
- });
- expect(adomikAnalytics.currentContext).to.deep.equal({
- uid: '123456',
- url: 'testurl',
- sampling: undefined,
- id: '',
- timeouted: false
- });
-
- // Step 2: Send init auction event
- events.emit(EVENTS.AUCTION_INIT, {config: initOptions, auctionId: 'test-test-test'});
-
- expect(adomikAnalytics.currentContext).to.deep.equal({
- uid: '123456',
- url: 'testurl',
- sampling: undefined,
- id: 'test-test-test',
- timeouted: false
- });
-
- // Step 3: Send bid requested event
- events.emit(EVENTS.BID_REQUESTED, { bids: [bid] });
-
- expect(adomikAnalytics.bucketEvents.length).to.equal(1);
- expect(adomikAnalytics.bucketEvents[0]).to.deep.equal({
- type: 'request',
- event: {
- bidder: 'BIDDERTEST',
- placementCode: '0000',
- }
- });
-
- // Step 4: Send bid response event
- events.emit(EVENTS.BID_RESPONSE, bid);
-
- expect(adomikAnalytics.bucketEvents.length).to.equal(2);
- expect(adomikAnalytics.bucketEvents[1]).to.deep.equal({
- type: 'response',
- event: {
- bidder: 'ADOMIK_TEST_BID',
- placementCode: '0000',
- id: '1234',
- status: 'VALID',
- cpm: 0.1,
- size: {
- width: 10,
- height: 10
- },
- timeToRespond: 100,
- afterTimeout: false,
- }
- });
-
- // Step 5: Send bid won event
- events.emit(EVENTS.BID_WON, bid);
-
- expect(adomikAnalytics.bucketEvents.length).to.equal(2);
-
- // Step 6: Send bid timeout event
- events.emit(EVENTS.BID_TIMEOUT, {});
-
- expect(adomikAnalytics.currentContext.timeouted).to.equal(true);
-
- // Step 7: Send auction end event
- events.emit(EVENTS.AUCTION_END, {});
-
- setTimeout(function() {
- sinon.assert.callCount(sendEventStub, 1);
- sinon.assert.callCount(sendWonEventStub, 1);
- done();
- }, 3000);
-
- clock.tick(5000);
-
- sinon.assert.callCount(adomikAnalytics.track, 6);
- });
-
- describe('when sampling is undefined', function () {
- beforeEach(function() {
- adapterManager.enableAnalytics({
- provider: 'adomik',
- options: { id: '123456', url: 'testurl' }
- });
- });
-
- it('is enabled', function () {
- expect(adomikAnalytics.currentContext).is.not.null;
- });
- });
-
- describe('when sampling is 0', function () {
- beforeEach(function() {
- adapterManager.enableAnalytics({
- provider: 'adomik',
- options: { id: '123456', url: 'testurl', sampling: 0 }
- });
- });
-
- it('is disabled', function () {
- expect(adomikAnalytics.currentContext).to.equal(undefined);
- });
- });
-
- describe('when sampling is 1', function () {
- beforeEach(function() {
- adapterManager.enableAnalytics({
- provider: 'adomik',
- options: { id: '123456', url: 'testurl', sampling: 1 }
- });
- });
-
- it('is enabled', function () {
- expect(adomikAnalytics.currentContext).is.not.null;
- });
- });
-
- describe('when options is not defined', function () {
- beforeEach(function() {
- adapterManager.enableAnalytics({ provider: 'adomik' });
- });
-
- it('is disabled', function () {
- expect(adomikAnalytics.currentContext).to.equal(undefined);
- });
- });
-
- describe('when id is not defined in options', function () {
- beforeEach(function() {
- adapterManager.enableAnalytics({ provider: 'adomik', url: 'xxx' });
- });
-
- it('is disabled', function () {
- expect(adomikAnalytics.currentContext).to.equal(undefined);
- });
- });
-
- describe('when url is not defined in options', function () {
- beforeEach(function() {
- adapterManager.enableAnalytics({ provider: 'adomik', id: 'xxx' });
- });
-
- it('is disabled', function () {
- expect(adomikAnalytics.currentContext).to.equal(undefined);
- });
- });
- });
-
- describe('adomikAnalytics.getKeyValues', function () {
- it('returns [undefined, undefined]', function () {
- let [testId, testValue] = adomikAnalytics.getKeyValues()
- expect(testId).to.equal(undefined);
- expect(testValue).to.equal(undefined);
- });
-
- describe('when test is in scope', function () {
- beforeEach(function () {
- sessionStorage.setItem(window.location.hostname + '_AdomikTestInScope', true);
- });
-
- it('returns [undefined, undefined]', function () {
- let [testId, testValue] = adomikAnalytics.getKeyValues()
- expect(testId).to.equal(undefined);
- expect(testValue).to.equal(undefined);
- });
-
- describe('when key values are defined', function () {
- beforeEach(function () {
- sessionStorage.setItem(window.location.hostname + '_AdomikTest', '{"testId":"12345","testOptionLabel":"1000"}');
- });
-
- it('returns key values', function () {
- let [testId, testValue] = adomikAnalytics.getKeyValues()
- expect(testId).to.equal('12345');
- expect(testValue).to.equal('1000');
- });
-
- describe('when preventTest is on', function () {
- beforeEach(function () {
- sessionStorage.setItem(window.location.hostname + '_NoAdomikTest', true);
- });
-
- it('returns [undefined, undefined]', function () {
- let [testId, testValue] = adomikAnalytics.getKeyValues()
- expect(testId).to.equal(undefined);
- expect(testValue).to.equal(undefined);
- });
- });
- });
- });
- });
-});
diff --git a/test/spec/modules/adrelevantisBidAdapter_spec.js b/test/spec/modules/adrelevantisBidAdapter_spec.js
index 7f24176e850..db637663f39 100644
--- a/test/spec/modules/adrelevantisBidAdapter_spec.js
+++ b/test/spec/modules/adrelevantisBidAdapter_spec.js
@@ -34,12 +34,12 @@ describe('AdrelevantisAdapter', function () {
});
it('should return false when required params are not passed', function () {
- let bid = Object.assign({}, bid);
- delete bid.params;
- bid.params = {
+ let invalidBid = Object.assign({}, bid);
+ delete invalidBid.params;
+ invalidBid.params = {
'placementId': 0
};
- expect(spec.isBidRequestValid(bid)).to.equal(false);
+ expect(spec.isBidRequestValid(invalidBid)).to.equal(false);
});
});
diff --git a/test/spec/modules/adyoulikeBidAdapter_spec.js b/test/spec/modules/adyoulikeBidAdapter_spec.js
index bafa031cd25..367fc62c719 100644
--- a/test/spec/modules/adyoulikeBidAdapter_spec.js
+++ b/test/spec/modules/adyoulikeBidAdapter_spec.js
@@ -619,19 +619,19 @@ describe('Adyoulike Adapter', function () {
});
it('should return false when required params are not passed', function () {
- let bid = Object.assign({}, bid);
- delete bid.size;
+ let invalidBid = Object.assign({}, bid);
+ delete invalidBid.sizes;
- expect(!!spec.isBidRequestValid(bid)).to.equal(false);
+ expect(!!spec.isBidRequestValid(invalidBid)).to.equal(false);
});
it('should return false when required params are not passed', function () {
- let bid = Object.assign({}, bid);
- delete bid.params;
- bid.params = {
+ let invalidBid = Object.assign({}, bid);
+ delete invalidBid.params;
+ invalidBid.params = {
'placement': 0
};
- expect(!!spec.isBidRequestValid(bid)).to.equal(false);
+ expect(!!spec.isBidRequestValid(invalidBid)).to.equal(false);
});
});
diff --git a/test/spec/modules/ajaBidAdapter_spec.js b/test/spec/modules/ajaBidAdapter_spec.js
index dbc72d113f4..bd2bdd3e407 100644
--- a/test/spec/modules/ajaBidAdapter_spec.js
+++ b/test/spec/modules/ajaBidAdapter_spec.js
@@ -24,12 +24,12 @@ describe('AjaAdapter', function () {
});
it('should return false when required params are not passed', function () {
- let bid = Object.assign({}, bid);
- delete bid.params;
- bid.params = {
+ let invalidBid = Object.assign({}, bid);
+ delete invalidBid.params;
+ invalidBid.params = {
'asi': 0
};
- expect(spec.isBidRequestValid(bid)).to.equal(false);
+ expect(spec.isBidRequestValid(invalidBid)).to.equal(false);
});
});
diff --git a/test/spec/modules/amxBidAdapter_spec.js b/test/spec/modules/amxBidAdapter_spec.js
index a84a30a945a..5769afa1b2b 100644
--- a/test/spec/modules/amxBidAdapter_spec.js
+++ b/test/spec/modules/amxBidAdapter_spec.js
@@ -442,7 +442,6 @@ describe('AmxBidAdapter', () => {
it('will collect & forward RTI user IDs', () => {
const randomRTI = `greatRTI${Math.floor(Math.random() * 100)}`;
const userId = {
- britepoolid: 'sample-britepool',
criteoId: 'sample-criteo',
digitrustid: { data: { id: 'sample-digitrust' } },
id5id: { uid: 'sample-id5' },
diff --git a/test/spec/modules/anPspParamsConverter_spec.js b/test/spec/modules/anPspParamsConverter_spec.js
new file mode 100644
index 00000000000..0d01d0e78a9
--- /dev/null
+++ b/test/spec/modules/anPspParamsConverter_spec.js
@@ -0,0 +1,134 @@
+import { expect } from 'chai';
+
+import {convertAnParams} from '../../../modules/anPspParamsConverter';
+import { config } from '../../../src/config.js';
+import { deepClone } from '../../../src/utils';
+import adapterManager from '../../../src/adapterManager.js';
+
+describe('anPspParamsConverter', function () {
+ let configStub;
+ let resolveAliasStub;
+ let didHookRun = false;
+
+ const bidderRequests = [{
+ bidderCode: 'appnexus',
+ bids: [{
+ bidder: 'appnexus',
+ src: 's2s',
+ params: {
+ member: 958,
+ invCode: 12345,
+ placementId: '10001',
+ keywords: {
+ music: 'rock',
+ genre: ['80s', '90s']
+ },
+ publisherId: '111',
+ use_payment_rule: true
+ }
+ }]
+ }];
+
+ beforeEach(function () {
+ configStub = sinon.stub(config, 'getConfig');
+ resolveAliasStub = sinon.stub(adapterManager, 'resolveAlias').callsFake(function (tarBidder) {
+ return (tarBidder === 'rubicon') ? 'rubicon' : 'appnexus';
+ });
+ });
+
+ afterEach(function () {
+ didHookRun = false;
+ configStub.restore();
+ resolveAliasStub.restore();
+ });
+
+ it('does not modify params when appnexus is not in s2sconfig', function () {
+ configStub.callsFake(function () {
+ return {
+ bidders: ['rubicon']
+ };
+ });
+
+ const testBidderRequests = deepClone(bidderRequests);
+
+ debugger; //eslint-disable-line
+ convertAnParams(function () {
+ didHookRun = true;
+ }, testBidderRequests);
+
+ expect(didHookRun).to.equal(true);
+ const resultParams = testBidderRequests[0].bids[0].params;
+ expect(resultParams.member).to.equal(958);
+ expect(resultParams.invCode).to.equal(12345);
+ expect(resultParams.placementId).to.equal('10001');
+ expect(resultParams.keywords).to.deep.equal({
+ music: 'rock',
+ genre: ['80s', '90s']
+ });
+ expect(resultParams.publisherId).to.equal('111');
+ expect(resultParams.use_payment_rule).to.equal(true);
+ });
+
+ const tests = [{
+ testName: 'modifies params when appnexus is the bidder',
+ fakeConfigFn: function () {
+ return {
+ bidders: ['appnexus']
+ };
+ },
+ applyBidderRequestChanges: function () {
+ const testBidderRequests = deepClone(bidderRequests);
+
+ return testBidderRequests;
+ }
+ }, {
+ testName: 'modifies params when a registered appnexus alias is used',
+ fakeConfigFn: function () {
+ return {
+ bidders: ['beintoo']
+ };
+ },
+ applyBidderRequestChanges: function () {
+ const testBidderRequests = deepClone(bidderRequests);
+ testBidderRequests.bidderCode = 'beintoo';
+ testBidderRequests[0].bids[0].bidder = 'beintoo';
+
+ return testBidderRequests;
+ }
+ }, {
+ testName: 'modifies params when pbjs.aliasBidder alias is used',
+ fakeConfigFn: function () {
+ return {
+ bidders: ['aliasBidderTest'],
+ };
+ },
+ applyBidderRequestChanges: function () {
+ const testBidderRequests = deepClone(bidderRequests);
+ testBidderRequests.bidderCode = 'aliasBidderTest';
+ testBidderRequests[0].bids[0].bidder = 'aliasBidderTest';
+
+ return testBidderRequests;
+ }
+ }];
+
+ tests.forEach((testCfg) => {
+ it(testCfg.testName, function () {
+ configStub.callsFake(testCfg.fakeConfigFn);
+
+ const testBidderRequests = testCfg.applyBidderRequestChanges();
+
+ convertAnParams(function () {
+ didHookRun = true;
+ }, testBidderRequests);
+
+ expect(didHookRun).to.equal(true);
+ const resultParams = testBidderRequests[0].bids[0].params;
+ expect(resultParams.member).to.equal('958');
+ expect(resultParams.inv_code).to.equal('12345');
+ expect(resultParams.placement_id).to.equal(10001);
+ expect(resultParams.keywords).to.equal('music=rock,genre=80s,genre=90s');
+ expect(resultParams.publisher_id).to.equal(111);
+ expect(resultParams.use_pmt_rule).to.equal(true);
+ });
+ });
+});
diff --git a/test/spec/modules/aniviewBidAdapter_spec.js b/test/spec/modules/aniviewBidAdapter_spec.js
index a9498af046c..0b261c80848 100644
--- a/test/spec/modules/aniviewBidAdapter_spec.js
+++ b/test/spec/modules/aniviewBidAdapter_spec.js
@@ -31,12 +31,12 @@ describe('ANIVIEW Bid Adapter Test', function () {
});
it('should return false when required params are not passed', function () {
- let bid = Object.assign({}, bid);
- delete bid.params;
- bid.params = {
+ let invalidBid = Object.assign({}, bid);
+ delete invalidBid.params;
+ invalidBid.params = {
something: 'is wrong'
};
- expect(spec.isBidRequestValid(bid)).to.equal(false);
+ expect(spec.isBidRequestValid(invalidBid)).to.equal(false);
});
});
diff --git a/test/spec/modules/apacdexBidAdapter_spec.js b/test/spec/modules/apacdexBidAdapter_spec.js
index 98d07575ee7..d005934d062 100644
--- a/test/spec/modules/apacdexBidAdapter_spec.js
+++ b/test/spec/modules/apacdexBidAdapter_spec.js
@@ -201,8 +201,7 @@ describe('ApacdexBidAdapter', function () {
},
'bidder': 'apacdex',
'params': {
- 'siteId': '1a2b3c4d5e6f1a2b3c4d',
- 'geo': { 'lat': 123.13123456, 'lon': 54.23467311, 'accuracy': 60 }
+ 'siteId': '1a2b3c4d5e6f1a2b3c4d'
},
'adUnitCode': 'adunit-code-1',
'sizes': [[300, 250], [300, 600]],
@@ -321,10 +320,6 @@ describe('ApacdexBidAdapter', function () {
const bidRequests = spec.buildRequests(bidRequest, bidderRequests);
expect(bidRequests.data.eids).to.deep.equal(bidRequest[0].userIdAsEids)
});
- it('should fail to return a properly formatted request with geo defined', function () {
- const bidRequests = spec.buildRequests(bidRequest, bidderRequests);
- expect(bidRequests.data.geo).to.not.deep.equal(bidRequest[0].params.geo)
- });
it('should return a properly formatted request with us_privacy included', function () {
const bidRequests = spec.buildRequests(bidRequest, bidderRequests);
expect(bidRequests.data.us_privacy).to.equal('someCCPAString');
diff --git a/test/spec/modules/appierBidAdapter_spec.js b/test/spec/modules/appierBidAdapter_spec.js
index 8b6ad5c2f6f..0ad14b1ec61 100644
--- a/test/spec/modules/appierBidAdapter_spec.js
+++ b/test/spec/modules/appierBidAdapter_spec.js
@@ -30,17 +30,17 @@ describe('AppierAdapter', function () {
});
it('should return false when required param zoneId is missing', function () {
- let bid = Object.assign({}, bid);
- bid.params = {};
- expect(spec.isBidRequestValid(bid)).to.equal(false);
+ let invalidBid = Object.assign({}, bid);
+ invalidBid.params = {};
+ expect(spec.isBidRequestValid(invalidBid)).to.equal(false);
});
it('should return false when required param zoneId has wrong type', function () {
- let bid = Object.assign({}, bid);
- bid.params = {
+ let invalidBid = Object.assign({}, bid);
+ invalidBid.params = {
'hzid': null
};
- expect(spec.isBidRequestValid(bid)).to.equal(false);
+ expect(spec.isBidRequestValid(invalidBid)).to.equal(false);
});
});
diff --git a/test/spec/modules/appnexusBidAdapter_spec.js b/test/spec/modules/appnexusBidAdapter_spec.js
index 393768c3063..c8be99f7161 100644
--- a/test/spec/modules/appnexusBidAdapter_spec.js
+++ b/test/spec/modules/appnexusBidAdapter_spec.js
@@ -1,7 +1,6 @@
import { expect } from 'chai';
import { spec } from 'modules/appnexusBidAdapter.js';
import { newBidder } from 'src/adapters/bidderFactory.js';
-import * as bidderFactory from 'src/adapters/bidderFactory.js';
import { auctionManager } from 'src/auctionManager.js';
import { deepClone } from 'src/utils.js';
import * as utils from 'src/utils.js';
@@ -76,21 +75,21 @@ describe('AppNexusAdapter', function () {
});
it('should return false when required params are not passed', function () {
- let bid = Object.assign({}, bid);
- delete bid.params;
- bid.params = {
+ let invalidBid = Object.assign({}, bid);
+ delete invalidBid.params;
+ invalidBid.params = {
'placementId': 0
};
- expect(spec.isBidRequestValid(bid)).to.equal(false);
+ expect(spec.isBidRequestValid(invalidBid)).to.equal(false);
});
it('should return false when required params are not passed', function () {
- let bid = Object.assign({}, bid);
- delete bid.params;
- bid.params = {
+ let invalidBid = Object.assign({}, bid);
+ delete invalidBid.params;
+ invalidBid.params = {
'placement_id': 0
};
- expect(spec.isBidRequestValid(bid)).to.equal(false);
+ expect(spec.isBidRequestValid(invalidBid)).to.equal(false);
});
});
@@ -2184,54 +2183,54 @@ describe('AppNexusAdapter', function () {
});
});
- describe('transformBidParams', function () {
- let gcStub;
- let adUnit = { bids: [{ bidder: 'appnexus' }] }; ;
-
- before(function () {
- gcStub = sinon.stub(config, 'getConfig');
- });
-
- after(function () {
- gcStub.restore();
- });
-
- it('convert keywords param differently for psp endpoint with single s2sConfig', function () {
- gcStub.withArgs('s2sConfig').returns({
- bidders: ['appnexus'],
- endpoint: {
- p1Consent: 'https://ib.adnxs.com/openrtb2/prebid'
- }
- });
-
- const oldParams = {
- keywords: {
- genre: ['rock', 'pop'],
- pets: 'dog'
- }
- };
-
- const newParams = spec.transformBidParams(oldParams, true, adUnit);
- expect(newParams.keywords).to.equal('genre=rock,genre=pop,pets=dog');
- });
-
- it('convert keywords param differently for psp endpoint with array s2sConfig', function () {
- gcStub.withArgs('s2sConfig').returns([{
- bidders: ['appnexus'],
- endpoint: {
- p1Consent: 'https://ib.adnxs.com/openrtb2/prebid'
- }
- }]);
-
- const oldParams = {
- keywords: {
- genre: ['rock', 'pop'],
- pets: 'dog'
- }
- };
-
- const newParams = spec.transformBidParams(oldParams, true, adUnit);
- expect(newParams.keywords).to.equal('genre=rock,genre=pop,pets=dog');
- });
- });
+ // describe('transformBidParams', function () {
+ // let gcStub;
+ // let adUnit = { bids: [{ bidder: 'appnexus' }] }; ;
+
+ // before(function () {
+ // gcStub = sinon.stub(config, 'getConfig');
+ // });
+
+ // after(function () {
+ // gcStub.restore();
+ // });
+
+ // it('convert keywords param differently for psp endpoint with single s2sConfig', function () {
+ // gcStub.withArgs('s2sConfig').returns({
+ // bidders: ['appnexus'],
+ // endpoint: {
+ // p1Consent: 'https://ib.adnxs.com/openrtb2/prebid'
+ // }
+ // });
+
+ // const oldParams = {
+ // keywords: {
+ // genre: ['rock', 'pop'],
+ // pets: 'dog'
+ // }
+ // };
+
+ // const newParams = spec.transformBidParams(oldParams, true, adUnit);
+ // expect(newParams.keywords).to.equal('genre=rock,genre=pop,pets=dog');
+ // });
+
+ // it('convert keywords param differently for psp endpoint with array s2sConfig', function () {
+ // gcStub.withArgs('s2sConfig').returns([{
+ // bidders: ['appnexus'],
+ // endpoint: {
+ // p1Consent: 'https://ib.adnxs.com/openrtb2/prebid'
+ // }
+ // }]);
+
+ // const oldParams = {
+ // keywords: {
+ // genre: ['rock', 'pop'],
+ // pets: 'dog'
+ // }
+ // };
+
+ // const newParams = spec.transformBidParams(oldParams, true, adUnit);
+ // expect(newParams.keywords).to.equal('genre=rock,genre=pop,pets=dog');
+ // });
+ // });
});
diff --git a/test/spec/modules/asealBidAdapter_spec.js b/test/spec/modules/asealBidAdapter_spec.js
index 2dc1b47b7d0..900bda11390 100644
--- a/test/spec/modules/asealBidAdapter_spec.js
+++ b/test/spec/modules/asealBidAdapter_spec.js
@@ -87,10 +87,10 @@ describe('asealBidAdapter', () => {
});
it('should return false when required params are not passed', () => {
- let bid = Object.assign({}, bid);
- delete bid.params;
- bid.params = {};
- expect(spec.isBidRequestValid(bid)).to.equal(false);
+ let invalidBid = Object.assign({}, bid);
+ delete invalidBid.params;
+ invalidBid.params = {};
+ expect(spec.isBidRequestValid(invalidBid)).to.equal(false);
});
});
diff --git a/test/spec/modules/asoBidAdapter_spec.js b/test/spec/modules/asoBidAdapter_spec.js
index e317a8828e7..7839e0ef227 100644
--- a/test/spec/modules/asoBidAdapter_spec.js
+++ b/test/spec/modules/asoBidAdapter_spec.js
@@ -6,7 +6,7 @@ import {syncAddFPDToBidderRequest} from '../../helpers/fpd';
import {parseUrl} from '../../../src/utils';
import 'modules/priceFloors.js';
-import 'modules/consentManagement.js';
+import 'modules/consentManagementTcf.js';
import 'modules/consentManagementUsp.js';
describe('Adserver.Online bidding adapter', function () {
diff --git a/test/spec/modules/audiencerunBidAdapter_spec.js b/test/spec/modules/audiencerunBidAdapter_spec.js
index 5c736345068..65349409e5e 100644
--- a/test/spec/modules/audiencerunBidAdapter_spec.js
+++ b/test/spec/modules/audiencerunBidAdapter_spec.js
@@ -60,22 +60,22 @@ describe('AudienceRun bid adapter tests', function () {
});
it('should return true when zoneId is valid', function () {
- let bid = Object.assign({}, bid);
- delete bid.params;
- bid.params = {
+ let invalidBid = Object.assign({}, bid);
+ delete invalidBid.params;
+ invalidBid.params = {
zoneId: '12345abcde',
};
- expect(spec.isBidRequestValid(bid)).to.equal(true);
+ expect(spec.isBidRequestValid(invalidBid)).to.equal(true);
});
it('should return false when required params are not passed', function () {
- let bid = Object.assign({}, bid);
- delete bid.params;
+ let invalidBid = Object.assign({}, bid);
+ delete invalidBid.params;
- bid.params = {};
+ invalidBid.params = {};
- expect(spec.isBidRequestValid(bid)).to.equal(false);
+ expect(spec.isBidRequestValid(invalidBid)).to.equal(false);
});
});
diff --git a/test/spec/modules/bedigitechBidAdapter_spec.js b/test/spec/modules/bedigitechBidAdapter_spec.js
index 20d4e86e0c4..336559e2812 100644
--- a/test/spec/modules/bedigitechBidAdapter_spec.js
+++ b/test/spec/modules/bedigitechBidAdapter_spec.js
@@ -1,7 +1,7 @@
import { expect } from 'chai';
import { spec } from 'modules/bedigitechBidAdapter.js';
import { newBidder } from 'src/adapters/bidderFactory.js';
-import {BANNER} from 'src/mediaTypes.js';
+import { BANNER } from 'src/mediaTypes.js';
describe('BedigitechAdapter', function () {
const adapter = newBidder(spec);
@@ -34,13 +34,13 @@ describe('BedigitechAdapter', function () {
});
it('should return false when required params are not passed', function () {
- const bid = Object.assign({}, bid);
- delete bid.params;
- bid.params = {
+ const invalidBid = Object.assign({}, bid);
+ delete invalidBid.params;
+ invalidBid.params = {
'masterId': 0
};
- expect(spec.isBidRequestValid(bid)).to.equal(false);
+ expect(spec.isBidRequestValid(invalidBid)).to.equal(false);
});
});
@@ -126,7 +126,9 @@ describe('BedigitechAdapter', function () {
} else if (k === 'meta') {
expect(result[0][k]).to.deep.equal(expectedResponse[0][k]);
} else {
- expect(result[0][k]).to.equal(expectedResponse[0][k]);
+ if (k !== 'requestId') {
+ expect(result[0][k]).to.equal(expectedResponse[0][k]);
+ }
}
});
});
diff --git a/test/spec/modules/bidglassAdapter_spec.js b/test/spec/modules/bidglassAdapter_spec.js
index 7b007f7cc1f..e0f85364933 100644
--- a/test/spec/modules/bidglassAdapter_spec.js
+++ b/test/spec/modules/bidglassAdapter_spec.js
@@ -23,10 +23,10 @@ describe('Bid Glass Adapter', function () {
});
it('should return false when required params are not passed', function () {
- let bid = Object.assign({}, bid);
- delete bid.params;
- bid.params = {};
- expect(spec.isBidRequestValid(bid)).to.equal(false);
+ let invalidBid = Object.assign({}, bid);
+ delete invalidBid.params;
+ invalidBid.params = {};
+ expect(spec.isBidRequestValid(invalidBid)).to.equal(false);
});
});
diff --git a/test/spec/modules/bizzclickBidAdapter_spec.js b/test/spec/modules/blastoBidAdapter_spec.js
similarity index 97%
rename from test/spec/modules/bizzclickBidAdapter_spec.js
rename to test/spec/modules/blastoBidAdapter_spec.js
index f8e66caf657..671f99fa938 100644
--- a/test/spec/modules/bizzclickBidAdapter_spec.js
+++ b/test/spec/modules/blastoBidAdapter_spec.js
@@ -1,5 +1,5 @@
import { expect } from 'chai';
-import { spec } from 'modules/bizzclickBidAdapter';
+import { spec } from 'modules/blastoBidAdapter';
import 'modules/priceFloors.js';
import { newBidder } from 'src/adapters/bidderFactory';
import { config } from '../../../src/config.js';
@@ -11,12 +11,12 @@ import 'modules/currency.js';
import 'modules/userId/index.js';
import 'modules/multibid/index.js';
import 'modules/priceFloors.js';
-import 'modules/consentManagement.js';
+import 'modules/consentManagementTcf.js';
import 'modules/consentManagementUsp.js';
import 'modules/schain.js';
const SIMPLE_BID_REQUEST = {
- bidder: 'bizzclick',
+ bidder: 'blasto',
params: {
accountId: 'testAccountId',
sourceId: 'testSourceId',
@@ -46,7 +46,7 @@ const SIMPLE_BID_REQUEST = {
}
const BANNER_BID_REQUEST = {
- bidder: 'bizzclick',
+ bidder: 'blasto',
params: {
accountId: 'testAccountId',
sourceId: 'testSourceId',
@@ -85,7 +85,7 @@ const VIDEO_BID_REQUEST = {
protocols: [1, 2, 4]
}
},
- bidder: 'bizzclick',
+ bidder: 'blasto',
params: {
accountId: '123',
sourceId: '123',
@@ -128,7 +128,7 @@ const NATIVE_BID_REQUEST = {
}
}
},
- bidder: 'bizzclick',
+ bidder: 'blasto',
params: {
accountId: 'testAccountId',
sourceId: 'testSourceId',
@@ -158,7 +158,7 @@ const gdprConsent = {
addtlConsent: '1~1.35.41.101',
}
-describe('bizzclickAdapter', function () {
+describe('blastoAdapter', function () {
const adapter = newBidder(spec);
describe('inherited functions', function () {
it('exists and is a function', function () {
@@ -251,7 +251,7 @@ describe('bizzclickAdapter', function () {
beforeEach(function () {
bidRequests = [{
'bidId': '28ffdk2B952532',
- 'bidder': 'bizzclick',
+ 'bidder': 'blasto',
'userId': {
'freepassId': {
'userIp': '172.21.0.1',
diff --git a/test/spec/modules/bluebillywigBidAdapter_spec.js b/test/spec/modules/bluebillywigBidAdapter_spec.js
deleted file mode 100644
index b6fb11c4750..00000000000
--- a/test/spec/modules/bluebillywigBidAdapter_spec.js
+++ /dev/null
@@ -1,1094 +0,0 @@
-import {expect} from 'chai';
-import {spec} from 'modules/bluebillywigBidAdapter.js';
-import {deepAccess, deepClone} from 'src/utils.js';
-import {config} from 'src/config.js';
-import {VIDEO} from 'src/mediaTypes.js';
-
-const BB_CONSTANTS = {
- BIDDER_CODE: 'bluebillywig',
- AUCTION_URL: '$$URL_STARTpbs.bluebillywig.com/openrtb2/auction?pub=$$PUBLICATION',
- SYNC_URL: '$$URL_STARTpbs.bluebillywig.com/static/cookie-sync.html?pub=$$PUBLICATION',
- RENDERER_URL: 'https://$$PUBLICATION.bbvms.com/r/$$RENDERER.js',
- DEFAULT_TIMEOUT: 5000,
- DEFAULT_TTL: 300,
- DEFAULT_WIDTH: 768,
- DEFAULT_HEIGHT: 432,
- DEFAULT_NET_REVENUE: true
-};
-
-describe('BlueBillywigAdapter', () => {
- describe('isBidRequestValid', () => {
- const baseValidBid = {
- bidder: BB_CONSTANTS.BIDDER_CODE,
- params: {
- accountId: 123,
- publicationName: 'bbprebid.dev',
- rendererCode: 'glorious_renderer',
- connections: [ BB_CONSTANTS.BIDDER_CODE ],
- bluebillywig: {}
- },
- mediaTypes: {
- video: {
- context: 'outstream'
- }
- }
- };
-
- it('should return true when required params found', () => {
- expect(spec.isBidRequestValid(baseValidBid)).to.equal(true);
- });
-
- it('should return false when params missing', () => {
- const bid = deepClone(baseValidBid);
- delete bid.params;
-
- expect(spec.isBidRequestValid(bid)).to.equal(false);
- });
-
- it('should return false when publicationName is missing', () => {
- const bid = deepClone(baseValidBid);
- delete bid.params.publicationName;
-
- expect(spec.isBidRequestValid(bid)).to.equal(false);
- });
-
- it('should return false when publicationName is not a string', () => {
- const bid = deepClone(baseValidBid);
-
- bid.params.publicationName = 123;
- expect(spec.isBidRequestValid(bid)).to.equal(false);
-
- bid.params.publicationName = false;
- expect(spec.isBidRequestValid(bid)).to.equal(false);
-
- bid.params.publicationName = void (0);
- expect(spec.isBidRequestValid(bid)).to.equal(false);
-
- bid.params.publicationName = {};
- expect(spec.isBidRequestValid(bid)).to.equal(false);
- });
-
- it('should return false when publicationName is formatted poorly', () => {
- const bid = deepClone(baseValidBid);
-
- bid.params.publicationName = 'bb.';
- expect(spec.isBidRequestValid(bid)).to.equal(false);
-
- bid.params.publicationName = 'bb-test';
- expect(spec.isBidRequestValid(bid)).to.equal(false);
-
- bid.params.publicationName = '?';
- expect(spec.isBidRequestValid(bid)).to.equal(false);
- });
-
- it('should return false when renderer is not specified', () => {
- const bid = deepClone(baseValidBid);
-
- delete bid.params.rendererCode;
- expect(spec.isBidRequestValid(bid)).to.equal(false);
- });
-
- it('should return false when renderer is not a string', () => {
- const bid = deepClone(baseValidBid);
-
- bid.params.rendererCode = 123;
- expect(spec.isBidRequestValid(bid)).to.equal(false);
-
- bid.params.rendererCode = false;
- expect(spec.isBidRequestValid(bid)).to.equal(false);
-
- bid.params.rendererCode = void (0);
- expect(spec.isBidRequestValid(bid)).to.equal(false);
-
- bid.params.rendererCode = {};
- expect(spec.isBidRequestValid(bid)).to.equal(false);
- });
-
- it('should return false when renderer is formatted poorly', () => {
- const bid = deepClone(baseValidBid);
-
- bid.params.rendererCode = 'bb.';
- expect(spec.isBidRequestValid(bid)).to.equal(false);
-
- bid.params.rendererCode = 'bb-test';
- expect(spec.isBidRequestValid(bid)).to.equal(false);
-
- bid.params.rendererCode = '?';
- expect(spec.isBidRequestValid(bid)).to.equal(false);
- });
-
- it('should return false when accountId is not specified', () => {
- const bid = deepClone(baseValidBid);
-
- delete bid.params.accountId;
- expect(spec.isBidRequestValid(bid)).to.equal(false);
- });
-
- it('should return false when connections is not specified', () => {
- const bid = deepClone(baseValidBid);
-
- delete bid.params.connections;
- expect(spec.isBidRequestValid(bid)).to.equal(false);
- });
-
- it('should return false when connections is not an array', () => {
- const bid = deepClone(baseValidBid);
-
- bid.params.connections = 123;
- expect(spec.isBidRequestValid(bid)).to.equal(false);
-
- bid.params.connections = false;
- expect(spec.isBidRequestValid(bid)).to.equal(false);
-
- bid.params.connections = void (0);
- expect(spec.isBidRequestValid(bid)).to.equal(false);
-
- bid.params.connections = {};
- expect(spec.isBidRequestValid(bid)).to.equal(false);
-
- bid.params.connections = 'string';
- expect(spec.isBidRequestValid(bid)).to.equal(false);
- });
-
- it('should return false when a connection is missing', () => {
- const bid = deepClone(baseValidBid);
-
- bid.params.connections.push('potatoes');
- expect(spec.isBidRequestValid(bid)).to.equal(false);
-
- bid.params.connections.pop();
-
- delete bid.params[BB_CONSTANTS.BIDDER_CODE];
- expect(spec.isBidRequestValid(bid)).to.equal(false);
- });
-
- it('should fail if bid has no mediaTypes', () => {
- const bid = deepClone(baseValidBid);
-
- delete bid.mediaTypes;
- expect(spec.isBidRequestValid(bid)).to.equal(false);
- });
-
- it('should fail if bid has no mediaTypes.video', () => {
- const bid = deepClone(baseValidBid);
-
- delete bid.mediaTypes[VIDEO];
- expect(spec.isBidRequestValid(bid)).to.equal(false);
- });
-
- it('should fail if bid has no mediaTypes.video.context', () => {
- const bid = deepClone(baseValidBid);
-
- delete bid.mediaTypes[VIDEO].context;
- expect(spec.isBidRequestValid(bid)).to.equal(false);
- });
-
- it('should fail if mediaTypes.video.context is not "outstream"', () => {
- const bid = deepClone(baseValidBid);
-
- bid.mediaTypes[VIDEO].context = 'instream';
- expect(spec.isBidRequestValid(bid)).to.equal(false);
- });
-
- it('should fail if video is specified but is not an object', () => {
- const bid = deepClone(baseValidBid);
-
- bid.params.video = null;
- expect(spec.isBidRequestValid(bid)).to.equal(false);
-
- bid.params.video = 'string';
- expect(spec.isBidRequestValid(bid)).to.equal(false);
-
- bid.params.video = 123;
- expect(spec.isBidRequestValid(bid)).to.equal(false);
-
- bid.params.video = false;
- expect(spec.isBidRequestValid(bid)).to.equal(false);
-
- bid.params.video = void (0);
- expect(spec.isBidRequestValid(bid)).to.equal(false);
- });
-
- it('should fail if rendererSettings is specified but is not an object', () => {
- const bid = deepClone(baseValidBid);
-
- bid.params.rendererSettings = null;
- expect(spec.isBidRequestValid(bid)).to.equal(false);
-
- bid.params.rendererSettings = 'string';
- expect(spec.isBidRequestValid(bid)).to.equal(false);
-
- bid.params.rendererSettings = 123;
- expect(spec.isBidRequestValid(bid)).to.equal(false);
-
- bid.params.rendererSettings = false;
- expect(spec.isBidRequestValid(bid)).to.equal(false);
-
- bid.params.rendererSettings = void (0);
- expect(spec.isBidRequestValid(bid)).to.equal(false);
- });
- });
-
- describe('buildRequests', () => {
- const publicationName = 'bbprebid.dev';
- const rendererCode = 'glorious_renderer';
-
- const baseValidBid = {
- bidder: BB_CONSTANTS.BIDDER_CODE,
- params: {
- accountId: 123,
- publicationName: publicationName,
- rendererCode: rendererCode,
- connections: [ BB_CONSTANTS.BIDDER_CODE ],
- bluebillywig: {}
- },
- mediaTypes: {
- video: {
- context: 'outstream'
- }
- }
- };
-
- const baseValidBidRequests = [baseValidBid];
-
- const validBidderRequest = {
- ortb2: {
- source: {
- tid: '12abc345-67d8-9012-e345-6f78901a2b34',
- }
- },
- auctionStart: 1585918458868,
- bidderCode: BB_CONSTANTS.BIDDER_CODE,
- bidderRequestId: '1a2345b67c8d9e0',
- bids: [{
- adUnitCode: 'ad-unit-test',
- auctionId: '12abc345-67d8-9012-e345-6f78901a2b34',
- bidId: '1234ab567c89de0',
- bidRequestsCount: 1,
- bidder: BB_CONSTANTS.BIDDER_CODE,
- bidderRequestId: '1a2345b67c8d9e0',
- params: baseValidBid.params,
- sizes: [[768, 432], [640, 480], [630, 360]],
- transactionId: '2b34c5de-f67a-8901-bcd2-34567efabc89'
- }],
- start: 11585918458869,
- timeout: 3000
- };
-
- it('sends bid request to AUCTION_URL via POST', () => {
- const request = spec.buildRequests(baseValidBidRequests, validBidderRequest);
- expect(request.url).to.equal(`https://pbs.bluebillywig.com/openrtb2/auction?pub=${publicationName}`);
- expect(request.method).to.equal('POST');
- });
-
- it('sends data as a string', () => {
- const request = spec.buildRequests(baseValidBidRequests, validBidderRequest);
- expect(request.data).to.be.a('string');
- });
-
- it('sends all bid parameters', () => {
- const request = spec.buildRequests(baseValidBidRequests, validBidderRequest);
- expect(request).to.have.all.keys(['bidderRequest', 'data', 'method', 'url']);
- });
-
- it('builds the base request properly', () => {
- const request = spec.buildRequests(baseValidBidRequests, validBidderRequest);
- const payload = JSON.parse(request.data);
-
- expect(payload.id).to.exist;
- expect(payload.source).to.be.an('object');
- expect(payload.source.tid).to.equal(validBidderRequest.ortb2.source.tid);
- expect(payload.tmax).to.equal(3000);
- expect(payload.imp).to.be.an('array');
- expect(payload.test).to.be.a('number');
- expect(payload).to.have.nested.property('ext.prebid.targeting');
- expect(payload.ext.prebid.targeting).to.be.an('object');
- expect(payload.ext.prebid.targeting.includewinners).to.equal(true);
- expect(payload.ext.prebid.targeting.includebidderkeys).to.equal(false);
- });
-
- it('adds an impression to the payload', () => {
- const request = spec.buildRequests(baseValidBidRequests, validBidderRequest);
- const payload = JSON.parse(request.data);
-
- expect(payload.imp.length).to.equal(1);
- });
-
- it('adds connections to ext', () => {
- const request = spec.buildRequests(baseValidBidRequests, validBidderRequest);
- const payload = JSON.parse(request.data);
-
- expect(payload.imp[0].ext).to.have.all.keys(['bluebillywig']);
- });
-
- it('adds gdpr when present', () => {
- const newValidBidderRequest = deepClone(validBidderRequest);
- newValidBidderRequest.gdprConsent = {
- consentString: 'BOh7mtYOh7mtYAcABBENCU-AAAAncgPIXJiiAoao0PxBFkgCAC8ACIAAQAQQAAIAAAIAAAhBGAAAQAQAEQgAAAAAAABAAAAAAAAAAAAAAACAAAAAAAACgAAAAABAAAAQAAAAAAA',
- gdprApplies: true
- };
-
- const request = spec.buildRequests(baseValidBidRequests, newValidBidderRequest);
- const payload = JSON.parse(request.data);
-
- expect(payload).to.have.nested.property('regs.ext.gdpr');
- expect(payload.regs.ext.gdpr).to.be.a('number');
- expect(payload.regs.ext.gdpr).to.equal(1);
- expect(payload).to.have.nested.property('user.ext.consent');
- expect(payload.user.ext.consent).to.equal(newValidBidderRequest.gdprConsent.consentString);
- });
-
- it('sets gdpr to 0 when explicitly gdprApplies: false', () => {
- const newValidBidderRequest = deepClone(validBidderRequest);
- newValidBidderRequest.gdprConsent = {
- gdprApplies: false
- };
-
- const request = spec.buildRequests(baseValidBidRequests, newValidBidderRequest);
- const payload = JSON.parse(request.data);
-
- expect(payload).to.have.nested.property('regs.ext.gdpr');
- expect(payload.regs.ext.gdpr).to.be.a('number');
- expect(payload.regs.ext.gdpr).to.equal(0);
- });
-
- it('adds usp_consent when present', () => {
- const newValidBidderRequest = deepClone(validBidderRequest);
- newValidBidderRequest.uspConsent = '1YYY';
-
- const request = spec.buildRequests(baseValidBidRequests, newValidBidderRequest);
- const payload = JSON.parse(request.data);
-
- expect(payload).to.have.nested.property('regs.ext.us_privacy');
- expect(payload.regs.ext.us_privacy).to.equal(newValidBidderRequest.uspConsent);
- });
-
- it('sets coppa to 1 when specified in config', () => {
- config.setConfig({'coppa': true});
-
- const request = spec.buildRequests(baseValidBidRequests, validBidderRequest);
- const payload = JSON.parse(request.data);
-
- expect(payload).to.have.nested.property('regs.coppa');
- expect(payload.regs.coppa).to.equal(1);
-
- config.resetConfig();
- });
-
- it('does not set coppa when disabled in the config', () => {
- config.setConfig({'coppa': false});
-
- const request = spec.buildRequests(baseValidBidRequests, validBidderRequest);
- const payload = JSON.parse(request.data);
-
- expect(deepAccess(payload, 'regs.coppa')).to.be.undefined;
-
- config.resetConfig();
- });
-
- it('does not set coppa when not specified in config', () => {
- config.resetConfig();
-
- const request = spec.buildRequests(baseValidBidRequests, validBidderRequest);
- const payload = JSON.parse(request.data);
-
- expect(deepAccess(payload, 'regs.coppa')).to.be.undefined;
- });
-
- it('should add window size to request by default', () => {
- const request = spec.buildRequests(baseValidBidRequests, validBidderRequest);
- const payload = JSON.parse(request.data);
-
- expect(payload).to.have.nested.property('device.w');
- expect(payload).to.have.nested.property('device.h');
- expect(payload.device.w).to.be.a('number');
- expect(payload.device.h).to.be.a('number');
- });
-
- it('should add site when specified in config', () => {
- config.setConfig({ site: { name: 'Blue Billywig', domain: 'bluebillywig.com', page: 'https://bluebillywig.com/', publisher: { id: 'abc', name: 'Blue Billywig', domain: 'bluebillywig.com' } } });
-
- const request = spec.buildRequests(baseValidBidRequests, validBidderRequest);
- const payload = JSON.parse(request.data);
-
- expect(payload).to.have.property('site');
- expect(payload).to.have.nested.property('site.name');
- expect(payload).to.have.nested.property('site.domain');
- expect(payload).to.have.nested.property('site.page');
- expect(payload).to.have.nested.property('site.publisher');
- expect(payload).to.have.nested.property('site.publisher.id');
- expect(payload).to.have.nested.property('site.publisher.name');
- expect(payload).to.have.nested.property('site.publisher.domain');
-
- config.resetConfig();
- });
-
- it('should add app when specified in config', () => {
- config.setConfig({ app: { bundle: 'org.prebid.mobile.demoapp', domain: 'prebid.org' } });
-
- const request = spec.buildRequests(baseValidBidRequests, validBidderRequest);
- const payload = JSON.parse(request.data);
-
- expect(payload).to.have.property('app');
- expect(payload).to.have.nested.property('app.bundle');
- expect(payload).to.have.nested.property('app.domain');
- expect(payload.app.bundle).to.equal('org.prebid.mobile.demoapp');
- expect(payload.app.domain).to.equal('prebid.org');
-
- config.resetConfig();
- });
-
- it('should add referrerInfo as site when no app is set', () => {
- const newValidBidderRequest = deepClone(validBidderRequest);
-
- newValidBidderRequest.refererInfo = { page: 'https://www.bluebillywig.com' };
-
- const request = spec.buildRequests(baseValidBidRequests, newValidBidderRequest);
- const payload = JSON.parse(request.data);
-
- expect(payload).to.have.nested.property('site.page');
- expect(payload.site.page).to.equal('https://www.bluebillywig.com');
- });
-
- it('should not add referrerInfo as site when app is set', () => {
- config.setConfig({ app: { bundle: 'org.prebid.mobile.demoapp', domain: 'prebid.org' } });
-
- const newValidBidderRequest = deepClone(validBidderRequest);
- newValidBidderRequest.refererInfo = { referer: 'https://www.bluebillywig.com' };
-
- const request = spec.buildRequests(baseValidBidRequests, newValidBidderRequest);
- const payload = JSON.parse(request.data);
-
- expect(payload.site).to.be.undefined;
- config.resetConfig();
- });
-
- it('should add device size to request when specified in config', () => {
- config.setConfig({ device: { w: 1, h: 1 } });
-
- const request = spec.buildRequests(baseValidBidRequests, validBidderRequest);
- const payload = JSON.parse(request.data);
-
- expect(payload).to.have.nested.property('device.w');
- expect(payload).to.have.nested.property('device.h');
- expect(payload.device.w).to.be.a('number');
- expect(payload.device.h).to.be.a('number');
- expect(payload.device.w).to.equal(1);
- expect(payload.device.h).to.equal(1);
-
- config.resetConfig();
- });
-
- it('should set schain on the request when set on config', () => {
- const schain = {
- validation: 'lax',
- config: {
- ver: '1.0',
- complete: 1,
- nodes: [
- {
- asi: 'indirectseller.com',
- sid: '00001',
- hp: 1
- }
- ]
- }
- };
-
- const newBaseValidBidRequests = deepClone(baseValidBidRequests);
- newBaseValidBidRequests[0].schain = schain;
-
- const request = spec.buildRequests(newBaseValidBidRequests, validBidderRequest);
- const payload = JSON.parse(request.data);
-
- expect(payload).to.have.nested.property('source.ext.schain');
- expect(payload.source.ext.schain).to.deep.equal(schain);
- });
-
- it('should add currency when specified on the config', () => {
- config.setConfig({ currency: { adServerCurrency: 'USD' } });
-
- const request = spec.buildRequests(baseValidBidRequests, validBidderRequest);
- const payload = JSON.parse(request.data);
-
- expect(payload).to.have.property('cur');
- expect(payload.cur).to.eql(['USD']); // NB not equal, eql to check for same array because [1] === [1] fails normally
-
- config.resetConfig();
- });
-
- it('should also take in array for currency on the config', () => {
- config.setConfig({ currency: { adServerCurrency: ['USD', 'PHP'] } });
-
- const request = spec.buildRequests(baseValidBidRequests, validBidderRequest);
- const payload = JSON.parse(request.data);
-
- expect(payload).to.have.property('cur');
- expect(payload.cur).to.eql(['USD']); // NB not equal, eql to check for same array because [1] === [1] fails normally
-
- config.resetConfig();
- });
-
- it('should not set cur when currency is not specified on the config', () => {
- const request = spec.buildRequests(baseValidBidRequests, validBidderRequest);
- const payload = JSON.parse(request.data);
-
- expect(payload.cur).to.be.undefined;
- });
-
- it('should set user ids when present', () => {
- const newBaseValidBidRequests = deepClone(baseValidBidRequests);
- newBaseValidBidRequests[0].userIdAsEids = [ {} ];
-
- const request = spec.buildRequests(newBaseValidBidRequests, validBidderRequest);
- const payload = JSON.parse(request.data);
-
- expect(payload).to.have.nested.property('user.ext.eids');
- expect(payload.user.ext.eids).to.be.an('array');
- expect(payload.user.ext.eids.length).to.equal(1);
- });
-
- it('should not set user ids when none present', () => {
- const request = spec.buildRequests(baseValidBidRequests, validBidderRequest);
- const payload = JSON.parse(request.data);
-
- expect(deepAccess(payload, 'user.ext.eids')).to.be.undefined;
- });
-
- it('should set imp.0.video.[w|h|placement] by default', () => {
- const newBaseValidBidRequests = deepClone(baseValidBidRequests);
-
- const request = spec.buildRequests(newBaseValidBidRequests, validBidderRequest);
- const payload = JSON.parse(request.data);
-
- expect(deepAccess(payload, 'imp.0.video.w')).to.equal(768);
- expect(deepAccess(payload, 'imp.0.video.h')).to.equal(432);
- expect(deepAccess(payload, 'imp.0.video.placement')).to.equal(3);
- });
-
- it('should update imp0.video.[w|h] when present in config', () => {
- const newBaseValidBidRequests = deepClone(baseValidBidRequests);
- newBaseValidBidRequests[0].mediaTypes.video.playerSize = [1, 1];
-
- const request = spec.buildRequests(newBaseValidBidRequests, validBidderRequest);
- const payload = JSON.parse(request.data);
-
- expect(deepAccess(payload, 'imp.0.video.w')).to.equal(1);
- expect(deepAccess(payload, 'imp.0.video.h')).to.equal(1);
- });
-
- it('should allow overriding any imp0.video key through params.video', () => {
- const newBaseValidBidRequests = deepClone(baseValidBidRequests);
- newBaseValidBidRequests[0].params.video = {
- w: 2,
- h: 2,
- placement: 1,
- minduration: 15,
- maxduration: 30
- };
-
- const request = spec.buildRequests(newBaseValidBidRequests, validBidderRequest);
- const payload = JSON.parse(request.data);
-
- expect(deepAccess(payload, 'imp.0.video.w')).to.equal(2);
- expect(deepAccess(payload, 'imp.0.video.h')).to.equal(2);
- expect(deepAccess(payload, 'imp.0.video.placement')).to.equal(1);
- expect(deepAccess(payload, 'imp.0.video.minduration')).to.equal(15);
- expect(deepAccess(payload, 'imp.0.video.maxduration')).to.equal(30);
- });
-
- it('should not allow placing any non-OpenRTB 2.5 keys on imp.0.video through params.video', () => {
- const newBaseValidBidRequests = deepClone(baseValidBidRequests);
- newBaseValidBidRequests[0].params.video = {
- 'true': true,
- 'testing': 'some',
- 123: {},
- '': 'values'
- };
-
- const request = spec.buildRequests(newBaseValidBidRequests, validBidderRequest);
- const payload = JSON.parse(request.data);
-
- expect(deepAccess(request, 'imp.0.video.true')).to.be.undefined;
- expect(deepAccess(payload, 'imp.0.video.testing')).to.be.undefined;
- expect(deepAccess(payload, 'imp.0.video.123')).to.be.undefined;
- expect(deepAccess(payload, 'imp.0.video.')).to.be.undefined;
- });
- });
- describe('interpretResponse', () => {
- const publicationName = 'bbprebid.dev';
- const rendererCode = 'glorious_renderer';
-
- const baseValidBid = {
- bidder: BB_CONSTANTS.BIDDER_CODE,
- params: {
- accountId: 123,
- publicationName: publicationName,
- rendererCode: rendererCode,
- connections: [ BB_CONSTANTS.BIDDER_CODE ],
- bluebillywig: {}
- },
- mediaTypes: {
- video: {
- context: 'outstream'
- }
- }
- };
-
- const baseValidBidRequests = [baseValidBid];
-
- const validBidderRequest = {
- auctionId: '12abc345-67d8-9012-e345-6f78901a2b34',
- auctionStart: 1585918458868,
- bidderCode: BB_CONSTANTS.BIDDER_CODE,
- bidderRequestId: '1a2345b67c8d9e0',
- bids: [{
- adUnitCode: 'ad-unit-test',
- auctionId: '12abc345-67d8-9012-e345-6f78901a2b34',
- bidId: '1234ab567c89de0',
- bidRequestsCount: 1,
- bidder: BB_CONSTANTS.BIDDER_CODE,
- bidderRequestId: '1a2345b67c8d9e0',
- params: baseValidBid.params,
- sizes: [[640, 480], [630, 360]],
- transactionId: '2b34c5de-f67a-8901-bcd2-34567efabc89'
- }],
- start: 11585918458869,
- timeout: 3000
- };
-
- const validResponse = {
- id: 'a12abc345-67d8-9012-e345-6f78901a2b34',
- seatbid: [
- {
- bid: [
- {
- id: '1',
- impid: '1234ab567c89de0',
- price: 1,
- adm: '\r\nBB Adserver00:00:51',
- adid: '67069817',
- adomain: [
- 'bluebillywig.com'
- ],
- cid: '3535',
- crid: '67069817',
- w: 1,
- h: 1,
- publicationName: 'bbprebid',
- accountId: 123,
- ext: {
- prebid: {
- targeting: {
- hb_bidder: 'bluebillywig',
- hb_pb: '1.00',
- hb_size: '1x1'
- },
- type: 'video'
- },
- bidder: {
- prebid: {
- targeting: {
- hb_bidder: 'bluebillywig',
- hb_pb: '10.00',
- hb_size: '1x1'
- },
- type: 'video',
- video: {
- duration: 51,
- primary_category: ''
- }
- },
- bidder: {
- bluebillywig: {
- brand_id: 1,
- auction_id: 1,
- bid_ad_type: 1,
- creative_info: {
- video: {
- duration: 51,
- mimes: [
- 'video/x-flv',
- 'video/mp4',
- 'video/webm'
- ]
- }
- }
- }
- }
- }
- }
- }
- ],
- seat: 'bluebillywig'
- }
- ],
- cur: 'USD',
- ext: {
- responsetimemillis: {
- bluebillywig: 0
- },
- tmaxrequest: 5000
- }
- };
-
- const serverResponse = { body: validResponse };
-
- it('should build bid array', () => {
- const response = deepClone(serverResponse);
- const request = spec.buildRequests(baseValidBidRequests, validBidderRequest);
- const result = spec.interpretResponse(response, request);
-
- expect(result.length).to.equal(1);
- });
-
- it('should have all relevant fields', () => {
- const response = deepClone(serverResponse);
- const request = spec.buildRequests(baseValidBidRequests, validBidderRequest);
- const result = spec.interpretResponse(response, request);
- const bid = result[0];
-
- // BB_HELPERS.transformRTBToPrebidProps
- expect(bid.cpm).to.equal(serverResponse.body.seatbid[0].bid[0].price);
- expect(bid.bidId).to.equal(serverResponse.body.seatbid[0].bid[0].impid);
- expect(bid.requestId).to.equal(serverResponse.body.seatbid[0].bid[0].impid);
- expect(bid.width).to.equal(serverResponse.body.seatbid[0].bid[0].w || BB_CONSTANTS.DEFAULT_WIDTH);
- expect(bid.height).to.equal(serverResponse.body.seatbid[0].bid[0].h || BB_CONSTANTS.DEFAULT_HEIGHT);
- expect(bid.ad).to.equal(serverResponse.body.seatbid[0].bid[0].adm);
- expect(bid.netRevenue).to.equal(BB_CONSTANTS.DEFAULT_NET_REVENUE);
- expect(bid.creativeId).to.equal(serverResponse.body.seatbid[0].bid[0].crid);
- expect(bid.currency).to.equal(serverResponse.body.cur);
- expect(bid.ttl).to.equal(BB_CONSTANTS.DEFAULT_TTL);
-
- expect(bid).to.have.property('meta');
- expect(bid.meta).to.have.property('advertiserDomains');
- expect(bid.meta.advertiserDomains[0]).to.equal('bluebillywig.com');
-
- expect(bid.publicationName).to.equal(validBidderRequest.bids[0].params.publicationName);
- expect(bid.rendererCode).to.equal(validBidderRequest.bids[0].params.rendererCode);
- expect(bid.accountId).to.equal(validBidderRequest.bids[0].params.accountId);
- });
-
- it('should not give anything when seatbid is an empty array', () => {
- const seatbidEmptyArray = deepClone(serverResponse);
- seatbidEmptyArray.body.seatbid = [];
-
- const response = seatbidEmptyArray;
- const request = spec.buildRequests(baseValidBidRequests, validBidderRequest);
- const result = spec.interpretResponse(response, request);
-
- expect(result.length).to.equal(0);
- });
-
- it('should not give anything when seatbid is missing', () => {
- const seatbidMissing = deepClone(serverResponse);
- delete seatbidMissing.body.seatbid;
-
- const response = seatbidMissing;
- const request = spec.buildRequests(baseValidBidRequests, validBidderRequest);
- const result = spec.interpretResponse(response, request);
-
- expect(result.length).to.equal(0);
- });
-
- const seatbidNotArrayResponse = deepClone(serverResponse);
- it('should not give anything when seatbid is not an array', () => {
- const invalidValues = [ false, null, {}, void (0), 123, 'string' ];
-
- for (const invalidValue of invalidValues) {
- seatbidNotArrayResponse.body.seatbid = invalidValue
- const response = deepClone(seatbidNotArrayResponse); // interpretResponse is destructive
- const request = spec.buildRequests(baseValidBidRequests, validBidderRequest);
- const result = spec.interpretResponse(response, request);
-
- expect(result.length).to.equal(0);
- }
- });
-
- it('should not give anything when seatbid.bid is an empty array', () => {
- const seatbidBidEmpty = deepClone(serverResponse);
- seatbidBidEmpty.body.seatbid[0].bid = [];
-
- const response = seatbidBidEmpty;
- const request = spec.buildRequests(baseValidBidRequests, validBidderRequest);
- const result = spec.interpretResponse(response, request);
-
- expect(result.length).to.equal(0);
- });
-
- it('should not give anything when seatbid.bid is missing', () => {
- const seatbidBidMissing = deepClone(serverResponse);
- delete seatbidBidMissing.body.seatbid[0].bid;
-
- const response = seatbidBidMissing;
- const request = spec.buildRequests(baseValidBidRequests, validBidderRequest);
- const result = spec.interpretResponse(response, request);
-
- expect(result.length).to.equal(0);
- });
-
- it('should not give anything when seatbid.bid is not an array', () => {
- const seatbidBidNotArray = deepClone(serverResponse);
-
- const invalidValues = [ false, null, {}, void (0), 123, 'string' ];
-
- for (const invalidValue of invalidValues) {
- seatbidBidNotArray.body.seatbid[0].bid = invalidValue;
-
- const response = deepClone(seatbidBidNotArray); // interpretResponse is destructive
- const request = spec.buildRequests(baseValidBidRequests, validBidderRequest);
- const result = spec.interpretResponse(response, request);
-
- expect(result.length).to.equal(0);
- }
- });
-
- it('should take default width and height when w/h not present', () => {
- const bidSizesMissing = deepClone(serverResponse);
-
- delete bidSizesMissing.body.seatbid[0].bid[0].w;
- delete bidSizesMissing.body.seatbid[0].bid[0].h;
-
- const response = bidSizesMissing;
- const request = spec.buildRequests(baseValidBidRequests, validBidderRequest);
- const result = spec.interpretResponse(response, request);
-
- expect(deepAccess(result, '0.width')).to.equal(768);
- expect(deepAccess(result, '0.height')).to.equal(432);
- });
-
- it('should take nurl value when adm not present', () => {
- const bidAdmMissing = deepClone(serverResponse);
-
- delete bidAdmMissing.body.seatbid[0].bid[0].adm;
- bidAdmMissing.body.seatbid[0].bid[0].nurl = 'https://bluebillywig.com';
-
- const response = bidAdmMissing;
- const request = spec.buildRequests(baseValidBidRequests, validBidderRequest);
- const result = spec.interpretResponse(response, request);
-
- expect(deepAccess(result, '0.vastXml')).to.be.undefined;
- expect(deepAccess(result, '0.vastUrl')).to.equal('https://bluebillywig.com');
- });
-
- it('should not take nurl value when adm present', () => {
- const bidAdmNurlPresent = deepClone(serverResponse);
-
- bidAdmNurlPresent.body.seatbid[0].bid[0].nurl = 'https://bluebillywig.com';
-
- const response = bidAdmNurlPresent;
- const request = spec.buildRequests(baseValidBidRequests, validBidderRequest);
- const result = spec.interpretResponse(response, request);
-
- expect(deepAccess(result, '0.vastXml')).to.equal(bidAdmNurlPresent.body.seatbid[0].bid[0].adm);
- expect(deepAccess(result, '0.vastUrl')).to.be.undefined;
- });
-
- it('should take ext.prebid.cache data when present, ignore ext.prebid.targeting and nurl', () => {
- const bidExtPrebidCache = deepClone(serverResponse);
-
- delete bidExtPrebidCache.body.seatbid[0].bid[0].adm;
- bidExtPrebidCache.body.seatbid[0].bid[0].nurl = 'https://notnurl.com';
-
- bidExtPrebidCache.body.seatbid[0].bid[0].ext = {
- prebid: {
- cache: {
- vastXml: {
- url: 'https://bluebillywig.com',
- cacheId: '12345'
- }
- },
- targeting: {
- hb_uuid: '23456',
- hb_cache_host: 'bluebillywig.com',
- hb_cache_path: '/cache'
- }
- }
- };
-
- const response = bidExtPrebidCache;
- const request = spec.buildRequests(baseValidBidRequests, validBidderRequest);
- const result = spec.interpretResponse(response, request);
-
- expect(deepAccess(result, '0.vastUrl')).to.equal('https://bluebillywig.com');
- expect(deepAccess(result, '0.videoCacheKey')).to.equal('12345');
- });
-
- it('should take ext.prebid.targeting data when ext.prebid.cache not present, and ignore nurl', () => {
- const bidExtPrebidTargeting = deepClone(serverResponse);
-
- delete bidExtPrebidTargeting.body.seatbid[0].bid[0].adm;
- bidExtPrebidTargeting.body.seatbid[0].bid[0].nurl = 'https://notnurl.com';
-
- bidExtPrebidTargeting.body.seatbid[0].bid[0].ext = {
- prebid: {
- targeting: {
- hb_uuid: '34567',
- hb_cache_host: 'bluebillywig.com',
- hb_cache_path: '/cache'
- }
- }
- };
-
- const response = bidExtPrebidTargeting;
- const request = spec.buildRequests(baseValidBidRequests, validBidderRequest);
- const result = spec.interpretResponse(response, request);
-
- expect(deepAccess(result, '0.vastUrl')).to.equal('https://bluebillywig.com/cache?uuid=34567');
- expect(deepAccess(result, '0.videoCacheKey')).to.equal('34567');
- });
- });
- describe('getUserSyncs', () => {
- const publicationName = 'bbprebid.dev';
- const rendererCode = 'glorious_renderer';
-
- const baseValidBid = {
- bidder: BB_CONSTANTS.BIDDER_CODE,
- params: {
- accountId: 123,
- publicationName: publicationName,
- rendererCode: rendererCode,
- connections: [ BB_CONSTANTS.BIDDER_CODE ],
- bluebillywig: {}
- },
- mediaTypes: {
- video: {
- context: 'outstream'
- }
- }
- };
-
- const validBidRequests = [baseValidBid];
-
- const validBidderRequest = {
- auctionId: '12abc345-67d8-9012-e345-6f78901a2b34',
- auctionStart: 1585918458868,
- bidderCode: BB_CONSTANTS.BIDDER_CODE,
- bidderRequestId: '1a2345b67c8d9e0',
- bids: [{
- adUnitCode: 'ad-unit-test',
- auctionId: '12abc345-67d8-9012-e345-6f78901a2b34',
- bidId: '1234ab567c89de0',
- bidRequestsCount: 1,
- bidder: BB_CONSTANTS.BIDDER_CODE,
- bidderRequestId: '1a2345b67c8d9e0',
- params: baseValidBid.params,
- sizes: [[768, 432], [640, 480], [630, 360]],
- transactionId: '2b34c5de-f67a-8901-bcd2-34567efabc89'
- }],
- start: 11585918458869,
- timeout: 3000
- };
- const validResponse = {
- id: 'a12abc345-67d8-9012-e345-6f78901a2b34',
- seatbid: [
- {
- bid: [
- {
- id: '1',
- impid: '1234ab567c89de0',
- price: 1,
- adm: '\r\nBB Adserver00:00:51',
- adid: '67069817',
- adomain: [
- 'bluebillywig.com'
- ],
- cid: '3535',
- crid: '67069817',
- w: 1,
- h: 1,
- publicationName: 'bbprebid',
- accountId: 123,
- ext: {
- prebid: {
- targeting: {
- hb_bidder: 'bluebillywig',
- hb_pb: '1.00',
- hb_size: '1x1'
- },
- type: 'video'
- },
- bidder: {
- prebid: {
- targeting: {
- hb_bidder: 'bluebillywig',
- hb_pb: '10.00',
- hb_size: '1x1'
- },
- type: 'video',
- video: {
- duration: 51,
- primary_category: ''
- }
- },
- bidder: {
- bluebillywig: {
- brand_id: 1,
- auction_id: 1,
- bid_ad_type: 1,
- creative_info: {
- video: {
- duration: 51,
- mimes: [
- 'video/x-flv',
- 'video/mp4',
- 'video/webm'
- ]
- }
- }
- }
- }
- }
- }
- }
- ],
- seat: 'bluebillywig'
- }
- ],
- cur: 'USD',
- ext: {
- responsetimemillis: {
- bluebillywig: 0
- },
- tmaxrequest: 5000
- }
- };
-
- const serverResponse = { body: validResponse };
-
- const gdpr = {
- consentString: 'BOh7mtYOh7mtYAcABBENCU-AAAAncgPIXJiiAoao0PxBFkgCAC8ACIAAQAQQAAIAAAIAAAhBGAAAQAQAEQgAAAAAAABAAAAAAAAA AAAAAACAAAAAAAACgAAAAABAAAAQAAAAAAA',
- gdprApplies: true
- };
-
- it('should return empty if no server response', function () {
- const result = spec.getUserSyncs({}, false, gdpr);
- expect(result).to.be.empty;
- });
-
- it('should return empty if server response is empty', function () {
- const result = spec.getUserSyncs({}, [], gdpr);
- expect(result).to.be.empty;
- });
-
- it('should return empty if iframeEnabled is not true', () => {
- const result = spec.getUserSyncs({iframeEnabled: false}, [serverResponse], gdpr);
- expect(result).to.be.empty;
- });
-
- it('should append the various values if they exist', function() {
- // push data to syncStore
- spec.buildRequests(validBidRequests, validBidderRequest);
-
- const result = spec.getUserSyncs({iframeEnabled: true}, [serverResponse], gdpr);
-
- expect(result).to.not.be.empty;
-
- expect(result[0].url).to.include('gdpr=1');
- expect(result[0].url).to.include(gdpr.consentString);
- expect(result[0].url).to.include('accountId=123');
- expect(result[0].url).to.include(`bidders=${btoa(JSON.stringify(validBidRequests[0].params.connections))}`);
- expect(result[0].url).to.include('cb=');
- });
- });
-});
diff --git a/test/spec/modules/brightcomBidAdapter_spec.js b/test/spec/modules/brightcomBidAdapter_spec.js
deleted file mode 100644
index 1ae73708d00..00000000000
--- a/test/spec/modules/brightcomBidAdapter_spec.js
+++ /dev/null
@@ -1,411 +0,0 @@
-import { expect } from 'chai';
-import * as utils from 'src/utils.js';
-import { spec } from 'modules/brightcomBidAdapter.js';
-import { newBidder } from 'src/adapters/bidderFactory.js';
-import {config} from '../../../src/config';
-
-const URL = 'https://brightcombid.marphezis.com/hb';
-
-describe('brightcomBidAdapter', function() {
- const adapter = newBidder(spec);
- let element, win;
- let bidRequests;
- let sandbox;
-
- beforeEach(function() {
- element = {
- x: 0,
- y: 0,
-
- width: 0,
- height: 0,
-
- getBoundingClientRect: () => {
- return {
- width: element.width,
- height: element.height,
-
- left: element.x,
- top: element.y,
- right: element.x + element.width,
- bottom: element.y + element.height
- };
- }
- };
- win = {
- document: {
- visibilityState: 'visible'
- },
-
- innerWidth: 800,
- innerHeight: 600
- };
- bidRequests = [{
- 'bidder': 'brightcom',
- 'params': {
- 'publisherId': 1234567
- },
- 'adUnitCode': 'adunit-code',
- 'mediaTypes': {
- 'banner': {
- 'sizes': [[300, 250], [300, 600]]
- }
- },
- 'bidId': '5fb26ac22bde4',
- 'bidderRequestId': '4bf93aeb730cb9',
- 'auctionId': 'ffe9a1f7-7b67-4bda-a8e0-9ee5dc9f442e',
- 'schain': {
- 'ver': '1.0',
- 'complete': 1,
- 'nodes': [
- {
- 'asi': 'exchange1.com',
- 'sid': '1234',
- 'hp': 1,
- 'rid': 'bid-request-1',
- 'name': 'publisher',
- 'domain': 'publisher.com'
- }
- ]
- },
- }];
-
- sandbox = sinon.sandbox.create();
- sandbox.stub(document, 'getElementById').withArgs('adunit-code').returns(element);
- sandbox.stub(utils, 'getWindowTop').returns(win);
- sandbox.stub(utils, 'getWindowSelf').returns(win);
- });
-
- afterEach(function() {
- sandbox.restore();
- });
-
- describe('isBidRequestValid', function () {
- let bid = {
- 'bidder': 'brightcom',
- 'params': {
- 'publisherId': 1234567
- },
- 'adUnitCode': 'adunit-code',
- 'mediaTypes': {
- 'banner': {
- 'sizes': [[300, 250], [300, 600]]
- }
- },
- 'bidId': '5fb26ac22bde4',
- 'bidderRequestId': '4bf93aeb730cb9',
- 'auctionId': 'ffe9a1f7-7b67-4bda-a8e0-9ee5dc9f442e',
- };
-
- it('should return true when required params found', function () {
- expect(spec.isBidRequestValid(bid)).to.equal(true);
- });
-
- it('should return false when publisherId not passed correctly', function () {
- bid.params.publisherId = undefined;
- expect(spec.isBidRequestValid(bid)).to.equal(false);
- });
-
- it('should return false when require params are not passed', function () {
- let bid = Object.assign({}, bid);
- bid.params = {};
- expect(spec.isBidRequestValid(bid)).to.equal(false);
- });
- });
-
- describe('buildRequests', function () {
- it('sends bid request to our endpoint via POST', function () {
- const request = spec.buildRequests(bidRequests);
- expect(request.method).to.equal('POST');
- });
-
- it('request url should match our endpoint url', function () {
- const request = spec.buildRequests(bidRequests);
- expect(request.url).to.equal(URL);
- });
-
- it('sets the proper banner object', function() {
- const request = spec.buildRequests(bidRequests);
- const payload = JSON.parse(request.data);
- expect(payload.imp[0].banner.format).to.deep.equal([{w: 300, h: 250}, {w: 300, h: 600}]);
- });
-
- it('accepts a single array as a size', function() {
- bidRequests[0].mediaTypes.banner.sizes = [300, 250];
- const request = spec.buildRequests(bidRequests);
- const payload = JSON.parse(request.data);
- expect(payload.imp[0].banner.format).to.deep.equal([{w: 300, h: 250}]);
- });
-
- it('sends bidfloor param if present', function () {
- bidRequests[0].params.bidFloor = 0.05;
- const request = spec.buildRequests(bidRequests);
- const payload = JSON.parse(request.data);
- expect(payload.imp[0].bidfloor).to.equal(0.05);
- });
-
- it('sends tagid', function () {
- const request = spec.buildRequests(bidRequests);
- const payload = JSON.parse(request.data);
- expect(payload.imp[0].tagid).to.equal('adunit-code');
- });
-
- it('sends publisher id', function () {
- const request = spec.buildRequests(bidRequests);
- const payload = JSON.parse(request.data);
- expect(payload.site.publisher.id).to.equal(1234567);
- });
-
- it('sends gdpr info if exists', function () {
- const consentString = 'BOJ8RZsOJ8RZsABAB8AAAAAZ+A==';
- const bidderRequest = {
- 'bidderCode': 'brightcom',
- 'auctionId': '1d1a030790a437',
- 'bidderRequestId': '22edbae2744bf5',
- 'timeout': 3000,
- gdprConsent: {
- consentString: consentString,
- gdprApplies: true
- },
- refererInfo: {
- page: 'http://example.com/page.html',
- domain: 'example.com',
- }
- };
- bidderRequest.bids = bidRequests;
-
- const data = JSON.parse(spec.buildRequests(bidRequests, bidderRequest).data);
-
- expect(data.regs.ext.gdpr).to.exist.and.to.be.a('number');
- expect(data.regs.ext.gdpr).to.equal(1);
- expect(data.user.ext.consent).to.exist.and.to.be.a('string');
- expect(data.user.ext.consent).to.equal(consentString);
- });
-
- it('sends us_privacy', function () {
- const bidderRequest = {
- uspConsent: '1YYY'
- };
- const data = JSON.parse(spec.buildRequests(bidRequests, bidderRequest).data)
-
- expect(data.regs).to.not.equal(null);
- expect(data.regs.ext).to.not.equal(null);
- expect(data.regs.ext.us_privacy).to.equal('1YYY');
- });
-
- it('sends coppa', function () {
- sandbox.stub(config, 'getConfig').withArgs('coppa').returns(true);
-
- const data = JSON.parse(spec.buildRequests(bidRequests).data)
- expect(data.regs).to.not.be.undefined;
- expect(data.regs.coppa).to.equal(1);
- });
-
- it('sends schain', function () {
- const data = JSON.parse(spec.buildRequests(bidRequests).data);
- expect(data).to.not.be.undefined;
- expect(data.source).to.not.be.undefined;
- expect(data.source.ext).to.not.be.undefined;
- expect(data.source.ext.schain).to.not.be.undefined;
- expect(data.source.ext.schain.complete).to.equal(1);
- expect(data.source.ext.schain.ver).to.equal('1.0');
- expect(data.source.ext.schain.nodes).to.not.be.undefined;
- expect(data.source.ext.schain.nodes).to.lengthOf(1);
- expect(data.source.ext.schain.nodes[0].asi).to.equal('exchange1.com');
- expect(data.source.ext.schain.nodes[0].sid).to.equal('1234');
- expect(data.source.ext.schain.nodes[0].hp).to.equal(1);
- expect(data.source.ext.schain.nodes[0].rid).to.equal('bid-request-1');
- expect(data.source.ext.schain.nodes[0].name).to.equal('publisher');
- expect(data.source.ext.schain.nodes[0].domain).to.equal('publisher.com');
- });
-
- it('sends user eid parameters', function () {
- bidRequests[0].userIdAsEids = [{
- source: 'pubcid.org',
- uids: [{
- id: 'userid_pubcid'
- }]
- }, {
- source: 'adserver.org',
- uids: [{
- id: 'userid_ttd',
- ext: {
- rtiPartner: 'TDID'
- }
- }]
- }
- ];
-
- const data = JSON.parse(spec.buildRequests(bidRequests).data);
-
- expect(data.user).to.not.be.undefined;
- expect(data.user.ext).to.not.be.undefined;
- expect(data.user.ext.eids).to.not.be.undefined;
- expect(data.user.ext.eids).to.deep.equal(bidRequests[0].userIdAsEids);
- });
-
- it('sends user id parameters', function () {
- const userId = {
- sharedid: {
- id: '01*******',
- third: '01E*******'
- }
- };
-
- bidRequests[0].userId = userId;
-
- const data = JSON.parse(spec.buildRequests(bidRequests).data);
- expect(data.user).to.not.be.undefined;
- expect(data.user.ext).to.not.be.undefined;
- expect(data.user.ext.ids).is.deep.equal(userId);
- });
-
- context('when element is fully in view', function() {
- it('returns 100', function() {
- Object.assign(element, { width: 600, height: 400 });
- const request = spec.buildRequests(bidRequests);
- const payload = JSON.parse(request.data);
- expect(payload.imp[0].banner.ext.viewability).to.equal(100);
- });
- });
-
- context('when element is out of view', function() {
- it('returns 0', function() {
- Object.assign(element, { x: -300, y: 0, width: 207, height: 320 });
- const request = spec.buildRequests(bidRequests);
- const payload = JSON.parse(request.data);
- expect(payload.imp[0].banner.ext.viewability).to.equal(0);
- });
- });
-
- context('when element is partially in view', function() {
- it('returns percentage', function() {
- Object.assign(element, { width: 800, height: 800 });
- const request = spec.buildRequests(bidRequests);
- const payload = JSON.parse(request.data);
- expect(payload.imp[0].banner.ext.viewability).to.equal(75);
- });
- });
-
- context('when width or height of the element is zero', function() {
- it('try to use alternative values', function() {
- Object.assign(element, { width: 0, height: 0 });
- bidRequests[0].mediaTypes.banner.sizes = [[800, 2400]];
- const request = spec.buildRequests(bidRequests);
- const payload = JSON.parse(request.data);
- expect(payload.imp[0].banner.ext.viewability).to.equal(25);
- });
- });
-
- context('when nested iframes', function() {
- it('returns \'na\'', function() {
- Object.assign(element, { width: 600, height: 400 });
-
- utils.getWindowTop.restore();
- utils.getWindowSelf.restore();
- sandbox.stub(utils, 'getWindowTop').returns(win);
- sandbox.stub(utils, 'getWindowSelf').returns({});
-
- const request = spec.buildRequests(bidRequests);
- const payload = JSON.parse(request.data);
- expect(payload.imp[0].banner.ext.viewability).to.equal('na');
- });
- });
-
- context('when tab is inactive', function() {
- it('returns 0', function() {
- Object.assign(element, { width: 600, height: 400 });
-
- utils.getWindowTop.restore();
- win.document.visibilityState = 'hidden';
- sandbox.stub(utils, 'getWindowTop').returns(win);
-
- const request = spec.buildRequests(bidRequests);
- const payload = JSON.parse(request.data);
- expect(payload.imp[0].banner.ext.viewability).to.equal(0);
- });
- });
- });
-
- describe('interpretResponse', function () {
- let response;
- beforeEach(function () {
- response = {
- body: {
- 'id': '37386aade21a71',
- 'seatbid': [{
- 'bid': [{
- 'id': '376874781',
- 'impid': '283a9f4cd2415d',
- 'price': 0.35743275,
- 'nurl': '',
- 'adm': '',
- 'w': 300,
- 'h': 250,
- 'adomain': ['example.com']
- }]
- }]
- }
- };
- });
-
- it('should get the correct bid response', function () {
- let expectedResponse = [{
- 'requestId': '283a9f4cd2415d',
- 'cpm': 0.35743275,
- 'width': 300,
- 'height': 250,
- 'creativeId': '376874781',
- 'currency': 'USD',
- 'netRevenue': true,
- 'mediaType': 'banner',
- 'ad': ``,
- 'ttl': 60,
- 'meta': {
- 'advertiserDomains': ['example.com']
- }
- }];
-
- let result = spec.interpretResponse(response);
- expect(result[0]).to.deep.equal(expectedResponse[0]);
- });
-
- it('crid should default to the bid id if not on the response', function () {
- let expectedResponse = [{
- 'requestId': '283a9f4cd2415d',
- 'cpm': 0.35743275,
- 'width': 300,
- 'height': 250,
- 'creativeId': response.body.seatbid[0].bid[0].id,
- 'currency': 'USD',
- 'netRevenue': true,
- 'mediaType': 'banner',
- 'ad': ``,
- 'ttl': 60,
- 'meta': {
- 'advertiserDomains': ['example.com']
- }
- }];
-
- let result = spec.interpretResponse(response);
- expect(result[0]).to.deep.equal(expectedResponse[0]);
- });
-
- it('handles empty bid response', function () {
- let response = {
- body: ''
- };
- let result = spec.interpretResponse(response);
- expect(result.length).to.equal(0);
- });
- });
-
- describe('getUserSyncs ', () => {
- let syncOptions = {iframeEnabled: true, pixelEnabled: true};
-
- it('should not return', () => {
- let returnStatement = spec.getUserSyncs(syncOptions, []);
- expect(returnStatement).to.be.empty;
- });
- });
-});
diff --git a/test/spec/modules/brightcomSSPBidAdapter_spec.js b/test/spec/modules/brightcomSSPBidAdapter_spec.js
deleted file mode 100644
index 6f35a7a290b..00000000000
--- a/test/spec/modules/brightcomSSPBidAdapter_spec.js
+++ /dev/null
@@ -1,411 +0,0 @@
-import { expect } from 'chai';
-import * as utils from 'src/utils.js';
-import { spec } from 'modules/brightcomSSPBidAdapter';
-import { newBidder } from 'src/adapters/bidderFactory.js';
-import {config} from '../../../src/config';
-
-const URL = 'https://rt.marphezis.com/hb';
-
-describe('brightcomSSPBidAdapter', function() {
- const adapter = newBidder(spec);
- let element, win;
- let bidRequests;
- let sandbox;
-
- beforeEach(function() {
- element = {
- x: 0,
- y: 0,
-
- width: 0,
- height: 0,
-
- getBoundingClientRect: () => {
- return {
- width: element.width,
- height: element.height,
-
- left: element.x,
- top: element.y,
- right: element.x + element.width,
- bottom: element.y + element.height
- };
- }
- };
- win = {
- document: {
- visibilityState: 'visible'
- },
-
- innerWidth: 800,
- innerHeight: 600
- };
- bidRequests = [{
- 'bidder': 'bcmssp',
- 'params': {
- 'publisherId': 1234567
- },
- 'adUnitCode': 'adunit-code',
- 'mediaTypes': {
- 'banner': {
- 'sizes': [[300, 250], [300, 600]]
- }
- },
- 'bidId': '5fb26ac22bde4',
- 'bidderRequestId': '4bf93aeb730cb9',
- 'auctionId': 'ffe9a1f7-7b67-4bda-a8e0-9ee5dc9f442e',
- 'schain': {
- 'ver': '1.0',
- 'complete': 1,
- 'nodes': [
- {
- 'asi': 'exchange1.com',
- 'sid': '1234',
- 'hp': 1,
- 'rid': 'bid-request-1',
- 'name': 'publisher',
- 'domain': 'publisher.com'
- }
- ]
- },
- }];
-
- sandbox = sinon.sandbox.create();
- sandbox.stub(document, 'getElementById').withArgs('adunit-code').returns(element);
- sandbox.stub(utils, 'getWindowTop').returns(win);
- sandbox.stub(utils, 'getWindowSelf').returns(win);
- });
-
- afterEach(function() {
- sandbox.restore();
- });
-
- describe('isBidRequestValid', function () {
- let bid = {
- 'bidder': 'bcmssp',
- 'params': {
- 'publisherId': 1234567
- },
- 'adUnitCode': 'adunit-code',
- 'mediaTypes': {
- 'banner': {
- 'sizes': [[300, 250], [300, 600]]
- }
- },
- 'bidId': '5fb26ac22bde4',
- 'bidderRequestId': '4bf93aeb730cb9',
- 'auctionId': 'ffe9a1f7-7b67-4bda-a8e0-9ee5dc9f442e',
- };
-
- it('should return true when required params found', function () {
- expect(spec.isBidRequestValid(bid)).to.equal(true);
- });
-
- it('should return false when publisherId not passed correctly', function () {
- bid.params.publisherId = undefined;
- expect(spec.isBidRequestValid(bid)).to.equal(false);
- });
-
- it('should return false when require params are not passed', function () {
- let bid = Object.assign({}, bid);
- bid.params = {};
- expect(spec.isBidRequestValid(bid)).to.equal(false);
- });
- });
-
- describe('buildRequests', function () {
- it('sends bid request to our endpoint via POST', function () {
- const request = spec.buildRequests(bidRequests);
- expect(request.method).to.equal('POST');
- });
-
- it('request url should match our endpoint url', function () {
- const request = spec.buildRequests(bidRequests);
- expect(request.url).to.equal(URL);
- });
-
- it('sets the proper banner object', function() {
- const request = spec.buildRequests(bidRequests);
- const payload = JSON.parse(request.data);
- expect(payload.imp[0].banner.format).to.deep.equal([{w: 300, h: 250}, {w: 300, h: 600}]);
- });
-
- it('accepts a single array as a size', function() {
- bidRequests[0].mediaTypes.banner.sizes = [300, 250];
- const request = spec.buildRequests(bidRequests);
- const payload = JSON.parse(request.data);
- expect(payload.imp[0].banner.format).to.deep.equal([{w: 300, h: 250}]);
- });
-
- it('sends bidfloor param if present', function () {
- bidRequests[0].params.bidFloor = 0.05;
- const request = spec.buildRequests(bidRequests);
- const payload = JSON.parse(request.data);
- expect(payload.imp[0].bidfloor).to.equal(0.05);
- });
-
- it('sends tagid', function () {
- const request = spec.buildRequests(bidRequests);
- const payload = JSON.parse(request.data);
- expect(payload.imp[0].tagid).to.equal('adunit-code');
- });
-
- it('sends publisher id', function () {
- const request = spec.buildRequests(bidRequests);
- const payload = JSON.parse(request.data);
- expect(payload.site.publisher.id).to.equal(1234567);
- });
-
- it('sends gdpr info if exists', function () {
- const consentString = 'BOJ8RZsOJ8RZsABAB8AAAAAZ+A==';
- const bidderRequest = {
- 'bidderCode': 'bcmssp',
- 'auctionId': '1d1a030790a437',
- 'bidderRequestId': '22edbae2744bf5',
- 'timeout': 3000,
- gdprConsent: {
- consentString: consentString,
- gdprApplies: true
- },
- refererInfo: {
- page: 'http://example.com/page.html',
- domain: 'example.com',
- }
- };
- bidderRequest.bids = bidRequests;
-
- const data = JSON.parse(spec.buildRequests(bidRequests, bidderRequest).data);
-
- expect(data.regs.ext.gdpr).to.exist.and.to.be.a('number');
- expect(data.regs.ext.gdpr).to.equal(1);
- expect(data.user.ext.consent).to.exist.and.to.be.a('string');
- expect(data.user.ext.consent).to.equal(consentString);
- });
-
- it('sends us_privacy', function () {
- const bidderRequest = {
- uspConsent: '1YYY'
- };
- const data = JSON.parse(spec.buildRequests(bidRequests, bidderRequest).data)
-
- expect(data.regs).to.not.equal(null);
- expect(data.regs.ext).to.not.equal(null);
- expect(data.regs.ext.us_privacy).to.equal('1YYY');
- });
-
- it('sends coppa', function () {
- sandbox.stub(config, 'getConfig').withArgs('coppa').returns(true);
-
- const data = JSON.parse(spec.buildRequests(bidRequests).data)
- expect(data.regs).to.not.be.undefined;
- expect(data.regs.coppa).to.equal(1);
- });
-
- it('sends schain', function () {
- const data = JSON.parse(spec.buildRequests(bidRequests).data);
- expect(data).to.not.be.undefined;
- expect(data.source).to.not.be.undefined;
- expect(data.source.ext).to.not.be.undefined;
- expect(data.source.ext.schain).to.not.be.undefined;
- expect(data.source.ext.schain.complete).to.equal(1);
- expect(data.source.ext.schain.ver).to.equal('1.0');
- expect(data.source.ext.schain.nodes).to.not.be.undefined;
- expect(data.source.ext.schain.nodes).to.lengthOf(1);
- expect(data.source.ext.schain.nodes[0].asi).to.equal('exchange1.com');
- expect(data.source.ext.schain.nodes[0].sid).to.equal('1234');
- expect(data.source.ext.schain.nodes[0].hp).to.equal(1);
- expect(data.source.ext.schain.nodes[0].rid).to.equal('bid-request-1');
- expect(data.source.ext.schain.nodes[0].name).to.equal('publisher');
- expect(data.source.ext.schain.nodes[0].domain).to.equal('publisher.com');
- });
-
- it('sends user eid parameters', function () {
- bidRequests[0].userIdAsEids = [{
- source: 'pubcid.org',
- uids: [{
- id: 'userid_pubcid'
- }]
- }, {
- source: 'adserver.org',
- uids: [{
- id: 'userid_ttd',
- ext: {
- rtiPartner: 'TDID'
- }
- }]
- }
- ];
-
- const data = JSON.parse(spec.buildRequests(bidRequests).data);
-
- expect(data.user).to.not.be.undefined;
- expect(data.user.ext).to.not.be.undefined;
- expect(data.user.ext.eids).to.not.be.undefined;
- expect(data.user.ext.eids).to.deep.equal(bidRequests[0].userIdAsEids);
- });
-
- it('sends user id parameters', function () {
- const userId = {
- sharedid: {
- id: '01*******',
- third: '01E*******'
- }
- };
-
- bidRequests[0].userId = userId;
-
- const data = JSON.parse(spec.buildRequests(bidRequests).data);
- expect(data.user).to.not.be.undefined;
- expect(data.user.ext).to.not.be.undefined;
- expect(data.user.ext.ids).is.deep.equal(userId);
- });
-
- context('when element is fully in view', function() {
- it('returns 100', function() {
- Object.assign(element, { width: 600, height: 400 });
- const request = spec.buildRequests(bidRequests);
- const payload = JSON.parse(request.data);
- expect(payload.imp[0].banner.ext.viewability).to.equal(100);
- });
- });
-
- context('when element is out of view', function() {
- it('returns 0', function() {
- Object.assign(element, { x: -300, y: 0, width: 207, height: 320 });
- const request = spec.buildRequests(bidRequests);
- const payload = JSON.parse(request.data);
- expect(payload.imp[0].banner.ext.viewability).to.equal(0);
- });
- });
-
- context('when element is partially in view', function() {
- it('returns percentage', function() {
- Object.assign(element, { width: 800, height: 800 });
- const request = spec.buildRequests(bidRequests);
- const payload = JSON.parse(request.data);
- expect(payload.imp[0].banner.ext.viewability).to.equal(75);
- });
- });
-
- context('when width or height of the element is zero', function() {
- it('try to use alternative values', function() {
- Object.assign(element, { width: 0, height: 0 });
- bidRequests[0].mediaTypes.banner.sizes = [[800, 2400]];
- const request = spec.buildRequests(bidRequests);
- const payload = JSON.parse(request.data);
- expect(payload.imp[0].banner.ext.viewability).to.equal(25);
- });
- });
-
- context('when nested iframes', function() {
- it('returns \'na\'', function() {
- Object.assign(element, { width: 600, height: 400 });
-
- utils.getWindowTop.restore();
- utils.getWindowSelf.restore();
- sandbox.stub(utils, 'getWindowTop').returns(win);
- sandbox.stub(utils, 'getWindowSelf').returns({});
-
- const request = spec.buildRequests(bidRequests);
- const payload = JSON.parse(request.data);
- expect(payload.imp[0].banner.ext.viewability).to.equal('na');
- });
- });
-
- context('when tab is inactive', function() {
- it('returns 0', function() {
- Object.assign(element, { width: 600, height: 400 });
-
- utils.getWindowTop.restore();
- win.document.visibilityState = 'hidden';
- sandbox.stub(utils, 'getWindowTop').returns(win);
-
- const request = spec.buildRequests(bidRequests);
- const payload = JSON.parse(request.data);
- expect(payload.imp[0].banner.ext.viewability).to.equal(0);
- });
- });
- });
-
- describe('interpretResponse', function () {
- let response;
- beforeEach(function () {
- response = {
- body: {
- 'id': '37386aade21a71',
- 'seatbid': [{
- 'bid': [{
- 'id': '376874781',
- 'impid': '283a9f4cd2415d',
- 'price': 0.35743275,
- 'nurl': '',
- 'adm': '',
- 'w': 300,
- 'h': 250,
- 'adomain': ['example.com']
- }]
- }]
- }
- };
- });
-
- it('should get the correct bid response', function () {
- let expectedResponse = [{
- 'requestId': '283a9f4cd2415d',
- 'cpm': 0.35743275,
- 'width': 300,
- 'height': 250,
- 'creativeId': '376874781',
- 'currency': 'USD',
- 'netRevenue': true,
- 'mediaType': 'banner',
- 'ad': ``,
- 'ttl': 60,
- 'meta': {
- 'advertiserDomains': ['example.com']
- }
- }];
-
- let result = spec.interpretResponse(response);
- expect(result[0]).to.deep.equal(expectedResponse[0]);
- });
-
- it('crid should default to the bid id if not on the response', function () {
- let expectedResponse = [{
- 'requestId': '283a9f4cd2415d',
- 'cpm': 0.35743275,
- 'width': 300,
- 'height': 250,
- 'creativeId': response.body.seatbid[0].bid[0].id,
- 'currency': 'USD',
- 'netRevenue': true,
- 'mediaType': 'banner',
- 'ad': ``,
- 'ttl': 60,
- 'meta': {
- 'advertiserDomains': ['example.com']
- }
- }];
-
- let result = spec.interpretResponse(response);
- expect(result[0]).to.deep.equal(expectedResponse[0]);
- });
-
- it('handles empty bid response', function () {
- let response = {
- body: ''
- };
- let result = spec.interpretResponse(response);
- expect(result.length).to.equal(0);
- });
- });
-
- describe('getUserSyncs ', () => {
- let syncOptions = {iframeEnabled: true, pixelEnabled: true};
-
- it('should not return', () => {
- let returnStatement = spec.getUserSyncs(syncOptions, []);
- expect(returnStatement).to.be.empty;
- });
- });
-});
diff --git a/test/spec/modules/britepoolIdSystem_spec.js b/test/spec/modules/britepoolIdSystem_spec.js
deleted file mode 100644
index ab00c3015d4..00000000000
--- a/test/spec/modules/britepoolIdSystem_spec.js
+++ /dev/null
@@ -1,148 +0,0 @@
-import {britepoolIdSubmodule} from 'modules/britepoolIdSystem.js';
-import * as utils from '../../../src/utils.js';
-import {attachIdSystem} from '../../../modules/userId/index.js';
-import {createEidsArray} from '../../../modules/userId/eids.js';
-import {expect} from 'chai/index.mjs';
-
-describe('BritePool Submodule', () => {
- const api_key = '1111';
- const aaid = '4421ea96-34a9-45df-a4ea-3c41a48a18b1';
- const idfa = '2d1c4fac-5507-4e28-991c-ca544e992dba';
- const bpid = '279c0161-5152-487f-809e-05d7f7e653fd';
- const url_override = 'https://override';
- const getter_override = function(params) {
- return JSON.stringify({ 'primaryBPID': bpid });
- };
- const getter_callback_override = function(params) {
- return callback => {
- callback(JSON.stringify({ 'primaryBPID': bpid }));
- };
- };
-
- let triggerPixelStub;
-
- beforeEach(function (done) {
- triggerPixelStub = sinon.stub(utils, 'triggerPixel');
- done();
- });
-
- afterEach(function () {
- triggerPixelStub.restore();
- });
-
- it('trigger id resolution pixel when no identifiers set', () => {
- britepoolIdSubmodule.getId({ params: {} });
- expect(triggerPixelStub.called).to.be.true;
- });
-
- it('trigger id resolution pixel when no identifiers set with api_key param', () => {
- britepoolIdSubmodule.getId({ params: { api_key } });
- expect(triggerPixelStub.called).to.be.true;
- });
-
- it('does not trigger id resolution pixel when identifiers set', () => {
- britepoolIdSubmodule.getId({ params: { api_key, aaid } });
- expect(triggerPixelStub.called).to.be.false;
- });
-
- it('sends x-api-key in header and one identifier', () => {
- const { params, headers, url, errors } = britepoolIdSubmodule.createParams({ api_key, aaid });
- assert(errors.length === 0, errors);
- expect(headers['x-api-key']).to.equal(api_key);
- expect(params).to.eql({ aaid });
- });
-
- it('sends x-api-key in header and two identifiers', () => {
- const { params, headers, url, errors } = britepoolIdSubmodule.createParams({ api_key, aaid, idfa });
- assert(errors.length === 0, errors);
- expect(headers['x-api-key']).to.equal(api_key);
- expect(params).to.eql({ aaid, idfa });
- });
-
- it('allows call without api_key', () => {
- const { params, headers, url, errors } = britepoolIdSubmodule.createParams({ aaid, idfa });
- expect(params).to.eql({ aaid, idfa });
- expect(errors.length).to.equal(0);
- });
-
- it('test url override', () => {
- const { params, headers, url, errors } = britepoolIdSubmodule.createParams({ api_key, aaid, url: url_override });
- expect(url).to.equal(url_override);
- // Making sure it did not become part of params
- expect(params.url).to.be.undefined;
- });
-
- it('test gdpr consent string in url', () => {
- const { params, headers, url, errors } = britepoolIdSubmodule.createParams({ api_key, aaid }, { gdprApplies: true, consentString: 'expectedConsentString' });
- expect(url).to.equal('https://api.britepool.com/v1/britepool/id?gdprString=expectedConsentString');
- });
-
- it('test gdpr consent string not in url if gdprApplies false', () => {
- const { params, headers, url, errors } = britepoolIdSubmodule.createParams({ api_key, aaid }, { gdprApplies: false, consentString: 'expectedConsentString' });
- expect(url).to.equal('https://api.britepool.com/v1/britepool/id');
- });
-
- it('test gdpr consent string not in url if consent string undefined', () => {
- const { params, headers, url, errors } = britepoolIdSubmodule.createParams({ api_key, aaid }, { gdprApplies: true, consentString: undefined });
- expect(url).to.equal('https://api.britepool.com/v1/britepool/id');
- });
-
- it('dynamic pub params should be added to params', () => {
- window.britepool_pubparams = { ppid: '12345' };
- const { params, headers, url, errors } = britepoolIdSubmodule.createParams({ api_key, aaid });
- expect(params).to.eql({ aaid, ppid: '12345' });
- window.britepool_pubparams = undefined;
- });
-
- it('dynamic pub params should override submodule params', () => {
- window.britepool_pubparams = { ppid: '67890' };
- const { params, headers, url, errors } = britepoolIdSubmodule.createParams({ api_key, ppid: '12345' });
- expect(params).to.eql({ ppid: '67890' });
- window.britepool_pubparams = undefined;
- });
-
- it('if dynamic pub params undefined do nothing', () => {
- window.britepool_pubparams = undefined;
- const { params, headers, url, errors } = britepoolIdSubmodule.createParams({ api_key, aaid });
- expect(params).to.eql({ aaid });
- window.britepool_pubparams = undefined;
- });
-
- it('test getter override with value', () => {
- const { params, headers, url, getter, errors } = britepoolIdSubmodule.createParams({ api_key, aaid, url: url_override, getter: getter_override });
- expect(getter).to.equal(getter_override);
- // Making sure it did not become part of params
- expect(params.getter).to.be.undefined;
- const response = britepoolIdSubmodule.getId({ params: { api_key, aaid, url: url_override, getter: getter_override } });
- assert.deepEqual(response, { id: { 'primaryBPID': bpid } });
- });
-
- it('test getter override with callback', done => {
- const { params, headers, url, getter, errors } = britepoolIdSubmodule.createParams({ api_key, aaid, url: url_override, getter: getter_callback_override });
- expect(getter).to.equal(getter_callback_override);
- // Making sure it did not become part of params
- expect(params.getter).to.be.undefined;
- const response = britepoolIdSubmodule.getId({ params: { api_key, aaid, url: url_override, getter: getter_callback_override } });
- expect(response.callback).to.not.be.undefined;
- response.callback(result => {
- assert.deepEqual(result, { 'primaryBPID': bpid });
- done();
- });
- });
- describe('eid', () => {
- before(() => {
- attachIdSystem(britepoolIdSubmodule);
- });
- it('britepoolId', function() {
- const userId = {
- britepoolid: 'some-random-id-value'
- };
- const newEids = createEidsArray(userId);
- expect(newEids.length).to.equal(1);
- expect(newEids[0]).to.deep.equal({
- source: 'britepool.com',
- uids: [{id: 'some-random-id-value', atype: 3}]
- });
- });
- })
-});
diff --git a/test/spec/modules/c1xBidAdapter_spec.js b/test/spec/modules/c1xBidAdapter_spec.js
index 315680cba26..c93b43d571b 100644
--- a/test/spec/modules/c1xBidAdapter_spec.js
+++ b/test/spec/modules/c1xBidAdapter_spec.js
@@ -31,9 +31,9 @@ describe('C1XAdapter', () => {
});
it('should return false when require params are not passed', function () {
- let bid = Object.assign({}, bid);
- bid.params = {};
- expect(c1xAdapter.isBidRequestValid(bid)).to.equal(false);
+ let invalidBid = Object.assign({}, bid);
+ invalidBid.params = {};
+ expect(c1xAdapter.isBidRequestValid(invalidBid)).to.equal(false);
});
});
describe('buildRequests', () => {
diff --git a/test/spec/modules/clickforceBidAdapter_spec.js b/test/spec/modules/clickforceBidAdapter_spec.js
index c4c4d77e954..99aef433890 100644
--- a/test/spec/modules/clickforceBidAdapter_spec.js
+++ b/test/spec/modules/clickforceBidAdapter_spec.js
@@ -31,12 +31,12 @@ describe('ClickforceAdapter', function () {
});
it('should return false when required params are not passed', function () {
- let bid = Object.assign({}, bid);
- delete bid.params;
- bid.params = {
+ let invalidBid = Object.assign({}, bid);
+ delete invalidBid.params;
+ invalidBid.params = {
'someIncorrectParam': 0
};
- expect(spec.isBidRequestValid(bid)).to.equal(false);
+ expect(spec.isBidRequestValid(invalidBid)).to.equal(false);
});
});
diff --git a/test/spec/modules/colombiaBidAdapter_spec.js b/test/spec/modules/colombiaBidAdapter_spec.js
index b7256545c5e..1b61e1a92b4 100644
--- a/test/spec/modules/colombiaBidAdapter_spec.js
+++ b/test/spec/modules/colombiaBidAdapter_spec.js
@@ -33,9 +33,9 @@ describe('colombiaBidAdapter', function() {
});
it('should return false when require params are not passed', function () {
- let bid = Object.assign({}, bid);
- bid.params = {};
- expect(spec.isBidRequestValid(bid)).to.equal(false);
+ let invalidBid = Object.assign({}, bid);
+ invalidBid.params = {};
+ expect(spec.isBidRequestValid(invalidBid)).to.equal(false);
});
});
diff --git a/test/spec/modules/colossussspBidAdapter_spec.js b/test/spec/modules/colossussspBidAdapter_spec.js
index ebe1e9be4d4..22a98df633f 100644
--- a/test/spec/modules/colossussspBidAdapter_spec.js
+++ b/test/spec/modules/colossussspBidAdapter_spec.js
@@ -257,7 +257,6 @@ describe('ColossussspAdapter', function () {
describe('buildRequests with user ids', function () {
var clonedBid = JSON.parse(JSON.stringify(bid));
clonedBid.userId = {}
- clonedBid.userId.britepoolid = 'britepoolid123';
clonedBid.userId.idl_env = 'idl_env123';
clonedBid.userId.tdid = 'tdid123';
clonedBid.userId.id5id = { uid: 'id5id123' };
@@ -303,11 +302,11 @@ describe('ColossussspAdapter', function () {
let placement = placements[i];
expect(placement).to.have.property('eids')
expect(placement.eids).to.be.an('array')
- expect(placement.eids.length).to.be.equal(8)
+ expect(placement.eids.length).to.be.equal(7)
for (let index in placement.eids) {
let v = placement.eids[index];
expect(v).to.have.all.keys('source', 'uids')
- expect(v.source).to.be.oneOf(['pubcid.org', 'adserver.org', 'neustar.biz', 'britepool.com', 'identityLink', 'id5-sync.com', 'adserver.org', 'uidapi.com'])
+ expect(v.source).to.be.oneOf(['pubcid.org', 'adserver.org', 'neustar.biz', 'identityLink', 'id5-sync.com', 'adserver.org', 'uidapi.com'])
expect(v.uids).to.be.an('array');
expect(v.uids.length).to.be.equal(1)
expect(v.uids[0]).to.have.property('id')
diff --git a/test/spec/modules/consentManagementGpp_spec.js b/test/spec/modules/consentManagementGpp_spec.js
index 93a876d0233..fb27bf4818c 100644
--- a/test/spec/modules/consentManagementGpp_spec.js
+++ b/test/spec/modules/consentManagementGpp_spec.js
@@ -141,170 +141,33 @@ describe('consentManagementGpp', function () {
});
});
});
- describe('GPPClient.ping', () => {
- function mkPingData(gppVersion) {
- return {
- gppVersion
- }
- }
- Object.entries({
- 'unknown': {
- expectedMode: MODE_CALLBACK,
- pingData: mkPingData(),
- apiVersion: '1.1',
- client({callback}) {
- callback(this.pingData);
- }
- },
- '1.0': {
- expectedMode: MODE_MIXED,
- pingData: mkPingData('1.0'),
- apiVersion: '1.0',
- client() {
- return this.pingData;
- }
- },
- '1.1 that runs callback immediately': {
- expectedMode: MODE_CALLBACK,
- pingData: mkPingData('1.1'),
- apiVersion: '1.1',
- client({callback}) {
- callback(this.pingData);
- }
- },
- '1.1 that defers callback': {
- expectedMode: MODE_CALLBACK,
- pingData: mkPingData('1.1'),
- apiVersion: '1.1',
- client({callback}) {
- setTimeout(() => callback(this.pingData), 10);
- }
- },
- '> 1.1': {
- expectedMode: MODE_CALLBACK,
- pingData: mkPingData('1.2'),
- apiVersion: '1.1',
- client({callback}) {
- setTimeout(() => callback(this.pingData), 10);
- }
- }
- }).forEach(([t, scenario]) => {
- describe(`using CMP version ${t}`, () => {
- let clients, mkClient;
- beforeEach(() => {
- clients = [];
- mkClient = ({mode}) => {
- const mockClient = function (args) {
- if (args.command === 'ping') {
- return Promise.resolve(scenario.client(args));
- }
- }
- mockClient.mode = mode;
- mockClient.close = sinon.stub();
- clients.push(mockClient);
- return mockClient;
- }
- });
-
- it('should resolve to client with the correct mode', () => {
- return GPPClient.ping(mkClient).then(([client]) => {
- expect(client.cmp.mode).to.eql(scenario.expectedMode);
- });
- });
-
- it('should resolve to pingData', () => {
- return GPPClient.ping(mkClient).then(([_, pingData]) => {
- expect(pingData).to.eql(scenario.pingData);
- });
- });
-
- it('should .close the probing client', () => {
- return GPPClient.ping(mkClient).then(([client]) => {
- sinon.assert.called(clients[0].close);
- sinon.assert.notCalled(client.cmp.close);
- })
- });
-
- it('should .tag the client with version', () => {
- return GPPClient.ping(mkClient).then(([client]) => {
- expect(client.apiVersion).to.eql(scenario.apiVersion);
- })
- })
- })
- });
-
- it('should reject when mkClient returns null (CMP not found)', () => {
- return GPPClient.ping(() => null).catch((err) => {
- expect(err.message).to.match(/not found/);
- });
- });
-
- it('should reject when client rejects', () => {
- const err = {some: 'prop'};
- const mockClient = () => Promise.reject(err);
- mockClient.close = sinon.stub();
- return GPPClient.ping(() => mockClient).catch((result) => {
- expect(result).to.eql(err);
- sinon.assert.called(mockClient.close);
- });
- });
-
- it('should reject when callback is invoked with success = false', () => {
- const err = 'error';
- const mockClient = ({callback}) => callback(err, false);
- mockClient.close = sinon.stub();
- return GPPClient.ping(() => mockClient).catch((result) => {
- expect(result).to.eql(err);
- sinon.assert.called(mockClient.close);
- })
- })
- });
- describe('GPPClient.init', () => {
- let makeCmp, cmpCalls, cmpResult;
+ describe('GPPClient.get', () => {
+ let makeCmp;
beforeEach(() => {
- cmpResult = {signalStatus: 'ready', gppString: 'mock-str'};
- cmpCalls = [];
makeCmp = sinon.stub().callsFake(() => {
- function mockCmp(args) {
- cmpCalls.push(args);
- return GreedyPromise.resolve(cmpResult);
- }
- mockCmp.close = sinon.stub();
- return mockCmp;
+ return sinon.stub()
});
});
- it('should re-use same client', (done) => {
- GPPClient.init(makeCmp).then(([client]) => {
- GPPClient.init(makeCmp).then(([client2, consentPm]) => {
- expect(client2).to.equal(client);
- expect(cmpCalls.filter((el) => el.command === 'ping').length).to.equal(2) // recycled client should be refreshed
- consentPm.then((consent) => {
- expect(consent.gppString).to.eql('mock-str');
- done()
- })
- });
- });
+ it('should re-use same client', () => {
+ expect(GPPClient.get(makeCmp)).to.equal(GPPClient.get(makeCmp));
+ sinon.assert.calledOnce(makeCmp);
});
- it('should not re-use errors', (done) => {
- cmpResult = GreedyPromise.reject(new Error());
- GPPClient.init(makeCmp).catch(() => {
- cmpResult = {signalStatus: 'ready'};
- return GPPClient.init(makeCmp).then(([client]) => {
- expect(client).to.exist;
- done()
- })
- })
+ it('should not re-use errors', () => {
+ try {
+ GPPClient.get(sinon.stub().throws(new Error()));
+ } catch (e) {}
+ expect(GPPClient.get(makeCmp)).to.exist;
})
})
describe('GPP client', () => {
const CHANGE_EVENTS = ['sectionChange', 'signalStatus'];
- let gppClient, gppData, cmpReady, eventListener;
+ let gppClient, gppData, eventListener;
function mockClient(apiVersion = '1.1', cmpVersion = '1.1') {
const mockCmp = sinon.stub().callsFake(function ({command, callback}) {
@@ -314,10 +177,8 @@ describe('consentManagementGpp', function () {
throw new Error('unexpected command: ' + command);
}
})
- const client = new GPPClient(cmpVersion, mockCmp);
+ const client = new GPPClient(mockCmp);
client.apiVersion = apiVersion;
- client.getGPPData = sinon.stub().callsFake(() => Promise.resolve(gppData));
- client.isCMPReady = sinon.stub().callsFake(() => cmpReady);
client.events = CHANGE_EVENTS;
return client;
}
@@ -325,7 +186,6 @@ describe('consentManagementGpp', function () {
beforeEach(() => {
gppDataHandler.reset();
eventListener = null;
- cmpReady = true;
gppData = {
applicableSections: [7],
gppString: 'mock-string',
@@ -346,7 +206,7 @@ describe('consentManagementGpp', function () {
describe('updateConsent', () => {
it('should update data handler with consent data', () => {
- return gppClient.updateConsent().then(data => {
+ return gppClient.updateConsent(gppData).then(data => {
sinon.assert.match(data, gppData);
sinon.assert.match(gppDataHandler.getConsentData(), gppData);
expect(gppDataHandler.ready).to.be.true;
@@ -358,8 +218,7 @@ describe('consentManagementGpp', function () {
'missing': null
}).forEach(([t, data]) => {
it(`should not update, and reject promise, when gpp data is ${t}`, (done) => {
- gppData = data;
- gppClient.updateConsent().catch(err => {
+ gppClient.updateConsent(data).catch(err => {
expect(err.message).to.match(/empty/);
expect(err.args).to.eql(data == null ? [] : [data]);
expect(gppDataHandler.ready).to.be.false;
@@ -368,15 +227,6 @@ describe('consentManagementGpp', function () {
});
})
- it('should not update when gpp data rejects', (done) => {
- gppData = Promise.reject(new Error('err'));
- gppClient.updateConsent().catch(err => {
- expect(gppDataHandler.ready).to.be.false;
- expect(err.message).to.eql('err');
- done();
- })
- });
-
describe('consent data validation', () => {
Object.entries({
applicableSections: {
@@ -394,7 +244,7 @@ describe('consentManagementGpp', function () {
describe(t, () => {
it('should not update', (done) => {
Object.assign(gppData, {[prop]: value});
- gppClient.updateConsent().catch(err => {
+ gppClient.updateConsent(gppData).catch(err => {
expect(err.message).to.match(/unexpected/);
expect(err.args).to.eql([gppData]);
expect(gppDataHandler.ready).to.be.false;
@@ -409,23 +259,14 @@ describe('consentManagementGpp', function () {
});
describe('init', () => {
- beforeEach(() => {
- gppClient.isCMPReady = function (pingData) {
- return pingData.ready;
- }
- gppClient.getGPPData = function (pingData) {
- return Promise.resolve(pingData);
- }
- })
-
it('does not use initial pingData if CMP is not ready', () => {
- gppClient.init({...gppData, ready: false});
+ gppClient.init({...gppData, signalStatus: 'not ready'});
expect(eventListener).to.exist;
expect(gppDataHandler.ready).to.be.false;
});
it('uses initial pingData (and resolves promise) if CMP is ready', () => {
- return gppClient.init({...gppData, ready: true}).then(data => {
+ return gppClient.init({...gppData, signalStatus: 'ready'}).then(data => {
expect(eventListener).to.exist;
sinon.assert.match(data, gppData);
sinon.assert.match(gppDataHandler.getConsentData(), gppData);
@@ -433,7 +274,7 @@ describe('consentManagementGpp', function () {
});
it('rejects promise when CMP errors out', (done) => {
- gppClient.init({ready: false}).catch((err) => {
+ gppClient.init({signalStatus: 'not ready'}).catch((err) => {
expect(err.message).to.match(/error/);
expect(err.args).to.eql(['error'])
done();
@@ -447,7 +288,7 @@ describe('consentManagementGpp', function () {
'irrelevant': {eventName: 'irrelevant'}
}).forEach(([t, evt]) => {
it(`ignores ${t} events`, () => {
- let pm = gppClient.init({ready: false}).catch((err) => err.args[0] !== 'done' && Promise.reject(err));
+ let pm = gppClient.init({signalStatus: 'not ready'}).catch((err) => err.args[0] !== 'done' && Promise.reject(err));
eventListener(evt);
eventListener('done', false);
return pm;
@@ -456,7 +297,7 @@ describe('consentManagementGpp', function () {
it('rejects the promise when cmpStatus is "error"', (done) => {
const evt = {eventName: 'other', pingData: {cmpStatus: 'error'}};
- gppClient.init({ready: false}).catch(err => {
+ gppClient.init({signalStatus: 'not ready'}).catch(err => {
expect(err.message).to.match(/error/);
expect(err.args).to.eql([evt]);
done();
@@ -479,31 +320,30 @@ describe('consentManagementGpp', function () {
});
it('does not fire consent data updates if the CMP is not ready', (done) => {
- gppClient.init({ready: false}).catch(() => {
+ gppClient.init({signalStatus: 'not ready'}).catch(() => {
expect(gppDataHandler.ready).to.be.false;
done();
});
- eventListener({...gppData2, ready: false});
+ eventListener({...gppData2, signalStatus: 'not ready'});
eventListener('done', false);
})
it('fires consent data updates (and resolves promise) if CMP is ready', (done) => {
- gppClient.init({ready: false}).then(data => {
+ gppClient.init({signalStatus: 'not ready'}).then(data => {
sinon.assert.match(data, gppData2);
done()
});
- cmpReady = true;
- eventListener(makeEvent({...gppData2, ready: true}));
+ eventListener(makeEvent({...gppData2, signalStatus: 'ready'}));
});
it('keeps updating consent data on new events', () => {
- let pm = gppClient.init({ready: false}).then(data => {
+ let pm = gppClient.init({signalStatus: 'not ready'}).then(data => {
sinon.assert.match(data, gppData);
sinon.assert.match(gppDataHandler.getConsentData(), gppData);
});
- eventListener(makeEvent({...gppData, ready: true}));
+ eventListener(makeEvent({...gppData, signalStatus: 'ready'}));
return pm.then(() => {
- eventListener(makeEvent({...gppData2, ready: true}))
+ eventListener(makeEvent({...gppData2, signalStatus: 'ready'}))
}).then(() => {
sinon.assert.match(gppDataHandler.getConsentData(), gppData2);
});
@@ -513,137 +353,11 @@ describe('consentManagementGpp', function () {
});
});
- describe('GPP 1.0 protocol', () => {
- let mockCmp, gppClient;
- beforeEach(() => {
- mockCmp = sinon.stub();
- gppClient = new (GPPClient.getClient('1.0'))('1.0', mockCmp);
- });
-
- describe('isCMPReady', () => {
- Object.entries({
- 'loaded': [true, 'loaded'],
- 'other': [false, 'other'],
- 'undefined': [false, undefined]
- }).forEach(([t, [expected, cmpStatus]]) => {
- it(`should be ${expected} when cmpStatus is ${t}`, () => {
- expect(gppClient.isCMPReady(Object.assign({}, {cmpStatus}))).to.equal(expected);
- });
- });
- });
-
- describe('getGPPData', () => {
- let gppData, pingData;
- beforeEach(() => {
- gppData = {
- gppString: 'mock-string',
- supportedAPIs: ['usnat'],
- applicableSections: [7, 8]
- }
- pingData = {
- supportedAPIs: gppData.supportedAPIs
- };
- });
-
- function mockCmpCommands(commands) {
- mockCmp.callsFake(({command, parameter}) => {
- if (commands.hasOwnProperty((command))) {
- return Promise.resolve(commands[command](parameter));
- } else {
- return Promise.reject(new Error(`unrecognized command ${command}`))
- }
- })
- }
-
- it('should retrieve consent string and applicableSections', () => {
- mockCmpCommands({
- getGPPData: () => gppData
- })
- return gppClient.getGPPData(pingData).then(data => {
- sinon.assert.match(data, gppData);
- })
- });
-
- it('should reject when getGPPData rejects', (done) => {
- mockCmpCommands({
- getGPPData: () => Promise.reject(new Error('err'))
- });
- gppClient.getGPPData(pingData).catch(err => {
- expect(err.message).to.eql('err');
- done();
- });
- });
-
- it('should not choke if supportedAPIs is missing', () => {
- [gppData, pingData].forEach(ob => { delete ob.supportedAPIs; })
- mockCmpCommands({
- getGPPData: () => gppData
- });
- return gppClient.getGPPData(pingData).then(res => {
- expect(res.gppString).to.eql(gppData.gppString);
- expect(res.parsedSections).to.eql({});
- })
- })
-
- describe('section data', () => {
- let usnat, parsedUsnat;
-
- function mockSections(sections) {
- mockCmpCommands({
- getGPPData: () => gppData,
- getSection: (api) => (sections[api])
- });
- };
-
- beforeEach(() => {
- usnat = {
- MockField: 'val',
- OtherField: 'o',
- Gpc: true
- };
- parsedUsnat = [
- {
- MockField: 'val',
- OtherField: 'o'
- },
- {
- SubsectionType: 1,
- Gpc: true
- }
- ]
- });
-
- it('retrieves section data', () => {
- mockSections({usnat});
- return gppClient.getGPPData(pingData).then(data => {
- expect(data.parsedSections).to.eql({usnat: parsedUsnat})
- });
- });
-
- it('does not choke if a section is missing', () => {
- mockSections({usnat});
- gppData.supportedAPIs = ['usnat', 'missing'];
- return gppClient.getGPPData(pingData).then(data => {
- expect(data.parsedSections).to.eql({usnat: parsedUsnat});
- })
- });
-
- it('does not choke if a section fails', () => {
- mockSections({usnat, err: Promise.reject(new Error('err'))});
- gppData.supportedAPIs = ['usnat', 'err'];
- return gppClient.getGPPData(pingData).then(data => {
- expect(data.parsedSections).to.eql({usnat: parsedUsnat});
- })
- });
- })
- });
- });
-
describe('GPP 1.1 protocol', () => {
let mockCmp, gppClient;
beforeEach(() => {
mockCmp = sinon.stub();
- gppClient = new (GPPClient.getClient('1.1'))('1.1', mockCmp);
+ gppClient = new GPPClient(mockCmp);
});
describe('isCMPReady', () => {
@@ -657,82 +371,6 @@ describe('consentManagementGpp', function () {
});
});
});
-
- it('gets GPPData from pingData', () => {
- mockCmp.throws(new Error());
- const pingData = {
- 'gppVersion': '1.1',
- 'cmpStatus': 'loaded',
- 'cmpDisplayStatus': 'disabled',
- 'supportedAPIs': [
- '5:tcfcav1',
- '7:usnat',
- '8:usca',
- '9:usva',
- '10:usco',
- '11:usut',
- '12:usct'
- ],
- 'signalStatus': 'ready',
- 'cmpId': 31,
- 'sectionList': [
- 7
- ],
- 'applicableSections': [
- 7
- ],
- 'gppString': 'DBABL~BAAAAAAAAgA.QA',
- 'parsedSections': {
- 'usnat': [
- {
- 'Version': 1,
- 'SharingNotice': 0,
- 'SaleOptOutNotice': 0,
- 'SharingOptOutNotice': 0,
- 'TargetedAdvertisingOptOutNotice': 0,
- 'SensitiveDataProcessingOptOutNotice': 0,
- 'SensitiveDataLimitUseNotice': 0,
- 'SaleOptOut': 0,
- 'SharingOptOut': 0,
- 'TargetedAdvertisingOptOut': 0,
- 'SensitiveDataProcessing': [
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0
- ],
- 'KnownChildSensitiveDataConsents': [
- 0,
- 0
- ],
- 'PersonalDataConsents': 0,
- 'MspaCoveredTransaction': 2,
- 'MspaOptOutOptionMode': 0,
- 'MspaServiceProviderMode': 0
- },
- {
- 'SubsectionType': 1,
- 'Gpc': false
- }
- ]
- }
- };
- return gppClient.getGPPData(pingData).then((gppData) => {
- sinon.assert.match(gppData, {
- gppString: pingData.gppString,
- applicableSections: pingData.applicableSections,
- parsedSections: pingData.parsedSections
- })
- })
- })
})
describe('requestBidsHook tests:', function () {
diff --git a/test/spec/modules/consentManagementUsp_spec.js b/test/spec/modules/consentManagementUsp_spec.js
index c372c66f7f0..5f589ee5fe7 100644
--- a/test/spec/modules/consentManagementUsp_spec.js
+++ b/test/spec/modules/consentManagementUsp_spec.js
@@ -493,7 +493,6 @@ describe('consentManagement', function () {
sinon.assert.notCalled(utils.logWarn);
sinon.assert.notCalled(utils.logError);
- expect(consentMeta.usp).to.equal(testConsentData.uspString);
expect(consentMeta.generatedAt).to.be.above(1644367751709);
});
diff --git a/test/spec/modules/consentManagement_spec.js b/test/spec/modules/consentManagement_spec.js
index c1ed042a2c8..73db5600ba6 100644
--- a/test/spec/modules/consentManagement_spec.js
+++ b/test/spec/modules/consentManagement_spec.js
@@ -8,7 +8,7 @@ import {
setConsentConfig,
staticConsentData,
userCMP
-} from 'modules/consentManagement.js';
+} from 'modules/consentManagementTcf.js';
import {gdprDataHandler} from 'src/adapterManager.js';
import * as utils from 'src/utils.js';
import {config} from 'src/config.js';
diff --git a/test/spec/modules/conversantBidAdapter_spec.js b/test/spec/modules/conversantBidAdapter_spec.js
index 39e66316ec1..c0560e08431 100644
--- a/test/spec/modules/conversantBidAdapter_spec.js
+++ b/test/spec/modules/conversantBidAdapter_spec.js
@@ -9,7 +9,7 @@ import 'src/prebid.js'
import 'modules/currency.js';
import 'modules/userId/index.js'; // handles eids
import 'modules/priceFloors.js';
-import 'modules/consentManagement.js';
+import 'modules/consentManagementTcf.js';
import 'modules/consentManagementUsp.js';
import 'modules/schain.js'; // handles schain
import {hook} from '../../../src/hook.js'
diff --git a/test/spec/modules/craftBidAdapter_spec.js b/test/spec/modules/craftBidAdapter_spec.js
index dfdbebde738..aeb17f37161 100644
--- a/test/spec/modules/craftBidAdapter_spec.js
+++ b/test/spec/modules/craftBidAdapter_spec.js
@@ -40,21 +40,21 @@ describe('craftAdapter', function () {
});
it('should return false when params.sitekey not found', function () {
- let bid = Object.assign({}, bid);
- delete bid.params;
- bid.params = {
+ let invalidBid = Object.assign({}, bid);
+ delete invalidBid.params;
+ invalidBid.params = {
placementId: '1234abcd'
};
- expect(spec.isBidRequestValid(bid)).to.equal(false);
+ expect(spec.isBidRequestValid(invalidBid)).to.equal(false);
});
it('should return false when params.placementId not found', function () {
- let bid = Object.assign({}, bid);
- delete bid.params;
- bid.params = {
+ let invalidBid = Object.assign({}, bid);
+ delete invalidBid.params;
+ invalidBid.params = {
sitekey: 'craft-prebid-example'
};
- expect(spec.isBidRequestValid(bid)).to.equal(false);
+ expect(spec.isBidRequestValid(invalidBid)).to.equal(false);
});
it('should return false when AMP cotext found', function () {
diff --git a/test/spec/modules/criteoBidAdapter_spec.js b/test/spec/modules/criteoBidAdapter_spec.js
index def35b13955..079357ab4fe 100755
--- a/test/spec/modules/criteoBidAdapter_spec.js
+++ b/test/spec/modules/criteoBidAdapter_spec.js
@@ -1,17 +1,20 @@
import { expect } from 'chai';
import {
- tryGetCriteoFastBid,
spec,
storage,
- PROFILE_ID_PUBLISHERTAG,
- ADAPTER_VERSION,
- canFastBid, getFastBidUrl, FAST_BID_VERSION_CURRENT
} from 'modules/criteoBidAdapter.js';
import * as utils from 'src/utils.js';
import * as refererDetection from 'src/refererDetection.js';
import * as ajax from 'src/ajax.js';
import { config } from '../../../src/config.js';
import { BANNER, NATIVE, VIDEO } from '../../../src/mediaTypes.js';
+import {syncAddFPDToBidderRequest} from '../../helpers/fpd';
+import 'modules/userId/index.js';
+import 'modules/consentManagementTcf.js';
+import 'modules/consentManagementUsp.js';
+import 'modules/consentManagementGpp.js';
+import 'modules/schain.js';
+import {hook} from '../../../src/hook';
describe('The Criteo bidding adapter', function () {
let utilsMock, sandbox, ajaxStub;
@@ -157,14 +160,6 @@ describe('The Criteo bidding adapter', function () {
removeDataFromLocalStorageStub.restore();
});
- it('should not trigger sync if publisher is using fast bid', function () {
- getConfigStub.withArgs('criteo.fastBidVersion').returns('latest');
-
- const userSyncs = spec.getUserSyncs(syncOptionsIframeEnabled, undefined, undefined, undefined);
-
- expect(userSyncs).to.eql([]);
- });
-
it('should not trigger sync if publisher did not enable iframe based syncs', function () {
const userSyncs = spec.getUserSyncs({
iframeEnabled: false
@@ -602,8 +597,8 @@ describe('The Criteo bidding adapter', function () {
},
timeout: 3000,
gdprConsent: {
- gdprApplies: 1,
- consentString: 'concentDataString',
+ gdprApplies: true,
+ consentString: 'consentDataString',
vendorData: {
vendorConsents: {
'91': 1
@@ -615,6 +610,10 @@ describe('The Criteo bidding adapter', function () {
let localStorageIsEnabledStub;
+ before(() => {
+ hook.ready();
+ });
+
this.beforeEach(function () {
localStorageIsEnabledStub = sinon.stub(storage, 'localStorageIsEnabled');
localStorageIsEnabledStub.returns(true);
@@ -628,13 +627,11 @@ describe('The Criteo bidding adapter', function () {
it('should properly build a request using random uuid as auction id', function () {
const generateUUIDStub = sinon.stub(utils, 'generateUUID');
generateUUIDStub.returns('def');
- const bidderRequest = {
- };
+ const bidderRequest = {};
const bidRequests = [
{
bidder: 'criteo',
adUnitCode: 'bid-123',
- transactionId: 'transaction-123',
mediaTypes: {
banner: {
sizes: [[728, 90]]
@@ -643,7 +640,7 @@ describe('The Criteo bidding adapter', function () {
params: {}
},
];
- const request = spec.buildRequests(bidRequests, bidderRequest);
+ const request = spec.buildRequests(bidRequests, syncAddFPDToBidderRequest(bidderRequest));
const ortbRequest = request.data;
expect(ortbRequest.id).to.equal('def');
generateUUIDStub.restore();
@@ -661,7 +658,6 @@ describe('The Criteo bidding adapter', function () {
{
bidder: 'criteo',
adUnitCode: 'bid-123',
- transactionId: 'transaction-123',
mediaTypes: {
banner: {
sizes: [[728, 90]]
@@ -670,7 +666,7 @@ describe('The Criteo bidding adapter', function () {
params: {}
},
];
- const request = spec.buildRequests(bidRequests, bidderRequest);
+ const request = spec.buildRequests(bidRequests, syncAddFPDToBidderRequest(bidderRequest));
const ortbRequest = request.data;
expect(ortbRequest.source.tid).to.equal('abc');
});
@@ -689,49 +685,18 @@ describe('The Criteo bidding adapter', function () {
params: {}
},
];
- const request = spec.buildRequests(bidRequests, bidderRequest);
+ const request = spec.buildRequests(bidRequests, syncAddFPDToBidderRequest(bidderRequest));
const ortbRequest = request.data;
expect(ortbRequest.tmax).to.equal(bidderRequest.timeout);
});
it('should properly transmit bidId if available', function () {
- const bidderRequest = {
- ortb2: {
- source: {
- tid: 'abc'
- }
- }
- };
- const bidRequests = [
- {
- bidId: 'bidId',
- bidder: 'criteo',
- adUnitCode: 'bid-123',
- transactionId: 'transaction-123',
- mediaTypes: {
- banner: {
- sizes: [[728, 90]]
- }
- },
- params: {}
- },
- ];
- const request = spec.buildRequests(bidRequests, bidderRequest);
- const ortbRequest = request.data;
- expect(ortbRequest.slots[0].slotid).to.equal('bidId');
- });
-
- it('should properly build a request if refererInfo is not provided', function () {
const bidderRequest = {};
const bidRequests = [
{
+ bidId: 'bidId',
bidder: 'criteo',
adUnitCode: 'bid-123',
- ortb2Imp: {
- ext: {
- tid: 'transaction-123',
- },
- },
mediaTypes: {
banner: {
sizes: [[728, 90]]
@@ -740,9 +705,9 @@ describe('The Criteo bidding adapter', function () {
params: {}
},
];
- const request = spec.buildRequests(bidRequests, bidderRequest);
+ const request = spec.buildRequests(bidRequests, syncAddFPDToBidderRequest(bidderRequest));
const ortbRequest = request.data;
- expect(ortbRequest.publisher.url).to.equal('');
+ expect(ortbRequest.imp[0].id).to.equal('bidId');
});
it('should properly build a zoneId request', function () {
@@ -763,77 +728,24 @@ describe('The Criteo bidding adapter', function () {
params: {
zoneId: 123,
publisherSubId: '123',
- nativeCallback: function () { },
integrationMode: 'amp'
},
},
];
- const request = spec.buildRequests(bidRequests, bidderRequest);
- expect(request.url).to.match(/^https:\/\/bidder\.criteo\.com\/cdb\?profileId=207&av=\d+&wv=[^&]+&cb=\d+&lsavail=1&im=1&debug=1&nolog=1/);
+ const request = spec.buildRequests(bidRequests, syncAddFPDToBidderRequest(bidderRequest));
+ expect(request.url).to.match(/^https:\/\/grid-bidder\.criteo\.com\/openrtb_2_5\/pbjs\/auction\/request\?profileId=207&av=\d+&wv=[^&]+&cb=\d+&lsavail=[01]&im=1&debug=[01]&nolog=[01]$/);
expect(request.method).to.equal('POST');
const ortbRequest = request.data;
- expect(ortbRequest.publisher.url).to.equal(refererUrl);
- expect(ortbRequest.slots).to.have.lengthOf(1);
- expect(ortbRequest.slots[0].impid).to.equal('bid-123');
- expect(ortbRequest.slots[0].transactionid).to.equal('transaction-123');
- expect(ortbRequest.slots[0].sizes).to.have.lengthOf(1);
- expect(ortbRequest.slots[0].sizes[0]).to.equal('728x90');
- expect(ortbRequest.slots[0].zoneid).to.equal(123);
- expect(ortbRequest.gdprConsent.consentData).to.equal('concentDataString');
- expect(ortbRequest.gdprConsent.gdprApplies).to.equal(true);
- expect(ortbRequest.gdprConsent.version).to.equal(1);
- });
-
- it('should keep undefined sizes for non native banner', function () {
- const bidRequests = [
- {
- mediaTypes: {
- banner: {
- sizes: [[undefined, undefined]]
- }
- },
- params: {},
- },
- ];
- const request = spec.buildRequests(bidRequests, bidderRequest);
- const ortbRequest = request.data;
- expect(ortbRequest.slots[0].sizes).to.have.lengthOf(1);
- expect(ortbRequest.slots[0].sizes[0]).to.equal('undefinedxundefined');
- });
-
- it('should keep undefined size for non native banner', function () {
- const bidRequests = [
- {
- mediaTypes: {
- banner: {
- sizes: [undefined, undefined]
- }
- },
- params: {},
- },
- ];
- const request = spec.buildRequests(bidRequests, bidderRequest);
- const ortbRequest = request.data;
- expect(ortbRequest.slots[0].sizes).to.have.lengthOf(1);
- expect(ortbRequest.slots[0].sizes[0]).to.equal('undefinedxundefined');
- });
-
- it('should properly detect and forward native flag', function () {
- const bidRequests = [
- {
- mediaTypes: {
- banner: {
- sizes: [[undefined, undefined]]
- }
- },
- params: {
- nativeCallback: function () { }
- },
- },
- ];
- const request = spec.buildRequests(bidRequests, bidderRequest);
- const ortbRequest = request.data;
- expect(ortbRequest.slots[0].native).to.equal(true);
+ expect(ortbRequest.site.page).to.equal(refererUrl);
+ expect(ortbRequest.imp).to.have.lengthOf(1);
+ expect(ortbRequest.imp[0].tagid).to.equal('bid-123');
+ expect(ortbRequest.imp[0].banner.format).to.have.lengthOf(1);
+ expect(ortbRequest.imp[0].banner.format[0].w).to.equal(728);
+ expect(ortbRequest.imp[0].banner.format[0].h).to.equal(90);
+ expect(ortbRequest.imp[0].ext.bidder.zoneid).to.equal(123);
+ expect(ortbRequest.user.ext.consent).to.equal('consentDataString');
+ expect(ortbRequest.regs.ext.gdpr).to.equal(1);
+ expect(ortbRequest.regs.ext.gdprversion).to.equal(1);
});
it('should properly forward eids', function () {
@@ -841,7 +753,6 @@ describe('The Criteo bidding adapter', function () {
{
bidder: 'criteo',
adUnitCode: 'bid-123',
- transactionId: 'transaction-123',
mediaTypes: {
banner: {
sizes: [[728, 90]]
@@ -859,7 +770,7 @@ describe('The Criteo bidding adapter', function () {
params: {}
},
];
- const request = spec.buildRequests(bidRequests, bidderRequest);
+ const request = spec.buildRequests(bidRequests, syncAddFPDToBidderRequest(bidderRequest));
const ortbRequest = request.data;
expect(ortbRequest.user.ext.eids).to.deep.equal([
{
@@ -872,79 +783,81 @@ describe('The Criteo bidding adapter', function () {
]);
});
- it('should properly detect and forward native flag', function () {
- const bidRequests = [
- {
- mediaTypes: {
- banner: {
- sizes: [undefined, undefined]
- }
- },
- params: {
- nativeCallback: function () { }
+ if (FEATURES.NATIVE) {
+ it('should properly build a native request without assets', function () {
+ const bidRequests = [
+ {
+ mediaTypes: {
+ native: {}
+ },
+ params: {}
},
- },
- ];
- const request = spec.buildRequests(bidRequests, bidderRequest);
- const ortbRequest = request.data;
- expect(ortbRequest.slots[0].native).to.equal(true);
- });
+ ];
+ const request = spec.buildRequests(bidRequests, syncAddFPDToBidderRequest(bidderRequest));
+ const ortbRequest = request.data;
+ expect(ortbRequest.imp[0].native.request_native).to.not.be.null;
+ expect(ortbRequest.imp[0].native.request_native.assets).to.be.undefined;
+ });
+ }
- it('should map ortb native assets to slot ext assets', function () {
- const assets = [{
- required: 1,
- id: 1,
- img: {
- type: 3,
- wmin: 100,
- hmin: 100,
- }
- },
- {
- required: 1,
- id: 2,
- title: {
- len: 140,
- }
- },
- {
- required: 1,
- id: 3,
- data: {
- type: 1,
- }
- },
- {
- required: 0,
- id: 4,
- data: {
- type: 2,
- }
- },
- {
- required: 0,
- id: 5,
- img: {
- type: 1,
- wmin: 20,
- hmin: 20,
- }
- }];
- const bidRequests = [
+ if (FEATURES.NATIVE) {
+ it('should properly build a native request with assets', function () {
+ const assets = [{
+ required: 1,
+ id: 1,
+ img: {
+ type: 3,
+ wmin: 100,
+ hmin: 100,
+ }
+ },
{
- nativeOrtbRequest: {
- assets: assets
- },
- params: {
- nativeCallback: function () { }
- },
+ required: 1,
+ id: 2,
+ title: {
+ len: 140,
+ }
},
- ];
- const request = spec.buildRequests(bidRequests, bidderRequest);
- const ortbRequest = request.data;
- expect(ortbRequest.slots[0].native).to.equal(true);
- expect(ortbRequest.slots[0].ext.assets).to.deep.equal(assets);
- });
+ {
+ required: 1,
+ id: 3,
+ data: {
+ type: 1,
+ }
+ },
+ {
+ required: 0,
+ id: 4,
+ data: {
+ type: 2,
+ }
+ },
+ {
+ required: 0,
+ id: 5,
+ img: {
+ type: 1,
+ wmin: 20,
+ hmin: 20,
+ }
+ }];
+ const bidRequests = [
+ {
+ mediaTypes: {
+ native: {}
+ },
+ nativeOrtbRequest: {
+ assets: assets
+ },
+ params: {}
+ },
+ ];
+ const request = spec.buildRequests(bidRequests, syncAddFPDToBidderRequest(bidderRequest));
+ const ortbRequest = request.data;
+ expect(ortbRequest.imp[0].native.request_native).to.not.be.null;
+ expect(ortbRequest.imp[0].native.request_native.assets).to.deep.equal(assets);
+ });
+ }
it('should properly build a networkId request', function () {
const bidderRequest = {
@@ -954,7 +867,7 @@ describe('The Criteo bidding adapter', function () {
},
timeout: 3000,
gdprConsent: {
- gdprApplies: 0,
+ gdprApplies: false,
consentString: undefined,
vendorData: {
vendorConsents: {
@@ -982,23 +895,23 @@ describe('The Criteo bidding adapter', function () {
},
},
];
- const request = spec.buildRequests(bidRequests, bidderRequest);
- expect(request.url).to.match(/^https:\/\/bidder\.criteo\.com\/cdb\?profileId=207&av=\d+&wv=[^&]+&cb=\d/);
+ const request = spec.buildRequests(bidRequests, syncAddFPDToBidderRequest(bidderRequest));
+ expect(request.url).to.match(/^https:\/\/grid-bidder\.criteo\.com\/openrtb_2_5\/pbjs\/auction\/request\?profileId=207&av=\d+&wv=[^&]+&cb=\d+&lsavail=[01]&debug=[01]&nolog=[01]&networkId=456$/);
expect(request.method).to.equal('POST');
const ortbRequest = request.data;
- expect(ortbRequest.publisher.url).to.equal(refererUrl);
- expect(ortbRequest.publisher.networkid).to.equal(456);
- expect(ortbRequest.slots).to.have.lengthOf(1);
- expect(ortbRequest.slots[0].impid).to.equal('bid-123');
- expect(ortbRequest.slots[0].transactionid).to.equal('transaction-123');
- expect(ortbRequest.slots[0].sizes).to.have.lengthOf(2);
- expect(ortbRequest.slots[0].sizes[0]).to.equal('300x250');
- expect(ortbRequest.slots[0].sizes[1]).to.equal('728x90');
- expect(ortbRequest.gdprConsent.consentData).to.equal(undefined);
- expect(ortbRequest.gdprConsent.gdprApplies).to.equal(false);
- });
-
- it('should properly build a mixed request', function () {
+ expect(ortbRequest.site.page).to.equal(refererUrl);
+ expect(ortbRequest.imp).to.have.lengthOf(1);
+ expect(ortbRequest.imp[0].tagid).to.equal('bid-123');
+ expect(ortbRequest.imp[0].banner.format).to.have.lengthOf(2);
+ expect(ortbRequest.imp[0].banner.format[0].w).to.equal(300);
+ expect(ortbRequest.imp[0].banner.format[0].h).to.equal(250);
+ expect(ortbRequest.imp[0].banner.format[1].w).to.equal(728);
+ expect(ortbRequest.imp[0].banner.format[1].h).to.equal(90);
+ expect(ortbRequest.user?.ext?.consent).to.equal(undefined);
+ expect(ortbRequest.regs.ext.gdpr).to.equal(0);
+ });
+
+ it('should properly build a mixed request with both a zoneId and a networkId', function () {
const bidderRequest = {
refererInfo: {
page: refererUrl,
@@ -1042,23 +955,26 @@ describe('The Criteo bidding adapter', function () {
},
},
];
- const request = spec.buildRequests(bidRequests, bidderRequest);
- expect(request.url).to.match(/^https:\/\/bidder\.criteo\.com\/cdb\?profileId=207&av=\d+&wv=[^&]+&cb=\d/);
+ const request = spec.buildRequests(bidRequests, syncAddFPDToBidderRequest(bidderRequest));
+ expect(request.url).to.match(/^https:\/\/grid-bidder\.criteo\.com\/openrtb_2_5\/pbjs\/auction\/request\?profileId=207&av=\d+&wv=[^&]+&cb=\d+&lsavail=[01]&debug=[01]&nolog=[01]&networkId=456$/);
expect(request.method).to.equal('POST');
const ortbRequest = request.data;
- expect(ortbRequest.publisher.url).to.equal(refererUrl);
- expect(ortbRequest.publisher.networkid).to.equal(456);
- expect(ortbRequest.slots).to.have.lengthOf(2);
- expect(ortbRequest.slots[0].impid).to.equal('bid-123');
- expect(ortbRequest.slots[0].transactionid).to.equal('transaction-123');
- expect(ortbRequest.slots[0].sizes).to.have.lengthOf(1);
- expect(ortbRequest.slots[0].sizes[0]).to.equal('728x90');
- expect(ortbRequest.slots[1].impid).to.equal('bid-234');
- expect(ortbRequest.slots[1].transactionid).to.equal('transaction-234');
- expect(ortbRequest.slots[1].sizes).to.have.lengthOf(2);
- expect(ortbRequest.slots[1].sizes[0]).to.equal('300x250');
- expect(ortbRequest.slots[1].sizes[1]).to.equal('728x90');
- expect(ortbRequest.gdprConsent).to.equal(undefined);
+ expect(ortbRequest.site.page).to.equal(refererUrl);
+ expect(ortbRequest.imp).to.have.lengthOf(2);
+ expect(ortbRequest.imp[0].tagid).to.equal('bid-123');
+ expect(ortbRequest.imp[0].banner.format).to.have.lengthOf(1);
+ expect(ortbRequest.imp[0].banner.format[0].w).to.equal(728);
+ expect(ortbRequest.imp[0].banner.format[0].h).to.equal(90);
+ expect(ortbRequest.imp[0].ext.tid).to.equal('transaction-123');
+ expect(ortbRequest.imp[0].ext.bidder.zoneid).to.equal(123);
+ expect(ortbRequest.imp[1].tagid).to.equal('bid-234');
+ expect(ortbRequest.imp[1].banner.format).to.have.lengthOf(2);
+ expect(ortbRequest.imp[1].banner.format[0].w).to.equal(300);
+ expect(ortbRequest.imp[1].banner.format[0].h).to.equal(250);
+ expect(ortbRequest.imp[1].banner.format[1].w).to.equal(728);
+ expect(ortbRequest.imp[1].banner.format[1].h).to.equal(90);
+ expect(ortbRequest.imp[1].ext.tid).to.equal('transaction-234');
+ expect(ortbRequest.user?.ext?.consent).to.equal(undefined);
});
it('should properly build a request with undefined gdpr consent fields when they are not provided', function () {
@@ -1066,7 +982,6 @@ describe('The Criteo bidding adapter', function () {
{
bidder: 'criteo',
adUnitCode: 'bid-123',
- transactionId: 'transaction-123',
mediaTypes: {
banner: {
sizes: [[728, 90]]
@@ -1082,9 +997,9 @@ describe('The Criteo bidding adapter', function () {
gdprConsent: {},
};
- const ortbRequest = spec.buildRequests(bidRequests, bidderRequest).data;
- expect(ortbRequest.gdprConsent.consentData).to.equal(undefined);
- expect(ortbRequest.gdprConsent.gdprApplies).to.equal(undefined);
+ const ortbRequest = spec.buildRequests(bidRequests, syncAddFPDToBidderRequest(bidderRequest)).data;
+ expect(ortbRequest.user?.ext?.consent).to.equal(undefined);
+ expect(ortbRequest.regs?.ext?.gdpr).to.equal(undefined);
});
it('should properly build a request with ccpa consent field', function () {
@@ -1092,7 +1007,6 @@ describe('The Criteo bidding adapter', function () {
{
bidder: 'criteo',
adUnitCode: 'bid-123',
- transactionId: 'transaction-123',
mediaTypes: {
banner: {
sizes: [[728, 90]]
@@ -1108,42 +1022,43 @@ describe('The Criteo bidding adapter', function () {
uspConsent: '1YNY',
};
- const request = spec.buildRequests(bidRequests, bidderRequest);
- expect(request.data.user).to.not.be.null;
- expect(request.data.user.uspIab).to.equal('1YNY');
+ const ortbRequest = spec.buildRequests(bidRequests, syncAddFPDToBidderRequest(bidderRequest)).data;
+ expect(ortbRequest.regs.ext.us_privacy).to.equal('1YNY');
});
- it('should properly build a request with site and app ortb fields', function () {
- const bidRequests = [];
- let app = {
- publisher: {
- id: 'appPublisherId'
- }
- };
- let site = {
- publisher: {
- id: 'sitePublisherId'
- }
- };
+ it('should properly build a request with overridden tmax', function () {
+ const bidRequests = [
+ {
+ bidder: 'criteo',
+ adUnitCode: 'bid-123',
+ mediaTypes: {
+ banner: {
+ sizes: [[728, 90]]
+ }
+ },
+ params: {
+ zoneId: 123,
+ },
+ },
+ ];
const bidderRequest = {
- ortb2: {
- app: app,
- site: site
- }
+ timeout: 1234
};
- const request = spec.buildRequests(bidRequests, bidderRequest);
- expect(request.data.app).to.equal(app);
- expect(request.data.site).to.equal(site);
+ const ortbRequest = spec.buildRequests(bidRequests, syncAddFPDToBidderRequest(bidderRequest)).data;
+ expect(ortbRequest.tmax).to.equal(1234);
});
it('should properly build a request with device sua field', function () {
- const sua = {}
+ const sua = {
+ platform: {
+ brand: 'abc'
+ }
+ }
const bidRequests = [
{
bidder: 'criteo',
adUnitCode: 'bid-123',
- transactionId: 'transaction-123',
mediaTypes: {
banner: {
sizes: [[728, 90]]
@@ -1164,9 +1079,9 @@ describe('The Criteo bidding adapter', function () {
}
};
- const request = spec.buildRequests(bidRequests, bidderRequest);
- expect(request.data.user.ext.sua).to.not.be.null;
- expect(request.data.user.ext.sua).to.equal(sua);
+ const ortbRequest = spec.buildRequests(bidRequests, syncAddFPDToBidderRequest(bidderRequest)).data;
+ expect(ortbRequest.device.ext.sua).not.to.be.null;
+ expect(ortbRequest.device.ext.sua.platform.brand).to.equal('abc');
});
it('should properly build a request with gpp consent field', function () {
@@ -1174,7 +1089,6 @@ describe('The Criteo bidding adapter', function () {
{
bidder: 'criteo',
adUnitCode: 'bid-123',
- transactionId: 'transaction-123',
mediaTypes: {
banner: {
sizes: [[728, 90]]
@@ -1192,10 +1106,9 @@ describe('The Criteo bidding adapter', function () {
}
};
- const request = spec.buildRequests(bidRequests, { ...bidderRequest, ortb2 });
- expect(request.data.regs).to.not.be.null;
- expect(request.data.regs.gpp).to.equal('gpp_consent_string');
- expect(request.data.regs.gpp_sid).to.deep.equal([0, 1, 2]);
+ const ortbRequest = spec.buildRequests(bidRequests, syncAddFPDToBidderRequest({ ...bidderRequest, ortb2 })).data;
+ expect(ortbRequest.regs.ext.gpp).to.equal('gpp_consent_string');
+ expect(ortbRequest.regs.ext.gpp_sid).to.deep.equal([0, 1, 2]);
});
it('should properly build a request with dsa object', function () {
@@ -1203,7 +1116,6 @@ describe('The Criteo bidding adapter', function () {
{
bidder: 'criteo',
adUnitCode: 'bid-123',
- transactionId: 'transaction-123',
mediaTypes: {
banner: {
sizes: [[728, 90]]
@@ -1234,10 +1146,8 @@ describe('The Criteo bidding adapter', function () {
}
};
- const request = spec.buildRequests(bidRequests, { ...bidderRequest, ortb2 });
- expect(request.data.regs).to.not.be.null;
- expect(request.data.regs.ext).to.not.be.null;
- expect(request.data.regs.ext.dsa).to.deep.equal(dsa);
+ const ortbRequest = spec.buildRequests(bidRequests, syncAddFPDToBidderRequest({ ...bidderRequest, ortb2 })).data;
+ expect(ortbRequest.regs.ext.dsa).to.deep.equal(dsa);
});
it('should properly build a request with schain object', function () {
@@ -1249,7 +1159,6 @@ describe('The Criteo bidding adapter', function () {
bidder: 'criteo',
schain: expectedSchain,
adUnitCode: 'bid-123',
- transactionId: 'transaction-123',
mediaTypes: {
banner: {
sizes: [[728, 90]]
@@ -1261,8 +1170,8 @@ describe('The Criteo bidding adapter', function () {
},
];
- const request = spec.buildRequests(bidRequests, bidderRequest);
- expect(request.data.source.ext.schain).to.equal(expectedSchain);
+ const ortbRequest = spec.buildRequests(bidRequests, syncAddFPDToBidderRequest(bidderRequest)).data;
+ expect(ortbRequest.source.ext.schain).to.equal(expectedSchain);
});
it('should properly build a request with bcat field', function () {
@@ -1271,7 +1180,6 @@ describe('The Criteo bidding adapter', function () {
{
bidder: 'criteo',
adUnitCode: 'bid-123',
- transactionId: 'transaction-123',
mediaTypes: {
banner: {
sizes: [[728, 90]]
@@ -1288,9 +1196,8 @@ describe('The Criteo bidding adapter', function () {
}
};
- const request = spec.buildRequests(bidRequests, bidderRequest);
- expect(request.data.bcat).to.not.be.null;
- expect(request.data.bcat).to.equal(bcat);
+ const ortbRequest = spec.buildRequests(bidRequests, syncAddFPDToBidderRequest(bidderRequest)).data;
+ expect(ortbRequest.bcat).to.deep.equal(bcat);
});
it('should properly build a request with badv field', function () {
@@ -1299,7 +1206,6 @@ describe('The Criteo bidding adapter', function () {
{
bidder: 'criteo',
adUnitCode: 'bid-123',
- transactionId: 'transaction-123',
mediaTypes: {
banner: {
sizes: [[728, 90]]
@@ -1316,9 +1222,8 @@ describe('The Criteo bidding adapter', function () {
}
};
- const request = spec.buildRequests(bidRequests, bidderRequest);
- expect(request.data.badv).to.not.be.null;
- expect(request.data.badv).to.equal(badv);
+ const ortbRequest = spec.buildRequests(bidRequests, syncAddFPDToBidderRequest(bidderRequest)).data;
+ expect(ortbRequest.badv).to.deep.equal(badv);
});
it('should properly build a request with bapp field', function () {
@@ -1327,7 +1232,6 @@ describe('The Criteo bidding adapter', function () {
{
bidder: 'criteo',
adUnitCode: 'bid-123',
- transactionId: 'transaction-123',
mediaTypes: {
banner: {
sizes: [[728, 90]]
@@ -1344,331 +1248,263 @@ describe('The Criteo bidding adapter', function () {
}
};
- const request = spec.buildRequests(bidRequests, bidderRequest);
- expect(request.data.bapp).to.not.be.null;
- expect(request.data.bapp).to.equal(bapp);
+ const ortbRequest = spec.buildRequests(bidRequests, syncAddFPDToBidderRequest(bidderRequest)).data;
+ expect(ortbRequest.bapp).to.deep.equal(bapp);
});
- it('should properly build a request with if ccpa consent field is not provided', function () {
+ if (FEATURES.VIDEO) {
+ it('should properly build a video request', function () {
+ const bidRequests = [
+ {
+ bidder: 'criteo',
+ adUnitCode: 'bid-123',
+ sizes: [[640, 480]],
+ mediaTypes: {
+ video: {
+ context: 'inbanner',
+ playerSize: [640, 480],
+ mimes: ['video/mp4', 'video/x-flv'],
+ maxduration: 30,
+ api: [1, 2],
+ protocols: [2, 3],
+ plcmt: 3,
+ w: 640,
+ h: 480,
+ linearity: 1,
+ skipmin: 30,
+ skipafter: 30,
+ minbitrate: 10000,
+ maxbitrate: 48000,
+ delivery: [1, 2, 3],
+ pos: 1,
+ playbackend: 1,
+ adPodDurationSec: 30,
+ durationRangeSec: [1, 30],
+ }
+ },
+ params: {
+ zoneId: 123,
+ video: {
+ skip: 1,
+ minduration: 5,
+ startdelay: 5,
+ playbackmethod: [1, 3],
+ placement: 2
+ }
+ },
+ },
+ ];
+ const request = spec.buildRequests(bidRequests, syncAddFPDToBidderRequest(bidderRequest));
+ expect(request.url).to.match(/^https:\/\/grid-bidder\.criteo\.com\/openrtb_2_5\/pbjs\/auction\/request\?profileId=207&av=\d+&wv=[^&]+&cb=\d+&lsavail=[01]&debug=[01]&nolog=[01]$/);
+ expect(request.method).to.equal('POST');
+ const ortbRequest = request.data;
+ expect(ortbRequest.imp).to.have.lengthOf(1);
+ expect(ortbRequest.imp[0].video.mimes).to.deep.equal(['video/mp4', 'video/x-flv']);
+ expect(ortbRequest.imp[0].video.maxduration).to.equal(30);
+ expect(ortbRequest.imp[0].video.api).to.deep.equal([1, 2]);
+ expect(ortbRequest.imp[0].video.protocols).to.deep.equal([2, 3]);
+ expect(ortbRequest.imp[0].video.skip).to.equal(1);
+ expect(ortbRequest.imp[0].video.minduration).to.equal(5);
+ expect(ortbRequest.imp[0].video.startdelay).to.equal(5);
+ expect(ortbRequest.imp[0].video.playbackmethod).to.deep.equal([1, 3]);
+ expect(ortbRequest.imp[0].video.placement).to.equal(2);
+ expect(ortbRequest.imp[0].video.w).to.equal(640);
+ expect(ortbRequest.imp[0].video.h).to.equal(480);
+ expect(ortbRequest.imp[0].video.linearity).to.equal(1);
+ expect(ortbRequest.imp[0].video.skipmin).to.equal(30);
+ expect(ortbRequest.imp[0].video.skipafter).to.equal(30);
+ expect(ortbRequest.imp[0].video.minbitrate).to.equal(10000);
+ expect(ortbRequest.imp[0].video.maxbitrate).to.equal(48000);
+ expect(ortbRequest.imp[0].video.delivery).to.deep.equal([1, 2, 3]);
+ expect(ortbRequest.imp[0].video.pos).to.equal(1);
+ expect(ortbRequest.imp[0].video.playbackend).to.equal(1);
+ expect(ortbRequest.imp[0].video.ext.context).to.equal('inbanner');
+ expect(ortbRequest.imp[0].video.ext.playersizes).to.deep.equal(['640x480']);
+ expect(ortbRequest.imp[0].video.ext.plcmt).to.equal(3);
+ expect(ortbRequest.imp[0].video.ext.poddur).to.equal(30);
+ expect(ortbRequest.imp[0].video.ext.rqddurs).to.deep.equal([1, 30]);
+ });
+ }
+
+ if (FEATURES.VIDEO) {
+ it('should properly build a video request with more than one player size', function () {
+ const bidRequests = [
+ {
+ bidder: 'criteo',
+ adUnitCode: 'bid-123',
+ sizes: [[640, 480], [800, 600]],
+ mediaTypes: {
+ video: {
+ playerSize: [[640, 480], [800, 600]],
+ mimes: ['video/mp4', 'video/x-flv'],
+ maxduration: 30,
+ api: [1, 2],
+ protocols: [2, 3]
+ }
+ },
+ params: {
+ zoneId: 123,
+ video: {
+ skip: 1,
+ minduration: 5,
+ startdelay: 5,
+ playbackmethod: [1, 3],
+ placement: 2
+ }
+ },
+ },
+ ];
+ const request = spec.buildRequests(bidRequests, syncAddFPDToBidderRequest(bidderRequest));
+ expect(request.url).to.match(/^https:\/\/grid-bidder\.criteo\.com\/openrtb_2_5\/pbjs\/auction\/request\?profileId=207&av=\d+&wv=[^&]+&cb=\d+&lsavail=[01]&debug=[01]&nolog=[01]$/);
+ expect(request.method).to.equal('POST');
+ const ortbRequest = request.data;
+ expect(ortbRequest.imp[0].video.mimes).to.deep.equal(['video/mp4', 'video/x-flv']);
+ expect(ortbRequest.imp[0].video.maxduration).to.equal(30);
+ expect(ortbRequest.imp[0].video.api).to.deep.equal([1, 2]);
+ expect(ortbRequest.imp[0].video.protocols).to.deep.equal([2, 3]);
+ expect(ortbRequest.imp[0].video.skip).to.equal(1);
+ expect(ortbRequest.imp[0].video.minduration).to.equal(5);
+ expect(ortbRequest.imp[0].video.startdelay).to.equal(5);
+ expect(ortbRequest.imp[0].video.playbackmethod).to.deep.equal([1, 3]);
+ expect(ortbRequest.imp[0].video.placement).to.equal(2);
+ expect(ortbRequest.imp[0].video.w).to.equal(640);
+ expect(ortbRequest.imp[0].video.h).to.equal(480);
+ expect(ortbRequest.imp[0].video.ext.playersizes).to.deep.equal(['640x480', '800x600']);
+ expect(ortbRequest.imp[0].ext.bidder.zoneid).to.equal(123);
+ });
+ }
+
+ if (FEATURES.VIDEO) {
+ it('should properly build a video request when mediaTypes.video.skip=0', function () {
+ const bidRequests = [
+ {
+ bidder: 'criteo',
+ adUnitCode: 'bid-123',
+ sizes: [[300, 250]],
+ mediaTypes: {
+ video: {
+ playerSize: [[300, 250]],
+ mimes: ['video/mp4', 'video/MPV', 'video/H264', 'video/webm', 'video/ogg'],
+ minduration: 1,
+ maxduration: 30,
+ playbackmethod: [2, 3, 4, 5, 6],
+ api: [1, 2, 3, 4, 5, 6],
+ protocols: [1, 2, 3, 4, 5, 6, 7, 8],
+ skip: 0
+ }
+ },
+ params: {
+ networkId: 456
+ }
+ }
+ ];
+ const request = spec.buildRequests(bidRequests, syncAddFPDToBidderRequest(bidderRequest));
+ expect(request.url).to.match(/^https:\/\/grid-bidder\.criteo\.com\/openrtb_2_5\/pbjs\/auction\/request\?profileId=207&av=\d+&wv=[^&]+&cb=\d+&lsavail=[01]&debug=[01]&nolog=[01]&networkId=456$/);
+ expect(request.method).to.equal('POST');
+ const ortbRequest = request.data;
+ expect(ortbRequest.imp[0].video.mimes).to.deep.equal(['video/mp4', 'video/MPV', 'video/H264', 'video/webm', 'video/ogg']);
+ expect(ortbRequest.imp[0].video.minduration).to.equal(1);
+ expect(ortbRequest.imp[0].video.maxduration).to.equal(30);
+ expect(ortbRequest.imp[0].video.playbackmethod).to.deep.equal([2, 3, 4, 5, 6]);
+ expect(ortbRequest.imp[0].video.api).to.deep.equal([1, 2, 3, 4, 5, 6]);
+ expect(ortbRequest.imp[0].video.protocols).to.deep.equal([1, 2, 3, 4, 5, 6, 7, 8]);
+ expect(ortbRequest.imp[0].video.skip).to.equal(0);
+ expect(ortbRequest.imp[0].video.w).to.equal(300);
+ expect(ortbRequest.imp[0].video.h).to.equal(250);
+ expect(ortbRequest.imp[0].video.ext.playersizes).to.deep.equal(['300x250']);
+ });
+ }
+
+ it('should properly build a request without first party data', function () {
const bidRequests = [
{
bidder: 'criteo',
adUnitCode: 'bid-123',
- transactionId: 'transaction-123',
mediaTypes: {
banner: {
sizes: [[728, 90]]
}
},
params: {
- zoneId: 123,
- },
+ zoneId: 123
+ }
},
];
- const bidderRequest = {
- timeout: 3000
- };
- const request = spec.buildRequests(bidRequests, bidderRequest);
- expect(request.data.user).to.not.be.null;
- expect(request.data.user.uspIab).to.equal(undefined);
+ const ortbRequest = spec.buildRequests(bidRequests, syncAddFPDToBidderRequest({ ...bidderRequest, ortb2: {} })).data;
+ expect(ortbRequest.site.page).to.equal(refererUrl);
+ expect(ortbRequest.imp).to.have.lengthOf(1);
+ expect(ortbRequest.imp[0].tagid).to.equal('bid-123');
+ expect(ortbRequest.imp[0].banner.format).to.have.lengthOf(1);
+ expect(ortbRequest.imp[0].banner.format[0].w).to.equal(728);
+ expect(ortbRequest.imp[0].banner.format[0].h).to.equal(90);
+ expect(ortbRequest.imp[0].ext.bidder.zoneid).to.equal(123);
+ expect(ortbRequest.user.ext.consent).to.equal('consentDataString');
+ expect(ortbRequest.regs.ext.gdpr).to.equal(1);
+ expect(ortbRequest.regs.ext.gdprversion).to.equal(1);
});
- it('should properly build a video request', function () {
+ it('should properly build a request with first party data', function () {
+ const siteData = {
+ keywords: ['power tools'],
+ content: {
+ data: [{
+ name: 'some_provider',
+ ext: {
+ segtax: 3
+ },
+ segment: [
+ { 'id': '1001' },
+ { 'id': '1002' }
+ ]
+ }]
+ },
+ ext: {
+ data: {
+ pageType: 'article'
+ }
+ }
+ };
+ const userData = {
+ gender: 'M',
+ data: [{
+ name: 'some_provider',
+ ext: {
+ segtax: 3
+ },
+ segment: [
+ { 'id': '1001' },
+ { 'id': '1002' }
+ ]
+ }],
+ ext: {
+ data: {
+ registered: true
+ }
+ }
+ };
const bidRequests = [
{
bidder: 'criteo',
adUnitCode: 'bid-123',
- transactionId: 'transaction-123',
- sizes: [[640, 480]],
mediaTypes: {
- video: {
- context: 'instream',
- playerSize: [640, 480],
- mimes: ['video/mp4', 'video/x-flv'],
- maxduration: 30,
- api: [1, 2],
- protocols: [2, 3],
- plcmt: 3,
- w: 640,
- h: 480,
- linearity: 1,
- skipmin: 30,
- skipafter: 30,
- minbitrate: 10000,
- maxbitrate: 48000,
- delivery: [1, 2, 3],
- pos: 1,
- playbackend: 1,
- adPodDurationSec: 30,
- durationRangeSec: [1, 30],
+ banner: {
+ sizes: [[728, 90]]
}
},
params: {
zoneId: 123,
- video: {
- skip: 1,
- minduration: 5,
- startdelay: 5,
- playbackmethod: [1, 3],
- placement: 2
+ ext: {
+ bidfloor: 0.75
}
},
- },
- ];
- const request = spec.buildRequests(bidRequests, bidderRequest);
- expect(request.url).to.match(/^https:\/\/bidder\.criteo\.com\/cdb\?profileId=207&av=\d+&wv=[^&]+&cb=\d/);
- expect(request.method).to.equal('POST');
- const ortbRequest = request.data;
- expect(ortbRequest.slots[0].video.context).to.equal('instream');
- expect(ortbRequest.slots[0].video.mimes).to.deep.equal(['video/mp4', 'video/x-flv']);
- expect(ortbRequest.slots[0].sizes).to.deep.equal([]);
- expect(ortbRequest.slots[0].video.playersizes).to.deep.equal(['640x480']);
- expect(ortbRequest.slots[0].video.maxduration).to.equal(30);
- expect(ortbRequest.slots[0].video.api).to.deep.equal([1, 2]);
- expect(ortbRequest.slots[0].video.protocols).to.deep.equal([2, 3]);
- expect(ortbRequest.slots[0].video.skip).to.equal(1);
- expect(ortbRequest.slots[0].video.minduration).to.equal(5);
- expect(ortbRequest.slots[0].video.startdelay).to.equal(5);
- expect(ortbRequest.slots[0].video.playbackmethod).to.deep.equal([1, 3]);
- expect(ortbRequest.slots[0].video.placement).to.equal(2);
- expect(ortbRequest.slots[0].video.plcmt).to.equal(3);
- expect(ortbRequest.slots[0].video.w).to.equal(640);
- expect(ortbRequest.slots[0].video.h).to.equal(480);
- expect(ortbRequest.slots[0].video.linearity).to.equal(1);
- expect(ortbRequest.slots[0].video.skipmin).to.equal(30);
- expect(ortbRequest.slots[0].video.skipafter).to.equal(30);
- expect(ortbRequest.slots[0].video.minbitrate).to.equal(10000);
- expect(ortbRequest.slots[0].video.maxbitrate).to.equal(48000);
- expect(ortbRequest.slots[0].video.delivery).to.deep.equal([1, 2, 3]);
- expect(ortbRequest.slots[0].video.pos).to.equal(1);
- expect(ortbRequest.slots[0].video.playbackend).to.equal(1);
- expect(ortbRequest.slots[0].video.adPodDurationSec).to.equal(30);
- expect(ortbRequest.slots[0].video.durationRangeSec).to.deep.equal([1, 30]);
- });
-
- it('should properly build a video request with more than one player size', function () {
- const bidRequests = [
- {
- bidder: 'criteo',
- adUnitCode: 'bid-123',
- transactionId: 'transaction-123',
- sizes: [[640, 480], [800, 600]],
- mediaTypes: {
- video: {
- playerSize: [[640, 480], [800, 600]],
- mimes: ['video/mp4', 'video/x-flv'],
- maxduration: 30,
- api: [1, 2],
- protocols: [2, 3]
- }
- },
- params: {
- zoneId: 123,
- video: {
- skip: 1,
- minduration: 5,
- startdelay: 5,
- playbackmethod: [1, 3],
- placement: 2
- }
- },
- },
- ];
- const request = spec.buildRequests(bidRequests, bidderRequest);
- expect(request.url).to.match(/^https:\/\/bidder\.criteo\.com\/cdb\?profileId=207&av=\d+&wv=[^&]+&cb=\d/);
- expect(request.method).to.equal('POST');
- const ortbRequest = request.data;
- expect(ortbRequest.slots[0].sizes).to.deep.equal([]);
- expect(ortbRequest.slots[0].video.mimes).to.deep.equal(['video/mp4', 'video/x-flv']);
- expect(ortbRequest.slots[0].video.playersizes).to.deep.equal(['640x480', '800x600']);
- expect(ortbRequest.slots[0].video.maxduration).to.equal(30);
- expect(ortbRequest.slots[0].video.api).to.deep.equal([1, 2]);
- expect(ortbRequest.slots[0].video.protocols).to.deep.equal([2, 3]);
- expect(ortbRequest.slots[0].video.skip).to.equal(1);
- expect(ortbRequest.slots[0].video.minduration).to.equal(5);
- expect(ortbRequest.slots[0].video.startdelay).to.equal(5);
- expect(ortbRequest.slots[0].video.playbackmethod).to.deep.equal([1, 3]);
- expect(ortbRequest.slots[0].video.placement).to.equal(2);
- });
-
- it('should properly build a video request when mediaTypes.video.skip=0', function () {
- const bidRequests = [
- {
- bidder: 'criteo',
- adUnitCode: 'bid-123',
- transactionId: 'transaction-123',
- sizes: [[300, 250]],
- mediaTypes: {
- video: {
- playerSize: [[300, 250]],
- mimes: ['video/mp4', 'video/MPV', 'video/H264', 'video/webm', 'video/ogg'],
- minduration: 1,
- maxduration: 30,
- playbackmethod: [2, 3, 4, 5, 6],
- api: [1, 2, 3, 4, 5, 6],
- protocols: [1, 2, 3, 4, 5, 6, 7, 8],
- skip: 0
- }
- },
- params: {
- networkId: 123
- }
- }
- ];
- const request = spec.buildRequests(bidRequests, bidderRequest);
- expect(request.url).to.match(/^https:\/\/bidder\.criteo\.com\/cdb\?profileId=207&av=\d+&wv=[^&]+&cb=\d/);
- expect(request.method).to.equal('POST');
- const ortbRequest = request.data;
- expect(ortbRequest.slots[0].sizes).to.deep.equal([]);
- expect(ortbRequest.slots[0].video.playersizes).to.deep.equal(['300x250']);
- expect(ortbRequest.slots[0].video.mimes).to.deep.equal(['video/mp4', 'video/MPV', 'video/H264', 'video/webm', 'video/ogg']);
- expect(ortbRequest.slots[0].video.minduration).to.equal(1);
- expect(ortbRequest.slots[0].video.maxduration).to.equal(30);
- expect(ortbRequest.slots[0].video.playbackmethod).to.deep.equal([2, 3, 4, 5, 6]);
- expect(ortbRequest.slots[0].video.api).to.deep.equal([1, 2, 3, 4, 5, 6]);
- expect(ortbRequest.slots[0].video.protocols).to.deep.equal([1, 2, 3, 4, 5, 6, 7, 8]);
- expect(ortbRequest.slots[0].video.skip).to.equal(0);
- });
-
- it('should properly build a request with ceh', function () {
- const bidRequests = [
- {
- bidder: 'criteo',
- adUnitCode: 'bid-123',
- transactionId: 'transaction-123',
- mediaTypes: {
- banner: {
- sizes: [[728, 90]]
- }
- },
- params: {
- zoneId: 123,
- },
- },
- ];
- config.setConfig({
- criteo: {
- ceh: 'hashedemail'
- }
- });
- const request = spec.buildRequests(bidRequests, bidderRequest);
- expect(request.data.user).to.not.be.null;
- expect(request.data.user.ceh).to.equal('hashedemail');
- });
-
- it('should properly build a request without first party data', function () {
- const bidRequests = [
- {
- bidder: 'criteo',
- adUnitCode: 'bid-123',
- transactionId: 'transaction-123',
- mediaTypes: {
- banner: {
- sizes: [[728, 90]]
- }
- },
- params: {
- zoneId: 123
- }
- },
- ];
-
- const request = spec.buildRequests(bidRequests, { ...bidderRequest, ortb2: {} });
- expect(request.data.publisher.ext).to.equal(undefined);
- expect(request.data.user.ext).to.equal(undefined);
- expect(request.data.slots[0].ext).to.equal(undefined);
- });
-
- it('should properly build a request with criteo specific ad unit first party data', function () {
- // TODO: this test does not do what it says
- const bidRequests = [
- {
- bidder: 'criteo',
- adUnitCode: 'bid-123',
- transactionId: 'transaction-123',
- mediaTypes: {
- banner: {
- sizes: [[728, 90]]
- }
- },
- params: {
- zoneId: 123,
- ext: {
- bidfloor: 0.75
- }
- }
- },
- ];
-
- const request = spec.buildRequests(bidRequests, { ...bidderRequest, ortb2: {} });
- expect(request.data.slots[0].ext).to.deep.equal({
- bidfloor: 0.75,
- });
- });
-
- it('should properly build a request with first party data', function () {
- const siteData = {
- keywords: ['power tools'],
- content: {
- data: [{
- name: 'some_provider',
- ext: {
- segtax: 3
- },
- segment: [
- { 'id': '1001' },
- { 'id': '1002' }
- ]
- }]
- },
- ext: {
- data: {
- pageType: 'article'
- }
- }
- };
- const userData = {
- gender: 'M',
- data: [{
- name: 'some_provider',
- ext: {
- segtax: 3
- },
- segment: [
- { 'id': '1001' },
- { 'id': '1002' }
- ]
- }],
- ext: {
- data: {
- registered: true
- }
- }
- };
- const bidRequests = [
- {
- bidder: 'criteo',
- adUnitCode: 'bid-123',
- transactionId: 'transaction-123',
- mediaTypes: {
- banner: {
- sizes: [[728, 90]]
- }
- },
- params: {
- zoneId: 123,
- ext: {
- bidfloor: 0.75
- }
- },
- ortb2Imp: {
- ext: {
- data: {
- someContextAttribute: 'abc'
- }
- }
- }
+ ortb2Imp: {
+ ext: {
+ data: {
+ someContextAttribute: 'abc'
+ }
+ }
+ }
},
];
@@ -1677,41 +1513,34 @@ describe('The Criteo bidding adapter', function () {
user: userData
};
- const request = spec.buildRequests(bidRequests, { ...bidderRequest, ortb2 });
- expect(request.data.publisher.ext).to.deep.equal({ data: { pageType: 'article' } });
- expect(request.data.user).to.deep.equal(userData);
- expect(request.data.site).to.deep.equal(siteData);
- expect(request.data.slots[0].ext).to.deep.equal({
- bidfloor: 0.75,
- data: {
- someContextAttribute: 'abc'
- }
- });
+ const ortbRequest = spec.buildRequests(bidRequests, syncAddFPDToBidderRequest({ ...bidderRequest, ortb2 })).data;
+ expect(ortbRequest.user).to.deep.equal({ ...userData, ext: { ...userData.ext, consent: 'consentDataString' } });
+ expect(ortbRequest.site).to.deep.equal({ ...siteData, page: refererUrl, domain: 'criteo.com', publisher: { ...ortbRequest.site.publisher, domain: 'criteo.com' } });
+ expect(ortbRequest.imp[0].ext.bidfloor).to.equal(0.75);
+ expect(ortbRequest.imp[0].ext.data.someContextAttribute).to.equal('abc')
});
it('should properly build a request when coppa flag is true', function () {
const bidRequests = [];
const bidderRequest = {};
config.setConfig({ coppa: true });
- const request = spec.buildRequests(bidRequests, bidderRequest);
- expect(request.data.regs.coppa).to.not.be.undefined;
- expect(request.data.regs.coppa).to.equal(1);
+ const ortbRequest = spec.buildRequests(bidRequests, syncAddFPDToBidderRequest(bidderRequest)).data;
+ expect(ortbRequest.regs.coppa).to.equal(1);
});
it('should properly build a request when coppa flag is false', function () {
const bidRequests = [];
const bidderRequest = {};
config.setConfig({ coppa: false });
- const request = spec.buildRequests(bidRequests, bidderRequest);
- expect(request.data.regs.coppa).to.not.be.undefined;
- expect(request.data.regs.coppa).to.equal(0);
+ const ortbRequest = spec.buildRequests(bidRequests, syncAddFPDToBidderRequest(bidderRequest)).data;
+ expect(ortbRequest.regs.coppa).to.equal(0);
});
it('should properly build a request when coppa flag is not defined', function () {
const bidRequests = [];
const bidderRequest = {};
- const request = spec.buildRequests(bidRequests, bidderRequest);
- expect(request.data.regs.coppa).to.be.undefined;
+ const ortbRequest = spec.buildRequests(bidRequests, syncAddFPDToBidderRequest(bidderRequest)).data;
+ expect(ortbRequest.regs?.coppa).to.be.undefined;
});
it('should properly build a banner request with floors', function () {
@@ -1719,7 +1548,6 @@ describe('The Criteo bidding adapter', function () {
{
bidder: 'criteo',
adUnitCode: 'bid-123',
- transactionId: 'transaction-123',
mediaTypes: {
banner: {
sizes: [[300, 250], [728, 90]]
@@ -1747,8 +1575,8 @@ describe('The Criteo bidding adapter', function () {
},
];
const bidderRequest = {};
- const request = spec.buildRequests(bidRequests, bidderRequest);
- expect(request.data.slots[0].ext.floors).to.deep.equal({
+ const ortbRequest = spec.buildRequests(bidRequests, syncAddFPDToBidderRequest(bidderRequest)).data;
+ expect(ortbRequest.imp[0].ext.floors).to.deep.equal({
'banner': {
'300x250': { 'currency': 'USD', 'floor': 1 },
'728x90': { 'currency': 'USD', 'floor': 2 }
@@ -1761,7 +1589,6 @@ describe('The Criteo bidding adapter', function () {
{
bidder: 'criteo',
adUnitCode: 'bid-123',
- transactionId: 'transaction-123',
mediaTypes: {
banner: {
sizes: [[300, 250], [728, 90]]
@@ -1775,8 +1602,8 @@ describe('The Criteo bidding adapter', function () {
},
];
const bidderRequest = {};
- const request = spec.buildRequests(bidRequests, bidderRequest);
- expect(request.data.slots[0].ext.floors).to.deep.equal({
+ const ortbRequest = spec.buildRequests(bidRequests, syncAddFPDToBidderRequest(bidderRequest)).data;
+ expect(ortbRequest.imp[0].ext.floors).to.deep.equal({
'banner': {
'300x250': { 'currency': 'EUR', 'floor': 1 },
'728x90': { 'currency': 'EUR', 'floor': 1 }
@@ -1789,7 +1616,6 @@ describe('The Criteo bidding adapter', function () {
{
bidder: 'criteo',
adUnitCode: 'bid-123',
- transactionId: 'transaction-123',
mediaTypes: {
video: {
playerSize: [[300, 250], [728, 90]]
@@ -1817,8 +1643,8 @@ describe('The Criteo bidding adapter', function () {
},
];
const bidderRequest = {};
- const request = spec.buildRequests(bidRequests, bidderRequest);
- expect(request.data.slots[0].ext.floors).to.deep.equal({
+ const ortbRequest = spec.buildRequests(bidRequests, syncAddFPDToBidderRequest(bidderRequest)).data;
+ expect(ortbRequest.imp[0].ext.floors).to.deep.equal({
'video': {
'300x250': { 'currency': 'USD', 'floor': 1 },
'728x90': { 'currency': 'USD', 'floor': 2 }
@@ -1826,75 +1652,79 @@ describe('The Criteo bidding adapter', function () {
});
});
- it('should properly build a multi format request with floors', function () {
- const bidRequests = [
- {
- bidder: 'criteo',
- adUnitCode: 'bid-123',
- transactionId: 'transaction-123',
- mediaTypes: {
- banner: {
- sizes: [[300, 250], [728, 90]]
+ if (FEATURES.VIDEO && FEATURES.NATIVE) {
+ it('should properly build a multi format request with floors', function () {
+ const bidRequests = [
+ {
+ bidder: 'criteo',
+ adUnitCode: 'bid-123',
+ mediaTypes: {
+ banner: {
+ sizes: [[300, 250], [728, 90]]
+ },
+ video: {
+ playerSize: [640, 480],
+ },
+ native: {}
},
- video: {
- playerSize: [640, 480],
+ params: {
+ networkId: 456,
},
- native: {}
- },
- params: {
- networkId: 456,
- },
- ortb2Imp: {
- ext: {
- data: {
- someContextAttribute: 'abc'
+ ortb2Imp: {
+ ext: {
+ data: {
+ someContextAttribute: 'abc'
+ }
}
- }
- },
+ },
- getFloor: inputParams => {
- if (inputParams.mediaType === BANNER && inputParams.size[0] === 300 && inputParams.size[1] === 250) {
- return {
- currency: 'USD',
- floor: 1.0
- };
- } else if (inputParams.mediaType === BANNER && inputParams.size[0] === 728 && inputParams.size[1] === 90) {
- return {
- currency: 'USD',
- floor: 2.0
- };
- } else if (inputParams.mediaType === VIDEO && inputParams.size[0] === 640 && inputParams.size[1] === 480) {
- return {
- currency: 'EUR',
- floor: 3.2
- };
- } else if (inputParams.mediaType === NATIVE && inputParams.size === '*') {
- return {
- currency: 'YEN',
- floor: 4.99
- };
- } else {
- return {}
+ getFloor: inputParams => {
+ if (inputParams.mediaType === BANNER && inputParams.size[0] === 300 && inputParams.size[1] === 250) {
+ return {
+ currency: 'USD',
+ floor: 1.0
+ };
+ } else if (inputParams.mediaType === BANNER && inputParams.size[0] === 728 && inputParams.size[1] === 90) {
+ return {
+ currency: 'USD',
+ floor: 2.0
+ };
+ } else if (inputParams.mediaType === VIDEO && inputParams.size[0] === 640 && inputParams.size[1] === 480) {
+ return {
+ currency: 'EUR',
+ floor: 3.2
+ };
+ } else if (inputParams.mediaType === NATIVE && inputParams.size === '*') {
+ return {
+ currency: 'YEN',
+ floor: 4.99
+ };
+ } else {
+ return {}
+ }
}
+ },
+ ];
+ const bidderRequest = {};
+ const ortbRequest = spec.buildRequests(bidRequests, syncAddFPDToBidderRequest(bidderRequest)).data;
+ expect(ortbRequest.imp[0].banner).not.to.be.null;
+ expect(ortbRequest.imp[0].video).not.to.be.null;
+ expect(ortbRequest.imp[0].native.request_native).not.to.be.null;
+ expect(ortbRequest.imp[0].ext.data.someContextAttribute).to.deep.equal('abc');
+ expect(ortbRequest.imp[0].ext.floors).to.deep.equal({
+ 'banner': {
+ '300x250': { 'currency': 'USD', 'floor': 1 },
+ '728x90': { 'currency': 'USD', 'floor': 2 }
+ },
+ 'video': {
+ '640x480': { 'currency': 'EUR', 'floor': 3.2 }
+ },
+ 'native': {
+ '*': { 'currency': 'YEN', 'floor': 4.99 }
}
- },
- ];
- const bidderRequest = {};
- const request = spec.buildRequests(bidRequests, bidderRequest);
- expect(request.data.slots[0].ext.data.someContextAttribute).to.deep.equal('abc');
- expect(request.data.slots[0].ext.floors).to.deep.equal({
- 'banner': {
- '300x250': { 'currency': 'USD', 'floor': 1 },
- '728x90': { 'currency': 'USD', 'floor': 2 }
- },
- 'video': {
- '640x480': { 'currency': 'EUR', 'floor': 3.2 }
- },
- 'native': {
- '*': { 'currency': 'YEN', 'floor': 4.99 }
- }
+ });
});
- });
+ }
it('should properly build a request when imp.rwdd is present', function () {
const bidderRequest = {};
@@ -1902,32 +1732,22 @@ describe('The Criteo bidding adapter', function () {
{
bidder: 'criteo',
adUnitCode: 'bid-123',
- transactionId: 'transaction-123',
mediaTypes: {
banner: {
sizes: [[728, 90]]
}
},
params: {
- zoneId: 123,
- ext: {
- bidfloor: 0.75
- }
+ zoneId: 123
},
ortb2Imp: {
- rwdd: 1,
- ext: {
- data: {
- someContextAttribute: 'abc'
- }
- }
+ rwdd: 1
}
},
];
- const request = spec.buildRequests(bidRequests, bidderRequest);
- expect(request.data.slots[0].rwdd).to.be.not.null;
- expect(request.data.slots[0].rwdd).to.equal(1);
+ const ortbRequest = spec.buildRequests(bidRequests, syncAddFPDToBidderRequest(bidderRequest)).data;
+ expect(ortbRequest.imp[0].ext.rwdd).to.equal(1);
});
it('should properly build a request when imp.rwdd is false', function () {
@@ -1936,95 +1756,86 @@ describe('The Criteo bidding adapter', function () {
{
bidder: 'criteo',
adUnitCode: 'bid-123',
- transactionId: 'transaction-123',
mediaTypes: {
banner: {
sizes: [[728, 90]]
}
},
params: {
- zoneId: 123,
- ext: {
- bidfloor: 0.75
- }
+ zoneId: 123
},
ortb2Imp: {
- rwdd: 0,
- ext: {
- data: {
- someContextAttribute: 'abc'
- }
- }
+ rwdd: 0
}
},
];
- const request = spec.buildRequests(bidRequests, bidderRequest);
- expect(request.data.slots[0].rwdd).to.be.undefined;
+ const ortbRequest = spec.buildRequests(bidRequests, syncAddFPDToBidderRequest(bidderRequest)).data;
+ expect(ortbRequest.imp[0].ext?.rwdd).to.equal(0);
});
it('should properly build a request when FLEDGE is enabled', function () {
const bidderRequest = {
- fledgeEnabled: true,
+ paapi: {
+ enabled: true
+ }
};
const bidRequests = [
{
bidder: 'criteo',
adUnitCode: 'bid-123',
- transactionId: 'transaction-123',
mediaTypes: {
banner: {
sizes: [[728, 90]]
}
},
params: {
- zoneId: 123,
- ext: {
- bidfloor: 0.75
- }
+ zoneId: 123
},
ortb2Imp: {
ext: {
- ae: 1
+ igs: {
+ ae: 1
+ }
}
}
},
];
- const request = spec.buildRequests(bidRequests, bidderRequest);
- expect(request.data.slots[0].ext.ae).to.equal(1);
+ const ortbRequest = spec.buildRequests(bidRequests, syncAddFPDToBidderRequest(bidderRequest)).data;
+ expect(ortbRequest.imp[0].ext.igs.ae).to.equal(1);
});
it('should properly build a request when FLEDGE is disabled', function () {
const bidderRequest = {
- fledgeEnabled: false,
+ paapi: {
+ enabled: false
+ },
};
const bidRequests = [
{
bidder: 'criteo',
adUnitCode: 'bid-123',
- transactionId: 'transaction-123',
mediaTypes: {
banner: {
sizes: [[728, 90]]
}
},
params: {
- zoneId: 123,
- ext: {
- bidfloor: 0.75
- }
+ zoneId: 123
},
ortb2Imp: {
ext: {
- ae: 1
+ igs: {
+ ae: 1
+ }
}
}
},
];
- const request = spec.buildRequests(bidRequests, bidderRequest);
- expect(request.data.slots[0].ext).to.not.have.property('ae');
+ const ortbRequest = spec.buildRequests(bidRequests, syncAddFPDToBidderRequest(bidderRequest)).data;
+ expect(ortbRequest.imp[0].ext.igs?.ae).to.be.undefined;
});
it('should properly transmit the pubid and slot uid if available', function () {
@@ -2075,12 +1886,11 @@ describe('The Criteo bidding adapter', function () {
},
},
];
- const request = spec.buildRequests(bidRequests, bidderRequest);
+ const request = spec.buildRequests(bidRequests, syncAddFPDToBidderRequest(bidderRequest));
const ortbRequest = request.data;
- expect(ortbRequest.publisher.id).to.be.undefined;
expect(ortbRequest.site.publisher.id).to.equal('pub-888');
- expect(request.data.slots[0].ext.bidder).to.be.undefined;
- expect(request.data.slots[1].ext.bidder.uid).to.equal(888);
+ expect(ortbRequest.imp[0].ext.bidder.uid).to.be.undefined;
+ expect(ortbRequest.imp[1].ext.bidder.uid).to.equal(888);
});
it('should properly transmit device.ext.cdep if available', function () {
@@ -2094,136 +1904,243 @@ describe('The Criteo bidding adapter', function () {
}
};
const bidRequests = [];
- const request = spec.buildRequests(bidRequests, bidderRequest);
+ const request = spec.buildRequests(bidRequests, syncAddFPDToBidderRequest(bidderRequest));
const ortbRequest = request.data;
expect(ortbRequest.device.ext.cdep).to.equal('cookieDeprecationLabel');
});
});
describe('interpretResponse', function () {
- it('should return an empty array when parsing a no bid response', function () {
+ const refererUrl = 'https://criteo.com?pbt_debug=1&pbt_nolog=1';
+ const bidderRequest = {
+ refererInfo: {
+ page: refererUrl,
+ topmostLocation: refererUrl
+ },
+ timeout: 3000,
+ gdprConsent: {
+ gdprApplies: true,
+ consentString: 'consentDataString',
+ vendorData: {
+ vendorConsents: {
+ '91': 1
+ },
+ },
+ apiVersion: 1,
+ },
+ };
+
+ function mockResponse(winningBidId, mediaType) {
+ return {
+ id: 'test-requestId',
+ seatbid: [
+ {
+ seat: 'criteo',
+ bid: [
+ {
+ id: 'test-bidderId',
+ impid: winningBidId,
+ price: 1.23,
+ adomain: ['criteo.com'],
+ bundle: '',
+ iurl: 'http://some_image/',
+ cid: '123456',
+ crid: 'test-crId',
+ dealid: 'deal-code',
+ w: 728,
+ h: 90,
+ adm: 'test-ad',
+ adm_native: mediaType === NATIVE ? {
+ ver: '1.2',
+ assets: [
+ {
+ id: 10,
+ title: {
+ text: 'Some product'
+ }
+ },
+ {
+ id: 11,
+ img: {
+ type: 3,
+ url: 'https://main_image_url.com',
+ w: 400,
+ h: 400
+ }
+ },
+ {
+ id: 12,
+ data: {
+ value: 'Some product'
+ }
+ },
+ {
+ id: 13,
+ data: {
+ value: '1,499 TL'
+ }
+ },
+ {
+ id: 15,
+ data: {
+ value: 'CTA'
+ },
+ link: {
+ url: 'https://cta_url.com'
+ }
+ },
+ {
+ id: 17,
+ img: {
+ type: 1,
+ url: 'https://main_image_url.com',
+ w: 200,
+ h: 200
+ },
+ link: {
+ url: 'https://icon_image_url.com'
+ }
+ },
+ {
+ id: 16,
+ data: {
+ value: 'Some brand'
+ }
+ }
+ ],
+ eventtrackers: [
+ {
+ event: 1,
+ method: 1,
+ url: 'https://eventtrackers.com'
+ },
+ {
+ event: 1,
+ method: 1,
+ url: 'https://test_in_isolation.criteo.com/tpd?dd=HTlW9l9xTEZqRHVlSHFiSWx5Q2VQMlEwSTJhNCUyQkxNazQ1Y29LR3ZmS2VTSDFsUGdkRHNoWjQ2UWp0SGtVZ1RTbHI0TFRpTlVqNWxiUkZOeGVFNjVraW53R0loRVJQNDJOY2R1eWxVdjBBQ1BEdVFvTyUyRlg3aWJaeUFha3UyemNNVGpmJTJCS1prc0FwRjZRJTJCQ2dpaFBJeVhZRmQlMkZURVZocUFRdm03OTdFZHZSbURNZWt4Uzh2M1NSUUxmTmhaTnNnRXd4VkZlOTdJOXdnNGZjaVolMkZWYmdYVjJJMkQ0eGxQaFIwQmVtWk1sQ09tNXlGY0Nwc09GTDladzExJTJGVExGNXJsdGpneERDeTMlMkJuNUlUcEU4NDFLMTZPc2ZoWFUwMmpGbDFpVjBPZUVtTlEwaWNOeHRyRFYyenRKd0lpJTJGTTElMkY1WGZ3Smo3aTh0bUJzdzZRdlZUSXppanNkamo3ekZNZjhKdjl2VDJ5eHV1YnVzdmdRdk5iWnprNXVFMVdmbGs0QU1QY0ozZQ'
+ }
+ ],
+ privacy: 'https://cta_url.com',
+ ext: {
+ privacy: {
+ imageurl: 'https://icon_image_url.com',
+ clickurl: 'https://cta_url.com',
+ longlegaltext: ''
+ }
+ }
+ } : undefined,
+ ext: {
+ mediatype: mediaType,
+ displayurl: mediaType === VIDEO ? 'http://test-ad' : undefined,
+ dsa: {
+ adrender: 1
+ },
+ meta: {
+ networkName: 'Criteo'
+ },
+ videoPlayerType: mediaType === VIDEO ? 'RadiantMediaPlayer' : undefined,
+ videoPlayerConfig: mediaType === VIDEO ? {} : undefined,
+ cur: 'CUR'
+ }
+ }
+ ]
+ }
+ ]
+ };
+ }
+
+ it('should return an empty array when parsing an empty bid response', function () {
+ const bidRequests = [];
const response = {};
- const request = { bidRequests: [] };
+ const request = spec.buildRequests(bidRequests, syncAddFPDToBidderRequest(bidderRequest));
const bids = spec.interpretResponse(response, request);
expect(bids).to.have.lengthOf(0);
});
- it('should properly parse a bid response with a networkId', function () {
- const response = {
- body: {
- slots: [{
- impid: 'test-requestId',
- cpm: 1.23,
- creative: 'test-ad',
- creativecode: 'test-crId',
- width: 728,
- height: 90,
- deal: 'myDealCode',
- adomain: ['criteo.com'],
- ext: {
- meta: {
- networkName: 'Criteo'
- }
- }
- }],
- },
- };
- const request = {
- bidRequests: [{
- adUnitCode: 'test-requestId',
- bidId: 'test-bidId',
- mediaTypes: {
- banner: {
- sizes: [[728, 90]]
- }
- },
- params: {
- networkId: 456,
+ it('should return an empty array when parsing a well-formed no bid response', function () {
+ const bidRequests = [];
+ const response = { seatbid: [] };
+ const request = spec.buildRequests(bidRequests, syncAddFPDToBidderRequest(bidderRequest));
+ const bids = spec.interpretResponse({ body: response }, request);
+ expect(bids).to.have.lengthOf(0);
+ });
+
+ it('should properly parse a banner bid response', function () {
+ const bidRequests = [{
+ adUnitCode: 'test-requestId',
+ bidId: 'test-bidId',
+ mediaTypes: {
+ banner: {
+ sizes: [[728, 90]]
}
- }]
- };
- const bids = spec.interpretResponse(response, request);
+ },
+ params: {
+ networkId: 456,
+ }
+ }];
+ const response = mockResponse('test-bidId', BANNER);
+ const request = spec.buildRequests(bidRequests, syncAddFPDToBidderRequest(bidderRequest));
+ const bids = spec.interpretResponse({ body: response }, request);
expect(bids).to.have.lengthOf(1);
+ expect(bids[0].mediaType).to.equal(BANNER);
expect(bids[0].requestId).to.equal('test-bidId');
+ expect(bids[0].seatBidId).to.equal('test-bidderId')
expect(bids[0].cpm).to.equal(1.23);
- expect(bids[0].ad).to.equal('test-ad');
- expect(bids[0].creativeId).to.equal('test-crId');
+ expect(bids[0].currency).to.equal('CUR');
expect(bids[0].width).to.equal(728);
expect(bids[0].height).to.equal(90);
- expect(bids[0].dealId).to.equal('myDealCode');
+ expect(bids[0].ad).to.equal('test-ad');
+ expect(bids[0].creativeId).to.equal('test-crId');
+ expect(bids[0].dealId).to.equal('deal-code');
expect(bids[0].meta.advertiserDomains[0]).to.equal('criteo.com');
expect(bids[0].meta.networkName).to.equal('Criteo');
+ expect(bids[0].meta.dsa.adrender).to.equal(1);
});
- it('should properly parse a bid response with dsa', function () {
- const response = {
- body: {
- slots: [{
- impid: 'test-requestId',
- cpm: 1.23,
- creative: 'test-ad',
- creativecode: 'test-crId',
- width: 728,
- height: 90,
- deal: 'myDealCode',
- adomain: ['criteo.com'],
- ext: {
- dsa: {
- adrender: 1
- },
- meta: {
- networkName: 'Criteo'
- }
- }
- }],
- },
- };
- const request = {
- bidRequests: [{
+ if (FEATURES.VIDEO) {
+ it('should properly parse a bid response with a video', function () {
+ const bidRequests = [{
adUnitCode: 'test-requestId',
bidId: 'test-bidId',
mediaTypes: {
- banner: {
- sizes: [[728, 90]]
+ video: {
+ context: 'instream',
+ mimes: ['video/mpeg'],
+ playerSize: [640, 480],
+ protocols: [5, 6],
+ maxduration: 30,
+ api: [1, 2]
}
},
params: {
- networkId: 456,
- }
- }]
- };
- const bids = spec.interpretResponse(response, request);
- expect(bids).to.have.lengthOf(1);
- expect(bids[0].meta.dsa.adrender).to.equal(1);
- });
+ zoneId: 123,
+ },
+ }];
+ const response = mockResponse('test-bidId', VIDEO);
+ const request = spec.buildRequests(bidRequests, syncAddFPDToBidderRequest(bidderRequest));
+ const bids = spec.interpretResponse({ body: response }, request);
+ expect(bids).to.have.lengthOf(1);
+ expect(bids[0].mediaType).to.equal(VIDEO);
+ expect(bids[0].requestId).to.equal('test-bidId');
+ expect(bids[0].seatBidId).to.equal('test-bidderId')
+ expect(bids[0].cpm).to.equal(1.23);
+ expect(bids[0].currency).to.equal('CUR');
+ expect(bids[0].vastUrl).to.equal('http://test-ad');
+ expect(bids[0].vastXml).to.equal('test-ad');
+ expect(bids[0].playerWidth).to.equal(640);
+ expect(bids[0].playerHeight).to.equal(480);
+ expect(bids[0].renderer).to.equal(undefined);
+ });
+ }
- it('should properly parse a bid response with a networkId with twin ad unit banner win', function () {
- const response = {
- body: {
- slots: [{
- impid: 'test-requestId',
- cpm: 1.23,
- creative: 'test-ad',
- creativecode: 'test-crId',
- width: 728,
- height: 90,
- deal: 'myDealCode',
- adomain: ['criteo.com'],
- ext: {
- meta: {
- networkName: 'Criteo'
- }
- }
- }],
- },
- };
- const request = {
- bidRequests: [{
+ if (FEATURES.VIDEO) {
+ it('should properly parse a bid response with an outstream video', function () {
+ const bidRequests = [{
adUnitCode: 'test-requestId',
bidId: 'test-bidId',
mediaTypes: {
video: {
- context: 'instream',
+ context: 'outstream',
mimes: ['video/mpeg'],
playerSize: [640, 480],
protocols: [5, 6],
@@ -2234,68 +2151,123 @@ describe('The Criteo bidding adapter', function () {
params: {
networkId: 456,
},
- }, {
+ }];
+ const response = mockResponse('test-bidId', VIDEO);
+ const request = spec.buildRequests(bidRequests, syncAddFPDToBidderRequest(bidderRequest));
+ const bids = spec.interpretResponse({ body: response }, request);
+ expect(bids).to.have.lengthOf(1);
+ expect(bids[0].mediaType).to.equal(VIDEO);
+ expect(bids[0].requestId).to.equal('test-bidId');
+ expect(bids[0].seatBidId).to.equal('test-bidderId')
+ expect(bids[0].cpm).to.equal(1.23);
+ expect(bids[0].currency).to.equal('CUR');
+ expect(bids[0].vastUrl).to.equal('http://test-ad');
+ expect(bids[0].vastXml).to.equal('test-ad');
+ expect(bids[0].playerWidth).to.equal(640);
+ expect(bids[0].playerHeight).to.equal(480);
+ expect(bids[0].renderer.url).to.equal('https://static.criteo.net/js/ld/publishertag.renderer.js');
+ expect(typeof bids[0].renderer.config.documentResolver).to.equal('function');
+ expect(typeof bids[0].renderer._render).to.equal('function');
+ });
+ }
+
+ if (FEATURES.NATIVE) {
+ it('should properly parse a native bid response', function () {
+ const bidRequests = [{
adUnitCode: 'test-requestId',
- bidId: 'test-bidId2',
- mediaTypes: {
- banner: {
- sizes: [[728, 90]]
- }
- },
+ bidId: 'test-bidId',
params: {
- networkId: 456,
+ zoneId: '123',
+ },
+ native: true,
+ }];
+ const response = mockResponse('test-bidId', NATIVE);
+ const request = spec.buildRequests(bidRequests, syncAddFPDToBidderRequest(bidderRequest));
+ const bids = spec.interpretResponse({ body: response }, request);
+ expect(bids).to.have.lengthOf(1);
+ expect(bids[0].mediaType).to.equal(NATIVE);
+ expect(bids[0].requestId).to.equal('test-bidId');
+ expect(bids[0].seatBidId).to.equal('test-bidderId')
+ expect(bids[0].cpm).to.equal(1.23);
+ expect(bids[0].currency).to.equal('CUR');
+ expect(bids[0].width).to.equal(728);
+ expect(bids[0].height).to.equal(90);
+ expect(bids[0].ad).to.equal(undefined);
+ expect(bids[0].native.ortb).not.to.be.null;
+ expect(bids[0].native.ortb).to.equal(response.seatbid[0].bid[0].adm); // adm_native field was moved to adm
+ expect(bids[0].creativeId).to.equal('test-crId');
+ expect(bids[0].dealId).to.equal('deal-code');
+ expect(bids[0].meta.advertiserDomains[0]).to.equal('criteo.com');
+ expect(bids[0].meta.networkName).to.equal('Criteo');
+ expect(bids[0].meta.dsa.adrender).to.equal(1);
+ });
+ }
+
+ it('should properly parse a bid response when banner win with twin ad units', function () {
+ const bidRequests = [{
+ adUnitCode: 'test-requestId',
+ bidId: 'test-bidId',
+ mediaTypes: {
+ video: {
+ context: 'instream',
+ mimes: ['video/mpeg'],
+ playerSize: [640, 480],
+ protocols: [5, 6],
+ maxduration: 30,
+ api: [1, 2]
}
- }]
- };
- const bids = spec.interpretResponse(response, request);
+ },
+ params: {
+ networkId: 456,
+ },
+ }, {
+ adUnitCode: 'test-requestId',
+ bidId: 'test-bidId2',
+ mediaTypes: {
+ banner: {
+ sizes: [[728, 90]]
+ }
+ },
+ params: {
+ networkId: 456,
+ }
+ }];
+ const response = mockResponse('test-bidId2', BANNER);
+ const request = spec.buildRequests(bidRequests, syncAddFPDToBidderRequest(bidderRequest));
+ const bids = spec.interpretResponse({ body: response }, request);
expect(bids).to.have.lengthOf(1);
+ expect(bids[0].mediaType).to.equal(BANNER);
expect(bids[0].requestId).to.equal('test-bidId2');
+ expect(bids[0].seatBidId).to.equal('test-bidderId')
expect(bids[0].cpm).to.equal(1.23);
- expect(bids[0].ad).to.equal('test-ad');
- expect(bids[0].creativeId).to.equal('test-crId');
+ expect(bids[0].currency).to.equal('CUR');
expect(bids[0].width).to.equal(728);
expect(bids[0].height).to.equal(90);
- expect(bids[0].dealId).to.equal('myDealCode');
+ expect(bids[0].ad).to.equal('test-ad');
+ expect(bids[0].creativeId).to.equal('test-crId');
+ expect(bids[0].dealId).to.equal('deal-code');
expect(bids[0].meta.advertiserDomains[0]).to.equal('criteo.com');
expect(bids[0].meta.networkName).to.equal('Criteo');
+ expect(bids[0].meta.dsa.adrender).to.equal(1);
});
- it('should properly parse a bid response with a networkId with twin ad unit video win', function () {
- const response = {
- body: {
- slots: [{
- impid: 'test-requestId',
- bidId: 'abc123',
- cpm: 1.23,
- displayurl: 'http://test-ad',
- width: 728,
- height: 90,
- zoneid: 123,
- video: true,
- ext: {
- meta: {
- networkName: 'Criteo'
- }
- }
- }],
- },
- };
- const request = {
- bidRequests: [{
+ if (FEATURES.VIDEO) {
+ it('should properly parse a bid response when video win with twin ad units', function () {
+ const bidRequests = [{
adUnitCode: 'test-requestId',
bidId: 'test-bidId',
mediaTypes: {
video: {
context: 'instream',
mimes: ['video/mpeg'],
- playerSize: [728, 90],
+ playerSize: [640, 480],
protocols: [5, 6],
maxduration: 30,
api: [1, 2]
}
},
params: {
- networkId: 456,
+ zoneId: '123'
},
}, {
adUnitCode: 'test-requestId',
@@ -2308,63 +2280,27 @@ describe('The Criteo bidding adapter', function () {
params: {
networkId: 456,
}
- }]
- };
- const bids = spec.interpretResponse(response, request);
- expect(bids).to.have.lengthOf(1);
- expect(bids[0].requestId).to.equal('test-bidId');
- expect(bids[0].cpm).to.equal(1.23);
- expect(bids[0].vastUrl).to.equal('http://test-ad');
- expect(bids[0].mediaType).to.equal(VIDEO);
- });
+ }];
+ const response = mockResponse('test-bidId', VIDEO);
+ const request = spec.buildRequests(bidRequests, syncAddFPDToBidderRequest(bidderRequest));
+ const bids = spec.interpretResponse({ body: response }, request);
+ expect(bids).to.have.lengthOf(1);
+ expect(bids[0].mediaType).to.equal(VIDEO);
+ expect(bids[0].requestId).to.equal('test-bidId');
+ expect(bids[0].seatBidId).to.equal('test-bidderId')
+ expect(bids[0].cpm).to.equal(1.23);
+ expect(bids[0].currency).to.equal('CUR');
+ expect(bids[0].vastUrl).to.equal('http://test-ad');
+ expect(bids[0].vastXml).to.equal('test-ad');
+ expect(bids[0].playerWidth).to.equal(640);
+ expect(bids[0].playerHeight).to.equal(480);
+ expect(bids[0].renderer).to.equal(undefined);
+ });
+ }
- it('should properly parse a bid response with a networkId with twin ad unit native win', function () {
- const response = {
- body: {
- slots: [{
- impid: 'test-requestId',
- cpm: 1.23,
- creative: 'test-ad',
- creativecode: 'test-crId',
- width: 728,
- height: 90,
- deal: 'myDealCode',
- adomain: ['criteo.com'],
- native: {
- 'products': [{
- 'sendTargetingKeys': false,
- 'title': 'Product title',
- 'description': 'Product desc',
- 'price': '100',
- 'click_url': 'https://product.click',
- 'image': {
- 'url': 'https://publisherdirect.criteo.com/publishertag/preprodtest/creative.png',
- 'height': 300,
- 'width': 300
- },
- 'call_to_action': 'Try it now!'
- }],
- 'advertiser': {
- 'description': 'sponsor',
- 'domain': 'criteo.com',
- 'logo': { 'url': 'https://www.criteo.com/images/criteo-logo.svg', 'height': 300, 'width': 300 }
- },
- 'privacy': {
- 'optout_click_url': 'https://info.criteo.com/privacy/informations',
- 'optout_image_url': 'https://static.criteo.net/flash/icon/nai_small.png',
- },
- 'impression_pixels': [{ 'url': 'https://my-impression-pixel/test/impression' }, { 'url': 'https://cas.com/lg.com' }]
- },
- ext: {
- meta: {
- networkName: 'Criteo'
- }
- }
- }],
- },
- };
- const request = {
- bidRequests: [{
+ if (FEATURES.NATIVE) {
+ it('should properly parse a bid response when native win with twin ad units', function () {
+ const bidRequests = [{
adUnitCode: 'test-requestId',
bidId: 'test-bidId',
mediaTypes: {
@@ -2377,299 +2313,145 @@ describe('The Criteo bidding adapter', function () {
adUnitCode: 'test-requestId',
bidId: 'test-bidId2',
mediaTypes: {
- banner: {
- sizes: [[728, 90]]
- }
- },
- params: {
- networkId: 456,
- }
- }]
- };
- const bids = spec.interpretResponse(response, request);
- expect(bids).to.have.lengthOf(1);
- expect(bids[0].requestId).to.equal('test-bidId');
- expect(bids[0].cpm).to.equal(1.23);
- expect(bids[0].mediaType).to.equal(NATIVE);
- });
-
- it('should properly parse a bid response with a zoneId', function () {
- const response = {
- body: {
- slots: [{
- impid: 'test-requestId',
- bidId: 'abc123',
- cpm: 1.23,
- creative: 'test-ad',
- width: 728,
- height: 90,
- zoneid: 123,
- }],
- },
- };
- const request = {
- bidRequests: [{
- adUnitCode: 'test-requestId',
- bidId: 'test-bidId',
- params: {
- zoneId: 123,
- },
- }]
- };
- const bids = spec.interpretResponse(response, request);
- expect(bids).to.have.lengthOf(1);
- expect(bids[0].requestId).to.equal('test-bidId');
- expect(bids[0].cpm).to.equal(1.23);
- expect(bids[0].ad).to.equal('test-ad');
- expect(bids[0].width).to.equal(728);
- expect(bids[0].height).to.equal(90);
- });
-
- it('should properly parse a bid response with a video', function () {
- const response = {
- body: {
- slots: [{
- impid: 'test-requestId',
- bidId: 'abc123',
- cpm: 1.23,
- displayurl: 'http://test-ad',
- width: 728,
- height: 90,
- zoneid: 123,
- video: true
- }],
- },
- };
- const request = {
- bidRequests: [{
- adUnitCode: 'test-requestId',
- bidId: 'test-bidId',
- params: {
- zoneId: 123,
- },
- }]
- };
- const bids = spec.interpretResponse(response, request);
- expect(bids).to.have.lengthOf(1);
- expect(bids[0].requestId).to.equal('test-bidId');
- expect(bids[0].cpm).to.equal(1.23);
- expect(bids[0].vastUrl).to.equal('http://test-ad');
- expect(bids[0].mediaType).to.equal(VIDEO);
- });
-
- it('should properly parse a bid response with a outstream video', function () {
- const response = {
- body: {
- slots: [{
- impid: 'test-requestId',
- bidId: 'abc123',
- cpm: 1.23,
- displayurl: 'http://test-ad',
- width: 728,
- height: 90,
- zoneid: 123,
- video: true,
- ext: {
- videoPlayerType: 'RadiantMediaPlayer',
- videoPlayerConfig: {
-
- }
- }
- }],
- },
- };
- const request = {
- bidRequests: [{
- adUnitCode: 'test-requestId',
- bidId: 'test-bidId',
- params: {
- zoneId: 123,
- },
- mediaTypes: {
- video: {
- context: 'outstream'
- }
- }
- }]
- };
- const bids = spec.interpretResponse(response, request);
- expect(bids).to.have.lengthOf(1);
- expect(bids[0].requestId).to.equal('test-bidId');
- expect(bids[0].cpm).to.equal(1.23);
- expect(bids[0].vastUrl).to.equal('http://test-ad');
- expect(bids[0].renderer.url).to.equal('https://static.criteo.net/js/ld/publishertag.renderer.js');
- expect(typeof bids[0].renderer.config.documentResolver).to.equal('function');
- expect(typeof bids[0].renderer._render).to.equal('function');
- });
-
- it('should properly parse a bid response with native', function () {
- const response = {
- body: {
- slots: [{
- impid: 'test-requestId',
- bidId: 'abc123',
- cpm: 1.23,
- width: 728,
- height: 90,
- zoneid: 123,
- native: {
- 'products': [{
- 'sendTargetingKeys': false,
- 'title': 'Product title',
- 'description': 'Product desc',
- 'price': '100',
- 'click_url': 'https://product.click',
- 'image': {
- 'url': 'https://publisherdirect.criteo.com/publishertag/preprodtest/creative.png',
- 'height': 300,
- 'width': 300
- },
- 'call_to_action': 'Try it now!'
- }],
- 'advertiser': {
- 'description': 'sponsor',
- 'domain': 'criteo.com',
- 'logo': { 'url': 'https://www.criteo.com/images/criteo-logo.svg', 'height': 300, 'width': 300 }
- },
- 'privacy': {
- 'optout_click_url': 'https://info.criteo.com/privacy/informations',
- 'optout_image_url': 'https://static.criteo.net/flash/icon/nai_small.png',
- },
- 'impression_pixels': [{ 'url': 'https://my-impression-pixel/test/impression' }, { 'url': 'https://cas.com/lg.com' }]
- }
- }],
- },
- };
- const request = {
- bidRequests: [{
- adUnitCode: 'test-requestId',
- bidId: 'test-bidId',
- params: {
- zoneId: 123,
- },
- native: true,
- }]
- };
- const bids = spec.interpretResponse(response, request);
- expect(bids).to.have.lengthOf(1);
- expect(bids[0].requestId).to.equal('test-bidId');
- expect(bids[0].cpm).to.equal(1.23);
- expect(bids[0].mediaType).to.equal(NATIVE);
- });
-
- it('should warn only once if sendTargetingKeys set to true on required fields for native bidRequest', () => {
- const bidderRequest = {};
- const bidRequests = [
- {
- bidder: 'criteo',
- adUnitCode: 'bid-123',
- transactionId: 'transaction-123',
- sizes: [[728, 90]],
- params: {
- zoneId: 123,
- publisherSubId: '123',
- nativeCallback: function () { }
- },
- },
- {
- bidder: 'criteo',
- adUnitCode: 'bid-456',
- transactionId: 'transaction-456',
- sizes: [[728, 90]],
- params: {
- zoneId: 456,
- publisherSubId: '456',
- nativeCallback: function () { }
+ banner: {
+ sizes: [[728, 90]]
+ }
},
- },
- ];
+ params: {
+ networkId: 456,
+ }
+ }];
+ const response = mockResponse('test-bidId', NATIVE);
+ const request = spec.buildRequests(bidRequests, syncAddFPDToBidderRequest(bidderRequest));
+ const bids = spec.interpretResponse({ body: response }, request);
+ expect(bids).to.have.lengthOf(1);
+ expect(bids[0].mediaType).to.equal(NATIVE);
+ expect(bids[0].requestId).to.equal('test-bidId');
+ expect(bids[0].seatBidId).to.equal('test-bidderId')
+ expect(bids[0].cpm).to.equal(1.23);
+ expect(bids[0].currency).to.equal('CUR');
+ expect(bids[0].width).to.equal(728);
+ expect(bids[0].height).to.equal(90);
+ expect(bids[0].ad).to.equal(undefined);
+ expect(bids[0].native.ortb).not.to.be.null;
+ expect(bids[0].native.ortb).to.equal(response.seatbid[0].bid[0].adm); // adm_native field was moved to adm
+ expect(bids[0].creativeId).to.equal('test-crId');
+ expect(bids[0].dealId).to.equal('deal-code');
+ expect(bids[0].meta.advertiserDomains[0]).to.equal('criteo.com');
+ expect(bids[0].meta.networkName).to.equal('Criteo');
+ expect(bids[0].meta.dsa.adrender).to.equal(1);
+ });
+ }
- const nativeParamsWithSendTargetingKeys = [
- {
- nativeParams: {
- image: {
- sendTargetingKeys: true
+ if (FEATURES.NATIVE) {
+ it('should warn only once if sendTargetingKeys set to true on required fields for native bidRequest', () => {
+ const bidRequests = [
+ {
+ bidder: 'criteo',
+ adUnitCode: 'bid-123',
+ mediaTypes: {
+ native: {}
},
- }
- },
- {
- nativeParams: {
- icon: {
- sendTargetingKeys: true
+ nativeOrtbRequest: {
+ assets: [{
+ required: 1,
+ id: 1,
+ img: {
+ type: 3,
+ wmin: 100,
+ hmin: 100,
+ }
+ }]
},
- }
- },
- {
- nativeParams: {
- clickUrl: {
- sendTargetingKeys: true
+ transactionId: 'transaction-123',
+ sizes: [[728, 90]],
+ params: {
+ zoneId: 123,
+ publisherSubId: '123'
},
- }
- },
- {
- nativeParams: {
- displayUrl: {
- sendTargetingKeys: true
+ },
+ {
+ bidder: 'criteo',
+ adUnitCode: 'bid-456',
+ mediaTypes: {
+ native: {}
},
- }
- },
- {
- nativeParams: {
- privacyLink: {
- sendTargetingKeys: true
+ nativeOrtbRequest: {
+ assets: [{
+ required: 1,
+ id: 1,
+ img: {
+ type: 3,
+ wmin: 100,
+ hmin: 100,
+ }
+ }]
},
- }
- },
- {
- nativeParams: {
- privacyIcon: {
- sendTargetingKeys: true
+ transactionId: 'transaction-456',
+ sizes: [[728, 90]],
+ params: {
+ zoneId: 456,
+ publisherSubId: '456'
},
+ },
+ ];
+
+ const nativeParamsWithSendTargetingKeys = [
+ {
+ nativeParams: {
+ image: {
+ sendTargetingKeys: true
+ },
+ }
+ },
+ {
+ nativeParams: {
+ icon: {
+ sendTargetingKeys: true
+ },
+ }
+ },
+ {
+ nativeParams: {
+ clickUrl: {
+ sendTargetingKeys: true
+ },
+ }
+ },
+ {
+ nativeParams: {
+ displayUrl: {
+ sendTargetingKeys: true
+ },
+ }
+ },
+ {
+ nativeParams: {
+ privacyLink: {
+ sendTargetingKeys: true
+ },
+ }
+ },
+ {
+ nativeParams: {
+ privacyIcon: {
+ sendTargetingKeys: true
+ },
+ }
}
- }
- ];
+ ];
- utilsMock.expects('logWarn')
- .withArgs('Criteo: all native assets containing URL should be sent as placeholders with sendId(icon, image, clickUrl, displayUrl, privacyLink, privacyIcon)')
- .exactly(nativeParamsWithSendTargetingKeys.length * bidRequests.length);
- nativeParamsWithSendTargetingKeys.forEach(nativeParams => {
- let transformedBidRequests = { ...bidRequests };
- transformedBidRequests = [Object.assign(transformedBidRequests[0], nativeParams), Object.assign(transformedBidRequests[1], nativeParams)];
- spec.buildRequests(transformedBidRequests, bidderRequest);
+ utilsMock.expects('logWarn')
+ .withArgs('Criteo: all native assets containing URL should be sent as placeholders with sendId(icon, image, clickUrl, displayUrl, privacyLink, privacyIcon)')
+ .exactly(nativeParamsWithSendTargetingKeys.length * bidRequests.length);
+ nativeParamsWithSendTargetingKeys.forEach(nativeParams => {
+ let transformedBidRequests = { ...bidRequests };
+ transformedBidRequests = [Object.assign(transformedBidRequests[0], nativeParams), Object.assign(transformedBidRequests[1], nativeParams)];
+ spec.buildRequests(transformedBidRequests, syncAddFPDToBidderRequest(bidderRequest));
+ });
+ utilsMock.verify();
});
- utilsMock.verify();
- });
-
- it('should properly parse a bid response with a zoneId passed as a string', function () {
- const response = {
- body: {
- slots: [{
- impid: 'test-requestId',
- cpm: 1.23,
- creative: 'test-ad',
- width: 728,
- height: 90,
- zoneid: 123,
- }],
- },
- };
- const request = {
- bidRequests: [{
- adUnitCode: 'test-requestId',
- bidId: 'test-bidId',
- params: {
- zoneId: '123',
- },
- }]
- };
- const bids = spec.interpretResponse(response, request);
- expect(bids).to.have.lengthOf(1);
- expect(bids[0].requestId).to.equal('test-bidId');
- expect(bids[0].cpm).to.equal(1.23);
- expect(bids[0].ad).to.equal('test-ad');
- expect(bids[0].width).to.equal(728);
- expect(bids[0].height).to.equal(90);
- });
+ }
it('should properly parse a bid response with FLEDGE auction configs', function () {
let auctionConfig1 = {
@@ -2750,34 +2532,6 @@ describe('The Criteo bidding adapter', function () {
},
sellerCurrency: '???'
};
- const response = {
- body: {
- ext: {
- igi: [{
- impid: 'test-bidId',
- igs: [{
- impid: 'test-bidId',
- bidId: 'test-bidId',
- config: auctionConfig1
- }]
- }, {
- impid: 'test-bidId-2',
- igs: [{
- impid: 'test-bidId-2',
- bidId: 'test-bidId-2',
- config: auctionConfig2
- }]
- }]
- },
- },
- };
- const bidderRequest = {
- ortb2: {
- source: {
- tid: 'abc'
- }
- }
- };
const bidRequests = [
{
bidId: 'test-bidId',
@@ -2810,18 +2564,37 @@ describe('The Criteo bidding adapter', function () {
}
},
];
- const request = spec.buildRequests(bidRequests, bidderRequest);
- const interpretedResponse = spec.interpretResponse(response, request);
+ const response = {
+ ext: {
+ igi: [{
+ impid: 'test-bidId',
+ igs: [{
+ impid: 'test-bidId',
+ bidId: 'test-bidId',
+ config: auctionConfig1
+ }]
+ }, {
+ impid: 'test-bidId-2',
+ igs: [{
+ impid: 'test-bidId-2',
+ bidId: 'test-bidId-2',
+ config: auctionConfig2
+ }]
+ }]
+ },
+ };
+ const request = spec.buildRequests(bidRequests, syncAddFPDToBidderRequest(bidderRequest));
+ const interpretedResponse = spec.interpretResponse({ body: response }, request);
expect(interpretedResponse).to.have.property('bids');
- expect(interpretedResponse).to.have.property('fledgeAuctionConfigs');
+ expect(interpretedResponse).to.have.property('paapi');
expect(interpretedResponse.bids).to.have.lengthOf(0);
- expect(interpretedResponse.fledgeAuctionConfigs).to.have.lengthOf(2);
- expect(interpretedResponse.fledgeAuctionConfigs[0]).to.deep.equal({
+ expect(interpretedResponse.paapi).to.have.lengthOf(2);
+ expect(interpretedResponse.paapi[0]).to.deep.equal({
bidId: 'test-bidId',
impid: 'test-bidId',
config: auctionConfig1,
});
- expect(interpretedResponse.fledgeAuctionConfigs[1]).to.deep.equal({
+ expect(interpretedResponse.paapi[1]).to.deep.equal({
bidId: 'test-bidId-2',
impid: 'test-bidId-2',
config: auctionConfig2,
@@ -2847,148 +2620,65 @@ describe('The Criteo bidding adapter', function () {
hasBidResponseLevelPafData: false,
hasBidResponseBidLevelPafData: false,
shouldContainsBidMetaPafData: false
- }].forEach(testCase => {
- const bidPafContentId = 'abcdef';
- const pafTransmission = {
- version: '12'
- };
- const response = {
- slots: [
- {
- width: 300,
- height: 250,
- cpm: 10,
- impid: 'adUnitId',
- ext: (testCase.hasBidResponseBidLevelPafData ? {
- paf: {
- content_id: bidPafContentId
- }
- } : undefined)
- }
- ],
- ext: (testCase.hasBidResponseLevelPafData ? {
- paf: {
- transmission: pafTransmission
- }
- } : undefined)
- };
-
- const request = {
- bidRequests: [{
+ }].forEach(testCase =>
+ it('should properly forward or not meta paf data', () => {
+ const bidPafContentId = 'abcdef';
+ const pafTransmission = {
+ version: '12'
+ };
+ const bidRequests = [{
+ bidId: 'test-bidId',
adUnitCode: 'adUnitId',
sizes: [[300, 250]],
params: {
networkId: 456,
}
- }]
- };
-
- const bids = spec.interpretResponse(response, request);
-
- expect(bids).to.have.lengthOf(1);
+ }];
+ const response = {
+ id: 'test-requestId',
+ seatbid: [{
+ seat: 'criteo',
+ bid: [
+ {
+ id: 'test-bidderId',
+ impid: 'test-bidId',
+ w: 728,
+ h: 90,
+ ext: {
+ mediatype: BANNER,
+ paf: testCase.hasBidResponseBidLevelPafData ? {
+ content_id: bidPafContentId
+ } : undefined
+ }
+ }
+ ]
+ }],
+ ext: (testCase.hasBidResponseLevelPafData ? {
+ paf: {
+ transmission: pafTransmission
+ }
+ } : undefined)
+ };
- const theoreticalBidMetaPafData = {
- paf: {
- content_id: bidPafContentId,
- transmission: pafTransmission
- }
- };
+ const request = spec.buildRequests(bidRequests, syncAddFPDToBidderRequest(bidderRequest));
+ const bids = spec.interpretResponse({ body: response }, request);
- if (testCase.shouldContainsBidMetaPafData) {
- expect(bids[0].meta).to.deep.equal(theoreticalBidMetaPafData);
- } else {
- expect(bids[0].meta).not.to.deep.equal(theoreticalBidMetaPafData);
- }
- });
- });
+ expect(bids).to.have.lengthOf(1);
- describe('canFastBid', function () {
- it('should properly detect if can do fastbid', function () {
- const testCasesAndExpectedResult = [['none', false], ['', true], [undefined, true], [123, true]];
- testCasesAndExpectedResult.forEach(testCase => {
- const result = canFastBid(testCase[0]);
- expect(result).to.equal(testCase[1]);
- })
- });
- });
+ const expectedBidMetaPafData = {
+ paf: {
+ content_id: bidPafContentId,
+ transmission: pafTransmission
+ }
+ };
- describe('getFastBidUrl', function () {
- it('should properly detect the version of fastbid', function () {
- const testCasesAndExpectedResult = [
- ['', 'https://static.criteo.net/js/ld/publishertag.prebid.' + FAST_BID_VERSION_CURRENT + '.js'],
- [undefined, 'https://static.criteo.net/js/ld/publishertag.prebid.' + FAST_BID_VERSION_CURRENT + '.js'],
- [null, 'https://static.criteo.net/js/ld/publishertag.prebid.' + FAST_BID_VERSION_CURRENT + '.js'],
- [NaN, 'https://static.criteo.net/js/ld/publishertag.prebid.' + FAST_BID_VERSION_CURRENT + '.js'],
- [123, 'https://static.criteo.net/js/ld/publishertag.prebid.123.js'],
- ['123', 'https://static.criteo.net/js/ld/publishertag.prebid.123.js'],
- ['latest', 'https://static.criteo.net/js/ld/publishertag.prebid.js']
- ];
- testCasesAndExpectedResult.forEach(testCase => {
- const result = getFastBidUrl(testCase[0]);
- expect(result).to.equal(testCase[1]);
+ if (testCase.shouldContainsBidMetaPafData) {
+ expect(bids[0].meta).to.deep.equal(expectedBidMetaPafData);
+ } else {
+ expect(bids[0].meta).not.to.deep.equal(expectedBidMetaPafData);
+ }
})
- });
- });
-
- describe('tryGetCriteoFastBid', function () {
- const VALID_HASH = 'vBeD8Q7GU6lypFbzB07W8hLGj7NL+p7dI9ro2tCxkrmyv0F6stNuoNd75Us33iNKfEoW+cFWypelr6OJPXxki2MXWatRhJuUJZMcK4VBFnxi3Ro+3a0xEfxE4jJm4eGe98iC898M+/YFHfp+fEPEnS6pEyw124ONIFZFrcejpHU=';
- const INVALID_HASH = 'invalid';
- const VALID_PUBLISHER_TAG = 'test';
- const INVALID_PUBLISHER_TAG = 'test invalid';
-
- const FASTBID_LOCAL_STORAGE_KEY = 'criteo_fast_bid';
-
- it('should verify valid hash with valid publisher tag', function () {
- localStorage.setItem(FASTBID_LOCAL_STORAGE_KEY, '// Hash: ' + VALID_HASH + '\n' + VALID_PUBLISHER_TAG);
-
- utilsMock.expects('logInfo').withExactArgs('Using Criteo FastBid').once();
- utilsMock.expects('logWarn').withExactArgs('No hash found in FastBid').never();
- utilsMock.expects('logWarn').withExactArgs('Invalid Criteo FastBid found').never();
-
- tryGetCriteoFastBid();
-
- expect(localStorage.getItem(FASTBID_LOCAL_STORAGE_KEY)).to.equals('// Hash: ' + VALID_HASH + '\n' + VALID_PUBLISHER_TAG);
- utilsMock.verify();
- });
-
- it('should verify valid hash with invalid publisher tag', function () {
- localStorage.setItem(FASTBID_LOCAL_STORAGE_KEY, '// Hash: ' + VALID_HASH + '\n' + INVALID_PUBLISHER_TAG);
-
- utilsMock.expects('logInfo').withExactArgs('Using Criteo FastBid').never();
- utilsMock.expects('logWarn').withExactArgs('No hash found in FastBid').never();
- utilsMock.expects('logWarn').withExactArgs('Invalid Criteo FastBid found').once();
-
- tryGetCriteoFastBid();
-
- expect(localStorage.getItem(FASTBID_LOCAL_STORAGE_KEY)).to.be.null;
- utilsMock.verify();
- });
-
- it('should verify invalid hash with valid publisher tag', function () {
- localStorage.setItem(FASTBID_LOCAL_STORAGE_KEY, '// Hash: ' + INVALID_HASH + '\n' + VALID_PUBLISHER_TAG);
-
- utilsMock.expects('logInfo').withExactArgs('Using Criteo FastBid').never();
- utilsMock.expects('logWarn').withExactArgs('No hash found in FastBid').never();
- utilsMock.expects('logWarn').withExactArgs('Invalid Criteo FastBid found').once();
-
- tryGetCriteoFastBid();
-
- expect(localStorage.getItem(FASTBID_LOCAL_STORAGE_KEY)).to.be.null;
- utilsMock.verify();
- });
-
- it('should verify missing hash', function () {
- localStorage.setItem(FASTBID_LOCAL_STORAGE_KEY, VALID_PUBLISHER_TAG);
-
- utilsMock.expects('logInfo').withExactArgs('Using Criteo FastBid').never();
- utilsMock.expects('logWarn').withExactArgs('No hash found in FastBid').once();
- utilsMock.expects('logWarn').withExactArgs('Invalid Criteo FastBid found').never();
-
- tryGetCriteoFastBid();
-
- expect(localStorage.getItem(FASTBID_LOCAL_STORAGE_KEY)).to.be.null;
- utilsMock.verify();
- });
+ )
});
describe('when pubtag prebid adapter is not available', function () {
@@ -2998,12 +2688,24 @@ describe('The Criteo bidding adapter', function () {
{
bidder: 'criteo',
adUnitCode: 'bid-123',
- transactionId: 'transaction-123',
sizes: [[728, 90]],
+ mediaTypes: {
+ native: {}
+ },
+ nativeOrtbRequest: {
+ assets: [{
+ required: 1,
+ id: 1,
+ img: {
+ type: 3,
+ wmin: 100,
+ hmin: 100,
+ }
+ }]
+ },
params: {
zoneId: 123,
- publisherSubId: '123',
- nativeCallback: function () { }
+ publisherSubId: '123'
},
nativeParams: {
image: {
@@ -3029,7 +2731,7 @@ describe('The Criteo bidding adapter', function () {
];
utilsMock.expects('logWarn').withArgs('Criteo: all native assets containing URL should be sent as placeholders with sendId(icon, image, clickUrl, displayUrl, privacyLink, privacyIcon)').never();
- const request = spec.buildRequests(bidRequestsWithSendId, bidderRequest);
+ const request = spec.buildRequests(bidRequestsWithSendId, syncAddFPDToBidderRequest(bidderRequest));
utilsMock.verify();
});
@@ -3039,23 +2741,46 @@ describe('The Criteo bidding adapter', function () {
{
bidder: 'criteo',
adUnitCode: 'bid-123',
- transactionId: 'transaction-123',
- sizes: [[728, 90]],
+ mediaTypes: {
+ native: {}
+ },
+ nativeOrtbRequest: {
+ assets: [{
+ required: 1,
+ id: 1,
+ img: {
+ type: 3,
+ wmin: 100,
+ hmin: 100,
+ }
+ }]
+ },
params: {
zoneId: 123,
- publisherSubId: '123',
- nativeCallback: function () { }
+ publisherSubId: '123'
},
},
{
bidder: 'criteo',
adUnitCode: 'bid-456',
transactionId: 'transaction-456',
- sizes: [[728, 90]],
+ mediaTypes: {
+ native: {}
+ },
+ nativeOrtbRequest: {
+ assets: [{
+ required: 1,
+ id: 1,
+ img: {
+ type: 3,
+ wmin: 100,
+ hmin: 100,
+ }
+ }]
+ },
params: {
zoneId: 456,
- publisherSubId: '456',
- nativeCallback: function () { }
+ publisherSubId: '456'
},
},
];
@@ -3111,132 +2836,9 @@ describe('The Criteo bidding adapter', function () {
nativeParamsWithoutSendId.forEach(nativeParams => {
let transformedBidRequests = { ...bidRequests };
transformedBidRequests = [Object.assign(transformedBidRequests[0], nativeParams), Object.assign(transformedBidRequests[1], nativeParams)];
- spec.buildRequests(transformedBidRequests, bidderRequest);
+ spec.buildRequests(transformedBidRequests, syncAddFPDToBidderRequest(bidderRequest));
});
utilsMock.verify();
});
});
-
- describe('when pubtag prebid adapter is available', function () {
- it('should forward response to pubtag when calling interpretResponse', () => {
- const response = {};
- const request = {};
-
- const adapter = { interpretResponse: function () { } };
- const adapterMock = sinon.mock(adapter);
- adapterMock.expects('interpretResponse').withExactArgs(response, request).once().returns('ok');
- const prebidAdapter = { GetAdapter: function () { } };
- const prebidAdapterMock = sinon.mock(prebidAdapter);
- prebidAdapterMock.expects('GetAdapter').withExactArgs(request).once().returns(adapter);
-
- global.Criteo = {
- PubTag: {
- Adapters: {
- Prebid: prebidAdapter
- }
- }
- };
-
- expect(spec.interpretResponse(response, request)).equal('ok');
- adapterMock.verify();
- prebidAdapterMock.verify();
- });
-
- it('should forward bid to pubtag when calling onBidWon', () => {
- const bid = { auctionId: 123 };
-
- const adapter = { handleBidWon: function () { } };
- const adapterMock = sinon.mock(adapter);
- adapterMock.expects('handleBidWon').withExactArgs(bid).once();
- const prebidAdapter = { GetAdapter: function () { } };
- const prebidAdapterMock = sinon.mock(prebidAdapter);
- prebidAdapterMock.expects('GetAdapter').withExactArgs(bid.auctionId).once().returns(adapter);
-
- global.Criteo = {
- PubTag: {
- Adapters: {
- Prebid: prebidAdapter
- }
- }
- };
-
- spec.onBidWon(bid);
- adapterMock.verify();
- prebidAdapterMock.verify();
- });
-
- it('should forward bid to pubtag when calling onSetTargeting', () => {
- const bid = { auctionId: 123 };
-
- const adapter = { handleSetTargeting: function () { } };
- const adapterMock = sinon.mock(adapter);
- adapterMock.expects('handleSetTargeting').withExactArgs(bid).once();
- const prebidAdapter = { GetAdapter: function () { } };
- const prebidAdapterMock = sinon.mock(prebidAdapter);
- prebidAdapterMock.expects('GetAdapter').withExactArgs(bid.auctionId).once().returns(adapter);
-
- global.Criteo = {
- PubTag: {
- Adapters: {
- Prebid: prebidAdapter
- }
- }
- };
-
- spec.onSetTargeting(bid);
- adapterMock.verify();
- prebidAdapterMock.verify();
- });
-
- it('should forward bid to pubtag when calling onTimeout', () => {
- const timeoutData = [{ auctionId: 123 }];
-
- const adapter = { handleBidTimeout: function () { } };
- const adapterMock = sinon.mock(adapter);
- adapterMock.expects('handleBidTimeout').once();
- const prebidAdapter = { GetAdapter: function () { } };
- const prebidAdapterMock = sinon.mock(prebidAdapter);
- prebidAdapterMock.expects('GetAdapter').withExactArgs(timeoutData[0].auctionId).once().returns(adapter);
-
- global.Criteo = {
- PubTag: {
- Adapters: {
- Prebid: prebidAdapter
- }
- }
- };
-
- spec.onTimeout(timeoutData);
- adapterMock.verify();
- prebidAdapterMock.verify();
- });
-
- it('should return a POST method with url & data from pubtag', () => {
- const bidRequests = {};
- const bidderRequest = {};
-
- const prebidAdapter = { buildCdbUrl: function () { }, buildCdbRequest: function () { } };
- const prebidAdapterMock = sinon.mock(prebidAdapter);
- prebidAdapterMock.expects('buildCdbUrl').once().returns('cdbUrl');
- prebidAdapterMock.expects('buildCdbRequest').once().returns('cdbRequest');
-
- const adapters = { Prebid: function () { } };
- const adaptersMock = sinon.mock(adapters);
- adaptersMock.expects('Prebid').withExactArgs(PROFILE_ID_PUBLISHERTAG, ADAPTER_VERSION, bidRequests, bidderRequest, '$prebid.version$', sinon.match.any).once().returns(prebidAdapter);
-
- global.Criteo = {
- PubTag: {
- Adapters: adapters
- }
- };
-
- const buildRequestsResult = spec.buildRequests(bidRequests, bidderRequest);
- expect(buildRequestsResult.method).equal('POST');
- expect(buildRequestsResult.url).equal('cdbUrl');
- expect(buildRequestsResult.data).equal('cdbRequest');
-
- adaptersMock.verify();
- prebidAdapterMock.verify();
- });
- });
});
diff --git a/test/spec/modules/dailyhuntBidAdapter_spec.js b/test/spec/modules/dailyhuntBidAdapter_spec.js
index f347d6cec5b..ab75264d951 100644
--- a/test/spec/modules/dailyhuntBidAdapter_spec.js
+++ b/test/spec/modules/dailyhuntBidAdapter_spec.js
@@ -27,10 +27,10 @@ describe('DailyhuntAdapter', function () {
});
it('should return false when required params are not passed', function () {
- let bid = Object.assign({}, bid);
- delete bid.params;
- bid.params = {};
- expect(spec.isBidRequestValid(bid)).to.equal(false);
+ let invalidBid = Object.assign({}, bid);
+ delete invalidBid.params;
+ invalidBid.params = {};
+ expect(spec.isBidRequestValid(invalidBid)).to.equal(false);
});
});
describe('buildRequests', function() {
diff --git a/test/spec/modules/datawrkzBidAdapter_spec.js b/test/spec/modules/datawrkzBidAdapter_spec.js
index 5524e318600..e78d2f68d91 100644
--- a/test/spec/modules/datawrkzBidAdapter_spec.js
+++ b/test/spec/modules/datawrkzBidAdapter_spec.js
@@ -36,26 +36,26 @@ describe('datawrkzAdapterTests', function () {
});
it('should return false when params not found', function () {
- let bid = Object.assign({}, bid);
- delete bid.params;
- expect(spec.isBidRequestValid(bid)).to.equal(false);
+ let invalidBid = Object.assign({}, bid);
+ delete invalidBid.params;
+ expect(spec.isBidRequestValid(invalidBid)).to.equal(false);
});
it('should return false when required site_id param not found', function () {
- let bid = Object.assign({}, bid);
- bid.params = {'bidfloor': '1.0'}
- expect(spec.isBidRequestValid(bid)).to.equal(false);
+ let invalidBid = Object.assign({}, bid);
+ invalidBid.params = {'bidfloor': '1.0'}
+ expect(spec.isBidRequestValid(invalidBid)).to.equal(false);
});
it('should return false when adunit is adpod video', function () {
- let bid = Object.assign({}, bid);
- bid.params = {'bidfloor': '1.0', 'site_id': SITE_ID};
- bid.mediaTypes = {
+ let invalidBid = Object.assign({}, bid);
+ invalidBid.params = {'bidfloor': '1.0', 'site_id': SITE_ID};
+ invalidBid.mediaTypes = {
'video': {
'context': 'adpod'
}
}
- expect(spec.isBidRequestValid(bid)).to.equal(false);
+ expect(spec.isBidRequestValid(invalidBid)).to.equal(false);
});
});
diff --git a/test/spec/modules/dfpAdServerVideo_spec.js b/test/spec/modules/dfpAdServerVideo_spec.js
index 39713c2b51a..092cd1ff0f3 100644
--- a/test/spec/modules/dfpAdServerVideo_spec.js
+++ b/test/spec/modules/dfpAdServerVideo_spec.js
@@ -1,16 +1,15 @@
import {expect} from 'chai';
import parse from 'url-parse';
-import {buildAdpodVideoUrl, buildDfpVideoUrl, dep} from 'modules/dfpAdServerVideo.js';
+import {buildDfpVideoUrl, dep} from 'modules/dfpAdServerVideo.js';
import AD_UNIT from 'test/fixtures/video/adUnit.json';
import * as utils from 'src/utils.js';
import {deepClone} from 'src/utils.js';
import {config} from 'src/config.js';
import {targeting} from 'src/targeting.js';
import {auctionManager} from 'src/auctionManager.js';
-import {gdprDataHandler, uspDataHandler} from 'src/adapterManager.js';
-import * as adpod from 'modules/adpod.js';
-import {server} from 'test/mocks/xhr.js';
+import {gdprDataHandler} from 'src/adapterManager.js';
+
import * as adServer from 'src/adserver.js';
import {hook} from '../../../src/hook.js';
import {stubAuctionIndex} from '../../helpers/indexStub.js';
@@ -707,252 +706,4 @@ describe('The DFP video support module', function () {
expect(customParams).to.have.property('other_key', 'other_value');
expect(customParams).to.have.property('hb_rand', 'random');
});
-
- describe('adpod unit tests', function () {
- let amStub;
- let amGetAdUnitsStub;
-
- before(function () {
- let adUnits = [{
- code: 'adUnitCode-1',
- mediaTypes: {
- video: {
- context: 'adpod',
- playerSize: [640, 480],
- adPodDurationSec: 60,
- durationRangeSec: [15, 30],
- requireExactDuration: true
- }
- },
- bids: [
- {
- bidder: 'appnexus',
- params: {
- placementId: 14542875,
- }
- }
- ]
- }];
-
- amGetAdUnitsStub = sinon.stub(auctionManager, 'getAdUnits');
- amGetAdUnitsStub.returns(adUnits);
- amStub = sinon.stub(auctionManager, 'getBidsReceived');
- });
-
- beforeEach(function () {
- config.setConfig({
- adpod: {
- brandCategoryExclusion: true,
- deferCaching: false
- }
- });
- })
-
- afterEach(function() {
- config.resetConfig();
- });
-
- after(function () {
- amGetAdUnitsStub.restore();
- amStub.restore();
- });
-
- it('should return masterTag url', function() {
- amStub.returns(getBidsReceived());
- let uspDataHandlerStub = sinon.stub(uspDataHandler, 'getConsentData');
- uspDataHandlerStub.returns('1YYY');
- let gdprDataHandlerStub = sinon.stub(gdprDataHandler, 'getConsentData');
- gdprDataHandlerStub.returns({
- gdprApplies: true,
- consentString: 'consent',
- addtlConsent: 'moreConsent'
- });
- let url;
- parse(buildAdpodVideoUrl({
- code: 'adUnitCode-1',
- callback: handleResponse,
- params: {
- 'iu': 'my/adUnit',
- 'description_url': 'someUrl.com',
- }
- }));
-
- function handleResponse(err, masterTag) {
- if (err) {
- return;
- }
- url = parse(masterTag);
-
- expect(url.protocol).to.equal('https:');
- expect(url.host).to.equal('securepubads.g.doubleclick.net');
-
- const queryParams = utils.parseQS(url.query);
- expect(queryParams).to.have.property('correlator');
- expect(queryParams).to.have.property('description_url', 'someUrl.com');
- expect(queryParams).to.have.property('env', 'vp');
- expect(queryParams).to.have.property('gdfp_req', '1');
- expect(queryParams).to.have.property('iu', 'my/adUnit');
- expect(queryParams).to.have.property('output', 'vast');
- expect(queryParams).to.have.property('sz', '640x480');
- expect(queryParams).to.have.property('unviewed_position_start', '1');
- expect(queryParams).to.have.property('url');
- expect(queryParams).to.have.property('cust_params');
- expect(queryParams).to.have.property('gdpr', '1');
- expect(queryParams).to.have.property('gdpr_consent', 'consent');
- expect(queryParams).to.have.property('addtl_consent', 'moreConsent');
-
- const custParams = utils.parseQS(decodeURIComponent(queryParams.cust_params));
- expect(custParams).to.have.property('hb_cache_id', '123');
- expect(custParams).to.have.property('hb_pb_cat_dur', '15.00_395_15s,15.00_406_30s,10.00_395_15s');
- uspDataHandlerStub.restore();
- gdprDataHandlerStub.restore();
- }
- });
-
- it('should return masterTag url with correct custom params when brandCategoryExclusion is false', function() {
- config.setConfig({
- adpod: {
- brandCategoryExclusion: false,
- }
- });
- function getBids() {
- let bids = [
- createBid(10, 'adUnitCode-1', 15, '10.00_15s', '123', '395', '10.00'),
- createBid(15, 'adUnitCode-1', 15, '15.00_15s', '123', '395', '15.00'),
- createBid(25, 'adUnitCode-1', 30, '15.00_30s', '123', '406', '25.00'),
- ];
- bids.forEach((bid) => {
- delete bid.meta;
- });
- return bids;
- }
- amStub.returns(getBids());
- let url;
- parse(buildAdpodVideoUrl({
- code: 'adUnitCode-1',
- callback: handleResponse,
- params: {
- 'iu': 'my/adUnit',
- 'description_url': 'someUrl.com',
- }
- }));
-
- function handleResponse(err, masterTag) {
- if (err) {
- return;
- }
- url = parse(masterTag);
- expect(url.protocol).to.equal('https:');
- expect(url.host).to.equal('securepubads.g.doubleclick.net');
-
- const queryParams = utils.parseQS(url.query);
- expect(queryParams).to.have.property('correlator');
- expect(queryParams).to.have.property('description_url', 'someUrl.com');
- expect(queryParams).to.have.property('env', 'vp');
- expect(queryParams).to.have.property('gdfp_req', '1');
- expect(queryParams).to.have.property('iu', 'my/adUnit');
- expect(queryParams).to.have.property('output', 'xml_vast3');
- expect(queryParams).to.have.property('sz', '640x480');
- expect(queryParams).to.have.property('unviewed_position_start', '1');
- expect(queryParams).to.have.property('url');
- expect(queryParams).to.have.property('cust_params');
-
- const custParams = utils.parseQS(decodeURIComponent(queryParams.cust_params));
- expect(custParams).to.have.property('hb_cache_id', '123');
- expect(custParams).to.have.property('hb_pb_cat_dur', '10.00_15s,15.00_15s,15.00_30s');
- }
- });
-
- it('should handle error when cache fails', function() {
- config.setConfig({
- adpod: {
- brandCategoryExclusion: true,
- deferCaching: true
- }
- });
- amStub.returns(getBidsReceived());
-
- parse(buildAdpodVideoUrl({
- code: 'adUnitCode-1',
- callback: handleResponse,
- params: {
- 'iu': 'my/adUnit',
- 'description_url': 'someUrl.com',
- }
- }));
-
- server.requests[0].respond(503, {
- 'Content-Type': 'plain/text',
- }, 'The server could not save anything at the moment.');
-
- function handleResponse(err, masterTag) {
- expect(masterTag).to.be.null;
- expect(err).to.be.an('error');
- }
- });
- })
});
-
-function getBidsReceived() {
- return [
- createBid(10, 'adUnitCode-1', 15, '10.00_395_15s', '123', '395', '10.00'),
- createBid(15, 'adUnitCode-1', 15, '15.00_395_15s', '123', '395', '15.00'),
- createBid(25, 'adUnitCode-1', 30, '15.00_406_30s', '123', '406', '25.00'),
- ]
-}
-
-function createBid(cpm, adUnitCode, durationBucket, priceIndustryDuration, uuid, label, hbpb) {
- return {
- 'bidderCode': 'appnexus',
- 'width': 640,
- 'height': 360,
- 'statusMessage': 'Bid available',
- 'adId': '28f24ced14586c',
- 'mediaType': 'video',
- 'source': 'client',
- 'requestId': '28f24ced14586c',
- 'cpm': cpm,
- 'creativeId': 97517771,
- 'currency': 'USD',
- 'netRevenue': true,
- 'ttl': 3600,
- 'adUnitCode': adUnitCode,
- 'video': {
- 'context': 'adpod',
- 'durationBucket': durationBucket
- },
- 'appnexus': {
- 'buyerMemberId': 9325
- },
- 'vastUrl': 'http://some-vast-url.com',
- 'vastImpUrl': 'http://some-vast-imp-url.com',
- 'auctionId': 'ec266b31-d652-49c5-8295-e83fafe5532b',
- 'responseTimestamp': 1548442460888,
- 'requestTimestamp': 1548442460827,
- 'bidder': 'appnexus',
- 'timeToRespond': 61,
- 'pbLg': '5.00',
- 'pbMg': '5.00',
- 'pbHg': '5.00',
- 'pbAg': '5.00',
- 'pbDg': '5.00',
- 'pbCg': '',
- 'size': '640x360',
- 'adserverTargeting': {
- 'hb_bidder': 'appnexus',
- 'hb_adid': '28f24ced14586c',
- 'hb_pb': hbpb,
- 'hb_size': '640x360',
- 'hb_source': 'client',
- 'hb_format': 'video',
- 'hb_pb_cat_dur': priceIndustryDuration,
- 'hb_cache_id': uuid
- },
- 'customCacheKey': `${priceIndustryDuration}_${uuid}`,
- 'meta': {
- 'primaryCatId': 'iab-1',
- 'adServerCatId': label
- },
- 'videoCacheKey': '4cf395af-8fee-4960-af0e-88d44e399f14'
- }
-}
diff --git a/test/spec/modules/dfpAdpod_spec.js b/test/spec/modules/dfpAdpod_spec.js
new file mode 100644
index 00000000000..33d724dac26
--- /dev/null
+++ b/test/spec/modules/dfpAdpod_spec.js
@@ -0,0 +1,257 @@
+import {auctionManager} from '../../../src/auctionManager.js';
+import {config} from '../../../src/config.js';
+import {gdprDataHandler, uspDataHandler} from '../../../src/consentHandler.js';
+import parse from 'url-parse';
+import {buildAdpodVideoUrl} from '../../../modules/dfpAdpod.js';
+import {expect} from 'chai/index.js';
+import * as utils from '../../../src/utils.js';
+import {server} from '../../mocks/xhr.js';
+import * as adpod from 'modules/adpod.js';
+
+describe('dfpAdpod', function () {
+ let amStub;
+ let amGetAdUnitsStub;
+
+ before(function () {
+ let adUnits = [{
+ code: 'adUnitCode-1',
+ mediaTypes: {
+ video: {
+ context: 'adpod',
+ playerSize: [640, 480],
+ adPodDurationSec: 60,
+ durationRangeSec: [15, 30],
+ requireExactDuration: true
+ }
+ },
+ bids: [
+ {
+ bidder: 'appnexus',
+ params: {
+ placementId: 14542875,
+ }
+ }
+ ]
+ }];
+
+ amGetAdUnitsStub = sinon.stub(auctionManager, 'getAdUnits');
+ amGetAdUnitsStub.returns(adUnits);
+ amStub = sinon.stub(auctionManager, 'getBidsReceived');
+ });
+
+ beforeEach(function () {
+ config.setConfig({
+ adpod: {
+ brandCategoryExclusion: true,
+ deferCaching: false
+ }
+ });
+ })
+
+ afterEach(function() {
+ config.resetConfig();
+ });
+
+ after(function () {
+ amGetAdUnitsStub.restore();
+ amStub.restore();
+ });
+
+ function getBidsReceived() {
+ return [
+ createBid(10, 'adUnitCode-1', 15, '10.00_395_15s', '123', '395', '10.00'),
+ createBid(15, 'adUnitCode-1', 15, '15.00_395_15s', '123', '395', '15.00'),
+ createBid(25, 'adUnitCode-1', 30, '15.00_406_30s', '123', '406', '25.00'),
+ ]
+ }
+
+ function createBid(cpm, adUnitCode, durationBucket, priceIndustryDuration, uuid, label, hbpb) {
+ return {
+ 'bidderCode': 'appnexus',
+ 'width': 640,
+ 'height': 360,
+ 'statusMessage': 'Bid available',
+ 'adId': '28f24ced14586c',
+ 'mediaType': 'video',
+ 'source': 'client',
+ 'requestId': '28f24ced14586c',
+ 'cpm': cpm,
+ 'creativeId': 97517771,
+ 'currency': 'USD',
+ 'netRevenue': true,
+ 'ttl': 3600,
+ 'adUnitCode': adUnitCode,
+ 'video': {
+ 'context': 'adpod',
+ 'durationBucket': durationBucket
+ },
+ 'appnexus': {
+ 'buyerMemberId': 9325
+ },
+ 'vastUrl': 'http://some-vast-url.com',
+ 'vastImpUrl': 'http://some-vast-imp-url.com',
+ 'auctionId': 'ec266b31-d652-49c5-8295-e83fafe5532b',
+ 'responseTimestamp': 1548442460888,
+ 'requestTimestamp': 1548442460827,
+ 'bidder': 'appnexus',
+ 'timeToRespond': 61,
+ 'pbLg': '5.00',
+ 'pbMg': '5.00',
+ 'pbHg': '5.00',
+ 'pbAg': '5.00',
+ 'pbDg': '5.00',
+ 'pbCg': '',
+ 'size': '640x360',
+ 'adserverTargeting': {
+ 'hb_bidder': 'appnexus',
+ 'hb_adid': '28f24ced14586c',
+ 'hb_pb': hbpb,
+ 'hb_size': '640x360',
+ 'hb_source': 'client',
+ 'hb_format': 'video',
+ 'hb_pb_cat_dur': priceIndustryDuration,
+ 'hb_cache_id': uuid
+ },
+ 'customCacheKey': `${priceIndustryDuration}_${uuid}`,
+ 'meta': {
+ 'primaryCatId': 'iab-1',
+ 'adServerCatId': label
+ },
+ 'videoCacheKey': '4cf395af-8fee-4960-af0e-88d44e399f14'
+ }
+ }
+
+ it('should return masterTag url', function() {
+ amStub.returns(getBidsReceived());
+ let uspDataHandlerStub = sinon.stub(uspDataHandler, 'getConsentData');
+ uspDataHandlerStub.returns('1YYY');
+ let gdprDataHandlerStub = sinon.stub(gdprDataHandler, 'getConsentData');
+ gdprDataHandlerStub.returns({
+ gdprApplies: true,
+ consentString: 'consent',
+ addtlConsent: 'moreConsent'
+ });
+ let url;
+ parse(buildAdpodVideoUrl({
+ code: 'adUnitCode-1',
+ callback: handleResponse,
+ params: {
+ 'iu': 'my/adUnit',
+ 'description_url': 'someUrl.com',
+ }
+ }));
+
+ function handleResponse(err, masterTag) {
+ if (err) {
+ return;
+ }
+ url = parse(masterTag);
+
+ expect(url.protocol).to.equal('https:');
+ expect(url.host).to.equal('securepubads.g.doubleclick.net');
+
+ const queryParams = utils.parseQS(url.query);
+ expect(queryParams).to.have.property('correlator');
+ expect(queryParams).to.have.property('description_url', 'someUrl.com');
+ expect(queryParams).to.have.property('env', 'vp');
+ expect(queryParams).to.have.property('gdfp_req', '1');
+ expect(queryParams).to.have.property('iu', 'my/adUnit');
+ expect(queryParams).to.have.property('output', 'vast');
+ expect(queryParams).to.have.property('sz', '640x480');
+ expect(queryParams).to.have.property('unviewed_position_start', '1');
+ expect(queryParams).to.have.property('url');
+ expect(queryParams).to.have.property('cust_params');
+ expect(queryParams).to.have.property('gdpr', '1');
+ expect(queryParams).to.have.property('gdpr_consent', 'consent');
+ expect(queryParams).to.have.property('addtl_consent', 'moreConsent');
+
+ const custParams = utils.parseQS(decodeURIComponent(queryParams.cust_params));
+ expect(custParams).to.have.property('hb_cache_id', '123');
+ expect(custParams).to.have.property('hb_pb_cat_dur', '15.00_395_15s,15.00_406_30s,10.00_395_15s');
+ uspDataHandlerStub.restore();
+ gdprDataHandlerStub.restore();
+ }
+ });
+
+ it('should return masterTag url with correct custom params when brandCategoryExclusion is false', function() {
+ config.setConfig({
+ adpod: {
+ brandCategoryExclusion: false,
+ }
+ });
+ function getBids() {
+ let bids = [
+ createBid(10, 'adUnitCode-1', 15, '10.00_15s', '123', '395', '10.00'),
+ createBid(15, 'adUnitCode-1', 15, '15.00_15s', '123', '395', '15.00'),
+ createBid(25, 'adUnitCode-1', 30, '15.00_30s', '123', '406', '25.00'),
+ ];
+ bids.forEach((bid) => {
+ delete bid.meta;
+ });
+ return bids;
+ }
+ amStub.returns(getBids());
+ let url;
+ parse(buildAdpodVideoUrl({
+ code: 'adUnitCode-1',
+ callback: handleResponse,
+ params: {
+ 'iu': 'my/adUnit',
+ 'description_url': 'someUrl.com',
+ }
+ }));
+
+ function handleResponse(err, masterTag) {
+ if (err) {
+ return;
+ }
+ url = parse(masterTag);
+ expect(url.protocol).to.equal('https:');
+ expect(url.host).to.equal('securepubads.g.doubleclick.net');
+
+ const queryParams = utils.parseQS(url.query);
+ expect(queryParams).to.have.property('correlator');
+ expect(queryParams).to.have.property('description_url', 'someUrl.com');
+ expect(queryParams).to.have.property('env', 'vp');
+ expect(queryParams).to.have.property('gdfp_req', '1');
+ expect(queryParams).to.have.property('iu', 'my/adUnit');
+ expect(queryParams).to.have.property('output', 'xml_vast3');
+ expect(queryParams).to.have.property('sz', '640x480');
+ expect(queryParams).to.have.property('unviewed_position_start', '1');
+ expect(queryParams).to.have.property('url');
+ expect(queryParams).to.have.property('cust_params');
+
+ const custParams = utils.parseQS(decodeURIComponent(queryParams.cust_params));
+ expect(custParams).to.have.property('hb_cache_id', '123');
+ expect(custParams).to.have.property('hb_pb_cat_dur', '10.00_15s,15.00_15s,15.00_30s');
+ }
+ });
+
+ it('should handle error when cache fails', function() {
+ config.setConfig({
+ adpod: {
+ brandCategoryExclusion: true,
+ deferCaching: true
+ }
+ });
+ amStub.returns(getBidsReceived());
+
+ parse(buildAdpodVideoUrl({
+ code: 'adUnitCode-1',
+ callback: handleResponse,
+ params: {
+ 'iu': 'my/adUnit',
+ 'description_url': 'someUrl.com',
+ }
+ }));
+
+ server.requests[0].respond(503, {
+ 'Content-Type': 'plain/text',
+ }, 'The server could not save anything at the moment.');
+
+ function handleResponse(err, masterTag) {
+ expect(masterTag).to.be.null;
+ expect(err).to.be.an('error');
+ }
+ });
+})
diff --git a/test/spec/modules/dspxBidAdapter_spec.js b/test/spec/modules/dspxBidAdapter_spec.js
index 841fc087613..2d9e05cca25 100644
--- a/test/spec/modules/dspxBidAdapter_spec.js
+++ b/test/spec/modules/dspxBidAdapter_spec.js
@@ -33,12 +33,12 @@ describe('dspxAdapter', function () {
});
it('should return false when required params are not passed', function () {
- let bid = Object.assign({}, bid);
- delete bid.params;
- bid.params = {
+ let invalidBid = Object.assign({}, bid);
+ delete invalidBid.params;
+ invalidBid.params = {
'someIncorrectParam': 0
};
- expect(spec.isBidRequestValid(bid)).to.equal(false);
+ expect(spec.isBidRequestValid(invalidBid)).to.equal(false);
});
});
diff --git a/test/spec/modules/ebdrBidAdapter_spec.js b/test/spec/modules/ebdrBidAdapter_spec.js
deleted file mode 100644
index 1c46381500f..00000000000
--- a/test/spec/modules/ebdrBidAdapter_spec.js
+++ /dev/null
@@ -1,245 +0,0 @@
-import { expect } from 'chai';
-import { spec } from 'modules/ebdrBidAdapter.js';
-import { VIDEO, BANNER } from 'src/mediaTypes.js';
-import * as utils from 'src/utils.js';
-
-describe('ebdrBidAdapter', function () {
- let bidRequests;
-
- beforeEach(function () {
- bidRequests = [
- {
- code: 'div-gpt-ad-1460505748561-0',
- mediaTypes: {
- banner: {
- sizes: [[300, 250], [300, 600]],
- }
- },
- bidder: 'ebdr',
- params: {
- zoneid: '99999',
- bidfloor: '1.00',
- IDFA: 'xxx-xxx',
- ADID: 'xxx-xxx',
- latitude: '34.089811',
- longitude: '-118.392805'
- },
- bidId: '2c5e8a1a84522d',
- bidderRequestId: '1d0c4017f02458',
- auctionId: '9adc85ed-43ee-4a78-816b-52b7e578f314'
- }, {
- adUnitCode: 'div-gpt-ad-1460505748561-1',
- mediaTypes: {
- video: {
- context: 'instream',
- playerSize: [300, 250]
- }
- },
- bidder: 'ebdr',
- params: {
- zoneid: '99998',
- bidfloor: '1.00',
- IDFA: 'xxx-xxx',
- ADID: 'xxx-xxx',
- latitude: '34.089811',
- longitude: '-118.392805'
- },
- bidId: '23a01e95856577',
- bidderRequestId: '1d0c4017f02458',
- auctionId: '9adc85ed-43ee-4a78-816b-52b7e578f314'
- }
- ];
- });
-
- describe('spec.isBidRequestValid', function () {
- it('should return true when the required params are passed', function () {
- const bidRequest = bidRequests[0];
- expect(spec.isBidRequestValid(bidRequest)).to.equal(true);
- });
-
- it('should return true when the only required param is missing', function () {
- const bidRequest = bidRequests[0];
- bidRequest.params = {
- zoneid: '99998',
- bidfloor: '1.00',
- };
- expect(spec.isBidRequestValid(bidRequest)).to.equal(true);
- });
-
- it('should return true when the "bidfloor" param is missing', function () {
- const bidRequest = bidRequests[0];
- bidRequest.params = {
- zoneid: '99998',
- };
- expect(spec.isBidRequestValid(bidRequest)).to.equal(true);
- });
-
- it('should return false when no bid params are passed', function () {
- const bidRequest = bidRequests[0];
- bidRequest.params = {};
- expect(spec.isBidRequestValid(bidRequest)).to.equal(false);
- });
-
- it('should return false when a bid request is not passed', function () {
- expect(spec.isBidRequestValid()).to.equal(false);
- expect(spec.isBidRequestValid({})).to.equal(false);
- });
- });
-
- describe('spec.buildRequests', function () {
- describe('for banner bids', function () {
- it('must handle an empty bid size', function () {
- bidRequests[0].mediaTypes = { banner: {} };
- const requests = spec.buildRequests(bidRequests);
- const bidRequest = {};
- bidRequest['2c5e8a1a84522d'] = { mediaTypes: BANNER, w: null, h: null };
- expect(requests.bids['2c5e8a1a84522d']).to.deep.equals(bidRequest['2c5e8a1a84522d']);
- });
- it('should create a single GET', function () {
- bidRequests[0].mediaTypes = { banner: {} };
- bidRequests[1].mediaTypes = { banner: {} };
- const requests = spec.buildRequests(bidRequests);
- expect(requests.method).to.equal('GET');
- });
- it('must parse bid size from a nested array', function () {
- const width = 640;
- const height = 480;
- const bidRequest = bidRequests[0];
- bidRequest.mediaTypes = { banner: {sizes: [[ width, height ]]} };
- const requests = spec.buildRequests([ bidRequest ]);
- const data = {};
- data['2c5e8a1a84522d'] = { mediaTypes: BANNER, w: width, h: height };
- expect(requests.bids['2c5e8a1a84522d']).to.deep.equal(data['2c5e8a1a84522d']);
- });
- });
- describe('for video bids', function () {
- it('must handle an empty bid size', function () {
- bidRequests[1].mediaTypes = { video: {} };
- const requests = spec.buildRequests(bidRequests);
- const bidRequest = {};
- bidRequest['23a01e95856577'] = { mediaTypes: VIDEO, w: null, h: null };
- expect(requests.bids['23a01e95856577']).to.deep.equals(bidRequest['23a01e95856577']);
- });
-
- it('should create a GET request for each bid', function () {
- const bidRequest = bidRequests[1];
- const requests = spec.buildRequests([ bidRequest ]);
- expect(requests.method).to.equal('GET');
- });
- });
- });
-
- describe('spec.interpretResponse', function () {
- describe('for video bids', function () {
- it('should return no bids if the response is not valid', function () {
- const bidRequest = bidRequests[0];
- bidRequest.mediaTypes = { video: {} };
- const bidResponse = spec.interpretResponse({ body: null }, { bidRequest });
- expect(bidResponse.length).to.equal(0);
- });
-
- it('should return a valid video bid response', function () {
- const ebdrReq = {bids: {}};
- bidRequests.forEach(bid => {
- let _mediaTypes = (bid.mediaTypes && bid.mediaTypes.video ? VIDEO : BANNER);
- ebdrReq.bids[bid.bidId] = {mediaTypes: _mediaTypes,
- w: _mediaTypes == BANNER ? bid.mediaTypes[_mediaTypes].sizes[0][0] : bid.mediaTypes[_mediaTypes].playerSize[0],
- h: _mediaTypes == BANNER ? bid.mediaTypes[_mediaTypes].sizes[0][1] : bid.mediaTypes[_mediaTypes].playerSize[1]
- };
- });
- const serverResponse = {id: '1d0c4017f02458', seatbid: [{bid: [{id: '23a01e95856577', impid: '23a01e95856577', price: 0.81, adid: 'abcde-12345', nurl: 'https://cdn0.bnmla.com/vtest.xml', adm: '\nStatic VASTStatic VAST Tag00:00:15https//www.engagebdr.com/c', adomain: ['advertiserdomain.com'], iurl: '', cid: 'campaign1', crid: 'abcde-12345', w: 300, h: 250}], seat: '19513bcfca8006'}], bidid: '19513bcfca8006', cur: 'USD'};
- const bidResponse = spec.interpretResponse({ body: serverResponse }, ebdrReq);
- expect(bidResponse[0]).to.deep.equal({
- requestId: bidRequests[1].bidId,
- vastXml: serverResponse.seatbid[0].bid[0].adm,
- mediaType: 'video',
- creativeId: serverResponse.seatbid[0].bid[0].crid,
- cpm: serverResponse.seatbid[0].bid[0].price,
- width: serverResponse.seatbid[0].bid[0].w,
- height: serverResponse.seatbid[0].bid[0].h,
- currency: 'USD',
- netRevenue: true,
- ttl: 3600,
- vastUrl: serverResponse.seatbid[0].bid[0].nurl,
- meta: {
- advertiserDomains: [
- 'advertiserdomain.com'
- ]
- }
- });
- });
- });
-
- describe('for banner bids', function () {
- it('should return no bids if the response is not valid', function () {
- const bidRequest = bidRequests[0];
- bidRequest.mediaTypes = { banner: {} };
- const bidResponse = spec.interpretResponse({ body: null }, { bidRequest });
- expect(bidResponse.length).to.equal(0);
- });
-
- it('should return no bids if the response is empty', function () {
- const bidRequest = bidRequests[0];
- bidRequest.mediaTypes = { banner: {} };
- const bidResponse = spec.interpretResponse({ body: [] }, { bidRequest });
- expect(bidResponse.length).to.equal(0);
- });
-
- it('should return valid banner bid responses', function () {
- const ebdrReq = {bids: {}};
- bidRequests.forEach(bid => {
- let _mediaTypes = (bid.mediaTypes && bid.mediaTypes.video ? VIDEO : BANNER);
- ebdrReq.bids[bid.bidId] = {mediaTypes: _mediaTypes,
- w: _mediaTypes == BANNER ? bid.mediaTypes[_mediaTypes].sizes[0][0] : bid.mediaTypes[_mediaTypes].playerSize[0],
- h: _mediaTypes == BANNER ? bid.mediaTypes[_mediaTypes].sizes[0][1] : bid.mediaTypes[_mediaTypes].playerSize[1]
- };
- });
- const serverResponse = {id: '1d0c4017f02458', seatbid: [{bid: [{id: '2c5e8a1a84522d', impid: '2c5e8a1a84522d', price: 0.81, adid: 'abcde-12345', nurl: '', adm: '', adomain: ['advertiserdomain.com'], iurl: '', cid: 'campaign1', crid: 'abcde-12345', w: 300, h: 250}], seat: '19513bcfca8006'}], bidid: '19513bcfca8006', cur: 'USD', w: 300, h: 250};
- const bidResponse = spec.interpretResponse({ body: serverResponse }, ebdrReq);
- expect(bidResponse[0]).to.deep.equal({
- requestId: bidRequests[ 0 ].bidId,
- ad: serverResponse.seatbid[0].bid[0].adm,
- mediaType: 'banner',
- creativeId: serverResponse.seatbid[0].bid[0].crid,
- cpm: serverResponse.seatbid[0].bid[0].price,
- width: serverResponse.seatbid[0].bid[0].w,
- height: serverResponse.seatbid[0].bid[0].h,
- currency: 'USD',
- netRevenue: true,
- ttl: 3600,
- meta: {
- advertiserDomains: [
- 'advertiserdomain.com'
- ]
- },
- });
- });
- });
- });
- describe('spec.getUserSyncs', function () {
- let syncOptions
- beforeEach(function () {
- syncOptions = {
- enabledBidders: ['ebdr'], // only these bidders are allowed to sync
- pixelEnabled: true
- }
- });
- it('sucess with usersync url', function () {
- const serverResponse = {id: '1d0c4017f02458', seatbid: [{bid: [{id: '2c5e8a1a84522d', impid: '2c5e8a1a84522d', price: 0.81, adid: 'abcde-12345', nurl: '', adm: '', adomain: ['advertiserdomain.com'], iurl: 'https://match.bnmla.com/usersync?sspid=59&redir=', cid: 'campaign1', crid: 'abcde-12345', w: 300, h: 250}], seat: '19513bcfca8006'}], bidid: '19513bcfca8006', cur: 'USD', w: 300, h: 250};
- const result = [];
- result.push({type: 'image', url: 'https://match.bnmla.com/usersync?sspid=59&redir='});
- expect(spec.getUserSyncs(syncOptions, { body: serverResponse })).to.deep.equal(result);
- });
-
- it('sucess without usersync url', function () {
- const serverResponse = {id: '1d0c4017f02458', seatbid: [{bid: [{id: '2c5e8a1a84522d', impid: '2c5e8a1a84522d', price: 0.81, adid: 'abcde-12345', nurl: '', adm: '', adomain: ['advertiserdomain.com'], iurl: '', cid: 'campaign1', crid: 'abcde-12345', w: 300, h: 250}], seat: '19513bcfca8006'}], bidid: '19513bcfca8006', cur: 'USD', w: 300, h: 250};
- const result = [];
- expect(spec.getUserSyncs(syncOptions, { body: serverResponse })).to.deep.equal(result);
- });
- it('empty response', function () {
- const serverResponse = {};
- const result = [];
- expect(spec.getUserSyncs(syncOptions, { body: serverResponse })).to.deep.equal(result);
- });
- });
-});
diff --git a/test/spec/modules/eplanningAnalyticsAdapter_spec.js b/test/spec/modules/eplanningAnalyticsAdapter_spec.js
deleted file mode 100644
index dddc248b409..00000000000
--- a/test/spec/modules/eplanningAnalyticsAdapter_spec.js
+++ /dev/null
@@ -1,164 +0,0 @@
-import eplAnalyticsAdapter from 'modules/eplanningAnalyticsAdapter.js';
-import {includes} from 'src/polyfill.js';
-import { expect } from 'chai';
-import { parseUrl } from 'src/utils.js';
-import { server } from 'test/mocks/xhr.js';
-import { EVENTS } from 'src/constants.js';
-
-let adapterManager = require('src/adapterManager').default;
-let events = require('src/events');
-
-describe('eplanning analytics adapter', function () {
- beforeEach(function () {
- sinon.stub(events, 'getEvents').returns([]);
- });
-
- afterEach(function () {
- events.getEvents.restore();
- eplAnalyticsAdapter.disableAnalytics();
- });
-
- describe('track', function () {
- it('builds and sends auction data', function () {
- sinon.spy(eplAnalyticsAdapter, 'track');
-
- let auctionTimestamp = 1496510254313;
- let pauctionId = '5018eb39-f900-4370-b71e-3bb5b48d324f';
- let initOptions = {
- host: 'https://ads.ar.e-planning.net/hba/1/',
- ci: '12345'
- };
- let pbidderCode = 'adapter';
-
- const bidRequest = {
- bidderCode: pbidderCode,
- auctionId: pauctionId,
- bidderRequestId: '1a6fc81528d0f6',
- bids: [{
- bidder: pbidderCode,
- placementCode: 'container-1',
- bidId: '208750227436c1',
- bidderRequestId: '1a6fc81528d0f6',
- auctionId: pauctionId,
- startTime: 1509369418389,
- sizes: [[300, 250]],
- }],
- auctionStart: 1509369418387,
- timeout: 3000,
- start: 1509369418389
- };
-
- const bidResponse = {
- bidderCode: pbidderCode,
- adId: '208750227436c1',
- cpm: 0.015,
- auctionId: pauctionId,
- responseTimestamp: 1509369418832,
- requestTimestamp: 1509369418389,
- bidder: pbidderCode,
- timeToRespond: 443,
- size: '300x250',
- width: 300,
- height: 250,
- };
-
- let bidTimeout = [
- {
- bidId: '208750227436c1',
- bidder: pbidderCode,
- auctionId: pauctionId
- }
- ];
-
- adapterManager.registerAnalyticsAdapter({
- code: 'eplanning',
- adapter: eplAnalyticsAdapter
- });
-
- adapterManager.enableAnalytics({
- provider: 'eplanning',
- options: initOptions
- });
-
- // Emit the events with the "real" arguments
-
- // Step 1: Send auction init event
- events.emit(EVENTS.AUCTION_INIT, {
- auctionId: pauctionId,
- timestamp: auctionTimestamp
- });
-
- // Step 2: Send bid requested event
- events.emit(EVENTS.BID_REQUESTED, bidRequest);
-
- // Step 3: Send bid response event
- events.emit(EVENTS.BID_RESPONSE, bidResponse);
-
- // Step 4: Send bid time out event
- events.emit(EVENTS.BID_TIMEOUT, bidTimeout);
-
- // Step 5: Send auction bid won event
- events.emit(EVENTS.BID_WON, {
- adId: 'adIdData',
- ad: 'adContent',
- auctionId: pauctionId,
- width: 300,
- height: 250
- });
-
- // Step 6: Send auction end event
- events.emit(EVENTS.AUCTION_END, { auctionId: pauctionId });
-
- // Step 7: Find the request data sent (filtering other hosts)
- let requests = server.requests.filter(req => {
- return req.url.indexOf(initOptions.host) > -1;
- });
- expect(requests.length).to.equal(1);
-
- expect(includes([initOptions.host + initOptions.ci], requests[0].url));
- expect(includes(['https://ads.ar.e-planning.net/hba/1/12345?d='], requests[0].url));
-
- let info = requests[0].url;
- let purl = parseUrl(info);
- let eplData = JSON.parse(decodeURIComponent(purl.search.d));
-
- // Step 8 check that 6 events were sent
- expect(eplData.length).to.equal(6);
-
- // Step 9 verify that we only receive the parameters we need
- let expectedEventValues = [
- // AUCTION INIT
- {
- ec: EVENTS.AUCTION_INIT,
- p: {auctionId: pauctionId, time: auctionTimestamp}},
- // BID REQ
- {
- ec: EVENTS.BID_REQUESTED,
- p: {auctionId: pauctionId, time: 1509369418389, bidder: pbidderCode, bids: [{time: 1509369418389, sizes: [[300, 250]], bidder: pbidderCode, placementCode: 'container-1', auctionId: pauctionId}]}},
- // BID RESP
- {
- ec: EVENTS.BID_RESPONSE,
- p: {auctionId: pauctionId, bidder: pbidderCode, cpm: 0.015, size: '300x250', time: 1509369418832}},
- // BID T.O.
- {
- ec: EVENTS.BID_TIMEOUT,
- p: [{auctionId: pauctionId, bidder: pbidderCode}]},
- // BID WON
- {
- ec: EVENTS.BID_WON,
- p: {auctionId: pauctionId, size: '300x250'}},
- // AUCTION END
- {
- ec: EVENTS.AUCTION_END,
- p: {auctionId: pauctionId}}
- ];
-
- for (let evid = 0; evid < eplData.length; evid++) {
- expect(eplData[evid]).to.deep.equal(expectedEventValues[evid]);
- }
-
- // Step 10 check that the host to send the ajax request is configurable via options
- expect(eplAnalyticsAdapter.context.host).to.equal(initOptions.host);
- });
- });
-});
diff --git a/test/spec/modules/euidIdSystem_spec.js b/test/spec/modules/euidIdSystem_spec.js
index f01f2a15f03..aff1e0535ae 100644
--- a/test/spec/modules/euidIdSystem_spec.js
+++ b/test/spec/modules/euidIdSystem_spec.js
@@ -1,12 +1,12 @@
import {attachIdSystem, coreStorage, init, setSubmoduleRegistry} from 'modules/userId/index.js';
import {config} from 'src/config.js';
import {euidIdSubmodule} from 'modules/euidIdSystem.js';
-import 'modules/consentManagement.js';
+import 'modules/consentManagementTcf.js';
import 'src/prebid.js';
import * as utils from 'src/utils.js';
import {apiHelpers, cookieHelpers, runAuction, setGdprApplies} from './uid2IdSystem_helpers.js';
import {hook} from 'src/hook.js';
-import {uninstall as uninstallGdprEnforcement} from 'modules/gdprEnforcement.js';
+import {uninstall as uninstallTcfControl} from 'modules/tcfControl.js';
import {server} from 'test/mocks/xhr';
import {createEidsArray} from '../../../modules/userId/eids.js';
@@ -50,7 +50,7 @@ describe('EUID module', function() {
const configureEuidCstgResponse = (httpStatus, response) => server.respondWith('POST', cstgApiUrl, (xhr) => xhr.respond(httpStatus, headers, response));
before(function() {
- uninstallGdprEnforcement();
+ uninstallTcfControl();
hook.ready();
suiteSandbox = sinon.sandbox.create();
if (typeof window.crypto.subtle === 'undefined') {
diff --git a/test/spec/modules/fledgeForGpt_spec.js b/test/spec/modules/fledgeForGpt_spec.js
deleted file mode 100644
index aa513f931db..00000000000
--- a/test/spec/modules/fledgeForGpt_spec.js
+++ /dev/null
@@ -1,206 +0,0 @@
-import {
- getPAAPISizeHook,
- onAuctionConfigFactory,
- setPAAPIConfigFactory,
- slotConfigurator
-} from 'modules/fledgeForGpt.js';
-import * as gptUtils from '../../../libraries/gptUtils/gptUtils.js';
-import 'modules/appnexusBidAdapter.js';
-import 'modules/rubiconBidAdapter.js';
-import {deepSetValue} from '../../../src/utils.js';
-import {config} from 'src/config.js';
-
-describe('fledgeForGpt module', () => {
- let sandbox, fledgeAuctionConfig;
-
- beforeEach(() => {
- sandbox = sinon.sandbox.create();
- fledgeAuctionConfig = {
- seller: 'bidder',
- mock: 'config'
- };
- });
- afterEach(() => {
- sandbox.restore();
- });
-
- describe('slotConfigurator', () => {
- let mockGptSlot, setGptConfig;
- beforeEach(() => {
- mockGptSlot = {
- setConfig: sinon.stub(),
- getAdUnitPath: () => 'mock/gpt/au'
- };
- sandbox.stub(gptUtils, 'getGptSlotForAdUnitCode').callsFake(() => mockGptSlot);
- setGptConfig = slotConfigurator();
- });
- it('should set GPT slot config', () => {
- setGptConfig('au', [fledgeAuctionConfig]);
- sinon.assert.calledWith(gptUtils.getGptSlotForAdUnitCode, 'au');
- sinon.assert.calledWith(mockGptSlot.setConfig, {
- componentAuction: [{
- configKey: 'bidder',
- auctionConfig: fledgeAuctionConfig,
- }]
- });
- });
-
- describe('when reset = true', () => {
- it('should reset GPT slot config', () => {
- setGptConfig('au', [fledgeAuctionConfig]);
- mockGptSlot.setConfig.resetHistory();
- gptUtils.getGptSlotForAdUnitCode.resetHistory();
- setGptConfig('au', [], true);
- sinon.assert.calledWith(gptUtils.getGptSlotForAdUnitCode, 'au');
- sinon.assert.calledWith(mockGptSlot.setConfig, {
- componentAuction: [{
- configKey: 'bidder',
- auctionConfig: null
- }]
- });
- });
-
- it('should reset only sellers with no fresh config', () => {
- setGptConfig('au', [{seller: 's1'}, {seller: 's2'}]);
- mockGptSlot.setConfig.resetHistory();
- setGptConfig('au', [{seller: 's1'}], true);
- sinon.assert.calledWith(mockGptSlot.setConfig, {
- componentAuction: [{
- configKey: 's1',
- auctionConfig: {seller: 's1'}
- }, {
- configKey: 's2',
- auctionConfig: null
- }]
- })
- });
-
- it('should not reset sellers that were already reset', () => {
- setGptConfig('au', [{seller: 's1'}]);
- setGptConfig('au', [], true);
- mockGptSlot.setConfig.resetHistory();
- setGptConfig('au', [], true);
- sinon.assert.notCalled(mockGptSlot.setConfig);
- })
-
- it('should keep track of configuration history by slot', () => {
- setGptConfig('au1', [{seller: 's1'}]);
- setGptConfig('au1', [{seller: 's2'}], false);
- setGptConfig('au2', [{seller: 's3'}]);
- mockGptSlot.setConfig.resetHistory();
- setGptConfig('au1', [], true);
- sinon.assert.calledWith(mockGptSlot.setConfig, {
- componentAuction: [{
- configKey: 's1',
- auctionConfig: null
- }, {
- configKey: 's2',
- auctionConfig: null
- }]
- });
- })
- });
- });
- describe('onAuctionConfig', () => {
- [
- 'fledgeForGpt',
- 'paapi.gpt'
- ].forEach(namespace => {
- describe(`using ${namespace} config`, () => {
- Object.entries({
- 'omitted': [undefined, true],
- 'enabled': [true, true],
- 'disabled': [false, false]
- }).forEach(([t, [autoconfig, shouldSetConfig]]) => {
- describe(`when autoconfig is ${t}`, () => {
- beforeEach(() => {
- const cfg = {};
- deepSetValue(cfg, `${namespace}.autoconfig`, autoconfig);
- config.setConfig(cfg);
- });
- afterEach(() => {
- config.resetConfig();
- });
-
- it(`should ${shouldSetConfig ? '' : 'NOT'} set GPT slot configuration`, () => {
- const auctionConfig = {componentAuctions: [{seller: 'mock1'}, {seller: 'mock2'}]};
- const setGptConfig = sinon.stub();
- const markAsUsed = sinon.stub();
- onAuctionConfigFactory(setGptConfig)('aid', {au1: auctionConfig, au2: null}, markAsUsed);
- if (shouldSetConfig) {
- sinon.assert.calledWith(setGptConfig, 'au1', auctionConfig.componentAuctions);
- sinon.assert.calledWith(setGptConfig, 'au2', []);
- sinon.assert.calledWith(markAsUsed, 'au1');
- } else {
- sinon.assert.notCalled(setGptConfig);
- sinon.assert.notCalled(markAsUsed);
- }
- });
- })
- })
- })
- })
- });
- describe('setPAAPIConfigForGpt', () => {
- let getPAAPIConfig, setGptConfig, setPAAPIConfigForGPT;
- beforeEach(() => {
- getPAAPIConfig = sinon.stub();
- setGptConfig = sinon.stub();
- setPAAPIConfigForGPT = setPAAPIConfigFactory(getPAAPIConfig, setGptConfig);
- });
-
- Object.entries({
- missing: null,
- empty: {}
- }).forEach(([t, configs]) => {
- it(`does not set GPT slot config when config is ${t}`, () => {
- getPAAPIConfig.returns(configs);
- setPAAPIConfigForGPT('mock-filters');
- sinon.assert.calledWith(getPAAPIConfig, 'mock-filters');
- sinon.assert.notCalled(setGptConfig);
- })
- });
-
- it('sets GPT slot config for each ad unit that has PAAPI config, and resets the rest', () => {
- const cfg = {
- au1: {
- componentAuctions: [{seller: 's1'}, {seller: 's2'}]
- },
- au2: {
- componentAuctions: [{seller: 's3'}]
- },
- au3: null
- }
- getPAAPIConfig.returns(cfg);
- setPAAPIConfigForGPT('mock-filters');
- sinon.assert.calledWith(getPAAPIConfig, 'mock-filters');
- Object.entries(cfg).forEach(([au, config]) => {
- sinon.assert.calledWith(setGptConfig, au, config?.componentAuctions ?? [], true);
- })
- });
- });
-
- describe('getPAAPISizeHook', () => {
- let next;
- beforeEach(() => {
- next = sinon.stub();
- next.bail = sinon.stub();
- });
-
- it('should pick largest supported size over larger unsupported size', () => {
- getPAAPISizeHook(next, [[999, 999], [300, 250], [300, 600], [1234, 4321]]);
- sinon.assert.calledWith(next.bail, [300, 600]);
- });
-
- Object.entries({
- 'present': [],
- 'supported': [[123, 4], [321, 5]],
- 'defined': undefined,
- }).forEach(([t, sizes]) => {
- it(`should defer to next when no size is ${t}`, () => {
- getPAAPISizeHook(next, sizes);
- sinon.assert.calledWith(next, sizes);
- })
- })
- })
-});
diff --git a/test/spec/modules/fluctBidAdapter_spec.js b/test/spec/modules/fluctBidAdapter_spec.js
index ff6f8562a4e..32ca99ecd76 100644
--- a/test/spec/modules/fluctBidAdapter_spec.js
+++ b/test/spec/modules/fluctBidAdapter_spec.js
@@ -26,30 +26,30 @@ describe('fluctAdapter', function () {
});
it('should return false when required params are not passed', function () {
- let bid = Object.assign({}, bid);
- delete bid.params;
- bid.params = {};
- expect(spec.isBidRequestValid(bid)).to.equal(false);
+ let invalidBid = Object.assign({}, bid);
+ delete invalidBid.params;
+ invalidBid.params = {};
+ expect(spec.isBidRequestValid(invalidBid)).to.equal(false);
});
it('should return true when dfpUnitCode is not passed', function () {
- let bid = Object.assign({}, bid);
- delete bid.params;
- bid.params = {
+ let invalidBid = Object.assign({}, bid);
+ delete invalidBid.params;
+ invalidBid.params = {
tagId: '10000:100000001',
groupId: '1000000002',
};
- expect(spec.isBidRequestValid(bid)).to.equal(true);
+ expect(spec.isBidRequestValid(invalidBid)).to.equal(true);
});
it('should return false when groupId is not passed', function () {
- let bid = Object.assign({}, bid);
- delete bid.params;
- bid.params = {
+ let invalidBid = Object.assign({}, bid);
+ delete invalidBid.params;
+ invalidBid.params = {
dfpUnitCode: '/1000/dfp_unit_code',
tagId: '10000:100000001',
};
- expect(spec.isBidRequestValid(bid)).to.equal(false);
+ expect(spec.isBidRequestValid(invalidBid)).to.equal(false);
});
});
diff --git a/test/spec/modules/freewheel-sspBidAdapter_spec.js b/test/spec/modules/freewheel-sspBidAdapter_spec.js
index 90ebe0b80ee..94b7f04b637 100644
--- a/test/spec/modules/freewheel-sspBidAdapter_spec.js
+++ b/test/spec/modules/freewheel-sspBidAdapter_spec.js
@@ -41,12 +41,12 @@ describe('freewheelSSP BidAdapter Test', () => {
});
it('should return false when required params are not passed', () => {
- let bid = Object.assign({}, bid);
- delete bid.params;
- bid.params = {
+ let invalidBid = Object.assign({}, bid);
+ delete invalidBid.params;
+ invalidBid.params = {
wrong: 'missing zone id'
};
- expect(spec.isBidRequestValid(bid)).to.equal(false);
+ expect(spec.isBidRequestValid(invalidBid)).to.equal(false);
});
});
@@ -73,12 +73,12 @@ describe('freewheelSSP BidAdapter Test', () => {
});
it('should return false when required params are not passed', () => {
- let bid = Object.assign({}, bid);
- delete bid.params;
- bid.params = {
+ let invalidBid = Object.assign({}, bid);
+ delete invalidBid.params;
+ invalidBid.params = {
wrong: 'missing zone id'
};
- expect(spec.isBidRequestValid(bid)).to.equal(false);
+ expect(spec.isBidRequestValid(invalidBid)).to.equal(false);
});
});
diff --git a/test/spec/modules/gammaBidAdapter_spec.js b/test/spec/modules/gammaBidAdapter_spec.js
index f3a28c08576..2c83c3912e3 100644
--- a/test/spec/modules/gammaBidAdapter_spec.js
+++ b/test/spec/modules/gammaBidAdapter_spec.js
@@ -28,9 +28,9 @@ describe('gammaBidAdapter', function() {
});
it('should return false when require params are not passed', () => {
- let bid = Object.assign({}, bid);
- bid.params = {};
- expect(spec.isBidRequestValid(bid)).to.equal(false);
+ let invalidBid = Object.assign({}, bid);
+ invalidBid.params = {};
+ expect(spec.isBidRequestValid(invalidBid)).to.equal(false);
});
it('should return false when params not passed correctly', () => {
diff --git a/test/spec/modules/gmosspBidAdapter_spec.js b/test/spec/modules/gmosspBidAdapter_spec.js
index 8c3aa6c94cb..77644b136db 100644
--- a/test/spec/modules/gmosspBidAdapter_spec.js
+++ b/test/spec/modules/gmosspBidAdapter_spec.js
@@ -27,10 +27,10 @@ describe('GmosspAdapter', function () {
});
it('should return false when required params are not passed', function () {
- let bid = Object.assign({}, bid);
- delete bid.params;
- bid.params = {};
- expect(spec.isBidRequestValid(bid)).to.equal(false);
+ let invalidBid = Object.assign({}, bid);
+ delete invalidBid.params;
+ invalidBid.params = {};
+ expect(spec.isBidRequestValid(invalidBid)).to.equal(false);
});
});
diff --git a/test/spec/modules/gnetBidAdapter_spec.js b/test/spec/modules/gnetBidAdapter_spec.js
index f1af3b71103..8e2cfadc96b 100644
--- a/test/spec/modules/gnetBidAdapter_spec.js
+++ b/test/spec/modules/gnetBidAdapter_spec.js
@@ -32,10 +32,10 @@ describe('gnetAdapter', function () {
});
it('should return false when required params are not passed', function () {
- let bid = Object.assign({}, bid);
- delete bid.params;
- bid.params = {};
- expect(spec.isBidRequestValid(bid)).to.equal(false);
+ let invalidBid = Object.assign({}, bid);
+ delete invalidBid.params;
+ invalidBid.params = {};
+ expect(spec.isBidRequestValid(invalidBid)).to.equal(false);
});
});
diff --git a/test/spec/modules/goldbachBidAdapter_spec.js b/test/spec/modules/goldbachBidAdapter_spec.js
index 93956d2caf9..6ea84ed6931 100644
--- a/test/spec/modules/goldbachBidAdapter_spec.js
+++ b/test/spec/modules/goldbachBidAdapter_spec.js
@@ -36,23 +36,23 @@ describe('GoldbachXandrAdapter', function () {
});
it('should return true when required params found', function () {
- let bid = Object.assign({}, bid);
- delete bid.params;
- bid.params = {
+ let invalidBid = Object.assign({}, bid);
+ delete invalidBid.params;
+ invalidBid.params = {
'member': '1234',
'invCode': 'ABCD'
};
- expect(spec.isBidRequestValid(bid)).to.equal(true);
+ expect(spec.isBidRequestValid(invalidBid)).to.equal(true);
});
it('should return false when required params are not passed', function () {
- let bid = Object.assign({}, bid);
- delete bid.params;
- bid.params = {
+ let invalidBid = Object.assign({}, bid);
+ delete invalidBid.params;
+ invalidBid.params = {
'placementId': 0
};
- expect(spec.isBidRequestValid(bid)).to.equal(false);
+ expect(spec.isBidRequestValid(invalidBid)).to.equal(false);
});
});
diff --git a/test/spec/modules/gptPreAuction_spec.js b/test/spec/modules/gptPreAuction_spec.js
index fa2236f77c6..5caa95404dc 100644
--- a/test/spec/modules/gptPreAuction_spec.js
+++ b/test/spec/modules/gptPreAuction_spec.js
@@ -188,7 +188,7 @@ describe('GPT pre-auction module', () => {
customGptSlotMatching: false,
customPbAdSlot: false,
customPreAuction: false,
- useDefaultPreAuction: false
+ useDefaultPreAuction: true
});
});
});
diff --git a/test/spec/modules/gridBidAdapter_spec.js b/test/spec/modules/gridBidAdapter_spec.js
index efd7b06685f..4e13b1957b5 100644
--- a/test/spec/modules/gridBidAdapter_spec.js
+++ b/test/spec/modules/gridBidAdapter_spec.js
@@ -30,12 +30,12 @@ describe('TheMediaGrid Adapter', function () {
});
it('should return false when required params are not passed', function () {
- let bid = Object.assign({}, bid);
- delete bid.params;
- bid.params = {
+ let invalidBid = Object.assign({}, bid);
+ delete invalidBid.params;
+ invalidBid.params = {
'uid': 0
};
- expect(spec.isBidRequestValid(bid)).to.equal(false);
+ expect(spec.isBidRequestValid(invalidBid)).to.equal(false);
});
});
diff --git a/test/spec/modules/gumgumBidAdapter_spec.js b/test/spec/modules/gumgumBidAdapter_spec.js
index 75d7ffd6bc7..3424d172775 100644
--- a/test/spec/modules/gumgumBidAdapter_spec.js
+++ b/test/spec/modules/gumgumBidAdapter_spec.js
@@ -44,9 +44,9 @@ describe('gumgumAdapter', function () {
});
it('should return true when required params found', function () {
- let bid = Object.assign({}, bid);
- delete bid.params;
- bid.params = {
+ let invalidBid = Object.assign({}, bid);
+ delete invalidBid.params;
+ invalidBid.params = {
'inSlot': '789'
};
@@ -54,33 +54,33 @@ describe('gumgumAdapter', function () {
});
it('should return true when inslot sends sizes and trackingid', function () {
- let bid = Object.assign({}, bid);
- delete bid.params;
- bid.params = {
+ let invalidBid = Object.assign({}, bid);
+ delete invalidBid.params;
+ invalidBid.params = {
'inSlot': '789',
'sizes': [[0, 1], [2, 3], [4, 5], [6, 7]]
};
- expect(spec.isBidRequestValid(bid)).to.equal(true);
+ expect(spec.isBidRequestValid(invalidBid)).to.equal(true);
});
it('should return false when no unit type is specified', function () {
- let bid = Object.assign({}, bid);
- delete bid.params;
- bid.params = {
+ let invalidBid = Object.assign({}, bid);
+ delete invalidBid.params;
+ invalidBid.params = {
'placementId': 0
};
- expect(spec.isBidRequestValid(bid)).to.equal(false);
+ expect(spec.isBidRequestValid(invalidBid)).to.equal(false);
});
it('should return false when bidfloor is not a number', function () {
- let bid = Object.assign({}, bid);
- delete bid.params;
- bid.params = {
+ let invalidBid = Object.assign({}, bid);
+ delete invalidBid.params;
+ invalidBid.params = {
'inSlot': '789',
'bidfloor': '0.50'
};
- expect(spec.isBidRequestValid(bid)).to.equal(false);
+ expect(spec.isBidRequestValid(invalidBid)).to.equal(false);
});
it('should return false if invalid request id is found', function () {
diff --git a/test/spec/modules/hadronRtdProvider_spec.js b/test/spec/modules/hadronRtdProvider_spec.js
index b9e07c97f84..140855194c5 100644
--- a/test/spec/modules/hadronRtdProvider_spec.js
+++ b/test/spec/modules/hadronRtdProvider_spec.js
@@ -1,7 +1,5 @@
-// TODO: this and hadronRtdProvider_spec are a copy-paste of each other
-
import {config} from 'src/config.js';
-import {HALOID_LOCAL_NAME, RTD_LOCAL_NAME, addRealTimeData, getRealTimeData, hadronSubmodule, storage} from 'modules/hadronRtdProvider.js';
+import {HADRONID_LOCAL_NAME, RTD_LOCAL_NAME, addRealTimeData, getRealTimeData, hadronSubmodule, storage} from 'modules/hadronRtdProvider.js';
import {server} from 'test/mocks/xhr.js';
const responseHeader = {'Content-Type': 'application/json'};
@@ -737,7 +735,7 @@ describe('hadronRtdProvider', function() {
}
};
- getDataFromLocalStorageStub.withArgs(HALOID_LOCAL_NAME).returns('testHadronId1');
+ getDataFromLocalStorageStub.withArgs(HADRONID_LOCAL_NAME).returns('testHadronId1');
getRealTimeData(bidConfig, () => {}, rtdConfig, {});
let request = server.requests[0];
diff --git a/test/spec/modules/id5AnalyticsAdapter_spec.js b/test/spec/modules/id5AnalyticsAdapter_spec.js
index c9d21daa4e0..7616052dbe7 100644
--- a/test/spec/modules/id5AnalyticsAdapter_spec.js
+++ b/test/spec/modules/id5AnalyticsAdapter_spec.js
@@ -102,7 +102,7 @@ describe('ID5 analytics adapter', () => {
server.respond();
// Why 3? 1: config, 2: tcfEnforcement, 3: auctionEnd
- // tcfEnforcement? yes, gdprEnforcement module emits in reaction to auctionEnd
+ // tcfEnforcement? yes, tcfControl module emits in reaction to auctionEnd
expect(server.requests).to.have.length(3);
const body1 = JSON.parse(server.requests[1].requestBody);
diff --git a/test/spec/modules/id5IdSystem_spec.js b/test/spec/modules/id5IdSystem_spec.js
index 707560f2f4e..7a2756dff9e 100644
--- a/test/spec/modules/id5IdSystem_spec.js
+++ b/test/spec/modules/id5IdSystem_spec.js
@@ -1007,6 +1007,7 @@ describe('ID5 ID System', function () {
id5System.storeNbInCache(ID5_TEST_PARTNER_ID, 1);
let id5Config = getFetchLocalStorageConfig();
id5Config.userSync.userIds[0].storage.refreshInSeconds = 2;
+ id5Config.userSync.auctionDelay = 0; // do not trigger callback before auction
init(config);
setSubmoduleRegistry([id5System.id5IdSubmodule]);
config.setConfig(id5Config);
diff --git a/test/spec/modules/idWardRtdProvider_spec.js b/test/spec/modules/idWardRtdProvider_spec.js
deleted file mode 100644
index d1601f058ff..00000000000
--- a/test/spec/modules/idWardRtdProvider_spec.js
+++ /dev/null
@@ -1,116 +0,0 @@
-import {config} from 'src/config.js';
-import {getRealTimeData, idWardRtdSubmodule, storage} from 'modules/idWardRtdProvider.js';
-
-describe('idWardRtdProvider', function() {
- let getDataFromLocalStorageStub;
-
- const testReqBidsConfigObj = {
- adUnits: [
- {
- bids: ['bid1', 'bid2']
- }
- ]
- };
-
- const onDone = function() { return true };
-
- const cmoduleConfig = {
- 'name': 'idWard',
- 'params': {
- 'cohortStorageKey': 'cohort_ids'
- }
- }
-
- beforeEach(function() {
- config.resetConfig();
- getDataFromLocalStorageStub = sinon.stub(storage, 'getDataFromLocalStorage')
- });
-
- afterEach(function () {
- getDataFromLocalStorageStub.restore();
- });
-
- describe('idWardRtdSubmodule', function() {
- it('successfully instantiates', function () {
- expect(idWardRtdSubmodule.init()).to.equal(true);
- });
- });
-
- describe('Get Real-Time Data', function() {
- it('gets rtd from local storage', function() {
- const rtdConfig = {
- params: {
- cohortStorageKey: 'cohort_ids',
- segtax: 503
- }
- };
-
- const bidConfig = {
- ortb2Fragments: {
- global: {}
- }
- };
-
- const rtdUserObj1 = {
- name: 'anonymised.io',
- ext: {
- segtax: 503
- },
- segment: [
- {
- id: 'TCZPQOWPEJG3MJOTUQUF793A'
- },
- {
- id: '93SUG3H540WBJMYNT03KX8N3'
- }
- ]
- };
-
- getDataFromLocalStorageStub.withArgs('cohort_ids')
- .returns(JSON.stringify(['TCZPQOWPEJG3MJOTUQUF793A', '93SUG3H540WBJMYNT03KX8N3']));
-
- getRealTimeData(bidConfig, () => {}, rtdConfig, {});
- expect(bidConfig.ortb2Fragments.global.user.data).to.deep.include.members([rtdUserObj1]);
- });
-
- it('do not set rtd if local storage empty', function() {
- const rtdConfig = {
- params: {
- cohortStorageKey: 'cohort_ids',
- segtax: 503
- }
- };
-
- const bidConfig = {};
-
- getDataFromLocalStorageStub.withArgs('cohort_ids')
- .returns(null);
-
- expect(config.getConfig().ortb2).to.be.undefined;
- getRealTimeData(bidConfig, () => {}, rtdConfig, {});
- expect(config.getConfig().ortb2).to.be.undefined;
- });
-
- it('do not set rtd if local storage has incorrect value', function() {
- const rtdConfig = {
- params: {
- cohortStorageKey: 'cohort_ids',
- segtax: 503
- }
- };
-
- const bidConfig = {};
-
- getDataFromLocalStorageStub.withArgs('cohort_ids')
- .returns('wrong cohort ids value');
-
- expect(config.getConfig().ortb2).to.be.undefined;
- getRealTimeData(bidConfig, () => {}, rtdConfig, {});
- expect(config.getConfig().ortb2).to.be.undefined;
- });
-
- it('should initialize and return with config', function () {
- expect(getRealTimeData(testReqBidsConfigObj, onDone, cmoduleConfig)).to.equal(undefined)
- });
- });
-});
diff --git a/test/spec/modules/illuminBidAdapter_spec.js b/test/spec/modules/illuminBidAdapter_spec.js
index 9b702c027f9..c689307416f 100644
--- a/test/spec/modules/illuminBidAdapter_spec.js
+++ b/test/spec/modules/illuminBidAdapter_spec.js
@@ -17,7 +17,7 @@ import {useFakeTimers} from 'sinon';
import {BANNER, VIDEO} from '../../../src/mediaTypes';
import {config} from '../../../src/config';
-export const TEST_ID_SYSTEMS = ['britepoolid', 'criteoId', 'id5id', 'idl_env', 'lipb', 'netId', 'parrableId', 'pubcid', 'tdid', 'pubProvidedId'];
+export const TEST_ID_SYSTEMS = ['criteoId', 'id5id', 'idl_env', 'lipb', 'netId', 'pubcid', 'tdid', 'pubProvidedId'];
const SUB_DOMAIN = 'exchange';
@@ -510,8 +510,6 @@ describe('IlluminBidAdapter', function () {
switch (idSystemProvider) {
case 'lipb':
return {lipbid: id};
- case 'parrableId':
- return {eid: id};
case 'id5id':
return {uid: id};
default:
diff --git a/test/spec/modules/improvedigitalBidAdapter_spec.js b/test/spec/modules/improvedigitalBidAdapter_spec.js
index 78e938dd074..215e0b8ac98 100644
--- a/test/spec/modules/improvedigitalBidAdapter_spec.js
+++ b/test/spec/modules/improvedigitalBidAdapter_spec.js
@@ -10,7 +10,7 @@ import 'modules/currency.js';
import 'modules/userId/index.js';
import 'modules/multibid/index.js';
import 'modules/priceFloors.js';
-import 'modules/consentManagement.js';
+import 'modules/consentManagementTcf.js';
import 'modules/consentManagementUsp.js';
import 'modules/schain.js';
import {decorateAdUnitsWithNativeParams} from '../../../src/native.js';
@@ -32,6 +32,7 @@ describe('Improve Digital Adapter Tests', function () {
const simpleBidRequest = {
bidder: 'improvedigital',
params: {
+ publisherId: 1234,
placementId: 1053688
},
adUnitCode: 'div-gpt-ad-1499748733608-0',
@@ -59,6 +60,7 @@ describe('Improve Digital Adapter Tests', function () {
const instreamBidRequest = {
bidder: 'improvedigital',
params: {
+ publisherId: 1234,
placementId: 123456
},
adUnitCode: 'video1',
@@ -107,17 +109,6 @@ describe('Improve Digital Adapter Tests', function () {
}
};
- const simpleSmartTagBidRequest = {
- mediaTypes: {},
- bidder: 'improvedigital',
- bidId: '1a2b3c',
- placementCode: 'placement1',
- params: {
- publisherId: 1032,
- placementKey: 'data_team_test_hb_smoke_test'
- }
- };
-
const bidderRequest = {
ortb2: {
source: {
@@ -174,6 +165,10 @@ describe('Improve Digital Adapter Tests', function () {
return bidRequests;
}
+ function formatPublisherUrl(baseUrl, publisherId) {
+ return `${baseUrl}/${publisherId}/${PB_ENDPOINT}`;
+ }
+
before(() => {
hook.ready();
});
@@ -188,12 +183,7 @@ describe('Improve Digital Adapter Tests', function () {
expect(spec.isBidRequestValid(bid)).to.equal(false);
});
- it('should return false when both placementId and placementKey + publisherId are missing', function () {
- const bid = { 'params': {} };
- expect(spec.isBidRequestValid(bid)).to.equal(false);
- });
-
- it('should return false when only one of placementKey and publisherId is present', function () {
+ it('should return false when only one of placementId or publisherId is present', function () {
let bid = {
params: {
publisherId: 1234
@@ -202,19 +192,15 @@ describe('Improve Digital Adapter Tests', function () {
expect(spec.isBidRequestValid(bid)).to.equal(false);
bid = {
params: {
- placementKey: 'xyz'
+ placementId: 1234
}
};
expect(spec.isBidRequestValid(bid)).to.equal(false);
});
- it('should return true when placementId is passed', function () {
+ it('should return true when both placementId and publisherId are passed', function () {
expect(spec.isBidRequestValid(simpleBidRequest)).to.equal(true);
});
-
- it('should return true when both placementKey and publisherId are passed', function () {
- expect(spec.isBidRequestValid(simpleSmartTagBidRequest)).to.equal(true);
- });
});
describe('buildRequests', function () {
@@ -228,12 +214,10 @@ describe('Improve Digital Adapter Tests', function () {
});
it('should make a well-formed request objects', function () {
- getConfigStub = sinon.stub(config, 'getConfig');
- getConfigStub.withArgs('improvedigital.usePrebidSizes').returns(true);
const request = spec.buildRequests([simpleBidRequest], syncAddFPDToBidderRequest(bidderRequest))[0];
expect(request).to.be.an('object');
expect(request.method).to.equal(METHOD);
- expect(request.url).to.equal(AD_SERVER_URL);
+ expect(request.url).to.equal(formatPublisherUrl(AD_SERVER_BASE_URL, 1234));
const payload = JSON.parse(request.data);
expect(payload).to.be.an('object');
@@ -264,12 +248,10 @@ describe('Improve Digital Adapter Tests', function () {
});
it('should make a well-formed request object for multi-format ad unit', function () {
- getConfigStub = sinon.stub(config, 'getConfig');
- getConfigStub.withArgs('improvedigital.usePrebidSizes').returns(true);
const request = spec.buildRequests(updateNativeParams([multiFormatBidRequest]), multiFormatBidderRequest)[0];
expect(request).to.be.an('object');
expect(request.method).to.equal(METHOD);
- expect(request.url).to.equal(AD_SERVER_URL);
+ expect(request.url).to.equal(formatPublisherUrl(AD_SERVER_BASE_URL, 1234));
const payload = JSON.parse(request.data);
expect(payload).to.be.an('object');
@@ -344,12 +326,6 @@ describe('Improve Digital Adapter Tests', function () {
});
}
- it('should set placementKey and publisherId for smart tags', function () {
- const payload = JSON.parse(spec.buildRequests([simpleSmartTagBidRequest], bidderRequest)[0].data);
- expect(payload.imp[0].ext.bidder.publisherId).to.equal(1032);
- expect(payload.imp[0].ext.bidder.placementKey).to.equal('data_team_test_hb_smoke_test');
- });
-
it('should add keyValues', function () {
const bidRequest = Object.assign({}, simpleBidRequest);
const keyValues = {
@@ -585,7 +561,7 @@ describe('Improve Digital Adapter Tests', function () {
it('should return 2 requests', function () {
const requests = spec.buildRequests([
simpleBidRequest,
- simpleSmartTagBidRequest
+ instreamBidRequest
], bidderRequest);
expect(requests).to.be.an('array');
expect(requests.length).to.equal(2);
@@ -597,7 +573,7 @@ describe('Improve Digital Adapter Tests', function () {
const requests = spec.buildRequests([ simpleBidRequest, instreamBidRequest ], bidderRequest);
expect(requests).to.be.an('array');
expect(requests.length).to.equal(1);
- expect(requests[0].url).to.equal(AD_SERVER_URL);
+ expect(requests[0].url).to.equal(formatPublisherUrl(AD_SERVER_BASE_URL, 1234));
const request = JSON.parse(requests[0].data);
expect(request.imp.length).to.equal(2);
expect(request.imp[0].banner).to.exist;
@@ -611,7 +587,7 @@ describe('Improve Digital Adapter Tests', function () {
expect(requests).to.be.an('array');
expect(requests.length).to.equal(2);
expect(requests[0].url).to.equal(EXTEND_URL);
- expect(requests[1].url).to.equal(AD_SERVER_URL);
+ expect(requests[1].url).to.equal(formatPublisherUrl(AD_SERVER_BASE_URL, 1234));
const adServerRequest = JSON.parse(requests[1].data);
expect(adServerRequest.imp.length).to.equal(2);
expect(adServerRequest.imp[0].banner).to.exist;
@@ -619,8 +595,6 @@ describe('Improve Digital Adapter Tests', function () {
});
it('should set Prebid sizes in bid request', function () {
- getConfigStub = sinon.stub(config, 'getConfig');
- getConfigStub.withArgs('improvedigital.usePrebidSizes').returns(true);
const request = spec.buildRequests([simpleBidRequest], bidderRequest)[0];
const payload = JSON.parse(request.data);
sinon.assert.match(payload.imp[0].banner, {
@@ -632,8 +606,6 @@ describe('Improve Digital Adapter Tests', function () {
});
it('should not add single size filter when using Prebid sizes', function () {
- getConfigStub = sinon.stub(config, 'getConfig');
- getConfigStub.withArgs('improvedigital.usePrebidSizes').returns(true);
const bidRequest = Object.assign({}, simpleBidRequest);
const size = {
w: 800,
@@ -659,32 +631,9 @@ describe('Improve Digital Adapter Tests', function () {
expect(payload.app.content).does.exist.and.equal('XYZ');
});
- it('should not set site when app is defined in CONFIG', function () {
- getConfigStub = sinon.stub(config, 'getConfig');
- getConfigStub.withArgs('app').returns({ content: 'XYZ' });
- let request = spec.buildRequests([simpleBidRequest], syncAddFPDToBidderRequest(bidderRequest))[0];
- let payload = JSON.parse(request.data);
- expect(payload.site).does.not.exist;
- expect(payload.app).does.exist;
- expect(payload.app.content).does.exist.and.equal('XYZ');
- });
-
it('should set correct site params', function () {
- getConfigStub = sinon.stub(config, 'getConfig');
- getConfigStub.withArgs('site').returns({
- content: 'XYZ',
- page: 'https://improveditigal.com/',
- domain: 'improveditigal.com'
- });
let request = spec.buildRequests([simpleBidRequest], syncAddFPDToBidderRequest(bidderRequestReferrer))[0];
let payload = JSON.parse(request.data);
- expect(payload.site.content).does.exist.and.equal('XYZ');
- expect(payload.site.page).does.exist.and.equal('https://improveditigal.com/');
- expect(payload.site.domain).does.exist.and.equal('improveditigal.com');
- getConfigStub.reset();
-
- request = spec.buildRequests([simpleBidRequest], syncAddFPDToBidderRequest(bidderRequestReferrer))[0];
- payload = JSON.parse(request.data);
expect(payload.site.content).does.not.exist;
expect(payload.site.page).does.exist.and.equal('https://blah.com/test.html');
expect(payload.site.domain).does.exist.and.equal('blah.com');
@@ -697,23 +646,13 @@ describe('Improve Digital Adapter Tests', function () {
expect(payload.site.domain).does.exist.and.equal('blah.com');
});
- it('should set site when app not available', function () {
- getConfigStub = sinon.stub(config, 'getConfig');
- getConfigStub.withArgs('app').returns(undefined);
- getConfigStub.withArgs('site').returns({});
- let request = spec.buildRequests([simpleBidRequest], syncAddFPDToBidderRequest(bidderRequest))[0];
- let payload = JSON.parse(request.data);
- expect(payload.site).does.exist;
- expect(payload.app).does.not.exist;
- });
-
it('should call basic ads endpoint when no consent for purpose 1', function () {
const consent = deepClone(gdprConsent);
deepSetValue(consent, 'vendorData.purpose.consents.1', false);
const bidderRequestWithConsent = deepClone(bidderRequest);
bidderRequestWithConsent.gdprConsent = consent;
const request = spec.buildRequests([simpleBidRequest], bidderRequestWithConsent)[0];
- expect(request.url).to.equal(BASIC_ADS_URL);
+ expect(request.url).to.equal(formatPublisherUrl(BASIC_ADS_BASE_URL, 1234));
});
it('should set extend params when extend mode enabled from global configuration', function () {
@@ -732,6 +671,7 @@ describe('Improve Digital Adapter Tests', function () {
expect(payload.imp[0].ext.bidder).to.not.exist;
expect(payload.imp[0].ext.prebid.bidder.improvedigital).to.deep.equal({
placementId: 1053688,
+ publisherId: 1234,
keyValues
});
expect(payload.imp[0].ext.prebid.storedrequest.id).to.equal('1053688');
@@ -757,18 +697,15 @@ describe('Improve Digital Adapter Tests', function () {
bidRequest.params.extend = false;
getConfigStub.withArgs('improvedigital.extend').returns(true);
request = spec.buildRequests([bidRequest], { bids: [bidRequest] })[0];
- expect(request.url).to.equal(AD_SERVER_URL);
+ expect(request.url).to.equal(formatPublisherUrl(AD_SERVER_BASE_URL, 1234));
const requests = spec.buildRequests([bidRequest, instreamBidRequest], { bids: [bidRequest, instreamBidRequest] });
expect(requests.length).to.equal(2);
- expect(requests[0].url).to.equal(AD_SERVER_URL);
+ expect(requests[0].url).to.equal(formatPublisherUrl(AD_SERVER_BASE_URL, 1234));
expect(requests[1].url).to.equal(EXTEND_URL);
});
it('should add publisherId to request URL when available in request params', function() {
- function formatPublisherUrl(baseUrl, publisherId) {
- return `${baseUrl}/${publisherId}/${PB_ENDPOINT}`;
- }
const bidRequest = deepClone(simpleBidRequest);
bidRequest.params.publisherId = 1000;
let request = spec.buildRequests([bidRequest], bidderRequest)[0];
@@ -817,10 +754,6 @@ describe('Improve Digital Adapter Tests', function () {
bidderRequestWithConsent.gdprConsent = consent;
request = spec.buildRequests([bidRequest], bidderRequestWithConsent)[0];
expect(request.url).to.equal(formatPublisherUrl(AD_SERVER_BASE_URL, 1000));
-
- delete bidRequest.params.publisherId;
- request = spec.buildRequests([bidRequest], bidderRequestWithConsent)[0];
- expect(request.url).to.equal(AD_SERVER_URL);
});
});
@@ -1047,7 +980,7 @@ describe('Improve Digital Adapter Tests', function () {
width: 728,
height: 90,
ttl: 300,
- ad: '\x3Cscript>window.__razr_config = {"prebid":{"bidRequest":{"bidder":"improvedigital","params":{"placementId":1053688,"keyValues":{"testKey":["testValue"]},"bidFloor":0.05,"bidFloorCur":"eUR","size":{"w":800,"h":600}},"adUnitCode":"div-gpt-ad-1499748733608-0","transactionId":"f183e871-fbed-45f0-a427-c8a63c4c01eb","bidId":"33e9500b21129f","bidderRequestId":"2772c1e566670b","auctionId":"192721e36a0239","mediaTypes":{"banner":{"sizes":[[300,250],[160,600]]}},"sizes":[[300,250],[160,600]]},"bid":{"mediaType":"banner","ad":"","requestId":"33e9500b21129f","seatBidId":"35adfe19-d6e9-46b9-9f7d-20da7026b965","cpm":1.9200543539802946,"currency":"EUR","width":728,"height":90,"creative_id":"510265","creativeId":"510265","ttl":300,"meta":{},"dealId":320896,"netRevenue":false}}};\x3C/script>',
+ ad: '\x3Cscript>window.__razr_config = {"prebid":{"bidRequest":{"bidder":"improvedigital","params":{"publisherId":1234,"placementId":1053688,"keyValues":{"testKey":["testValue"]},"bidFloor":0.05,"bidFloorCur":"eUR","size":{"w":800,"h":600}},"adUnitCode":"div-gpt-ad-1499748733608-0","transactionId":"f183e871-fbed-45f0-a427-c8a63c4c01eb","bidId":"33e9500b21129f","bidderRequestId":"2772c1e566670b","auctionId":"192721e36a0239","mediaTypes":{"banner":{"sizes":[[300,250],[160,600]]}},"sizes":[[300,250],[160,600]]},"bid":{"mediaType":"banner","ad":"","requestId":"33e9500b21129f","seatBidId":"35adfe19-d6e9-46b9-9f7d-20da7026b965","cpm":1.9200543539802946,"currency":"EUR","width":728,"height":90,"creative_id":"510265","creativeId":"510265","ttl":300,"meta":{},"dealId":320896,"netRevenue":false}}};\x3C/script>',
creativeId: '510265',
dealId: 320896,
netRevenue: false,
@@ -1057,7 +990,7 @@ describe('Improve Digital Adapter Tests', function () {
const multiFormatExpectedBid = [
Object.assign({}, expectedBid[0], {
- ad: '\x3Cscript>window.__razr_config = {"prebid":{"bidRequest":{"bidder":"improvedigital","params":{"placementId":1053688},"adUnitCode":"div-gpt-ad-1499748733608-0","transactionId":"f183e871-fbed-45f0-a427-c8a63c4c01eb","bidId":"33e9500b21129f","bidderRequestId":"2772c1e566670b","auctionId":"192721e36a0239","mediaTypes":{"banner":{"sizes":[[300,250],[160,600]]},"native":{},"video":{"context":"outstream","playerSize":[640,480]}},"sizes":[[300,250],[160,600]],"nativeParams":{"body":{"required":true}}},"bid":{"mediaType":"banner","ad":"","requestId":"33e9500b21129f","seatBidId":"35adfe19-d6e9-46b9-9f7d-20da7026b965","cpm":1.9200543539802946,"currency":"EUR","width":728,"height":90,"creative_id":"510265","creativeId":"510265","ttl":300,"meta":{},"dealId":320896,"netRevenue":false}}};\x3C/script>',
+ ad: '\x3Cscript>window.__razr_config = {"prebid":{"bidRequest":{"bidder":"improvedigital","params":{"publisherId":1234,"placementId":1053688},"adUnitCode":"div-gpt-ad-1499748733608-0","transactionId":"f183e871-fbed-45f0-a427-c8a63c4c01eb","bidId":"33e9500b21129f","bidderRequestId":"2772c1e566670b","auctionId":"192721e36a0239","mediaTypes":{"banner":{"sizes":[[300,250],[160,600]]},"native":{},"video":{"context":"outstream","playerSize":[640,480]}},"sizes":[[300,250],[160,600]],"nativeParams":{"body":{"required":true}}},"bid":{"mediaType":"banner","ad":"","requestId":"33e9500b21129f","seatBidId":"35adfe19-d6e9-46b9-9f7d-20da7026b965","cpm":1.9200543539802946,"currency":"EUR","width":728,"height":90,"creative_id":"510265","creativeId":"510265","ttl":300,"meta":{},"dealId":320896,"netRevenue":false}}};\x3C/script>',
})
];
@@ -1070,7 +1003,7 @@ describe('Improve Digital Adapter Tests', function () {
width: 300,
height: 250,
ttl: 300,
- ad: '\x3Cscript>window.__razr_config = {"prebid":{"bidRequest":{"bidder":"improvedigital","params":{"placementId":1053688,"keyValues":{"testKey":["testValue"]},"bidFloor":0.05,"bidFloorCur":"eUR","size":{"w":800,"h":600}},"adUnitCode":"div-gpt-ad-1499748733608-0","transactionId":"f183e871-fbed-45f0-a427-c8a63c4c01eb","bidId":"33e9500b21129f","bidderRequestId":"2772c1e566670b","auctionId":"192721e36a0239","mediaTypes":{"banner":{"sizes":[[300,250],[160,600]]}},"sizes":[[300,250],[160,600]]},"bid":{"mediaType":"banner","ad":"","requestId":"33e9500b21129f","seatBidId":"83c8d524-0955-4d0c-b558-4c9f3600e09b","cpm":1.9200543539802946,"currency":"EUR","width":300,"height":250,"creative_id":"479163","creativeId":"479163","ttl":300,"meta":{},"dealId":320896,"netRevenue":false}}};\x3C/script>',
+ ad: '\x3Cscript>window.__razr_config = {"prebid":{"bidRequest":{"bidder":"improvedigital","params":{"publisherId":1234,"placementId":1053688,"keyValues":{"testKey":["testValue"]},"bidFloor":0.05,"bidFloorCur":"eUR","size":{"w":800,"h":600}},"adUnitCode":"div-gpt-ad-1499748733608-0","transactionId":"f183e871-fbed-45f0-a427-c8a63c4c01eb","bidId":"33e9500b21129f","bidderRequestId":"2772c1e566670b","auctionId":"192721e36a0239","mediaTypes":{"banner":{"sizes":[[300,250],[160,600]]}},"sizes":[[300,250],[160,600]]},"bid":{"mediaType":"banner","ad":"","requestId":"33e9500b21129f","seatBidId":"83c8d524-0955-4d0c-b558-4c9f3600e09b","cpm":1.9200543539802946,"currency":"EUR","width":300,"height":250,"creative_id":"479163","creativeId":"479163","ttl":300,"meta":{},"dealId":320896,"netRevenue":false}}};\x3C/script>',
creativeId: '479163',
dealId: 320896,
netRevenue: false,
diff --git a/test/spec/modules/iqmBidAdapter_spec.js b/test/spec/modules/iqmBidAdapter_spec.js
deleted file mode 100644
index 2f8b5811b2f..00000000000
--- a/test/spec/modules/iqmBidAdapter_spec.js
+++ /dev/null
@@ -1,414 +0,0 @@
-import { expect } from 'chai';
-import { newBidder } from 'src/adapters/bidderFactory.js';
-import * as bidderFactory from 'src/adapters/bidderFactory.js';
-import {spec} from 'modules/iqmBidAdapter';
-
-const ENDPOINT = 'https://pbd.bids.iqm.com';
-
-describe('iqmAdapter', function () {
- const adapter = newBidder(spec);
-
- describe('inherited functions', function () {
- it('exists and is a function', function () {
- expect(adapter.callBids).to.exist.and.to.be.a('function');
- });
- });
-
- describe('isBidRequestValid', function () {
- let bid =
- {
- bidder: 'iqm',
- params: {
- publisherId: 'df5fd732-c5f3-11e7-abc4-cec278b6b50a',
- placementId: 23451,
- bidfloor: 0.50
- },
-
- 'adUnitCode': 'adunit-code',
- 'sizes': [[300, 250]],
- 'bidId': '30b31c1838de1e',
- 'bidderRequestId': '22edbae2733bf6',
- 'auctionId': '1d1a030790a475',
- };
-
- it('should return false when no bid', function () {
- expect(spec.isBidRequestValid()).to.equal(false);
- });
-
- it('should return true when required params found', function () {
- expect(spec.isBidRequestValid(bid)).to.equal(true);
- });
- it('should return false when it is video and mimes and protcol are not present', function () {
- const bid = {
- adUnitCode: 'div-gpt-ad-1460505748561-0',
- auctionId: 'a0aca162-e3d0-44db-a465-5c96a64fa5fb',
- bidId: '2cbdc9b506be33',
- bidRequestsCount: 1,
- bidder: 'iqm',
- bidderRequestId: '185c3a4c7f88ec',
- bidderRequestsCount: 1,
- bidderWinsCount: 0,
- crumbs: {pubcid: 'f56a553d-370d-4cea-b31a-7214a3d8f8e1'},
- mediaTypes: {
- video: {
- context: 'instream',
- playerSize: [
- [
- 640,
- 480
- ]
- ]
- }
- },
- params: {
- publisherId: 'df5fd732-c5f3-11e7-abc4-cec278b6b50a',
- placementId: 23451,
- geo: {
- country: 'USA'
- },
-
- bidfloor: 0.50,
- video: {
- placement: 2,
- mimes: null,
- protocols: null,
- skipppable: true,
- playback_method: ['auto_play_sound_off']
- }
- },
- src: 'client',
- transactionId: 'a57d06fd-cc6d-4a90-87af-c10727998f0b' };
- expect(spec.isBidRequestValid(bid)).to.equal(false);
- });
- it('should return false when required params are not found', function () {
- let bid = Object.assign({}, bid);
- delete bid.params;
- bid.params = {
- placementId: 0,
- publisherId: null
-
- };
- expect(spec.isBidRequestValid(bid)).to.equal(false);
- });
- });
-
- describe('buildRequests', function () {
- let validBidRequests = [
- {bidder: 'iqm',
- params: {
- publisherId: 'df5fd732-c5f3-11e7-abc4-cec278b6b50a',
- placementId: 23451,
- bidfloor: 0.5},
- crumbs: {
- pubcid: 'a0f51f64-6d86-41d0-abaf-7ece71404d94'},
- ortb2Imp: {ext: {data: {'pbadslot': '/19968336/header-bid-tag-0'}}},
- mediaTypes: {
- banner: {
- sizes: [[300, 250]]}},
- adUnitCode: '/19968336/header-bid-tag-0',
- transactionId: '56fe8d92-ff6e-4c34-90ad-2f743cd0eae8',
- sizes: [[300, 250]],
- bidId: '266d810da21904',
- bidderRequestId: '13c05d264c7ffe',
- auctionId: '565ab569-ab95-40d6-8b42-b9707a92062f',
- src: 'client',
- bidRequestsCount: 1,
- bidderRequestsCount: 1,
- bidderWinsCount: 0}];
-
- let bidderRequest = {
- bidderCode: 'iqm',
- auctionId: '565ab569-ab95-40d6-8b42-b9707a92062f',
- bidderRequestId: '13c05d264c7ffe',
- bids: [{
- bidder: 'iqm',
- params: {publisherId: 'df5fd732-c5f3-11e7-abc4-cec278b6b50a', placementId: 23451, bidfloor: 0.5},
- crumbs: {pubcid: 'a0f51f64-6d86-41d0-abaf-7ece71404d94'},
- ortb2Imp: {ext: {data: {'pbadslot': '/19968336/header-bid-tag-0'}}},
- mediaTypes: {banner: {sizes: [[300, 250]]}},
- adUnitCode: '/19968336/header-bid-tag-0',
- transactionId: '56fe8d92-ff6e-4c34-90ad-2f743cd0eae8',
- sizes: [[300, 250]],
- bidId: '266d810da21904',
- bidderRequestId: '13c05d264c7ffe',
- auctionId: '565ab569-ab95-40d6-8b42-b9707a92062f',
- src: 'client',
- bidRequestsCount: 1,
- bidderRequestsCount: 1,
- bidderWinsCount: 0
- }],
- auctionStart: 1615205942159,
- timeout: 7000,
- refererInfo: {
- page: 'http://test.localhost:9999/integrationExamples/gpt/hello_world.html',
- domain: 'test.localhost.com:9999',
- ref: null,
- reachedTop: true,
- isAmp: false,
- numIframes: 0,
- stack: ['http://test.localhost:9999/integrationExamples/gpt/hello_world.html'],
- canonicalUrl: null
- },
- start: 1615205942162
- };
-
- it('should parse out sizes', function () {
- let temp = [];
- const request = spec.buildRequests(validBidRequests, bidderRequest);
- const payload = request[0].data;
-
- expect(payload.sizes).to.exist;
- expect(payload.sizes[0]).to.deep.equal([300, 250]);
- });
-
- it('should populate the ad_types array on all requests', function () {
- // const bidRequest = Object.assign({}, bidRequests[0]);
-
- const request = spec.buildRequests(validBidRequests, bidderRequest);
- const payload = request[0].data;
-
- expect(payload.imp.mediatype).to.deep.equal('banner');
- });
- it('sends bid request to ENDPOINT via POST', function () {
- const request = spec.buildRequests(validBidRequests, bidderRequest);
- expect(request[0].url).to.equal(ENDPOINT);
- expect(request[0].method).to.equal('POST');
- });
- it('should attach valid video params to the tag', function () {
- let validBidRequests_video = [{
- bidder: 'iqm',
- params: {
- publisherId: 'df5fd732-c5f3-11e7-abc4-cec278b6b50a',
- placementId: 23451,
- bidfloor: 0.5,
- video: {
- placement: 2,
- mimes: ['video/mp4'],
- protocols: [2, 5],
- skipppable: true,
- playback_method: ['auto_play_sound_off']
- }
- },
- crumbs: {pubcid: '09b8f065-9d1b-4a36-bd0c-ea22e2dad807'},
- ortb2Imp: {ext: {data: {'pbadslot': 'video1'}}},
- mediaTypes: {video: {playerSize: [[640, 480]], context: 'instream'}},
- adUnitCode: 'video1',
- transactionId: '86795c66-acf9-4dd5-998f-6d5362aaa541',
- sizes: [[640, 480]],
- bidId: '28bfb7e2d12897',
- bidderRequestId: '16e1ce8481bc6d',
- auctionId: '3140a2ec-d567-4db0-9bbb-eb6fa20ccb71',
- src: 'client',
- bidRequestsCount: 1,
- bidderRequestsCount: 1,
- bidderWinsCount: 0
- }];
- let bidderRequest_video = {
- bidderCode: 'iqm',
- auctionId: '3140a2ec-d567-4db0-9bbb-eb6fa20ccb71',
- bidderRequestId: '16e1ce8481bc6d',
- bids: [{
- bidder: 'iqm',
- params: {
- publisherId: 'df5fd732-c5f3-11e7-abc4-cec278b6b50a',
- placementId: 23451,
- bidfloor: 0.5,
- video: {
- placement: 2,
- mimes: ['video/mp4'],
- protocols: [2, 5],
- skipppable: true,
- playback_method: ['auto_play_sound_off']
- }
- },
- crumbs: {pubcid: '09b8f065-9d1b-4a36-bd0c-ea22e2dad807'},
- fpd: {context: {pbAdSlot: 'video1'}},
- mediaTypes: {video: {playerSize: [[640, 480]], context: 'instream'}},
- adUnitCode: 'video1',
- transactionId: '86795c66-acf9-4dd5-998f-6d5362aaa541',
- sizes: [[640, 480]],
- bidId: '28bfb7e2d12897',
- bidderRequestId: '16e1ce8481bc6d',
- auctionId: '3140a2ec-d567-4db0-9bbb-eb6fa20ccb71',
- src: 'client',
- bidRequestsCount: 1,
- bidderRequestsCount: 1,
- bidderWinsCount: 0
- }],
- auctionStart: 1615271191985,
- timeout: 3000,
- refererInfo: {
- page: 'http://test.localhost:9999/integrationExamples/gpt/pbjs_video_adUnit.html',
- domain: 'test.localhost.com:9999',
- ref: null,
- reachedTop: true,
- isAmp: false,
- numIframes: 0,
- stack: ['http://test.localhost:9999/integrationExamples/gpt/pbjs_video_adUnit.html'],
- canonicalUrl: null
- },
- start: 1615271191988
- };
- const request = spec.buildRequests(validBidRequests_video, bidderRequest_video);
- const payload = request[0].data;
- expect(payload.imp.id).to.exist;
- expect(payload.imp.displaymanager).to.exist;
- expect(payload.imp.displaymanagerver).to.exist;
-
- expect(payload.imp.video).to.deep.equal({
- context: 'instream',
- w: 640,
- h: 480,
- mimes: ['video/mp4'],
- placement: 1,
- protocols: [2, 5],
- startdelay: 0
- });
- });
-
- it('should add referer info to payload', function () {
- // TODO: this is wrong on multiple levels
- // The payload contains everything in `bidderRequest`; that is sometimes not even serializable
- // this should not be testing the validity of internal Prebid structures
- const request = spec.buildRequests(validBidRequests, bidderRequest);
- const payload = request[0].data;
-
- expect(payload.bidderRequest.refererInfo).to.exist;
- });
- })
-
- describe('interpretResponse', function () {
- let tempResult = {requestId: '2d9601dd8328f8', currency: 'USD', cpm: 4.5, netRevenue: true, creativeId: 'cr-121004', adUnitCode: 'div-gpt-ad-1460505748561-0', 'auctionId': '22a4f3d8-511f-46ba-91be-53b9949e4b48', mediaType: 'banner', ttl: 3000, ad: " ", width: 844, height: 617};
- let validBidRequests_temp = [
- {bidder: 'iqm',
- params: {
- publisherId: 'df5fd732-c5f3-11e7-abc4-cec278b6b50a',
- placementId: 23451,
- bidfloor: 0.5},
- crumbs: {
- pubcid: 'a0f51f64-6d86-41d0-abaf-7ece71404d94'},
- ortb2Imp: {ext: {data: {'pbadslot': '/19968336/header-bid-tag-0'}}},
- mediaTypes: {
- banner: {
- sizes: [[300, 250]]}},
- adUnitCode: '/19968336/header-bid-tag-0',
- transactionId: '56fe8d92-ff6e-4c34-90ad-2f743cd0eae8',
- sizes: [[300, 250]],
- bidId: '266d810da21904',
- bidderRequestId: '13c05d264c7ffe',
- auctionId: '565ab569-ab95-40d6-8b42-b9707a92062f',
- src: 'client',
- bidRequestsCount: 1,
- bidderRequestsCount: 1,
- bidderWinsCount: 0}];
- let bidderRequest = {
- bidderCode: 'iqm',
- auctionId: '565ab569-ab95-40d6-8b42-b9707a92062f',
- bidderRequestId: '13c05d264c7ffe',
- bids: [{
- bidder: 'iqm',
- params: {publisherId: 'df5fd732-c5f3-11e7-abc4-cec278b6b50a', placementId: 23451, bidfloor: 0.5},
- crumbs: {pubcid: 'a0f51f64-6d86-41d0-abaf-7ece71404d94'},
- ortb2Imp: {ext: {data: {'pbadslot': '/19968336/header-bid-tag-0'}}},
- mediaTypes: {banner: {sizes: [[300, 250]]}},
- adUnitCode: '/19968336/header-bid-tag-0',
- transactionId: '56fe8d92-ff6e-4c34-90ad-2f743cd0eae8',
- sizes: [[300, 250]],
- bidId: '266d810da21904',
- bidderRequestId: '13c05d264c7ffe',
- auctionId: '565ab569-ab95-40d6-8b42-b9707a92062f',
- src: 'client',
- bidRequestsCount: 1,
- bidderRequestsCount: 1,
- bidderWinsCount: 0
- }],
- auctionStart: 1615205942159,
- timeout: 7000,
- refererInfo: {
- page: 'http://test.localhost:9999/integrationExamples/gpt/hello_world.html',
- domain: 'test.localhost.com:9999',
- ref: null,
- reachedTop: true,
- isAmp: false,
- numIframes: 0,
- stack: ['http://test.localhost:9999/integrationExamples/gpt/hello_world.html'],
- canonicalUrl: null
- },
- start: 1615205942162
- };
- let response = {
-
- id: '5bdbab92aae961cfbdf7465d',
- seatbid: [{bid: [{id: 'bid-5bdbab92aae961cfbdf7465d-5bdbab92aae961cfbdf74653', impid: '5bdbab92aae961cfbdf74653', price: 9.9, nurl: 'https://winn.stage.iqm.com/smaato?raw=w9XViV4dovBHrxujHhBj-l-uWB08CUOMW_oR-EUxZbaWLL0ENzcMlP3CJFEURN6FgRp_HdjAjxTYHR7uG4S6h6dl_vjU_YNABiPd607-iTqxOCl-2cKLo-hhQus4sMw01VIqyqrPmzOTHTwJm4vTjUIoWMPZbARgQvUnBzjRH9xeYS-Bv3kgAW9NSBfgBZeLyT3WJJ_3VKIE_Iurt8OjpA%3D%3D&req_id=5bdbab92aae961cfbdf7465d&ap=${AUCTION_PRICE}', adm: " ", adomain: ['click.iqm.com'], iurl: 'https://d3jme5si7t6llb.cloudfront.net/image/1/404/owVo6mc_1588902031079.png', cid: '169218', crid: 'cr-301435', attr: [], h: 250, w: 250}]}],
- bidid: '5bdbab92aae961cfbdf7465d'
- };
-
- it('should get correct bid response', function () {
- let expectedResponse = [
- {requestId: '49ad5f21156efd', currency: 'USD', cpm: 9.9, netRevenue: true, creativeId: 'cr-301435', adUnitCode: '/19968336/header-bid-tag-0', auctionId: '853cddf1-8d13-4482-bd88-f5ef927d5ab3', mediaType: 'banner', ttl: 3000, ad: " ", width: 250, height: 250}
- ];
- let temprequest = spec.buildRequests(validBidRequests_temp, bidderRequest);
-
- let result = spec.interpretResponse({ body: response }, temprequest[0]);
- expect(Object.keys(result[0])).to.have.members(Object.keys(expectedResponse[0]));
- });
-
- let validBidRequests_temp_video =
- [{bidder: 'iqm', params: {publisherId: 'df5fd732-c5f3-11e7-abc4-cec278b6b50a', placementId: 23451, bidfloor: 0.5, video: {placement: 2, mimes: ['video/mp4'], protocols: [2, 5], skipppable: true, playback_method: ['auto_play_sound_off']}}, crumbs: {pubcid: 'cd86c3ff-d630-40e6-83ab-420e9e800594'}, fpd: {context: {pbAdSlot: 'video1'}}, mediaTypes: {video: {playerSize: [[640, 480]], context: 'instream'}}, adUnitCode: 'video1', transactionId: '8335b266-7a41-45f9-86a2-92fdc7cf0cd9', sizes: [[640, 480]], bidId: '26274beff25455', bidderRequestId: '17c5d8c3168761', auctionId: '2c592dcf-7dfc-4823-8203-dd1ebab77fe0', src: 'client', bidRequestsCount: 1, bidderRequestsCount: 1, bidderWinsCount: 0}];
- let bidderRequest_video = {
- bidderCode: 'iqm',
- auctionId: '3140a2ec-d567-4db0-9bbb-eb6fa20ccb71',
- bidderRequestId: '16e1ce8481bc6d',
- bids: [{
- bidder: 'iqm',
- params: {
- publisherId: 'df5fd732-c5f3-11e7-abc4-cec278b6b50a',
- placementId: 23451,
- bidfloor: 0.5,
- video: {
- placement: 2,
- mimes: ['video/mp4'],
- protocols: [2, 5],
- skipppable: true,
- playback_method: ['auto_play_sound_off']
- }
- },
- crumbs: {pubcid: '09b8f065-9d1b-4a36-bd0c-ea22e2dad807'},
- ortb2Imp: {ext: {data: {'pbadslot': 'video1'}}},
- mediaTypes: {video: {playerSize: [[640, 480]], context: 'instream'}},
- adUnitCode: 'video1',
- transactionId: '86795c66-acf9-4dd5-998f-6d5362aaa541',
- sizes: [[640, 480]],
- bidId: '28bfb7e2d12897',
- bidderRequestId: '16e1ce8481bc6d',
- auctionId: '3140a2ec-d567-4db0-9bbb-eb6fa20ccb71',
- src: 'client',
- bidRequestsCount: 1,
- bidderRequestsCount: 1,
- bidderWinsCount: 0
- }],
- auctionStart: 1615271191985,
- timeout: 3000,
- refererInfo: {
- page: 'http://test.localhost:9999/integrationExamples/gpt/pbjs_video_adUnit.html',
- domain: 'test.localhost.com:9999',
- ref: '',
- reachedTop: true,
- isAmp: false,
- numIframes: 0,
- stack: ['http://test.localhost:9999/integrationExamples/gpt/pbjs_video_adUnit.html'],
- canonicalUrl: null
- },
- start: 1615271191988
- };
-
- it('handles non-banner media responses', function () {
- let response = {id: '2341234', seatbid: [{bid: [{id: 'bid-2341234-1', impid: '1', price: 9, nurl: 'https://frontend.stage.iqm.com/static/vast-01.xml', adm: 'http://cdn.iqm.com/pbd?raw=312730_203cf73dc83fb_2824348636878_pbd', adomain: ['app1.stage.iqm.com'], cid: '168900', crid: 'cr-304503', attr: []}]}], bidid: '2341234'};
-
- let temprequest_video = spec.buildRequests(validBidRequests_temp_video, bidderRequest_video);
-
- let result = spec.interpretResponse({ body: response }, temprequest_video[0]);
- expect(result[0]).to.have.property('vastUrl');
- });
- });
-});
diff --git a/test/spec/modules/ixBidAdapter_spec.js b/test/spec/modules/ixBidAdapter_spec.js
index e5b2fbc359a..42c0c2afdf5 100644
--- a/test/spec/modules/ixBidAdapter_spec.js
+++ b/test/spec/modules/ixBidAdapter_spec.js
@@ -821,8 +821,9 @@ describe('IndexexchangeAdapter', function () {
tid: 'mock-tid'
}
},
- fledgeEnabled: true,
- defaultForSlots: 1
+ paapi: {
+ enabled: true
+ },
};
const DEFAULT_OPTION_FLEDGE_ENABLED = {
@@ -843,7 +844,9 @@ describe('IndexexchangeAdapter', function () {
tid: 'mock-tid'
}
},
- fledgeEnabled: true
+ paapi: {
+ enabled: true
+ }
};
const DEFAULT_IDENTITY_RESPONSE = {
@@ -1348,34 +1351,6 @@ describe('IndexexchangeAdapter', function () {
});
});
- describe('Roundel alias adapter', function () {
- const vaildBids = [DEFAULT_BANNER_VALID_BID, DEFAULT_VIDEO_VALID_BID, DEFAULT_MULTIFORMAT_BANNER_VALID_BID, DEFAULT_MULTIFORMAT_VIDEO_VALID_BID];
- const ALIAS_OPTIONS = Object.assign({
- bidderCode: 'roundel'
- }, DEFAULT_OPTION);
-
- it('should not build requests for mediaTypes if liveramp data is unavaliable', function () {
- vaildBids.forEach((validBid) => {
- const request = spec.buildRequests(validBid, ALIAS_OPTIONS);
- expect(request).to.be.an('array');
- expect(request).to.have.lengthOf(0);
- });
- });
-
- it('should build requests for mediaTypes if liveramp data is avaliable', function () {
- vaildBids.forEach((validBid) => {
- const cloneValidBid = utils.deepClone(validBid);
- cloneValidBid[0].userIdAsEids = utils.deepClone(DEFAULT_USERIDASEIDS_DATA);
- const request = spec.buildRequests(cloneValidBid, ALIAS_OPTIONS);
- const payload = extractPayload(request[0]);
- expect(request).to.be.an('array');
- expect(request).to.have.lengthOf.above(0); // should be 1 or more
- expect(payload.user.eids).to.have.lengthOf(11);
- expect(payload.user.eids).to.deep.include(DEFAULT_USERID_PAYLOAD[0]);
- });
- });
- });
-
describe('buildRequestsIdentity', function () {
let request;
let payload;
@@ -3464,16 +3439,7 @@ describe('IndexexchangeAdapter', function () {
expect(impression.ext.ae).to.equal(1);
});
- it('impression should have ae=1 in ext when fledge module is enabled globally and default is set through setConfig', function () {
- const bidderRequest = deepClone(DEFAULT_OPTION_FLEDGE_ENABLED_GLOBALLY);
- const bid = utils.deepClone(DEFAULT_BANNER_VALID_BID[0]);
- const requestBidFloor = spec.buildRequests([bid], bidderRequest)[0];
- const impression = extractPayload(requestBidFloor).imp[0];
-
- expect(impression.ext.ae).to.equal(1);
- });
-
- it('impression should have ae=1 in ext when fledge module is enabled globally but no default set through setConfig but set at ad unit level', function () {
+ it('impression should have ae=1 in ext when request has paapi.enabled = true and ext.ae = 1', function () {
const bidderRequest = deepClone(DEFAULT_OPTION_FLEDGE_ENABLED);
const bid = utils.deepClone(DEFAULT_BANNER_VALID_BID_WITH_FLEDGE_ENABLED[0]);
const requestBidFloor = spec.buildRequests([bid], bidderRequest)[0];
@@ -4180,7 +4146,7 @@ describe('IndexexchangeAdapter', function () {
beforeEach(() => {
bidderRequestWithFledgeEnabled = spec.buildRequests(DEFAULT_BANNER_VALID_BID_WITH_FLEDGE_ENABLED, {})[0];
- bidderRequestWithFledgeEnabled.fledgeEnabled = true;
+ bidderRequestWithFledgeEnabled.paapi = {enabled: true};
serverResponseWithoutFledgeConfigs = {
body: {
@@ -4244,17 +4210,17 @@ describe('IndexexchangeAdapter', function () {
}
}
];
- expect(result.fledgeAuctionConfigs).to.deep.equal(expectedOutput);
+ expect(result.paapi).to.deep.equal(expectedOutput);
});
it('should correctly interpret response without auction configs', () => {
const result = spec.interpretResponse(serverResponseWithoutFledgeConfigs, bidderRequestWithFledgeEnabled);
- expect(result.fledgeAuctionConfigs).to.be.undefined;
+ expect(result.paapi).to.be.undefined;
});
it('should handle malformed auction configs gracefully', () => {
const result = spec.interpretResponse(serverResponseWithMalformedAuctionConfig, bidderRequestWithFledgeEnabled);
- expect(result.fledgeAuctionConfigs).to.be.empty;
+ expect(result.paapi).to.be.empty;
});
it('should log warning for malformed auction configs', () => {
@@ -4266,7 +4232,7 @@ describe('IndexexchangeAdapter', function () {
it('should return bids when protected audience auction conigs is malformed', () => {
const result = spec.interpretResponse(serverResponseWithMalformedAuctionConfigs, bidderRequestWithFledgeEnabled);
- expect(result.fledgeAuctionConfigs).to.be.undefined;
+ expect(result.paapi).to.be.undefined;
expect(result.length).to.be.greaterThan(0);
});
});
@@ -4285,7 +4251,7 @@ describe('IndexexchangeAdapter', function () {
};
bidderRequestWithFledgeEnabled = spec.buildRequests(DEFAULT_BANNER_VALID_BID_WITH_FLEDGE_ENABLED, {})[0];
- bidderRequestWithFledgeEnabled.fledgeEnabled = true;
+ bidderRequestWithFledgeEnabled.paapi = {enabled: true};
bidderRequestWithoutFledgeEnabled = spec.buildRequests(DEFAULT_BANNER_VALID_BID, {})[0];
});
diff --git a/test/spec/modules/jwplayerRtdProvider_spec.js b/test/spec/modules/jwplayerRtdProvider_spec.js
index c57c8a685e7..36794ceeae3 100644
--- a/test/spec/modules/jwplayerRtdProvider_spec.js
+++ b/test/spec/modules/jwplayerRtdProvider_spec.js
@@ -629,7 +629,7 @@ describe('jwplayerRtdProvider', function() {
expect(ortb2Fragments.global).to.have.property('site');
expect(ortb2Fragments.global.site).to.have.property('content');
- expect(ortb2Fragments.global.site.content).to.have.property('id', 'jw_' + testIdForSuccess);
+ expect(ortb2Fragments.global.site.content).to.have.property('id', 'randomContentId');
expect(ortb2Fragments.global.site.content).to.have.property('data');
const data = ortb2Fragments.global.site.content.data;
expect(data).to.have.length(3);
@@ -801,7 +801,7 @@ describe('jwplayerRtdProvider', function() {
describe(' Add Ortb Site Content', function () {
beforeEach(() => {
setOverrides({
- overrideContentId: 'always',
+ overrideContentId: 'whenEmpty',
overrideContentUrl: 'whenEmpty',
overrideContentTitle: 'whenEmpty',
overrideContentDescription: 'whenEmpty'
@@ -865,16 +865,16 @@ describe('jwplayerRtdProvider', function() {
}
};
- const expectedId = 'expectedId';
+ const newId = 'newId';
const expectedUrl = 'expectedUrl';
const expectedTitle = 'expectedTitle';
const expectedDescription = 'expectedDescription';
const expectedData = { datum: 'datum' };
- addOrtbSiteContent(ortb2, expectedId, expectedData, expectedTitle, expectedDescription, expectedUrl);
+ addOrtbSiteContent(ortb2, newId, expectedData, expectedTitle, expectedDescription, expectedUrl);
expect(ortb2).to.have.nested.property('site.random.random_sub', 'randomSub');
expect(ortb2).to.have.nested.property('app.content.id', 'appId');
expect(ortb2).to.have.nested.property('site.content.ext.random_field', 'randomField');
- expect(ortb2).to.have.nested.property('site.content.id', expectedId);
+ expect(ortb2).to.have.nested.property('site.content.id', 'oldId');
expect(ortb2).to.have.nested.property('site.content.url', expectedUrl);
expect(ortb2).to.have.nested.property('site.content.title', expectedTitle);
expect(ortb2).to.have.nested.property('site.content.ext.description', expectedDescription);
@@ -889,7 +889,7 @@ describe('jwplayerRtdProvider', function() {
expect(ortb2).to.have.nested.property('site.content.id', expectedId);
});
- it('should override content id by default', function () {
+ it('should keep old content id by default', function () {
const ortb2 = {
site: {
content: {
@@ -898,9 +898,8 @@ describe('jwplayerRtdProvider', function() {
}
};
- const expectedId = 'expectedId';
- addOrtbSiteContent(ortb2, expectedId);
- expect(ortb2).to.have.nested.property('site.content.id', expectedId);
+ addOrtbSiteContent(ortb2, 'newId');
+ expect(ortb2).to.have.nested.property('site.content.id', 'oldId');
});
it('should keep previous content id when new value is not available', function () {
diff --git a/test/spec/modules/kargoBidAdapter_spec.js b/test/spec/modules/kargoBidAdapter_spec.js
index 510b5979333..590d98969c3 100644
--- a/test/spec/modules/kargoBidAdapter_spec.js
+++ b/test/spec/modules/kargoBidAdapter_spec.js
@@ -1832,7 +1832,7 @@ describe('kargo adapter tests', function() {
});
});
- it('should return fledgeAuctionConfigs if provided in bid response', function () {
+ it('should return paapi if provided in bid response', function () {
const auctionConfig = {
seller: 'https://kargo.com',
decisionLogicUrl: 'https://kargo.com/decision_logic.js',
@@ -1865,11 +1865,11 @@ describe('kargo adapter tests', function() {
expect(bid).to.have.property('meta').that.is.an('object');
});
- // Test properties of fledgeAuctionConfigs
- expect(result.fledgeAuctionConfigs).to.have.lengthOf(3);
+ // Test properties of paapi
+ expect(result.paapi).to.have.lengthOf(3);
const expectedBidIds = ['1', '3', '5']; // Expected bidIDs
- result.fledgeAuctionConfigs.forEach(config => {
+ result.paapi.forEach(config => {
expect(config).to.have.property('bidId');
expect(expectedBidIds).to.include(config.bidId);
diff --git a/test/spec/modules/krushmediaBidAdapter_spec.js b/test/spec/modules/krushmediaBidAdapter_spec.js
index 86437180e94..16f87394df9 100644
--- a/test/spec/modules/krushmediaBidAdapter_spec.js
+++ b/test/spec/modules/krushmediaBidAdapter_spec.js
@@ -80,7 +80,7 @@ describe('KrushmediabBidAdapter', function () {
let placement = data['placements'][0];
expect(placement).to.be.an('object');
expect(placement).to.have.keys('key', 'bidId', 'traffic', 'wPlayer', 'hPlayer', 'schain', 'bidFloor',
- 'minduration', 'maxduration', 'mimes', 'protocols', 'startdelay', 'placement', 'skip',
+ 'minduration', 'maxduration', 'mimes', 'protocols', 'startdelay', 'placement', 'plcmt', 'skip',
'skipafter', 'minbitrate', 'maxbitrate', 'delivery', 'playbackmethod', 'api', 'linearity');
expect(placement.traffic).to.equal(VIDEO);
expect(placement.wPlayer).to.equal(playerSize[0]);
diff --git a/test/spec/modules/lassoBidAdapter_spec.js b/test/spec/modules/lassoBidAdapter_spec.js
index ad4040c0452..15dee20e566 100644
--- a/test/spec/modules/lassoBidAdapter_spec.js
+++ b/test/spec/modules/lassoBidAdapter_spec.js
@@ -62,14 +62,14 @@ describe('lassoBidAdapter', function () {
expect(spec.isBidRequestValid(bid)).to.equal(true);
});
it('should return true when there are extra params', function () {
- const bid = Object.assign({}, bid, {
+ const invalidBid = Object.assign({}, bid, {
params: {
adUnitId: 123456,
zone: 1,
publisher: 'test'
}
})
- expect(spec.isBidRequestValid(bid)).to.equal(true);
+ expect(spec.isBidRequestValid(invalidBid)).to.equal(true);
});
it('should return false when there are no params', function () {
const invalidBid = { ...bid };
diff --git a/test/spec/modules/lkqdBidAdapter_spec.js b/test/spec/modules/lkqdBidAdapter_spec.js
index 4ff69ce5e2a..1e05b9deeb3 100644
--- a/test/spec/modules/lkqdBidAdapter_spec.js
+++ b/test/spec/modules/lkqdBidAdapter_spec.js
@@ -46,12 +46,12 @@ describe('lkqdBidAdapter', () => {
});
it('should return false when required params are not passed', () => {
- let bid = Object.assign({}, bid);
- delete bid.params;
- bid.params = {
+ let invalidBid = Object.assign({}, bid);
+ delete invalidBid.params;
+ invalidBid.params = {
wrong: 'missing zone id'
};
- expect(spec.isBidRequestValid(bid)).to.equal(false);
+ expect(spec.isBidRequestValid(invalidBid)).to.equal(false);
});
});
diff --git a/test/spec/modules/loganBidAdapter_spec.js b/test/spec/modules/loganBidAdapter_spec.js
index a9859bbd4ae..f51f22580e2 100644
--- a/test/spec/modules/loganBidAdapter_spec.js
+++ b/test/spec/modules/loganBidAdapter_spec.js
@@ -79,7 +79,7 @@ describe('LoganBidAdapter', function () {
expect(data).to.be.an('object');
let placement = data['placements'][0];
expect(placement).to.be.an('object');
- expect(placement).to.have.keys('placementId', 'bidId', 'adFormat', 'wPlayer', 'hPlayer', 'schain', 'minduration', 'maxduration', 'mimes', 'protocols', 'startdelay', 'placement', 'skip', 'skipafter', 'minbitrate', 'maxbitrate', 'delivery', 'playbackmethod', 'api', 'linearity', 'bidfloor');
+ expect(placement).to.have.keys('placementId', 'bidId', 'adFormat', 'wPlayer', 'hPlayer', 'schain', 'minduration', 'maxduration', 'mimes', 'protocols', 'startdelay', 'placement', 'plcmt', 'skip', 'skipafter', 'minbitrate', 'maxbitrate', 'delivery', 'playbackmethod', 'api', 'linearity', 'bidfloor');
expect(placement.adFormat).to.equal(VIDEO);
expect(placement.wPlayer).to.equal(playerSize[0]);
expect(placement.hPlayer).to.equal(playerSize[1]);
diff --git a/test/spec/modules/logicadBidAdapter_spec.js b/test/spec/modules/logicadBidAdapter_spec.js
index 12e8ca31cbb..5c86ffc9325 100644
--- a/test/spec/modules/logicadBidAdapter_spec.js
+++ b/test/spec/modules/logicadBidAdapter_spec.js
@@ -182,7 +182,9 @@ describe('LogicadAdapter', function () {
stack: []
},
auctionStart: 1563337198010,
- fledgeEnabled: true
+ paapi: {
+ enabled: true
+ }
};
const serverResponse = {
body: {
@@ -388,8 +390,8 @@ describe('LogicadAdapter', function () {
const paapiRequest = spec.buildRequests(bidRequests, bidderRequest)[0];
const paapiInterpretedResponse = spec.interpretResponse(paapiServerResponse, paapiRequest);
expect(paapiInterpretedResponse).to.have.property('bids');
- expect(paapiInterpretedResponse).to.have.property('fledgeAuctionConfigs');
- expect(paapiInterpretedResponse.fledgeAuctionConfigs[0]).to.deep.equal(paapiServerResponse.body.ext.fledgeAuctionConfigs[0]);
+ expect(paapiInterpretedResponse).to.have.property('paapi');
+ expect(paapiInterpretedResponse.paapi[0]).to.deep.equal(paapiServerResponse.body.ext.fledgeAuctionConfigs[0]);
// native
const nativeRequest = spec.buildRequests(nativeBidRequests, bidderRequest)[0];
diff --git a/test/spec/modules/luponmediaBidAdapter_spec.js b/test/spec/modules/luponmediaBidAdapter_spec.js
index 064bad74835..664c888b45e 100755
--- a/test/spec/modules/luponmediaBidAdapter_spec.js
+++ b/test/spec/modules/luponmediaBidAdapter_spec.js
@@ -21,12 +21,12 @@ describe('luponmediaBidAdapter', function () {
});
it('should return false when required params are not passed', function () {
- let bid = Object.assign({}, bid);
- delete bid.params;
- bid.params = {
+ let invalidBid = Object.assign({}, bid);
+ delete invalidBid.params;
+ invalidBid.params = {
'siteId': 12345
};
- expect(spec.isBidRequestValid(bid)).to.equal(false);
+ expect(spec.isBidRequestValid(invalidBid)).to.equal(false);
});
});
diff --git a/test/spec/modules/madvertiseBidAdapter_spec.js b/test/spec/modules/madvertiseBidAdapter_spec.js
index 466d30acdd3..8128bcc2d42 100644
--- a/test/spec/modules/madvertiseBidAdapter_spec.js
+++ b/test/spec/modules/madvertiseBidAdapter_spec.js
@@ -118,7 +118,7 @@ describe('madvertise adapater', () => {
expect(req[0].url).to.contain(`&zoneId=test`);
expect(req[0].url).to.contain(`&sizes[0]=728x90`);
expect(req[0].url).to.contain(`&gdpr=1`);
- expect(req[0].url).to.contain(`&consent[0][format]=IAB`);
+ expect(req[0].url).to.contain(`&consent[0][format]=iab`);
expect(req[0].url).to.contain(`&consent[0][value]=CO_5mtSPHOmEIAsAkBFRBOCsAP_AAH_AAAqIHQgB7SrERyNAYWB5gusAKYlfQAQCA2AABAYdASgJQQBAMJYEkGAIuAnAACAKAAAEIHQAAAAlCCmABAEAAIABBSGMAQgABZAAIiAEEAATAABACAABGYCSCAIQjIAAAAEAgEKEAAoAQGBAAAEgBABAAAogACADAgXmACIKkQBAkBAYAkAYQAogAhAAAAAIAAAAAAAKAABAAAghAAQQAAAAAAAAAgAAAAABAAAAAAAAQAAAAAAAAABAAgAAAAAAAAAIAAAAAAAAAAAAAAAABAAAAAAAAAAAQCAKCgBgEQALgAqkJADAIgAXABVIaACAAERABAACKgAgABA`)
});
diff --git a/test/spec/modules/mantisBidAdapter_spec.js b/test/spec/modules/mantisBidAdapter_spec.js
index 579f41e620d..f0f453d32a0 100644
--- a/test/spec/modules/mantisBidAdapter_spec.js
+++ b/test/spec/modules/mantisBidAdapter_spec.js
@@ -35,10 +35,10 @@ describe('MantisAdapter', function () {
});
it('should return false when required params are not passed', function () {
- let bid = Object.assign({}, bid);
- delete bid.params;
- bid.params = {};
- expect(spec.isBidRequestValid(bid)).to.equal(false);
+ let invalidBid = Object.assign({}, bid);
+ delete invalidBid.params;
+ invalidBid.params = {};
+ expect(spec.isBidRequestValid(invalidBid)).to.equal(false);
});
});
diff --git a/test/spec/modules/mediafuseBidAdapter_spec.js b/test/spec/modules/mediafuseBidAdapter_spec.js
index dd2b5df70bd..1fb09265d56 100644
--- a/test/spec/modules/mediafuseBidAdapter_spec.js
+++ b/test/spec/modules/mediafuseBidAdapter_spec.js
@@ -35,23 +35,23 @@ describe('MediaFuseAdapter', function () {
});
it('should return true when required params found', function () {
- let bid = Object.assign({}, bid);
- delete bid.params;
- bid.params = {
+ let invalidBid = Object.assign({}, bid);
+ delete invalidBid.params;
+ invalidBid.params = {
'member': '1234',
'invCode': 'ABCD'
};
- expect(spec.isBidRequestValid(bid)).to.equal(true);
+ expect(spec.isBidRequestValid(invalidBid)).to.equal(true);
});
it('should return false when required params are not passed', function () {
- let bid = Object.assign({}, bid);
- delete bid.params;
- bid.params = {
+ let invalidBid = Object.assign({}, bid);
+ delete invalidBid.params;
+ invalidBid.params = {
'placementId': 0
};
- expect(spec.isBidRequestValid(bid)).to.equal(false);
+ expect(spec.isBidRequestValid(invalidBid)).to.equal(false);
});
});
diff --git a/test/spec/modules/medianetBidAdapter_spec.js b/test/spec/modules/medianetBidAdapter_spec.js
index cc1a15fd733..bdfc86e7148 100644
--- a/test/spec/modules/medianetBidAdapter_spec.js
+++ b/test/spec/modules/medianetBidAdapter_spec.js
@@ -1768,12 +1768,12 @@ describe('Media.net bid adapter', function () {
});
it('should have valid payload when PAAPI is enabled', function () {
- let bidReq = spec.buildRequests(VALID_BID_REQUEST_WITH_AE_IN_ORTB2IMP, {...VALID_AUCTIONDATA, fledgeEnabled: true});
+ let bidReq = spec.buildRequests(VALID_BID_REQUEST_WITH_AE_IN_ORTB2IMP, {...VALID_AUCTIONDATA, paapi: {enabled: true}});
expect(JSON.parse(bidReq.data)).to.deep.equal(VALID_PAYLOAD_PAAPI);
});
it('should send whatever is set in ortb2imp.ext.ae in all bid requests when PAAPI is enabled', function () {
- let bidReq = spec.buildRequests(VALID_BID_REQUEST_WITH_AE_IN_ORTB2IMP, {...VALID_AUCTIONDATA, fledgeEnabled: true});
+ let bidReq = spec.buildRequests(VALID_BID_REQUEST_WITH_AE_IN_ORTB2IMP, {...VALID_AUCTIONDATA, paapi: {enabled: true}});
let data = JSON.parse(bidReq.data);
expect(data).to.deep.equal(VALID_PAYLOAD_PAAPI);
expect(data.imp[0].ext).to.have.property('ae');
@@ -1955,30 +1955,30 @@ describe('Media.net bid adapter', function () {
expect(bids).to.deep.equal(validBids);
});
- it('should return fledgeAuctionConfigs if PAAPI response is received', function() {
+ it('should return paapi if PAAPI response is received', function() {
let response = spec.interpretResponse(SERVER_RESPONSE_PAAPI, []);
expect(response).to.have.property('bids');
- expect(response).to.have.property('fledgeAuctionConfigs');
- expect(response.fledgeAuctionConfigs[0]).to.deep.equal(SERVER_RESPONSE_PAAPI.body.ext.paApiAuctionConfigs[0]);
+ expect(response).to.have.property('paapi');
+ expect(response.paapi[0]).to.deep.equal(SERVER_RESPONSE_PAAPI.body.ext.paApiAuctionConfigs[0]);
});
- it('should return fledgeAuctionConfigs if openRTB PAAPI response received', function () {
+ it('should return paapi if openRTB PAAPI response received', function () {
let response = spec.interpretResponse(SERVER_RESPONSE_PAAPI_ORTB, []);
expect(response).to.have.property('bids');
- expect(response).to.have.property('fledgeAuctionConfigs');
- expect(response.fledgeAuctionConfigs[0]).to.deep.equal(SERVER_RESPONSE_PAAPI_ORTB.body.ext.igi[0].igs[0])
+ expect(response).to.have.property('paapi');
+ expect(response.paapi[0]).to.deep.equal(SERVER_RESPONSE_PAAPI_ORTB.body.ext.igi[0].igs[0])
});
- it('should have the correlation between fledgeAuctionConfigs[0].bidId and bidreq.imp[0].id', function() {
- let bidReq = spec.buildRequests(VALID_BID_REQUEST_WITH_AE_IN_ORTB2IMP, {...VALID_AUCTIONDATA, fledgeEnabled: true});
+ it('should have the correlation between paapi[0].bidId and bidreq.imp[0].id', function() {
+ let bidReq = spec.buildRequests(VALID_BID_REQUEST_WITH_AE_IN_ORTB2IMP, {...VALID_AUCTIONDATA, paapi: {enabled: true}});
let bidRes = spec.interpretResponse(SERVER_RESPONSE_PAAPI, []);
- expect(bidRes.fledgeAuctionConfigs[0].bidId).to.equal(JSON.parse(bidReq.data).imp[0].id)
+ expect(bidRes.paapi[0].bidId).to.equal(JSON.parse(bidReq.data).imp[0].id)
});
- it('should have the correlation between fledgeAuctionConfigs[0].bidId and bidreq.imp[0].id for openRTB response', function() {
- let bidReq = spec.buildRequests(VALID_BID_REQUEST_WITH_AE_IN_ORTB2IMP, {...VALID_AUCTIONDATA, fledgeEnabled: true});
+ it('should have the correlation between paapi[0].bidId and bidreq.imp[0].id for openRTB response', function() {
+ let bidReq = spec.buildRequests(VALID_BID_REQUEST_WITH_AE_IN_ORTB2IMP, {...VALID_AUCTIONDATA, paapi: {enabled: true}});
let bidRes = spec.interpretResponse(SERVER_RESPONSE_PAAPI_ORTB, []);
- expect(bidRes.fledgeAuctionConfigs[0].bidId).to.equal(JSON.parse(bidReq.data).imp[0].id)
+ expect(bidRes.paapi[0].bidId).to.equal(JSON.parse(bidReq.data).imp[0].id)
});
});
diff --git a/test/spec/modules/microadBidAdapter_spec.js b/test/spec/modules/microadBidAdapter_spec.js
index 9eb36d2fa6c..ac1738685db 100644
--- a/test/spec/modules/microadBidAdapter_spec.js
+++ b/test/spec/modules/microadBidAdapter_spec.js
@@ -301,10 +301,6 @@ describe('microadBidAdapter', () => {
userId: {novatiq: {snowflake: 'novatiq-sample'}},
expected: {aids: JSON.stringify([{type: 10, id: 'novatiq-sample'}])}
},
- 'Parrable ID': {
- userId: {parrableId: {eid: 'parrable-sample'}},
- expected: {aids: JSON.stringify([{type: 11, id: 'parrable-sample'}])}
- },
'AudienceOne User ID': {
userId: {dacId: {id: 'audience-one-sample'}},
expected: {aids: JSON.stringify([{type: 12, id: 'audience-one-sample'}])}
diff --git a/test/spec/modules/minutemediaplusBidAdapter_spec.js b/test/spec/modules/minutemediaplusBidAdapter_spec.js
deleted file mode 100644
index 5101f015b0e..00000000000
--- a/test/spec/modules/minutemediaplusBidAdapter_spec.js
+++ /dev/null
@@ -1,654 +0,0 @@
-import {expect} from 'chai';
-import {
- spec as adapter,
- createDomain,
- hashCode,
- extractPID,
- extractCID,
- extractSubDomain,
- getStorageItem,
- setStorageItem,
- tryParseJSON,
- getUniqueDealId,
-} from 'modules/minutemediaplusBidAdapter.js';
-import * as utils from 'src/utils.js';
-import {version} from 'package.json';
-import {useFakeTimers} from 'sinon';
-import {BANNER, VIDEO} from '../../../src/mediaTypes';
-import {config} from '../../../src/config';
-
-export const TEST_ID_SYSTEMS = ['britepoolid', 'criteoId', 'id5id', 'idl_env', 'lipb', 'netId', 'parrableId', 'pubcid', 'tdid', 'pubProvidedId'];
-
-const SUB_DOMAIN = 'exchange';
-
-const BID = {
- 'bidId': '2d52001cabd527',
- 'adUnitCode': 'div-gpt-ad-12345-0',
- 'params': {
- 'subDomain': SUB_DOMAIN,
- 'cId': '59db6b3b4ffaa70004f45cdc',
- 'pId': '59ac17c192832d0011283fe3',
- 'bidFloor': 0.1,
- 'ext': {
- 'param1': 'loremipsum',
- 'param2': 'dolorsitamet'
- }
- },
- 'placementCode': 'div-gpt-ad-1460505748561-0',
- 'sizes': [[300, 250], [300, 600]],
- 'bidderRequestId': '1fdb5ff1b6eaa7',
- 'auctionId': 'auction_id',
- 'bidRequestsCount': 4,
- 'bidderRequestsCount': 3,
- 'bidderWinsCount': 1,
- 'requestId': 'b0777d85-d061-450e-9bc7-260dd54bbb7a',
- 'schain': 'a0819c69-005b-41ed-af06-1be1e0aefefc',
- 'mediaTypes': [BANNER],
- 'ortb2Imp': {
- 'ext': {
- 'gpid': '1234567890',
- tid: 'c881914b-a3b5-4ecf-ad9c-1c2f37c6aabf',
- }
- }
-};
-
-const VIDEO_BID = {
- 'bidId': '2d52001cabd527',
- 'adUnitCode': '63550ad1ff6642d368cba59dh5884270560',
- 'bidderRequestId': '12a8ae9ada9c13',
- 'auctionId': 'auction_id',
- 'bidRequestsCount': 4,
- 'bidderRequestsCount': 3,
- 'bidderWinsCount': 1,
- ortb2Imp: {
- ext: {
- tid: '56e184c6-bde9-497b-b9b9-cf47a61381ee',
- }
- },
- 'schain': 'a0819c69-005b-41ed-af06-1be1e0aefefc',
- 'params': {
- 'subDomain': SUB_DOMAIN,
- 'cId': '635509f7ff6642d368cb9837',
- 'pId': '59ac17c192832d0011283fe3',
- 'bidFloor': 0.1
- },
- 'sizes': [[545, 307]],
- 'mediaTypes': {
- 'video': {
- 'playerSize': [[545, 307]],
- 'context': 'instream',
- 'mimes': [
- 'video/mp4',
- 'application/javascript'
- ],
- 'protocols': [2, 3, 5, 6],
- 'maxduration': 60,
- 'minduration': 0,
- 'startdelay': 0,
- 'linearity': 1,
- 'api': [2],
- 'placement': 1
- }
- }
-}
-
-const BIDDER_REQUEST = {
- 'gdprConsent': {
- 'consentString': 'consent_string',
- 'gdprApplies': true
- },
- 'gppString': 'gpp_string',
- 'gppSid': [7],
- 'uspConsent': 'consent_string',
- 'refererInfo': {
- 'page': 'https://www.greatsite.com',
- 'ref': 'https://www.somereferrer.com'
- },
- 'ortb2': {
- 'regs': {
- 'gpp': 'gpp_string',
- 'gpp_sid': [7]
- },
- 'device': {
- 'sua': {
- 'source': 2,
- 'platform': {
- 'brand': 'Android',
- 'version': ['8', '0', '0']
- },
- 'browsers': [
- {'brand': 'Not_A Brand', 'version': ['99', '0', '0', '0']},
- {'brand': 'Google Chrome', 'version': ['109', '0', '5414', '119']},
- {'brand': 'Chromium', 'version': ['109', '0', '5414', '119']}
- ],
- 'mobile': 1,
- 'model': 'SM-G955U',
- 'bitness': '64',
- 'architecture': ''
- }
- }
- },
-};
-
-const SERVER_RESPONSE = {
- body: {
- cid: 'testcid123',
- results: [{
- 'ad': '',
- 'price': 0.8,
- 'creativeId': '12610997325162499419',
- 'exp': 30,
- 'width': 300,
- 'height': 250,
- 'advertiserDomains': ['securepubads.g.doubleclick.net'],
- 'cookies': [{
- 'src': 'https://sync.com',
- 'type': 'iframe'
- }, {
- 'src': 'https://sync.com',
- 'type': 'img'
- }]
- }]
- }
-};
-
-const VIDEO_SERVER_RESPONSE = {
- body: {
- 'cid': '635509f7ff6642d368cb9837',
- 'results': [{
- 'ad': '',
- 'advertiserDomains': ['minutemedia-prebid.com'],
- 'exp': 60,
- 'width': 545,
- 'height': 307,
- 'mediaType': 'video',
- 'creativeId': '12610997325162499419',
- 'price': 2,
- 'cookies': []
- }]
- }
-};
-
-const REQUEST = {
- data: {
- width: 300,
- height: 250,
- bidId: '2d52001cabd527'
- }
-};
-
-function getTopWindowQueryParams() {
- try {
- const parsedUrl = utils.parseUrl(window.top.document.URL, {decodeSearchAsString: true});
- return parsedUrl.search;
- } catch (e) {
- return '';
- }
-}
-
-describe('MinuteMediaPlus Bid Adapter', function () {
- describe('validtae spec', function () {
- it('exists and is a function', function () {
- expect(adapter.isBidRequestValid).to.exist.and.to.be.a('function');
- });
-
- it('exists and is a function', function () {
- expect(adapter.buildRequests).to.exist.and.to.be.a('function');
- });
-
- it('exists and is a function', function () {
- expect(adapter.interpretResponse).to.exist.and.to.be.a('function');
- });
-
- it('exists and is a function', function () {
- expect(adapter.getUserSyncs).to.exist.and.to.be.a('function');
- });
-
- it('exists and is a string', function () {
- expect(adapter.code).to.exist.and.to.be.a('string');
- });
-
- it('exists and contains media types', function () {
- expect(adapter.supportedMediaTypes).to.exist.and.to.be.an('array').with.length(2);
- expect(adapter.supportedMediaTypes).to.contain.members([BANNER, VIDEO]);
- });
- });
-
- describe('validate bid requests', function () {
- it('should require cId', function () {
- const isValid = adapter.isBidRequestValid({
- params: {
- pId: 'pid'
- }
- });
- expect(isValid).to.be.false;
- });
-
- it('should require pId', function () {
- const isValid = adapter.isBidRequestValid({
- params: {
- cId: 'cid'
- }
- });
- expect(isValid).to.be.false;
- });
-
- it('should validate correctly', function () {
- const isValid = adapter.isBidRequestValid({
- params: {
- cId: 'cid',
- pId: 'pid'
- }
- });
- expect(isValid).to.be.true;
- });
- });
-
- describe('build requests', function () {
- let sandbox;
- before(function () {
- $$PREBID_GLOBAL$$.bidderSettings = {
- mmplus: {
- storageAllowed: true
- }
- };
- sandbox = sinon.sandbox.create();
- sandbox.stub(Date, 'now').returns(1000);
- });
-
- it('should build video request', function () {
- const hashUrl = hashCode(BIDDER_REQUEST.refererInfo.page);
- config.setConfig({
- bidderTimeout: 3000
- });
- const requests = adapter.buildRequests([VIDEO_BID], BIDDER_REQUEST);
- expect(requests).to.have.length(1);
- expect(requests[0]).to.deep.equal({
- method: 'POST',
- url: `${createDomain(SUB_DOMAIN)}/prebid/multi/635509f7ff6642d368cb9837`,
- data: {
- adUnitCode: '63550ad1ff6642d368cba59dh5884270560',
- bidFloor: 0.1,
- bidId: '2d52001cabd527',
- bidderVersion: adapter.version,
- bidderRequestId: '12a8ae9ada9c13',
- cb: 1000,
- gdpr: 1,
- gdprConsent: 'consent_string',
- usPrivacy: 'consent_string',
- gppString: 'gpp_string',
- gppSid: [7],
- prebidVersion: version,
- transactionId: '56e184c6-bde9-497b-b9b9-cf47a61381ee',
- auctionId: 'auction_id',
- bidRequestsCount: 4,
- bidderRequestsCount: 3,
- bidderWinsCount: 1,
- bidderTimeout: 3000,
- publisherId: '59ac17c192832d0011283fe3',
- url: 'https%3A%2F%2Fwww.greatsite.com',
- referrer: 'https://www.somereferrer.com',
- res: `${window.top.screen.width}x${window.top.screen.height}`,
- schain: VIDEO_BID.schain,
- sizes: ['545x307'],
- sua: {
- 'source': 2,
- 'platform': {
- 'brand': 'Android',
- 'version': ['8', '0', '0']
- },
- 'browsers': [
- {'brand': 'Not_A Brand', 'version': ['99', '0', '0', '0']},
- {'brand': 'Google Chrome', 'version': ['109', '0', '5414', '119']},
- {'brand': 'Chromium', 'version': ['109', '0', '5414', '119']}
- ],
- 'mobile': 1,
- 'model': 'SM-G955U',
- 'bitness': '64',
- 'architecture': ''
- },
- uniqueDealId: `${hashUrl}_${Date.now().toString()}`,
- uqs: getTopWindowQueryParams(),
- mediaTypes: {
- video: {
- api: [2],
- context: 'instream',
- linearity: 1,
- maxduration: 60,
- mimes: [
- 'video/mp4',
- 'application/javascript'
- ],
- minduration: 0,
- placement: 1,
- playerSize: [[545, 307]],
- protocols: [2, 3, 5, 6],
- startdelay: 0
- }
- },
- gpid: ''
- }
- });
- });
-
- it('should build banner request for each size', function () {
- const hashUrl = hashCode(BIDDER_REQUEST.refererInfo.page);
- config.setConfig({
- bidderTimeout: 3000
- });
- const requests = adapter.buildRequests([BID], BIDDER_REQUEST);
- expect(requests).to.have.length(1);
- expect(requests[0]).to.deep.equal({
- method: 'POST',
- url: `${createDomain(SUB_DOMAIN)}/prebid/multi/59db6b3b4ffaa70004f45cdc`,
- data: {
- gdprConsent: 'consent_string',
- gdpr: 1,
- gppString: 'gpp_string',
- gppSid: [7],
- usPrivacy: 'consent_string',
- transactionId: 'c881914b-a3b5-4ecf-ad9c-1c2f37c6aabf',
- auctionId: 'auction_id',
- bidRequestsCount: 4,
- bidderRequestsCount: 3,
- bidderWinsCount: 1,
- bidderTimeout: 3000,
- bidderRequestId: '1fdb5ff1b6eaa7',
- sizes: ['300x250', '300x600'],
- sua: {
- 'source': 2,
- 'platform': {
- 'brand': 'Android',
- 'version': ['8', '0', '0']
- },
- 'browsers': [
- {'brand': 'Not_A Brand', 'version': ['99', '0', '0', '0']},
- {'brand': 'Google Chrome', 'version': ['109', '0', '5414', '119']},
- {'brand': 'Chromium', 'version': ['109', '0', '5414', '119']}
- ],
- 'mobile': 1,
- 'model': 'SM-G955U',
- 'bitness': '64',
- 'architecture': ''
- },
- url: 'https%3A%2F%2Fwww.greatsite.com',
- referrer: 'https://www.somereferrer.com',
- cb: 1000,
- bidFloor: 0.1,
- bidId: '2d52001cabd527',
- adUnitCode: 'div-gpt-ad-12345-0',
- publisherId: '59ac17c192832d0011283fe3',
- uniqueDealId: `${hashUrl}_${Date.now().toString()}`,
- bidderVersion: adapter.version,
- prebidVersion: version,
- schain: BID.schain,
- res: `${window.top.screen.width}x${window.top.screen.height}`,
- mediaTypes: [BANNER],
- gpid: '1234567890',
- uqs: getTopWindowQueryParams(),
- 'ext.param1': 'loremipsum',
- 'ext.param2': 'dolorsitamet',
- }
- });
- });
-
- after(function () {
- $$PREBID_GLOBAL$$.bidderSettings = {};
- sandbox.restore();
- });
- });
- describe('getUserSyncs', function () {
- it('should have valid user sync with iframeEnabled', function () {
- const result = adapter.getUserSyncs({iframeEnabled: true}, [SERVER_RESPONSE]);
-
- expect(result).to.deep.equal([{
- type: 'iframe',
- url: 'https://sync.minutemedia-prebid.com/api/sync/iframe/?cid=testcid123&gdpr=0&gdpr_consent=&us_privacy='
- }]);
- });
-
- it('should have valid user sync with cid on response', function () {
- const result = adapter.getUserSyncs({iframeEnabled: true}, [SERVER_RESPONSE]);
- expect(result).to.deep.equal([{
- type: 'iframe',
- url: 'https://sync.minutemedia-prebid.com/api/sync/iframe/?cid=testcid123&gdpr=0&gdpr_consent=&us_privacy='
- }]);
- });
-
- it('should have valid user sync with pixelEnabled', function () {
- const result = adapter.getUserSyncs({pixelEnabled: true}, [SERVER_RESPONSE]);
-
- expect(result).to.deep.equal([{
- 'url': 'https://sync.minutemedia-prebid.com/api/sync/image/?cid=testcid123&gdpr=0&gdpr_consent=&us_privacy=',
- 'type': 'image'
- }]);
- })
-
- it('should generate url with consent data', function () {
- const gdprConsent = {
- gdprApplies: true,
- consentString: 'consent_string'
- };
- const uspConsent = 'usp_string';
- const gppConsent = {
- gppString: 'gpp_string',
- applicableSections: [7]
- }
-
- const result = adapter.getUserSyncs({pixelEnabled: true}, [SERVER_RESPONSE], gdprConsent, uspConsent, gppConsent);
-
- expect(result).to.deep.equal([{
- 'url': 'https://sync.minutemedia-prebid.com/api/sync/image/?cid=testcid123&gdpr=1&gdpr_consent=consent_string&us_privacy=usp_string&gpp=gpp_string&gpp_sid=7',
- 'type': 'image'
- }]);
- });
- });
-
- describe('interpret response', function () {
- it('should return empty array when there is no response', function () {
- const responses = adapter.interpretResponse(null);
- expect(responses).to.be.empty;
- });
-
- it('should return empty array when there is no ad', function () {
- const responses = adapter.interpretResponse({price: 1, ad: ''});
- expect(responses).to.be.empty;
- });
-
- it('should return empty array when there is no price', function () {
- const responses = adapter.interpretResponse({price: null, ad: 'great ad'});
- expect(responses).to.be.empty;
- });
-
- it('should return an array of interpreted banner responses', function () {
- const responses = adapter.interpretResponse(SERVER_RESPONSE, REQUEST);
- expect(responses).to.have.length(1);
- expect(responses[0]).to.deep.equal({
- requestId: '2d52001cabd527',
- cpm: 0.8,
- width: 300,
- height: 250,
- creativeId: '12610997325162499419',
- currency: 'USD',
- netRevenue: true,
- ttl: 30,
- ad: '',
- meta: {
- advertiserDomains: ['securepubads.g.doubleclick.net']
- }
- });
- });
-
- it('should get meta from response metaData', function () {
- const serverResponse = utils.deepClone(SERVER_RESPONSE);
- serverResponse.body.results[0].metaData = {
- advertiserDomains: ['minutemedia-prebid.com'],
- agencyName: 'Agency Name',
- };
- const responses = adapter.interpretResponse(serverResponse, REQUEST);
- expect(responses[0].meta).to.deep.equal({
- advertiserDomains: ['minutemedia-prebid.com'],
- agencyName: 'Agency Name'
- });
- });
-
- it('should return an array of interpreted video responses', function () {
- const responses = adapter.interpretResponse(VIDEO_SERVER_RESPONSE, REQUEST);
- expect(responses).to.have.length(1);
- expect(responses[0]).to.deep.equal({
- requestId: '2d52001cabd527',
- cpm: 2,
- width: 545,
- height: 307,
- mediaType: 'video',
- creativeId: '12610997325162499419',
- currency: 'USD',
- netRevenue: true,
- ttl: 60,
- vastXml: '',
- meta: {
- advertiserDomains: ['minutemedia-prebid.com']
- }
- });
- });
-
- it('should take default TTL', function () {
- const serverResponse = utils.deepClone(SERVER_RESPONSE);
- delete serverResponse.body.results[0].exp;
- const responses = adapter.interpretResponse(serverResponse, REQUEST);
- expect(responses).to.have.length(1);
- expect(responses[0].ttl).to.equal(300);
- });
- });
-
- describe('user id system', function () {
- TEST_ID_SYSTEMS.forEach((idSystemProvider) => {
- const id = Date.now().toString();
- const bid = utils.deepClone(BID);
-
- const userId = (function () {
- switch (idSystemProvider) {
- case 'lipb':
- return {lipbid: id};
- case 'parrableId':
- return {eid: id};
- case 'id5id':
- return {uid: id};
- default:
- return id;
- }
- })();
-
- bid.userId = {
- [idSystemProvider]: userId
- };
-
- it(`should include 'uid.${idSystemProvider}' in request params`, function () {
- const requests = adapter.buildRequests([bid], BIDDER_REQUEST);
- expect(requests[0].data[`uid.${idSystemProvider}`]).to.equal(id);
- });
- });
- });
-
- describe('alternate param names extractors', function () {
- it('should return undefined when param not supported', function () {
- const cid = extractCID({'c_id': '1'});
- const pid = extractPID({'p_id': '1'});
- const subDomain = extractSubDomain({'sub_domain': 'prebid'});
- expect(cid).to.be.undefined;
- expect(pid).to.be.undefined;
- expect(subDomain).to.be.undefined;
- });
-
- it('should return value when param supported', function () {
- const cid = extractCID({'cID': '1'});
- const pid = extractPID({'Pid': '2'});
- const subDomain = extractSubDomain({'subDOMAIN': 'prebid'});
- expect(cid).to.be.equal('1');
- expect(pid).to.be.equal('2');
- expect(subDomain).to.be.equal('prebid');
- });
- });
-
- describe('unique deal id', function () {
- before(function () {
- $$PREBID_GLOBAL$$.bidderSettings = {
- mmplus: {
- storageAllowed: true
- }
- };
- });
- after(function () {
- $$PREBID_GLOBAL$$.bidderSettings = {};
- });
- const key = 'myKey';
- let uniqueDealId;
- beforeEach(() => {
- uniqueDealId = getUniqueDealId(key, 0);
- })
-
- it('should get current unique deal id', function (done) {
- // waiting some time so `now` will become past
- setTimeout(() => {
- const current = getUniqueDealId(key);
- expect(current).to.be.equal(uniqueDealId);
- done();
- }, 200);
- });
-
- it('should get new unique deal id on expiration', function (done) {
- setTimeout(() => {
- const current = getUniqueDealId(key, 100);
- expect(current).to.not.be.equal(uniqueDealId);
- done();
- }, 200)
- });
- });
-
- describe('storage utils', function () {
- before(function () {
- $$PREBID_GLOBAL$$.bidderSettings = {
- mmplus: {
- storageAllowed: true
- }
- };
- });
- after(function () {
- $$PREBID_GLOBAL$$.bidderSettings = {};
- });
- it('should get value from storage with create param', function () {
- const now = Date.now();
- const clock = useFakeTimers({
- shouldAdvanceTime: true,
- now
- });
- setStorageItem('myKey', 2020);
- const {value, created} = getStorageItem('myKey');
- expect(created).to.be.equal(now);
- expect(value).to.be.equal(2020);
- expect(typeof value).to.be.equal('number');
- expect(typeof created).to.be.equal('number');
- clock.restore();
- });
-
- it('should get external stored value', function () {
- const value = 'superman'
- window.localStorage.setItem('myExternalKey', value);
- const item = getStorageItem('myExternalKey');
- expect(item).to.be.equal(value);
- });
-
- it('should parse JSON value', function () {
- const data = JSON.stringify({event: 'send'});
- const {event} = tryParseJSON(data);
- expect(event).to.be.equal('send');
- });
-
- it('should get original value on parse fail', function () {
- const value = 21;
- const parsed = tryParseJSON(value);
- expect(typeof parsed).to.be.equal('number');
- expect(parsed).to.be.equal(value);
- });
- });
-});
diff --git a/test/spec/modules/mobfoxpbBidAdapter_spec.js b/test/spec/modules/mobfoxpbBidAdapter_spec.js
index a4e58afbd1b..ad88f18eb4c 100644
--- a/test/spec/modules/mobfoxpbBidAdapter_spec.js
+++ b/test/spec/modules/mobfoxpbBidAdapter_spec.js
@@ -83,7 +83,7 @@ describe('MobfoxHBBidAdapter', function () {
let placement = data['placements'][0];
expect(placement).to.be.an('object');
expect(placement).to.have.keys('placementId', 'bidId', 'traffic', 'playerSize', 'wPlayer', 'hPlayer', 'schain', 'bidfloor',
- 'minduration', 'maxduration', 'mimes', 'protocols', 'startdelay', 'placement',
+ 'minduration', 'maxduration', 'mimes', 'protocols', 'startdelay', 'placement', 'plcmt',
'skip', 'skipafter', 'minbitrate', 'maxbitrate', 'delivery', 'playbackmethod', 'api', 'linearity');
expect(placement.traffic).to.equal(VIDEO);
expect(placement.wPlayer).to.equal(playerSize[0]);
diff --git a/test/spec/modules/mytargetBidAdapter_spec.js b/test/spec/modules/mytargetBidAdapter_spec.js
deleted file mode 100644
index 8880efd3d7c..00000000000
--- a/test/spec/modules/mytargetBidAdapter_spec.js
+++ /dev/null
@@ -1,199 +0,0 @@
-import { expect } from 'chai';
-import { spec } from 'modules/mytargetBidAdapter';
-
-describe('MyTarget Adapter', function() {
- describe('isBidRequestValid', function () {
- it('should return true when required params found', function () {
- let validBid = {
- bidder: 'mytarget',
- params: {
- placementId: '1'
- }
- };
-
- expect(spec.isBidRequestValid(validBid)).to.equal(true);
- });
-
- it('should return false for when required params are not passed', function () {
- let invalidBid = {
- bidder: 'mytarget',
- params: {}
- };
-
- expect(spec.isBidRequestValid(invalidBid)).to.equal(false);
- });
- });
-
- describe('buildRequests', function () {
- let bidRequests = [
- {
- bidId: 'bid1',
- bidder: 'mytarget',
- params: {
- placementId: '1'
- }
- },
- {
- bidId: 'bid2',
- bidder: 'mytarget',
- params: {
- placementId: '2',
- position: 1,
- response: 1,
- bidfloor: 10000
- }
- }
- ];
- let bidderRequest = {
- refererInfo: {
- page: 'https://example.com?param=value'
- }
- };
-
- let bidRequest = spec.buildRequests(bidRequests, bidderRequest);
-
- it('should build single POST request for multiple bids', function() {
- expect(bidRequest.method).to.equal('POST');
- expect(bidRequest.url).to.equal('//ad.mail.ru/hbid_prebid/');
- expect(bidRequest.data).to.be.an('object');
- expect(bidRequest.data.places).to.be.an('array');
- expect(bidRequest.data.places).to.have.lengthOf(2);
- });
-
- it('should pass bid parameters', function() {
- let place1 = bidRequest.data.places[0];
- let place2 = bidRequest.data.places[1];
-
- expect(place1.placementId).to.equal('1');
- expect(place2.placementId).to.equal('2');
- expect(place1.id).to.equal('bid1');
- expect(place2.id).to.equal('bid2');
- });
-
- it('should pass default position and response type', function() {
- let place = bidRequest.data.places[0];
-
- expect(place.position).to.equal(0);
- expect(place.response).to.equal(0);
- });
-
- it('should pass provided position and response type', function() {
- let place = bidRequest.data.places[1];
-
- expect(place.position).to.equal(1);
- expect(place.response).to.equal(1);
- });
-
- it('should not pass default bidfloor', function() {
- let place = bidRequest.data.places[0];
-
- expect(place.bidfloor).not.to.exist;
- });
-
- it('should not pass provided bidfloor', function() {
- let place = bidRequest.data.places[1];
-
- expect(place.bidfloor).to.exist;
- expect(place.bidfloor).to.equal(10000);
- });
-
- it('should pass site parameters', function() {
- let site = bidRequest.data.site;
-
- expect(site).to.be.an('object');
- expect(site.sitename).to.equal('example.com');
- expect(site.page).to.equal('https://example.com?param=value');
- });
-
- it('should pass settings', function() {
- let settings = bidRequest.data.settings;
-
- expect(settings).to.be.an('object');
- expect(settings.currency).to.equal('RUB');
- expect(settings.windowSize).to.be.an('object');
- expect(settings.windowSize.width).to.equal(window.screen.width);
- expect(settings.windowSize.height).to.equal(window.screen.height);
- });
- });
-
- describe('interpretResponse', function () {
- let serverResponse = {
- body: {
- 'bidder_status':
- [
- {
- 'bidder': 'mail.ru',
- 'response_time_ms': 100,
- 'num_bids': 2
- }
- ],
- 'bids':
- [
- {
- 'displayUrl': 'https://ad.mail.ru/hbid_imp/12345',
- 'size':
- {
- 'height': '400',
- 'width': '240'
- },
- 'id': '1',
- 'currency': 'RUB',
- 'price': 100,
- 'ttl': 360,
- 'creativeId': '123456'
- },
- {
- 'adm': 'Ad
',
- 'size':
- {
- 'height': '250',
- 'width': '300'
- },
- 'id': '2',
- 'price': 200
- }
- ]
- }
- };
-
- let bids = spec.interpretResponse(serverResponse);
-
- it('should return empty array for response with no bids', function() {
- let emptyBids = spec.interpretResponse({ body: {} });
-
- expect(emptyBids).to.have.lengthOf(0);
- });
-
- it('should parse all bids from response', function() {
- expect(bids).to.have.lengthOf(2);
- });
-
- it('should parse bid with ad url', function() {
- expect(bids[0].requestId).to.equal('1');
- expect(bids[0].cpm).to.equal(100);
- expect(bids[0].width).to.equal('240');
- expect(bids[0].height).to.equal('400');
- expect(bids[0].ttl).to.equal(360);
- expect(bids[0].currency).to.equal('RUB');
- expect(bids[0]).to.have.property('creativeId');
- expect(bids[0].creativeId).to.equal('123456');
- expect(bids[0].netRevenue).to.equal(true);
- expect(bids[0].adUrl).to.equal('https://ad.mail.ru/hbid_imp/12345');
- expect(bids[0]).to.not.have.property('ad');
- });
-
- it('should parse bid with ad markup', function() {
- expect(bids[1].requestId).to.equal('2');
- expect(bids[1].cpm).to.equal(200);
- expect(bids[1].width).to.equal('300');
- expect(bids[1].height).to.equal('250');
- expect(bids[1].ttl).to.equal(180);
- expect(bids[1].currency).to.equal('RUB');
- expect(bids[1]).to.have.property('creativeId');
- expect(bids[1].creativeId).not.to.equal('123456');
- expect(bids[1].netRevenue).to.equal(true);
- expect(bids[1].ad).to.equal('Ad
');
- expect(bids[1]).to.not.have.property('adUrl');
- });
- });
-});
diff --git a/test/spec/modules/omsBidAdapter_spec.js b/test/spec/modules/omsBidAdapter_spec.js
index 10a9c4c946c..18b878acac3 100644
--- a/test/spec/modules/omsBidAdapter_spec.js
+++ b/test/spec/modules/omsBidAdapter_spec.js
@@ -107,9 +107,9 @@ describe('omsBidAdapter', function () {
});
it('should return false when require params are not passed', function () {
- let bid = Object.assign({}, bid);
- bid.params = {};
- expect(spec.isBidRequestValid(bid)).to.equal(false);
+ let invalidBid = Object.assign({}, bid);
+ invalidBid.params = {};
+ expect(spec.isBidRequestValid(invalidBid)).to.equal(false);
});
});
diff --git a/test/spec/modules/onetagBidAdapter_spec.js b/test/spec/modules/onetagBidAdapter_spec.js
index 3ceaec13cd5..a6edaaabe79 100644
--- a/test/spec/modules/onetagBidAdapter_spec.js
+++ b/test/spec/modules/onetagBidAdapter_spec.js
@@ -436,13 +436,15 @@ describe('onetag', function () {
'auctionId': '1d1a030790a475',
'bidderRequestId': '22edbae2733bf6',
'timeout': 3000,
- 'fledgeEnabled': true
+ 'paapi': {
+ 'enabled': true
+ }
};
let serverRequest = spec.buildRequests([bannerBid], bidderRequest);
const payload = JSON.parse(serverRequest.data);
expect(payload.fledgeEnabled).to.exist;
- expect(payload.fledgeEnabled).to.exist.and.to.equal(bidderRequest.fledgeEnabled);
+ expect(payload.fledgeEnabled).to.exist.and.to.equal(bidderRequest.paapi.enabled);
});
it('Should send FLEDGE eligibility flag when FLEDGE is not enabled', function () {
let bidderRequest = {
@@ -450,13 +452,15 @@ describe('onetag', function () {
'auctionId': '1d1a030790a475',
'bidderRequestId': '22edbae2733bf6',
'timeout': 3000,
- 'fledgeEnabled': false
+ paapi: {
+ enabled: false
+ }
};
let serverRequest = spec.buildRequests([bannerBid], bidderRequest);
const payload = JSON.parse(serverRequest.data);
expect(payload.fledgeEnabled).to.exist;
- expect(payload.fledgeEnabled).to.exist.and.to.equal(bidderRequest.fledgeEnabled);
+ expect(payload.fledgeEnabled).to.exist.and.to.equal(bidderRequest.paapi.enabled);
});
it('Should send FLEDGE eligibility flag set to false when fledgeEnabled is not defined', function () {
let bidderRequest = {
@@ -485,7 +489,7 @@ describe('onetag', function () {
expect(fledgeInterpretedResponse.bids).to.satisfy(function (value) {
return value === null || Array.isArray(value);
});
- expect(fledgeInterpretedResponse.fledgeAuctionConfigs).to.be.an('array').that.is.not.empty;
+ expect(fledgeInterpretedResponse.paapi).to.be.an('array').that.is.not.empty;
for (let i = 0; i < interpretedResponse.length; i++) {
let dataItem = interpretedResponse[i];
expect(dataItem).to.include.all.keys('requestId', 'cpm', 'width', 'height', 'ttl', 'creativeId', 'netRevenue', 'currency', 'meta', 'dealId');
diff --git a/test/spec/modules/onomagicBidAdapter_spec.js b/test/spec/modules/onomagicBidAdapter_spec.js
index 6ddc0edd477..c636542c9c9 100644
--- a/test/spec/modules/onomagicBidAdapter_spec.js
+++ b/test/spec/modules/onomagicBidAdapter_spec.js
@@ -92,9 +92,9 @@ describe('onomagicBidAdapter', function() {
});
it('should return false when require params are not passed', function () {
- let bid = Object.assign({}, bid);
- bid.params = {};
- expect(spec.isBidRequestValid(bid)).to.equal(false);
+ let invalidBid = Object.assign({}, bid);
+ invalidBid.params = {};
+ expect(spec.isBidRequestValid(invalidBid)).to.equal(false);
});
});
diff --git a/test/spec/modules/openwebBidAdapter_spec.js b/test/spec/modules/openwebBidAdapter_spec.js
index 34f92a76c42..f6f6ad22476 100644
--- a/test/spec/modules/openwebBidAdapter_spec.js
+++ b/test/spec/modules/openwebBidAdapter_spec.js
@@ -25,7 +25,8 @@ describe('openwebAdapter', function () {
'adUnitCode': 'adunit-code',
'sizes': [['640', '480']],
'params': {
- 'org': 'jdye8weeyirk00000001'
+ 'org': 'jdye8weeyirk00000001',
+ 'placementId': '123'
}
};
@@ -33,7 +34,7 @@ describe('openwebAdapter', function () {
expect(spec.isBidRequestValid(bid)).to.equal(true);
});
- it('should return false when required params are not found', function () {
+ it('should return false when org param is not found', function () {
const newBid = Object.assign({}, bid);
delete newBid.params;
newBid.params = {
@@ -41,6 +42,15 @@ describe('openwebAdapter', function () {
};
expect(spec.isBidRequestValid(newBid)).to.equal(false);
});
+
+ it('should return false when placementId param is not found', function () {
+ const newBid = Object.assign({}, bid);
+ delete newBid.params;
+ newBid.params = {
+ 'placementId': null
+ };
+ expect(spec.isBidRequestValid(newBid)).to.equal(false);
+ });
});
describe('buildRequests', function () {
@@ -50,7 +60,8 @@ describe('openwebAdapter', function () {
'adUnitCode': 'adunit-code',
'sizes': [[640, 480]],
'params': {
- 'org': 'jdye8weeyirk00000001'
+ 'org': 'jdye8weeyirk00000001',
+ 'placementId': '123'
},
'bidId': '299ffc8cca0b87',
'loop': 1,
@@ -103,15 +114,13 @@ describe('openwebAdapter', function () {
const bidderRequest = {
bidderCode: 'openweb',
}
- const placementId = '12345678';
const api = [1, 2];
const mimes = ['application/javascript', 'video/mp4', 'video/quicktime'];
const protocols = [2, 3, 5, 6];
it('sends the placementId to ENDPOINT via POST', function () {
- bidRequests[0].params.placementId = placementId;
const request = spec.buildRequests(bidRequests, bidderRequest);
- expect(request.data.bids[0].placementId).to.equal(placementId);
+ expect(request.data.bids[0].placementId).to.equal('123');
});
it('sends the plcmt to ENDPOINT via POST', function () {
diff --git a/test/spec/modules/openxBidAdapter_spec.js b/test/spec/modules/openxBidAdapter_spec.js
index 25862eac83f..ad4ee1e74ce 100644
--- a/test/spec/modules/openxBidAdapter_spec.js
+++ b/test/spec/modules/openxBidAdapter_spec.js
@@ -10,14 +10,15 @@ import 'modules/currency.js';
import 'modules/userId/index.js';
import 'modules/multibid/index.js';
import 'modules/priceFloors.js';
-import 'modules/consentManagement.js';
+import 'modules/consentManagementTcf.js';
import 'modules/consentManagementUsp.js';
import 'modules/schain.js';
+import 'modules/paapi.js';
+
import {deepClone} from 'src/utils.js';
import {version} from 'package.json';
import {syncAddFPDToBidderRequest} from '../../helpers/fpd.js';
import {hook} from '../../../src/hook.js';
-
const DEFAULT_SYNC = SYNC_URL + '?ph=' + DEFAULT_PH;
const BidRequestBuilder = function BidRequestBuilder(options) {
@@ -187,9 +188,9 @@ describe('OpenxRtbAdapter', function () {
});
it('should return false when required params are not passed', function () {
- let videoBidWithMediaTypes = Object.assign({}, videoBidWithMediaTypes);
- videoBidWithMediaTypes.params = {};
- expect(spec.isBidRequestValid(videoBidWithMediaTypes)).to.equal(false);
+ let invalidVideoBidWithMediaTypes = Object.assign({}, videoBidWithMediaTypes);
+ invalidVideoBidWithMediaTypes.params = {};
+ expect(spec.isBidRequestValid(invalidVideoBidWithMediaTypes)).to.equal(false);
});
});
describe('and request config uses both delDomain and platform', () => {
@@ -216,9 +217,9 @@ describe('OpenxRtbAdapter', function () {
});
it('should return false when required params are not passed', function () {
- let videoBidWithMediaTypes = Object.assign({}, videoBidWithDelDomainAndPlatform);
- videoBidWithMediaTypes.params = {};
- expect(spec.isBidRequestValid(videoBidWithMediaTypes)).to.equal(false);
+ let invalidVideoBidWithMediaTypes = Object.assign({}, videoBidWithDelDomainAndPlatform);
+ invalidVideoBidWithMediaTypes.params = {};
+ expect(spec.isBidRequestValid(invalidVideoBidWithMediaTypes)).to.equal(false);
});
});
describe('and request config uses mediaType', () => {
@@ -241,10 +242,10 @@ describe('OpenxRtbAdapter', function () {
});
it('should return false when required params are not passed', function () {
- let videoBidWithMediaType = Object.assign({}, videoBidWithMediaType);
- delete videoBidWithMediaType.params;
- videoBidWithMediaType.params = {};
- expect(spec.isBidRequestValid(videoBidWithMediaType)).to.equal(false);
+ let invalidVideoBidWithMediaType = Object.assign({}, videoBidWithMediaType);
+ delete invalidVideoBidWithMediaType.params;
+ invalidVideoBidWithMediaType.params = {};
+ expect(spec.isBidRequestValid(invalidVideoBidWithMediaType)).to.equal(false);
});
});
});
@@ -1037,7 +1038,9 @@ describe('OpenxRtbAdapter', function () {
it('when FLEDGE is enabled, should send whatever is set in ortb2imp.ext.ae in all bid requests', function () {
const request = spec.buildRequests(bidRequestsWithMediaTypes, {
...mockBidderRequest,
- fledgeEnabled: true
+ paapi: {
+ enabled: true
+ }
});
expect(request[0].data.imp[0].ext.ae).to.equal(2);
});
@@ -1503,13 +1506,13 @@ describe('OpenxRtbAdapter', function () {
it('should return FLEDGE auction_configs alongside bids', function () {
expect(response).to.have.property('bids');
- expect(response).to.have.property('fledgeAuctionConfigs');
- expect(response.fledgeAuctionConfigs.length).to.equal(1);
- expect(response.fledgeAuctionConfigs[0].bidId).to.equal('test-bid-id');
+ expect(response).to.have.property('paapi');
+ expect(response.paapi.length).to.equal(1);
+ expect(response.paapi[0].bidId).to.equal('test-bid-id');
});
it('should inject ortb2Imp in auctionSignals', function () {
- const auctionConfig = response.fledgeAuctionConfigs[0].config;
+ const auctionConfig = response.paapi[0].config;
expect(auctionConfig).to.deep.include({
auctionSignals: {
ortb2Imp: {
diff --git a/test/spec/modules/optableBidAdapter_spec.js b/test/spec/modules/optableBidAdapter_spec.js
index d7f2230328e..ef04474c270 100644
--- a/test/spec/modules/optableBidAdapter_spec.js
+++ b/test/spec/modules/optableBidAdapter_spec.js
@@ -78,10 +78,10 @@ describe('optableBidAdapter', function() {
}
};
- it('maps fledgeAuctionConfigs from ext.optable.fledge.auctionconfigs', function() {
+ it('maps paapi from ext.optable.fledge.auctionconfigs', function() {
const request = spec.buildRequests([validBid], bidderRequest);
const result = spec.interpretResponse(response, request);
- expect(result.fledgeAuctionConfigs).to.deep.equal([
+ expect(result.paapi).to.deep.equal([
{ bidId: 'bid123', config: { seller: 'https://ads.optable.co' } }
]);
});
diff --git a/test/spec/modules/paapiForGpt_spec.js b/test/spec/modules/paapiForGpt_spec.js
new file mode 100644
index 00000000000..9a6637f82aa
--- /dev/null
+++ b/test/spec/modules/paapiForGpt_spec.js
@@ -0,0 +1,216 @@
+import {
+ getPAAPISizeHook,
+ onAuctionConfigFactory,
+ setPAAPIConfigFactory, setTargetingHookFactory,
+ slotConfigurator
+} from 'modules/paapiForGpt.js';
+import * as gptUtils from '../../../libraries/gptUtils/gptUtils.js';
+import 'modules/appnexusBidAdapter.js';
+import 'modules/rubiconBidAdapter.js';
+import {deepSetValue} from '../../../src/utils.js';
+import {config} from 'src/config.js';
+
+describe('paapiForGpt module', () => {
+ let sandbox, fledgeAuctionConfig;
+
+ beforeEach(() => {
+ sandbox = sinon.sandbox.create();
+ fledgeAuctionConfig = {
+ seller: 'bidder',
+ mock: 'config'
+ };
+ });
+ afterEach(() => {
+ sandbox.restore();
+ });
+
+ describe('slotConfigurator', () => {
+ let setGptConfig;
+ function mockGptSlot(auPath) {
+ return {
+ setConfig: sinon.stub(),
+ getAdUnitPath: () => auPath
+ }
+ }
+ beforeEach(() => {
+ setGptConfig = slotConfigurator();
+ });
+
+ Object.entries({
+ 'single slot': [mockGptSlot('mock/gpt/au')],
+ 'multiple slots': [mockGptSlot('mock/gpt/au'), mockGptSlot('mock/gpt/au2')]
+ }).forEach(([t, gptSlots]) => {
+ describe(`when ad unit code matches ${t}`, () => {
+ it('should set GPT slot config', () => {
+ setGptConfig('au', gptSlots, [fledgeAuctionConfig]);
+ gptSlots.forEach(slot => {
+ sinon.assert.calledWith(slot.setConfig, {
+ componentAuction: [{
+ configKey: 'bidder',
+ auctionConfig: fledgeAuctionConfig,
+ }]
+ });
+ })
+ });
+ describe('when reset = true', () => {
+ it('should reset GPT slot config', () => {
+ setGptConfig('au', gptSlots, [fledgeAuctionConfig]);
+ gptSlots.forEach(slot => slot.setConfig.resetHistory());
+ setGptConfig('au', gptSlots, [], true);
+ gptSlots.forEach(slot => {
+ sinon.assert.calledWith(slot.setConfig, {
+ componentAuction: [{
+ configKey: 'bidder',
+ auctionConfig: null
+ }]
+ });
+ })
+ });
+
+ it('should reset only sellers with no fresh config', () => {
+ setGptConfig('au', gptSlots, [{seller: 's1'}, {seller: 's2'}]);
+ gptSlots.forEach(slot => slot.setConfig.resetHistory());
+ setGptConfig('au', gptSlots, [{seller: 's1'}], true);
+ gptSlots.forEach(slot => {
+ sinon.assert.calledWith(slot.setConfig, {
+ componentAuction: [{
+ configKey: 's1',
+ auctionConfig: {seller: 's1'}
+ }, {
+ configKey: 's2',
+ auctionConfig: null
+ }]
+ })
+ })
+ });
+
+ it('should not reset sellers that were already reset', () => {
+ setGptConfig('au', gptSlots, [{seller: 's1'}]);
+ setGptConfig('au', gptSlots, [], true);
+ gptSlots.forEach(slot => slot.setConfig.resetHistory());
+ setGptConfig('au', gptSlots, [], true);
+ gptSlots.forEach(slot => sinon.assert.notCalled(slot.setConfig));
+ })
+
+ it('should keep track of configuration history by ad unit', () => {
+ setGptConfig('au1', gptSlots, [{seller: 's1'}]);
+ setGptConfig('au1', gptSlots, [{seller: 's2'}], false);
+ setGptConfig('au2', gptSlots, [{seller: 's3'}]);
+ gptSlots.forEach(slot => slot.setConfig.resetHistory());
+ setGptConfig('au1', gptSlots, [], true);
+ gptSlots.forEach(slot => {
+ sinon.assert.calledWith(slot.setConfig, {
+ componentAuction: [{
+ configKey: 's1',
+ auctionConfig: null
+ }, {
+ configKey: 's2',
+ auctionConfig: null
+ }]
+ });
+ })
+ })
+ });
+ })
+ })
+ });
+ describe('setTargeting hook', () => {
+ let setPaapiConfig, setTargetingHook, next;
+ beforeEach(() => {
+ setPaapiConfig = sinon.stub()
+ setTargetingHook = setTargetingHookFactory(setPaapiConfig);
+ next = sinon.stub();
+ });
+ function expectFilters(...filters) {
+ expect(setPaapiConfig.args.length).to.eql(filters.length)
+ filters.forEach(filter => {
+ sinon.assert.calledWith(setPaapiConfig, filter, 'mock-matcher')
+ })
+ }
+ function runHook(adUnit) {
+ setTargetingHook(next, adUnit, 'mock-matcher');
+ sinon.assert.calledWith(next, adUnit, 'mock-matcher');
+ }
+ it('should invoke with no filters when adUnit is undef', () => {
+ runHook();
+ expectFilters(undefined);
+ });
+ it('should invoke once when adUnit is a string', () => {
+ runHook('mock-au');
+ expectFilters({adUnitCode: 'mock-au'})
+ });
+ it('should invoke once per ad unit when an array', () => {
+ runHook(['au1', 'au2']);
+ expectFilters({adUnitCode: 'au1'}, {adUnitCode: 'au2'});
+ })
+ })
+ describe('setPAAPIConfigForGpt', () => {
+ let getPAAPIConfig, setGptConfig, getSlots, setPAAPIConfigForGPT;
+ beforeEach(() => {
+ getPAAPIConfig = sinon.stub();
+ setGptConfig = sinon.stub();
+ getSlots = sinon.stub().callsFake((codes) => Object.fromEntries(codes.map(code => [code, ['mock-slot']])))
+ setPAAPIConfigForGPT = setPAAPIConfigFactory(getPAAPIConfig, setGptConfig, getSlots);
+ });
+
+ Object.entries({
+ missing: null,
+ empty: {}
+ }).forEach(([t, configs]) => {
+ it(`does not set GPT slot config when config is ${t}`, () => {
+ getPAAPIConfig.returns(configs);
+ setPAAPIConfigForGPT('mock-filters');
+ sinon.assert.calledWith(getPAAPIConfig, 'mock-filters');
+ sinon.assert.notCalled(setGptConfig);
+ })
+ });
+
+ it('passes customSlotMatching to getSlots', () => {
+ getPAAPIConfig.returns({au1: {}});
+ setPAAPIConfigForGPT('mock-filters', 'mock-custom-matching');
+ sinon.assert.calledWith(getSlots, ['au1'], 'mock-custom-matching');
+ })
+
+ it('sets GPT slot config for each ad unit that has PAAPI config, and resets the rest', () => {
+ const cfg = {
+ au1: {
+ componentAuctions: [{seller: 's1'}, {seller: 's2'}]
+ },
+ au2: {
+ componentAuctions: [{seller: 's3'}]
+ },
+ au3: null
+ }
+ getPAAPIConfig.returns(cfg);
+ setPAAPIConfigForGPT('mock-filters');
+ sinon.assert.calledWith(getPAAPIConfig, 'mock-filters');
+ Object.entries(cfg).forEach(([au, config]) => {
+ sinon.assert.calledWith(setGptConfig, au, ['mock-slot'], config?.componentAuctions ?? [], true);
+ })
+ });
+ });
+
+ describe('getPAAPISizeHook', () => {
+ let next;
+ beforeEach(() => {
+ next = sinon.stub();
+ next.bail = sinon.stub();
+ });
+
+ it('should pick largest supported size over larger unsupported size', () => {
+ getPAAPISizeHook(next, [[999, 999], [300, 250], [300, 600], [1234, 4321]]);
+ sinon.assert.calledWith(next.bail, [300, 600]);
+ });
+
+ Object.entries({
+ 'present': [],
+ 'supported': [[123, 4], [321, 5]],
+ 'defined': undefined,
+ }).forEach(([t, sizes]) => {
+ it(`should defer to next when no size is ${t}`, () => {
+ getPAAPISizeHook(next, sizes);
+ sinon.assert.calledWith(next, sizes);
+ })
+ })
+ })
+});
diff --git a/test/spec/modules/paapi_spec.js b/test/spec/modules/paapi_spec.js
index 768e2ba8853..7814c09ea61 100644
--- a/test/spec/modules/paapi_spec.js
+++ b/test/spec/modules/paapi_spec.js
@@ -40,824 +40,804 @@ describe('paapi module', () => {
reset();
});
- [
- 'fledgeForGpt',
- 'paapi'
- ].forEach(configNS => {
- describe(`using ${configNS} for configuration`, () => {
- let getPAAPISizeStub;
-
- function getPAAPISizeHook(next, sizes) {
- next.bail(getPAAPISizeStub(sizes));
- }
+ describe(`using paapi configuration`, () => {
+ let getPAAPISizeStub;
- before(() => {
- getPAAPISize.before(getPAAPISizeHook, 100);
- });
+ function getPAAPISizeHook(next, sizes) {
+ next.bail(getPAAPISizeStub(sizes));
+ }
- after(() => {
- getPAAPISize.getHooks({hook: getPAAPISizeHook}).remove();
- });
+ before(() => {
+ getPAAPISize.before(getPAAPISizeHook, 100);
+ });
+ after(() => {
+ getPAAPISize.getHooks({hook: getPAAPISizeHook}).remove();
+ });
+
+ beforeEach(() => {
+ getPAAPISizeStub = sinon.stub();
+ });
+
+ describe('getPAAPIConfig', function () {
+ let nextFnSpy, auctionConfig, paapiConfig;
+ before(() => {
+ config.setConfig({paapi: {enabled: true}});
+ });
beforeEach(() => {
- getPAAPISizeStub = sinon.stub();
+ auctionConfig = {
+ seller: 'bidder',
+ mock: 'config'
+ };
+ paapiConfig = {
+ config: auctionConfig
+ };
+ nextFnSpy = sinon.spy();
});
- describe('getPAAPIConfig', function () {
- let nextFnSpy, auctionConfig, paapiConfig;
- before(() => {
- config.setConfig({[configNS]: {enabled: true}});
+ describe('on a single auction', function () {
+ const auctionId = 'aid';
+ beforeEach(function () {
+ sandbox.stub(auctionManager, 'index').value(stubAuctionIndex({auctionId}));
});
- beforeEach(() => {
- auctionConfig = {
- seller: 'bidder',
- mock: 'config'
- };
- paapiConfig = {
- config: auctionConfig
- };
- nextFnSpy = sinon.spy();
+
+ it('should call next()', function () {
+ const request = {auctionId, adUnitCode: 'auc'};
+ addPaapiConfigHook(nextFnSpy, request, paapiConfig);
+ sinon.assert.calledWith(nextFnSpy, request, paapiConfig);
});
- describe('on a single auction', function () {
- const auctionId = 'aid';
- beforeEach(function () {
- sandbox.stub(auctionManager, 'index').value(stubAuctionIndex({auctionId}));
+ describe('igb', () => {
+ let igb1, igb2, buyerAuctionConfig;
+ beforeEach(() => {
+ igb1 = {
+ origin: 'buyer1'
+ };
+ igb2 = {
+ origin: 'buyer2'
+ };
+ buyerAuctionConfig = {
+ seller: 'seller',
+ decisionLogicURL: 'seller-decision-logic'
+ };
+ config.mergeConfig({
+ paapi: {
+ componentSeller: {
+ auctionConfig: buyerAuctionConfig
+ }
+ }
+ });
});
- it('should call next()', function () {
- const request = {auctionId, adUnitCode: 'auc'};
- addPaapiConfigHook(nextFnSpy, request, paapiConfig);
- sinon.assert.calledWith(nextFnSpy, request, paapiConfig);
+ function addIgb(request, igb) {
+ addPaapiConfigHook(nextFnSpy, Object.assign({auctionId}, request), {igb});
+ }
+
+ it('should be collected into an auction config', () => {
+ addIgb({adUnitCode: 'au1'}, igb1);
+ addIgb({adUnitCode: 'au1'}, igb2);
+ events.emit(EVENTS.AUCTION_END, {auctionId, adUnitCodes: ['au1']});
+ const buyerConfig = getPAAPIConfig({auctionId}).au1.componentAuctions[0];
+ sinon.assert.match(buyerConfig, {
+ interestGroupBuyers: [igb1.origin, igb2.origin],
+ ...buyerAuctionConfig
+ });
});
- describe('igb', () => {
- let igb1, igb2, buyerAuctionConfig;
+ describe('FPD', () => {
+ let ortb2, ortb2Imp;
beforeEach(() => {
- igb1 = {
- origin: 'buyer1'
- };
- igb2 = {
- origin: 'buyer2'
- };
- buyerAuctionConfig = {
- seller: 'seller',
- decisionLogicURL: 'seller-decision-logic'
- };
- config.mergeConfig({
- [configNS]: {
- componentSeller: {
- auctionConfig: buyerAuctionConfig
- }
- }
- });
+ ortb2 = {'fpd': 1};
+ ortb2Imp = {'fpd': 2};
});
- function addIgb(request, igb) {
- addPaapiConfigHook(nextFnSpy, Object.assign({auctionId}, request), {igb});
+ function getBuyerAuctionConfig() {
+ addIgb({adUnitCode: 'au1', ortb2, ortb2Imp}, igb1);
+ events.emit(EVENTS.AUCTION_END, {auctionId, adUnitCodes: ['au1']});
+ return getPAAPIConfig({auctionId}).au1.componentAuctions[0];
}
- it('should be collected into an auction config', () => {
- addIgb({adUnitCode: 'au1'}, igb1);
- addIgb({adUnitCode: 'au1'}, igb2);
- events.emit(EVENTS.AUCTION_END, {auctionId, adUnitCodes: ['au1']});
- const buyerConfig = getPAAPIConfig({auctionId}).au1.componentAuctions[0];
- sinon.assert.match(buyerConfig, {
- interestGroupBuyers: [igb1.origin, igb2.origin],
- ...buyerAuctionConfig
+ it('should be added to auction config', () => {
+ sinon.assert.match(getBuyerAuctionConfig().perBuyerSignals[igb1.origin], {
+ prebid: {
+ ortb2,
+ ortb2Imp
+ }
});
});
- describe('FPD', () => {
- let ortb2, ortb2Imp;
- beforeEach(() => {
- ortb2 = {'fpd': 1};
- ortb2Imp = {'fpd': 2};
+ it('should not override existing perBuyerSignals', () => {
+ const original = {
+ ortb2: {
+ fpd: 'original'
+ }
+ };
+ igb1.pbs = {
+ prebid: deepClone(original)
+ };
+ sinon.assert.match(getBuyerAuctionConfig().perBuyerSignals[igb1.origin], {
+ prebid: original
});
+ });
+ });
+ });
- function getBuyerAuctionConfig() {
- addIgb({adUnitCode: 'au1', ortb2, ortb2Imp}, igb1);
- events.emit(EVENTS.AUCTION_END, {auctionId, adUnitCodes: ['au1']});
- return getPAAPIConfig({auctionId}).au1.componentAuctions[0];
- }
-
- it('should be added to auction config', () => {
- sinon.assert.match(getBuyerAuctionConfig().perBuyerSignals[igb1.origin], {
- prebid: {
- ortb2,
- ortb2Imp
- }
- });
- });
+ describe('should collect auction configs', () => {
+ let cf1, cf2;
+ beforeEach(() => {
+ cf1 = {...auctionConfig, id: 1, seller: 'b1'};
+ cf2 = {...auctionConfig, id: 2, seller: 'b2'};
+ addPaapiConfigHook(nextFnSpy, {auctionId, adUnitCode: 'au1'}, {config: cf1});
+ addPaapiConfigHook(nextFnSpy, {auctionId, adUnitCode: 'au2'}, {config: cf2});
+ events.emit(EVENTS.AUCTION_END, {auctionId, adUnitCodes: ['au1', 'au2', 'au3']});
+ });
- it('should not override existing perBuyerSignals', () => {
- const original = {
- ortb2: {
- fpd: 'original'
- }
- };
- igb1.pbs = {
- prebid: deepClone(original)
- };
- sinon.assert.match(getBuyerAuctionConfig().perBuyerSignals[igb1.origin], {
- prebid: original
- });
- });
+ it('and make them available at end of auction', () => {
+ sinon.assert.match(getPAAPIConfig({auctionId}), {
+ au1: {
+ componentAuctions: [cf1]
+ },
+ au2: {
+ componentAuctions: [cf2]
+ }
});
});
- describe('should collect auction configs', () => {
- let cf1, cf2;
- beforeEach(() => {
- cf1 = {...auctionConfig, id: 1, seller: 'b1'};
- cf2 = {...auctionConfig, id: 2, seller: 'b2'};
- addPaapiConfigHook(nextFnSpy, {auctionId, adUnitCode: 'au1'}, {config: cf1});
- addPaapiConfigHook(nextFnSpy, {auctionId, adUnitCode: 'au2'}, {config: cf2});
- events.emit(EVENTS.AUCTION_END, {auctionId, adUnitCodes: ['au1', 'au2', 'au3']});
+ it('and filter them by ad unit', () => {
+ const cfg = getPAAPIConfig({auctionId, adUnitCode: 'au1'});
+ expect(Object.keys(cfg)).to.have.members(['au1']);
+ sinon.assert.match(cfg.au1, {
+ componentAuctions: [cf1]
});
+ });
- it('and make them available at end of auction', () => {
- sinon.assert.match(getPAAPIConfig({auctionId}), {
- au1: {
- componentAuctions: [cf1]
- },
- au2: {
- componentAuctions: [cf2]
- }
- });
- });
+ it('and not return them again', () => {
+ getPAAPIConfig();
+ const cfg = getPAAPIConfig();
+ expect(cfg).to.eql({});
+ });
- it('and filter them by ad unit', () => {
- const cfg = getPAAPIConfig({auctionId, adUnitCode: 'au1'});
- expect(Object.keys(cfg)).to.have.members(['au1']);
- sinon.assert.match(cfg.au1, {
- componentAuctions: [cf1]
+ describe('includeBlanks = true', () => {
+ it('includes all ad units', () => {
+ const cfg = getPAAPIConfig({}, true);
+ expect(Object.keys(cfg)).to.have.members(['au1', 'au2', 'au3']);
+ expect(cfg.au3).to.eql(null);
+ });
+ it('includes the targeted adUnit', () => {
+ expect(getPAAPIConfig({adUnitCode: 'au3'}, true)).to.eql({
+ au3: null
});
});
-
- it('and not return them again', () => {
- getPAAPIConfig();
- const cfg = getPAAPIConfig();
- expect(cfg).to.eql({});
+ it('includes the targeted auction', () => {
+ const cfg = getPAAPIConfig({auctionId}, true);
+ expect(Object.keys(cfg)).to.have.members(['au1', 'au2', 'au3']);
+ expect(cfg.au3).to.eql(null);
});
-
- describe('includeBlanks = true', () => {
- it('includes all ad units', () => {
- const cfg = getPAAPIConfig({}, true);
- expect(Object.keys(cfg)).to.have.members(['au1', 'au2', 'au3']);
- expect(cfg.au3).to.eql(null);
- });
- it('includes the targeted adUnit', () => {
- expect(getPAAPIConfig({adUnitCode: 'au3'}, true)).to.eql({
- au3: null
- });
- });
- it('includes the targeted auction', () => {
- const cfg = getPAAPIConfig({auctionId}, true);
- expect(Object.keys(cfg)).to.have.members(['au1', 'au2', 'au3']);
- expect(cfg.au3).to.eql(null);
- });
- it('does not include non-existing ad units', () => {
- expect(getPAAPIConfig({adUnitCode: 'other'})).to.eql({});
- });
- it('does not include non-existing auctions', () => {
- expect(getPAAPIConfig({auctionId: 'other'})).to.eql({});
- });
+ it('does not include non-existing ad units', () => {
+ expect(getPAAPIConfig({adUnitCode: 'other'})).to.eql({});
+ });
+ it('does not include non-existing auctions', () => {
+ expect(getPAAPIConfig({auctionId: 'other'})).to.eql({});
});
});
+ });
- it('should drop auction configs after end of auction', () => {
- events.emit(EVENTS.AUCTION_END, {auctionId});
- addPaapiConfigHook(nextFnSpy, {auctionId, adUnitCode: 'au'}, paapiConfig);
- events.emit(EVENTS.AUCTION_END, {auctionId});
- expect(getPAAPIConfig({auctionId})).to.eql({});
- });
+ it('should drop auction configs after end of auction', () => {
+ events.emit(EVENTS.AUCTION_END, {auctionId});
+ addPaapiConfigHook(nextFnSpy, {auctionId, adUnitCode: 'au'}, paapiConfig);
+ events.emit(EVENTS.AUCTION_END, {auctionId});
+ expect(getPAAPIConfig({auctionId})).to.eql({});
+ });
- describe('FPD', () => {
- let ortb2, ortb2Imp;
- beforeEach(() => {
- ortb2 = {fpd: 1};
- ortb2Imp = {fpd: 2};
- });
+ describe('FPD', () => {
+ let ortb2, ortb2Imp;
+ beforeEach(() => {
+ ortb2 = {fpd: 1};
+ ortb2Imp = {fpd: 2};
+ });
- function getComponentAuctionConfig() {
- addPaapiConfigHook(nextFnSpy, {
- auctionId,
- adUnitCode: 'au1',
- ortb2: {fpd: 1},
- ortb2Imp: {fpd: 2}
- }, paapiConfig);
- events.emit(EVENTS.AUCTION_END, {auctionId});
- return getPAAPIConfig({auctionId}).au1.componentAuctions[0];
- }
+ function getComponentAuctionConfig() {
+ addPaapiConfigHook(nextFnSpy, {
+ auctionId,
+ adUnitCode: 'au1',
+ ortb2: {fpd: 1},
+ ortb2Imp: {fpd: 2}
+ }, paapiConfig);
+ events.emit(EVENTS.AUCTION_END, {auctionId});
+ return getPAAPIConfig({auctionId}).au1.componentAuctions[0];
+ }
- it('should be added to auctionSignals', () => {
- sinon.assert.match(getComponentAuctionConfig().auctionSignals, {
- prebid: {ortb2, ortb2Imp}
- });
+ it('should be added to auctionSignals', () => {
+ sinon.assert.match(getComponentAuctionConfig().auctionSignals, {
+ prebid: {ortb2, ortb2Imp}
});
- it('should not override existing auctionSignals', () => {
- auctionConfig.auctionSignals = {prebid: {ortb2: {fpd: 'original'}}};
- sinon.assert.match(getComponentAuctionConfig().auctionSignals, {
- prebid: {
- ortb2: {fpd: 'original'},
- ortb2Imp
- }
- });
+ });
+ it('should not override existing auctionSignals', () => {
+ auctionConfig.auctionSignals = {prebid: {ortb2: {fpd: 'original'}}};
+ sinon.assert.match(getComponentAuctionConfig().auctionSignals, {
+ prebid: {
+ ortb2: {fpd: 'original'},
+ ortb2Imp
+ }
});
+ });
- it('should be added to perBuyerSignals', () => {
- auctionConfig.interestGroupBuyers = ['buyer1', 'buyer2'];
- const pbs = getComponentAuctionConfig().perBuyerSignals;
- sinon.assert.match(pbs, {
- buyer1: {prebid: {ortb2, ortb2Imp}},
- buyer2: {prebid: {ortb2, ortb2Imp}}
- });
+ it('should be added to perBuyerSignals', () => {
+ auctionConfig.interestGroupBuyers = ['buyer1', 'buyer2'];
+ const pbs = getComponentAuctionConfig().perBuyerSignals;
+ sinon.assert.match(pbs, {
+ buyer1: {prebid: {ortb2, ortb2Imp}},
+ buyer2: {prebid: {ortb2, ortb2Imp}}
});
+ });
- it('should not override existing perBuyerSignals', () => {
- auctionConfig.interestGroupBuyers = ['buyer'];
- const original = {
- prebid: {
- ortb2: {
- fpd: 'original'
- }
+ it('should not override existing perBuyerSignals', () => {
+ auctionConfig.interestGroupBuyers = ['buyer'];
+ const original = {
+ prebid: {
+ ortb2: {
+ fpd: 'original'
}
- };
- auctionConfig.perBuyerSignals = {
- buyer: deepClone(original)
- };
- sinon.assert.match(getComponentAuctionConfig().perBuyerSignals.buyer, original);
- });
+ }
+ };
+ auctionConfig.perBuyerSignals = {
+ buyer: deepClone(original)
+ };
+ sinon.assert.match(getComponentAuctionConfig().perBuyerSignals.buyer, original);
});
+ });
- describe('submodules', () => {
- let submods;
- beforeEach(() => {
- submods = [1, 2].map(i => ({
- name: `test${i}`,
- onAuctionConfig: sinon.stub()
- }));
- submods.forEach(registerSubmodule);
- });
+ describe('submodules', () => {
+ let submods;
+ beforeEach(() => {
+ submods = [1, 2].map(i => ({
+ name: `test${i}`,
+ onAuctionConfig: sinon.stub()
+ }));
+ submods.forEach(registerSubmodule);
+ });
- describe('onAuctionConfig', () => {
- const auctionId = 'aid';
- it('is invoked with null configs when there\'s no config', () => {
- events.emit(EVENTS.AUCTION_END, {auctionId, adUnitCodes: ['au']});
- submods.forEach(submod => sinon.assert.calledWith(submod.onAuctionConfig, auctionId, {au: null}));
- });
- it('is invoked with relevant configs', () => {
- addPaapiConfigHook(nextFnSpy, {auctionId, adUnitCode: 'au1'}, paapiConfig);
- addPaapiConfigHook(nextFnSpy, {auctionId, adUnitCode: 'au2'}, paapiConfig);
- events.emit(EVENTS.AUCTION_END, {auctionId, adUnitCodes: ['au1', 'au2', 'au3']});
- submods.forEach(submod => {
- sinon.assert.calledWith(submod.onAuctionConfig, auctionId, {
- au1: {componentAuctions: [auctionConfig]},
- au2: {componentAuctions: [auctionConfig]},
- au3: null
- });
- });
- });
- it('removes configs from getPAAPIConfig if the module calls markAsUsed', () => {
- submods[0].onAuctionConfig.callsFake((auctionId, configs, markAsUsed) => {
- markAsUsed('au1');
+ describe('onAuctionConfig', () => {
+ const auctionId = 'aid';
+ it('is invoked with null configs when there\'s no config', () => {
+ events.emit(EVENTS.AUCTION_END, {auctionId, adUnitCodes: ['au']});
+ submods.forEach(submod => sinon.assert.calledWith(submod.onAuctionConfig, auctionId, {au: null}));
+ });
+ it('is invoked with relevant configs', () => {
+ addPaapiConfigHook(nextFnSpy, {auctionId, adUnitCode: 'au1'}, paapiConfig);
+ addPaapiConfigHook(nextFnSpy, {auctionId, adUnitCode: 'au2'}, paapiConfig);
+ events.emit(EVENTS.AUCTION_END, {auctionId, adUnitCodes: ['au1', 'au2', 'au3']});
+ submods.forEach(submod => {
+ sinon.assert.calledWith(submod.onAuctionConfig, auctionId, {
+ au1: {componentAuctions: [auctionConfig]},
+ au2: {componentAuctions: [auctionConfig]},
+ au3: null
});
- addPaapiConfigHook(nextFnSpy, {auctionId, adUnitCode: 'au1'}, paapiConfig);
- events.emit(EVENTS.AUCTION_END, {auctionId, adUnitCodes: ['au1']});
- expect(getPAAPIConfig()).to.eql({});
});
- it('keeps them available if they do not', () => {
- addPaapiConfigHook(nextFnSpy, {auctionId, adUnitCode: 'au1'}, paapiConfig);
- events.emit(EVENTS.AUCTION_END, {auctionId, adUnitCodes: ['au1']});
- expect(getPAAPIConfig()).to.not.be.empty;
+ });
+ it('removes configs from getPAAPIConfig if the module calls markAsUsed', () => {
+ submods[0].onAuctionConfig.callsFake((auctionId, configs, markAsUsed) => {
+ markAsUsed('au1');
});
+ addPaapiConfigHook(nextFnSpy, {auctionId, adUnitCode: 'au1'}, paapiConfig);
+ events.emit(EVENTS.AUCTION_END, {auctionId, adUnitCodes: ['au1']});
+ expect(getPAAPIConfig()).to.eql({});
+ });
+ it('keeps them available if they do not', () => {
+ addPaapiConfigHook(nextFnSpy, {auctionId, adUnitCode: 'au1'}, paapiConfig);
+ events.emit(EVENTS.AUCTION_END, {auctionId, adUnitCodes: ['au1']});
+ expect(getPAAPIConfig()).to.not.be.empty;
});
});
+ });
- describe('floor signal', () => {
- before(() => {
- if (!getGlobal().convertCurrency) {
- getGlobal().convertCurrency = () => null;
- getGlobal().convertCurrency.mock = true;
- }
- });
- after(() => {
- if (getGlobal().convertCurrency.mock) {
- delete getGlobal().convertCurrency;
- }
- });
+ describe('floor signal', () => {
+ before(() => {
+ if (!getGlobal().convertCurrency) {
+ getGlobal().convertCurrency = () => null;
+ getGlobal().convertCurrency.mock = true;
+ }
+ });
+ after(() => {
+ if (getGlobal().convertCurrency.mock) {
+ delete getGlobal().convertCurrency;
+ }
+ });
- beforeEach(() => {
- sandbox.stub(getGlobal(), 'convertCurrency').callsFake((amount, from, to) => {
- if (from === to) return amount;
- if (from === 'USD' && to === 'JPY') return amount * 100;
- if (from === 'JPY' && to === 'USD') return amount / 100;
- throw new Error('unexpected currency conversion');
- });
+ beforeEach(() => {
+ sandbox.stub(getGlobal(), 'convertCurrency').callsFake((amount, from, to) => {
+ if (from === to) return amount;
+ if (from === 'USD' && to === 'JPY') return amount * 100;
+ if (from === 'JPY' && to === 'USD') return amount / 100;
+ throw new Error('unexpected currency conversion');
});
+ });
- Object.entries({
- 'bids': (payload, values) => {
- payload.bidsReceived = values
- .map((val) => ({adUnitCode: 'au', cpm: val.amount, currency: val.cur}))
- .concat([{adUnitCode: 'other', cpm: 10000, currency: 'EUR'}]);
- },
- 'no bids': (payload, values) => {
- payload.bidderRequests = values
- .map((val) => ({
- bids: [{
- adUnitCode: 'au',
- getFloor: () => ({floor: val.amount, currency: val.cur})
- }]
- }))
- .concat([{bids: {adUnitCode: 'other', getFloor: () => ({floor: -10000, currency: 'EUR'})}}]);
- }
- }).forEach(([tcase, setup]) => {
- describe(`when auction has ${tcase}`, () => {
- Object.entries({
- 'no currencies': {
- values: [{amount: 1}, {amount: 100}, {amount: 10}, {amount: 100}],
- 'bids': {
- bidfloor: 100,
- bidfloorcur: undefined
- },
- 'no bids': {
- bidfloor: 1,
- bidfloorcur: undefined,
- }
+ Object.entries({
+ 'bids': (payload, values) => {
+ payload.bidsReceived = values
+ .map((val) => ({adUnitCode: 'au', cpm: val.amount, currency: val.cur}))
+ .concat([{adUnitCode: 'other', cpm: 10000, currency: 'EUR'}]);
+ },
+ 'no bids': (payload, values) => {
+ payload.bidderRequests = values
+ .map((val) => ({
+ bids: [{
+ adUnitCode: 'au',
+ getFloor: () => ({floor: val.amount, currency: val.cur})
+ }]
+ }))
+ .concat([{bids: {adUnitCode: 'other', getFloor: () => ({floor: -10000, currency: 'EUR'})}}]);
+ }
+ }).forEach(([tcase, setup]) => {
+ describe(`when auction has ${tcase}`, () => {
+ Object.entries({
+ 'no currencies': {
+ values: [{amount: 1}, {amount: 100}, {amount: 10}, {amount: 100}],
+ 'bids': {
+ bidfloor: 100,
+ bidfloorcur: undefined
},
- 'only zero values': {
- values: [{amount: 0, cur: 'USD'}, {amount: 0, cur: 'JPY'}],
- 'bids': {
- bidfloor: undefined,
- bidfloorcur: undefined,
- },
- 'no bids': {
- bidfloor: undefined,
- bidfloorcur: undefined,
- }
+ 'no bids': {
+ bidfloor: 1,
+ bidfloorcur: undefined,
+ }
+ },
+ 'only zero values': {
+ values: [{amount: 0, cur: 'USD'}, {amount: 0, cur: 'JPY'}],
+ 'bids': {
+ bidfloor: undefined,
+ bidfloorcur: undefined,
},
- 'matching currencies': {
- values: [{amount: 10, cur: 'JPY'}, {amount: 100, cur: 'JPY'}],
- 'bids': {
- bidfloor: 100,
- bidfloorcur: 'JPY',
- },
- 'no bids': {
- bidfloor: 10,
- bidfloorcur: 'JPY',
- }
+ 'no bids': {
+ bidfloor: undefined,
+ bidfloorcur: undefined,
+ }
+ },
+ 'matching currencies': {
+ values: [{amount: 10, cur: 'JPY'}, {amount: 100, cur: 'JPY'}],
+ 'bids': {
+ bidfloor: 100,
+ bidfloorcur: 'JPY',
},
- 'mixed currencies': {
- values: [{amount: 10, cur: 'USD'}, {amount: 10, cur: 'JPY'}],
- 'bids': {
- bidfloor: 10,
- bidfloorcur: 'USD'
- },
- 'no bids': {
- bidfloor: 10,
- bidfloorcur: 'JPY',
- }
+ 'no bids': {
+ bidfloor: 10,
+ bidfloorcur: 'JPY',
+ }
+ },
+ 'mixed currencies': {
+ values: [{amount: 10, cur: 'USD'}, {amount: 10, cur: 'JPY'}],
+ 'bids': {
+ bidfloor: 10,
+ bidfloorcur: 'USD'
+ },
+ 'no bids': {
+ bidfloor: 10,
+ bidfloorcur: 'JPY',
}
- }).forEach(([t, testConfig]) => {
- const values = testConfig.values;
- const {bidfloor, bidfloorcur} = testConfig[tcase];
-
- describe(`with ${t}`, () => {
- let payload;
- beforeEach(() => {
- payload = {auctionId};
- setup(payload, values);
- });
-
- it('should populate bidfloor/bidfloorcur', () => {
- addPaapiConfigHook(nextFnSpy, {auctionId, adUnitCode: 'au'}, paapiConfig);
- events.emit(EVENTS.AUCTION_END, payload);
- const cfg = getPAAPIConfig({auctionId}).au;
- const signals = cfg.auctionSignals;
- sinon.assert.match(cfg.componentAuctions[0].auctionSignals, signals || {});
- expect(signals?.prebid?.bidfloor).to.eql(bidfloor);
- expect(signals?.prebid?.bidfloorcur).to.eql(bidfloorcur);
- });
+ }
+ }).forEach(([t, testConfig]) => {
+ const values = testConfig.values;
+ const {bidfloor, bidfloorcur} = testConfig[tcase];
+
+ describe(`with ${t}`, () => {
+ let payload;
+ beforeEach(() => {
+ payload = {auctionId};
+ setup(payload, values);
+ });
+
+ it('should populate bidfloor/bidfloorcur', () => {
+ addPaapiConfigHook(nextFnSpy, {auctionId, adUnitCode: 'au'}, paapiConfig);
+ events.emit(EVENTS.AUCTION_END, payload);
+ const cfg = getPAAPIConfig({auctionId}).au;
+ const signals = cfg.auctionSignals;
+ sinon.assert.match(cfg.componentAuctions[0].auctionSignals, signals || {});
+ expect(signals?.prebid?.bidfloor).to.eql(bidfloor);
+ expect(signals?.prebid?.bidfloorcur).to.eql(bidfloorcur);
});
});
});
});
});
+ });
- describe('requestedSize', () => {
- let adUnit;
- beforeEach(() => {
- adUnit = {
- code: 'au',
- };
- });
+ describe('requestedSize', () => {
+ let adUnit;
+ beforeEach(() => {
+ adUnit = {
+ code: 'au',
+ };
+ });
- function getConfig() {
- addPaapiConfigHook(nextFnSpy, {auctionId, adUnitCode: adUnit.code}, paapiConfig);
- events.emit(EVENTS.AUCTION_END, {auctionId, adUnitCodes: [adUnit.code], adUnits: [adUnit]});
- return getPAAPIConfig()[adUnit.code];
- }
+ function getConfig() {
+ addPaapiConfigHook(nextFnSpy, {auctionId, adUnitCode: adUnit.code}, paapiConfig);
+ events.emit(EVENTS.AUCTION_END, {auctionId, adUnitCodes: [adUnit.code], adUnits: [adUnit]});
+ return getPAAPIConfig()[adUnit.code];
+ }
- Object.entries({
- 'adUnit.ortb2Imp.ext.paapi.requestedSize'() {
- adUnit.ortb2Imp = {
- ext: {
- paapi: {
- requestedSize: {
- width: 123,
- height: 321
- }
+ Object.entries({
+ 'adUnit.ortb2Imp.ext.paapi.requestedSize'() {
+ adUnit.ortb2Imp = {
+ ext: {
+ paapi: {
+ requestedSize: {
+ width: 123,
+ height: 321
}
}
- };
- },
- 'largest size'() {
- getPAAPISizeStub.returns([123, 321]);
- }
- }).forEach(([t, setup]) => {
- describe(`should be set from ${t}`, () => {
- beforeEach(setup);
-
- it('without overriding component auctions, if set', () => {
- auctionConfig.requestedSize = {width: '1px', height: '2px'};
- expect(getConfig().componentAuctions[0].requestedSize).to.eql({
- width: '1px',
- height: '2px'
- });
+ }
+ };
+ },
+ 'largest size'() {
+ getPAAPISizeStub.returns([123, 321]);
+ }
+ }).forEach(([t, setup]) => {
+ describe(`should be set from ${t}`, () => {
+ beforeEach(setup);
+
+ it('without overriding component auctions, if set', () => {
+ auctionConfig.requestedSize = {width: '1px', height: '2px'};
+ expect(getConfig().componentAuctions[0].requestedSize).to.eql({
+ width: '1px',
+ height: '2px'
});
+ });
- it('on component auction, if missing', () => {
- expect(getConfig().componentAuctions[0].requestedSize).to.eql({
- width: 123,
- height: 321
- });
+ it('on component auction, if missing', () => {
+ expect(getConfig().componentAuctions[0].requestedSize).to.eql({
+ width: 123,
+ height: 321
});
+ });
- it('on top level auction', () => {
- expect(getConfig().requestedSize).to.eql({
- width: 123,
- height: 321,
- });
+ it('on top level auction', () => {
+ expect(getConfig().requestedSize).to.eql({
+ width: 123,
+ height: 321,
});
});
});
});
});
+ });
- describe('with multiple auctions', () => {
- const AUCTION1 = 'auction1';
- const AUCTION2 = 'auction2';
+ describe('with multiple auctions', () => {
+ const AUCTION1 = 'auction1';
+ const AUCTION2 = 'auction2';
- function mockAuction(auctionId) {
- return {
- getAuctionId() {
- return auctionId;
- }
- };
- }
+ function mockAuction(auctionId) {
+ return {
+ getAuctionId() {
+ return auctionId;
+ }
+ };
+ }
- function expectAdUnitsFromAuctions(actualConfig, auToAuctionMap) {
- expect(Object.keys(actualConfig)).to.have.members(Object.keys(auToAuctionMap));
- Object.entries(actualConfig).forEach(([au, cfg]) => {
- cfg.componentAuctions.forEach(cmp => expect(cmp.auctionId).to.eql(auToAuctionMap[au]));
- });
- }
+ function expectAdUnitsFromAuctions(actualConfig, auToAuctionMap) {
+ expect(Object.keys(actualConfig)).to.have.members(Object.keys(auToAuctionMap));
+ Object.entries(actualConfig).forEach(([au, cfg]) => {
+ cfg.componentAuctions.forEach(cmp => expect(cmp.auctionId).to.eql(auToAuctionMap[au]));
+ });
+ }
- let configs;
- beforeEach(() => {
- const mockAuctions = [mockAuction(AUCTION1), mockAuction(AUCTION2)];
- sandbox.stub(auctionManager, 'index').value(new AuctionIndex(() => mockAuctions));
- configs = {[AUCTION1]: {}, [AUCTION2]: {}};
- Object.entries({
- [AUCTION1]: [['au1', 'au2'], ['missing-1']],
- [AUCTION2]: [['au2', 'au3'], []],
- }).forEach(([auctionId, [adUnitCodes, noConfigAdUnitCodes]]) => {
- adUnitCodes.forEach(adUnitCode => {
- const cfg = {...auctionConfig, auctionId, adUnitCode};
- configs[auctionId][adUnitCode] = cfg;
- addPaapiConfigHook(nextFnSpy, {auctionId, adUnitCode}, {config: cfg});
- });
- events.emit(EVENTS.AUCTION_END, {auctionId, adUnitCodes: adUnitCodes.concat(noConfigAdUnitCodes)});
+ let configs;
+ beforeEach(() => {
+ const mockAuctions = [mockAuction(AUCTION1), mockAuction(AUCTION2)];
+ sandbox.stub(auctionManager, 'index').value(new AuctionIndex(() => mockAuctions));
+ configs = {[AUCTION1]: {}, [AUCTION2]: {}};
+ Object.entries({
+ [AUCTION1]: [['au1', 'au2'], ['missing-1']],
+ [AUCTION2]: [['au2', 'au3'], []],
+ }).forEach(([auctionId, [adUnitCodes, noConfigAdUnitCodes]]) => {
+ adUnitCodes.forEach(adUnitCode => {
+ const cfg = {...auctionConfig, auctionId, adUnitCode};
+ configs[auctionId][adUnitCode] = cfg;
+ addPaapiConfigHook(nextFnSpy, {auctionId, adUnitCode}, {config: cfg});
});
+ events.emit(EVENTS.AUCTION_END, {auctionId, adUnitCodes: adUnitCodes.concat(noConfigAdUnitCodes)});
});
+ });
- it('should filter by auction', () => {
- expectAdUnitsFromAuctions(getPAAPIConfig({auctionId: AUCTION1}), {au1: AUCTION1, au2: AUCTION1});
- expectAdUnitsFromAuctions(getPAAPIConfig({auctionId: AUCTION2}), {au2: AUCTION2, au3: AUCTION2});
- });
+ it('should filter by auction', () => {
+ expectAdUnitsFromAuctions(getPAAPIConfig({auctionId: AUCTION1}), {au1: AUCTION1, au2: AUCTION1});
+ expectAdUnitsFromAuctions(getPAAPIConfig({auctionId: AUCTION2}), {au2: AUCTION2, au3: AUCTION2});
+ });
- it('should filter by auction and ad unit', () => {
- expectAdUnitsFromAuctions(getPAAPIConfig({auctionId: AUCTION1, adUnitCode: 'au2'}), {au2: AUCTION1});
- expectAdUnitsFromAuctions(getPAAPIConfig({auctionId: AUCTION2, adUnitCode: 'au2'}), {au2: AUCTION2});
- });
+ it('should filter by auction and ad unit', () => {
+ expectAdUnitsFromAuctions(getPAAPIConfig({auctionId: AUCTION1, adUnitCode: 'au2'}), {au2: AUCTION1});
+ expectAdUnitsFromAuctions(getPAAPIConfig({auctionId: AUCTION2, adUnitCode: 'au2'}), {au2: AUCTION2});
+ });
- it('should use last auction for each ad unit', () => {
- expectAdUnitsFromAuctions(getPAAPIConfig(), {au1: AUCTION1, au2: AUCTION2, au3: AUCTION2});
- });
+ it('should use last auction for each ad unit', () => {
+ expectAdUnitsFromAuctions(getPAAPIConfig(), {au1: AUCTION1, au2: AUCTION2, au3: AUCTION2});
+ });
- it('should filter by ad unit and use latest auction', () => {
- expectAdUnitsFromAuctions(getPAAPIConfig({adUnitCode: 'au2'}), {au2: AUCTION2});
- });
+ it('should filter by ad unit and use latest auction', () => {
+ expectAdUnitsFromAuctions(getPAAPIConfig({adUnitCode: 'au2'}), {au2: AUCTION2});
+ });
- it('should keep track of which configs were returned', () => {
- expectAdUnitsFromAuctions(getPAAPIConfig({auctionId: AUCTION1}), {au1: AUCTION1, au2: AUCTION1});
- expect(getPAAPIConfig({auctionId: AUCTION1})).to.eql({});
- expectAdUnitsFromAuctions(getPAAPIConfig(), {au2: AUCTION2, au3: AUCTION2});
- });
+ it('should keep track of which configs were returned', () => {
+ expectAdUnitsFromAuctions(getPAAPIConfig({auctionId: AUCTION1}), {au1: AUCTION1, au2: AUCTION1});
+ expect(getPAAPIConfig({auctionId: AUCTION1})).to.eql({});
+ expectAdUnitsFromAuctions(getPAAPIConfig(), {au2: AUCTION2, au3: AUCTION2});
+ });
- describe('includeBlanks = true', () => {
- Object.entries({
- 'auction with blanks': {
- filters: {auctionId: AUCTION1},
- expected: {au1: true, au2: true, 'missing-1': false}
- },
- 'blank adUnit in an auction': {
- filters: {auctionId: AUCTION1, adUnitCode: 'missing-1'},
- expected: {'missing-1': false}
- },
- 'non-existing auction': {
- filters: {auctionId: 'other'},
- expected: {}
- },
- 'non-existing adUnit in an auction': {
- filters: {auctionId: AUCTION2, adUnitCode: 'other'},
- expected: {}
- },
- 'non-existing ad unit': {
- filters: {adUnitCode: 'other'},
- expected: {},
- },
- 'non existing ad unit in a non-existing auction': {
- filters: {adUnitCode: 'other', auctionId: 'other'},
- expected: {}
- },
- 'all ad units': {
- filters: {},
- expected: {'au1': true, 'au2': true, 'missing-1': false, 'au3': true}
- }
- }).forEach(([t, {filters, expected}]) => {
- it(t, () => {
- const cfg = getPAAPIConfig(filters, true);
- expect(Object.keys(cfg)).to.have.members(Object.keys(expected));
- Object.entries(expected).forEach(([au, shouldBeFilled]) => {
- if (shouldBeFilled) {
- expect(cfg[au]).to.not.be.null;
- } else {
- expect(cfg[au]).to.be.null;
- }
- });
+ describe('includeBlanks = true', () => {
+ Object.entries({
+ 'auction with blanks': {
+ filters: {auctionId: AUCTION1},
+ expected: {au1: true, au2: true, 'missing-1': false}
+ },
+ 'blank adUnit in an auction': {
+ filters: {auctionId: AUCTION1, adUnitCode: 'missing-1'},
+ expected: {'missing-1': false}
+ },
+ 'non-existing auction': {
+ filters: {auctionId: 'other'},
+ expected: {}
+ },
+ 'non-existing adUnit in an auction': {
+ filters: {auctionId: AUCTION2, adUnitCode: 'other'},
+ expected: {}
+ },
+ 'non-existing ad unit': {
+ filters: {adUnitCode: 'other'},
+ expected: {},
+ },
+ 'non existing ad unit in a non-existing auction': {
+ filters: {adUnitCode: 'other', auctionId: 'other'},
+ expected: {}
+ },
+ 'all ad units': {
+ filters: {},
+ expected: {'au1': true, 'au2': true, 'missing-1': false, 'au3': true}
+ }
+ }).forEach(([t, {filters, expected}]) => {
+ it(t, () => {
+ const cfg = getPAAPIConfig(filters, true);
+ expect(Object.keys(cfg)).to.have.members(Object.keys(expected));
+ Object.entries(expected).forEach(([au, shouldBeFilled]) => {
+ if (shouldBeFilled) {
+ expect(cfg[au]).to.not.be.null;
+ } else {
+ expect(cfg[au]).to.be.null;
+ }
});
});
});
});
});
+ });
- describe('markForFledge', function () {
- const navProps = Object.fromEntries(['runAdAuction', 'joinAdInterestGroup'].map(p => [p, navigator[p]]));
- let adUnits;
+ describe('markForFledge', function () {
+ const navProps = Object.fromEntries(['runAdAuction', 'joinAdInterestGroup'].map(p => [p, navigator[p]]));
+ let adUnits;
- before(function () {
- // navigator.runAdAuction & co may not exist, so we can't stub it normally with
- // sinon.stub(navigator, 'runAdAuction') or something
- Object.keys(navProps).forEach(p => {
- navigator[p] = sinon.stub();
- });
- hook.ready();
- config.resetConfig();
+ before(function () {
+ // navigator.runAdAuction & co may not exist, so we can't stub it normally with
+ // sinon.stub(navigator, 'runAdAuction') or something
+ Object.keys(navProps).forEach(p => {
+ navigator[p] = sinon.stub();
});
+ hook.ready();
+ config.resetConfig();
+ });
- after(function () {
- Object.entries(navProps).forEach(([p, orig]) => navigator[p] = orig);
- });
+ after(function () {
+ Object.entries(navProps).forEach(([p, orig]) => navigator[p] = orig);
+ });
- beforeEach(() => {
- getPAAPISizeStub = sinon.stub();
- adUnits = [{
- 'code': '/19968336/header-bid-tag1',
- 'mediaTypes': {
- 'banner': {
- 'sizes': [[728, 90]]
- },
+ beforeEach(() => {
+ getPAAPISizeStub = sinon.stub();
+ adUnits = [{
+ 'code': '/19968336/header-bid-tag1',
+ 'mediaTypes': {
+ 'banner': {
+ 'sizes': [[728, 90]]
},
- 'bids': [
- {
- 'bidder': 'appnexus',
- },
- {
- 'bidder': 'rubicon',
- },
- ]
- }];
- });
+ },
+ 'bids': [
+ {
+ 'bidder': 'appnexus',
+ },
+ {
+ 'bidder': 'rubicon',
+ },
+ ]
+ }];
+ });
- afterEach(function () {
- config.resetConfig();
- });
+ afterEach(function () {
+ config.resetConfig();
+ });
- function mark() {
- return Object.fromEntries(
- adapterManager.makeBidRequests(
- adUnits,
- Date.now(),
- utils.getUniqueIdentifierStr(),
- function callback() {
- },
- []
- ).map(b => [b.bidderCode, b])
- );
- }
+ function mark() {
+ return Object.fromEntries(
+ adapterManager.makeBidRequests(
+ adUnits,
+ Date.now(),
+ utils.getUniqueIdentifierStr(),
+ function callback() {
+ },
+ []
+ ).map(b => [b.bidderCode, b])
+ );
+ }
- function expectFledgeFlags(...enableFlags) {
- const bidRequests = mark();
- expect(bidRequests.appnexus.fledgeEnabled).to.eql(enableFlags[0].enabled);
- expect(bidRequests.appnexus.paapi?.enabled).to.eql(enableFlags[0].enabled);
- bidRequests.appnexus.bids.forEach(bid => expect(bid.ortb2Imp.ext.ae).to.eql(enableFlags[0].ae));
-
- expect(bidRequests.rubicon.fledgeEnabled).to.eql(enableFlags[1].enabled);
- expect(bidRequests.rubicon.paapi?.enabled).to.eql(enableFlags[1].enabled);
- bidRequests.rubicon.bids.forEach(bid => expect(bid.ortb2Imp?.ext?.ae).to.eql(enableFlags[1].ae));
-
- Object.values(bidRequests).flatMap(req => req.bids).forEach(bid => {
- if (bid.ortb2Imp?.ext?.ae) {
- sinon.assert.match(bid.ortb2Imp.ext.igs, {
- ae: bid.ortb2Imp.ext.ae,
- biddable: 1
- });
- }
- });
- }
+ function expectFledgeFlags(...enableFlags) {
+ const bidRequests = mark();
+ expect(bidRequests.appnexus.paapi?.enabled).to.eql(enableFlags[0].enabled);
+ bidRequests.appnexus.bids.forEach(bid => expect(bid.ortb2Imp.ext.ae).to.eql(enableFlags[0].ae));
- describe('with setBidderConfig()', () => {
- it('should set fledgeEnabled correctly per bidder', function () {
- config.setBidderConfig({
- bidders: ['appnexus'],
- config: {
- defaultForSlots: 1,
- fledgeEnabled: true
- }
+ expect(bidRequests.rubicon.paapi?.enabled).to.eql(enableFlags[1].enabled);
+ bidRequests.rubicon.bids.forEach(bid => expect(bid.ortb2Imp?.ext?.ae).to.eql(enableFlags[1].ae));
+
+ Object.values(bidRequests).flatMap(req => req.bids).forEach(bid => {
+ if (bid.ortb2Imp?.ext?.ae) {
+ sinon.assert.match(bid.ortb2Imp.ext.igs, {
+ ae: bid.ortb2Imp.ext.ae,
+ biddable: 1
});
- expectFledgeFlags({enabled: true, ae: 1}, {enabled: void 0, ae: void 0});
+ }
+ });
+ }
+
+ describe('with setConfig()', () => {
+ it('should set paapi.enabled correctly per bidder', function () {
+ config.setConfig({
+ bidderSequence: 'fixed',
+ paapi: {
+ enabled: true,
+ bidders: ['appnexus'],
+ defaultForSlots: 1,
+ }
});
+ expectFledgeFlags({enabled: true, ae: 1}, {enabled: false, ae: undefined});
});
- describe('with setConfig()', () => {
- it('should set fledgeEnabled correctly per bidder', function () {
- config.setConfig({
- bidderSequence: 'fixed',
- [configNS]: {
- enabled: true,
- bidders: ['appnexus'],
- defaultForSlots: 1,
- }
- });
- expectFledgeFlags({enabled: true, ae: 1}, {enabled: false, ae: undefined});
+ it('should set paapi.enabled correctly for all bidders', function () {
+ config.setConfig({
+ bidderSequence: 'fixed',
+ paapi: {
+ enabled: true,
+ defaultForSlots: 1,
+ }
});
+ expectFledgeFlags({enabled: true, ae: 1}, {enabled: true, ae: 1});
+ });
- it('should set fledgeEnabled correctly for all bidders', function () {
+ Object.entries({
+ 'not set': {
+ cfg: {},
+ componentSeller: false
+ },
+ 'set': {
+ cfg: {
+ componentSeller: {
+ auctionConfig: {
+ decisionLogicURL: 'publisher.example'
+ }
+ }
+ },
+ componentSeller: true
+ }
+ }).forEach(([t, {cfg, componentSeller}]) => {
+ it(`should set request paapi.componentSeller = ${componentSeller} when config componentSeller is ${t}`, () => {
config.setConfig({
- bidderSequence: 'fixed',
- [configNS]: {
+ paapi: {
enabled: true,
defaultForSlots: 1,
+ ...cfg
}
});
- expectFledgeFlags({enabled: true, ae: 1}, {enabled: true, ae: 1});
+ Object.values(mark()).forEach(br => expect(br.paapi?.componentSeller).to.eql(componentSeller));
});
+ });
- Object.entries({
- 'not set': {
- cfg: {},
- componentSeller: false
- },
- 'set': {
- cfg: {
- componentSeller: {
- auctionConfig: {
- decisionLogicURL: 'publisher.example'
- }
- }
- },
- componentSeller: true
+ it('should not override pub-defined ext.ae', () => {
+ config.setConfig({
+ bidderSequence: 'fixed',
+ paapi: {
+ enabled: true,
+ defaultForSlots: 1,
}
- }).forEach(([t, {cfg, componentSeller}]) => {
- it(`should set request paapi.componentSeller = ${componentSeller} when config componentSeller is ${t}`, () => {
- config.setConfig({
- [configNS]: {
- enabled: true,
- defaultForSlots: 1,
- ...cfg
- }
- });
- Object.values(mark()).forEach(br => expect(br.paapi?.componentSeller).to.eql(componentSeller));
- });
});
+ Object.assign(adUnits[0], {ortb2Imp: {ext: {ae: 0}}});
+ expectFledgeFlags({enabled: true, ae: 0}, {enabled: true, ae: 0});
+ });
- it('should not override pub-defined ext.ae', () => {
- config.setConfig({
- bidderSequence: 'fixed',
- [configNS]: {
- enabled: true,
- defaultForSlots: 1,
- }
- });
- Object.assign(adUnits[0], {ortb2Imp: {ext: {ae: 0}}});
- expectFledgeFlags({enabled: true, ae: 0}, {enabled: true, ae: 0});
+ it('should populate ext.igs when request has ext.ae', () => {
+ config.setConfig({
+ bidderSequence: 'fixed',
+ paapi: {
+ enabled: true
+ }
});
+ Object.assign(adUnits[0], {ortb2Imp: {ext: {ae: 3}}});
+ expectFledgeFlags({enabled: true, ae: 3}, {enabled: true, ae: 3});
+ });
- it('should populate ext.igs when request has ext.ae', () => {
- config.setConfig({
- bidderSequence: 'fixed',
- [configNS]: {
- enabled: true
- }
- });
- Object.assign(adUnits[0], {ortb2Imp: {ext: {ae: 3}}});
- expectFledgeFlags({enabled: true, ae: 3}, {enabled: true, ae: 3});
+ it('should not override pub-defined ext.igs', () => {
+ config.setConfig({
+ paapi: {
+ enabled: true
+ }
});
-
- it('should not override pub-defined ext.igs', () => {
- config.setConfig({
- [configNS]: {
- enabled: true
- }
- });
- Object.assign(adUnits[0], {ortb2Imp: {ext: {ae: 1, igs: {biddable: 0}}}});
- const bidReqs = mark();
- Object.values(bidReqs).flatMap(req => req.bids).forEach(bid => {
- sinon.assert.match(bid.ortb2Imp.ext, {
+ Object.assign(adUnits[0], {ortb2Imp: {ext: {ae: 1, igs: {biddable: 0}}}});
+ const bidReqs = mark();
+ Object.values(bidReqs).flatMap(req => req.bids).forEach(bid => {
+ sinon.assert.match(bid.ortb2Imp.ext, {
+ ae: 1,
+ igs: {
ae: 1,
- igs: {
- ae: 1,
- biddable: 0
- }
- });
+ biddable: 0
+ }
});
});
+ });
- it('should fill ext.ae from ext.igs, if defined', () => {
- config.setConfig({
- [configNS]: {
- enabled: true
- }
- });
- Object.assign(adUnits[0], {ortb2Imp: {ext: {igs: {}}}});
- expectFledgeFlags({enabled: true, ae: 1}, {enabled: true, ae: 1});
+ it('should fill ext.ae from ext.igs, if defined', () => {
+ config.setConfig({
+ paapi: {
+ enabled: true
+ }
});
+ Object.assign(adUnits[0], {ortb2Imp: {ext: {igs: {}}}});
+ expectFledgeFlags({enabled: true, ae: 1}, {enabled: true, ae: 1});
});
+ });
- describe('ortb2Imp.ext.paapi.requestedSize', () => {
- beforeEach(() => {
- config.setConfig({
- [configNS]: {
- enabled: true,
- defaultForSlots: 1,
- }
- });
+ describe('ortb2Imp.ext.paapi.requestedSize', () => {
+ beforeEach(() => {
+ config.setConfig({
+ paapi: {
+ enabled: true,
+ defaultForSlots: 1,
+ }
});
+ });
- it('should default to value returned by getPAAPISize', () => {
- getPAAPISizeStub.returns([123, 321]);
- Object.values(mark()).flatMap(b => b.bids).forEach(bidRequest => {
- sinon.assert.match(bidRequest.ortb2Imp.ext.paapi, {
- requestedSize: {
- width: 123,
- height: 321
- }
- });
+ it('should default to value returned by getPAAPISize', () => {
+ getPAAPISizeStub.returns([123, 321]);
+ Object.values(mark()).flatMap(b => b.bids).forEach(bidRequest => {
+ sinon.assert.match(bidRequest.ortb2Imp.ext.paapi, {
+ requestedSize: {
+ width: 123,
+ height: 321
+ }
});
});
+ });
- it('should not be overridden, if provided by the pub', () => {
- adUnits[0].ortb2Imp = {
- ext: {
- paapi: {
- requestedSize: {
- width: '123px',
- height: '321px'
- }
- }
- }
- };
- Object.values(mark()).flatMap(b => b.bids).forEach(bidRequest => {
- sinon.assert.match(bidRequest.ortb2Imp.ext.paapi, {
+ it('should not be overridden, if provided by the pub', () => {
+ adUnits[0].ortb2Imp = {
+ ext: {
+ paapi: {
requestedSize: {
width: '123px',
height: '321px'
}
- });
+ }
+ }
+ };
+ Object.values(mark()).flatMap(b => b.bids).forEach(bidRequest => {
+ sinon.assert.match(bidRequest.ortb2Imp.ext.paapi, {
+ requestedSize: {
+ width: '123px',
+ height: '321px'
+ }
});
- sinon.assert.notCalled(getPAAPISizeStub);
});
+ sinon.assert.notCalled(getPAAPISizeStub);
+ });
- it('should not be set if adUnit has no banner sizes', () => {
- adUnits[0].mediaTypes = {
- video: {}
- };
- Object.values(mark()).flatMap(b => b.bids).forEach(bidRequest => {
- expect(bidRequest.ortb2Imp?.ext?.paapi?.requestedSize).to.not.exist;
- });
+ it('should not be set if adUnit has no banner sizes', () => {
+ adUnits[0].mediaTypes = {
+ video: {}
+ };
+ Object.values(mark()).flatMap(b => b.bids).forEach(bidRequest => {
+ expect(bidRequest.ortb2Imp?.ext?.paapi?.requestedSize).to.not.exist;
});
});
});
@@ -1093,7 +1073,7 @@ describe('paapi module', () => {
});
it('imp.ext.ae should be left intact if fledge is enabled', () => {
const imp = {ext: {ae: 2, igs: {biddable: 0}}};
- setImpExtAe(imp, {}, {bidderRequest: {fledgeEnabled: true}});
+ setImpExtAe(imp, {}, {bidderRequest: {paapi: {enabled: true}}});
expect(imp.ext).to.eql({
ae: 2,
igs: {
diff --git a/test/spec/modules/parrableIdSystem_spec.js b/test/spec/modules/parrableIdSystem_spec.js
deleted file mode 100644
index 6886fa827c0..00000000000
--- a/test/spec/modules/parrableIdSystem_spec.js
+++ /dev/null
@@ -1,784 +0,0 @@
-import { expect } from 'chai';
-import {find} from 'src/polyfill.js';
-import { config } from 'src/config.js';
-import * as utils from 'src/utils.js';
-import { newStorageManager } from 'src/storageManager.js';
-import { getRefererInfo } from 'src/refererDetection.js';
-import { uspDataHandler } from 'src/adapterManager.js';
-import {attachIdSystem, init, requestBidsHook, setSubmoduleRegistry} from 'modules/userId/index.js';
-import { parrableIdSubmodule } from 'modules/parrableIdSystem.js';
-import { server } from 'test/mocks/xhr.js';
-import {mockGdprConsent} from '../../helpers/consentData.js';
-import {createEidsArray} from '../../../modules/userId/eids.js';
-import 'src/prebid.js';
-import {merkleIdSubmodule} from '../../../modules/merkleIdSystem.js';
-
-const storage = newStorageManager();
-
-const EXPIRED_COOKIE_DATE = 'Thu, 01 Jan 1970 00:00:01 GMT';
-const EXPIRE_COOKIE_TIME = 864000000;
-const P_COOKIE_NAME = '_parrable_id';
-const P_COOKIE_EID = '01.1563917337.test-eid';
-const P_XHR_EID = '01.1588030911.test-new-eid'
-const P_CONFIG_MOCK = {
- name: 'parrableId',
- params: {
- partners: 'parrable_test_partner_123,parrable_test_partner_456'
- }
-};
-const RESPONSE_HEADERS = { 'Content-Type': 'application/json' };
-
-function getConfigMock() {
- return {
- userSync: {
- syncDelay: 0,
- userIds: [P_CONFIG_MOCK]
- }
- }
-}
-
-function getAdUnitMock(code = 'adUnit-code') {
- return {
- code,
- mediaTypes: {banner: {}, native: {}},
- sizes: [
- [300, 200],
- [300, 600]
- ],
- bids: [{
- bidder: 'sampleBidder',
- params: { placementId: 'banner-only-bidder' }
- }]
- };
-}
-
-function serializeParrableId(parrableId) {
- let str = '';
- if (parrableId.eid) {
- str += 'eid:' + parrableId.eid;
- }
- if (parrableId.ibaOptout) {
- str += ',ibaOptout:1';
- }
- if (parrableId.ccpaOptout) {
- str += ',ccpaOptout:1';
- }
- if (parrableId.tpc !== undefined) {
- const tpcSupportComponent = parrableId.tpc === true ? 'tpc:1' : 'tpc:0';
- str += `,${tpcSupportComponent}`;
- str += `,tpcUntil:${parrableId.tpcUntil}`;
- }
- if (parrableId.filteredUntil) {
- str += `,filteredUntil:${parrableId.filteredUntil}`;
- str += `,filterHits:${parrableId.filterHits}`;
- }
- return str;
-}
-
-function writeParrableCookie(parrableId) {
- let cookieValue = encodeURIComponent(serializeParrableId(parrableId));
- storage.setCookie(
- P_COOKIE_NAME,
- cookieValue,
- (new Date(Date.now() + EXPIRE_COOKIE_TIME).toUTCString()),
- 'lax'
- );
-}
-
-function removeParrableCookie() {
- storage.setCookie(P_COOKIE_NAME, '', EXPIRED_COOKIE_DATE);
-}
-
-function decodeBase64UrlSafe(encBase64) {
- const DEC = {
- '-': '+',
- '_': '/',
- '.': '='
- };
- return encBase64.replace(/[-_.]/g, (m) => DEC[m]);
-}
-
-describe('Parrable ID System', function() {
- after(() => {
- // reset ID system to avoid delayed callbacks in other tests
- config.resetConfig();
- init(config);
- });
-
- describe('parrableIdSystem.getId()', function() {
- describe('response callback function', function() {
- let logErrorStub;
- let callbackSpy = sinon.spy();
-
- beforeEach(function() {
- logErrorStub = sinon.stub(utils, 'logError');
- callbackSpy.resetHistory();
- writeParrableCookie({ eid: P_COOKIE_EID });
- });
-
- afterEach(function() {
- removeParrableCookie();
- logErrorStub.restore();
- })
-
- it('creates xhr to Parrable that synchronizes the ID', function() {
- let getIdResult = parrableIdSubmodule.getId(P_CONFIG_MOCK);
-
- getIdResult.callback(callbackSpy);
-
- let request = server.requests[0];
- let queryParams = utils.parseQS(request.url.split('?')[1]);
- let data = JSON.parse(atob(decodeBase64UrlSafe(queryParams.data)));
-
- expect(getIdResult.callback).to.be.a('function');
- expect(request.url).to.contain('h.parrable.com');
-
- expect(queryParams).to.not.have.property('us_privacy');
- expect(data).to.deep.equal({
- eid: P_COOKIE_EID,
- trackers: P_CONFIG_MOCK.params.partners.split(','),
- url: getRefererInfo().page,
- prebidVersion: '$prebid.version$',
- isIframe: true
- });
-
- server.requests[0].respond(200,
- { 'Content-Type': 'text/plain' },
- JSON.stringify({ eid: P_XHR_EID })
- );
- expect(callbackSpy.lastCall.lastArg).to.deep.equal({
- eid: P_XHR_EID
- });
-
- expect(storage.getCookie(P_COOKIE_NAME)).to.equal(
- encodeURIComponent('eid:' + P_XHR_EID)
- );
- });
-
- it('xhr passes the uspString to Parrable', function() {
- let uspString = '1YNN';
- uspDataHandler.setConsentData(uspString);
- parrableIdSubmodule.getId(
- P_CONFIG_MOCK,
- null,
- null
- ).callback(callbackSpy);
- uspDataHandler.setConsentData(null);
- expect(server.requests[0].url).to.contain('us_privacy=' + uspString);
- });
-
- it('xhr base64 safely encodes url data object', function() {
- const urlSafeBase64EncodedData = '-_.';
- const btoaStub = sinon.stub(window, 'btoa').returns('+/=');
- let getIdResult = parrableIdSubmodule.getId(P_CONFIG_MOCK);
-
- getIdResult.callback(callbackSpy);
-
- let request = server.requests[0];
- let queryParams = utils.parseQS(request.url.split('?')[1]);
- expect(queryParams.data).to.equal(urlSafeBase64EncodedData);
- btoaStub.restore();
- });
-
- it('should log an error and continue to callback if ajax request errors', function () {
- let callBackSpy = sinon.spy();
- let submoduleCallback = parrableIdSubmodule.getId({ params: {partners: 'prebid'} }).callback;
- submoduleCallback(callBackSpy);
- let request = server.requests[0];
- expect(request.url).to.contain('h.parrable.com');
- request.respond(
- 503,
- null,
- 'Unavailable'
- );
- expect(logErrorStub.calledOnce).to.be.true;
- expect(callBackSpy.calledOnce).to.be.true;
- });
- });
-
- describe('response id', function() {
- it('provides the stored Parrable values if a cookie exists', function() {
- writeParrableCookie({ eid: P_COOKIE_EID });
- let getIdResult = parrableIdSubmodule.getId(P_CONFIG_MOCK);
- removeParrableCookie();
-
- expect(getIdResult.id).to.deep.equal({
- eid: P_COOKIE_EID
- });
- });
-
- it('provides the stored legacy Parrable ID values if cookies exist', function() {
- let oldEid = '01.111.old-eid';
- let oldEidCookieName = '_parrable_eid';
- let oldOptoutCookieName = '_parrable_optout';
-
- storage.setCookie(oldEidCookieName, oldEid);
- storage.setCookie(oldOptoutCookieName, 'true');
-
- let getIdResult = parrableIdSubmodule.getId(P_CONFIG_MOCK);
- expect(getIdResult.id).to.deep.equal({
- eid: oldEid,
- ibaOptout: true
- });
-
- // The ID system is expected to migrate old cookies to the new format
- expect(storage.getCookie(P_COOKIE_NAME)).to.equal(
- encodeURIComponent('eid:' + oldEid + ',ibaOptout:1')
- );
- expect(storage.getCookie(oldEidCookieName)).to.equal(null);
- expect(storage.getCookie(oldOptoutCookieName)).to.equal(null);
- removeParrableCookie();
- });
- });
-
- describe('GDPR consent', () => {
- let callbackSpy = sinon.spy();
-
- const config = {
- params: {
- partner: 'partner'
- }
- };
-
- const gdprConsentTestCases = [
- { consentData: { gdprApplies: true, consentString: 'expectedConsentString' }, expected: { gdpr: 1, gdpr_consent: 'expectedConsentString' } },
- { consentData: { gdprApplies: false, consentString: 'expectedConsentString' }, expected: { gdpr: 0 } },
- { consentData: { gdprApplies: true, consentString: undefined }, expected: { gdpr: 1, gdpr_consent: '' } },
- { consentData: { gdprApplies: 'yes', consentString: 'expectedConsentString' }, expected: { gdpr: 0 } },
- { consentData: undefined, expected: { gdpr: 0 } }
- ];
-
- gdprConsentTestCases.forEach((testCase, index) => {
- it(`should call user sync url with the gdprConsent - case ${index}`, () => {
- parrableIdSubmodule.getId(config, testCase.consentData).callback(callbackSpy);
-
- if (testCase.expected.gdpr === 1) {
- expect(server.requests[0].url).to.contain('gdpr=' + testCase.expected.gdpr);
- expect(server.requests[0].url).to.contain('gdpr_consent=' + testCase.expected.gdpr_consent);
- } else {
- expect(server.requests[0].url).to.contain('gdpr=' + testCase.expected.gdpr);
- expect(server.requests[0].url).to.not.contain('gdpr_consent');
- }
- })
- });
- });
-
- describe('third party cookie support', function () {
- let logErrorStub;
- let callbackSpy = sinon.spy();
-
- beforeEach(function() {
- logErrorStub = sinon.stub(utils, 'logError');
- });
-
- afterEach(function () {
- callbackSpy.resetHistory();
- removeParrableCookie();
- });
-
- afterEach(function() {
- logErrorStub.restore();
- });
-
- describe('when getting tpcSupport from XHR response', function () {
- let request;
- let dateNowStub;
- const dateNowMock = Date.now();
- const tpcSupportTtl = 1;
-
- before(() => {
- dateNowStub = sinon.stub(Date, 'now').returns(dateNowMock);
- });
-
- after(() => {
- dateNowStub.restore();
- });
-
- it('should set tpcSupport: true and tpcUntil in the cookie', function () {
- let { callback } = parrableIdSubmodule.getId(P_CONFIG_MOCK);
- callback(callbackSpy);
- request = server.requests[0];
-
- request.respond(
- 200,
- RESPONSE_HEADERS,
- JSON.stringify({ eid: P_XHR_EID, tpcSupport: true, tpcSupportTtl })
- );
-
- expect(storage.getCookie(P_COOKIE_NAME)).to.equal(
- encodeURIComponent('eid:' + P_XHR_EID + ',tpc:1,tpcUntil:' + Math.floor((dateNowMock / 1000) + tpcSupportTtl))
- );
- });
-
- it('should set tpcSupport: false and tpcUntil in the cookie', function () {
- let { callback } = parrableIdSubmodule.getId(P_CONFIG_MOCK);
- callback(callbackSpy);
- request = server.requests[0];
- request.respond(
- 200,
- RESPONSE_HEADERS,
- JSON.stringify({ eid: P_XHR_EID, tpcSupport: false, tpcSupportTtl })
- );
-
- expect(storage.getCookie(P_COOKIE_NAME)).to.equal(
- encodeURIComponent('eid:' + P_XHR_EID + ',tpc:0,tpcUntil:' + Math.floor((dateNowMock / 1000) + tpcSupportTtl))
- );
- });
-
- it('should not set tpcSupport in the cookie', function () {
- let { callback } = parrableIdSubmodule.getId(P_CONFIG_MOCK);
- callback(callbackSpy);
- request = server.requests[0];
-
- request.respond(
- 200,
- RESPONSE_HEADERS,
- JSON.stringify({ eid: P_XHR_EID })
- );
-
- expect(storage.getCookie(P_COOKIE_NAME)).to.equal(
- encodeURIComponent('eid:' + P_XHR_EID)
- );
- });
- });
- });
-
- describe('request-filter status', function () {
- let logErrorStub;
- let callbackSpy = sinon.spy();
-
- beforeEach(function() {
- logErrorStub = sinon.stub(utils, 'logError');
- });
-
- afterEach(function () {
- callbackSpy.resetHistory();
- removeParrableCookie();
- });
-
- afterEach(function() {
- logErrorStub.restore();
- });
-
- describe('when getting filterTtl from XHR response', function () {
- let request;
- let dateNowStub;
- const dateNowMock = Date.now();
- const filterTtl = 1000;
-
- before(() => {
- dateNowStub = sinon.stub(Date, 'now').returns(dateNowMock);
- });
-
- after(() => {
- dateNowStub.restore();
- });
-
- it('should set filteredUntil in the cookie', function () {
- let { callback } = parrableIdSubmodule.getId(P_CONFIG_MOCK);
- callback(callbackSpy);
- request = server.requests[0];
-
- request.respond(
- 200,
- RESPONSE_HEADERS,
- JSON.stringify({ eid: P_XHR_EID, filterTtl })
- );
-
- expect(storage.getCookie(P_COOKIE_NAME)).to.equal(
- encodeURIComponent(
- 'eid:' + P_XHR_EID +
- ',filteredUntil:' + Math.floor((dateNowMock / 1000) + filterTtl) +
- ',filterHits:0')
- );
- });
-
- it('should increment filterHits in the cookie', function () {
- writeParrableCookie({
- eid: P_XHR_EID,
- filteredUntil: Math.floor((dateNowMock / 1000) + filterTtl),
- filterHits: 0
- });
- let { callback } = parrableIdSubmodule.getId(P_CONFIG_MOCK);
- callback(callbackSpy);
-
- expect(storage.getCookie(P_COOKIE_NAME)).to.equal(
- encodeURIComponent(
- 'eid:' + P_XHR_EID +
- ',filteredUntil:' + Math.floor((dateNowMock / 1000) + filterTtl) +
- ',filterHits:1')
- );
- });
-
- it('should send filterHits in the XHR', function () {
- const filterHits = 1;
- writeParrableCookie({
- eid: P_XHR_EID,
- filteredUntil: Math.floor(dateNowMock / 1000),
- filterHits
- });
- let { callback } = parrableIdSubmodule.getId(P_CONFIG_MOCK);
- callback(callbackSpy);
- request = server.requests[0];
-
- let queryParams = utils.parseQS(request.url.split('?')[1]);
- let data = JSON.parse(atob(decodeBase64UrlSafe(queryParams.data)));
-
- expect(data.filterHits).to.equal(filterHits);
- });
- });
- });
- });
-
- describe('parrableIdSystem.decode()', function() {
- it('provides the Parrable ID (EID) from a stored object', function() {
- let eid = '01.123.4567890';
- let parrableId = {
- eid,
- ibaOptout: true
- };
-
- expect(parrableIdSubmodule.decode(parrableId)).to.deep.equal({
- parrableId
- });
- });
- });
-
- describe('timezone filtering', function() {
- before(function() {
- sinon.stub(Intl, 'DateTimeFormat');
- });
-
- after(function() {
- Intl.DateTimeFormat.restore();
- });
-
- it('permits an impression when no timezoneFilter is configured', function() {
- expect(parrableIdSubmodule.getId({ params: {
- partners: 'prebid-test',
- } })).to.have.property('callback');
- });
-
- it('permits an impression from a blocked timezone when a cookie exists', function() {
- const blockedZone = 'Antarctica/South_Pole';
- const resolvedOptions = sinon.stub().returns({ timeZone: blockedZone });
- Intl.DateTimeFormat.returns({ resolvedOptions });
-
- writeParrableCookie({ eid: P_COOKIE_EID });
-
- expect(parrableIdSubmodule.getId({ params: {
- partners: 'prebid-test',
- timezoneFilter: {
- blockedZones: [ blockedZone ]
- }
- } })).to.have.property('callback');
- expect(resolvedOptions.called).to.equal(false);
-
- removeParrableCookie();
- })
-
- it('permits an impression from an allowed timezone', function() {
- const allowedZone = 'America/New_York';
- const resolvedOptions = sinon.stub().returns({ timeZone: allowedZone });
- Intl.DateTimeFormat.returns({ resolvedOptions });
-
- expect(parrableIdSubmodule.getId({ params: {
- partners: 'prebid-test',
- timezoneFilter: {
- allowedZones: [ allowedZone ]
- }
- } })).to.have.property('callback');
- expect(resolvedOptions.called).to.equal(true);
- });
-
- it('permits an impression from a lower cased allowed timezone', function() {
- const allowedZone = 'America/New_York';
- const resolvedOptions = sinon.stub().returns({ timeZone: allowedZone });
- Intl.DateTimeFormat.returns({ resolvedOptions });
-
- expect(parrableIdSubmodule.getId({ params: {
- partner: 'prebid-test',
- timezoneFilter: {
- allowedZones: [ allowedZone.toLowerCase() ]
- }
- } })).to.have.property('callback');
- expect(resolvedOptions.called).to.equal(true);
- });
-
- it('permits an impression from a timezone that is not blocked', function() {
- const blockedZone = 'America/New_York';
- const resolvedOptions = sinon.stub().returns({ timeZone: 'Iceland' });
- Intl.DateTimeFormat.returns({ resolvedOptions });
-
- expect(parrableIdSubmodule.getId({ params: {
- partners: 'prebid-test',
- timezoneFilter: {
- blockedZones: [ blockedZone ]
- }
- } })).to.have.property('callback');
- expect(resolvedOptions.called).to.equal(true);
- });
-
- it('does not permit an impression from a blocked timezone', function() {
- const blockedZone = 'America/New_York';
- const resolvedOptions = sinon.stub().returns({ timeZone: blockedZone });
- Intl.DateTimeFormat.returns({ resolvedOptions });
-
- expect(parrableIdSubmodule.getId({ params: {
- partners: 'prebid-test',
- timezoneFilter: {
- blockedZones: [ blockedZone ]
- }
- } })).to.equal(null);
- expect(resolvedOptions.called).to.equal(true);
- });
-
- it('does not permit an impression from a lower cased blocked timezone', function() {
- const blockedZone = 'America/New_York';
- const resolvedOptions = sinon.stub().returns({ timeZone: blockedZone });
- Intl.DateTimeFormat.returns({ resolvedOptions });
-
- expect(parrableIdSubmodule.getId({ params: {
- partner: 'prebid-test',
- timezoneFilter: {
- blockedZones: [ blockedZone.toLowerCase() ]
- }
- } })).to.equal(null);
- expect(resolvedOptions.called).to.equal(true);
- });
-
- it('does not permit an impression from a blocked timezone even when also allowed', function() {
- const timezone = 'America/New_York';
- const resolvedOptions = sinon.stub().returns({ timeZone: timezone });
- Intl.DateTimeFormat.returns({ resolvedOptions });
-
- expect(parrableIdSubmodule.getId({ params: {
- partners: 'prebid-test',
- timezoneFilter: {
- allowedZones: [ timezone ],
- blockedZones: [ timezone ]
- }
- } })).to.equal(null);
- expect(resolvedOptions.called).to.equal(true);
- });
- });
-
- describe('timezone offset filtering', function() {
- before(function() {
- sinon.stub(Date.prototype, 'getTimezoneOffset');
- });
-
- afterEach(function() {
- Date.prototype.getTimezoneOffset.reset();
- })
-
- after(function() {
- Date.prototype.getTimezoneOffset.restore();
- });
-
- it('permits an impression from a blocked offset when a cookie exists', function() {
- const blockedOffset = -4;
- Date.prototype.getTimezoneOffset.returns(blockedOffset * 60);
-
- writeParrableCookie({ eid: P_COOKIE_EID });
-
- expect(parrableIdSubmodule.getId({ params: {
- partners: 'prebid-test',
- timezoneFilter: {
- blockedOffsets: [ blockedOffset ]
- }
- } })).to.have.property('callback');
-
- removeParrableCookie();
- });
-
- it('permits an impression from an allowed offset', function() {
- const allowedOffset = -5;
- Date.prototype.getTimezoneOffset.returns(allowedOffset * 60);
-
- expect(parrableIdSubmodule.getId({ params: {
- partners: 'prebid-test',
- timezoneFilter: {
- allowedOffsets: [ allowedOffset ]
- }
- } })).to.have.property('callback');
- expect(Date.prototype.getTimezoneOffset.called).to.equal(true);
- });
-
- it('permits an impression from an offset that is not blocked', function() {
- const allowedOffset = -5;
- const blockedOffset = 5;
- Date.prototype.getTimezoneOffset.returns(allowedOffset * 60);
-
- expect(parrableIdSubmodule.getId({ params: {
- partners: 'prebid-test',
- timezoneFilter: {
- blockedOffsets: [ blockedOffset ]
- }
- }})).to.have.property('callback');
- expect(Date.prototype.getTimezoneOffset.called).to.equal(true);
- });
-
- it('does not permit an impression from a blocked offset', function() {
- const blockedOffset = -5;
- Date.prototype.getTimezoneOffset.returns(blockedOffset * 60);
-
- expect(parrableIdSubmodule.getId({ params: {
- partners: 'prebid-test',
- timezoneFilter: {
- blockedOffsets: [ blockedOffset ]
- }
- } })).to.equal(null);
- expect(Date.prototype.getTimezoneOffset.called).to.equal(true);
- });
-
- it('does not permit an impression from a blocked offset even when also allowed', function() {
- const offset = -5;
- Date.prototype.getTimezoneOffset.returns(offset * 60);
-
- expect(parrableIdSubmodule.getId({ params: {
- partners: 'prebid-test',
- timezoneFilter: {
- allowedOffset: [ offset ],
- blockedOffsets: [ offset ]
- }
- } })).to.equal(null);
- expect(Date.prototype.getTimezoneOffset.called).to.equal(true);
- });
- });
-
- describe('userId requestBids hook', function() {
- let adUnits;
- let sandbox;
-
- beforeEach(function() {
- sandbox = sinon.sandbox.create();
- mockGdprConsent(sandbox);
- adUnits = [getAdUnitMock()];
- writeParrableCookie({ eid: P_COOKIE_EID, ibaOptout: true });
- init(config);
- setSubmoduleRegistry([parrableIdSubmodule]);
- });
-
- afterEach(function() {
- removeParrableCookie();
- storage.setCookie(P_COOKIE_NAME, '', EXPIRED_COOKIE_DATE);
- sandbox.restore();
- });
-
- it('when a stored Parrable ID exists it is added to bids', function(done) {
- config.setConfig(getConfigMock());
- requestBidsHook(function() {
- adUnits.forEach(unit => {
- unit.bids.forEach(bid => {
- expect(bid).to.have.deep.nested.property('userId.parrableId');
- expect(bid.userId.parrableId.eid).to.equal(P_COOKIE_EID);
- expect(bid.userId.parrableId.ibaOptout).to.equal(true);
- const parrableIdAsEid = find(bid.userIdAsEids, e => e.source == 'parrable.com');
- expect(parrableIdAsEid).to.deep.equal({
- source: 'parrable.com',
- uids: [{
- id: P_COOKIE_EID,
- atype: 1,
- ext: {
- ibaOptout: true
- }
- }]
- });
- });
- });
- done();
- }, { adUnits });
- });
-
- it('supplies an optout reason when the EID is missing due to CCPA non-consent', function(done) {
- // the ID system itself will not write a cookie with an EID when CCPA=true
- writeParrableCookie({ ccpaOptout: true });
- config.setConfig(getConfigMock());
-
- requestBidsHook(function() {
- adUnits.forEach(unit => {
- unit.bids.forEach(bid => {
- expect(bid).to.have.deep.nested.property('userId.parrableId');
- expect(bid.userId.parrableId).to.not.have.property('eid');
- expect(bid.userId.parrableId.ccpaOptout).to.equal(true);
- const parrableIdAsEid = find(bid.userIdAsEids, e => e.source == 'parrable.com');
- expect(parrableIdAsEid).to.deep.equal({
- source: 'parrable.com',
- uids: [{
- id: '',
- atype: 1,
- ext: {
- ccpaOptout: true
- }
- }]
- });
- });
- });
- done();
- }, { adUnits });
- });
- });
-
- describe('partners parsing', function () {
- let callbackSpy = sinon.spy();
-
- const partnersTestCase = [
- {
- name: '"partners" as an array',
- config: { params: { partners: ['parrable_test_partner_123', 'parrable_test_partner_456'] } },
- expected: ['parrable_test_partner_123', 'parrable_test_partner_456']
- },
- {
- name: '"partners" as a string list',
- config: { params: { partners: 'parrable_test_partner_123,parrable_test_partner_456' } },
- expected: ['parrable_test_partner_123', 'parrable_test_partner_456']
- },
- {
- name: '"partners" as a string',
- config: { params: { partners: 'parrable_test_partner_123' } },
- expected: ['parrable_test_partner_123']
- },
- {
- name: '"partner" as a string list',
- config: { params: { partner: 'parrable_test_partner_123,parrable_test_partner_456' } },
- expected: ['parrable_test_partner_123', 'parrable_test_partner_456']
- },
- {
- name: '"partner" as string',
- config: { params: { partner: 'parrable_test_partner_123' } },
- expected: ['parrable_test_partner_123']
- },
- ];
- partnersTestCase.forEach(testCase => {
- it(`accepts config property ${testCase.name}`, () => {
- parrableIdSubmodule.getId(testCase.config).callback(callbackSpy);
-
- let request = server.requests[0];
- let queryParams = utils.parseQS(request.url.split('?')[1]);
- let data = JSON.parse(atob(decodeBase64UrlSafe(queryParams.data)));
-
- expect(data.trackers).to.deep.equal(testCase.expected);
- });
- });
- });
-
- describe('eid', () => {
- before(() => {
- attachIdSystem(merkleIdSubmodule);
- })
- it('parrableId', function() {
- const userId = {
- parrableId: {
- eid: 'some-random-id-value'
- }
- };
- const newEids = createEidsArray(userId);
- expect(newEids.length).to.equal(1);
- expect(newEids[0]).to.deep.equal({
- source: 'parrable.com',
- uids: [{id: 'some-random-id-value', atype: 1}]
- });
- });
- })
-});
diff --git a/test/spec/modules/pirIdSystem_spec.js b/test/spec/modules/pirIdSystem_spec.js
deleted file mode 100644
index 5acc5a5eb9c..00000000000
--- a/test/spec/modules/pirIdSystem_spec.js
+++ /dev/null
@@ -1,77 +0,0 @@
-import { pirIdSubmodule, storage, readId } from 'modules/pirIdSystem.js';
-import sinon from 'sinon';
-
-describe('pirIdSystem', () => {
- let sandbox;
- let getCookieStub;
- let getDataFromLocalStorageStub;
-
- beforeEach(() => {
- sandbox = sinon.createSandbox();
- getCookieStub = sandbox.stub(storage, 'getCookie');
- getDataFromLocalStorageStub = sandbox.stub(storage, 'getDataFromLocalStorage');
- });
-
- afterEach(() => {
- sandbox.restore();
- });
-
- describe('getId', () => {
- it('should return an object with id when pirIdToken is found', () => {
- getDataFromLocalStorageStub.returns('testToken');
- getCookieStub.returns('testToken');
-
- const result = pirIdSubmodule.getId();
-
- expect(result).to.deep.equal({ id: 'testToken' });
- });
-
- it('should return undefined when pirIdToken is not found', () => {
- const result = pirIdSubmodule.getId();
-
- expect(result).to.be.undefined;
- });
- });
-
- describe('decode', () => {
- it('should return an object with pirId when value is a string', () => {
- const result = pirIdSubmodule.decode('testId');
-
- expect(result).to.deep.equal({ pirId: 'testId' });
- });
-
- it('should return undefined when value is not a string', () => {
- const result = pirIdSubmodule.decode({});
-
- expect(result).to.be.undefined;
- });
- });
-
- describe('readId', () => {
- it('should return data from local storage when it exists', () => {
- getDataFromLocalStorageStub.returns('local_storage_data');
-
- const result = readId();
-
- expect(result).to.equal('local_storage_data');
- });
-
- it('should return data from cookie when local storage data does not exist', () => {
- getDataFromLocalStorageStub.returns(null);
- getCookieStub.returns('cookie_data');
-
- const result = readId();
-
- expect(result).to.equal('cookie_data');
- });
-
- it('should return null when neither local storage data nor cookie data exists', () => {
- getDataFromLocalStorageStub.returns(null);
- getCookieStub.returns(null);
-
- const result = readId();
-
- expect(result).to.be.null;
- });
- });
-});
diff --git a/test/spec/modules/pixfutureBidAdapter_spec.js b/test/spec/modules/pixfutureBidAdapter_spec.js
index a236478c9b4..bdf40fbb06b 100644
--- a/test/spec/modules/pixfutureBidAdapter_spec.js
+++ b/test/spec/modules/pixfutureBidAdapter_spec.js
@@ -43,12 +43,12 @@ describe('PixFutureAdapter', function () {
});
it('should return false when required params are not passed', function () {
- let bid = Object.assign({}, bid);
- delete bid.params;
- bid.params = {
+ let invalidBid = Object.assign({}, bid);
+ delete invalidBid.params;
+ invalidBid.params = {
'pix_id': 0
};
- expect(spec.isBidRequestValid(bid)).to.equal(false);
+ expect(spec.isBidRequestValid(invalidBid)).to.equal(false);
});
});
diff --git a/test/spec/modules/prebidServerBidAdapter_spec.js b/test/spec/modules/prebidServerBidAdapter_spec.js
index 3b433d34955..2b4cd025515 100644
--- a/test/spec/modules/prebidServerBidAdapter_spec.js
+++ b/test/spec/modules/prebidServerBidAdapter_spec.js
@@ -21,7 +21,7 @@ import 'modules/currency.js'; // adServerCurrency test
import 'modules/userId/index.js';
import 'modules/multibid/index.js';
import 'modules/priceFloors.js';
-import 'modules/consentManagement.js';
+import 'modules/consentManagementTcf.js';
import 'modules/consentManagementUsp.js';
import 'modules/schain.js';
import 'modules/paapi.js';
@@ -42,7 +42,6 @@ let CONFIG = {
accountId: '1',
enabled: true,
bidders: ['appnexus'],
- timeout: 1000,
cacheMarkup: 2,
endpoint: {
p1Consent: 'https://prebid.adnxs.com/pbs/v1/openrtb2/auction',
@@ -765,6 +764,7 @@ describe('S2S Adapter', function () {
it('should set tmaxmax correctly when publisher has specified it', () => {
const cfg = {...CONFIG};
+ config.setConfig({s2sConfig: cfg})
// publisher has specified a tmaxmax in their setup
const ortb2Fragments = {
@@ -785,8 +785,9 @@ describe('S2S Adapter', function () {
it('should set tmaxmax correctly when publisher has not specified it', () => {
const cfg = {...CONFIG};
+ config.setConfig({s2sConfig: cfg})
- // publisher has not specified a tmaxmax in their setup - so we should be
+ // publisher has not specified a tmaxmax in their setup - so we should be
// falling back to requestBidsTimeout
const ortb2Fragments = {};
const s2sCfg = {...REQUEST, cfg};
@@ -799,6 +800,32 @@ describe('S2S Adapter', function () {
expect(req.ext.tmaxmax).to.eql(808);
});
+ describe('default tmax', () => {
+ [null, 3000].forEach(maxTimeout => {
+ describe(`when maxTimeout is ${maxTimeout}`, () => {
+ let cfg;
+
+ beforeEach(() => {
+ cfg = {accountId: '1', endpoint: 'mock-endpoint', maxTimeout};
+ config.setConfig({s2sConfig: cfg});
+ maxTimeout = maxTimeout ?? s2sDefaultConfig.maxTimeout
+ });
+
+ it('should cap tmax to maxTimeout', () => {
+ adapter.callBids({...REQUEST, requestBidsTimeout: maxTimeout * 2, s2sConfig: cfg}, BID_REQUESTS, addBidResponse, done, ajax);
+ const req = JSON.parse(server.requests[0].requestBody);
+ expect(req.tmax).to.eql(maxTimeout);
+ });
+
+ it('should be set to 0.75 * requestTimeout, if lower than maxTimeout', () => {
+ adapter.callBids({...REQUEST, requestBidsTimeout: maxTimeout / 2}, BID_REQUESTS, addBidResponse, done, ajax);
+ const req = JSON.parse(server.requests[0].requestBody);
+ expect(req.tmax).to.eql(maxTimeout / 2 * 0.75);
+ })
+ })
+ })
+ })
+
it('should block request if config did not define p1Consent URL in endpoint object config', function () {
let badConfig = utils.deepClone(CONFIG);
badConfig.endpoint = { noP1Consent: 'https://prebid.adnxs.com/pbs/v1/openrtb2/auction' };
@@ -864,22 +891,6 @@ describe('S2S Adapter', function () {
expect(requestBid.imp[0].video).to.exist;
});
- it('should default video placement if not defined and instream', function () {
- let ortb2Config = utils.deepClone(CONFIG);
- ortb2Config.endpoint.p1Consent = 'https://prebid.adnxs.com/pbs/v1/openrtb2/auction';
-
- config.setConfig({ s2sConfig: ortb2Config });
-
- let videoBid = utils.deepClone(VIDEO_REQUEST);
- videoBid.ad_units[0].mediaTypes.video.context = 'instream';
- adapter.callBids(videoBid, BID_REQUESTS, addBidResponse, done, ajax);
-
- const requestBid = JSON.parse(server.requests[0].requestBody);
- expect(requestBid.imp[0].banner).to.not.exist;
- expect(requestBid.imp[0].video).to.exist;
- expect(requestBid.imp[0].video.placement).to.equal(1);
- });
-
it('converts video mediaType properties into openRTB format', function () {
let ortb2Config = utils.deepClone(CONFIG);
ortb2Config.endpoint.p1Consent = 'https://prebid.adnxs.com/pbs/v1/openrtb2/auction';
@@ -893,7 +904,6 @@ describe('S2S Adapter', function () {
const requestBid = JSON.parse(server.requests[0].requestBody);
expect(requestBid.imp[0].banner).to.not.exist;
expect(requestBid.imp[0].video).to.exist;
- expect(requestBid.imp[0].video.placement).to.equal(1);
expect(requestBid.imp[0].video.w).to.equal(640);
expect(requestBid.imp[0].video.h).to.equal(480);
expect(requestBid.imp[0].video.playerSize).to.be.undefined;
@@ -1049,12 +1059,18 @@ describe('S2S Adapter', function () {
it('adds device and app objects to request', function () {
const _config = {
s2sConfig: CONFIG,
- device: { ifa: '6D92078A-8246-4BA4-AE5B-76104861E7DC' },
- app: { bundle: 'com.test.app' },
};
-
config.setConfig(_config);
- adapter.callBids(addFpdEnrichmentsToS2SRequest(REQUEST, BID_REQUESTS), BID_REQUESTS, addBidResponse, done, ajax);
+ const s2sreq = addFpdEnrichmentsToS2SRequest({
+ ...REQUEST,
+ ortb2Fragments: {
+ global: {
+ device: { ifa: '6D92078A-8246-4BA4-AE5B-76104861E7DC' },
+ app: { bundle: 'com.test.app' },
+ }
+ }
+ }, BID_REQUESTS)
+ adapter.callBids(s2sreq, BID_REQUESTS, addBidResponse, done, ajax);
const requestBid = JSON.parse(server.requests[0].requestBody);
sinon.assert.match(requestBid.device, {
ifa: '6D92078A-8246-4BA4-AE5B-76104861E7DC',
@@ -1073,15 +1089,20 @@ describe('S2S Adapter', function () {
p1Consent: 'https://prebid.adnxs.com/pbs/v1/openrtb2/auction'
}
});
-
const _config = {
s2sConfig: s2sConfig,
- device: { ifa: '6D92078A-8246-4BA4-AE5B-76104861E7DC' },
- app: { bundle: 'com.test.app' },
};
-
config.setConfig(_config);
- adapter.callBids(addFpdEnrichmentsToS2SRequest(REQUEST, BID_REQUESTS), BID_REQUESTS, addBidResponse, done, ajax);
+ const s2sReq = addFpdEnrichmentsToS2SRequest({
+ ...REQUEST,
+ ortb2Fragments: {
+ global: {
+ device: { ifa: '6D92078A-8246-4BA4-AE5B-76104861E7DC' },
+ app: { bundle: 'com.test.app' },
+ }
+ }
+ }, BID_REQUESTS)
+ adapter.callBids(s2sReq, BID_REQUESTS, addBidResponse, done, ajax);
const requestBid = JSON.parse(server.requests[0].requestBody);
sinon.assert.match(requestBid.device, {
ifa: '6D92078A-8246-4BA4-AE5B-76104861E7DC',
@@ -1440,9 +1461,7 @@ describe('S2S Adapter', function () {
it('adds device.w and device.h even if the config lacks a device object', function () {
const _config = {
s2sConfig: CONFIG,
- app: { bundle: 'com.test.app' },
};
-
config.setConfig(_config);
adapter.callBids(addFpdEnrichmentsToS2SRequest(REQUEST, BID_REQUESTS), BID_REQUESTS, addBidResponse, done, ajax);
const requestBid = JSON.parse(server.requests[0].requestBody);
@@ -1450,10 +1469,6 @@ describe('S2S Adapter', function () {
w: window.innerWidth,
h: window.innerHeight
})
- sinon.assert.match(requestBid.app, {
- bundle: 'com.test.app',
- publisher: { 'id': '1' }
- });
expect(requestBid.imp[0].native.ver).to.equal('1.2');
});
@@ -1537,19 +1552,26 @@ describe('S2S Adapter', function () {
it('adds site if app is not present', function () {
const _config = {
s2sConfig: CONFIG,
- site: {
- publisher: {
- id: '1234',
- domain: 'test.com'
- },
- content: {
- language: 'en'
- }
- }
};
config.setConfig(_config);
- adapter.callBids(addFpdEnrichmentsToS2SRequest(REQUEST, BID_REQUESTS), BID_REQUESTS, addBidResponse, done, ajax);
+ const s2sReq = addFpdEnrichmentsToS2SRequest({
+ ...REQUEST,
+ ortb2Fragments: {
+ global: {
+ site: {
+ publisher: {
+ id: '1234',
+ domain: 'test.com'
+ },
+ content: {
+ language: 'en'
+ }
+ }
+ }
+ }
+ }, BID_REQUESTS);
+ adapter.callBids(s2sReq, BID_REQUESTS, addBidResponse, done, ajax);
const requestBid = JSON.parse(server.requests[0].requestBody);
expect(requestBid.site).to.exist.and.to.be.a('object');
expect(requestBid.site.publisher).to.exist.and.to.be.a('object');
@@ -1574,23 +1596,31 @@ describe('S2S Adapter', function () {
it('site should not be present when app is present', function () {
const _config = {
s2sConfig: CONFIG,
- app: { bundle: 'com.test.app' },
- site: {
- publisher: {
- id: '1234',
- domain: 'test.com'
- },
- content: {
- language: 'en'
- }
- }
};
config.setConfig(_config);
- adapter.callBids(addFpdEnrichmentsToS2SRequest(REQUEST, BID_REQUESTS), BID_REQUESTS, addBidResponse, done, ajax);
+
+ const s2sReq = addFpdEnrichmentsToS2SRequest({
+ ...REQUEST,
+ ortb2Fragments: {
+ global: {
+ app: { bundle: 'com.test.app' },
+ site: {
+ publisher: {
+ id: '1234',
+ domain: 'test.com'
+ },
+ content: {
+ language: 'en'
+ }
+ }
+ }
+ }
+ }, BID_REQUESTS)
+ adapter.callBids(s2sReq, BID_REQUESTS, addBidResponse, done, ajax);
const requestBid = JSON.parse(server.requests[0].requestBody);
expect(requestBid.site).to.not.exist;
- expect(requestBid.app).to.exist.and.to.be.a('object');
+ expect(requestBid.app.bundle).to.eql('com.test.app');
});
it('adds appnexus aliases to request', function () {
@@ -1754,39 +1784,6 @@ describe('S2S Adapter', function () {
});
});
- it('converts appnexus params to expected format for PBS', function () {
- const s2sConfig = Object.assign({}, CONFIG, {
- endpoint: {
- p1Consent: 'https://prebid.adnxs.com/pbs/v1/openrtb2/auction'
- }
- });
- config.setConfig({ s2sConfig: s2sConfig });
-
- Object.assign(BID_REQUESTS[0].bids[0].params, {
- usePaymentRule: true,
- keywords: {
- foo: ['bar', 'baz'],
- fizz: ['buzz']
- }
- })
-
- adapter.callBids(REQUEST, BID_REQUESTS, addBidResponse, done, ajax);
- const requestBid = JSON.parse(server.requests[0].requestBody);
-
- const requestParams = requestBid.imp[0].ext.prebid.bidder;
- expect(requestParams.appnexus).to.exist;
- expect(requestParams.appnexus.placement_id).to.exist.and.to.equal(10433394);
- expect(requestParams.appnexus.use_pmt_rule).to.exist.and.to.be.true;
- expect(requestParams.appnexus.member).to.exist;
- expect(requestParams.appnexus.keywords).to.exist.and.to.deep.equal([{
- key: 'foo',
- value: ['bar', 'baz']
- }, {
- key: 'fizz',
- value: ['buzz']
- }]);
- });
-
describe('cookie sync', () => {
let s2sConfig, bidderReqs;
@@ -2004,15 +2001,21 @@ describe('S2S Adapter', function () {
it('and overrides publisher and page', function () {
config.setConfig({
s2sConfig: s2sConfig,
- site: {
- domain: 'nytimes.com',
- page: 'http://www.nytimes.com',
- publisher: { id: '2' }
- },
- device: device
});
-
- adapter.callBids(addFpdEnrichmentsToS2SRequest(s2sBidRequest, BID_REQUESTS), BID_REQUESTS, addBidResponse, done, ajax);
+ const s2sReq = addFpdEnrichmentsToS2SRequest({
+ ...s2sBidRequest,
+ ortb2Fragments: {
+ global: {
+ site: {
+ domain: 'nytimes.com',
+ page: 'http://www.nytimes.com',
+ publisher: { id: '2' }
+ },
+ device,
+ }
+ }
+ }, BID_REQUESTS);
+ adapter.callBids(s2sReq, BID_REQUESTS, addBidResponse, done, ajax);
const requestBid = JSON.parse(server.requests[0].requestBody);
expect(requestBid.site).to.exist.and.to.be.a('object');
@@ -2025,13 +2028,19 @@ describe('S2S Adapter', function () {
it('and merges domain and page with the config site value', function () {
config.setConfig({
s2sConfig: s2sConfig,
- site: {
- foo: 'bar'
- },
- device: device
});
-
- adapter.callBids(addFpdEnrichmentsToS2SRequest(s2sBidRequest, BID_REQUESTS), BID_REQUESTS, addBidResponse, done, ajax);
+ const s2sReq = addFpdEnrichmentsToS2SRequest({
+ ...s2sBidRequest,
+ ortb2Fragments: {
+ global: {
+ site: {
+ foo: 'bar'
+ },
+ device: device
+ }
+ }
+ }, BID_REQUESTS);
+ adapter.callBids(s2sReq, BID_REQUESTS, addBidResponse, done, ajax);
const requestBid = JSON.parse(server.requests[0].requestBody);
expect(requestBid.site).to.exist.and.to.be.a('object');
@@ -3524,12 +3533,15 @@ describe('S2S Adapter', function () {
beforeEach(function () {
fledgeStub = sinon.stub();
- config.setConfig({CONFIG});
+ config.setConfig({
+ s2sConfig: CONFIG,
+ });
bidderRequests = deepClone(BID_REQUESTS);
- AU
bidderRequests.forEach(req => {
Object.assign(req, {
- fledgeEnabled: true,
+ paapi: {
+ enabled: true
+ },
ortb2: {
fpd: 1
}
@@ -3537,7 +3549,7 @@ describe('S2S Adapter', function () {
req.bids.forEach(bid => {
Object.assign(bid, {
ortb2Imp: {
- fpd: 2
+ fpd: 2,
}
})
})
@@ -3548,8 +3560,8 @@ describe('S2S Adapter', function () {
function expectFledgeCalls() {
const auctionId = bidderRequests[0].auctionId;
- sinon.assert.calledWith(fledgeStub, sinon.match({auctionId, adUnitCode: AU, ortb2: bidderRequests[0].ortb2, ortb2Imp: bidderRequests[0].bids[0].ortb2Imp}), {config: {id: 1}})
- sinon.assert.calledWith(fledgeStub, sinon.match({auctionId, adUnitCode: AU, ortb2: undefined, ortb2Imp: undefined}), {config: {id: 2}})
+ sinon.assert.calledWith(fledgeStub, sinon.match({auctionId, adUnitCode: AU, ortb2: bidderRequests[0].ortb2, ortb2Imp: bidderRequests[0].bids[0].ortb2Imp}), sinon.match({config: {id: 1}}))
+ sinon.assert.calledWith(fledgeStub, sinon.match({auctionId, adUnitCode: AU, ortb2: undefined, ortb2Imp: undefined}), sinon.match({config: {id: 2}}))
}
it('calls addComponentAuction alongside addBidResponse', function () {
@@ -3712,181 +3724,135 @@ describe('S2S Adapter', function () {
config.setConfig({ s2sConfig: options });
sinon.assert.calledOnce(logErrorSpy);
});
+ describe('vendor: appnexuspsp', () => {
+ it('should configure the s2sConfig object with appnexuspsp vendor defaults unless specified by user', function () {
+ const options = {
+ accountId: '123',
+ bidders: ['appnexus'],
+ defaultVendor: 'appnexuspsp',
+ timeout: 750
+ };
- it('should configure the s2sConfig object with appnexuspsp vendor defaults unless specified by user', function () {
- const options = {
- accountId: '123',
- bidders: ['appnexus'],
- defaultVendor: 'appnexuspsp',
- timeout: 750
- };
-
- config.setConfig({ s2sConfig: options });
- sinon.assert.notCalled(logErrorSpy);
-
- let vendorConfig = config.getConfig('s2sConfig');
- expect(vendorConfig).to.have.property('accountId', '123');
- expect(vendorConfig).to.have.property('adapter', 'prebidServer');
- expect(vendorConfig.bidders).to.deep.equal(['appnexus']);
- expect(vendorConfig.enabled).to.be.true;
- expect(vendorConfig.endpoint).to.deep.equal({
- p1Consent: 'https://ib.adnxs.com/openrtb2/prebid',
- noP1Consent: 'https://ib.adnxs-simple.com/openrtb2/prebid'
- });
- expect(vendorConfig.syncEndpoint).to.deep.equal({
- p1Consent: 'https://prebid.adnxs.com/pbs/v1/cookie_sync',
- noP1Consent: 'https://prebid.adnxs-simple.com/pbs/v1/cookie_sync'
+ config.setConfig({ s2sConfig: options });
+ sinon.assert.notCalled(logErrorSpy);
+
+ let vendorConfig = config.getConfig('s2sConfig');
+ expect(vendorConfig).to.have.property('accountId', '123');
+ expect(vendorConfig).to.have.property('adapter', 'prebidServer');
+ expect(vendorConfig.bidders).to.deep.equal(['appnexus']);
+ expect(vendorConfig.enabled).to.be.true;
+ expect(vendorConfig.endpoint).to.deep.equal({
+ p1Consent: 'https://ib.adnxs.com/openrtb2/prebid',
+ noP1Consent: 'https://ib.adnxs-simple.com/openrtb2/prebid'
+ });
+ expect(vendorConfig.syncEndpoint).to.deep.equal({
+ p1Consent: 'https://prebid.adnxs.com/pbs/v1/cookie_sync',
+ noP1Consent: 'https://prebid.adnxs-simple.com/pbs/v1/cookie_sync'
+ });
+ expect(vendorConfig).to.have.property('timeout', 750);
});
- expect(vendorConfig).to.have.property('timeout', 750);
- });
-
- it('should configure the s2sConfig object with rubicon vendor defaults unless specified by user', function () {
- const options = {
- accountId: 'abc',
- bidders: ['rubicon'],
- defaultVendor: 'rubicon',
- timeout: 750
- };
+ })
- config.setConfig({ s2sConfig: options });
- sinon.assert.notCalled(logErrorSpy);
-
- let vendorConfig = config.getConfig('s2sConfig');
- expect(vendorConfig).to.have.property('accountId', 'abc');
- expect(vendorConfig).to.have.property('adapter', 'prebidServer');
- expect(vendorConfig.bidders).to.deep.equal(['rubicon']);
- expect(vendorConfig.enabled).to.be.true;
- expect(vendorConfig.endpoint).to.deep.equal({
- p1Consent: 'https://prebid-server.rubiconproject.com/openrtb2/auction',
- noP1Consent: 'https://prebid-server.rubiconproject.com/openrtb2/auction'
- });
- expect(vendorConfig.syncEndpoint).to.deep.equal({
- p1Consent: 'https://prebid-server.rubiconproject.com/cookie_sync',
- noP1Consent: 'https://prebid-server.rubiconproject.com/cookie_sync'
- });
- expect(vendorConfig).to.have.property('timeout', 750);
- });
+ describe('vendor: rubicon', () => {
+ it('should configure the s2sConfig object with rubicon vendor defaults unless specified by user', function () {
+ const options = {
+ accountId: 'abc',
+ bidders: ['rubicon'],
+ defaultVendor: 'rubicon',
+ timeout: 750
+ };
- it('should return proper defaults', function () {
- const options = {
- accountId: 'abc',
- bidders: ['rubicon'],
- defaultVendor: 'rubicon',
- timeout: 750
- };
+ config.setConfig({ s2sConfig: options });
+ sinon.assert.notCalled(logErrorSpy);
- config.setConfig({ s2sConfig: options });
- expect(config.getConfig('s2sConfig')).to.deep.equal({
- 'accountId': 'abc',
- 'adapter': 'prebidServer',
- 'bidders': ['rubicon'],
- 'defaultVendor': 'rubicon',
- 'enabled': true,
- 'endpoint': {
+ let vendorConfig = config.getConfig('s2sConfig');
+ expect(vendorConfig).to.have.property('accountId', 'abc');
+ expect(vendorConfig).to.have.property('adapter', 'prebidServer');
+ expect(vendorConfig.bidders).to.deep.equal(['rubicon']);
+ expect(vendorConfig.enabled).to.be.true;
+ expect(vendorConfig.endpoint).to.deep.equal({
p1Consent: 'https://prebid-server.rubiconproject.com/openrtb2/auction',
noP1Consent: 'https://prebid-server.rubiconproject.com/openrtb2/auction'
- },
- 'syncEndpoint': {
+ });
+ expect(vendorConfig.syncEndpoint).to.deep.equal({
p1Consent: 'https://prebid-server.rubiconproject.com/cookie_sync',
noP1Consent: 'https://prebid-server.rubiconproject.com/cookie_sync'
- },
- 'timeout': 750
- })
- });
-
- it('should return default adapterOptions if not set', function () {
- config.setConfig({
- s2sConfig: {
+ });
+ expect(vendorConfig).to.have.property('timeout', 750);
+ });
+ it('should return proper defaults', function () {
+ const options = {
accountId: 'abc',
bidders: ['rubicon'],
defaultVendor: 'rubicon',
timeout: 750
- }
- });
- expect(config.getConfig('s2sConfig')).to.deep.equal({
- enabled: true,
- timeout: 750,
- adapter: 'prebidServer',
- accountId: 'abc',
- bidders: ['rubicon'],
- defaultVendor: 'rubicon',
- endpoint: {
- p1Consent: 'https://prebid-server.rubiconproject.com/openrtb2/auction',
- noP1Consent: 'https://prebid-server.rubiconproject.com/openrtb2/auction'
- },
- syncEndpoint: {
- p1Consent: 'https://prebid-server.rubiconproject.com/cookie_sync',
- noP1Consent: 'https://prebid-server.rubiconproject.com/cookie_sync'
- },
- })
- });
-
- it('should configure the s2sConfig object with openwrap vendor defaults unless specified by user', function () {
- const options = {
- accountId: '1234',
- bidders: ['pubmatic'],
- defaultVendor: 'openwrap'
- };
+ };
- config.setConfig({ s2sConfig: options });
- sinon.assert.notCalled(logErrorSpy);
-
- let vendorConfig = config.getConfig('s2sConfig');
- expect(vendorConfig).to.have.property('accountId', '1234');
- expect(vendorConfig).to.have.property('adapter', 'prebidServer');
- expect(vendorConfig.bidders).to.deep.equal(['pubmatic']);
- expect(vendorConfig.enabled).to.be.true;
- expect(vendorConfig.endpoint).to.deep.equal({
- p1Consent: 'https://ow.pubmatic.com/openrtb2/auction?source=pbjs',
- noP1Consent: 'https://ow.pubmatic.com/openrtb2/auction?source=pbjs'
+ config.setConfig({ s2sConfig: options });
+ expect(config.getConfig('s2sConfig')).to.deep.equal({
+ 'accountId': 'abc',
+ 'adapter': 'prebidServer',
+ 'bidders': ['rubicon'],
+ 'defaultVendor': 'rubicon',
+ 'enabled': true,
+ 'endpoint': {
+ p1Consent: 'https://prebid-server.rubiconproject.com/openrtb2/auction',
+ noP1Consent: 'https://prebid-server.rubiconproject.com/openrtb2/auction'
+ },
+ 'syncEndpoint': {
+ p1Consent: 'https://prebid-server.rubiconproject.com/cookie_sync',
+ noP1Consent: 'https://prebid-server.rubiconproject.com/cookie_sync'
+ },
+ 'timeout': 750,
+ maxTimeout: 500,
+ })
});
- expect(vendorConfig).to.have.property('timeout', 500);
- });
+ })
- it('should return proper defaults', function () {
- const options = {
- accountId: '1234',
- bidders: ['pubmatic'],
- defaultVendor: 'openwrap',
- timeout: 500
- };
+ describe('vendor: openwrap', () => {
+ it('should configure the s2sConfig object with openwrap vendor defaults unless specified by user', function () {
+ const options = {
+ accountId: '1234',
+ bidders: ['pubmatic'],
+ defaultVendor: 'openwrap'
+ };
- config.setConfig({ s2sConfig: options });
- expect(config.getConfig('s2sConfig')).to.deep.equal({
- 'accountId': '1234',
- 'adapter': 'prebidServer',
- 'bidders': ['pubmatic'],
- 'defaultVendor': 'openwrap',
- 'enabled': true,
- 'endpoint': {
+ config.setConfig({ s2sConfig: options });
+ sinon.assert.notCalled(logErrorSpy);
+
+ let vendorConfig = config.getConfig('s2sConfig');
+ expect(vendorConfig).to.have.property('accountId', '1234');
+ expect(vendorConfig).to.have.property('adapter', 'prebidServer');
+ expect(vendorConfig.bidders).to.deep.equal(['pubmatic']);
+ expect(vendorConfig.enabled).to.be.true;
+ expect(vendorConfig.endpoint).to.deep.equal({
p1Consent: 'https://ow.pubmatic.com/openrtb2/auction?source=pbjs',
noP1Consent: 'https://ow.pubmatic.com/openrtb2/auction?source=pbjs'
- },
- 'timeout': 500
- })
- });
-
- it('should return default adapterOptions if not set', function () {
- config.setConfig({
- s2sConfig: {
+ });
+ });
+ it('should return proper defaults', function () {
+ const options = {
accountId: '1234',
bidders: ['pubmatic'],
defaultVendor: 'openwrap',
timeout: 500
- }
+ };
+
+ config.setConfig({ s2sConfig: options });
+ expect(config.getConfig('s2sConfig')).to.deep.equal({
+ 'accountId': '1234',
+ 'adapter': 'prebidServer',
+ 'bidders': ['pubmatic'],
+ 'defaultVendor': 'openwrap',
+ 'enabled': true,
+ 'endpoint': {
+ p1Consent: 'https://ow.pubmatic.com/openrtb2/auction?source=pbjs',
+ noP1Consent: 'https://ow.pubmatic.com/openrtb2/auction?source=pbjs'
+ },
+ 'timeout': 500,
+ maxTimeout: 500,
+ })
});
- expect(config.getConfig('s2sConfig')).to.deep.equal({
- enabled: true,
- timeout: 500,
- adapter: 'prebidServer',
- accountId: '1234',
- bidders: ['pubmatic'],
- defaultVendor: 'openwrap',
- endpoint: {
- p1Consent: 'https://ow.pubmatic.com/openrtb2/auction?source=pbjs',
- noP1Consent: 'https://ow.pubmatic.com/openrtb2/auction?source=pbjs'
- },
- })
});
it('should set adapterOptions', function () {
diff --git a/test/spec/modules/prismaBidAdapter_spec.js b/test/spec/modules/prismaBidAdapter_spec.js
index be1c16c9059..b0d068e5614 100644
--- a/test/spec/modules/prismaBidAdapter_spec.js
+++ b/test/spec/modules/prismaBidAdapter_spec.js
@@ -3,7 +3,7 @@ import {spec} from 'modules/prismaBidAdapter.js';
import {newBidder} from 'src/adapters/bidderFactory.js';
import {config} from 'src/config.js';
import * as utils from 'src/utils.js';
-import { requestBidsHook } from 'modules/consentManagement.js';
+import { requestBidsHook } from 'modules/consentManagementTcf.js';
describe('Prisma bid adapter tests', function () {
const DISPLAY_BID_REQUEST = [{
diff --git a/test/spec/modules/pubgeniusBidAdapter_spec.js b/test/spec/modules/pubgeniusBidAdapter_spec.js
index 86c8794dc4c..e1d579aaa4a 100644
--- a/test/spec/modules/pubgeniusBidAdapter_spec.js
+++ b/test/spec/modules/pubgeniusBidAdapter_spec.js
@@ -383,7 +383,6 @@ describe('pubGENIUS adapter', () => {
w: 200,
h: 100,
startdelay: -1,
- placement: 1,
skip: 1,
skipafter: 1,
playbackmethod: [3, 4],
diff --git a/test/spec/modules/pubmaticBidAdapter_spec.js b/test/spec/modules/pubmaticBidAdapter_spec.js
index 745def57f4e..7d42f407448 100644
--- a/test/spec/modules/pubmaticBidAdapter_spec.js
+++ b/test/spec/modules/pubmaticBidAdapter_spec.js
@@ -2948,7 +2948,7 @@ describe('PubMatic adapter', function () {
bidRequest[0].ortb2Imp = {
ext: { ae: 1 }
};
- const req = spec.buildRequests(bidRequest, { ...bidRequest, fledgeEnabled: false });
+ const req = spec.buildRequests(bidRequest, { ...bidRequest, paapi: {enabled: false} });
let data = JSON.parse(req.data);
if (data.imp[0].ext) {
expect(data.imp[0].ext).to.not.have.property('ae');
@@ -2961,7 +2961,7 @@ describe('PubMatic adapter', function () {
bidRequest[0].ortb2Imp = {
ext: { ae: 1 }
};
- const req = spec.buildRequests(bidRequest, { ...bidRequest, fledgeEnabled: true });
+ const req = spec.buildRequests(bidRequest, { ...bidRequest, paapi: {enabled: true} });
let data = JSON.parse(req.data);
expect(data.imp[0].ext.ae).to.equal(1);
});
@@ -3786,9 +3786,9 @@ describe('PubMatic adapter', function () {
response = spec.interpretResponse({ body: bidResponse }, bidRequest);
it('should return FLEDGE auction_configs alongside bids', function () {
expect(response).to.have.property('bids');
- expect(response).to.have.property('fledgeAuctionConfigs');
- expect(response.fledgeAuctionConfigs.length).to.equal(1);
- expect(response.fledgeAuctionConfigs[0].bidId).to.equal('test_bid_id');
+ expect(response).to.have.property('paapi');
+ expect(response.paapi.length).to.equal(1);
+ expect(response.paapi[0].bidId).to.equal('test_bid_id');
});
});
diff --git a/test/spec/modules/pubxBidAdapter_spec.js b/test/spec/modules/pubxBidAdapter_spec.js
index b387264bf91..38efccac2a6 100644
--- a/test/spec/modules/pubxBidAdapter_spec.js
+++ b/test/spec/modules/pubxBidAdapter_spec.js
@@ -26,10 +26,10 @@ describe('pubxAdapter', function () {
});
it('should return false when required params are not passed', function () {
- let bid = Object.assign({}, bid);
- delete bid.params;
- bid.params = {};
- expect(spec.isBidRequestValid(bid)).to.equal(false);
+ let invalidBid = Object.assign({}, bid);
+ delete invalidBid.params;
+ invalidBid.params = {};
+ expect(spec.isBidRequestValid(invalidBid)).to.equal(false);
});
});
diff --git a/test/spec/modules/pxyzBidAdapter_spec.js b/test/spec/modules/pxyzBidAdapter_spec.js
index 36e7a1e9ad6..87dc5ff0783 100644
--- a/test/spec/modules/pxyzBidAdapter_spec.js
+++ b/test/spec/modules/pxyzBidAdapter_spec.js
@@ -39,12 +39,12 @@ describe('pxyzBidAdapter', function () {
});
it('should return false when required params are not passed', function () {
- let bid = Object.assign({}, bid);
- delete bid.params;
- bid.params = {
+ let invalidBid = Object.assign({}, bid);
+ delete invalidBid.params;
+ invalidBid.params = {
'placementId': 0
};
- expect(spec.isBidRequestValid(bid)).to.equal(false);
+ expect(spec.isBidRequestValid(invalidBid)).to.equal(false);
});
});
diff --git a/test/spec/modules/quantcastBidAdapter_spec.js b/test/spec/modules/quantcastBidAdapter_spec.js
index d10fea829bc..fdde8d290f4 100644
--- a/test/spec/modules/quantcastBidAdapter_spec.js
+++ b/test/spec/modules/quantcastBidAdapter_spec.js
@@ -181,7 +181,6 @@ describe('Quantcast adapter', function () {
maxbitrate: 10, // optional
playbackmethod: [1], // optional
delivery: [1], // optional
- placement: 1, // optional
api: [2, 3] // optional
}, {
context: 'instream',
@@ -205,7 +204,6 @@ describe('Quantcast adapter', function () {
maxbitrate: 10,
playbackmethod: [1],
delivery: [1],
- placement: 1,
api: [2, 3],
w: 600,
h: 300
@@ -242,7 +240,6 @@ describe('Quantcast adapter', function () {
maxbitrate: 10, // optional
playbackmethod: [1], // optional
delivery: [1], // optional
- placement: 1, // optional
api: [2, 3], // optional
context: 'instream',
playerSize: [600, 300]
@@ -265,7 +262,6 @@ describe('Quantcast adapter', function () {
maxbitrate: 10,
playbackmethod: [1],
delivery: [1],
- placement: 1,
api: [2, 3],
w: 600,
h: 300
diff --git a/test/spec/modules/radsBidAdapter_spec.js b/test/spec/modules/radsBidAdapter_spec.js
index 3ad7ada2ae7..4a64e2922f1 100644
--- a/test/spec/modules/radsBidAdapter_spec.js
+++ b/test/spec/modules/radsBidAdapter_spec.js
@@ -32,12 +32,12 @@ describe('radsAdapter', function () {
});
it('should return false when required params are not passed', function () {
- let bid = Object.assign({}, bid);
- delete bid.params;
- bid.params = {
+ let invalidBid = Object.assign({}, bid);
+ delete invalidBid.params;
+ invalidBid.params = {
'someIncorrectParam': 0
};
- expect(spec.isBidRequestValid(bid)).to.equal(false);
+ expect(spec.isBidRequestValid(invalidBid)).to.equal(false);
});
});
diff --git a/test/spec/modules/rakutenBidAdapter_spec.js b/test/spec/modules/rakutenBidAdapter_spec.js
index 15b22afbe29..2a9fcb9f83b 100644
--- a/test/spec/modules/rakutenBidAdapter_spec.js
+++ b/test/spec/modules/rakutenBidAdapter_spec.js
@@ -40,10 +40,10 @@ describe('rakutenBidAdapter', function() {
});
it('should return false when required params are not passed', () => {
- let bid = Object.assign({}, bid);
- delete bid.params;
- bid.params = {};
- expect(spec.isBidRequestValid(bid)).to.equal(false)
+ let invalidBid = Object.assign({}, bid);
+ delete invalidBid.params;
+ invalidBid.params = {};
+ expect(spec.isBidRequestValid(invalidBid)).to.equal(false)
})
});
diff --git a/test/spec/modules/retailspotBidAdapter_spec.js b/test/spec/modules/retailspotBidAdapter_spec.js
index 39cddb323b8..f1fb5ae3fd3 100644
--- a/test/spec/modules/retailspotBidAdapter_spec.js
+++ b/test/spec/modules/retailspotBidAdapter_spec.js
@@ -286,19 +286,19 @@ describe('RetailSpot Adapter', function () {
});
it('should return false when required params are not passed', function () {
- let bid = Object.assign({}, bid);
- delete bid.size;
+ let invalidBid = Object.assign({}, bid);
+ delete invalidBid.sizes;
- expect(!!spec.isBidRequestValid(bid)).to.equal(false);
+ expect(!!spec.isBidRequestValid(invalidBid)).to.equal(false);
});
it('should return false when required params are not passed', function () {
- let bid = Object.assign({}, bid);
- delete bid.params;
- bid.params = {
+ let invalidBid = Object.assign({}, bid);
+ delete invalidBid.params;
+ invalidBid.params = {
'placement': 0
};
- expect(!!spec.isBidRequestValid(bid)).to.equal(false);
+ expect(!!spec.isBidRequestValid(invalidBid)).to.equal(false);
});
});
diff --git a/test/spec/modules/richaudienceBidAdapter_spec.js b/test/spec/modules/richaudienceBidAdapter_spec.js
deleted file mode 100644
index d2b173f53df..00000000000
--- a/test/spec/modules/richaudienceBidAdapter_spec.js
+++ /dev/null
@@ -1,1304 +0,0 @@
-// import or require modules necessary for the test, e.g.:
-import {expect} from 'chai'; // may prefer 'assert' in place of 'expect'
-import {
- spec
-} from 'modules/richaudienceBidAdapter.js';
-import {config} from 'src/config.js';
-import * as utils from 'src/utils.js';
-import sinon from 'sinon';
-
-describe('Richaudience adapter tests', function () {
- var DEFAULT_PARAMS_NEW_SIZES = [{
- adUnitCode: 'test-div',
- bidId: '2c7c8e9c900244',
- mediaTypes: {
- banner: {
- sizes: [
- [300, 250], [300, 600], [728, 90], [970, 250]]
- }
- },
- bidder: 'richaudience',
- params: {
- bidfloor: 0.5,
- pid: 'ADb1f40rmi',
- supplyType: 'site',
- keywords: 'key1=value1;key2=value2'
- },
- auctionId: '0cb3144c-d084-4686-b0d6-f5dbe917c563',
- bidRequestsCount: 1,
- bidderRequestId: '1858b7382993ca',
- ortb2Imp: {
- ext: {
- tid: '29df2112-348b-4961-8863-1b33684d95e6',
- }
- },
- user: {}
- }];
-
- var DEFAULT_PARAMS_NEW_SIZES_GPID = [{
- adUnitCode: 'test-div',
- bidId: '2c7c8e9c900244',
- ortb2Imp: {
- ext: {
- gpid: '/19968336/header-bid-tag-1#example-2',
- data: {
- pbadslot: '/19968336/header-bid-tag-1#example-2'
- }
- }
- },
- mediaTypes: {
- banner: {
- sizes: [
- [300, 250], [300, 600], [728, 90], [970, 250]]
- }
- },
- bidder: 'richaudience',
- params: {
- bidfloor: 0.5,
- pid: 'ADb1f40rmi',
- supplyType: 'site',
- keywords: 'key1=value1;key2=value2'
- },
- auctionId: '0cb3144c-d084-4686-b0d6-f5dbe917c563',
- bidRequestsCount: 1,
- bidderRequestId: '1858b7382993ca',
- transactionId: '29df2112-348b-4961-8863-1b33684d95e6',
- user: {}
- }];
-
- var DEFAULT_PARAMS_VIDEO_TIMEOUT = [{
- adUnitCode: 'test-div',
- bidId: '2c7c8e9c900244',
- mediaTypes: {
- video: {
- context: 'instream',
- playerSize: [640, 480],
- mimes: ['video/mp4']
- }
- },
- bidder: 'richaudience',
- params: [{
- bidfloor: 0.5,
- pid: 'ADb1f40rmi',
- supplyType: 'site'
- }],
- timeout: 3000,
- auctionId: '0cb3144c-d084-4686-b0d6-f5dbe917c563',
- bidRequestsCount: 1,
- bidderRequestId: '1858b7382993ca',
- transactionId: '29df2112-348b-4961-8863-1b33684d95e6',
- user: {}
- }]
-
- var DEFAULT_PARAMS_VIDEO_IN = [{
- adUnitCode: 'test-div',
- bidId: '2c7c8e9c900244',
- mediaTypes: {
- video: {
- context: 'instream',
- playerSize: [640, 480],
- mimes: ['video/mp4']
- }
- },
- bidder: 'richaudience',
- params: {
- bidfloor: 0.5,
- pid: 'ADb1f40rmi',
- supplyType: 'site'
- },
- auctionId: '0cb3144c-d084-4686-b0d6-f5dbe917c563',
- bidRequestsCount: 1,
- bidderRequestId: '1858b7382993ca',
- transactionId: '29df2112-348b-4961-8863-1b33684d95e6',
- user: {}
- }];
-
- var DEFAULT_PARAMS_VIDEO_OUT = [{
- adUnitCode: 'test-div',
- bidId: '2c7c8e9c900244',
- mediaTypes: {
- video: {
- context: 'outstream',
- playerSize: [640, 480],
- mimes: ['video/mp4']
- }
- },
- bidder: 'richaudience',
- params: {
- bidfloor: 0.5,
- pid: 'ADb1f40rmi',
- supplyType: 'site'
- },
- auctionId: '0cb3144c-d084-4686-b0d6-f5dbe917c563',
- bidRequestsCount: 1,
- bidderRequestId: '1858b7382993ca',
- transactionId: '29df2112-348b-4961-8863-1b33684d95e6',
- user: {}
- }];
-
- var DEFAULT_PARAMS_BANNER_OUTSTREAM = [{
- adUnitCode: 'test-div',
- bidId: '2c7c8e9c900244',
- mediaTypes: {
- banner: {
- sizes: [[300, 250], [600, 300]]
- }
- },
- bidder: 'richaudience',
- params: {
- bidfloor: 0.5,
- pid: 'ADb1f40rmi',
- supplyType: 'site'
- },
- auctionId: '0cb3144c-d084-4686-b0d6-f5dbe917c563',
- bidRequestsCount: 1,
- bidderRequestId: '1858b7382993ca',
- transactionId: '29df2112-348b-4961-8863-1b33684d95e6',
- user: {}
- }];
-
- var DEFAULT_PARAMS_APP = [{
- adUnitCode: 'test-div',
- bidId: '2c7c8e9c900244',
- sizes: [
- [300, 250],
- [300, 600],
- [728, 90],
- [970, 250]
- ],
- bidder: 'richaudience',
- params: {
- bidfloor: 0.5,
- ifa: 'AAAAAAAAA-BBBB-CCCC-1111-222222220000',
- pid: 'ADb1f40rmi',
- supplyType: 'app',
- },
- auctionId: '0cb3144c-d084-4686-b0d6-f5dbe917c563',
- bidRequestsCount: 1,
- bidderRequestId: '1858b7382993ca',
- transactionId: '29df2112-348b-4961-8863-1b33684d95e6'
- }];
-
- var DEFAULT_PARAMS_WO_OPTIONAL = [{
- adUnitCode: 'test-div',
- bidId: '2c7c8e9c900244',
- sizes: [
- [300, 250],
- [300, 600],
- [728, 90],
- [970, 250]
- ],
- bidder: 'richaudience',
- params: {
- pid: 'ADb1f40rmi',
- supplyType: 'site',
- },
- auctionId: '851adee7-d843-48f9-a7e9-9ff00573fcbf',
- bidRequestsCount: 1,
- bidderRequestId: '1858b7382993ca',
- transactionId: '29df2112-348b-4961-8863-1b33684d95e6'
- }];
-
- var BID_RESPONSE = {
- body: {
- cpm: 1.50,
- adm: '',
- media_type: 'js',
- width: 300,
- height: 250,
- creative_id: '189198063',
- netRevenue: true,
- currency: 'USD',
- ttl: 300,
- dealId: 'dealId',
- adomain: 'richaudience.com'
- }
- };
-
- var BID_RESPONSE_VIDEO = {
- body: {
- cpm: 1.50,
- media_type: 'video',
- width: 1,
- height: 1,
- creative_id: '189198063',
- netRevenue: true,
- currency: 'USD',
- ttl: 300,
- vastXML: '',
- dealId: 'dealId',
- adomain: 'richaudience.com'
- }
- };
-
- var DEFAULT_PARAMS_GDPR = {
- gdprConsent: {
- consentString: 'BOZcQl_ObPFjWAeABAESCD-AAAAjx7_______9______9uz_Ov_v_f__33e8__9v_l_7_-___u_-33d4-_1vf99yfm1-7ftr3tp_87ues2_Xur__59__3z3_NohBgA',
- gdprApplies: true
- },
- refererInfo: {
- page: 'http://domain.com',
- numIframes: 0
- }
- }
-
- it('Referer undefined', function() {
- config.setConfig({
- 'currency': {'adServerCurrency': 'USD'}
- })
-
- const request = spec.buildRequests(DEFAULT_PARAMS_NEW_SIZES, {
- gdprConsent: {
- consentString: 'BOZcQl_ObPFjWAeABAESCD-AAAAjx7_______9______9uz_Ov_v_f__33e8__9v_l_7_-___u_-33d4-_1vf99yfm1-7ftr3tp_87ues2_Xur__59__3z3_NohBgA',
- gdprApplies: true
- },
- refererInfo: {}
- })
- const requestContent = JSON.parse(request[0].data);
- expect(requestContent).to.have.property('referer').and.to.equal(null);
- expect(requestContent).to.have.property('referer').and.to.equal(null);
- })
-
- it('Verify build request to prebid 3.0 display test', function() {
- const request = spec.buildRequests(DEFAULT_PARAMS_NEW_SIZES, {
- gdprConsent: {
- consentString: 'BOZcQl_ObPFjWAeABAESCD-AAAAjx7_______9______9uz_Ov_v_f__33e8__9v_l_7_-___u_-33d4-_1vf99yfm1-7ftr3tp_87ues2_Xur__59__3z3_NohBgA',
- gdprApplies: true
- },
- refererInfo: {
- page: 'https://domain.com',
- numIframes: 0
- }
- });
-
- expect(request[0]).to.have.property('method').and.to.equal('POST');
- const requestContent = JSON.parse(request[0].data);
- expect(requestContent).to.have.property('bidfloor').and.to.equal(0.5);
- expect(requestContent).to.have.property('pid').and.to.equal('ADb1f40rmi');
- expect(requestContent).to.have.property('supplyType').and.to.equal('site');
- expect(requestContent).to.have.property('auctionId').and.to.equal('0cb3144c-d084-4686-b0d6-f5dbe917c563');
- expect(requestContent).to.have.property('bidId').and.to.equal('2c7c8e9c900244');
- expect(requestContent).to.have.property('BidRequestsCount').and.to.equal(1);
- expect(requestContent).to.have.property('bidder').and.to.equal('richaudience');
- expect(requestContent).to.have.property('bidderRequestId').and.to.equal('1858b7382993ca');
- expect(requestContent).to.have.property('tagId').and.to.equal('test-div');
- expect(requestContent).to.have.property('referer').and.to.equal('https%3A%2F%2Fdomain.com');
- expect(requestContent).to.have.property('sizes');
- expect(requestContent.sizes[0]).to.have.property('w').and.to.equal(300);
- expect(requestContent.sizes[0]).to.have.property('h').and.to.equal(250);
- expect(requestContent.sizes[1]).to.have.property('w').and.to.equal(300);
- expect(requestContent.sizes[1]).to.have.property('h').and.to.equal(600);
- expect(requestContent.sizes[2]).to.have.property('w').and.to.equal(728);
- expect(requestContent.sizes[2]).to.have.property('h').and.to.equal(90);
- expect(requestContent.sizes[3]).to.have.property('w').and.to.equal(970);
- expect(requestContent.sizes[3]).to.have.property('h').and.to.equal(250);
- expect(requestContent).to.have.property('transactionId').and.to.equal('29df2112-348b-4961-8863-1b33684d95e6');
- expect(requestContent).to.have.property('timeout').and.to.equal(600);
- expect(requestContent).to.have.property('numIframes').and.to.equal(0);
- expect(typeof requestContent.scr_rsl === 'string')
- expect(typeof requestContent.cpuc === 'number')
- expect(typeof requestContent.gpid === 'string')
- expect(requestContent).to.have.property('kws').and.to.equal('key1=value1;key2=value2');
- })
-
- it('Verify build request to prebid video inestream', function() {
- const request = spec.buildRequests(DEFAULT_PARAMS_VIDEO_IN, {
- gdprConsent: {
- consentString: 'BOZcQl_ObPFjWAeABAESCD-AAAAjx7_______9______9uz_Ov_v_f__33e8__9v_l_7_-___u_-33d4-_1vf99yfm1-7ftr3tp_87ues2_Xur__59__3z3_NohBgA',
- gdprApplies: true
- },
- refererInfo: {
- page: 'https://domain.com',
- numIframes: 0
- }
- });
-
- expect(request[0]).to.have.property('method').and.to.equal('POST');
- const requestContent = JSON.parse(request[0].data);
-
- expect(requestContent).to.have.property('demand').and.to.equal('video');
- expect(requestContent.videoData).to.have.property('format').and.to.equal('instream');
- })
-
- it('Verify build request to prebid video outstream', function() {
- const request = spec.buildRequests(DEFAULT_PARAMS_VIDEO_OUT, {
- gdprConsent: {
- consentString: 'BOZcQl_ObPFjWAeABAESCD-AAAAjx7_______9______9uz_Ov_v_f__33e8__9v_l_7_-___u_-33d4-_1vf99yfm1-7ftr3tp_87ues2_Xur__59__3z3_NohBgA',
- gdprApplies: true
- },
- refererInfo: {
- page: 'https://domain.com',
- numIframes: 0
- }
- });
-
- expect(request[0]).to.have.property('method').and.to.equal('POST');
- const requestContent = JSON.parse(request[0].data);
-
- expect(requestContent).to.have.property('demand').and.to.equal('video');
- expect(requestContent.videoData).to.have.property('format').and.to.equal('outstream');
- })
-
- describe('gdpr test', function () {
- it('Verify build request with GDPR', function () {
- config.setConfig({
- 'currency': {
- 'adServerCurrency': 'USD'
- },
- consentManagement: {
- cmpApi: 'iab',
- timeout: 8000,
- allowAuctionWithoutConsent: true
- }
- });
-
- const request = spec.buildRequests(DEFAULT_PARAMS_WO_OPTIONAL, {
- gdprConsent: {
- consentString: 'BOZcQl_ObPFjWAeABAESCD-AAAAjx7_______9______9uz_Ov_v_f__33e8__9v_l_7_-___u_-33d4-_1vf99yfm1-7ftr3tp_87ues2_Xur__59__3z3_NohBgA',
- gdprApplies: true
- },
- refererInfo: {
- page: 'https://domain.com',
- numIframes: 0
- }
- });
- const requestContent = JSON.parse(request[0].data);
- expect(requestContent).to.have.property('gdpr_consent').and.to.equal('BOZcQl_ObPFjWAeABAESCD-AAAAjx7_______9______9uz_Ov_v_f__33e8__9v_l_7_-___u_-33d4-_1vf99yfm1-7ftr3tp_87ues2_Xur__59__3z3_NohBgA');
- });
-
- it('Verify adding ifa when supplyType equal to app', function () {
- const request = spec.buildRequests(DEFAULT_PARAMS_APP, {
- gdprConsent: {
- consentString: 'BOZcQl_ObPFjWAeABAESCD-AAAAjx7_______9______9uz_Ov_v_f__33e8__9v_l_7_-___u_-33d4-_1vf99yfm1-7ftr3tp_87ues2_Xur__59__3z3_NohBgA',
- gdprApplies: true
- },
- refererInfo: {
- page: 'https://domain.com',
- numIframes: 0
- }
- });
- });
-
- it('Verify build request with GDPR without gdprApplies', function () {
- config.setConfig({
- 'currency': {
- 'adServerCurrency': 'EUR'
- },
- consentManagement: {
- cmp: 'iab',
- consentRequired: true,
- timeout: 8000,
- allowAuctionWithoutConsent: true
- }
- });
- const request = spec.buildRequests(DEFAULT_PARAMS_WO_OPTIONAL, {
- gdprConsent: {
- consentString: 'BOZcQl_ObPFjWAeABAESCD-AAAAjx7_______9______9uz_Ov_v_f__33e8__9v_l_7_-___u_-33d4-_1vf99yfm1-7ftr3tp_87ues2_Xur__59__3z3_NohBgA'
- },
- refererInfo: {
- page: 'https://domain.com',
- numIframes: 0
- }
- });
- const requestContent = JSON.parse(request[0].data);
- expect(requestContent).to.have.property('gdpr_consent').and.to.equal('BOZcQl_ObPFjWAeABAESCD-AAAAjx7_______9______9uz_Ov_v_f__33e8__9v_l_7_-___u_-33d4-_1vf99yfm1-7ftr3tp_87ues2_Xur__59__3z3_NohBgA');
- });
- });
-
- describe('UID test', function () {
- config.setConfig({
- consentManagement: {
- cmpApi: 'iab',
- timeout: 5000,
- allowAuctionWithoutConsent: true
- },
- userSync: {
- userIds: [{
- name: 'id5Id',
- params: {
- partner: 173, // change to the Partner Number you received from ID5
- pd: 'MT1iNTBjY...' // optional, see table below for a link to how to generate this
- },
- storage: {
- type: 'html5', // "html5" is the required storage type
- name: 'id5id', // "id5id" is the required storage name
- expires: 90, // storage lasts for 90 days
- refreshInSeconds: 8 * 3600 // refresh ID every 8 hours to ensure it's fresh
- }
- }],
- auctionDelay: 50 // 50ms maximum auction delay, applies to all userId modules
- }
- });
- it('Verify build id5', function () {
- var request;
- DEFAULT_PARAMS_WO_OPTIONAL[0].userId = {};
- DEFAULT_PARAMS_WO_OPTIONAL[0].userId.id5id = { uid: 1 };
- request = spec.buildRequests(DEFAULT_PARAMS_WO_OPTIONAL, DEFAULT_PARAMS_GDPR);
- var requestContent = JSON.parse(request[0].data);
-
- expect(requestContent.user.eids).to.equal(undefined);
-
- DEFAULT_PARAMS_WO_OPTIONAL[0].userId.id5id = { uid: [] };
- request = spec.buildRequests(DEFAULT_PARAMS_WO_OPTIONAL, DEFAULT_PARAMS_GDPR);
- requestContent = JSON.parse(request[0].data);
- expect(requestContent.user.eids).to.equal(undefined);
-
- DEFAULT_PARAMS_WO_OPTIONAL[0].userId.id5id = { uid: null };
- request = spec.buildRequests(DEFAULT_PARAMS_WO_OPTIONAL, DEFAULT_PARAMS_GDPR);
- requestContent = JSON.parse(request[0].data);
- expect(requestContent.user.eids).to.equal(undefined);
-
- DEFAULT_PARAMS_WO_OPTIONAL[0].userId.id5id = { uid: {} };
- request = spec.buildRequests(DEFAULT_PARAMS_WO_OPTIONAL, DEFAULT_PARAMS_GDPR);
- requestContent = JSON.parse(request[0].data);
- expect(requestContent.user.eids).to.equal(undefined);
-
- DEFAULT_PARAMS_WO_OPTIONAL[0].userId.id5id = null;
- request = spec.buildRequests(DEFAULT_PARAMS_WO_OPTIONAL, DEFAULT_PARAMS_GDPR);
- requestContent = JSON.parse(request[0].data);
- expect(requestContent.user.eids).to.equal(undefined);
-
- DEFAULT_PARAMS_WO_OPTIONAL[0].userId.id5id = {};
- request = spec.buildRequests(DEFAULT_PARAMS_WO_OPTIONAL, DEFAULT_PARAMS_GDPR);
- requestContent = JSON.parse(request[0].data);
- expect(requestContent.user.eids).to.equal(undefined);
- });
-
- it('Verify build pubCommonId', function () {
- DEFAULT_PARAMS_WO_OPTIONAL[0].userId = {};
- DEFAULT_PARAMS_WO_OPTIONAL[0].userId.pubcid = 'pub_common_user_id';
-
- var request = spec.buildRequests(DEFAULT_PARAMS_WO_OPTIONAL, DEFAULT_PARAMS_GDPR);
- var requestContent = JSON.parse(request[0].data);
-
- expect(requestContent.user).to.deep.equal([{
- 'userId': 'pub_common_user_id',
- 'source': 'pubcommon'
- }]);
-
- var request;
- DEFAULT_PARAMS_WO_OPTIONAL[0].userId = {};
- DEFAULT_PARAMS_WO_OPTIONAL[0].userId.pubcid = 1;
- request = spec.buildRequests(DEFAULT_PARAMS_WO_OPTIONAL, DEFAULT_PARAMS_GDPR);
- var requestContent = JSON.parse(request[0].data);
- expect(requestContent.user.eids).to.equal(undefined);
-
- DEFAULT_PARAMS_WO_OPTIONAL[0].userId.pubcid = [];
- request = spec.buildRequests(DEFAULT_PARAMS_WO_OPTIONAL, DEFAULT_PARAMS_GDPR);
- requestContent = JSON.parse(request[0].data);
- expect(requestContent.user.eids).to.equal(undefined);
-
- DEFAULT_PARAMS_WO_OPTIONAL[0].userId.pubcid = null;
- request = spec.buildRequests(DEFAULT_PARAMS_WO_OPTIONAL, DEFAULT_PARAMS_GDPR);
- requestContent = JSON.parse(request[0].data);
- expect(requestContent.user.eids).to.equal(undefined);
-
- DEFAULT_PARAMS_WO_OPTIONAL[0].userId.pubcid = {};
- request = spec.buildRequests(DEFAULT_PARAMS_WO_OPTIONAL, DEFAULT_PARAMS_GDPR);
- requestContent = JSON.parse(request[0].data);
- expect(requestContent.user.eids).to.equal(undefined);
- });
-
- it('Verify build criteoId', function () {
- DEFAULT_PARAMS_WO_OPTIONAL[0].userId = {};
- DEFAULT_PARAMS_WO_OPTIONAL[0].userId.criteoId = 'criteo-user-id';
-
- var request = spec.buildRequests(DEFAULT_PARAMS_WO_OPTIONAL, DEFAULT_PARAMS_GDPR);
- var requestContent = JSON.parse(request[0].data);
-
- expect(requestContent.user).to.deep.equal([{
- 'userId': 'criteo-user-id',
- 'source': 'criteo.com'
- }]);
-
- var request;
- DEFAULT_PARAMS_WO_OPTIONAL[0].userId = {};
- DEFAULT_PARAMS_WO_OPTIONAL[0].userId.criteoId = 1;
- request = spec.buildRequests(DEFAULT_PARAMS_WO_OPTIONAL, DEFAULT_PARAMS_GDPR);
- var requestContent = JSON.parse(request[0].data);
- expect(requestContent.user.eids).to.equal(undefined);
-
- DEFAULT_PARAMS_WO_OPTIONAL[0].userId.criteoId = [];
- request = spec.buildRequests(DEFAULT_PARAMS_WO_OPTIONAL, DEFAULT_PARAMS_GDPR);
- requestContent = JSON.parse(request[0].data);
- expect(requestContent.user.eids).to.equal(undefined);
-
- DEFAULT_PARAMS_WO_OPTIONAL[0].userId.criteoId = null;
- request = spec.buildRequests(DEFAULT_PARAMS_WO_OPTIONAL, DEFAULT_PARAMS_GDPR);
- requestContent = JSON.parse(request[0].data);
- expect(requestContent.user.eids).to.equal(undefined);
-
- DEFAULT_PARAMS_WO_OPTIONAL[0].userId.criteoId = {};
- request = spec.buildRequests(DEFAULT_PARAMS_WO_OPTIONAL, DEFAULT_PARAMS_GDPR);
- requestContent = JSON.parse(request[0].data);
- expect(requestContent.user.eids).to.equal(undefined);
- });
-
- it('Verify build identityLink', function () {
- DEFAULT_PARAMS_WO_OPTIONAL[0].userId = {};
- DEFAULT_PARAMS_WO_OPTIONAL[0].userId.idl_env = 'identity-link-user-id';
-
- var request = spec.buildRequests(DEFAULT_PARAMS_WO_OPTIONAL, DEFAULT_PARAMS_GDPR);
- var requestContent = JSON.parse(request[0].data);
-
- expect(requestContent.user).to.deep.equal([{
- 'userId': 'identity-link-user-id',
- 'source': 'liveramp.com'
- }]);
-
- var request;
- DEFAULT_PARAMS_WO_OPTIONAL[0].userId = {};
- DEFAULT_PARAMS_WO_OPTIONAL[0].userId.idl_env = 1;
- request = spec.buildRequests(DEFAULT_PARAMS_WO_OPTIONAL, DEFAULT_PARAMS_GDPR);
- var requestContent = JSON.parse(request[0].data);
- expect(requestContent.user.eids).to.equal(undefined);
-
- DEFAULT_PARAMS_WO_OPTIONAL[0].userId.criteoId = [];
- request = spec.buildRequests(DEFAULT_PARAMS_WO_OPTIONAL, DEFAULT_PARAMS_GDPR);
- requestContent = JSON.parse(request[0].data);
- expect(requestContent.user.eids).to.equal(undefined);
-
- DEFAULT_PARAMS_WO_OPTIONAL[0].userId.idl_env = null;
- request = spec.buildRequests(DEFAULT_PARAMS_WO_OPTIONAL, DEFAULT_PARAMS_GDPR);
- requestContent = JSON.parse(request[0].data);
- expect(requestContent.user.eids).to.equal(undefined);
-
- DEFAULT_PARAMS_WO_OPTIONAL[0].userId.idl_env = {};
- request = spec.buildRequests(DEFAULT_PARAMS_WO_OPTIONAL, DEFAULT_PARAMS_GDPR);
- requestContent = JSON.parse(request[0].data);
- expect(requestContent.user.eids).to.equal(undefined);
- });
- it('Verify build liveIntentId', function () {
- DEFAULT_PARAMS_WO_OPTIONAL[0].userId = {};
- DEFAULT_PARAMS_WO_OPTIONAL[0].userId.idl_env = 'identity-link-user-id';
-
- var request = spec.buildRequests(DEFAULT_PARAMS_WO_OPTIONAL, DEFAULT_PARAMS_GDPR);
- var requestContent = JSON.parse(request[0].data)
-
- expect(requestContent.user).to.deep.equal([{
- 'userId': 'identity-link-user-id',
- 'source': 'liveramp.com'
- }]);
-
- var request;
- DEFAULT_PARAMS_WO_OPTIONAL[0].userId = {};
- DEFAULT_PARAMS_WO_OPTIONAL[0].userId.idl_env = 1;
- request = spec.buildRequests(DEFAULT_PARAMS_WO_OPTIONAL, DEFAULT_PARAMS_GDPR);
- var requestContent = JSON.parse(request[0].data);
- expect(requestContent.user.eids).to.equal(undefined);
-
- DEFAULT_PARAMS_WO_OPTIONAL[0].userId.criteoId = [];
- request = spec.buildRequests(DEFAULT_PARAMS_WO_OPTIONAL, DEFAULT_PARAMS_GDPR);
- requestContent = JSON.parse(request[0].data);
- expect(requestContent.user.eids).to.equal(undefined);
-
- DEFAULT_PARAMS_WO_OPTIONAL[0].userId.idl_env = null;
- request = spec.buildRequests(DEFAULT_PARAMS_WO_OPTIONAL, DEFAULT_PARAMS_GDPR);
- requestContent = JSON.parse(request[0].data);
- expect(requestContent.user.eids).to.equal(undefined);
-
- DEFAULT_PARAMS_WO_OPTIONAL[0].userId.idl_env = {};
- request = spec.buildRequests(DEFAULT_PARAMS_WO_OPTIONAL, DEFAULT_PARAMS_GDPR);
- requestContent = JSON.parse(request[0].data);
- expect(requestContent.user.eids).to.equal(undefined);
- });
- it('Verify build TradeDesk', function () {
- DEFAULT_PARAMS_WO_OPTIONAL[0].userId = {};
- DEFAULT_PARAMS_WO_OPTIONAL[0].userId.tdid = 'tdid-user-id';
-
- var request = spec.buildRequests(DEFAULT_PARAMS_WO_OPTIONAL, DEFAULT_PARAMS_GDPR);
- var requestContent = JSON.parse(request[0].data)
-
- expect(requestContent.user).to.deep.equal([{
- 'userId': 'tdid-user-id',
- 'source': 'adserver.org'
- }]);
-
- request;
- DEFAULT_PARAMS_WO_OPTIONAL[0].userId = {};
- DEFAULT_PARAMS_WO_OPTIONAL[0].userId.idl_env = 1;
- request = spec.buildRequests(DEFAULT_PARAMS_WO_OPTIONAL, DEFAULT_PARAMS_GDPR);
- requestContent = JSON.parse(request[0].data);
- expect(requestContent.user.eids).to.equal(undefined);
-
- DEFAULT_PARAMS_WO_OPTIONAL[0].userId.criteoId = [];
- request = spec.buildRequests(DEFAULT_PARAMS_WO_OPTIONAL, DEFAULT_PARAMS_GDPR);
- requestContent = JSON.parse(request[0].data);
- expect(requestContent.user.eids).to.equal(undefined);
-
- DEFAULT_PARAMS_WO_OPTIONAL[0].userId.idl_env = null;
- request = spec.buildRequests(DEFAULT_PARAMS_WO_OPTIONAL, DEFAULT_PARAMS_GDPR);
- requestContent = JSON.parse(request[0].data);
- expect(requestContent.user.eids).to.equal(undefined);
-
- DEFAULT_PARAMS_WO_OPTIONAL[0].userId.idl_env = {};
- request = spec.buildRequests(DEFAULT_PARAMS_WO_OPTIONAL, DEFAULT_PARAMS_GDPR);
- requestContent = JSON.parse(request[0].data);
- expect(requestContent.user.eids).to.equal(undefined);
- });
- });
-
- it('Verify interprete response', function () {
- const request = spec.buildRequests(DEFAULT_PARAMS_NEW_SIZES, {
- gdprConsent: {
- consentString: 'BOZcQl_ObPFjWAeABAESCD-AAAAjx7_______9______9uz_Ov_v_f__33e8__9v_l_7_-___u_-33d4-_1vf99yfm1-7ftr3tp_87ues2_Xur__59__3z3_NohBgA',
- gdprApplies: true
- },
- refererInfo: {
- page: 'https://domain.com',
- numIframes: 0
- }
- });
-
- const bids = spec.interpretResponse(BID_RESPONSE, request[0]);
- expect(bids).to.have.lengthOf(1);
- const bid = bids[0];
- expect(bid.cpm).to.equal(1.50);
- expect(bid.ad).to.equal('');
- expect(bid.mediaType).to.equal('js');
- expect(bid.width).to.equal(300);
- expect(bid.height).to.equal(250);
- expect(bid.creativeId).to.equal('189198063');
- expect(bid.netRevenue).to.equal(true);
- expect(bid.currency).to.equal('USD');
- expect(bid.ttl).to.equal(300);
- expect(bid.dealId).to.equal('dealId');
- expect(bid.meta).to.equal('richaudience.com');
- });
-
- it('no banner media response inestream', function () {
- const request = spec.buildRequests(DEFAULT_PARAMS_VIDEO_IN, {
- gdprConsent: {
- consentString: 'BOZcQl_ObPFjWAeABAESCD-AAAAjx7_______9______9uz_Ov_v_f__33e8__9v_l_7_-___u_-33d4-_1vf99yfm1-7ftr3tp_87ues2_Xur__59__3z3_NohBgA',
- gdprApplies: true
- },
- refererInfo: {
- page: 'https://domain.com',
- numIframes: 0
- }
- });
-
- const bids = spec.interpretResponse(BID_RESPONSE_VIDEO, request[0]);
- expect(bids).to.have.lengthOf(1);
- const bid = bids[0];
- expect(bid.cpm).to.equal(1.50);
- expect(bid.mediaType).to.equal('video');
- expect(bid.vastXml).to.equal('');
- expect(bid.cpm).to.equal(1.50);
- expect(bid.width).to.equal(1);
- expect(bid.height).to.equal(1);
- expect(bid.creativeId).to.equal('189198063');
- expect(bid.netRevenue).to.equal(true);
- expect(bid.currency).to.equal('USD');
- expect(bid.ttl).to.equal(300);
- expect(bid.dealId).to.equal('dealId');
- expect(bid.meta).to.equal('richaudience.com');
- });
-
- it('no banner media response outstream', function () {
- const request = spec.buildRequests(DEFAULT_PARAMS_VIDEO_OUT, {
- gdprConsent: {
- consentString: 'BOZcQl_ObPFjWAeABAESCD-AAAAjx7_______9______9uz_Ov_v_f__33e8__9v_l_7_-___u_-33d4-_1vf99yfm1-7ftr3tp_87ues2_Xur__59__3z3_NohBgA',
- gdprApplies: true
- },
- refererInfo: {
- page: 'https://domain.com',
- numIframes: 0
- }
- });
-
- const bids = spec.interpretResponse(BID_RESPONSE_VIDEO, request[0]);
- expect(bids).to.have.lengthOf(1);
- const bid = bids[0];
- expect(bid.cpm).to.equal(1.50);
- expect(bid.mediaType).to.equal('video');
- expect(bid.vastXml).to.equal('');
- expect(bid.renderer.url).to.equal('https://cdn3.richaudience.com/prebidVideo/player.js');
- expect(bid.cpm).to.equal(1.50);
- expect(bid.width).to.equal(1);
- expect(bid.height).to.equal(1);
- expect(bid.creativeId).to.equal('189198063');
- expect(bid.netRevenue).to.equal(true);
- expect(bid.currency).to.equal('USD');
- expect(bid.ttl).to.equal(300);
- expect(bid.dealId).to.equal('dealId');
- });
-
- it('banner media and response VAST', function () {
- const request = spec.buildRequests(DEFAULT_PARAMS_BANNER_OUTSTREAM, {
- gdprConsent: {
- consentString: 'BOZcQl_ObPFjWAeABAESCD-AAAAjx7_______9______9uz_Ov_v_f__33e8__9v_l_7_-___u_-33d4-_1vf99yfm1-7ftr3tp_87ues2_Xur__59__3z3_NohBgA',
- gdprApplies: true
- },
- refererInfo: {
- page: 'https://domain.com',
- numIframes: 0
- }
- });
-
- const bids = spec.interpretResponse(BID_RESPONSE_VIDEO, request[0]);
- const bid = bids[0];
- expect(bid.mediaType).to.equal('video');
- expect(bid.vastXml).to.equal('');
- expect(bid.renderer.url).to.equal('https://cdn3.richaudience.com/prebidVideo/player.js');
- });
-
- it('Verifies bidder_code', function () {
- expect(spec.code).to.equal('richaudience');
- });
-
- it('Verifies bidder aliases', function () {
- expect(spec.aliases).to.have.lengthOf(1);
- expect(spec.aliases[0]).to.equal('ra');
- });
-
- it('Verifies bidder gvlid', function () {
- expect(spec.gvlid).to.equal(108);
- });
-
- it('Verifies bidder supportedMediaTypes', function () {
- expect(spec.supportedMediaTypes).to.have.lengthOf(2);
- expect(spec.supportedMediaTypes[0]).to.equal('banner');
- expect(spec.supportedMediaTypes[1]).to.equal('video');
- });
-
- it('Verifies if bid request is valid', function () {
- expect(spec.isBidRequestValid(DEFAULT_PARAMS_NEW_SIZES[0])).to.equal(true);
- expect(spec.isBidRequestValid(DEFAULT_PARAMS_WO_OPTIONAL[0])).to.equal(true);
- expect(spec.isBidRequestValid({})).to.equal(false);
- expect(spec.isBidRequestValid({
- params: {}
- })).to.equal(false);
- expect(spec.isBidRequestValid({
- params: {
- pid: 'ADb1f40rmi'
- }
- })).to.equal(false);
- expect(spec.isBidRequestValid({
- params: {
- supplyType: 'site'
- }
- })).to.equal(false);
- expect(spec.isBidRequestValid({
- params: {
- supplyType: 'app'
- }
- })).to.equal(false);
- expect(spec.isBidRequestValid({
- params: {
- pid: 'ADb1f40rmi',
- supplyType: 'site'
- }
- })).to.equal(true);
- expect(spec.isBidRequestValid({
- params: {
- pid: ['1gCB5ZC4XL', '1a40xk8qSV'],
- supplyType: 'site'
- }
- })).to.equal(true);
- expect(spec.isBidRequestValid({
- params: {
- pid: 'ADb1f40rmi',
- supplyType: 'site'
- }
- })).to.equal(true);
- expect(spec.isBidRequestValid({
- params: {
- pid: 'ADb1f40rmi',
- supplyType: 'app',
- ifa: 'AAAAAAAAA-BBBB-CCCC-1111-222222220000',
- }
- })).to.equal(true);
- expect(spec.isBidRequestValid({
- params: {
- pid: 'ADb1f40rmi',
- supplyType: 'site',
- bidfloor: 0.50,
- }
- })).to.equal(true);
- expect(spec.isBidRequestValid({
- params: {
- pid: 'ADb1f40rmi',
- supplyType: 'site',
- bidfloor: 0.50,
- }
- })).to.equal(true);
- expect(spec.isBidRequestValid({
- params: {
- pid: ['1gCB5ZC4XL', '1a40xk8qSV'],
- bidfloor: 0.50,
- }
- })).to.equal(false);
- expect(spec.isBidRequestValid({
- params: {
- pid: ['1gCB5ZC4XL', '1a40xk8qSV'],
- supplyType: 'site',
- bidfloor: 0.50,
- }
- })).to.equal(true);
- expect(spec.isBidRequestValid({
- params: {
- supplyType: 'site',
- bidfloor: 0.50,
- ifa: 'AAAAAAAAA-BBBB-CCCC-1111-222222220000',
- }
- })).to.equal(false);
- expect(spec.isBidRequestValid({
- params: {
- pid: ['1gCB5ZC4XL', '1a40xk8qSV'],
- supplyType: 'site',
- bidfloor: 0.50,
- ifa: 'AAAAAAAAA-BBBB-CCCC-1111-222222220000',
- }
- })).to.equal(true);
- });
-
- it('should pass schain', function() {
- let schain = {
- 'ver': '1.0',
- 'complete': 1,
- 'nodes': [{
- 'asi': 'richaudience.com',
- 'sid': '00001',
- 'hp': 1
- }, {
- 'asi': 'richaudience-2.com',
- 'sid': '00002',
- 'hp': 1
- }]
- }
-
- DEFAULT_PARAMS_NEW_SIZES[0].schain = {
- 'ver': '1.0',
- 'complete': 1,
- 'nodes': [{
- 'asi': 'richaudience.com',
- 'sid': '00001',
- 'hp': 1
- }, {
- 'asi': 'richaudience-2.com',
- 'sid': '00002',
- 'hp': 1
- }]
- }
-
- const request = spec.buildRequests(DEFAULT_PARAMS_NEW_SIZES, {
- gdprConsent: {
- consentString: 'BOZcQl_ObPFjWAeABAESCD-AAAAjx7_______9______9uz_Ov_v_f__33e8__9v_l_7_-___u_-33d4-_1vf99yfm1-7ftr3tp_87ues2_Xur__59__3z3_NohBgA',
- gdprApplies: true
- },
- refererInfo: {}
- })
- const requestContent = JSON.parse(request[0].data);
- expect(requestContent).to.have.property('schain').to.deep.equal(schain);
- })
-
- it('should pass gpid', function() {
- const request = spec.buildRequests(DEFAULT_PARAMS_NEW_SIZES_GPID, {
- gdprConsent: {
- consentString: 'BOZcQl_ObPFjWAeABAESCD-AAAAjx7_______9______9uz_Ov_v_f__33e8__9v_l_7_-___u_-33d4-_1vf99yfm1-7ftr3tp_87ues2_Xur__59__3z3_NohBgA',
- gdprApplies: true
- },
- refererInfo: {}
- })
- const requestContent = JSON.parse(request[0].data);
- expect(requestContent).to.have.property('gpid').and.to.equal('/19968336/header-bid-tag-1#example-2');
- })
-
- describe('onTimeout', function () {
- beforeEach(function() {
- sinon.stub(utils, 'triggerPixel');
- });
-
- afterEach(function() {
- utils.triggerPixel.restore();
- });
- it('onTimeout exist as a function', () => {
- expect(spec.onTimeout).to.exist.and.to.be.a('function');
- });
- it('should send timeouts', function () {
- spec.onTimeout(DEFAULT_PARAMS_VIDEO_TIMEOUT);
- expect(utils.triggerPixel.called).to.equal(true);
- expect(utils.triggerPixel.firstCall.args[0]).to.equal('https://s.richaudience.com/err/?ec=6&ev=3000&pla=ADb1f40rmi&int=PREBID&pltfm=&node=&dm=localhost:9876');
- });
- });
-
- describe('userSync', function () {
- let sandbox;
- beforeEach(function () {
- sandbox = sinon.sandbox.create();
- });
- afterEach(function() {
- sandbox.restore();
- });
- it('Verifies user syncs iframe include', function () {
- config.setConfig({
- 'userSync': {filterSettings: {iframe: {bidders: '*', filter: 'include'}}}
- })
-
- var syncs = spec.getUserSyncs({
- iframeEnabled: true
- }, [BID_RESPONSE], {
- consentString: 'BOZcQl_ObPFjWAeABAESCD-AAAAjx7_______9______9uz_Ov_v_f__33e8__9v_l_7_-___u_-33d4-_1vf99yfm1-7ftr3tp_87ues2_Xur__59__3z3_NohBgA',
- gdprApplies: true},
- );
- expect(syncs).to.have.lengthOf(1);
- expect(syncs[0].type).to.equal('iframe');
-
- syncs = spec.getUserSyncs({
- iframeEnabled: false,
- }, [BID_RESPONSE], {
- consentString: 'BOZcQl_ObPFjWAeABAESCD-AAAAjx7_______9______9uz_Ov_v_f__33e8__9v_l_7_-___u_-33d4-_1vf99yfm1-7ftr3tp_87ues2_Xur__59__3z3_NohBgA',
- gdprApplies: true,
- });
- expect(syncs).to.have.lengthOf(0);
-
- syncs = spec.getUserSyncs({
- iframeEnabled: false,
- }, [BID_RESPONSE], {
- consentString: 'BOZcQl_ObPFjWAeABAESCD-AAAAjx7_______9______9uz_Ov_v_f__33e8__9v_l_7_-___u_-33d4-_1vf99yfm1-7ftr3tp_87ues2_Xur__59__3z3_NohBgA',
- gdprApplies: true
- });
- expect(syncs).to.have.lengthOf(0);
-
- syncs = spec.getUserSyncs({
- iframeEnabled: true,
- }, [], {consentString: '', gdprApplies: false});
- expect(syncs).to.have.lengthOf(1);
-
- syncs = spec.getUserSyncs({
- iframeEnabled: false,
- }, [], {consentString: '', gdprApplies: true});
- expect(syncs).to.have.lengthOf(0);
- });
- it('Verifies user syncs iframe exclude', function () {
- config.setConfig({
- 'userSync': {filterSettings: {iframe: {bidders: '*', filter: 'exclude'}}}
- })
-
- var syncs = spec.getUserSyncs({
- iframeEnabled: true
- }, [BID_RESPONSE], {
- consentString: 'BOZcQl_ObPFjWAeABAESCD-AAAAjx7_______9______9uz_Ov_v_f__33e8__9v_l_7_-___u_-33d4-_1vf99yfm1-7ftr3tp_87ues2_Xur__59__3z3_NohBgA',
- gdprApplies: true},
- );
- expect(syncs).to.have.lengthOf(0);
-
- syncs = spec.getUserSyncs({
- iframeEnabled: false,
- }, [BID_RESPONSE], {
- consentString: 'BOZcQl_ObPFjWAeABAESCD-AAAAjx7_______9______9uz_Ov_v_f__33e8__9v_l_7_-___u_-33d4-_1vf99yfm1-7ftr3tp_87ues2_Xur__59__3z3_NohBgA',
- gdprApplies: true,
- });
- expect(syncs).to.have.lengthOf(0);
-
- syncs = spec.getUserSyncs({
- iframeEnabled: false,
- }, [BID_RESPONSE], {
- consentString: 'BOZcQl_ObPFjWAeABAESCD-AAAAjx7_______9______9uz_Ov_v_f__33e8__9v_l_7_-___u_-33d4-_1vf99yfm1-7ftr3tp_87ues2_Xur__59__3z3_NohBgA',
- gdprApplies: true
- });
- expect(syncs).to.have.lengthOf(0);
-
- syncs = spec.getUserSyncs({
- iframeEnabled: true,
- }, [], {consentString: '', gdprApplies: false});
- expect(syncs).to.have.lengthOf(0);
-
- syncs = spec.getUserSyncs({
- iframeEnabled: false,
- }, [], {consentString: '', gdprApplies: true});
- expect(syncs).to.have.lengthOf(0);
- });
-
- it('Verifies user syncs image include', function () {
- config.setConfig({
- 'userSync': {filterSettings: {image: {bidders: '*', filter: 'include'}}}
- })
-
- var syncs = spec.getUserSyncs({
- iframeEnabled: false,
- pixelEnabled: true
- }, [BID_RESPONSE], {
- consentString: 'BOZcQl_ObPFjWAeABAESCD-AAAAjx7_______9______9uz_Ov_v_f__33e8__9v_l_7_-___u_-33d4-_1vf99yfm1-7ftr3tp_87ues2_Xur__59__3z3_NohBgA',
- referer: 'http://domain.com',
- gdprApplies: true
- })
- expect(syncs).to.have.lengthOf(1);
- expect(syncs[0].type).to.equal('image');
-
- syncs = spec.getUserSyncs({
- iframeEnabled: false,
- pixelEnabled: true
- }, [BID_RESPONSE], {
- consentString: '',
- referer: 'http://domain.com',
- gdprApplies: true
- })
- expect(syncs).to.have.lengthOf(1);
- expect(syncs[0].type).to.equal('image');
-
- syncs = spec.getUserSyncs({
- iframeEnabled: false,
- pixelEnabled: true
- }, [], {
- consentString: null,
- referer: 'http://domain.com',
- gdprApplies: false
- })
- expect(syncs).to.have.lengthOf(1);
- expect(syncs[0].type).to.equal('image');
- });
-
- it('Verifies user syncs image exclude', function () {
- config.setConfig({
- 'userSync': {filterSettings: {image: {bidders: '*', filter: 'exclude'}}}
- })
-
- var syncs = spec.getUserSyncs({
- iframeEnabled: false,
- pixelEnabled: true
- }, [BID_RESPONSE], {
- consentString: 'BOZcQl_ObPFjWAeABAESCD-AAAAjx7_______9______9uz_Ov_v_f__33e8__9v_l_7_-___u_-33d4-_1vf99yfm1-7ftr3tp_87ues2_Xur__59__3z3_NohBgA',
- referer: 'http://domain.com',
- gdprApplies: true
- })
- expect(syncs).to.have.lengthOf(0);
-
- syncs = spec.getUserSyncs({
- iframeEnabled: false,
- pixelEnabled: true
- }, [BID_RESPONSE], {
- consentString: '',
- referer: 'http://domain.com',
- gdprApplies: true
- })
- expect(syncs).to.have.lengthOf(0);
-
- syncs = spec.getUserSyncs({
- iframeEnabled: false,
- pixelEnabled: true
- }, [], {
- consentString: null,
- referer: 'http://domain.com',
- gdprApplies: false
- })
- expect(syncs).to.have.lengthOf(0);
- });
-
- it('Verifies user syncs iframe/image include', function () {
- config.setConfig({
- 'userSync': {filterSettings: {iframe: {bidders: '*', filter: 'include'}, image: {bidders: '*', filter: 'include'}}}
- })
-
- var syncs = spec.getUserSyncs({
- iframeEnabled: true,
- pixelEnabled: true
- }, [BID_RESPONSE], {
- consentString: 'BOZcQl_ObPFjWAeABAESCD-AAAAjx7_______9______9uz_Ov_v_f__33e8__9v_l_7_-___u_-33d4-_1vf99yfm1-7ftr3tp_87ues2_Xur__59__3z3_NohBgA',
- gdprApplies: true},
- );
- expect(syncs).to.have.lengthOf(1);
- expect(syncs[0].type).to.equal('iframe');
-
- syncs = spec.getUserSyncs({
- iframeEnabled: false,
- pixelEnabled: false
- }, [BID_RESPONSE], {
- consentString: 'BOZcQl_ObPFjWAeABAESCD-AAAAjx7_______9______9uz_Ov_v_f__33e8__9v_l_7_-___u_-33d4-_1vf99yfm1-7ftr3tp_87ues2_Xur__59__3z3_NohBgA',
- gdprApplies: true,
- });
- expect(syncs).to.have.lengthOf(0);
-
- syncs = spec.getUserSyncs({
- iframeEnabled: false,
- pixelEnabled: false
- }, [BID_RESPONSE], {
- consentString: 'BOZcQl_ObPFjWAeABAESCD-AAAAjx7_______9______9uz_Ov_v_f__33e8__9v_l_7_-___u_-33d4-_1vf99yfm1-7ftr3tp_87ues2_Xur__59__3z3_NohBgA',
- gdprApplies: true
- });
- expect(syncs).to.have.lengthOf(0);
-
- syncs = spec.getUserSyncs({
- iframeEnabled: true,
- pixelEnabled: true
- }, [], {consentString: '', gdprApplies: false});
- expect(syncs).to.have.lengthOf(1);
-
- syncs = spec.getUserSyncs({
- iframeEnabled: false,
- pixelEnabled: false
- }, [], {consentString: '', gdprApplies: true});
- expect(syncs).to.have.lengthOf(0);
- });
-
- it('Verifies user syncs iframe/image exclude', function () {
- config.setConfig({
- 'userSync': {filterSettings: {iframe: {bidders: '*', filter: 'exclude'}, image: {bidders: '*', filter: 'exclude'}}}
- })
-
- var syncs = spec.getUserSyncs({
- iframeEnabled: true,
- pixelEnabled: true
- }, [BID_RESPONSE], {
- consentString: 'BOZcQl_ObPFjWAeABAESCD-AAAAjx7_______9______9uz_Ov_v_f__33e8__9v_l_7_-___u_-33d4-_1vf99yfm1-7ftr3tp_87ues2_Xur__59__3z3_NohBgA',
- gdprApplies: true},
- );
- expect(syncs).to.have.lengthOf(0);
-
- syncs = spec.getUserSyncs({
- iframeEnabled: false,
- pixelEnabled: false
- }, [BID_RESPONSE], {
- consentString: 'BOZcQl_ObPFjWAeABAESCD-AAAAjx7_______9______9uz_Ov_v_f__33e8__9v_l_7_-___u_-33d4-_1vf99yfm1-7ftr3tp_87ues2_Xur__59__3z3_NohBgA',
- gdprApplies: true,
- });
- expect(syncs).to.have.lengthOf(0);
-
- syncs = spec.getUserSyncs({
- iframeEnabled: false,
- pixelEnabled: false
- }, [BID_RESPONSE], {
- consentString: 'BOZcQl_ObPFjWAeABAESCD-AAAAjx7_______9______9uz_Ov_v_f__33e8__9v_l_7_-___u_-33d4-_1vf99yfm1-7ftr3tp_87ues2_Xur__59__3z3_NohBgA',
- gdprApplies: true
- });
- expect(syncs).to.have.lengthOf(0);
-
- syncs = spec.getUserSyncs({
- iframeEnabled: true,
- pixelEnabled: true
- }, [], {consentString: '', gdprApplies: false});
- expect(syncs).to.have.lengthOf(0);
-
- syncs = spec.getUserSyncs({
- iframeEnabled: false,
- pixelEnabled: false
- }, [], {consentString: '', gdprApplies: true});
- expect(syncs).to.have.lengthOf(0);
- });
-
- it('Verifies user syncs iframe exclude / image include', function () {
- config.setConfig({
- 'userSync': {filterSettings: {iframe: {bidders: '*', filter: 'exclude'}, image: {bidders: '*', filter: 'include'}}}
- })
-
- var syncs = spec.getUserSyncs({
- iframeEnabled: true,
- pixelEnabled: true
- }, [BID_RESPONSE], {
- consentString: 'BOZcQl_ObPFjWAeABAESCD-AAAAjx7_______9______9uz_Ov_v_f__33e8__9v_l_7_-___u_-33d4-_1vf99yfm1-7ftr3tp_87ues2_Xur__59__3z3_NohBgA',
- gdprApplies: true},
- );
- expect(syncs).to.have.lengthOf(1);
- expect(syncs[0].type).to.equal('image');
-
- syncs = spec.getUserSyncs({
- iframeEnabled: false,
- pixelEnabled: false
- }, [BID_RESPONSE], {
- consentString: 'BOZcQl_ObPFjWAeABAESCD-AAAAjx7_______9______9uz_Ov_v_f__33e8__9v_l_7_-___u_-33d4-_1vf99yfm1-7ftr3tp_87ues2_Xur__59__3z3_NohBgA',
- gdprApplies: true,
- });
- expect(syncs).to.have.lengthOf(0);
-
- syncs = spec.getUserSyncs({
- iframeEnabled: false,
- pixelEnabled: false
- }, [BID_RESPONSE], {
- consentString: 'BOZcQl_ObPFjWAeABAESCD-AAAAjx7_______9______9uz_Ov_v_f__33e8__9v_l_7_-___u_-33d4-_1vf99yfm1-7ftr3tp_87ues2_Xur__59__3z3_NohBgA',
- gdprApplies: true
- });
- expect(syncs).to.have.lengthOf(0);
-
- syncs = spec.getUserSyncs({
- iframeEnabled: true,
- pixelEnabled: true
- }, [], {consentString: '', gdprApplies: false});
- expect(syncs).to.have.lengthOf(1);
-
- syncs = spec.getUserSyncs({
- iframeEnabled: false,
- pixelEnabled: false
- }, [], {consentString: '', gdprApplies: true});
- expect(syncs).to.have.lengthOf(0);
- });
-
- it('Verifies user syncs iframe include / image exclude', function () {
- config.setConfig({
- 'userSync': {filterSettings: {iframe: {bidders: '*', filter: 'include'}, image: {bidders: '*', filter: 'exclude'}}}
- })
-
- var syncs = spec.getUserSyncs({
- iframeEnabled: true,
- pixelEnabled: true
- }, [BID_RESPONSE], {
- consentString: 'BOZcQl_ObPFjWAeABAESCD-AAAAjx7_______9______9uz_Ov_v_f__33e8__9v_l_7_-___u_-33d4-_1vf99yfm1-7ftr3tp_87ues2_Xur__59__3z3_NohBgA',
- gdprApplies: true},
- );
- expect(syncs).to.have.lengthOf(1);
- expect(syncs[0].type).to.equal('iframe');
-
- syncs = spec.getUserSyncs({
- iframeEnabled: false,
- pixelEnabled: false
- }, [BID_RESPONSE], {
- consentString: 'BOZcQl_ObPFjWAeABAESCD-AAAAjx7_______9______9uz_Ov_v_f__33e8__9v_l_7_-___u_-33d4-_1vf99yfm1-7ftr3tp_87ues2_Xur__59__3z3_NohBgA',
- gdprApplies: true,
- });
- expect(syncs).to.have.lengthOf(0);
-
- syncs = spec.getUserSyncs({
- iframeEnabled: false,
- pixelEnabled: false
- }, [BID_RESPONSE], {
- consentString: 'BOZcQl_ObPFjWAeABAESCD-AAAAjx7_______9______9uz_Ov_v_f__33e8__9v_l_7_-___u_-33d4-_1vf99yfm1-7ftr3tp_87ues2_Xur__59__3z3_NohBgA',
- gdprApplies: true
- });
- expect(syncs).to.have.lengthOf(0);
-
- syncs = spec.getUserSyncs({
- iframeEnabled: true,
- pixelEnabled: true
- }, [], {consentString: '', gdprApplies: false});
- expect(syncs).to.have.lengthOf(1);
-
- syncs = spec.getUserSyncs({
- iframeEnabled: false,
- pixelEnabled: false
- }, [], {consentString: '', gdprApplies: true});
- expect(syncs).to.have.lengthOf(0);
- });
-
- it('Verifies user syncs iframe/image include with GPP', function () {
- config.setConfig({
- 'userSync': {filterSettings: {iframe: {bidders: '*', filter: 'include'}}}
- })
-
- var syncs = spec.getUserSyncs({iframeEnabled: true}, [BID_RESPONSE], {
- gppString: 'DBABL~BVVqAAEABgA.QA',
- applicableSections: [7]},
- );
- expect(syncs).to.have.lengthOf(1);
- expect(syncs[0].type).to.equal('iframe');
-
- config.setConfig({
- 'userSync': {filterSettings: {image: {bidders: '*', filter: 'include'}}}
- })
-
- var syncs = spec.getUserSyncs({pixelEnabled: true}, [BID_RESPONSE], {
- gppString: 'DBABL~BVVqAAEABgA.QA',
- applicableSections: [7, 5]},
- );
- expect(syncs).to.have.lengthOf(1);
- expect(syncs[0].type).to.equal('image');
- });
-
- it('Verifies user syncs URL image include with GPP', function () {
- const gppConsent = { gppString: 'DBACMYA~CP5P4cAP5P4cAPoABAESAlEAAAAAAAAAAAAAA2QAQA2ADZABADYAAAAA.QA2QAQA2AAAA.IA2QAQA2AAAA~BP5P4cAP5P4cAPoABABGBACAAAAAAAAAAAAAAAAAAA.YAAAAAAAAAA', applicableSections: [0] };
- const result = spec.getUserSyncs({pixelEnabled: true}, undefined, undefined, undefined, gppConsent);
- expect(result).to.deep.equal([{
- type: 'image', url: `https://sync.richaudience.com/bf7c142f4339da0278e83698a02b0854/?referrer=http%3A%2F%2Fdomain.com&gpp=DBACMYA~CP5P4cAP5P4cAPoABAESAlEAAAAAAAAAAAAAA2QAQA2ADZABADYAAAAA.QA2QAQA2AAAA.IA2QAQA2AAAA~BP5P4cAP5P4cAPoABABGBACAAAAAAAAAAAAAAAAAAA.YAAAAAAAAAA&gpp_sid=0`
- }]);
- });
- })
-});
diff --git a/test/spec/modules/rasBidAdapter_spec.js b/test/spec/modules/ringieraxelspringerBidAdapter_spec.js
similarity index 89%
rename from test/spec/modules/rasBidAdapter_spec.js
rename to test/spec/modules/ringieraxelspringerBidAdapter_spec.js
index f172d192221..3539dad9362 100644
--- a/test/spec/modules/rasBidAdapter_spec.js
+++ b/test/spec/modules/ringieraxelspringerBidAdapter_spec.js
@@ -1,10 +1,10 @@
import { expect } from 'chai';
-import { spec } from 'modules/rasBidAdapter.js';
+import { spec } from 'modules/ringieraxelspringerBidAdapter.js';
import { newBidder } from 'src/adapters/bidderFactory.js';
const CSR_ENDPOINT = 'https://csr.onet.pl/4178463/csr-006/csr.json?nid=4178463&';
-describe('rasBidAdapter', function () {
+describe('ringieraxelspringerBidAdapter', function () {
const adapter = newBidder(spec);
describe('inherited functions', function () {
@@ -17,7 +17,7 @@ describe('rasBidAdapter', function () {
it('should return true when required params found', function () {
const bid = {
sizes: [[300, 250], [300, 600]],
- bidder: 'ras',
+ bidder: 'ringieraxelspringer',
params: {
slot: 'slot',
area: 'areatest',
@@ -31,7 +31,7 @@ describe('rasBidAdapter', function () {
it('should return false when required params not found', function () {
const failBid = {
sizes: [[300, 250], [300, 300]],
- bidder: 'ras',
+ bidder: 'ringieraxelspringer',
params: {
site: 'test',
network: '4178463'
@@ -43,7 +43,7 @@ describe('rasBidAdapter', function () {
it('should return nothing when bid request is malformed', function () {
const failBid = {
sizes: [[300, 250], [300, 300]],
- bidder: 'ras',
+ bidder: 'ringieraxelspringer',
};
expect(spec.isBidRequestValid(failBid)).to.equal(undefined);
});
@@ -52,7 +52,7 @@ describe('rasBidAdapter', function () {
describe('buildRequests', function () {
const bid = {
sizes: [[300, 250], [300, 600]],
- bidder: 'ras',
+ bidder: 'ringieraxelspringer',
bidId: 1,
params: {
slot: 'test',
@@ -81,7 +81,7 @@ describe('rasBidAdapter', function () {
};
const bid2 = {
sizes: [[750, 300]],
- bidder: 'ras',
+ bidder: 'ringieraxelspringer',
bidId: 2,
params: {
slot: 'test2',
@@ -157,8 +157,10 @@ describe('rasBidAdapter', function () {
expect(requests[0].url).to.have.string('id0=1');
expect(requests[0].url).to.have.string('iusizes0=300x250%2C300x600');
expect(requests[0].url).to.have.string('slot1=test2');
+ expect(requests[0].url).to.have.string('kvhb_format0=banner');
expect(requests[0].url).to.have.string('id1=2');
expect(requests[0].url).to.have.string('iusizes1=750x300');
+ expect(requests[0].url).to.have.string('kvhb_format1=banner');
expect(requests[0].url).to.have.string('site=test');
expect(requests[0].url).to.have.string('area=areatest');
expect(requests[0].url).to.have.string('cre_format=html');
@@ -299,14 +301,14 @@ describe('rasBidAdapter', function () {
}
}];
const resp = spec.interpretResponse({body: {gctx: '1234567890'}}, bidRequest);
- expect(resp).to.deep.equal({bids: [], fledgeAuctionConfigs: auctionConfigs});
+ expect(resp).to.deep.equal({bids: [], paapi: auctionConfigs});
});
});
describe('buildNativeRequests', function () {
const bid = {
sizes: 'fluid',
- bidder: 'ras',
+ bidder: 'ringieraxelspringer',
bidId: 1,
params: {
slot: 'nativestd',
@@ -365,6 +367,7 @@ describe('rasBidAdapter', function () {
expect(requests[0].url).to.have.string('dr=https%3A%2F%2Fexample.org%2F');
expect(requests[0].url).to.have.string('test=name%3Dvalue');
expect(requests[0].url).to.have.string('cre_format0=native');
+ expect(requests[0].url).to.have.string('kvhb_format0=native');
expect(requests[0].url).to.have.string('iusizes0=fluid');
});
});
@@ -407,6 +410,8 @@ describe('rasBidAdapter', function () {
title: 'Headline',
image: '//img.url',
url: '//link.url',
+ partner_logo: '//logo.url',
+ adInfo: 'REKLAMA',
impression: '//impression.url',
impression1: '//impression1.url',
impressionJs1: '//impressionJs1.url'
@@ -444,9 +449,10 @@ describe('rasBidAdapter', function () {
Calltoaction: 'Calltoaction',
Headline: 'Headline',
Image: '//img.url',
- Sponsorlabel: 'nie',
+ adInfo: 'REKLAMA',
Thirdpartyclicktracker: '//link.url',
- imp: '//imp.url'
+ imp: '//imp.url',
+ thirdPartyClickTracker2: '//thirdPartyClickTracker.url'
},
meta: {
slot: 'nativestd',
@@ -465,29 +471,54 @@ describe('rasBidAdapter', function () {
ver: '1.2',
assets: [
{
- id: 2,
+ id: 0,
+ data: {
+ value: '',
+ type: 2
+ },
+ },
+ {
+ id: 1,
+ data: {
+ value: 'REKLAMA',
+ type: 10
+ },
+ },
+ {
+ id: 3,
img: {
- url: '//img.url',
+ type: 1,
+ url: '//logo.url',
w: 1,
h: 1
}
},
{
id: 4,
- title: {
- text: 'Headline'
+ img: {
+ type: 3,
+ url: '//img.url',
+ w: 1,
+ h: 1
}
},
{
- id: 3,
+ id: 5,
data: {
value: 'Test Onet',
type: 1
+ },
+ },
+ {
+ id: 6,
+ title: {
+ text: 'Headline'
}
- }
+ },
],
link: {
- url: '//adclick.url//link.url'
+ url: '//adclick.url//link.url',
+ clicktrackers: []
},
eventtrackers: [
{
@@ -521,9 +552,15 @@ describe('rasBidAdapter', function () {
width: 1,
height: 1
},
+ icon: {
+ url: '//logo.url',
+ width: 1,
+ height: 1
+ },
clickUrl: '//adclick.url//link.url',
cta: '',
body: 'BODY',
+ body2: 'REKLAMA',
sponsoredBy: 'Test Onet',
ortb: expectedTeaserStandardOrtbResponse,
privacyLink: '//dsa.url'
@@ -532,29 +569,54 @@ describe('rasBidAdapter', function () {
ver: '1.2',
assets: [
{
- id: 2,
+ id: 0,
+ data: {
+ value: '',
+ type: 2
+ },
+ },
+ {
+ id: 1,
+ data: {
+ value: 'REKLAMA',
+ type: 10
+ },
+ },
+ {
+ id: 3,
img: {
- url: '//img.url',
+ type: 1,
+ url: '',
w: 1,
h: 1
}
},
{
id: 4,
- title: {
- text: 'Headline'
+ img: {
+ type: 3,
+ url: '//img.url',
+ w: 1,
+ h: 1
}
},
{
- id: 3,
+ id: 5,
data: {
value: 'Test Onet',
type: 1
+ },
+ },
+ {
+ id: 6,
+ title: {
+ text: 'Headline'
}
- }
+ },
],
link: {
- url: '//adclick.url//link.url'
+ url: '//adclick.url//link.url',
+ clicktrackers: ['//thirdPartyClickTracker.url']
},
eventtrackers: [
{
@@ -578,9 +640,15 @@ describe('rasBidAdapter', function () {
width: 1,
height: 1
},
+ icon: {
+ url: '',
+ width: 1,
+ height: 1
+ },
clickUrl: '//adclick.url//link.url',
cta: 'Calltoaction',
body: 'BODY',
+ body2: 'REKLAMA',
sponsoredBy: 'Test Onet',
ortb: expectedNativeInFeedOrtbResponse,
privacyLink: '//dsa.url'
diff --git a/test/spec/modules/rtbhouseBidAdapter_spec.js b/test/spec/modules/rtbhouseBidAdapter_spec.js
index 77b746b9b69..cc303dc2f96 100644
--- a/test/spec/modules/rtbhouseBidAdapter_spec.js
+++ b/test/spec/modules/rtbhouseBidAdapter_spec.js
@@ -43,12 +43,12 @@ describe('RTBHouseAdapter', () => {
});
it('should return false when required params are not passed', function () {
- let bid = Object.assign({}, bid);
- delete bid.params;
- bid.params = {
+ let invalidBid = Object.assign({}, bid);
+ delete invalidBid.params;
+ invalidBid.params = {
'someIncorrectParam': 0
};
- expect(spec.isBidRequestValid(bid)).to.equal(false);
+ expect(spec.isBidRequestValid(invalidBid)).to.equal(false);
});
});
@@ -460,7 +460,7 @@ describe('RTBHouseAdapter', () => {
let bidRequest = Object.assign([], bidRequests);
delete bidRequest[0].params.test;
config.setConfig({ fledgeConfig: true });
- const request = spec.buildRequests(bidRequest, { ...bidderRequest, fledgeEnabled: true });
+ const request = spec.buildRequests(bidRequest, { ...bidderRequest, paapi: {enabled: true} });
expect(request.url).to.equal('https://prebid-eu.creativecdn.com/bidder/prebidfledge/bids');
expect(request.method).to.equal('POST');
});
@@ -470,7 +470,7 @@ describe('RTBHouseAdapter', () => {
delete bidRequest[0].params.test;
config.setConfig({ fledgeConfig: false });
- const request = spec.buildRequests(bidRequest, { ...bidderRequest, fledgeEnabled: true });
+ const request = spec.buildRequests(bidRequest, {...bidderRequest, paapi: {enabled: true}});
const data = JSON.parse(request.data);
expect(data.ext).to.exist.and.to.be.a('object');
expect(data.ext.fledge_config).to.exist.and.to.be.a('object');
@@ -490,7 +490,7 @@ describe('RTBHouseAdapter', () => {
decisionLogicUrl: 'https://sellers.domain/decision.url'
}
});
- const request = spec.buildRequests(bidRequest, { ...bidderRequest, fledgeEnabled: true });
+ const request = spec.buildRequests(bidRequest, {...bidderRequest, paapi: {enabled: true}});
const data = JSON.parse(request.data);
expect(data.ext).to.exist.and.to.be.a('object');
expect(data.ext.fledge_config).to.exist.and.to.be.a('object');
@@ -506,7 +506,7 @@ describe('RTBHouseAdapter', () => {
bidRequest[0].ortb2Imp = {
ext: { ae: 2 }
};
- const request = spec.buildRequests(bidRequest, { ...bidderRequest, fledgeEnabled: false });
+ const request = spec.buildRequests(bidRequest, { ...bidderRequest, paapi: {enabled: false} });
let data = JSON.parse(request.data);
if (data.imp[0].ext) {
expect(data.imp[0].ext).to.not.have.property('ae');
@@ -519,7 +519,7 @@ describe('RTBHouseAdapter', () => {
bidRequest[0].ortb2Imp = {
ext: { ae: 2 }
};
- const request = spec.buildRequests(bidRequest, { ...bidderRequest, fledgeEnabled: true });
+ const request = spec.buildRequests(bidRequest, { ...bidderRequest, paapi: {enabled: true} });
let data = JSON.parse(request.data);
expect(data.imp[0].ext.ae).to.equal(2);
});
@@ -782,9 +782,9 @@ describe('RTBHouseAdapter', () => {
it('should return FLEDGE auction_configs alongside bids', function () {
expect(response).to.have.property('bids');
- expect(response).to.have.property('fledgeAuctionConfigs');
- expect(response.fledgeAuctionConfigs.length).to.equal(1);
- expect(response.fledgeAuctionConfigs[0].bidId).to.equal('test-bid-id');
+ expect(response).to.have.property('paapi');
+ expect(response.paapi.length).to.equal(1);
+ expect(response.paapi[0].bidId).to.equal('test-bid-id');
});
});
diff --git a/test/spec/modules/rubiconBidAdapter_spec.js b/test/spec/modules/rubiconBidAdapter_spec.js
index 494943f9f7d..9e25300e10b 100644
--- a/test/spec/modules/rubiconBidAdapter_spec.js
+++ b/test/spec/modules/rubiconBidAdapter_spec.js
@@ -14,7 +14,7 @@ import * as utils from 'src/utils.js';
import {find} from 'src/polyfill.js';
import {createEidsArray} from 'modules/userId/eids.js';
import 'modules/schain.js';
-import 'modules/consentManagement.js';
+import 'modules/consentManagementTcf.js';
import 'modules/consentManagementUsp.js';
import 'modules/userId/index.js';
import 'modules/priceFloors.js';
@@ -3695,14 +3695,14 @@ describe('the rubicon adapter', function () {
}]
};
- let {bids, fledgeAuctionConfigs} = spec.interpretResponse({body: response}, {
+ let {bids, paapi} = spec.interpretResponse({body: response}, {
bidRequest: bidderRequest.bids[0]
});
expect(bids).to.be.lengthOf(1);
- expect(fledgeAuctionConfigs[0].bidId).to.equal('5432');
- expect(fledgeAuctionConfigs[0].config.random).to.equal('value');
- expect(fledgeAuctionConfigs[1].bidId).to.equal('6789');
+ expect(paapi[0].bidId).to.equal('5432');
+ expect(paapi[0].config.random).to.equal('value');
+ expect(paapi[1].bidId).to.equal('6789');
});
it('should handle an error', function () {
diff --git a/test/spec/modules/sharethroughBidAdapter_spec.js b/test/spec/modules/sharethroughBidAdapter_spec.js
index ab099d87429..8fc29a2cef3 100644
--- a/test/spec/modules/sharethroughBidAdapter_spec.js
+++ b/test/spec/modules/sharethroughBidAdapter_spec.js
@@ -755,7 +755,7 @@ describe('sharethrough adapter spec', function () {
const EXPECTED_AE_VALUE = 1;
// ACT
- bidderRequest['fledgeEnabled'] = true;
+ bidderRequest.paapi = {enabled: true};
const builtRequests = spec.buildRequests(bidRequests, bidderRequest);
const ACTUAL_AE_VALUE = builtRequests[0].data.imp[0].ext.ae;
diff --git a/test/spec/modules/shinezRtbBidAdapter_spec.js b/test/spec/modules/shinezRtbBidAdapter_spec.js
index 3965cd69c5f..93864064dd8 100644
--- a/test/spec/modules/shinezRtbBidAdapter_spec.js
+++ b/test/spec/modules/shinezRtbBidAdapter_spec.js
@@ -18,7 +18,7 @@ import {BANNER, VIDEO} from '../../../src/mediaTypes';
import {config} from '../../../src/config';
import {deepAccess} from 'src/utils.js';
-export const TEST_ID_SYSTEMS = ['britepoolid', 'criteoId', 'id5id', 'idl_env', 'lipb', 'netId', 'parrableId', 'pubcid', 'tdid', 'pubProvidedId', 'digitrustid'];
+export const TEST_ID_SYSTEMS = ['criteoId', 'id5id', 'idl_env', 'lipb', 'netId', 'pubcid', 'tdid', 'pubProvidedId'];
const SUB_DOMAIN = 'exchange';
@@ -511,12 +511,8 @@ describe('ShinezRtbBidAdapter', function () {
const userId = (function () {
switch (idSystemProvider) {
- case 'digitrustid':
- return {data: {id}};
case 'lipb':
return {lipbid: id};
- case 'parrableId':
- return {eid: id};
case 'id5id':
return {uid: id};
default:
diff --git a/test/spec/modules/sigmoidAnalyticsAdapter_spec.js b/test/spec/modules/sigmoidAnalyticsAdapter_spec.js
deleted file mode 100644
index 1d8e38f19ec..00000000000
--- a/test/spec/modules/sigmoidAnalyticsAdapter_spec.js
+++ /dev/null
@@ -1,57 +0,0 @@
-import sigmoidAnalytic from 'modules/sigmoidAnalyticsAdapter.js';
-import {expect} from 'chai';
-import {expectEvents} from '../../helpers/analytics.js';
-
-let events = require('src/events');
-let adapterManager = require('src/adapterManager').default;
-
-describe('sigmoid Prebid Analytic', function () {
- after(function () {
- sigmoidAnalytic.disableAnalytics();
- });
-
- describe('enableAnalytics', function () {
- beforeEach(function () {
- sinon.spy(sigmoidAnalytic, 'track');
- sinon.stub(events, 'getEvents').returns([]);
- });
-
- afterEach(function () {
- sigmoidAnalytic.track.restore();
- events.getEvents.restore();
- });
- it('should catch all events', function () {
- adapterManager.registerAnalyticsAdapter({
- code: 'sigmoid',
- adapter: sigmoidAnalytic
- });
-
- adapterManager.enableAnalytics({
- provider: 'sigmoid',
- options: {
- publisherIds: ['test_sigmoid_prebid_analytid_publisher_id']
- }
- });
-
- expectEvents().to.beTrackedBy(sigmoidAnalytic.track);
- });
- });
- describe('build utm tag data', function () {
- beforeEach(function () {
- localStorage.setItem('sigmoid_analytics_utm_source', 'utm_source');
- localStorage.setItem('sigmoid_analytics_utm_medium', 'utm_medium');
- localStorage.setItem('sigmoid_analytics_utm_campaign', '');
- localStorage.setItem('sigmoid_analytics_utm_term', '');
- localStorage.setItem('sigmoid_analytics_utm_content', '');
- localStorage.setItem('sigmoid_analytics_utm_timeout', Date.now());
- });
- it('should build utm data from local storage', function () {
- let utmTagData = sigmoidAnalytic.buildUtmTagData();
- expect(utmTagData.utm_source).to.equal('utm_source');
- expect(utmTagData.utm_medium).to.equal('utm_medium');
- expect(utmTagData.utm_campaign).to.equal('');
- expect(utmTagData.utm_term).to.equal('');
- expect(utmTagData.utm_content).to.equal('');
- });
- });
-});
diff --git a/test/spec/modules/silvermobBidAdapter_spec.js b/test/spec/modules/silvermobBidAdapter_spec.js
index 7d7fbacc04e..3ff3dfbfe2d 100644
--- a/test/spec/modules/silvermobBidAdapter_spec.js
+++ b/test/spec/modules/silvermobBidAdapter_spec.js
@@ -11,7 +11,7 @@ import 'modules/currency.js';
import 'modules/userId/index.js';
import 'modules/multibid/index.js';
import 'modules/priceFloors.js';
-import 'modules/consentManagement.js';
+import 'modules/consentManagementTcf.js';
import 'modules/consentManagementUsp.js';
import 'modules/schain.js';
diff --git a/test/spec/modules/slimcutBidAdapter_spec.js b/test/spec/modules/slimcutBidAdapter_spec.js
index da0fee48936..64ddac71899 100644
--- a/test/spec/modules/slimcutBidAdapter_spec.js
+++ b/test/spec/modules/slimcutBidAdapter_spec.js
@@ -35,26 +35,26 @@ describe('slimcutBidAdapter', function() {
expect(spec.isBidRequestValid(bid)).to.equal(true);
});
it('should return false when placementId is not valid (letters)', function() {
- let bid = Object.assign({}, bid);
- delete bid.params;
- bid.params = {
+ let invalidBid = Object.assign({}, bid);
+ delete invalidBid.params;
+ invalidBid.params = {
'placementId': 'ABCD'
};
- expect(spec.isBidRequestValid(bid)).to.equal(false);
+ expect(spec.isBidRequestValid(invalidBid)).to.equal(false);
});
it('should return false when placementId < 0', function() {
- let bid = Object.assign({}, bid);
- delete bid.params;
- bid.params = {
+ let invalidBid = Object.assign({}, bid);
+ delete invalidBid.params;
+ invalidBid.params = {
'placementId': -1
};
- expect(spec.isBidRequestValid(bid)).to.equal(false);
+ expect(spec.isBidRequestValid(invalidBid)).to.equal(false);
});
it('should return false when required params are not passed', function() {
- let bid = Object.assign({}, bid);
- delete bid.params;
- bid.params = {};
- expect(spec.isBidRequestValid(bid)).to.equal(false);
+ let invalidBid = Object.assign({}, bid);
+ delete invalidBid.params;
+ invalidBid.params = {};
+ expect(spec.isBidRequestValid(invalidBid)).to.equal(false);
});
});
describe('buildRequests', function() {
diff --git a/test/spec/modules/smaatoBidAdapter_spec.js b/test/spec/modules/smaatoBidAdapter_spec.js
index 802fa8c254b..b7a9a43b6a0 100644
--- a/test/spec/modules/smaatoBidAdapter_spec.js
+++ b/test/spec/modules/smaatoBidAdapter_spec.js
@@ -8,7 +8,7 @@ import 'modules/currency.js';
import 'modules/userId/index.js';
import 'modules/multibid/index.js';
import 'modules/priceFloors.js';
-import 'modules/consentManagement.js';
+import 'modules/consentManagementTcf.js';
import 'modules/consentManagementUsp.js';
import 'modules/schain.js';
diff --git a/test/spec/modules/smartxBidAdapter_spec.js b/test/spec/modules/smartxBidAdapter_spec.js
index c3d0711632e..d8ddf7a398b 100644
--- a/test/spec/modules/smartxBidAdapter_spec.js
+++ b/test/spec/modules/smartxBidAdapter_spec.js
@@ -178,7 +178,6 @@ describe('The smartx adapter', function () {
2, 3, 5, 6
],
startdelay: 0,
- placement: 1,
pos: 1
});
@@ -208,10 +207,6 @@ describe('The smartx adapter', function () {
sdk_name: 'Prebid 1+'
});
- expect(request.data.imp[0].video).to.contain({
- placement: 1
- });
-
bid.mediaTypes.video.context = 'outstream';
bid.params = {
@@ -251,10 +246,6 @@ describe('The smartx adapter', function () {
expect(request.data.imp[0].video.startdelay).to.equal(1);
- expect(request.data.imp[0].video).to.contain({
- placement: 3
- });
-
expect(request.data.imp[0].bidfloor).to.equal(55);
expect(request.data.imp[0].bidfloorcur).to.equal('foo');
diff --git a/test/spec/modules/sonobiAnalyticsAdapter_spec.js b/test/spec/modules/sonobiAnalyticsAdapter_spec.js
deleted file mode 100644
index c34de91dd9f..00000000000
--- a/test/spec/modules/sonobiAnalyticsAdapter_spec.js
+++ /dev/null
@@ -1,85 +0,0 @@
-import sonobiAnalytics, {DEFAULT_EVENT_URL} from 'modules/sonobiAnalyticsAdapter.js';
-import {expect} from 'chai';
-import {server} from 'test/mocks/xhr.js';
-import { EVENTS } from 'src/constants.js';
-
-let events = require('src/events');
-let adapterManager = require('src/adapterManager').default;
-
-describe('Sonobi Prebid Analytic', function () {
- var clock;
-
- describe('enableAnalytics', function () {
- beforeEach(function () {
- sinon.stub(events, 'getEvents').returns([]);
- clock = sinon.useFakeTimers(Date.now());
- });
-
- afterEach(function () {
- events.getEvents.restore();
- clock.restore();
- });
-
- after(function () {
- sonobiAnalytics.disableAnalytics();
- });
-
- it('should catch all events', function (done) {
- const initOptions = {
- pubId: 'A3B254F',
- siteId: '1234',
- delay: 100
- };
-
- sonobiAnalytics.enableAnalytics(initOptions)
-
- const bid = {
- bidderCode: 'sonobi_test_bid',
- width: 300,
- height: 250,
- statusMessage: 'Bid available',
- adId: '1234',
- auctionId: '13',
- responseTimestamp: 1496410856397,
- requestTimestamp: 1496410856295,
- cpm: 1.13,
- bidder: 'sonobi',
- adUnitCode: 'dom-sample-id',
- timeToRespond: 100,
- placementCode: 'placementtest'
- };
-
- // Step 1: Initialize adapter
- adapterManager.enableAnalytics({
- provider: 'sonobi',
- options: initOptions
- });
-
- // Step 2: Send init auction event
- events.emit(EVENTS.AUCTION_INIT, { config: initOptions, auctionId: '13', timestamp: Date.now() });
-
- expect(sonobiAnalytics.initOptions).to.have.property('pubId', 'A3B254F');
- expect(sonobiAnalytics.initOptions).to.have.property('siteId', '1234');
- expect(sonobiAnalytics.initOptions).to.have.property('delay', 100);
- // Step 3: Send bid requested event
- events.emit(EVENTS.BID_REQUESTED, { bids: [bid], auctionId: '13' });
-
- // Step 4: Send bid response event
- events.emit(EVENTS.BID_RESPONSE, bid);
-
- // Step 5: Send bid won event
- events.emit(EVENTS.BID_WON, bid);
-
- // Step 6: Send bid timeout event
- events.emit(EVENTS.BID_TIMEOUT, { auctionId: '13' });
-
- // Step 7: Send auction end event
- events.emit(EVENTS.AUCTION_END, { auctionId: '13', bidsReceived: [bid] });
-
- clock.tick(5000);
- const req = server.requests.find(req => req.url.indexOf(DEFAULT_EVENT_URL) !== -1);
- expect(JSON.parse(req.requestBody)).to.have.length(3)
- done();
- });
- });
-});
diff --git a/test/spec/modules/sovrnAnalyticsAdapter_spec.js b/test/spec/modules/sovrnAnalyticsAdapter_spec.js
deleted file mode 100644
index 7945bdc9910..00000000000
--- a/test/spec/modules/sovrnAnalyticsAdapter_spec.js
+++ /dev/null
@@ -1,530 +0,0 @@
-import sovrnAnalyticsAdapter from '../../../modules/sovrnAnalyticsAdapter.js';
-import {expect} from 'chai';
-import {config} from 'src/config.js';
-import adaptermanager from 'src/adapterManager.js';
-import {server} from 'test/mocks/xhr.js';
-import {expectEvents, fireEvents} from '../../helpers/analytics.js';
-import { EVENTS } from 'src/constants.js';
-
-var assert = require('assert');
-
-let events = require('src/events');
-
-/**
- * Emit analytics events
- * @param {Array} eventType - array of objects to define the events that will fire
- * @param {object} event - key is eventType, value is event
- * @param {string} auctionId - the auction id to attached to the events
- */
-function emitEvent(eventType, event, auctionId) {
- event.auctionId = auctionId;
- events.emit(EVENTS[eventType], event);
-}
-
-let auctionStartTimestamp = Date.now();
-let timeout = 3000;
-let auctionInit = {
- timestamp: auctionStartTimestamp,
- timeout: timeout
-};
-let bidderCode = 'sovrn';
-let bidderRequestId = '123bri';
-let adUnitCode = 'div';
-let adUnitCode2 = 'div2';
-let bidId = 'bidid';
-let bidId2 = 'bidid2';
-let tId = '7aafa3ee-a80a-46d7-a4a0-cbcba463d97a';
-let tId2 = '99dca3ee-a80a-46d7-a4a0-cbcba463d97e';
-let bidRequested = {
- auctionStart: auctionStartTimestamp,
- bidderCode: bidderCode,
- bidderRequestId: bidderRequestId,
- bids: [
- {
- adUnitCode: adUnitCode,
- bidId: bidId,
- bidder: bidderCode,
- bidderRequestId: '10340af0c7dc72',
- sizes: [[300, 250]],
- startTime: auctionStartTimestamp + 100,
- transactionId: tId
- },
- {
- adUnitCode: adUnitCode2,
- bidId: bidId2,
- bidder: bidderCode,
- bidderRequestId: '10340af0c7dc72',
- sizes: [[300, 250]],
- startTime: auctionStartTimestamp + 100,
- transactionId: tId2
- }
- ],
- doneCbCallCount: 1,
- start: auctionStartTimestamp,
- timeout: timeout
-};
-let bidResponse = {
- bidderCode: bidderCode,
- width: 300,
- height: 250,
- statusMessage: 'Bid available',
- adId: '3870e27a5752fb',
- mediaType: 'banner',
- source: 'client',
- requestId: bidId,
- cpm: 0.8584999918937682,
- creativeId: 'cridprebidrtb',
- dealId: null,
- currency: 'USD',
- netRevenue: true,
- ad: 'divvy mcdiv
',
- ttl: 60000,
- responseTimestamp: auctionStartTimestamp + 150,
- requestTimestamp: auctionStartTimestamp + 100,
- bidder: bidderCode,
- adUnitCode: adUnitCode,
- timeToRespond: 50,
- pbLg: '0.50',
- pbMg: '0.80',
- pbHg: '0.85',
- pbAg: '0.85',
- pbDg: '0.85',
- pbCg: '',
- size: '300x250',
- adserverTargeting: {
- hb_bidder: bidderCode,
- hb_adid: '3870e27a5752fb',
- hb_pb: '0.85'
- },
- status: 'rendered'
-};
-
-let bidResponse2 = {
- bidderCode: bidderCode,
- width: 300,
- height: 250,
- statusMessage: 'Bid available',
- adId: '9999e27a5752fb',
- mediaType: 'banner',
- source: 'client',
- requestId: bidId2,
- cpm: 0.12,
- creativeId: 'cridprebidrtb',
- dealId: null,
- currency: 'USD',
- netRevenue: true,
- ad: 'divvy mcdiv
',
- ttl: 60000,
- responseTimestamp: auctionStartTimestamp + 150,
- requestTimestamp: auctionStartTimestamp + 100,
- bidder: bidderCode,
- adUnitCode: adUnitCode2,
- timeToRespond: 50,
- pbLg: '0.10',
- pbMg: '0.10',
- pbHg: '0.10',
- pbAg: '0.10',
- pbDg: '0.10',
- pbCg: '',
- size: '300x250',
- adserverTargeting: {
- hb_bidder: bidderCode,
- hb_adid: '9999e27a5752fb',
- hb_pb: '0.10'
- },
- status: 'rendered'
-};
-let bidAdjustment = {};
-for (var k in bidResponse) bidAdjustment[k] = bidResponse[k];
-bidAdjustment.cpm = 0.8;
-let bidAdjustmentNoMatchingRequest = {
- bidderCode: 'not-sovrn',
- width: 300,
- height: 250,
- statusMessage: 'Bid available',
- adId: '1',
- mediaType: 'banner',
- source: 'client',
- requestId: '1',
- cpm: 0.10,
- creativeId: '',
- dealId: null,
- currency: 'USD',
- netRevenue: true,
- ad: 'divvy mcdiv
',
- ttl: 60000,
- responseTimestamp: auctionStartTimestamp + 150,
- requestTimestamp: auctionStartTimestamp + 100,
- bidder: 'not-sovrn',
- adUnitCode: '',
- timeToRespond: 50,
- pbLg: '0.00',
- pbMg: '0.10',
- pbHg: '0.10',
- pbAg: '0.10',
- pbDg: '0.10',
- pbCg: '',
- size: '300x250',
- adserverTargeting: {
- hb_bidder: 'not-sovrn',
- hb_adid: '1',
- hb_pb: '0.10'
- },
-};
-let bidResponseNoMatchingRequest = bidAdjustmentNoMatchingRequest;
-
-describe('Sovrn Analytics Adapter', function () {
- beforeEach(() => {
- sinon.stub(events, 'getEvents').returns([]);
- });
- afterEach(() => {
- events.getEvents.restore();
- });
-
- describe('enableAnalytics ', function () {
- beforeEach(() => {
- sinon.spy(sovrnAnalyticsAdapter, 'track');
- });
- afterEach(() => {
- sovrnAnalyticsAdapter.disableAnalytics();
- sovrnAnalyticsAdapter.track.restore();
- });
-
- it('should catch all events if affiliate id present', function () {
- adaptermanager.enableAnalytics({
- provider: 'sovrn',
- options: {
- sovrnId: 123
- }
- });
- expectEvents().to.beTrackedBy(sovrnAnalyticsAdapter.track);
- });
-
- it('should catch no events if no affiliate id', function () {
- adaptermanager.enableAnalytics({
- provider: 'sovrn',
- options: {
- }
- });
- fireEvents();
- sinon.assert.callCount(sovrnAnalyticsAdapter.track, 0);
- });
- });
-
- describe('sovrnAnalyticsAdapter ', function() {
- beforeEach(() => {
- sovrnAnalyticsAdapter.enableAnalytics({
- provider: 'sovrn',
- options: {
- sovrnId: 123
- }
- });
- sinon.spy(sovrnAnalyticsAdapter, 'track');
- });
- afterEach(() => {
- sovrnAnalyticsAdapter.disableAnalytics();
- sovrnAnalyticsAdapter.track.restore();
- });
- it('should have correct type', function () {
- assert.equal(sovrnAnalyticsAdapter.getAdapterType(), 'endpoint')
- })
- });
-
- describe('auction data collector ', function() {
- beforeEach(() => {
- sovrnAnalyticsAdapter.enableAnalytics({
- provider: 'sovrn',
- options: {
- sovrnId: 123
- }
- });
- sinon.spy(sovrnAnalyticsAdapter, 'track');
- });
- afterEach(() => {
- sovrnAnalyticsAdapter.disableAnalytics();
- sovrnAnalyticsAdapter.track.restore();
- });
- it('should create auctiondata record from init ', function () {
- let auctionId = '123.123.123.123';
- emitEvent('AUCTION_INIT', auctionInit, auctionId);
-
- let auctionData = sovrnAnalyticsAdapter.getAuctions();
- let currentAuction = auctionData[auctionId];
- assert(currentAuction);
- let expectedTimeOutData = {
- buffer: config.getConfig('timeoutBuffer'),
- bidder: config.getConfig('bidderTimeout'),
- };
- expect(currentAuction.auction.timeouts).to.deep.equal(expectedTimeOutData);
- assert.equal(currentAuction.auction.payload, 'auction');
- assert.equal(currentAuction.auction.priceGranularity, config.getConfig('priceGranularity'))
- assert.equal(currentAuction.auction.auctionId, auctionId);
- assert.equal(currentAuction.auction.sovrnId, 123);
- });
- it('should create a bidrequest object ', function() {
- let auctionId = '234.234.234.234';
- emitEvent('AUCTION_INIT', auctionInit, auctionId);
- emitEvent('BID_REQUESTED', bidRequested, auctionId);
-
- let auctionData = sovrnAnalyticsAdapter.getAuctions();
- let currentAuction = auctionData[auctionId];
- assert(currentAuction);
- let requests = currentAuction.auction.requests;
- assert(requests);
- assert.equal(requests.length, 1);
- assert.equal(requests[0].bidderCode, bidderCode);
- assert.equal(requests[0].bidderRequestId, bidderRequestId);
- assert.equal(requests[0].timeout, timeout);
- let bids = requests[0].bids;
- assert(bids);
- assert.equal(bids.length, 2);
- assert.equal(bids[0].bidId, bidId);
- assert.equal(bids[0].bidder, bidderCode);
- assert.equal(bids[0].transactionId, tId);
- assert.equal(bids[0].sizes.length, 1);
- assert.equal(bids[0].sizes[0][0], 300);
- assert.equal(bids[0].sizes[0][1], 250);
- expect(requests[0]).to.not.have.property('doneCbCallCount');
- expect(requests[0]).to.not.have.property('auctionId');
- });
- it('should add results to the bid with response ', function () {
- let auctionId = '345.345.345.345';
- emitEvent('AUCTION_INIT', auctionInit, auctionId);
- emitEvent('BID_REQUESTED', bidRequested, auctionId);
- emitEvent('BID_RESPONSE', bidResponse, auctionId);
-
- let auctionData = sovrnAnalyticsAdapter.getAuctions();
- let currentAuction = auctionData[auctionId];
- let returnedBid = currentAuction.auction.requests[0].bids[0];
- assert.equal(returnedBid.bidId, bidId);
- assert.equal(returnedBid.bidder, bidderCode);
- assert.equal(returnedBid.transactionId, tId);
- assert.equal(returnedBid.sizes.length, 1);
- assert.equal(returnedBid.sizes[0][0], 300);
- assert.equal(returnedBid.sizes[0][1], 250);
- assert.equal(returnedBid.adserverTargeting.hb_adid, '3870e27a5752fb');
- assert.equal(returnedBid.adserverTargeting.hb_bidder, bidderCode);
- assert.equal(returnedBid.adserverTargeting.hb_pb, '0.85');
- assert.equal(returnedBid.cpm, 0.8584999918937682);
- });
- it('should add new unsynced bid if no request exists for response ', function () {
- let auctionId = '456.456.456.456';
- emitEvent('AUCTION_INIT', auctionInit, auctionId);
- emitEvent('BID_REQUESTED', bidRequested, auctionId);
- emitEvent('BID_RESPONSE', bidResponseNoMatchingRequest, auctionId);
-
- let auctionData = sovrnAnalyticsAdapter.getAuctions();
- let currentAuction = auctionData[auctionId];
- let requests = currentAuction.auction.requests;
- assert(requests);
- assert.equal(requests.length, 1);
- let bidRequest = requests[0].bids[0];
- expect(bidRequest).to.not.have.property('adserverTargeting');
- expect(bidRequest).to.not.have.property('cpm');
- expect(currentAuction.auction.unsynced[0]).to.deep.equal(bidResponseNoMatchingRequest);
- });
- it('should adjust the bid ', function () {
- let auctionId = '567.567.567.567';
- emitEvent('AUCTION_INIT', auctionInit, auctionId);
- emitEvent('BID_REQUESTED', bidRequested, auctionId);
- emitEvent('BID_ADJUSTMENT', bidResponse, auctionId);
- emitEvent('BID_RESPONSE', bidAdjustment, auctionId);
-
- let auctionData = sovrnAnalyticsAdapter.getAuctions();
- let currentAuction = auctionData[auctionId];
- let returnedBid = currentAuction.auction.requests[0].bids[0];
- assert.equal(returnedBid.cpm, 0.8);
- assert.equal(returnedBid.originalValues.cpm, 0.8584999918937682);
- });
- });
- describe('auction data send ', function() {
- let expectedPostBody = {
- sovrnId: 123,
- auctionId: '678.678.678.678',
- payload: 'auction',
- priceGranularity: 'medium',
- };
- let expectedRequests = {
- bidderCode: 'sovrn',
- bidderRequestId: '123bri',
- timeout: 3000
- };
- let expectedBids = {
- adUnitCode: 'div',
- bidId: 'bidid',
- bidder: 'sovrn',
- bidderRequestId: '10340af0c7dc72',
- transactionId: '7aafa3ee-a80a-46d7-a4a0-cbcba463d97a',
- width: 300,
- height: 250,
- statusMessage: 'Bid available',
- adId: '3870e27a5752fb',
- mediaType: 'banner',
- source: 'client',
- cpm: 0.8584999918937682,
- creativeId: 'cridprebidrtb',
- dealId: null,
- currency: 'USD',
- netRevenue: true,
- ttl: 60000,
- timeToRespond: 50,
- size: '300x250',
- status: 'rendered',
- isAuctionWinner: true
- };
- let SecondAdUnitExpectedBids = {
- adUnitCode: 'div2',
- bidId: 'bidid2',
- bidder: 'sovrn',
- bidderRequestId: '10340af0c7dc72',
- transactionId: '99dca3ee-a80a-46d7-a4a0-cbcba463d97e',
- width: 300,
- height: 250,
- statusMessage: 'Bid available',
- adId: '9999e27a5752fb',
- mediaType: 'banner',
- source: 'client',
- cpm: 0.12,
- creativeId: 'cridprebidrtb',
- dealId: null,
- currency: 'USD',
- netRevenue: true,
- ttl: 60000,
- timeToRespond: 50,
- size: '300x250',
- status: 'rendered',
- isAuctionWinner: true
- };
- let expectedAdServerTargeting = {
- hb_bidder: 'sovrn',
- hb_adid: '3870e27a5752fb',
- hb_pb: '0.85'
- };
- beforeEach(() => {
- sovrnAnalyticsAdapter.enableAnalytics({
- provider: 'sovrn',
- options: {
- sovrnId: 123
- }
- });
- sinon.spy(sovrnAnalyticsAdapter, 'track');
- });
- afterEach(() => {
- sovrnAnalyticsAdapter.disableAnalytics();
- sovrnAnalyticsAdapter.track.restore();
- });
- it('should send auction data ', function () {
- let auctionId = '678.678.678.678';
- emitEvent('AUCTION_INIT', auctionInit, auctionId);
- emitEvent('BID_REQUESTED', bidRequested, auctionId);
- emitEvent('BID_RESPONSE', bidResponse, auctionId);
- emitEvent('BID_RESPONSE', bidResponse2, auctionId)
- emitEvent('AUCTION_END', {}, auctionId);
- let requestBody = JSON.parse(server.requests[0].requestBody);
- let requestsFromRequestBody = requestBody.requests[0];
- let bidsFromRequests = requestsFromRequestBody.bids[0];
- expect(requestBody).to.deep.include(expectedPostBody);
- expect(requestBody.timeouts).to.deep.equal({buffer: 400, bidder: 3000});
- expect(requestsFromRequestBody).to.deep.include(expectedRequests);
- expect(bidsFromRequests).to.deep.include(expectedBids);
- let bidsFromRequests2 = requestsFromRequestBody.bids[1];
- expect(bidsFromRequests2).to.deep.include(SecondAdUnitExpectedBids);
- expect(bidsFromRequests.adserverTargeting).to.deep.include(expectedAdServerTargeting);
- });
- });
- describe('bid won data send ', function() {
- let auctionId = '789.789.789.789';
- let creativeId = 'cridprebidrtb';
- let requestId = 'requestId69';
- let bidWonEvent = {
- ad: 'html',
- adId: 'adId',
- adUnitCode: adUnitCode,
- auctionId: auctionId,
- bidder: bidderCode,
- bidderCode: bidderCode,
- cpm: 1.01,
- creativeId: creativeId,
- currency: 'USD',
- height: 250,
- mediaType: 'banner',
- requestId: requestId,
- size: '300x250',
- source: 'client',
- status: 'rendered',
- statusMessage: 'Bid available',
- timeToRespond: 421,
- ttl: 60,
- width: 300
- };
- let expectedBidWonBody = {
- sovrnId: 123,
- payload: 'winner'
- };
- let expectedWinningBid = {
- bidderCode: bidderCode,
- width: 300,
- height: 250,
- statusMessage: 'Bid available',
- adId: 'adId',
- mediaType: 'banner',
- source: 'client',
- requestId: requestId,
- cpm: 1.01,
- creativeId: creativeId,
- currency: 'USD',
- ttl: 60,
- auctionId: auctionId,
- bidder: bidderCode,
- adUnitCode: adUnitCode,
- timeToRespond: 421,
- size: '300x250',
- };
- beforeEach(() => {
- sovrnAnalyticsAdapter.enableAnalytics({
- provider: 'sovrn',
- options: {
- sovrnId: 123
- }
- });
- sinon.spy(sovrnAnalyticsAdapter, 'track');
- });
- afterEach(() => {
- sovrnAnalyticsAdapter.disableAnalytics();
- sovrnAnalyticsAdapter.track.restore();
- });
- it('should send bid won data ', function () {
- emitEvent('AUCTION_INIT', auctionInit, auctionId);
- emitEvent('BID_WON', bidWonEvent, auctionId);
- let requestBody = JSON.parse(server.requests[0].requestBody);
- expect(requestBody).to.deep.include(expectedBidWonBody);
- expect(requestBody.winningBid).to.deep.include(expectedWinningBid);
- });
- });
- describe('Error Tracking', function() {
- beforeEach(() => {
- sovrnAnalyticsAdapter.enableAnalytics({
- provider: 'sovrn',
- options: {
- sovrnId: 123
- }
- });
- sinon.spy(sovrnAnalyticsAdapter, 'track');
- });
- afterEach(() => {
- sovrnAnalyticsAdapter.disableAnalytics()
- sovrnAnalyticsAdapter.track.restore()
- });
- it('should send an error message when a bid is received for a closed auction', function() {
- let auctionId = '678.678.678.678';
- emitEvent('AUCTION_INIT', auctionInit, auctionId)
- emitEvent('BID_REQUESTED', bidRequested, auctionId)
- emitEvent('AUCTION_END', {}, auctionId)
- server.requests[0].respond(200)
- emitEvent('BID_RESPONSE', bidResponse, auctionId)
- let requestBody = JSON.parse(server.requests[1].requestBody)
- expect(requestBody.payload).to.equal('error')
- expect(requestBody.message).to.include('Event Received after Auction Close Auction Id')
- })
- })
-})
diff --git a/test/spec/modules/sovrnBidAdapter_spec.js b/test/spec/modules/sovrnBidAdapter_spec.js
index 10f5ab8e89d..2d6af1f964f 100644
--- a/test/spec/modules/sovrnBidAdapter_spec.js
+++ b/test/spec/modules/sovrnBidAdapter_spec.js
@@ -243,7 +243,7 @@ describe('sovrnBidAdapter', function() {
it('when FLEDGE is enabled, should send ortb2imp.ext.ae', function () {
const bidderRequest = {
...baseBidderRequest,
- fledgeEnabled: true
+ paapi: {enabled: true}
}
const bidRequest = {
...baseBidRequest,
@@ -273,7 +273,9 @@ describe('sovrnBidAdapter', function() {
it('when FLEDGE is enabled, but env is malformed, should not send ortb2imp.ext.ae', function () {
const bidderRequest = {
...baseBidderRequest,
- fledgeEnabled: true
+ paapi: {
+ enabled: true
+ }
}
const bidRequest = {
...baseBidRequest,
@@ -968,9 +970,9 @@ describe('sovrnBidAdapter', function() {
it('should return valid fledge auction configs alongside bids', function () {
const result = spec.interpretResponse(fledgeResponse)
expect(result).to.have.property('bids')
- expect(result).to.have.property('fledgeAuctionConfigs')
- expect(result.fledgeAuctionConfigs.length).to.equal(2)
- expect(result.fledgeAuctionConfigs).to.deep.equal(expectedFledgeResponse)
+ expect(result).to.have.property('paapi')
+ expect(result.paapi.length).to.equal(2)
+ expect(result.paapi).to.deep.equal(expectedFledgeResponse)
})
it('should ignore empty fledge auction configs array', function () {
const result = spec.interpretResponse(emptyFledgeResponse)
diff --git a/test/spec/modules/spotxBidAdapter_spec.js b/test/spec/modules/spotxBidAdapter_spec.js
deleted file mode 100644
index ec99d0f7142..00000000000
--- a/test/spec/modules/spotxBidAdapter_spec.js
+++ /dev/null
@@ -1,711 +0,0 @@
-import {expect} from 'chai';
-import {config} from 'src/config.js';
-import {loadExternalScript} from '../../../src/adloader';
-import {isRendererRequired} from '../../../src/Renderer';
-import {spec, GOOGLE_CONSENT} from 'modules/spotxBidAdapter.js';
-
-describe('the spotx adapter', function () {
- function getValidBidObject() {
- return {
- bidId: 123,
- mediaTypes: {
- video: {
- playerSize: [['300', '200']]
- }
- },
- params: {
- channel_id: 12345,
- }
- };
- };
-
- describe('isBidRequestValid', function() {
- let bid;
-
- beforeEach(function() {
- bid = getValidBidObject();
- });
-
- it('should fail validation if the bid isn\'t defined or not an object', function() {
- let result = spec.isBidRequestValid();
-
- expect(result).to.equal(false);
-
- result = spec.isBidRequestValid('not an object');
-
- expect(result).to.equal(false);
- });
-
- it('should succeed validation with all the right parameters', function() {
- expect(spec.isBidRequestValid(getValidBidObject())).to.equal(true);
- });
-
- it('should succeed validation with mediaType and outstream_function or outstream_options', function() {
- bid.mediaType = 'video';
- bid.params.outstream_function = 'outstream_func';
-
- expect(spec.isBidRequestValid(bid)).to.equal(true);
-
- delete bid.params.outstream_function;
- bid.params.outstream_options = {
- slot: 'elemID'
- };
-
- expect(spec.isBidRequestValid(bid)).to.equal(true);
- });
-
- it('should succeed with ad_unit outstream and outstream function set', function() {
- bid.params.ad_unit = 'outstream';
- bid.params.outstream_function = function() {};
- expect(spec.isBidRequestValid(bid)).to.equal(true);
- });
-
- it('should succeed with ad_unit outstream, options set for outstream and slot provided', function() {
- bid.params.ad_unit = 'outstream';
- bid.params.outstream_options = {slot: 'ad_container_id'};
- expect(spec.isBidRequestValid(bid)).to.equal(true);
- });
-
- it('should fail without a channel_id', function() {
- delete bid.params.channel_id;
- expect(spec.isBidRequestValid(bid)).to.equal(false);
- });
-
- it('should fail without playerSize', function() {
- delete bid.mediaTypes.video.playerSize;
- expect(spec.isBidRequestValid(bid)).to.equal(false);
- });
-
- it('should fail without video', function() {
- delete bid.mediaTypes.video;
- expect(spec.isBidRequestValid(bid)).to.equal(false);
- });
-
- it('should fail with ad_unit outstream but no options set for outstream', function() {
- bid.params.ad_unit = 'outstream';
- expect(spec.isBidRequestValid(bid)).to.equal(false);
- });
-
- it('should fail with ad_unit outstream, options set for outstream but no slot provided', function() {
- bid.params.ad_unit = 'outstream';
- bid.params.outstream_options = {};
- expect(spec.isBidRequestValid(bid)).to.equal(false);
- });
- });
-
- describe('buildRequests', function() {
- let bid, bidRequestObj;
-
- beforeEach(function() {
- bid = getValidBidObject();
- bidRequestObj = {
- refererInfo: {
- page: 'prebid.js'
- }
- };
- });
-
- it('should build a very basic request', function() {
- let request = spec.buildRequests([bid], bidRequestObj)[0];
- expect(request.method).to.equal('POST');
- expect(request.url).to.equal('https://search.spotxchange.com/openrtb/2.3/dados/12345?src_sys=prebid');
- expect(request.bidRequest).to.equal(bidRequestObj);
- expect(request.data.id).to.equal(12345);
- expect(request.data.ext.wrap_response).to.equal(1);
- expect(request.data.imp.id).to.match(/\d+/);
- expect(request.data.imp.secure).to.equal(0);
- expect(request.data.imp.video).to.deep.equal({
- ext: {
- sdk_name: 'Prebid 1+',
- versionOrtb: '2.3'
- },
- h: '200',
- mimes: [
- 'application/javascript',
- 'video/mp4',
- 'video/webm'
- ],
- w: '300'
- });
- expect(request.data.site).to.deep.equal({
- content: 'content',
- id: '',
- page: 'prebid.js'
- });
- });
-
- it('should change request parameters based on options sent', function() {
- let request = spec.buildRequests([bid], bidRequestObj)[0];
- expect(request.data.imp.video.ext).to.deep.equal({
- sdk_name: 'Prebid 1+',
- versionOrtb: '2.3'
- });
-
- bid.params = {
- channel_id: 54321,
- ad_mute: 1,
- hide_skin: 1,
- ad_volume: 1,
- ad_unit: 'incontent',
- outstream_options: {foo: 'bar'},
- outstream_function: '987',
- custom: {bar: 'foo'},
- start_delay: true,
- number_of_ads: 2,
- spotx_all_google_consent: 1,
- min_duration: 5,
- max_duration: 10,
- placement_type: 1,
- position: 1
- };
-
- bid.userIdAsEids = [{
- source: 'adserver.org',
- uids: [{id: 'tdid_1', atype: 1, ext: {rtiPartner: 'TDID'}}]
- },
- {
- source: 'id5-sync.com',
- uids: [{id: 'id5id_1', ext: {}}]
- },
- {
- source: 'uidapi.com',
- uids: [{
- id: 'uid_1',
- atype: 3
- }]
- }
- ];
-
- bid.crumbs = {
- pubcid: 'pubcid_1'
- };
-
- bid.schain = {
- complete: 1,
- nodes: [
- {
- asi: 'indirectseller.com',
- sid: '00001',
- hp: 1
- }
- ]
- }
-
- request = spec.buildRequests([bid], bidRequestObj)[0];
- expect(request.data.id).to.equal(54321);
- expect(request.data.imp.video).to.contain({
- minduration: 5,
- maxduration: 10
- })
- expect(request.data.imp.video.ext).to.deep.equal({
- ad_volume: 1,
- hide_skin: 1,
- ad_unit: 'incontent',
- outstream_options: {foo: 'bar'},
- outstream_function: '987',
- custom: {bar: 'foo'},
- sdk_name: 'Prebid 1+',
- versionOrtb: '2.3',
- placement: 1,
- pos: 1
- });
-
- expect(request.data.imp.video.startdelay).to.equal(1);
- expect(request.data.ext).to.deep.equal({
- number_of_ads: 2,
- wrap_response: 1
- });
- expect(request.data.user.ext).to.deep.equal({
- consented_providers_settings: GOOGLE_CONSENT,
- eids: [{
- source: 'adserver.org',
- uids: [{
- id: 'tdid_1',
- atype: 1,
- ext: {
- rtiPartner: 'TDID'
- }
- }]
- }, {
- source: 'id5-sync.com',
- uids: [{
- id: 'id5id_1',
- ext: {}
- }]
- },
- {
- source: 'uidapi.com',
- uids: [{
- id: 'uid_1',
- atype: 3,
- ext: {
- rtiPartner: 'UID2'
- }
- }]
- }],
- fpc: 'pubcid_1'
- });
-
- expect(request.data.source).to.deep.equal({
- ext: {
- schain: {
- complete: 1,
- nodes: [
- {
- asi: 'indirectseller.com',
- sid: '00001',
- hp: 1
- }
- ]
- }
- }
- })
- });
-
- it('should process premarket bids', function() {
- let request;
- sinon.stub(Date, 'now').returns(1000);
-
- bid.params.pre_market_bids = [{
- vast_url: 'prebid.js',
- deal_id: '123abc',
- price: 12,
- currency: 'USD'
- }];
-
- request = spec.buildRequests([bid], bidRequestObj)[0];
- expect(request.data.imp.video.ext.pre_market_bids).to.deep.equal([
- {
- 'cur': 'USD',
- 'ext': {
- 'event_log': [
- {}
- ]
- },
- 'id': '123abc',
- 'seatbid': [
- {
- 'bid': [
- {
- 'adm': 'prebid.js',
- 'dealid': '123abc',
- 'impid': 1000,
- 'price': 12,
- }
- ]
- }
- ]
- }
- ]);
- Date.now.restore();
- });
-
- it('should pass GDPR params', function() {
- let request;
-
- bidRequestObj.gdprConsent = {
- consentString: 'consent123',
- gdprApplies: true
- };
-
- request = spec.buildRequests([bid], bidRequestObj)[0];
-
- expect(request.data.regs.ext.gdpr).to.equal(1);
- expect(request.data.user.ext.consent).to.equal('consent123');
- });
-
- it('should pass CCPA us_privacy string', function() {
- let request;
-
- bidRequestObj.uspConsent = '1YYY'
-
- request = spec.buildRequests([bid], bidRequestObj)[0];
- expect(request.data.regs.ext.us_privacy).to.equal('1YYY');
- });
-
- it('should pass both GDPR params and CCPA us_privacy', function() {
- let request;
-
- bidRequestObj.gdprConsent = {
- consentString: 'consent123',
- gdprApplies: true
- };
- bidRequestObj.uspConsent = '1YYY'
-
- request = spec.buildRequests([bid], bidRequestObj)[0];
- expect(request.data.regs.ext.gdpr).to.equal(1);
- expect(request.data.user.ext.consent).to.equal('consent123');
- expect(request.data.regs.ext.us_privacy).to.equal('1YYY');
- });
-
- it('should pass min and max duration params', function() {
- let request;
-
- bid.params.min_duration = 3
- bid.params.max_duration = 15
-
- request = spec.buildRequests([bid], bidRequestObj)[0];
-
- expect(request.data.imp.video.minduration).to.equal(3);
- expect(request.data.imp.video.maxduration).to.equal(15);
- });
-
- it('should pass placement_type and position params', function() {
- let request;
-
- bid.params.placement_type = 2
- bid.params.position = 5
-
- request = spec.buildRequests([bid], bidRequestObj)[0];
-
- expect(request.data.imp.video.ext.placement).to.equal(2);
- expect(request.data.imp.video.ext.pos).to.equal(5);
- });
-
- it('should pass page param and override refererInfo.referer', function() {
- let request;
-
- bid.params.page = 'https://example.com';
-
- let origGetConfig = config.getConfig;
- sinon.stub(config, 'getConfig').callsFake(function (key) {
- if (key === 'pageUrl') {
- return 'https://www.spotx.tv';
- }
- return origGetConfig.apply(config, arguments);
- });
-
- request = spec.buildRequests([bid], bidRequestObj)[0];
-
- expect(request.data.site.page).to.equal('https://example.com');
- config.getConfig.restore();
- });
-
- it('should use refererInfo.referer if no page is passed', function() {
- let request;
-
- request = spec.buildRequests([bid], bidRequestObj)[0];
-
- expect(request.data.site.page).to.equal('prebid.js');
- });
-
- it('should set ext.wrap_response to 0 when cache url is set and ignoreBidderCacheKey is true', function() {
- let request;
-
- let origGetConfig = config.getConfig;
- sinon.stub(config, 'getConfig').callsFake(function (key) {
- if (key === 'cache') {
- return {
- url: 'prebidCacheLocation',
- ignoreBidderCacheKey: true
- };
- }
- if (key === 'cache.url') {
- return 'prebidCacheLocation';
- }
- if (key === 'cache.ignoreBidderCacheKey') {
- return true;
- }
- return origGetConfig.apply(config, arguments);
- });
-
- request = spec.buildRequests([bid], bidRequestObj)[0];
-
- expect(request.data.ext.wrap_response).to.equal(0);
- config.getConfig.restore();
- });
-
- it('should pass price floor in USD from the floors module if available', function () {
- let request;
-
- bid.getFloor = function () {
- return { currency: 'USD', floor: 3 };
- }
-
- bid.params.price_floor = 2;
-
- request = spec.buildRequests([bid], bidRequestObj)[0];
-
- expect(request.data.imp.bidfloor).to.equal(3);
- });
-
- it('should not pass price floor if price floors module gives a non-USD currency', function () {
- let request;
-
- bid.getFloor = function () {
- return { currency: 'EUR', floor: 3 };
- }
-
- request = spec.buildRequests([bid], bidRequestObj)[0];
-
- expect(request.data.imp.bidfloor).to.be.undefined;
- });
-
- it('if floors module is not available, should pass price floor from price_floor param if available', function () {
- let request;
-
- bid.params.price_floor = 2;
-
- request = spec.buildRequests([bid], bidRequestObj)[0];
-
- expect(request.data.imp.bidfloor).to.equal(2);
- });
- });
-
- describe('interpretResponse', function() {
- let serverResponse, bidderRequestObj;
-
- beforeEach(function() {
- bidderRequestObj = {
- bidRequest: {
- bids: [{
- mediaTypes: {
- video: {
- playerSize: [['400', '300']]
- }
- },
- bidId: 123,
- params: {
- ad_unit: 'outstream',
- player_width: 400,
- player_height: 300,
- content_page_url: 'prebid.js',
- ad_mute: 1,
- outstream_options: {foo: 'bar'},
- outstream_function: 'function'
- }
- }, {
- mediaTypes: {
- video: {
- playerSize: [['200', '100']]
- }
- },
- bidId: 124,
- params: {
- player_width: 200,
- player_height: 100,
- content_page_url: 'prebid.js',
- ad_mute: 1,
- outstream_options: {foo: 'bar'},
- outstream_function: 'function'
- }
- }]
- }
- };
-
- serverResponse = {
- body: {
- id: 12345,
- seatbid: [{
- bid: [{
- impid: 123,
- cur: 'USD',
- price: 12,
- adomain: ['abc.com'],
- crid: 321,
- w: 400,
- h: 300,
- ext: {
- cache_key: 'cache123',
- slot: 'slot123'
- }
- }, {
- impid: 124,
- cur: 'USD',
- price: 13,
- adomain: ['def.com'],
- w: 200,
- h: 100,
- ext: {
- cache_key: 'cache124',
- slot: 'slot124'
- }
- }]
- }]
- }
- };
- });
-
- it('should return an array of bid responses', function() {
- let responses = spec.interpretResponse(serverResponse, bidderRequestObj);
- expect(responses).to.be.an('array').with.length(2);
- expect(responses[0].cache_key).to.equal('cache123');
- expect(responses[0].channel_id).to.equal(12345);
- expect(responses[0].meta.advertiserDomains[0]).to.equal('abc.com');
- expect(responses[0].cpm).to.equal(12);
- expect(responses[0].creativeId).to.equal(321);
- expect(responses[0].currency).to.equal('USD');
- expect(responses[0].height).to.equal(300);
- expect(responses[0].mediaType).to.equal('video');
- expect(responses[0].netRevenue).to.equal(true);
- expect(responses[0].requestId).to.equal(123);
- expect(responses[0].ttl).to.equal(360);
- expect(responses[0].vastUrl).to.equal('https://search.spotxchange.com/ad/vast.html?key=cache123');
- expect(responses[0].videoCacheKey).to.equal('cache123');
- expect(responses[0].width).to.equal(400);
- expect(responses[1].cache_key).to.equal('cache124');
- expect(responses[1].channel_id).to.equal(12345);
- expect(responses[1].cpm).to.equal(13);
- expect(responses[1].meta.advertiserDomains[0]).to.equal('def.com');
- expect(responses[1].creativeId).to.equal('');
- expect(responses[1].currency).to.equal('USD');
- expect(responses[1].height).to.equal(100);
- expect(responses[1].mediaType).to.equal('video');
- expect(responses[1].netRevenue).to.equal(true);
- expect(responses[1].requestId).to.equal(124);
- expect(responses[1].ttl).to.equal(360);
- expect(responses[1].vastUrl).to.equal('https://search.spotxchange.com/ad/vast.html?key=cache124');
- expect(responses[1].videoCacheKey).to.equal('cache124');
- expect(responses[1].width).to.equal(200);
- });
-
- it('should set the renderer attached to the bid to render immediately', function () {
- var renderer = spec.interpretResponse(serverResponse, bidderRequestObj)[0].renderer,
- hasRun = false;
- expect(renderer._render).to.be.a('function');
- renderer._render = () => {
- hasRun = true;
- }
- renderer.render();
- expect(hasRun).to.equal(true);
- });
-
- it('should include the url property on the renderer for Prebid Core checks', function () {
- var renderer = spec.interpretResponse(serverResponse, bidderRequestObj)[0].renderer;
- expect(isRendererRequired(renderer)).to.be.true;
- });
- });
-
- describe('outstreamRender', function() {
- let serverResponse, bidderRequestObj;
-
- beforeEach(function() {
- sinon.stub(window.document, 'getElementById').returns({
- clientWidth: 200,
- appendChild: sinon.stub().callsFake(function(script) {})
- });
- sinon.stub(window.document, 'createElement').returns({
- setAttribute: function () {}
- });
- bidderRequestObj = {
- bidRequest: {
- bids: [{
- mediaTypes: {
- video: {
- playerSize: [['400', '300']]
- }
- },
- bidId: 123,
- params: {
- ad_unit: 'outstream',
- player_width: 400,
- player_height: 300,
- content_page_url: 'prebid.js',
- outstream_options: {
- ad_mute: 1,
- foo: 'bar',
- slot: 'slot123',
- playersize_auto_adapt: true,
- custom_override: {
- digitrust_opt_out: 1,
- vast_url: 'bad_vast'
- }
- },
- }
- }]
- }
- };
-
- serverResponse = {
- body: {
- id: 12345,
- seatbid: [{
- bid: [{
- impid: 123,
- cur: 'USD',
- price: 12,
- crid: 321,
- w: 400,
- h: 300,
- ext: {
- cache_key: 'cache123',
- slot: 'slot123'
- }
- }]
- }]
- }
- };
- });
- afterEach(function () {
- window.document.getElementById.restore();
- window.document.createElement.restore();
- });
-
- it('should attempt to insert the EASI script', function() {
- window.document.getElementById.restore();
- sinon.stub(window.document, 'getElementById').returns({
- appendChild: sinon.stub().callsFake(function(script) {}),
- });
- let responses = spec.interpretResponse(serverResponse, bidderRequestObj);
- let attrs;
-
- responses[0].renderer.render(responses[0]);
- expect(loadExternalScript.called).to.be.true;
- attrs = valuesToString(loadExternalScript.args[0][4]);
-
- expect(attrs['data-spotx_channel_id']).to.equal('12345');
- expect(attrs['data-spotx_vast_url']).to.equal('https://search.spotxchange.com/ad/vast.html?key=cache123');
- expect(attrs['data-spotx_ad_unit']).to.equal('incontent');
- expect(attrs['data-spotx_collapse']).to.equal('0');
- expect(attrs['data-spotx_autoplay']).to.equal('1');
- expect(attrs['data-spotx_blocked_autoplay_override_mode']).to.equal('1');
- expect(attrs['data-spotx_video_slot_can_autoplay']).to.equal('1');
- expect(attrs['data-spotx_digitrust_opt_out']).to.equal('1');
- expect(attrs['data-spotx_content_width']).to.equal('400');
- expect(attrs['data-spotx_content_height']).to.equal('300');
- expect(attrs['data-spotx_ad_mute']).to.equal('1');
- });
-
- it('should append into an iframe', function() {
- bidderRequestObj.bidRequest.bids[0].params.outstream_options.in_iframe = 'iframeId';
- window.document.getElementById.restore();
- sinon.stub(window.document, 'getElementById').returns({
- nodeName: 'IFRAME',
- clientWidth: 200,
- appendChild: sinon.stub().callsFake(function(script) {}),
- contentDocument: {nodeName: 'IFRAME'}
- });
-
- let responses = spec.interpretResponse(serverResponse, bidderRequestObj);
- responses[0].renderer.render(responses[0]);
- expect(loadExternalScript.called).to.be.true;
- expect(loadExternalScript.args[0][3].nodeName).to.equal('IFRAME');
- });
-
- it('should adjust width and height to match slot clientWidth if playersize_auto_adapt is used', function() {
- let responses = spec.interpretResponse(serverResponse, bidderRequestObj);
-
- responses[0].renderer.render(responses[0]);
- expect(loadExternalScript.args[0][4]['data-spotx_content_width']).to.equal('200');
- expect(loadExternalScript.args[0][4]['data-spotx_content_height']).to.equal('150');
- });
-
- it('should use a default 4/3 ratio if playersize_auto_adapt is used and response does not contain width or height', function() {
- delete serverResponse.body.seatbid[0].bid[0].w;
- delete serverResponse.body.seatbid[0].bid[0].h;
- let responses = spec.interpretResponse(serverResponse, bidderRequestObj);
-
- responses[0].renderer.render(responses[0]);
- expect(loadExternalScript.args[0][4]['data-spotx_content_width']).to.equal('200');
- expect(loadExternalScript.args[0][4]['data-spotx_content_height']).to.equal('150');
- });
- });
-});
-
-function valuesToString(obj) {
- let newObj = {};
- for (let prop in obj) {
- newObj[prop] = '' + obj[prop];
- }
- return newObj;
-}
diff --git a/test/spec/modules/staqAnalyticsAdapter_spec.js b/test/spec/modules/staqAnalyticsAdapter_spec.js
deleted file mode 100644
index 3f28098e1d1..00000000000
--- a/test/spec/modules/staqAnalyticsAdapter_spec.js
+++ /dev/null
@@ -1,302 +0,0 @@
-import analyticsAdapter, { ExpiringQueue, getUmtSource, storage } from 'modules/staqAnalyticsAdapter.js';
-import { expect } from 'chai';
-import adapterManager from 'src/adapterManager.js';
-import { EVENTS } from 'src/constants.js';
-
-const events = require('../../../src/events');
-
-const DIRECT = {
- source: '(direct)',
- medium: '(direct)',
- campaign: '(direct)'
-};
-const REFERRER = {
- source: 'lander.com',
- medium: '(referral)',
- campaign: '(referral)',
- content: '/lander.html'
-};
-const GOOGLE_ORGANIC = {
- source: 'google',
- medium: '(organic)',
- campaign: '(organic)'
-};
-const CAMPAIGN = {
- source: 'adkernel',
- medium: 'email',
- campaign: 'new_campaign',
- c1: '1',
- c2: '2',
- c3: '3',
- c4: '4',
- c5: '5'
-
-};
-describe('', function() {
- let sandbox;
-
- before(function() {
- sandbox = sinon.sandbox.create();
- });
-
- after(function() {
- sandbox.restore();
- analyticsAdapter.disableAnalytics();
- });
-
- describe('UTM source parser', function() {
- let stubSetItem;
- let stubGetItem;
-
- before(function() {
- stubSetItem = sandbox.stub(storage, 'setItem');
- stubGetItem = sandbox.stub(storage, 'getItem');
- });
-
- afterEach(function() {
- sandbox.reset();
- });
-
- it('should parse first direct visit as (direct)', function() {
- stubGetItem.withArgs('adk_dpt_analytics').returns(undefined);
- stubSetItem.returns(undefined);
- let source = getUmtSource('https://example.com');
- expect(source).to.be.eql(DIRECT);
- });
-
- it('should parse visit from google as organic', function() {
- stubGetItem.withArgs('adk_dpt_analytics').returns(undefined);
- stubSetItem.returns(undefined);
- let source = getUmtSource('https://example.com', 'https://www.google.com/search?q=pikachu');
- expect(source).to.be.eql(GOOGLE_ORGANIC);
- });
-
- it('should parse referral visit', function() {
- stubGetItem.withArgs('adk_dpt_analytics').returns(undefined);
- stubSetItem.returns(undefined);
- let source = getUmtSource('https://example.com', 'https://lander.com/lander.html');
- expect(source).to.be.eql(REFERRER);
- });
-
- it('should parse referral visit from same domain as direct', function() {
- stubGetItem.withArgs('adk_dpt_analytics').returns(undefined);
- stubSetItem.returns(undefined);
- let source = getUmtSource('https://lander.com/news.html', 'https://lander.com/lander.html');
- expect(source).to.be.eql(DIRECT);
- });
-
- it('should parse campaign visit', function() {
- stubGetItem.withArgs('adk_dpt_analytics').returns(undefined);
- stubSetItem.returns(undefined);
- let source = getUmtSource('https://lander.com/index.html?utm_campaign=new_campaign&utm_source=adkernel&utm_medium=email&utm_c1=1&utm_c2=2&utm_c3=3&utm_c4=4&utm_c5=5');
- expect(source).to.be.eql(CAMPAIGN);
- });
- });
-
- describe('ExpiringQueue', function() {
- let timer;
- before(function() {
- timer = sandbox.useFakeTimers(0);
- });
- after(function() {
- timer.restore();
- });
-
- it('should notify after timeout period', (done) => {
- let queue = new ExpiringQueue(() => {
- let elements = queue.popAll();
- expect(elements).to.be.eql([1, 2, 3, 4]);
- elements = queue.popAll();
- expect(elements).to.have.lengthOf(0);
- expect(Date.now()).to.be.equal(200);
- done();
- }, 100);
-
- queue.push(1);
- setTimeout(() => {
- queue.push([2, 3]);
- timer.tick(50);
- }, 50);
- setTimeout(() => {
- queue.push([4]);
- timer.tick(100);
- }, 100);
- timer.tick(50);
- });
- });
-
- const REQUEST = {
- bidderCode: 'AppNexus',
- bidderName: 'AppNexus',
- auctionId: '5018eb39-f900-4370-b71e-3bb5b48d324f',
- bidderRequestId: '1a6fc81528d0f6',
- bids: [{
- bidder: 'AppNexus',
- params: {},
- adUnitCode: 'container-1',
- transactionId: 'de90df62-7fd0-4fbc-8787-92d133a7dc06',
- sizes: [
- [300, 250]
- ],
- bidId: '208750227436c1',
- bidderRequestId: '1a6fc81528d0f6',
- auctionId: '5018eb39-f900-4370-b71e-3bb5b48d324f'
- }],
- auctionStart: 1509369418387,
- timeout: 3000,
- start: 1509369418389
- };
-
- const RESPONSE = {
- bidderCode: 'AppNexus',
- width: 300,
- height: 250,
- statusMessage: 'Bid available',
- adId: '208750227436c1',
- mediaType: 'banner',
- cpm: 0.015,
- ad: '',
- auctionId: '5018eb39-f900-4370-b71e-3bb5b48d324f',
- responseTimestamp: 1509369418832,
- requestTimestamp: 1509369418389,
- bidder: 'AppNexus',
- adUnitCode: 'container-1',
- timeToRespond: 443,
- size: '300x250'
- };
-
- const bidTimeoutArgsV1 = [{
- bidId: '2baa51527bd015',
- bidderCode: 'AppNexus',
- adUnitCode: 'container-1',
- auctionId: '66529d4c-8998-47c2-ab3e-5b953490b98f'
- },
- {
- bidId: '6fe3b4c2c23092',
- bidderCode: 'AppNexus',
- adUnitCode: 'container-2',
- auctionId: '66529d4c-8998-47c2-ab3e-5b953490b98f'
- }];
-
- describe('Analytics adapter', function() {
- let ajaxStub;
- let timer;
-
- before(function() {
- ajaxStub = sandbox.stub(analyticsAdapter, 'ajaxCall');
- timer = sandbox.useFakeTimers(0);
- });
-
- beforeEach(function() {
- sandbox.stub(events, 'getEvents').callsFake(() => {
- return []
- });
- });
-
- afterEach(function() {
- events.getEvents.restore();
- });
-
- it('should be configurable', function() {
- adapterManager.registerAnalyticsAdapter({
- code: 'staq',
- adapter: analyticsAdapter
- });
-
- adapterManager.enableAnalytics({
- provider: 'staq',
- options: {
- connId: 777,
- queueTimeout: 1000,
- url: 'https://localhost/prebid'
- }
- });
-
- expect(analyticsAdapter.context).to.have.property('connectionId', 777);
- });
-
- it('should handle auction init event', function() {
- events.emit(EVENTS.AUCTION_INIT, { config: {}, timeout: 3000 });
- const ev = analyticsAdapter.context.queue.peekAll();
- expect(ev).to.have.length(1);
- expect(ev[0]).to.be.eql({ event: 'auctionInit', auctionId: undefined });
- });
-
- it('should handle bid request event', function() {
- events.emit(EVENTS.BID_REQUESTED, REQUEST);
- const ev = analyticsAdapter.context.queue.peekAll();
- expect(ev).to.have.length(2);
- expect(ev[1]).to.be.eql({
- adUnitCode: 'container-1',
- auctionId: '5018eb39-f900-4370-b71e-3bb5b48d324f',
- event: 'bidRequested',
- adapter: 'AppNexus',
- bidderName: 'AppNexus'
- });
- });
-
- it('should handle bid response event', function() {
- events.emit(EVENTS.BID_RESPONSE, RESPONSE);
- const ev = analyticsAdapter.context.queue.peekAll();
- expect(ev).to.have.length(3);
- expect(ev[2]).to.be.eql({
- adId: '208750227436c1',
- event: 'bidResponse',
- adapter: 'AppNexus',
- bidderName: 'AppNexus',
- auctionId: '5018eb39-f900-4370-b71e-3bb5b48d324f',
- adUnitCode: 'container-1',
- cpm: 0.015,
- timeToRespond: 0.443,
- height: 250,
- width: 300,
- bidWon: false,
- });
- });
-
- it('should handle timeouts properly', function() {
- events.emit(EVENTS.BID_TIMEOUT, bidTimeoutArgsV1);
-
- const ev = analyticsAdapter.context.queue.peekAll();
- expect(ev).to.have.length(5); // remember, we added 2 timeout events
- expect(ev[3]).to.be.eql({
- adapter: 'AppNexus',
- auctionId: '66529d4c-8998-47c2-ab3e-5b953490b98f',
- bidderName: 'AppNexus',
- event: 'adapterTimedOut'
- })
- });
-
- it('should handle winning bid', function() {
- events.emit(EVENTS.BID_WON, RESPONSE);
- const ev = analyticsAdapter.context.queue.peekAll();
- expect(ev).to.have.length(6);
- expect(ev[5]).to.be.eql({
- auctionId: '5018eb39-f900-4370-b71e-3bb5b48d324f',
- adId: '208750227436c1',
- event: 'bidWon',
- adapter: 'AppNexus',
- bidderName: 'AppNexus',
- adUnitCode: 'container-1',
- cpm: 0.015,
- height: 250,
- width: 300,
- bidWon: true,
- });
- });
-
- it('should handle auction end event', function() {
- timer.tick(447);
- events.emit(EVENTS.AUCTION_END, RESPONSE);
- let ev = analyticsAdapter.context.queue.peekAll();
- expect(ev).to.have.length(0);
- expect(ajaxStub.calledOnce).to.be.equal(true);
- let firstCallArgs0 = ajaxStub.firstCall.args[0];
- ev = JSON.parse(firstCallArgs0);
- const ev6 = ev['events'][6];
- expect(ev['connId']).to.be.eql(777);
- expect(ev6.auctionId).to.be.eql('5018eb39-f900-4370-b71e-3bb5b48d324f');
- expect(ev6.event).to.be.eql('auctionEnd');
- });
- });
-});
diff --git a/test/spec/modules/stroeerCoreBidAdapter_spec.js b/test/spec/modules/stroeerCoreBidAdapter_spec.js
index a8295c197ef..66e2b575b8b 100644
--- a/test/spec/modules/stroeerCoreBidAdapter_spec.js
+++ b/test/spec/modules/stroeerCoreBidAdapter_spec.js
@@ -169,16 +169,17 @@ describe('stroeerCore bid adapter', function () {
}
function setupSingleWindow(sandBox, placementElements = [createElement('div-1', 17), createElement('div-2', 54)]) {
- const win = createWindow('http://www.xyz.com/', {
- parent: win, top: win, frameElement: createElement(undefined, 304), placementElements: placementElements
+ let singleWin = null
+ singleWin = createWindow('http://www.xyz.com/', {
+ parent: singleWin, top: singleWin, frameElement: createElement(undefined, 304), placementElements: placementElements
});
- win.innerHeight = 200;
+ singleWin.innerHeight = 200;
- sandBox.stub(utils, 'getWindowSelf').returns(win);
- sandBox.stub(utils, 'getWindowTop').returns(win);
+ sandBox.stub(utils, 'getWindowSelf').returns(singleWin);
+ sandBox.stub(utils, 'getWindowTop').returns(singleWin);
- return win;
+ return singleWin;
}
function setupNestedWindows(sandBox, placementElements = [createElement('div-1', 17), createElement('div-2', 54)]) {
diff --git a/test/spec/modules/stvBidAdapter_spec.js b/test/spec/modules/stvBidAdapter_spec.js
index 3ef865ed2f1..099d8d33b02 100644
--- a/test/spec/modules/stvBidAdapter_spec.js
+++ b/test/spec/modules/stvBidAdapter_spec.js
@@ -30,12 +30,12 @@ describe('stvAdapter', function() {
});
it('should return false when required params are not passed', function() {
- let bid = Object.assign({}, bid);
- delete bid.params;
- bid.params = {
+ let invalidBid = Object.assign({}, bid);
+ delete invalidBid.params;
+ invalidBid.params = {
'someIncorrectParam': 0
};
- expect(spec.isBidRequestValid(bid)).to.equal(false);
+ expect(spec.isBidRequestValid(invalidBid)).to.equal(false);
});
});
diff --git a/test/spec/modules/taboolaBidAdapter_spec.js b/test/spec/modules/taboolaBidAdapter_spec.js
index 55d0731ec21..bcf388a67e2 100644
--- a/test/spec/modules/taboolaBidAdapter_spec.js
+++ b/test/spec/modules/taboolaBidAdapter_spec.js
@@ -1149,7 +1149,7 @@ describe('Taboola Adapter', function () {
},
}
],
- 'fledgeAuctionConfigs': [
+ 'paapi': [
{
'impId': request.bids[0].bidId,
'config': {
@@ -1222,7 +1222,7 @@ describe('Taboola Adapter', function () {
},
}
],
- 'fledgeAuctionConfigs': [
+ 'paapi': [
{
'impId': request.bids[0].bidId,
'config': {
diff --git a/test/spec/modules/gdprEnforcement_spec.js b/test/spec/modules/tcfControl_spec.js
similarity index 95%
rename from test/spec/modules/gdprEnforcement_spec.js
rename to test/spec/modules/tcfControl_spec.js
index 4caf0276874..bdb14f6e44e 100644
--- a/test/spec/modules/gdprEnforcement_spec.js
+++ b/test/spec/modules/tcfControl_spec.js
@@ -1,18 +1,19 @@
import {
accessDeviceRule,
+ ACTIVE_RULES,
enrichEidsRule,
fetchBidsRule,
- transmitEidsRule,
- transmitPreciseGeoRule,
getGvlid,
getGvlidFromAnalyticsAdapter,
- ACTIVE_RULES,
reportAnalyticsRule,
setEnforcementConfig,
STRICT_STORAGE_ENFORCEMENT,
- syncUserRule, ufpdRule,
+ syncUserRule,
+ transmitEidsRule,
+ transmitPreciseGeoRule,
+ ufpdRule,
validateRules
-} from 'modules/gdprEnforcement.js';
+} from 'modules/tcfControl.js';
import {config} from 'src/config.js';
import adapterManager, {gdprDataHandler} from 'src/adapterManager.js';
import * as utils from 'src/utils.js';
@@ -26,8 +27,7 @@ import * as events from 'src/events.js';
import 'modules/appnexusBidAdapter.js'; // some tests expect this to be in the adapter registry
import 'src/prebid.js';
import {hook} from '../../../src/hook.js';
-import {GDPR_GVLIDS, VENDORLESS_GVLID, FIRST_PARTY_GVLID} from '../../../src/consentHandler.js';
-import {validateStorageEnforcement} from '../../../src/storageManager.js';
+import {GDPR_GVLIDS, VENDORLESS_GVLID} from '../../../src/consentHandler.js';
import {activityParams} from '../../../src/activities/activityParams.js';
describe('gdpr enforcement', function () {
@@ -762,47 +762,52 @@ describe('gdpr enforcement', function () {
})
})
- describe('when module does not need vendor consent', () => {
+ describe('first party modules', () => {
Object.entries({
- 'storage': 1,
- 'basicAds': 2,
- 'measurement': 7,
- 'personalizedAds': 4,
- }).forEach(([purpose, purposeNo]) => {
- describe(`for purpose ${purpose}`, () => {
+ 'storage': {
+ purposeNo: 1,
+ allowsLI: false
+ },
+ 'basicAds': {
+ purposeNo: 2,
+ allowsLI: true
+ },
+ 'measurement': {
+ purposeNo: 7,
+ allowsLI: true
+ },
+ 'personalizedAds': {
+ purposeNo: 4,
+ allowsLI: false
+ },
+ }).forEach(([purpose, {purposeNo, allowsLI}]) => {
+ describe(`purpose ${purpose}`, () => {
+ let consent;
+ beforeEach(() => {
+ consent = utils.deepClone(consentData);
+ })
const rule = createGdprRule(purpose);
Object.entries({
'allowed': true,
'not allowed': false
}).forEach(([t, consentGiven]) => {
- it(`should be ${t} when purpose is ${t}`, () => {
- const consent = utils.deepClone(consentData);
- consent.vendorData.purpose.consents[purposeNo] = consentGiven;
- // take legitimate interest out of the picture for this test
- consent.vendorData.purpose.legitimateInterests = {};
+ it(`should be ${t} when publisher is ${t}`, () => {
+ consent.vendorData.publisher.consents[purposeNo] = consentGiven;
+ consent.vendorData.publisher.legitimateInterests[purposeNo] = false;
const actual = validateRules(rule, consent, 'mockModule', VENDORLESS_GVLID);
expect(actual).to.equal(consentGiven);
- })
+ });
+ })
+ it(`should ${allowsLI ? '' : 'NOT '}be allowed when publisher consent is not given, but LI is`, () => {
+ consent.vendorData.publisher.consents[purposeNo] = false;
+ consent.vendorData.publisher.legitimateInterests[purposeNo] = true;
+ const actual = validateRules(rule, consent, 'mockModule', VENDORLESS_GVLID);
+ expect(actual).to.equal(allowsLI);
})
})
})
})
- it('if validateRules is passed FIRST_PARTY_GVLID, it will use publisher.consents', () => {
- const rule = createGdprRule();
- const consentData = {
- 'vendorData': {
- 'publisher': {
- 'consents': {
- '1': true
- }
- },
- },
- };
- const result = validateRules(rule, consentData, 'cdep', FIRST_PARTY_GVLID);
- expect(result).to.equal(true);
- });
-
describe('validateRules', function () {
Object.entries({
'1 (which does not consider LI)': [1, 'storage', false],
diff --git a/test/spec/modules/teadsBidAdapter_spec.js b/test/spec/modules/teadsBidAdapter_spec.js
index 40011367ac0..8ccfdd44649 100644
--- a/test/spec/modules/teadsBidAdapter_spec.js
+++ b/test/spec/modules/teadsBidAdapter_spec.js
@@ -44,47 +44,47 @@ describe('teadsBidAdapter', () => {
});
it('should return false when pageId is not valid (letters)', function() {
- let bid = Object.assign({}, bid);
- delete bid.params;
- bid.params = {
+ let invalidBid = Object.assign({}, bid);
+ delete invalidBid.params;
+ invalidBid.params = {
'placementId': 1234,
'pageId': 'ABCD'
};
- expect(spec.isBidRequestValid(bid)).to.equal(false);
+ expect(spec.isBidRequestValid(invalidBid)).to.equal(false);
});
it('should return false when placementId is not valid (letters)', function() {
- let bid = Object.assign({}, bid);
- delete bid.params;
- bid.params = {
+ let invalidBid = Object.assign({}, bid);
+ delete invalidBid.params;
+ invalidBid.params = {
'placementId': 'FCP',
'pageId': 1234
};
- expect(spec.isBidRequestValid(bid)).to.equal(false);
+ expect(spec.isBidRequestValid(invalidBid)).to.equal(false);
});
it('should return false when placementId < 0 or pageId < 0', function() {
- let bid = Object.assign({}, bid);
- delete bid.params;
- bid.params = {
+ let invalidBid = Object.assign({}, bid);
+ delete invalidBid.params;
+ invalidBid.params = {
'placementId': -1,
'pageId': -1
};
- expect(spec.isBidRequestValid(bid)).to.equal(false);
+ expect(spec.isBidRequestValid(invalidBid)).to.equal(false);
});
it('should return false when required params are not passed', function() {
- let bid = Object.assign({}, bid);
- delete bid.params;
+ let invalidBid = Object.assign({}, bid);
+ delete invalidBid.params;
- bid.params = {
+ invalidBid.params = {
'placementId': 0
};
- expect(spec.isBidRequestValid(bid)).to.equal(false);
+ expect(spec.isBidRequestValid(invalidBid)).to.equal(false);
});
});
diff --git a/test/spec/modules/topicsFpdModule_spec.js b/test/spec/modules/topicsFpdModule_spec.js
index 4a79e7f77fd..6bc8eb1e7c3 100644
--- a/test/spec/modules/topicsFpdModule_spec.js
+++ b/test/spec/modules/topicsFpdModule_spec.js
@@ -360,9 +360,21 @@ describe('topics', () => {
}]]
);
storage.setDataInLocalStorage(topicStorageName, storedSegments);
+ config.setConfig({
+ userSync: {
+ topics: {
+ maxTopicCaller: 4,
+ bidders: [{
+ bidder: 'pubmatic',
+ iframeURL: 'https://ads.pubmatic.com/AdServer/js/topics/topics_frame.html'
+ }]
+ }
+ }
+ })
});
afterEach(() => {
sandbox.restore();
+ config.resetConfig();
});
it('should return segments for bidder if transmitUfpd is allowed', () => {
diff --git a/test/spec/modules/tpmnBidAdapter_spec.js b/test/spec/modules/tpmnBidAdapter_spec.js
index 505bc9d878f..48295e6fdff 100644
--- a/test/spec/modules/tpmnBidAdapter_spec.js
+++ b/test/spec/modules/tpmnBidAdapter_spec.js
@@ -4,7 +4,7 @@ import { generateUUID } from '../../../src/utils.js';
import { expect } from 'chai';
import * as utils from 'src/utils';
import * as sinon from 'sinon';
-import 'modules/consentManagement.js';
+import 'modules/consentManagementTcf.js';
import {syncAddFPDToBidderRequest} from '../../helpers/fpd.js';
import {mockGdprConsent} from '../../helpers/consentData.js';
diff --git a/test/spec/modules/trafficgateBidAdapter_spec.js b/test/spec/modules/trafficgateBidAdapter_spec.js
index 11ff547cc78..9c564606186 100644
--- a/test/spec/modules/trafficgateBidAdapter_spec.js
+++ b/test/spec/modules/trafficgateBidAdapter_spec.js
@@ -9,9 +9,11 @@ import 'modules/currency.js';
import 'modules/userId/index.js';
import 'modules/multibid/index.js';
import 'modules/priceFloors.js';
-import 'modules/consentManagement.js';
+import 'modules/consentManagementTcf.js';
import 'modules/consentManagementUsp.js';
import 'modules/schain.js';
+import 'modules/paapi.js';
+
import {deepClone} from 'src/utils.js';
import {syncAddFPDToBidderRequest} from '../../helpers/fpd.js';
import {hook} from '../../../src/hook.js';
@@ -193,9 +195,9 @@ describe('TrafficgateOpenxRtbAdapter', function () {
});
it('should return false when required params are not passed', function () {
- let videoBidWithMediaTypes = Object.assign({}, videoBidWithMediaTypes);
- videoBidWithMediaTypes.params = {};
- expect(spec.isBidRequestValid(videoBidWithMediaTypes)).to.equal(false);
+ let invalidVideoBidWithMediaTypes = Object.assign({}, videoBidWithMediaTypes);
+ invalidVideoBidWithMediaTypes.params = {};
+ expect(spec.isBidRequestValid(invalidVideoBidWithMediaTypes)).to.equal(false);
});
});
describe('and request config uses both host and platform', () => {
@@ -250,10 +252,10 @@ describe('TrafficgateOpenxRtbAdapter', function () {
});
it('should return false when required params are not passed', function () {
- let videoBidWithMediaType = Object.assign({}, videoBidWithMediaType);
- delete videoBidWithMediaType.params;
- videoBidWithMediaType.params = {};
- expect(spec.isBidRequestValid(videoBidWithMediaType)).to.equal(false);
+ let invalidVideoBidWithMediaTypes = Object.assign({}, videoBidWithMediaType);
+ delete invalidVideoBidWithMediaTypes.params;
+ invalidVideoBidWithMediaTypes.params = {};
+ expect(spec.isBidRequestValid(invalidVideoBidWithMediaTypes)).to.equal(false);
});
});
});
@@ -1017,7 +1019,9 @@ describe('TrafficgateOpenxRtbAdapter', function () {
it('when FLEDGE is enabled, should send whatever is set in ortb2imp.ext.ae in all bid requests', function () {
const request = spec.buildRequests(bidRequestsWithMediaTypes, {
...mockBidderRequest,
- fledgeEnabled: true
+ paapi: {
+ enabled: true
+ }
});
expect(request[0].data.imp[0].ext.ae).to.equal(2);
});
diff --git a/test/spec/modules/tripleliftBidAdapter_spec.js b/test/spec/modules/tripleliftBidAdapter_spec.js
index 09e57e29a12..216142ab02e 100644
--- a/test/spec/modules/tripleliftBidAdapter_spec.js
+++ b/test/spec/modules/tripleliftBidAdapter_spec.js
@@ -874,7 +874,7 @@ describe('triplelift adapter', function () {
expect(url).to.match(/(\?|&)us_privacy=1YYY/);
});
it('should pass fledge signal when Triplelift is eligible for fledge', function() {
- bidderRequest.fledgeEnabled = true;
+ bidderRequest.paapi = {enabled: true};
const request = tripleliftAdapterSpec.buildRequests(bidRequests, bidderRequest);
const url = request.url;
expect(url).to.match(/(\?|&)fledge=true/);
@@ -1411,11 +1411,11 @@ describe('triplelift adapter', function () {
let result = tripleliftAdapterSpec.interpretResponse(response, {bidderRequest});
expect(result).to.have.property('bids');
- expect(result).to.have.property('fledgeAuctionConfigs');
- expect(result.fledgeAuctionConfigs.length).to.equal(2);
- expect(result.fledgeAuctionConfigs[0].bidId).to.equal('30b31c1838de1e');
- expect(result.fledgeAuctionConfigs[1].bidId).to.equal('73edc0ba8de203');
- expect(result.fledgeAuctionConfigs[0].config).to.deep.equal(
+ expect(result).to.have.property('paapi');
+ expect(result.paapi.length).to.equal(2);
+ expect(result.paapi[0].bidId).to.equal('30b31c1838de1e');
+ expect(result.paapi[1].bidId).to.equal('73edc0ba8de203');
+ expect(result.paapi[0].config).to.deep.equal(
{
'seller': 'https://3lift.com',
'decisionLogicUrl': 'https://3lift.com/decision_logic.js',
@@ -1423,7 +1423,7 @@ describe('triplelift adapter', function () {
'perBuyerSignals': { 'https://some_buyer.com': { 'a': 1 } }
}
);
- expect(result.fledgeAuctionConfigs[1].config).to.deep.equal(
+ expect(result.paapi[1].config).to.deep.equal(
{
'seller': 'https://3lift.com',
'decisionLogicUrl': 'https://3lift.com/decision_logic.js',
diff --git a/test/spec/modules/truereachBidAdapter_spec.js b/test/spec/modules/truereachBidAdapter_spec.js
index cd7d0873569..78e6828147b 100644
--- a/test/spec/modules/truereachBidAdapter_spec.js
+++ b/test/spec/modules/truereachBidAdapter_spec.js
@@ -12,7 +12,6 @@ describe('truereachBidAdapterTests', function () {
bidder: 'truereach',
params: {
site_id: '0142010a-8400-1b01-72cb-a553b9000009',
- bidfloor: 0.1
}
})).to.equal(true);
});
@@ -27,8 +26,7 @@ describe('truereachBidAdapterTests', function () {
},
bidder: 'truereach',
params: {
- site_id: '0142010a-8400-1b01-72cb-a553b9000009',
- bidfloor: 0.1
+ site_id: '0142010a-8400-1b01-72cb-a553b9000009'
},
sizes: [[300, 250]]
}];
@@ -40,7 +38,6 @@ describe('truereachBidAdapterTests', function () {
expect(req_data.imp[0].id).to.equal('34ce3f3b15190a');
expect(req_data.imp[0].banner.w).to.equal(300);
expect(req_data.imp[0].banner.h).to.equal(250);
- expect(req_data.imp[0].bidfloor).to.equal(0);
});
it('validate_response_params', function () {
diff --git a/test/spec/modules/twistDigitalBidAdapter_spec.js b/test/spec/modules/twistDigitalBidAdapter_spec.js
index 7d263f6d4f0..170ff51c6fd 100644
--- a/test/spec/modules/twistDigitalBidAdapter_spec.js
+++ b/test/spec/modules/twistDigitalBidAdapter_spec.js
@@ -588,7 +588,7 @@ describe('TwistDigitalBidAdapter', function () {
it('should set fledge correctly if enabled', function () {
config.resetConfig();
const bidderRequest = utils.deepClone(BIDDER_REQUEST);
- bidderRequest.fledgeEnabled = true;
+ bidderRequest.paapi = {enabled: true};
deepSetValue(bidderRequest, 'ortb2Imp.ext.ae', 1);
const requests = adapter.buildRequests([BID], bidderRequest);
expect(requests[0].data.fledge).to.equal(1);
diff --git a/test/spec/modules/uid2IdSystem_helpers.js b/test/spec/modules/uid2IdSystem_helpers.js
index e0bef047acb..cf60b123c66 100644
--- a/test/spec/modules/uid2IdSystem_helpers.js
+++ b/test/spec/modules/uid2IdSystem_helpers.js
@@ -1,4 +1,4 @@
-import {setConsentConfig} from 'modules/consentManagement.js';
+import {setConsentConfig} from 'modules/consentManagementTcf.js';
import {server} from 'test/mocks/xhr.js';
import {coreStorage, requestBidsHook} from 'modules/userId/index.js';
diff --git a/test/spec/modules/uid2IdSystem_spec.js b/test/spec/modules/uid2IdSystem_spec.js
index 357dfdd9bea..434bca17416 100644
--- a/test/spec/modules/uid2IdSystem_spec.js
+++ b/test/spec/modules/uid2IdSystem_spec.js
@@ -3,12 +3,12 @@ import {config} from 'src/config.js';
import * as utils from 'src/utils.js';
import { uid2IdSubmodule } from 'modules/uid2IdSystem.js';
import 'src/prebid.js';
-import 'modules/consentManagement.js';
+import 'modules/consentManagementTcf.js';
import { getGlobal } from 'src/prebidGlobal.js';
import { configureTimerInterceptors } from 'test/mocks/timers.js';
import { cookieHelpers, runAuction, apiHelpers, setGdprApplies } from './uid2IdSystem_helpers.js';
import {hook} from 'src/hook.js';
-import {uninstall as uninstallGdprEnforcement} from 'modules/gdprEnforcement.js';
+import {uninstall as uninstallTcfControl} from 'modules/tcfControl.js';
import {server} from 'test/mocks/xhr';
import {createEidsArray} from '../../../modules/userId/eids.js';
@@ -93,7 +93,7 @@ describe(`UID2 module`, function () {
before(function () {
timerSpy = configureTimerInterceptors(debugOutput);
hook.ready();
- uninstallGdprEnforcement();
+ uninstallTcfControl();
attachIdSystem(uid2IdSubmodule);
suiteSandbox = sinon.sandbox.create();
diff --git a/test/spec/modules/unrulyBidAdapter_spec.js b/test/spec/modules/unrulyBidAdapter_spec.js
index abf1a54787d..662e5c0e03d 100644
--- a/test/spec/modules/unrulyBidAdapter_spec.js
+++ b/test/spec/modules/unrulyBidAdapter_spec.js
@@ -696,7 +696,9 @@ describe('UnrulyAdapter', function () {
it('should return an array with 2 items and enabled protected audience', function () {
mockBidRequests = {
'bidderCode': 'unruly',
- 'fledgeEnabled': true,
+ 'paapi': {
+ enabled: true
+ },
'bids': [
{
'bidder': 'unruly',
@@ -782,7 +784,9 @@ describe('UnrulyAdapter', function () {
it('should return an array with 2 items and enabled protected audience on only one unit', function () {
mockBidRequests = {
'bidderCode': 'unruly',
- 'fledgeEnabled': true,
+ 'paapi': {
+ enabled: true
+ },
'bids': [
{
'bidder': 'unruly',
@@ -1043,7 +1047,7 @@ describe('UnrulyAdapter', function () {
mediaType: 'video'
}
],
- 'fledgeAuctionConfigs': [{
+ 'paapi': [{
'bidId': bidId,
'config': {
'seller': 'https://nexxen.tech',
@@ -1107,7 +1111,7 @@ describe('UnrulyAdapter', function () {
expect(adapter.interpretResponse(mockServerResponse, originalRequest)).to.deep.equal({
'bids': [],
- 'fledgeAuctionConfigs': [{
+ 'paapi': [{
'bidId': bidId,
'config': {
'seller': 'https://nexxen.tech',
diff --git a/test/spec/modules/userId_spec.js b/test/spec/modules/userId_spec.js
index a5684fa5c8f..a43586605c9 100644
--- a/test/spec/modules/userId_spec.js
+++ b/test/spec/modules/userId_spec.js
@@ -21,7 +21,7 @@ import {getPrebidInternal} from 'src/utils.js';
import * as events from 'src/events.js';
import {EVENTS} from 'src/constants.js';
import {getGlobal} from 'src/prebidGlobal.js';
-import {resetConsentData} from 'modules/consentManagement.js';
+import {resetConsentData, } from 'modules/consentManagementTcf.js';
import {setEventFiredFlag as liveIntentIdSubmoduleDoNotFireEvent} from 'modules/liveIntentIdSystem.js';
import {sharedIdSystemSubmodule} from 'modules/sharedIdSystem.js';
import {pubProvidedIdSubmodule} from 'modules/pubProvidedIdSystem.js';
@@ -30,7 +30,7 @@ import 'src/prebid.js';
import {hook} from '../../../src/hook.js';
import {mockGdprConsent} from '../../helpers/consentData.js';
import {getPPID} from '../../../src/adserver.js';
-import {uninstall as uninstallGdprEnforcement} from 'modules/gdprEnforcement.js';
+import {uninstall as uninstallTcfControl} from 'modules/tcfControl.js';
import {allConsent, GDPR_GVLIDS, gdprDataHandler} from '../../../src/consentHandler.js';
import {MODULE_TYPE_UID} from '../../../src/activities/modules.js';
import {ACTIVITY_ENRICH_EIDS} from '../../../src/activities/activities.js';
@@ -154,7 +154,7 @@ describe('User ID', function () {
before(function () {
hook.ready();
- uninstallGdprEnforcement();
+ uninstallTcfControl();
localStorage.removeItem(PBJS_USER_ID_OPTOUT_NAME);
liveIntentIdSubmoduleDoNotFireEvent();
});
@@ -173,6 +173,7 @@ describe('User ID', function () {
afterEach(() => {
sandbox.restore();
+ config.resetConfig();
});
describe('GVL IDs', () => {
@@ -1310,7 +1311,6 @@ describe('User ID', function () {
coreStorage.setCookie(PBJS_USER_ID_OPTOUT_NAME, '', EXPIRED_COOKIE_DATE);
$$PREBID_GLOBAL$$.requestBids.removeAll();
utils.logInfo.restore();
- config.resetConfig();
});
it('does not fetch ids if opt out cookie exists', function () {
@@ -1340,7 +1340,6 @@ describe('User ID', function () {
afterEach(function () {
$$PREBID_GLOBAL$$.requestBids.removeAll();
utils.logInfo.restore();
- config.resetConfig();
});
it('handles config with no usersync object', function () {
@@ -1455,7 +1454,7 @@ describe('User ID', function () {
expect(auctionDelay).to.equal(100);
});
- it('config auctionDelay defaults to 0 if not a number', function () {
+ it('config auctionDelay defaults to 500 if not a number', function () {
init(config);
setSubmoduleRegistry([sharedIdSystemSubmodule]);
config.setConfig({
@@ -1467,7 +1466,7 @@ describe('User ID', function () {
}]
}
});
- expect(auctionDelay).to.equal(0);
+ expect(auctionDelay).to.equal(500);
});
describe('auction and user sync delays', function () {
@@ -1585,9 +1584,10 @@ describe('User ID', function () {
});
});
- it('does not delay auction if not set, delays id fetch after auction ends with syncDelay', function () {
+ it('does not delay auction if set to 0, delays id fetch after auction ends with syncDelay', function () {
config.setConfig({
userSync: {
+ auctionDelay: 0,
syncDelay: 77,
userIds: [{
name: 'mockId', storage: {name: 'MOCKID', type: 'cookie'}
@@ -1595,10 +1595,6 @@ describe('User ID', function () {
}
});
- // check config has been set correctly
- expect(auctionDelay).to.equal(0);
- expect(syncDelay).to.equal(77);
-
return expectImmediateBidHook(auctionSpy, {adUnits})
.then(() => {
// should not delay auction
@@ -1624,6 +1620,7 @@ describe('User ID', function () {
it('does not delay user id sync after auction ends if set to 0', function () {
config.setConfig({
userSync: {
+ auctionDelay: 0,
syncDelay: 0,
userIds: [{
name: 'mockId', storage: {name: 'MOCKID', type: 'cookie'}
@@ -1631,8 +1628,6 @@ describe('User ID', function () {
}
});
- expect(syncDelay).to.equal(0);
-
return expectImmediateBidHook(auctionSpy, {adUnits})
.then(() => {
// auction should not be delayed
@@ -2040,6 +2035,7 @@ describe('User ID', function () {
done();
}, {adUnits});
});
+
it('should add new id system ', function (done) {
coreStorage.setCookie('pubcid', 'testpubcid', (new Date(Date.now() + 5000).toUTCString()));
@@ -2137,6 +2133,12 @@ describe('User ID', function () {
describe('callbacks at the end of auction', function () {
beforeEach(function () {
+ config.setConfig({
+ // callbacks run after auction end only when auctionDelay is 0
+ userSync: {
+ auctionDelay: 0,
+ }
+ })
sinon.stub(events, 'getEvents').returns([]);
sinon.stub(utils, 'triggerPixel');
coreStorage.setCookie('pubcid', '', EXPIRED_COOKIE_DATE);
@@ -2156,17 +2158,13 @@ describe('User ID', function () {
}
it('pubcid callback with url', function () {
- let adUnits = [getAdUnitMock()];
- let innerAdUnits;
let customCfg = getConfigMock(['pubCommonId', 'pubcid', 'cookie']);
customCfg = addConfig(customCfg, 'params', {pixelUrl: '/any/pubcid/url'});
init(config);
setSubmoduleRegistry([sharedIdSystemSubmodule]);
- config.setConfig(customCfg);
- return runBidsHook((config) => {
- innerAdUnits = config.adUnits
- }, {adUnits}).then(() => {
+ config.mergeConfig(customCfg);
+ return runBidsHook({}).then(() => {
expect(utils.triggerPixel.called).to.be.false;
return endAuction();
}).then(() => {
diff --git a/test/spec/modules/utiqSystem_spec.js b/test/spec/modules/utiqIdSystem_spec.js
similarity index 86%
rename from test/spec/modules/utiqSystem_spec.js
rename to test/spec/modules/utiqIdSystem_spec.js
index afeeea7c3ea..62754d39fa3 100644
--- a/test/spec/modules/utiqSystem_spec.js
+++ b/test/spec/modules/utiqIdSystem_spec.js
@@ -1,8 +1,8 @@
import { expect } from 'chai';
-import { utiqSubmodule } from 'modules/utiqSystem.js';
-import { storage } from 'modules/utiqSystem.js';
+import { utiqIdSubmodule } from 'modules/utiqIdSystem.js';
+import { storage } from 'modules/utiqIdSystem.js';
-describe('utiqSystem', () => {
+describe('utiqIdSystem', () => {
const utiqPassKey = 'utiqPass';
const getStorageData = (idGraph) => {
@@ -17,7 +17,7 @@ describe('utiqSystem', () => {
};
it('should have the correct module name declared', () => {
- expect(utiqSubmodule.name).to.equal('utiq');
+ expect(utiqIdSubmodule.name).to.equal('utiqId');
});
describe('utiq getId()', () => {
@@ -26,13 +26,13 @@ describe('utiqSystem', () => {
});
it('it should return object with key callback', () => {
- expect(utiqSubmodule.getId()).to.have.property('callback');
+ expect(utiqIdSubmodule.getId()).to.have.property('callback');
});
it('should return object with key callback with value type - function', () => {
storage.setDataInLocalStorage(utiqPassKey, JSON.stringify(getStorageData()));
- expect(utiqSubmodule.getId()).to.have.property('callback');
- expect(typeof utiqSubmodule.getId().callback).to.be.equal('function');
+ expect(utiqIdSubmodule.getId()).to.have.property('callback');
+ expect(typeof utiqIdSubmodule.getId().callback).to.be.equal('function');
});
it('tests if localstorage & JSON works properly ', () => {
@@ -50,7 +50,7 @@ describe('utiqSystem', () => {
'atid': 'atidValue',
};
storage.setDataInLocalStorage(utiqPassKey, JSON.stringify(getStorageData(idGraph)));
- const response = utiqSubmodule.getId();
+ const response = utiqIdSubmodule.getId();
expect(response).to.have.property('id');
expect(response.id).to.have.property('utiq');
expect(response.id.utiq).to.be.equal('atidValue');
@@ -61,7 +61,7 @@ describe('utiqSystem', () => {
'domain': 'test.domain',
'atid': 'atidValue',
};
- const response = utiqSubmodule.getId();
+ const response = utiqIdSubmodule.getId();
expect(response).to.have.property('callback');
expect(response.callback.toString()).contain('result(callback)');
@@ -82,7 +82,7 @@ describe('utiqSystem', () => {
'atid': 'atidValue',
};
- const response = utiqSubmodule.getId();
+ const response = utiqIdSubmodule.getId();
expect(response).to.have.property('callback');
expect(response.callback.toString()).contain('result(callback)');
@@ -105,7 +105,7 @@ describe('utiqSystem', () => {
'atid': 'atidValue',
};
- const response = utiqSubmodule.getId({params: {maxDelayTime: 200}});
+ const response = utiqIdSubmodule.getId({params: {maxDelayTime: 200}});
expect(response).to.have.property('callback');
expect(response.callback.toString()).contain('result(callback)');
@@ -138,7 +138,7 @@ describe('utiqSystem', () => {
];
VALID_API_RESPONSES.forEach(responseData => {
it('should return a newly constructed object with the utiq for a payload with {utiq: value}', () => {
- expect(utiqSubmodule.decode(responseData.payload)).to.deep.equal(
+ expect(utiqIdSubmodule.decode(responseData.payload)).to.deep.equal(
{utiq: responseData.expected}
);
});
@@ -146,7 +146,7 @@ describe('utiqSystem', () => {
[{}, '', {foo: 'bar'}].forEach((response) => {
it(`should return null for an invalid response "${JSON.stringify(response)}"`, () => {
- expect(utiqSubmodule.decode(response)).to.be.null;
+ expect(utiqIdSubmodule.decode(response)).to.be.null;
});
});
});
@@ -177,7 +177,7 @@ describe('utiqSystem', () => {
window.dispatchEvent(new MessageEvent('message', eventData));
- const response = utiqSubmodule.getId();
+ const response = utiqIdSubmodule.getId();
expect(response).to.have.property('id');
expect(response.id).to.have.property('utiq');
expect(response.id.utiq).to.be.equal('atidValue');
diff --git a/test/spec/modules/viantOrtbBidAdapter_spec.js b/test/spec/modules/viantOrtbBidAdapter_spec.js
index 73fdb7f3dc8..271c944e6e9 100644
--- a/test/spec/modules/viantOrtbBidAdapter_spec.js
+++ b/test/spec/modules/viantOrtbBidAdapter_spec.js
@@ -259,6 +259,7 @@ describe('viantOrtbBidAdapter', function () {
'skip': 1,
'skipafter': 5,
'minduration': 10,
+ 'placement': 1,
'maxduration': 31
}
},
diff --git a/test/spec/modules/vidazooBidAdapter_spec.js b/test/spec/modules/vidazooBidAdapter_spec.js
index 5515002a054..ad5a298bb8e 100644
--- a/test/spec/modules/vidazooBidAdapter_spec.js
+++ b/test/spec/modules/vidazooBidAdapter_spec.js
@@ -21,7 +21,7 @@ import {BANNER, VIDEO} from '../../../src/mediaTypes';
import {config} from '../../../src/config';
import {deepSetValue} from 'src/utils.js';
-export const TEST_ID_SYSTEMS = ['britepoolid', 'criteoId', 'id5id', 'idl_env', 'lipb', 'netId', 'parrableId', 'pubcid', 'tdid', 'pubProvidedId'];
+export const TEST_ID_SYSTEMS = ['criteoId', 'id5id', 'idl_env', 'lipb', 'netId', 'pubcid', 'tdid', 'pubProvidedId'];
const SUB_DOMAIN = 'openrtb';
@@ -600,7 +600,7 @@ describe('VidazooBidAdapter', function () {
it('should set fledge correctly if enabled', function () {
config.resetConfig();
const bidderRequest = utils.deepClone(BIDDER_REQUEST);
- bidderRequest.fledgeEnabled = true;
+ bidderRequest.paapi = {enabled: true};
deepSetValue(bidderRequest, 'ortb2Imp.ext.ae', 1);
const requests = adapter.buildRequests([BID], bidderRequest);
expect(requests[0].data.fledge).to.equal(1);
@@ -750,8 +750,6 @@ describe('VidazooBidAdapter', function () {
switch (idSystemProvider) {
case 'lipb':
return {lipbid: id};
- case 'parrableId':
- return {eid: id};
case 'id5id':
return {uid: id};
default:
diff --git a/test/spec/modules/videoModule/submodules/videojsVideoProvider_spec.js b/test/spec/modules/videoModule/submodules/videojsVideoProvider_spec.js
index a7379ccbab2..125f608f803 100644
--- a/test/spec/modules/videoModule/submodules/videojsVideoProvider_spec.js
+++ b/test/spec/modules/videoModule/submodules/videojsVideoProvider_spec.js
@@ -6,7 +6,7 @@ import {
const {VideojsProvider, utils} = require('modules/videojsVideoProvider');
const {
- PROTOCOLS, API_FRAMEWORKS, VIDEO_MIME_TYPE, PLAYBACK_METHODS, PLACEMENT, VPAID_MIME_TYPE, AD_POSITION
+ PROTOCOLS, API_FRAMEWORKS, VIDEO_MIME_TYPE, PLAYBACK_METHODS, PLCMT, VPAID_MIME_TYPE, AD_POSITION
} = require('libraries/video/constants/ortb.js');
const videojs = require('video.js').default;
@@ -139,7 +139,7 @@ describe('videojsProvider', function () {
expect(video.playbackmethod).to.include(PLAYBACK_METHODS.CLICK_TO_PLAY);
expect(video.playbackend).to.equal(1);
expect(video.api).to.deep.equal([2]);
- expect(video.placement).to.be.equal(PLACEMENT.INSTREAM);
+ expect(video.plcmt).to.be.equal(PLCMT.ACCOMPANYING_CONTENT);
});
it('should populate oRTB Content', function () {
diff --git a/test/spec/modules/videoreachBidAdapter_spec.js b/test/spec/modules/videoreachBidAdapter_spec.js
index 67ad89eac3d..dc81ec74ff8 100644
--- a/test/spec/modules/videoreachBidAdapter_spec.js
+++ b/test/spec/modules/videoreachBidAdapter_spec.js
@@ -21,12 +21,12 @@ describe('videoreachBidAdapter', function () {
});
it('should return false when required params are not passed', function () {
- let bid = Object.assign({}, bid);
- delete bid.params;
- bid.params = {
+ let invalidBid = Object.assign({}, bid);
+ delete invalidBid.params;
+ invalidBid.params = {
'TagId': ''
};
- expect(spec.isBidRequestValid(bid)).to.equal(false);
+ expect(spec.isBidRequestValid(invalidBid)).to.equal(false);
});
});
diff --git a/test/spec/modules/vidoomyBidAdapter_spec.js b/test/spec/modules/vidoomyBidAdapter_spec.js
index 38fa872e6b8..6fd779bdb0b 100644
--- a/test/spec/modules/vidoomyBidAdapter_spec.js
+++ b/test/spec/modules/vidoomyBidAdapter_spec.js
@@ -44,9 +44,9 @@ describe('vidoomyBidAdapter', function() {
});
it('should return false when required params are not passed', function () {
- let bid = Object.assign({}, bid);
- bid.params = {};
- expect(spec.isBidRequestValid(bid)).to.equal(false);
+ let invalidBid = Object.assign({}, bid);
+ invalidBid.params = {};
+ expect(spec.isBidRequestValid(invalidBid)).to.equal(false);
});
it('should return false when mediaType is video with INSTREAM context and lacks playerSize property', function () {
diff --git a/test/spec/modules/visxBidAdapter_spec.js b/test/spec/modules/visxBidAdapter_spec.js
index f70f614b2c8..0653d7a8ce7 100755
--- a/test/spec/modules/visxBidAdapter_spec.js
+++ b/test/spec/modules/visxBidAdapter_spec.js
@@ -32,21 +32,21 @@ describe('VisxAdapter', function () {
});
it('should return false when required params are not passed', function () {
- let bid = Object.assign({}, bid);
- delete bid.params;
- bid.params = {
+ let invalidBid = Object.assign({}, bid);
+ delete invalidBid.params;
+ invalidBid.params = {
'uid': 0
};
- expect(spec.isBidRequestValid(bid)).to.equal(false);
+ expect(spec.isBidRequestValid(invalidBid)).to.equal(false);
});
it('should return false when uid can not be parsed as number', function () {
- let bid = Object.assign({}, bid);
- delete bid.params;
- bid.params = {
+ let invalidBid = Object.assign({}, bid);
+ delete invalidBid.params;
+ invalidBid.params = {
'uid': 'sdvsdv'
};
- expect(spec.isBidRequestValid(bid)).to.equal(false);
+ expect(spec.isBidRequestValid(invalidBid)).to.equal(false);
});
it('it should fail on invalid video bid', function () {
diff --git a/test/spec/modules/winrBidAdapter_spec.js b/test/spec/modules/winrBidAdapter_spec.js
index 95d1473d1cb..b0d8d72f0a1 100644
--- a/test/spec/modules/winrBidAdapter_spec.js
+++ b/test/spec/modules/winrBidAdapter_spec.js
@@ -93,22 +93,22 @@ describe('WinrAdapter', function () {
});
it('should return false when mediaType is not banner', function () {
- let bid = Object.assign({}, bid);
- delete bid.mediaTypes;
- bid.mediaTypes = {
+ let invalidBid = Object.assign({}, bid);
+ delete invalidBid.mediaTypes;
+ invalidBid.mediaTypes = {
'video': {}
};
- expect(getMediaTypeFromBid(bid)).to.not.equal('banner');
- expect(spec.isBidRequestValid(bid)).to.equal(false);
+ expect(getMediaTypeFromBid(invalidBid)).to.not.equal('banner');
+ expect(spec.isBidRequestValid(invalidBid)).to.equal(false);
});
it('should return false when required params are not passed', function () {
- let bid = Object.assign({}, bid);
- delete bid.params;
- bid.params = {
+ let invalidBid = Object.assign({}, bid);
+ delete invalidBid.params;
+ invalidBid.params = {
'placementId': 0
};
- expect(spec.isBidRequestValid(bid)).to.equal(false);
+ expect(spec.isBidRequestValid(invalidBid)).to.equal(false);
});
});
diff --git a/test/spec/modules/wipesBidAdapter_spec.js b/test/spec/modules/wipesBidAdapter_spec.js
index a458dcf69c8..a45e324f4fd 100644
--- a/test/spec/modules/wipesBidAdapter_spec.js
+++ b/test/spec/modules/wipesBidAdapter_spec.js
@@ -29,9 +29,9 @@ describe('wipesBidAdapter', function () {
});
it('should return false when require params are not passed', function () {
- let bid = Object.assign({}, bid);
- bid.params = {};
- expect(spec.isBidRequestValid(bid)).to.equal(false);
+ let invalidBid = Object.assign({}, bid);
+ invalidBid.params = {};
+ expect(spec.isBidRequestValid(invalidBid)).to.equal(false);
});
});
diff --git a/test/spec/modules/yahoosspBidAdapter_spec.js b/test/spec/modules/yahooAdsBidAdapter_spec.js
similarity index 99%
rename from test/spec/modules/yahoosspBidAdapter_spec.js
rename to test/spec/modules/yahooAdsBidAdapter_spec.js
index 40dc2b3c63b..b1d590cb806 100644
--- a/test/spec/modules/yahoosspBidAdapter_spec.js
+++ b/test/spec/modules/yahooAdsBidAdapter_spec.js
@@ -1,7 +1,7 @@
import { expect } from 'chai';
import { config } from 'src/config.js';
import { BANNER, VIDEO } from 'src/mediaTypes.js';
-import { spec } from 'modules/yahoosspBidAdapter.js';
+import { spec } from 'modules/yahooAdsBidAdapter.js';
import {createEidsArray} from '../../../modules/userId/eids';
const DEFAULT_BID_ID = '84ab500420319d';
@@ -1169,7 +1169,8 @@ describe('Yahoo Advertising Bid Adapter:', () => {
pos: undefined,
playbackmethod: undefined,
rewarded: undefined,
- placement: undefined
+ placement: undefined,
+ plcmt: undefined
});
});
@@ -1201,7 +1202,8 @@ describe('Yahoo Advertising Bid Adapter:', () => {
pos: undefined,
playbackmethod: undefined,
rewarded: undefined,
- placement: undefined
+ placement: undefined,
+ plcmt: undefined
});
});
});
@@ -1298,7 +1300,8 @@ describe('Yahoo Advertising Bid Adapter:', () => {
pos: undefined,
playbackmethod: undefined,
rewarded: undefined,
- placement: undefined
+ placement: undefined,
+ plcmt: undefined
});
});
});
@@ -1351,7 +1354,8 @@ describe('Yahoo Advertising Bid Adapter:', () => {
pos: undefined,
playbackmethod: undefined,
rewarded: undefined,
- placement: undefined
+ placement: undefined,
+ plcmt: undefined
});
});
});
@@ -1381,7 +1385,8 @@ describe('Yahoo Advertising Bid Adapter:', () => {
pos: 123456,
playbackmethod: 1,
rewarded: 1,
- placement: 1
+ placement: 1,
+ plcmt: 1
}
}
}
@@ -1410,7 +1415,8 @@ describe('Yahoo Advertising Bid Adapter:', () => {
delivery: 1,
pos: 123456,
playbackmethod: 1,
- placement: 1
+ placement: 1,
+ plcmt: 1
}
const validBidRequests = [bidRequest];
bidderRequest.bids = validBidRequests;
@@ -1430,6 +1436,7 @@ describe('Yahoo Advertising Bid Adapter:', () => {
pos: 123456,
playbackmethod: 1,
placement: 1,
+ plcmt: 1,
rewarded: undefined
});
});
diff --git a/test/spec/modules/yieldoneBidAdapter_spec.js b/test/spec/modules/yieldoneBidAdapter_spec.js
index a10247411db..4664f77216d 100644
--- a/test/spec/modules/yieldoneBidAdapter_spec.js
+++ b/test/spec/modules/yieldoneBidAdapter_spec.js
@@ -34,9 +34,9 @@ describe('yieldoneBidAdapter', function() {
});
it('should return false when require params are not passed', function () {
- let bid = Object.assign({}, bid);
- bid.params = {};
- expect(spec.isBidRequestValid(bid)).to.equal(false);
+ let invalidBid = Object.assign({}, bid);
+ invalidBid.params = {};
+ expect(spec.isBidRequestValid(invalidBid)).to.equal(false);
});
});
diff --git a/test/spec/ortbConverter/gdpr_spec.js b/test/spec/ortbConverter/gdpr_spec.js
index 78fd1830438..65be8c5ebbe 100644
--- a/test/spec/ortbConverter/gdpr_spec.js
+++ b/test/spec/ortbConverter/gdpr_spec.js
@@ -1,4 +1,4 @@
-import {setOrtbAdditionalConsent} from '../../../modules/consentManagement.js';
+import {setOrtbAdditionalConsent} from '../../../modules/consentManagementTcf.js';
describe('pbjs -> ortb addtlConsent', () => {
it('sets ConsentedProvidersSettings', () => {
diff --git a/test/spec/ortbConverter/pbsExtensions/params_spec.js b/test/spec/ortbConverter/pbsExtensions/params_spec.js
index 73b92a0755d..d1b36c18b49 100644
--- a/test/spec/ortbConverter/pbsExtensions/params_spec.js
+++ b/test/spec/ortbConverter/pbsExtensions/params_spec.js
@@ -34,63 +34,5 @@ describe('pbjs -> ortb bid params to imp[].ext.prebid.BIDDER', () => {
it('has no effect if bidRequest has no params', () => {
expect(setParams({bidder: 'mockBidder'})).to.eql({});
- })
-
- describe('when adapter provides transformBidParams', () => {
- let transform, bidderRequest;
- beforeEach(() => {
- bidderRequest = {bidderCode: 'mockBidder'};
- transform = sinon.stub().callsFake((p) => Object.assign({transformed: true}, p));
- bidderRegistry.mockBidder = {
- getSpec() {
- return {
- transformBidParams: transform
- }
- }
- }
- })
-
- it('runs params through transform', () => {
- expect(setParams({bidder: 'mockBidder', params: {a: 'param'}}, {bidderRequest})).to.eql({
- ext: {
- prebid: {
- bidder: {
- mockBidder: {
- a: 'param',
- transformed: true
- }
- }
- }
- }
- });
- });
-
- it('runs through transform even if bid has no params', () => {
- expect(setParams({bidder: 'mockBidder'}, {bidderRequest})).to.eql({
- ext: {
- prebid: {
- bidder: {
- mockBidder: {
- transformed: true
- }
- }
- }
- }
- })
- })
-
- it('by default, passes adUnit from index, bidderRequest from context', () => {
- const params = {a: 'param'};
- setParams({bidder: 'mockBidder', params}, {bidderRequest});
- sinon.assert.calledWith(transform, params, true, adUnit, [bidderRequest])
- });
-
- it('uses provided adUnit, bidderRequests', () => {
- const adUnit = {code: 'other-ad-unit'};
- const bidderRequests = [{bidderCode: 'one'}, {bidderCode: 'two'}];
- const params = {a: 'param'};
- setParams({bidder: 'mockBidder', params}, {}, {adUnit, bidderRequests});
- sinon.assert.calledWith(transform, params, true, adUnit, bidderRequests);
- })
});
});
diff --git a/test/spec/ortbConverter/video_spec.js b/test/spec/ortbConverter/video_spec.js
index 8ac6d8b4d08..ab4034bb60a 100644
--- a/test/spec/ortbConverter/video_spec.js
+++ b/test/spec/ortbConverter/video_spec.js
@@ -30,7 +30,6 @@ describe('pbjs -> ortb video conversion', () => {
h: 2,
mimes: ['video/mp4'],
skip: 1,
- placement: 1,
},
},
},
diff --git a/test/spec/unit/core/bidderFactory_spec.js b/test/spec/unit/core/bidderFactory_spec.js
index ef6d1de0b30..56668759db6 100644
--- a/test/spec/unit/core/bidderFactory_spec.js
+++ b/test/spec/unit/core/bidderFactory_spec.js
@@ -1510,39 +1510,29 @@ describe('bidderFactory', () => {
paapiStub = sinon.stub();
});
- const PAAPI_PROPS = ['fledgeAuctionConfigs', 'paapi'];
-
- it(`should not accept both ${PAAPI_PROPS.join(' and ')}`, () => {
- expect(() => {
- runBidder(Object.fromEntries(PAAPI_PROPS.map(prop => [prop, [paapiConfig]])))
- }).to.throw();
- })
+ describe(`when response has paapi`, () => {
+ it('should call paapi config hook with auction configs', function () {
+ runBidder({
+ bids: bids,
+ paapi: [paapiConfig]
+ });
+ expect(paapiStub.calledOnce).to.equal(true);
+ sinon.assert.calledWith(paapiStub, bidRequest.bids[0], paapiConfig);
+ sinon.assert.calledWith(addBidResponseStub, 'mock/placement', sinon.match(bids[0]));
+ });
- PAAPI_PROPS.forEach(paapiProp => {
- describe(`using ${paapiProp}`, () => {
- it('should call paapi config hook with auction configs', function() {
+ Object.entries({
+ 'missing': undefined,
+ 'an empty array': []
+ }).forEach(([t, bids]) => {
+ it(`should call paapi config hook with PAAPI configs even when bids is ${t}`, function () {
runBidder({
- bids: bids,
- [paapiProp]: [paapiConfig]
- })
- expect(paapiStub.calledOnce).to.equal(true);
- sinon.assert.calledWith(paapiStub, bidRequest.bids[0], paapiConfig);
- sinon.assert.calledWith(addBidResponseStub, 'mock/placement', sinon.match(bids[0]));
- })
-
- Object.entries({
- 'missing': undefined,
- 'an empty array': []
- }).forEach(([t, bids]) => {
- it(`should call paapi config hook with PAAPI configs even when bids is ${t}`, function() {
- runBidder({
- bids,
- [paapiProp]: [paapiConfig]
- })
- expect(paapiStub.calledOnce).to.be.true;
- sinon.assert.calledWith(paapiStub, bidRequest.bids[0], paapiConfig);
- expect(addBidResponseStub.calledOnce).to.equal(false);
+ bids,
+ paapi: [paapiConfig]
});
+ expect(paapiStub.calledOnce).to.be.true;
+ sinon.assert.calledWith(paapiStub, bidRequest.bids[0], paapiConfig);
+ expect(addBidResponseStub.calledOnce).to.equal(false);
});
});
});
diff --git a/test/spec/unit/core/targeting_spec.js b/test/spec/unit/core/targeting_spec.js
index 54ea942e373..f6cfeededd3 100644
--- a/test/spec/unit/core/targeting_spec.js
+++ b/test/spec/unit/core/targeting_spec.js
@@ -1,5 +1,6 @@
import {expect} from 'chai';
import {
+ getGPTSlotsForAdUnits,
filters,
getHighestCpmBidsFromBidPool,
sortByDealAndPriceBucketOrCpm,
@@ -1310,6 +1311,17 @@ describe('targeting tests', function () {
describe('setTargetingForAst', function () {
let sandbox,
apnTagStub;
+
+ before(() => {
+ if (window.apntag?.setKeywords == null) {
+ const orig = window.apntag;
+ window.apntag = {setKeywords: () => {}}
+ after(() => {
+ window.apntag = orig;
+ })
+ }
+ });
+
beforeEach(function() {
sandbox = sinon.createSandbox();
sandbox.stub(targetingInstance, 'resetPresetTargetingAST');
@@ -1346,4 +1358,62 @@ describe('targeting tests', function () {
expect(apnTagStub.getCall(1).args[1]).to.deep.equal({HB_BIDDER: 'appnexus'});
});
});
+
+ describe('getGPTSlotsForAdUnits', () => {
+ function mockSlot(path, elId) {
+ return {
+ getAdUnitPath() {
+ return path;
+ },
+ getSlotElementId() {
+ return elId;
+ }
+ }
+ }
+
+ let slots;
+
+ beforeEach(() => {
+ slots = [
+ mockSlot('slot/1', 'div-1'),
+ mockSlot('slot/2', 'div-2'),
+ ]
+ });
+
+ Object.entries({
+ 'ad unit path': ['slot/1', 'slot/2'],
+ 'element id': ['div-1', 'div-2']
+ }).forEach(([t, adUnitCodes]) => {
+ it(`can find slots by ${t}`, () => {
+ expect(getGPTSlotsForAdUnits(adUnitCodes, null, () => slots)).to.eql(Object.fromEntries(adUnitCodes.map((au, i) => [au, [slots[i]]])));
+ })
+ });
+
+ it('returns empty list on no match', () => {
+ expect(getGPTSlotsForAdUnits(['missing', 'slot/2'], null, () => slots)).to.eql({
+ missing: [],
+ 'slot/2': [slots[1]]
+ });
+ });
+
+ it('can use customSlotMatching', () => {
+ const csm = (slot) => {
+ if (slot.getAdUnitPath() === 'slot/1') {
+ return (au) => {
+ return au === 'custom'
+ }
+ }
+ }
+ expect(getGPTSlotsForAdUnits(['div-2', 'custom'], csm, () => slots)).to.eql({
+ 'custom': [slots[0]],
+ 'div-2': [slots[1]]
+ })
+ });
+
+ it('can handle repeated adUnitCodes', () => {
+ expect(getGPTSlotsForAdUnits(['div-1', 'div-1'], null, () => slots)).to.eql({
+ 'div-1': [slots[0]]
+ })
+ })
+ })
});
diff --git a/test/spec/unit/pbjs_api_spec.js b/test/spec/unit/pbjs_api_spec.js
index 94643f34a05..962ba1b0178 100644
--- a/test/spec/unit/pbjs_api_spec.js
+++ b/test/spec/unit/pbjs_api_spec.js
@@ -1,26 +1,25 @@
import {
+ createBidReceived,
getAdServerTargeting,
+ getAdUnits,
getBidRequests,
getBidResponses,
getBidResponsesFromAPI,
getTargetingKeys,
- getTargetingKeysBidLandscape,
- getAdUnits,
- createBidReceived
+ getTargetingKeysBidLandscape
} from 'test/fixtures/fixtures.js';
-import { auctionManager, newAuctionManager } from 'src/auctionManager.js';
-import { targeting, newTargeting, filters } from 'src/targeting.js';
-import { config as configObj } from 'src/config.js';
+import {auctionManager, newAuctionManager} from 'src/auctionManager.js';
+import {filters, newTargeting, targeting} from 'src/targeting.js';
+import {config as configObj} from 'src/config.js';
import * as ajaxLib from 'src/ajax.js';
import * as auctionModule from 'src/auction.js';
-import { registerBidder } from 'src/adapters/bidderFactory.js';
-import {resizeRemoteCreative} from 'src/secureCreatives.js';
+import {resetAuctionState} from 'src/auction.js';
+import {registerBidder} from 'src/adapters/bidderFactory.js';
import {find} from 'src/polyfill.js';
import * as pbjsModule from 'src/prebid.js';
+import $$PREBID_GLOBAL$$ from 'src/prebid.js';
import {hook} from '../../../src/hook.js';
import {reset as resetDebugging} from '../../../src/debugging.js';
-import $$PREBID_GLOBAL$$ from 'src/prebid.js';
-import {resetAuctionState} from 'src/auction.js';
import {stubAuctionIndex} from '../../helpers/indexStub.js';
import {createBid} from '../../../src/bidfactory.js';
import {enrichFPD} from '../../../src/fpd/enrichment.js';
@@ -2503,6 +2502,52 @@ describe('Unit: Prebid Module', function () {
}
});
+ if (FEATURES.NATIVE) {
+ Object.entries({
+ missing: {},
+ negative: {id: -1},
+ 'not an integer': {id: 1.23},
+ NaN: {id: 'garbage'}
+ }).forEach(([t, props]) => {
+ it(`should reject native ortb when asset ID is ${t}`, () => {
+ const adUnit = {
+ code: 'au',
+ mediaTypes: {
+ native: {
+ ortb: {
+ assets: [props]
+ }
+ }
+ },
+ bids: [{bidder: 'appnexus'}]
+ };
+ $$PREBID_GLOBAL$$.requestBids({
+ adUnits: [adUnit]
+ });
+ expect(auctionArgs.adUnits[0].bids.length).to.equal(0);
+ });
+ });
+
+ ['sendTargetingKeys', 'types'].forEach(key => {
+ it(`should reject native that includes both ortb and ${key}`, () => {
+ const adUnit = {
+ code: 'au',
+ mediaTypes: {
+ native: {
+ ortb: {},
+ [key]: {}
+ }
+ },
+ bids: [{bidder: 'appnexus'}]
+ };
+ $$PREBID_GLOBAL$$.requestBids({
+ adUnits: [adUnit]
+ });
+ expect(auctionArgs.adUnits[0].bids.length).to.equal(0);
+ })
+ });
+ }
+
it('should throw error message and remove adUnit if adUnit.bids is not defined correctly', function () {
const adUnits = [{
code: 'ad-unit-1',
diff --git a/test/test_deps.js b/test/test_deps.js
index c8a3bcc9426..3f0f766b457 100644
--- a/test/test_deps.js
+++ b/test/test_deps.js
@@ -19,3 +19,4 @@ require('test/helpers/prebidGlobal.js');
require('test/mocks/adloaderStub.js');
require('test/mocks/xhr.js');
require('test/mocks/analyticsStub.js');
+require('test/mocks/ortbConverter.js')
diff --git a/webpack.conf.js b/webpack.conf.js
index 1035e985b22..5b0d864045e 100644
--- a/webpack.conf.js
+++ b/webpack.conf.js
@@ -126,7 +126,6 @@ module.exports = {
})
);
const core = path.resolve('./src');
- const paapiMod = path.resolve('./modules/paapi.js');
return Object.assign(libraries, {
core: {
@@ -135,16 +134,6 @@ module.exports = {
return module.resource && module.resource.startsWith(core);
}
},
- paapi: {
- // fledgeForGpt imports paapi to keep backwards compat for NPM consumers
- // this makes the paapi module its own chunk, pulled in by both paapi and fledgeForGpt entry points,
- // to avoid duplication
- // TODO: remove this in prebid 9
- name: 'chunk-paapi',
- test: (module) => {
- return module.resource === paapiMod;
- }
- }
}, {
default: false,
defaultVendors: false