prebid.js 10.2.0 → 10.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/scripts/codepath-notification +1 -0
- package/creative/renderers/display/renderer.js +3 -4
- package/dist/chunks/1plusXRtdProvider.js +1 -1
- package/dist/chunks/33acrossAnalyticsAdapter.js +1 -1
- package/dist/chunks/33acrossBidAdapter.js +1 -1
- package/dist/chunks/33acrossBidAdapter.metadata.js +1 -1
- package/dist/chunks/33acrossIdSystem.js +1 -1
- package/dist/chunks/33acrossIdSystem.metadata.js +1 -1
- package/dist/chunks/acuityadsBidAdapter.metadata.js +1 -1
- package/dist/chunks/adagioAnalyticsAdapter.js +1 -1
- package/dist/chunks/adagioBidAdapter.js +1 -1
- package/dist/chunks/adagioBidAdapter.metadata.js +1 -1
- package/dist/chunks/adagioRtdProvider.metadata.js +1 -1
- package/dist/chunks/adagioUtils.js +1 -1
- package/dist/chunks/addefendBidAdapter.js +1 -1
- package/dist/chunks/addefendBidAdapter.metadata.js +1 -1
- package/dist/chunks/adfBidAdapter.metadata.js +1 -1
- package/dist/chunks/adfusionBidAdapter.metadata.js +1 -1
- package/dist/chunks/adgenerationBidAdapter.js +1 -1
- package/dist/chunks/adheseBidAdapter.metadata.js +1 -1
- package/dist/chunks/adkernelAdnBidAdapter.metadata.js +1 -1
- package/dist/chunks/adkernelBidAdapter.metadata.js +1 -1
- package/dist/chunks/adlooxRtdProvider.js +1 -1
- package/dist/chunks/admaticBidAdapter.metadata.js +1 -1
- package/dist/chunks/admixerBidAdapter.js +1 -1
- package/dist/chunks/admixerBidAdapter.metadata.js +1 -1
- package/dist/chunks/admixerIdSystem.metadata.js +1 -1
- package/dist/chunks/adnowBidAdapter.metadata.js +1 -1
- package/dist/chunks/adnuntiusBidAdapter.metadata.js +1 -1
- package/dist/chunks/adnuntiusRtdProvider.metadata.js +1 -1
- package/dist/chunks/adotBidAdapter.metadata.js +1 -1
- package/dist/chunks/adponeBidAdapter.metadata.js +1 -1
- package/dist/chunks/adqueryBidAdapter.js +1 -1
- package/dist/chunks/adqueryBidAdapter.metadata.js +1 -1
- package/dist/chunks/adqueryIdSystem.metadata.js +1 -1
- package/dist/chunks/adrelevantisBidAdapter.js +1 -1
- package/dist/chunks/adrinoBidAdapter.metadata.js +1 -1
- package/dist/chunks/ads_interactiveBidAdapter.metadata.js +1 -1
- package/dist/chunks/adstirBidAdapter.js +1 -1
- package/dist/chunks/adtargetBidAdapter.metadata.js +1 -1
- package/dist/chunks/adtelligentBidAdapter.metadata.js +1 -1
- package/dist/chunks/adtelligentIdSystem.metadata.js +1 -1
- package/dist/chunks/adtrgtmeBidAdapter.js +1 -1
- package/dist/chunks/aduptechBidAdapter.metadata.js +1 -1
- package/dist/chunks/advertisingBidAdapter.js +1 -1
- package/dist/chunks/adxcgAnalyticsAdapter.js +1 -1
- package/dist/chunks/adxcgBidAdapter.js +1 -1
- package/dist/chunks/adyoulikeBidAdapter.js +1 -1
- package/dist/chunks/adyoulikeBidAdapter.metadata.js +1 -1
- package/dist/chunks/agmaAnalyticsAdapter.js +1 -1
- package/dist/chunks/aidemBidAdapter.metadata.js +1 -1
- package/dist/chunks/airgridRtdProvider.metadata.js +1 -1
- package/dist/chunks/ajaBidAdapter.js +1 -1
- package/dist/chunks/alkimiBidAdapter.metadata.js +1 -1
- package/dist/chunks/ampliffyBidAdapter.metadata.js +1 -1
- package/dist/chunks/amxBidAdapter.js +1 -1
- package/dist/chunks/amxBidAdapter.metadata.js +1 -1
- package/dist/chunks/amxIdSystem.js +1 -1
- package/dist/chunks/amxIdSystem.metadata.js +1 -1
- package/dist/chunks/aniviewBidAdapter.js +1 -1
- package/dist/chunks/aniviewBidAdapter.metadata.js +1 -1
- package/dist/chunks/anonymisedRtdProvider.metadata.js +1 -1
- package/dist/chunks/appierAnalyticsAdapter.js +1 -1
- package/dist/chunks/appierBidAdapter.metadata.js +1 -1
- package/dist/chunks/appnexusBidAdapter.js +1 -1
- package/dist/chunks/appnexusBidAdapter.metadata.js +1 -1
- package/dist/chunks/appnexusUtils.js +1 -1
- package/dist/chunks/appushBidAdapter.metadata.js +1 -1
- package/dist/chunks/apstreamBidAdapter.metadata.js +1 -1
- package/dist/chunks/asoBidAdapter.js +1 -1
- package/dist/chunks/audiencerunBidAdapter.metadata.js +1 -1
- package/dist/chunks/axisBidAdapter.metadata.js +1 -1
- package/dist/chunks/axonixBidAdapter.js +1 -1
- package/dist/chunks/azerionedgeRtdProvider.metadata.js +1 -1
- package/dist/chunks/beopBidAdapter.js +1 -1
- package/dist/chunks/beopBidAdapter.metadata.js +1 -1
- package/dist/chunks/betweenBidAdapter.metadata.js +1 -1
- package/dist/chunks/bidglassBidAdapter.js +1 -1
- package/dist/chunks/bidmaticBidAdapter.metadata.js +1 -1
- package/dist/chunks/bidtheatreBidAdapter.metadata.js +1 -1
- package/dist/chunks/big-richmediaBidAdapter.js +1 -1
- package/dist/chunks/bitmediaBidAdapter.js +1 -1
- package/dist/chunks/bliinkBidAdapter.metadata.js +1 -1
- package/dist/chunks/blockthroughBidAdapter.js +1 -1
- package/dist/chunks/blockthroughBidAdapter.metadata.js +1 -1
- package/dist/chunks/blueBidAdapter.metadata.js +1 -1
- package/dist/chunks/bmsBidAdapter.metadata.js +1 -1
- package/dist/chunks/bmtmBidAdapter.js +1 -1
- package/dist/chunks/boldwinBidAdapter.metadata.js +1 -1
- package/dist/chunks/bridBidAdapter.js +1 -1
- package/dist/chunks/bridBidAdapter.metadata.js +1 -1
- package/dist/chunks/bridgewellBidAdapter.js +1 -1
- package/dist/chunks/browsiBidAdapter.metadata.js +1 -1
- package/dist/chunks/bucksenseBidAdapter.metadata.js +1 -1
- package/dist/chunks/carodaBidAdapter.js +1 -1
- package/dist/chunks/carodaBidAdapter.metadata.js +1 -1
- package/dist/chunks/categoryTranslation.metadata.js +1 -1
- package/dist/chunks/ccxBidAdapter.metadata.js +1 -1
- package/dist/chunks/ceeIdSystem.metadata.js +1 -1
- package/dist/chunks/chromeAiRtdProvider.metadata.js +1 -1
- package/dist/chunks/chtnwBidAdapter.js +1 -1
- package/dist/chunks/chunk-core.js +1 -1
- package/dist/chunks/compassBidAdapter.metadata.js +1 -1
- package/dist/chunks/conceptxBidAdapter.metadata.js +1 -1
- package/dist/chunks/concertBidAdapter.js +1 -1
- package/dist/chunks/connatixBidAdapter.metadata.js +1 -1
- package/dist/chunks/connectIdSystem.metadata.js +1 -1
- package/dist/chunks/connectadBidAdapter.js +1 -1
- package/dist/chunks/connectadBidAdapter.metadata.js +1 -1
- package/dist/chunks/consumableBidAdapter.js +1 -1
- package/dist/chunks/contentexchangeBidAdapter.metadata.js +1 -1
- package/dist/chunks/contxtfulBidAdapter.js +1 -1
- package/dist/chunks/conversantBidAdapter.js +1 -1
- package/dist/chunks/conversantBidAdapter.metadata.js +1 -1
- package/dist/chunks/copper6sspBidAdapter.metadata.js +1 -1
- package/dist/chunks/cpmstarBidAdapter.metadata.js +1 -1
- package/dist/chunks/craftBidAdapter.js +1 -1
- package/dist/chunks/creative-renderer-display.js +1 -1
- package/dist/chunks/criteoBidAdapter.js +1 -1
- package/dist/chunks/criteoBidAdapter.metadata.js +1 -1
- package/dist/chunks/criteoIdSystem.metadata.js +1 -1
- package/dist/chunks/cryptoUtils.js +1 -0
- package/dist/chunks/cwireBidAdapter.js +1 -1
- package/dist/chunks/cwireBidAdapter.metadata.js +1 -1
- package/dist/chunks/czechAdIdSystem.metadata.js +1 -1
- package/dist/chunks/dailymotionBidAdapter.js +1 -1
- package/dist/chunks/dailymotionBidAdapter.metadata.js +1 -1
- package/dist/chunks/debugging-standalone.js +1 -1
- package/dist/chunks/debugging.metadata.js +1 -1
- package/dist/chunks/deepintentBidAdapter.metadata.js +1 -1
- package/dist/chunks/deltaprojectsBidAdapter.metadata.js +1 -1
- package/dist/chunks/dependencies.json +13 -0
- package/dist/chunks/dianomiBidAdapter.metadata.js +1 -1
- package/dist/chunks/digitalMatterBidAdapter.metadata.js +1 -1
- package/dist/chunks/distroscaleBidAdapter.metadata.js +1 -1
- package/dist/chunks/docereeAdManagerBidAdapter.metadata.js +1 -1
- package/dist/chunks/docereeBidAdapter.metadata.js +1 -1
- package/dist/chunks/dspxBidAdapter.js +1 -1
- package/dist/chunks/dspxBidAdapter.metadata.js +1 -1
- package/dist/chunks/dxkultureBidAdapter.js +1 -1
- package/dist/chunks/e_volutionBidAdapter.metadata.js +1 -1
- package/dist/chunks/edge226BidAdapter.metadata.js +1 -1
- package/dist/chunks/eplanningBidAdapter.js +1 -1
- package/dist/chunks/equativBidAdapter.js +1 -1
- package/dist/chunks/equativBidAdapter.metadata.js +1 -1
- package/dist/chunks/eskimiBidAdapter.js +1 -1
- package/dist/chunks/eskimiBidAdapter.metadata.js +1 -1
- package/dist/chunks/etargetBidAdapter.metadata.js +1 -1
- package/dist/chunks/euidIdSystem.js +1 -1
- package/dist/chunks/euidIdSystem.metadata.js +1 -1
- package/dist/chunks/exadsBidAdapter.js +1 -1
- package/dist/chunks/exadsBidAdapter.metadata.js +1 -1
- package/dist/chunks/excoBidAdapter.js +1 -1
- package/dist/chunks/feedadBidAdapter.js +1 -1
- package/dist/chunks/feedadBidAdapter.metadata.js +1 -1
- package/dist/chunks/finativeBidAdapter.js +1 -1
- package/dist/chunks/fwsspBidAdapter.metadata.js +1 -1
- package/dist/chunks/gamoshiBidAdapter.metadata.js +1 -1
- package/dist/chunks/getintentBidAdapter.js +1 -1
- package/dist/chunks/glomexBidAdapter.metadata.js +1 -1
- package/dist/chunks/gmosspBidAdapter.js +1 -1
- package/dist/chunks/goldbachBidAdapter.metadata.js +1 -1
- package/dist/chunks/greenbidsAnalyticsAdapter.js +1 -1
- package/dist/chunks/greenbidsBidAdapter.js +1 -1
- package/dist/chunks/greenbidsBidAdapter.metadata.js +1 -1
- package/dist/chunks/greenbidsRtdProvider.js +1 -1
- package/dist/chunks/gridBidAdapter.js +1 -1
- package/dist/chunks/gridBidAdapter.metadata.js +1 -1
- package/dist/chunks/gumgumBidAdapter.js +1 -1
- package/dist/chunks/gumgumBidAdapter.metadata.js +1 -1
- package/dist/chunks/h12mediaBidAdapter.js +1 -1
- package/dist/chunks/hadronIdSystem.metadata.js +1 -1
- package/dist/chunks/hadronRtdProvider.metadata.js +1 -1
- package/dist/chunks/holidBidAdapter.metadata.js +1 -1
- package/dist/chunks/hybridBidAdapter.metadata.js +1 -1
- package/dist/chunks/hypelabBidAdapter.js +1 -1
- package/dist/chunks/iasRtdProvider.js +1 -1
- package/dist/chunks/id5AnalyticsAdapter.js +1 -1
- package/dist/chunks/id5IdSystem.js +1 -1
- package/dist/chunks/id5IdSystem.metadata.js +1 -1
- package/dist/chunks/identityLinkIdSystem.metadata.js +1 -1
- package/dist/chunks/illuminBidAdapter.metadata.js +1 -1
- package/dist/chunks/impactifyBidAdapter.metadata.js +1 -1
- package/dist/chunks/improvedigitalBidAdapter.js +1 -1
- package/dist/chunks/improvedigitalBidAdapter.metadata.js +1 -1
- package/dist/chunks/inmobiBidAdapter.js +1 -1
- package/dist/chunks/inmobiBidAdapter.metadata.js +1 -1
- package/dist/chunks/innityBidAdapter.metadata.js +1 -1
- package/dist/chunks/insticatorBidAdapter.js +1 -1
- package/dist/chunks/insticatorBidAdapter.metadata.js +1 -1
- package/dist/chunks/intentIqAnalyticsAdapter.js +1 -1
- package/dist/chunks/intentIqIdSystem.metadata.js +1 -1
- package/dist/chunks/invibesBidAdapter.metadata.js +1 -1
- package/dist/chunks/ipromBidAdapter.metadata.js +1 -1
- package/dist/chunks/ixBidAdapter.js +1 -1
- package/dist/chunks/ixBidAdapter.metadata.js +1 -1
- package/dist/chunks/jixieBidAdapter.js +1 -1
- package/dist/chunks/justIdSystem.metadata.js +1 -1
- package/dist/chunks/justpremiumBidAdapter.js +1 -1
- package/dist/chunks/justpremiumBidAdapter.metadata.js +1 -1
- package/dist/chunks/jwplayerBidAdapter.metadata.js +1 -1
- package/dist/chunks/jwplayerRtdProvider.js +1 -1
- package/dist/chunks/jwplayerVideoProvider.js +1 -1
- package/dist/chunks/kargoBidAdapter.js +1 -1
- package/dist/chunks/kargoBidAdapter.metadata.js +1 -1
- package/dist/chunks/kimberliteBidAdapter.js +1 -1
- package/dist/chunks/kubientBidAdapter.js +1 -1
- package/dist/chunks/kubientBidAdapter.metadata.js +1 -1
- package/dist/chunks/kueezRtbBidAdapter.metadata.js +1 -1
- package/dist/chunks/lassoBidAdapter.js +1 -1
- package/dist/chunks/lifestreetBidAdapter.js +1 -1
- package/dist/chunks/limelightDigitalBidAdapter.metadata.js +1 -1
- package/dist/chunks/liveIntentId.js +1 -1
- package/dist/chunks/liveIntentIdSystem.metadata.js +1 -1
- package/dist/chunks/liveIntentRtdProvider.metadata.js +1 -1
- package/dist/chunks/livewrappedBidAdapter.metadata.js +1 -1
- package/dist/chunks/logicadBidAdapter.js +1 -1
- package/dist/chunks/loopmeBidAdapter.metadata.js +1 -1
- package/dist/chunks/lotamePanoramaIdSystem.metadata.js +1 -1
- package/dist/chunks/luceadBidAdapter.js +1 -1
- package/dist/chunks/luceadBidAdapter.metadata.js +1 -1
- package/dist/chunks/luponmediaBidAdapter.metadata.js +1 -1
- package/dist/chunks/mabidderBidAdapter.js +1 -1
- package/dist/chunks/madsenseBidAdapter.js +1 -1
- package/dist/chunks/madvertiseBidAdapter.metadata.js +1 -1
- package/dist/chunks/magniteAnalyticsAdapter.js +1 -1
- package/dist/chunks/malltvAnalyticsAdapter.js +1 -1
- package/dist/chunks/marsmediaBidAdapter.js +1 -1
- package/dist/chunks/marsmediaBidAdapter.metadata.js +1 -1
- package/dist/chunks/mediaConsortiumBidAdapter.metadata.js +1 -1
- package/dist/chunks/mediaforceBidAdapter.metadata.js +1 -1
- package/dist/chunks/mediafuseBidAdapter.js +1 -1
- package/dist/chunks/mediafuseBidAdapter.metadata.js +1 -1
- package/dist/chunks/mediagoBidAdapter.metadata.js +1 -1
- package/dist/chunks/mediakeysBidAdapter.metadata.js +1 -1
- package/dist/chunks/medianetBidAdapter.js +1 -1
- package/dist/chunks/medianetBidAdapter.metadata.js +1 -1
- package/dist/chunks/medianetUtils.js +1 -1
- package/dist/chunks/mediasquareBidAdapter.js +1 -1
- package/dist/chunks/mediasquareBidAdapter.metadata.js +1 -1
- package/dist/chunks/mgidBidAdapter.js +1 -1
- package/dist/chunks/mgidBidAdapter.metadata.js +1 -1
- package/dist/chunks/mgidRtdProvider.metadata.js +1 -1
- package/dist/chunks/mgidXBidAdapter.metadata.js +1 -1
- package/dist/chunks/minutemediaBidAdapter.metadata.js +1 -1
- package/dist/chunks/missenaBidAdapter.js +1 -1
- package/dist/chunks/missenaBidAdapter.metadata.js +1 -1
- package/dist/chunks/mobianRtdProvider.metadata.js +1 -1
- package/dist/chunks/mobilefuseBidAdapter.js +1 -1
- package/dist/chunks/mobilefuseBidAdapter.metadata.js +1 -1
- package/dist/chunks/mobkoiBidAdapter.metadata.js +1 -1
- package/dist/chunks/mobkoiIdSystem.metadata.js +1 -1
- package/dist/chunks/nativeryBidAdapter.metadata.js +1 -1
- package/dist/chunks/nativoBidAdapter.metadata.js +1 -1
- package/dist/chunks/newspassidBidAdapter.metadata.js +1 -1
- package/dist/chunks/nextMillenniumBidAdapter.js +1 -1
- package/dist/chunks/nextMillenniumBidAdapter.metadata.js +1 -1
- package/dist/chunks/nextrollBidAdapter.metadata.js +1 -1
- package/dist/chunks/nexx360BidAdapter.metadata.js +1 -1
- package/dist/chunks/nexx360Utils.js +1 -1
- package/dist/chunks/nobidAnalyticsAdapter.js +1 -1
- package/dist/chunks/nobidBidAdapter.js +1 -1
- package/dist/chunks/nobidBidAdapter.metadata.js +1 -1
- package/dist/chunks/nodalsAiRtdProvider.js +1 -1
- package/dist/chunks/nodalsAiRtdProvider.metadata.js +1 -1
- package/dist/chunks/novatiqIdSystem.metadata.js +1 -1
- package/dist/chunks/oguryBidAdapter.js +1 -1
- package/dist/chunks/oguryBidAdapter.metadata.js +1 -1
- package/dist/chunks/omsBidAdapter.metadata.js +1 -1
- package/dist/chunks/onetagBidAdapter.js +1 -1
- package/dist/chunks/onetagBidAdapter.metadata.js +1 -1
- package/dist/chunks/ooloAnalyticsAdapter.js +1 -1
- package/dist/chunks/openwebBidAdapter.metadata.js +1 -1
- package/dist/chunks/openxBidAdapter.js +1 -1
- package/dist/chunks/openxBidAdapter.metadata.js +1 -1
- package/dist/chunks/operaadsBidAdapter.metadata.js +1 -1
- package/dist/chunks/optidigitalBidAdapter.js +1 -1
- package/dist/chunks/optidigitalBidAdapter.metadata.js +1 -1
- package/dist/chunks/optoutBidAdapter.metadata.js +1 -1
- package/dist/chunks/orbidderBidAdapter.js +1 -1
- package/dist/chunks/orbidderBidAdapter.metadata.js +1 -1
- package/dist/chunks/outbrainBidAdapter.js +1 -1
- package/dist/chunks/outbrainBidAdapter.metadata.js +1 -1
- package/dist/chunks/ozoneBidAdapter.metadata.js +1 -1
- package/dist/chunks/pairIdSystem.metadata.js +1 -1
- package/dist/chunks/performaxBidAdapter.metadata.js +1 -1
- package/dist/chunks/pgamsspBidAdapter.metadata.js +1 -1
- package/dist/chunks/pixfutureBidAdapter.js +1 -1
- package/dist/chunks/pixfutureBidAdapter.metadata.js +1 -1
- package/dist/chunks/playdigoBidAdapter.metadata.js +1 -1
- package/dist/chunks/prebid-core.metadata.js +1 -1
- package/dist/chunks/precisoBidAdapter.metadata.js +1 -1
- package/dist/chunks/prismaBidAdapter.metadata.js +1 -1
- package/dist/chunks/programmaticXBidAdapter.metadata.js +1 -1
- package/dist/chunks/proxistoreBidAdapter.metadata.js +1 -1
- package/dist/chunks/publinkIdSystem.js +1 -1
- package/dist/chunks/publinkIdSystem.metadata.js +1 -1
- package/dist/chunks/pubmaticAnalyticsAdapter.js +1 -1
- package/dist/chunks/pubmaticBidAdapter.js +1 -1
- package/dist/chunks/pubmaticBidAdapter.metadata.js +1 -1
- package/dist/chunks/pubmaticIdSystem.metadata.js +1 -1
- package/dist/chunks/pubwiseAnalyticsAdapter.js +1 -1
- package/dist/chunks/pubxaiAnalyticsAdapter.js +1 -1
- package/dist/chunks/pulsepointBidAdapter.js +1 -1
- package/dist/chunks/pulsepointBidAdapter.metadata.js +1 -1
- package/dist/chunks/pwbidBidAdapter.metadata.js +1 -1
- package/dist/chunks/pxyzBidAdapter.js +1 -1
- package/dist/chunks/qtBidAdapter.metadata.js +1 -1
- package/dist/chunks/quantcastBidAdapter.js +1 -1
- package/dist/chunks/quantcastBidAdapter.metadata.js +1 -1
- package/dist/chunks/quantcastIdSystem.metadata.js +1 -1
- package/dist/chunks/r2b2BidAdapter.metadata.js +1 -1
- package/dist/chunks/raynRtdProvider.metadata.js +1 -1
- package/dist/chunks/readpeakBidAdapter.js +1 -1
- package/dist/chunks/readpeakBidAdapter.metadata.js +1 -1
- package/dist/chunks/relaidoBidAdapter.js +1 -1
- package/dist/chunks/relayBidAdapter.metadata.js +1 -1
- package/dist/chunks/relevantdigitalBidAdapter.metadata.js +1 -1
- package/dist/chunks/resetdigitalBidAdapter.metadata.js +1 -1
- package/dist/chunks/responsiveAdsBidAdapter.metadata.js +1 -1
- package/dist/chunks/retailspotBidAdapter.js +1 -1
- package/dist/chunks/retailspotBidAdapter.metadata.js +1 -1
- package/dist/chunks/revcontentBidAdapter.metadata.js +1 -1
- package/dist/chunks/rhythmoneBidAdapter.js +1 -1
- package/dist/chunks/rhythmoneBidAdapter.metadata.js +1 -1
- package/dist/chunks/richaudienceBidAdapter.metadata.js +1 -1
- package/dist/chunks/riseBidAdapter.metadata.js +1 -1
- package/dist/chunks/riseUtils.js +1 -1
- package/dist/chunks/rixengineBidAdapter.metadata.js +1 -1
- package/dist/chunks/rtbhouseBidAdapter.metadata.js +1 -1
- package/dist/chunks/rubiconBidAdapter.js +1 -1
- package/dist/chunks/rubiconBidAdapter.metadata.js +1 -1
- package/dist/chunks/rumbleBidAdapter.js +1 -0
- package/dist/chunks/rumbleBidAdapter.metadata.js +1 -0
- package/dist/chunks/scatteredBidAdapter.metadata.js +1 -1
- package/dist/chunks/seedingAllianceBidAdapter.js +1 -1
- package/dist/chunks/seedingAllianceBidAdapter.metadata.js +1 -1
- package/dist/chunks/seedtagBidAdapter.js +1 -1
- package/dist/chunks/seedtagBidAdapter.metadata.js +1 -1
- package/dist/chunks/semantiqRtdProvider.metadata.js +1 -1
- package/dist/chunks/setupadBidAdapter.metadata.js +1 -1
- package/dist/chunks/sevioBidAdapter.js +1 -0
- package/dist/chunks/sevioBidAdapter.metadata.js +1 -0
- package/dist/chunks/sharedIdSystem.metadata.js +1 -1
- package/dist/chunks/sharethroughAnalyticsAdapter.js +1 -1
- package/dist/chunks/sharethroughBidAdapter.js +1 -1
- package/dist/chunks/sharethroughBidAdapter.metadata.js +1 -1
- package/dist/chunks/showheroes-bsBidAdapter.js +1 -1
- package/dist/chunks/showheroes-bsBidAdapter.metadata.js +1 -1
- package/dist/chunks/silvermobBidAdapter.metadata.js +1 -1
- package/dist/chunks/sirdataRtdProvider.metadata.js +1 -1
- package/dist/chunks/slimcutBidAdapter.metadata.js +1 -1
- package/dist/chunks/smaatoBidAdapter.js +1 -1
- package/dist/chunks/smaatoBidAdapter.metadata.js +1 -1
- package/dist/chunks/smartadserverBidAdapter.js +1 -1
- package/dist/chunks/smartadserverBidAdapter.metadata.js +1 -1
- package/dist/chunks/smartxBidAdapter.js +1 -1
- package/dist/chunks/smartxBidAdapter.metadata.js +1 -1
- package/dist/chunks/smartyadsBidAdapter.metadata.js +1 -1
- package/dist/chunks/smilewantedBidAdapter.js +1 -1
- package/dist/chunks/smilewantedBidAdapter.metadata.js +1 -1
- package/dist/chunks/snigelBidAdapter.js +1 -1
- package/dist/chunks/snigelBidAdapter.metadata.js +1 -1
- package/dist/chunks/sonaradsBidAdapter.js +1 -1
- package/dist/chunks/sonaradsBidAdapter.metadata.js +1 -1
- package/dist/chunks/sonobiBidAdapter.js +1 -1
- package/dist/chunks/sonobiBidAdapter.metadata.js +1 -1
- package/dist/chunks/sovrnBidAdapter.js +1 -1
- package/dist/chunks/sovrnBidAdapter.metadata.js +1 -1
- package/dist/chunks/sparteoBidAdapter.js +1 -1
- package/dist/chunks/sparteoBidAdapter.metadata.js +1 -1
- package/dist/chunks/ssmasBidAdapter.metadata.js +1 -1
- package/dist/chunks/sspBCBidAdapter.js +1 -1
- package/dist/chunks/sspBCBidAdapter.metadata.js +1 -1
- package/dist/chunks/stackadaptBidAdapter.metadata.js +1 -1
- package/dist/chunks/startioBidAdapter.metadata.js +1 -1
- package/dist/chunks/stroeerCoreBidAdapter.metadata.js +1 -1
- package/dist/chunks/stvBidAdapter.js +1 -1
- package/dist/chunks/stvBidAdapter.metadata.js +1 -1
- package/dist/chunks/sublimeBidAdapter.js +1 -1
- package/dist/chunks/sublimeBidAdapter.metadata.js +1 -1
- package/dist/chunks/taboolaBidAdapter.js +1 -1
- package/dist/chunks/taboolaBidAdapter.metadata.js +1 -1
- package/dist/chunks/taboolaIdSystem.metadata.js +1 -1
- package/dist/chunks/tappxBidAdapter.js +1 -1
- package/dist/chunks/tappxBidAdapter.metadata.js +1 -1
- package/dist/chunks/targetVideoBidAdapter.js +1 -1
- package/dist/chunks/targetVideoBidAdapter.metadata.js +1 -1
- package/dist/chunks/teadsBidAdapter.js +1 -1
- package/dist/chunks/teadsBidAdapter.metadata.js +1 -1
- package/dist/chunks/teadsIdSystem.metadata.js +1 -1
- package/dist/chunks/tealBidAdapter.metadata.js +1 -1
- package/dist/chunks/terceptAnalyticsAdapter.js +1 -1
- package/dist/chunks/themoneytizerBidAdapter.js +1 -1
- package/dist/chunks/themoneytizerBidAdapter.metadata.js +1 -1
- package/dist/chunks/tncIdSystem.metadata.js +1 -1
- package/dist/chunks/topicsFpdModule.metadata.js +1 -1
- package/dist/chunks/trionBidAdapter.js +1 -1
- package/dist/chunks/tripleliftBidAdapter.js +1 -1
- package/dist/chunks/tripleliftBidAdapter.metadata.js +1 -1
- package/dist/chunks/ttdBidAdapter.js +1 -1
- package/dist/chunks/ttdBidAdapter.metadata.js +1 -1
- package/dist/chunks/twistDigitalBidAdapter.metadata.js +1 -1
- package/dist/chunks/ucfunnelAnalyticsAdapter.js +1 -1
- package/dist/chunks/uid2IdSystem.js +1 -1
- package/dist/chunks/underdogmediaBidAdapter.js +1 -1
- package/dist/chunks/underdogmediaBidAdapter.metadata.js +1 -1
- package/dist/chunks/undertoneBidAdapter.js +1 -1
- package/dist/chunks/undertoneBidAdapter.metadata.js +1 -1
- package/dist/chunks/unifiedIdSystem.metadata.js +1 -1
- package/dist/chunks/unrulyBidAdapter.js +1 -1
- package/dist/chunks/unrulyBidAdapter.metadata.js +1 -1
- package/dist/chunks/userId.js +1 -1
- package/dist/chunks/userId.metadata.js +1 -1
- package/dist/chunks/validationFpdModule.metadata.js +1 -1
- package/dist/chunks/vidazooBidAdapter.metadata.js +1 -1
- package/dist/chunks/vidazooUtils.js +1 -1
- package/dist/chunks/videobyteBidAdapter.js +1 -1
- package/dist/chunks/vidoomyBidAdapter.metadata.js +1 -1
- package/dist/chunks/viewdeosDXBidAdapter.metadata.js +1 -1
- package/dist/chunks/viouslyBidAdapter.metadata.js +1 -1
- package/dist/chunks/visxBidAdapter.js +1 -1
- package/dist/chunks/visxBidAdapter.metadata.js +1 -1
- package/dist/chunks/vlybyBidAdapter.metadata.js +1 -1
- package/dist/chunks/voxBidAdapter.metadata.js +1 -1
- package/dist/chunks/vrtcalBidAdapter.metadata.js +1 -1
- package/dist/chunks/vuukleBidAdapter.js +1 -1
- package/dist/chunks/vuukleBidAdapter.metadata.js +1 -1
- package/dist/chunks/weboramaRtdProvider.js +1 -1
- package/dist/chunks/weboramaRtdProvider.metadata.js +1 -1
- package/dist/chunks/welectBidAdapter.metadata.js +1 -1
- package/dist/chunks/widespaceBidAdapter.js +1 -1
- package/dist/chunks/winrBidAdapter.js +1 -1
- package/dist/chunks/yahooAdsBidAdapter.js +1 -1
- package/dist/chunks/yahooAdsBidAdapter.metadata.js +1 -1
- package/dist/chunks/yandexBidAdapter.js +1 -1
- package/dist/chunks/yieldlabBidAdapter.metadata.js +1 -1
- package/dist/chunks/yieldliftBidAdapter.metadata.js +1 -1
- package/dist/chunks/yieldloveBidAdapter.metadata.js +1 -1
- package/dist/chunks/yieldmoBidAdapter.js +1 -1
- package/dist/chunks/yieldmoBidAdapter.metadata.js +1 -1
- package/dist/chunks/yieldoneAnalyticsAdapter.js +1 -1
- package/dist/chunks/zeotapIdPlusIdSystem.metadata.js +1 -1
- package/dist/chunks/zeta_globalBidAdapter.metadata.js +1 -1
- package/dist/chunks/zeta_global_sspBidAdapter.metadata.js +1 -1
- package/dist/not-for-prod/prebid.js +443 -438
- package/dist/src/creative/renderers/display/renderer.js +3 -4
- package/dist/src/creative/renderers/display/renderer.js.map +1 -1
- package/dist/src/libraries/adagioUtils/adagioUtils.js +1 -1
- package/dist/src/libraries/analyticsAdapter/AnalyticsAdapter.js.map +1 -1
- package/dist/src/libraries/appnexusUtils/anKeywords.js +15 -1
- package/dist/src/libraries/appnexusUtils/anKeywords.js.map +1 -1
- package/dist/src/libraries/consentManagement/cmUtils.js.map +1 -1
- package/dist/src/libraries/creative-renderer-display/renderer.d.ts +1 -1
- package/dist/src/libraries/creative-renderer-display/renderer.js +1 -1
- package/dist/src/libraries/creative-renderer-display/renderer.js.map +1 -1
- package/dist/src/libraries/cryptoUtils/wallets.js +14 -0
- package/dist/src/libraries/cryptoUtils/wallets.js.map +1 -0
- package/dist/src/libraries/dspxUtils/bidderUtils.js.map +1 -1
- package/dist/src/libraries/impUtils.js +36 -0
- package/dist/src/libraries/impUtils.js.map +1 -0
- package/dist/src/libraries/liveIntentId/externalIdSystem.js +1 -1
- package/dist/src/libraries/liveIntentId/idSystem.js +1 -1
- package/dist/src/libraries/medianetUtils/constants.js +1 -1
- package/dist/src/libraries/nexx360Utils/index.js +1 -1
- package/dist/src/libraries/nexx360Utils/index.js.map +1 -1
- package/dist/src/libraries/ortbConverter/converter.js.map +1 -1
- package/dist/src/libraries/riseUtils/index.js +1 -1
- package/dist/src/libraries/vidazooUtils/bidderUtils.js +1 -1
- package/dist/src/libraries/video/constants/events.js.map +1 -1
- package/dist/src/metadata/modules/33acrossBidAdapter.js +1 -1
- package/dist/src/metadata/modules/33acrossIdSystem.js +1 -1
- package/dist/src/metadata/modules/acuityadsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adagioBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adagioRtdProvider.js +1 -1
- package/dist/src/metadata/modules/addefendBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adfBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adfusionBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adheseBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adkernelAdnBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adkernelBidAdapter.js +1 -1
- package/dist/src/metadata/modules/admaticBidAdapter.js +1 -1
- package/dist/src/metadata/modules/admixerBidAdapter.js +1 -1
- package/dist/src/metadata/modules/admixerIdSystem.js +1 -1
- package/dist/src/metadata/modules/adnowBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adnuntiusBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adnuntiusRtdProvider.js +1 -1
- package/dist/src/metadata/modules/adotBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adponeBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adqueryBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adqueryIdSystem.js +1 -1
- package/dist/src/metadata/modules/adrinoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/ads_interactiveBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adtargetBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adtelligentBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adtelligentIdSystem.js +1 -1
- package/dist/src/metadata/modules/aduptechBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adyoulikeBidAdapter.js +1 -1
- package/dist/src/metadata/modules/aidemBidAdapter.js +1 -1
- package/dist/src/metadata/modules/airgridRtdProvider.js +1 -1
- package/dist/src/metadata/modules/alkimiBidAdapter.js +1 -1
- package/dist/src/metadata/modules/ampliffyBidAdapter.js +1 -1
- package/dist/src/metadata/modules/amxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/amxIdSystem.js +1 -1
- package/dist/src/metadata/modules/aniviewBidAdapter.js +1 -1
- package/dist/src/metadata/modules/anonymisedRtdProvider.js +1 -1
- package/dist/src/metadata/modules/appierBidAdapter.js +1 -1
- package/dist/src/metadata/modules/appnexusBidAdapter.js +1 -1
- package/dist/src/metadata/modules/appushBidAdapter.js +1 -1
- package/dist/src/metadata/modules/apstreamBidAdapter.js +1 -1
- package/dist/src/metadata/modules/audiencerunBidAdapter.js +1 -1
- package/dist/src/metadata/modules/axisBidAdapter.js +1 -1
- package/dist/src/metadata/modules/azerionedgeRtdProvider.js +1 -1
- package/dist/src/metadata/modules/beopBidAdapter.js +1 -1
- package/dist/src/metadata/modules/betweenBidAdapter.js +1 -1
- package/dist/src/metadata/modules/bidmaticBidAdapter.js +1 -1
- package/dist/src/metadata/modules/bidtheatreBidAdapter.js +1 -1
- package/dist/src/metadata/modules/bliinkBidAdapter.js +1 -1
- package/dist/src/metadata/modules/blockthroughBidAdapter.js +1 -1
- package/dist/src/metadata/modules/blueBidAdapter.js +1 -1
- package/dist/src/metadata/modules/bmsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/boldwinBidAdapter.js +1 -1
- package/dist/src/metadata/modules/bridBidAdapter.js +1 -1
- package/dist/src/metadata/modules/browsiBidAdapter.js +1 -1
- package/dist/src/metadata/modules/bucksenseBidAdapter.js +1 -1
- package/dist/src/metadata/modules/carodaBidAdapter.js +1 -1
- package/dist/src/metadata/modules/categoryTranslation.js +1 -1
- package/dist/src/metadata/modules/ccxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/ceeIdSystem.js +1 -1
- package/dist/src/metadata/modules/chromeAiRtdProvider.js +1 -1
- package/dist/src/metadata/modules/compassBidAdapter.js +1 -1
- package/dist/src/metadata/modules/conceptxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/connatixBidAdapter.js +1 -1
- package/dist/src/metadata/modules/connectIdSystem.js +1 -1
- package/dist/src/metadata/modules/connectadBidAdapter.js +1 -1
- package/dist/src/metadata/modules/contentexchangeBidAdapter.js +1 -1
- package/dist/src/metadata/modules/conversantBidAdapter.js +1 -1
- package/dist/src/metadata/modules/copper6sspBidAdapter.js +1 -1
- package/dist/src/metadata/modules/cpmstarBidAdapter.js +1 -1
- package/dist/src/metadata/modules/criteoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/criteoIdSystem.js +1 -1
- package/dist/src/metadata/modules/cwireBidAdapter.js +1 -1
- package/dist/src/metadata/modules/czechAdIdSystem.js +1 -1
- package/dist/src/metadata/modules/dailymotionBidAdapter.js +1 -1
- package/dist/src/metadata/modules/debugging.js +1 -1
- package/dist/src/metadata/modules/deepintentBidAdapter.js +1 -1
- package/dist/src/metadata/modules/deltaprojectsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/dianomiBidAdapter.js +1 -1
- package/dist/src/metadata/modules/digitalMatterBidAdapter.js +1 -1
- package/dist/src/metadata/modules/distroscaleBidAdapter.js +1 -1
- package/dist/src/metadata/modules/docereeAdManagerBidAdapter.js +1 -1
- package/dist/src/metadata/modules/docereeBidAdapter.js +1 -1
- package/dist/src/metadata/modules/dspxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/e_volutionBidAdapter.js +1 -1
- package/dist/src/metadata/modules/edge226BidAdapter.js +1 -1
- package/dist/src/metadata/modules/equativBidAdapter.js +1 -1
- package/dist/src/metadata/modules/eskimiBidAdapter.js +1 -1
- package/dist/src/metadata/modules/etargetBidAdapter.js +1 -1
- package/dist/src/metadata/modules/euidIdSystem.js +1 -1
- package/dist/src/metadata/modules/exadsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/feedadBidAdapter.js +1 -1
- package/dist/src/metadata/modules/fwsspBidAdapter.js +1 -1
- package/dist/src/metadata/modules/gamoshiBidAdapter.js +1 -1
- package/dist/src/metadata/modules/glomexBidAdapter.js +1 -1
- package/dist/src/metadata/modules/goldbachBidAdapter.js +1 -1
- package/dist/src/metadata/modules/greenbidsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/gridBidAdapter.js +1 -1
- package/dist/src/metadata/modules/gumgumBidAdapter.js +1 -1
- package/dist/src/metadata/modules/hadronIdSystem.js +1 -1
- package/dist/src/metadata/modules/hadronRtdProvider.js +1 -1
- package/dist/src/metadata/modules/holidBidAdapter.js +1 -1
- package/dist/src/metadata/modules/hybridBidAdapter.js +1 -1
- package/dist/src/metadata/modules/id5IdSystem.js +1 -1
- package/dist/src/metadata/modules/identityLinkIdSystem.js +1 -1
- package/dist/src/metadata/modules/illuminBidAdapter.js +1 -1
- package/dist/src/metadata/modules/impactifyBidAdapter.js +1 -1
- package/dist/src/metadata/modules/improvedigitalBidAdapter.js +1 -1
- package/dist/src/metadata/modules/inmobiBidAdapter.js +1 -1
- package/dist/src/metadata/modules/innityBidAdapter.js +1 -1
- package/dist/src/metadata/modules/insticatorBidAdapter.js +1 -1
- package/dist/src/metadata/modules/intentIqIdSystem.js +1 -1
- package/dist/src/metadata/modules/invibesBidAdapter.js +1 -1
- package/dist/src/metadata/modules/ipromBidAdapter.js +1 -1
- package/dist/src/metadata/modules/ixBidAdapter.js +1 -1
- package/dist/src/metadata/modules/justIdSystem.js +1 -1
- package/dist/src/metadata/modules/justpremiumBidAdapter.js +1 -1
- package/dist/src/metadata/modules/jwplayerBidAdapter.js +1 -1
- package/dist/src/metadata/modules/kargoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/kubientBidAdapter.js +1 -1
- package/dist/src/metadata/modules/kueezRtbBidAdapter.js +1 -1
- package/dist/src/metadata/modules/limelightDigitalBidAdapter.js +1 -1
- package/dist/src/metadata/modules/liveIntentIdSystem.js +1 -1
- package/dist/src/metadata/modules/liveIntentRtdProvider.js +1 -1
- package/dist/src/metadata/modules/livewrappedBidAdapter.js +1 -1
- package/dist/src/metadata/modules/loopmeBidAdapter.js +1 -1
- package/dist/src/metadata/modules/lotamePanoramaIdSystem.js +1 -1
- package/dist/src/metadata/modules/luceadBidAdapter.js +1 -1
- package/dist/src/metadata/modules/luponmediaBidAdapter.js +1 -1
- package/dist/src/metadata/modules/madvertiseBidAdapter.js +1 -1
- package/dist/src/metadata/modules/marsmediaBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mediaConsortiumBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mediaforceBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mediafuseBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mediagoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mediakeysBidAdapter.js +1 -1
- package/dist/src/metadata/modules/medianetBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mediasquareBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mgidBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mgidRtdProvider.js +1 -1
- package/dist/src/metadata/modules/mgidXBidAdapter.js +1 -1
- package/dist/src/metadata/modules/minutemediaBidAdapter.js +1 -1
- package/dist/src/metadata/modules/missenaBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mobianRtdProvider.js +1 -1
- package/dist/src/metadata/modules/mobilefuseBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mobkoiBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mobkoiIdSystem.js +1 -1
- package/dist/src/metadata/modules/nativeryBidAdapter.js +1 -1
- package/dist/src/metadata/modules/nativoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/newspassidBidAdapter.js +1 -1
- package/dist/src/metadata/modules/nextMillenniumBidAdapter.js +1 -1
- package/dist/src/metadata/modules/nextrollBidAdapter.js +1 -1
- package/dist/src/metadata/modules/nexx360BidAdapter.js +1 -1
- package/dist/src/metadata/modules/nobidBidAdapter.js +1 -1
- package/dist/src/metadata/modules/nodalsAiRtdProvider.js +1 -1
- package/dist/src/metadata/modules/novatiqIdSystem.js +1 -1
- package/dist/src/metadata/modules/oguryBidAdapter.js +1 -1
- package/dist/src/metadata/modules/omsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/onetagBidAdapter.js +1 -1
- package/dist/src/metadata/modules/openwebBidAdapter.js +1 -1
- package/dist/src/metadata/modules/openxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/operaadsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/optidigitalBidAdapter.js +1 -1
- package/dist/src/metadata/modules/optoutBidAdapter.js +1 -1
- package/dist/src/metadata/modules/orbidderBidAdapter.js +1 -1
- package/dist/src/metadata/modules/outbrainBidAdapter.js +1 -1
- package/dist/src/metadata/modules/ozoneBidAdapter.js +1 -1
- package/dist/src/metadata/modules/pairIdSystem.js +1 -1
- package/dist/src/metadata/modules/performaxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/pgamsspBidAdapter.js +1 -1
- package/dist/src/metadata/modules/pixfutureBidAdapter.js +1 -1
- package/dist/src/metadata/modules/playdigoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/prebid-core.js +1 -1
- package/dist/src/metadata/modules/precisoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/prismaBidAdapter.js +1 -1
- package/dist/src/metadata/modules/programmaticXBidAdapter.js +1 -1
- package/dist/src/metadata/modules/proxistoreBidAdapter.js +1 -1
- package/dist/src/metadata/modules/publinkIdSystem.js +1 -1
- package/dist/src/metadata/modules/pubmaticBidAdapter.js +1 -1
- package/dist/src/metadata/modules/pubmaticIdSystem.js +1 -1
- package/dist/src/metadata/modules/pulsepointBidAdapter.js +1 -1
- package/dist/src/metadata/modules/pwbidBidAdapter.js +1 -1
- package/dist/src/metadata/modules/qtBidAdapter.js +1 -1
- package/dist/src/metadata/modules/quantcastBidAdapter.js +1 -1
- package/dist/src/metadata/modules/quantcastIdSystem.js +1 -1
- package/dist/src/metadata/modules/r2b2BidAdapter.js +1 -1
- package/dist/src/metadata/modules/raynRtdProvider.js +1 -1
- package/dist/src/metadata/modules/readpeakBidAdapter.js +1 -1
- package/dist/src/metadata/modules/relayBidAdapter.js +1 -1
- package/dist/src/metadata/modules/relevantdigitalBidAdapter.js +1 -1
- package/dist/src/metadata/modules/resetdigitalBidAdapter.js +1 -1
- package/dist/src/metadata/modules/responsiveAdsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/retailspotBidAdapter.js +1 -1
- package/dist/src/metadata/modules/revcontentBidAdapter.js +1 -1
- package/dist/src/metadata/modules/rhythmoneBidAdapter.js +1 -1
- package/dist/src/metadata/modules/richaudienceBidAdapter.js +1 -1
- package/dist/src/metadata/modules/riseBidAdapter.js +1 -1
- package/dist/src/metadata/modules/rixengineBidAdapter.js +1 -1
- package/dist/src/metadata/modules/rtbhouseBidAdapter.js +1 -1
- package/dist/src/metadata/modules/rubiconBidAdapter.js +1 -1
- package/dist/src/metadata/modules/rumbleBidAdapter.js +2 -0
- package/dist/src/metadata/modules/scatteredBidAdapter.js +1 -1
- package/dist/src/metadata/modules/seedingAllianceBidAdapter.js +1 -1
- package/dist/src/metadata/modules/seedtagBidAdapter.js +1 -1
- package/dist/src/metadata/modules/semantiqRtdProvider.js +1 -1
- package/dist/src/metadata/modules/setupadBidAdapter.js +1 -1
- package/dist/src/metadata/modules/sevioBidAdapter.js +2 -0
- package/dist/src/metadata/modules/sharedIdSystem.js +1 -1
- package/dist/src/metadata/modules/sharethroughBidAdapter.js +1 -1
- package/dist/src/metadata/modules/showheroes-bsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/silvermobBidAdapter.js +1 -1
- package/dist/src/metadata/modules/sirdataRtdProvider.js +1 -1
- package/dist/src/metadata/modules/slimcutBidAdapter.js +1 -1
- package/dist/src/metadata/modules/smaatoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/smartadserverBidAdapter.js +1 -1
- package/dist/src/metadata/modules/smartxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/smartyadsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/smilewantedBidAdapter.js +1 -1
- package/dist/src/metadata/modules/snigelBidAdapter.js +1 -1
- package/dist/src/metadata/modules/sonaradsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/sonobiBidAdapter.js +1 -1
- package/dist/src/metadata/modules/sovrnBidAdapter.js +1 -1
- package/dist/src/metadata/modules/sparteoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/ssmasBidAdapter.js +1 -1
- package/dist/src/metadata/modules/sspBCBidAdapter.js +1 -1
- package/dist/src/metadata/modules/stackadaptBidAdapter.js +1 -1
- package/dist/src/metadata/modules/startioBidAdapter.js +1 -1
- package/dist/src/metadata/modules/stroeerCoreBidAdapter.js +1 -1
- package/dist/src/metadata/modules/stvBidAdapter.js +1 -1
- package/dist/src/metadata/modules/sublimeBidAdapter.js +1 -1
- package/dist/src/metadata/modules/taboolaBidAdapter.js +1 -1
- package/dist/src/metadata/modules/taboolaIdSystem.js +1 -1
- package/dist/src/metadata/modules/tappxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/targetVideoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/teadsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/teadsIdSystem.js +1 -1
- package/dist/src/metadata/modules/tealBidAdapter.js +1 -1
- package/dist/src/metadata/modules/themoneytizerBidAdapter.js +1 -1
- package/dist/src/metadata/modules/tncIdSystem.js +1 -1
- package/dist/src/metadata/modules/topicsFpdModule.js +1 -1
- package/dist/src/metadata/modules/tripleliftBidAdapter.js +1 -1
- package/dist/src/metadata/modules/ttdBidAdapter.js +1 -1
- package/dist/src/metadata/modules/twistDigitalBidAdapter.js +1 -1
- package/dist/src/metadata/modules/underdogmediaBidAdapter.js +1 -1
- package/dist/src/metadata/modules/undertoneBidAdapter.js +1 -1
- package/dist/src/metadata/modules/unifiedIdSystem.js +1 -1
- package/dist/src/metadata/modules/unrulyBidAdapter.js +1 -1
- package/dist/src/metadata/modules/userId.js +1 -1
- package/dist/src/metadata/modules/validationFpdModule.js +1 -1
- package/dist/src/metadata/modules/vidazooBidAdapter.js +1 -1
- package/dist/src/metadata/modules/vidoomyBidAdapter.js +1 -1
- package/dist/src/metadata/modules/viewdeosDXBidAdapter.js +1 -1
- package/dist/src/metadata/modules/viouslyBidAdapter.js +1 -1
- package/dist/src/metadata/modules/visxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/vlybyBidAdapter.js +1 -1
- package/dist/src/metadata/modules/voxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/vrtcalBidAdapter.js +1 -1
- package/dist/src/metadata/modules/vuukleBidAdapter.js +1 -1
- package/dist/src/metadata/modules/weboramaRtdProvider.js +1 -1
- package/dist/src/metadata/modules/welectBidAdapter.js +1 -1
- package/dist/src/metadata/modules/yahooAdsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/yieldlabBidAdapter.js +1 -1
- package/dist/src/metadata/modules/yieldliftBidAdapter.js +1 -1
- package/dist/src/metadata/modules/yieldloveBidAdapter.js +1 -1
- package/dist/src/metadata/modules/yieldmoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/zeotapIdPlusIdSystem.js +1 -1
- package/dist/src/metadata/modules/zeta_globalBidAdapter.js +1 -1
- package/dist/src/metadata/modules/zeta_global_sspBidAdapter.js +1 -1
- package/dist/src/modules/1plusXRtdProvider.js +6 -2
- package/dist/src/modules/1plusXRtdProvider.js.map +1 -1
- package/dist/src/modules/33acrossAnalyticsAdapter.js +1 -1
- package/dist/src/modules/33acrossBidAdapter.js +1 -1
- package/dist/src/modules/33acrossIdSystem.js +1 -1
- package/dist/src/modules/adWMGBidAdapter.js.map +1 -1
- package/dist/src/modules/adagioAnalyticsAdapter.js +1 -1
- package/dist/src/modules/adagioBidAdapter.js +1 -1
- package/dist/src/modules/addefendBidAdapter.js +1 -1
- package/dist/src/modules/adgenerationBidAdapter.js +1 -1
- package/dist/src/modules/adlooxRtdProvider.js +1 -1
- package/dist/src/modules/admixerBidAdapter.js +5 -4
- package/dist/src/modules/admixerBidAdapter.js.map +1 -1
- package/dist/src/modules/adqueryBidAdapter.js +1 -1
- package/dist/src/modules/adrelevantisBidAdapter.js +1 -1
- package/dist/src/modules/adspiritBidAdapter.js.map +1 -1
- package/dist/src/modules/adstirBidAdapter.js +1 -1
- package/dist/src/modules/adtrgtmeBidAdapter.js +1 -1
- package/dist/src/modules/adtrgtmeBidAdapter.js.map +1 -1
- package/dist/src/modules/advertisingBidAdapter.js +2 -2
- package/dist/src/modules/adxcgAnalyticsAdapter.js +1 -1
- package/dist/src/modules/adxcgBidAdapter.js +4 -39
- package/dist/src/modules/adxcgBidAdapter.js.map +1 -1
- package/dist/src/modules/adyoulikeBidAdapter.js +1 -1
- package/dist/src/modules/agmaAnalyticsAdapter.js +1 -1
- package/dist/src/modules/ajaBidAdapter.js +1 -1
- package/dist/src/modules/amxBidAdapter.js +2 -2
- package/dist/src/modules/amxBidAdapter.js.map +1 -1
- package/dist/src/modules/amxIdSystem.js +1 -1
- package/dist/src/modules/aniviewBidAdapter.js +1 -1
- package/dist/src/modules/appierAnalyticsAdapter.js +1 -1
- package/dist/src/modules/appnexusBidAdapter.js +2 -2
- package/dist/src/modules/asoBidAdapter.js +1 -1
- package/dist/src/modules/axonixBidAdapter.js +1 -1
- package/dist/src/modules/beopBidAdapter.js +2 -2
- package/dist/src/modules/bidglassBidAdapter.js +1 -1
- package/dist/src/modules/bitmediaBidAdapter.js +1 -1
- package/dist/src/modules/blockthroughBidAdapter.js +1 -1
- package/dist/src/modules/bmtmBidAdapter.js +1 -1
- package/dist/src/modules/bridBidAdapter.js +1 -1
- package/dist/src/modules/bridgewellBidAdapter.js +1 -1
- package/dist/src/modules/carodaBidAdapter.js +1 -1
- package/dist/src/modules/chromeAiRtdProvider.js.map +1 -1
- package/dist/src/modules/chtnwBidAdapter.js +1 -1
- package/dist/src/modules/concertBidAdapter.js +1 -1
- package/dist/src/modules/connectadBidAdapter.js +1 -1
- package/dist/src/modules/consentManagementGpp.js.map +1 -1
- package/dist/src/modules/consentManagementTcf.js.map +1 -1
- package/dist/src/modules/consentManagementUsp.js.map +1 -1
- package/dist/src/modules/consumableBidAdapter.js +1 -1
- package/dist/src/modules/contxtfulBidAdapter.js +1 -1
- package/dist/src/modules/conversantBidAdapter.js +1 -1
- package/dist/src/modules/craftBidAdapter.js +1 -1
- package/dist/src/modules/criteoBidAdapter.js +2 -2
- package/dist/src/modules/currency.js.map +1 -1
- package/dist/src/modules/cwireBidAdapter.js +1 -1
- package/dist/src/modules/cwireBidAdapter.js.map +1 -1
- package/dist/src/modules/dailymotionBidAdapter.js +1 -1
- package/dist/src/modules/dailymotionBidAdapter.js.map +1 -1
- package/dist/src/modules/dchain.js.map +1 -1
- package/dist/src/modules/dspxBidAdapter.js +1 -1
- package/dist/src/modules/dspxBidAdapter.js.map +1 -1
- package/dist/src/modules/dxkultureBidAdapter.js +1 -1
- package/dist/src/modules/eightPodBidAdapter.js.map +1 -1
- package/dist/src/modules/eplanningBidAdapter.js +1 -1
- package/dist/src/modules/equativBidAdapter.js +1 -1
- package/dist/src/modules/eskimiBidAdapter.js +1 -1
- package/dist/src/modules/euidIdSystem.js +1 -1
- package/dist/src/modules/exadsBidAdapter.js +1 -1
- package/dist/src/modules/excoBidAdapter.js +3 -3
- package/dist/src/modules/feedadBidAdapter.js +2 -2
- package/dist/src/modules/finativeBidAdapter.js +1 -1
- package/dist/src/modules/genericAnalyticsAdapter.js.map +1 -1
- package/dist/src/modules/geolocationRtdProvider.js.map +1 -1
- package/dist/src/modules/getintentBidAdapter.js +4 -2
- package/dist/src/modules/getintentBidAdapter.js.map +1 -1
- package/dist/src/modules/gmosspBidAdapter.js +1 -1
- package/dist/src/modules/gmosspBidAdapter.js.map +1 -1
- package/dist/src/modules/gppControl_usstates.js.map +1 -1
- package/dist/src/modules/gptPreAuction.d.ts +3 -3
- package/dist/src/modules/gptPreAuction.js.map +1 -1
- package/dist/src/modules/greenbidsAnalyticsAdapter.js +1 -1
- package/dist/src/modules/greenbidsBidAdapter.js +1 -1
- package/dist/src/modules/greenbidsRtdProvider.js +1 -1
- package/dist/src/modules/gridBidAdapter.js +2 -2
- package/dist/src/modules/gumgumBidAdapter.js +2 -2
- package/dist/src/modules/h12mediaBidAdapter.js +1 -1
- package/dist/src/modules/hypelabBidAdapter.js +1 -1
- package/dist/src/modules/iasRtdProvider.js +110 -5
- package/dist/src/modules/iasRtdProvider.js.map +1 -1
- package/dist/src/modules/id5AnalyticsAdapter.js +1 -1
- package/dist/src/modules/id5IdSystem.js +1 -1
- package/dist/src/modules/improvedigitalBidAdapter.js +1 -1
- package/dist/src/modules/inmobiBidAdapter.js +1 -1
- package/dist/src/modules/insticatorBidAdapter.js +1 -1
- package/dist/src/modules/intentIqAnalyticsAdapter.js +1 -1
- package/dist/src/modules/intentIqAnalyticsAdapter.js.map +1 -1
- package/dist/src/modules/intentIqIdSystem.js.map +1 -1
- package/dist/src/modules/ixBidAdapter.js +1 -1
- package/dist/src/modules/jixieBidAdapter.js +1 -1
- package/dist/src/modules/justpremiumBidAdapter.js +1 -1
- package/dist/src/modules/jwplayerRtdProvider.js +6 -2
- package/dist/src/modules/jwplayerRtdProvider.js.map +1 -1
- package/dist/src/modules/jwplayerVideoProvider.js +12 -9
- package/dist/src/modules/jwplayerVideoProvider.js.map +1 -1
- package/dist/src/modules/kargoBidAdapter.js +1 -1
- package/dist/src/modules/kimberliteBidAdapter.js +1 -1
- package/dist/src/modules/kubientBidAdapter.js +0 -1
- package/dist/src/modules/kubientBidAdapter.js.map +1 -1
- package/dist/src/modules/lassoBidAdapter.js +1 -1
- package/dist/src/modules/lifestreetBidAdapter.js +1 -1
- package/dist/src/modules/logicadBidAdapter.js +1 -1
- package/dist/src/modules/luceadBidAdapter.js +1 -1
- package/dist/src/modules/mabidderBidAdapter.js +1 -1
- package/dist/src/modules/madsenseBidAdapter.js +1 -1
- package/dist/src/modules/magniteAnalyticsAdapter.js +1 -1
- package/dist/src/modules/malltvAnalyticsAdapter.js +1 -1
- package/dist/src/modules/marsmediaBidAdapter.js +1 -1
- package/dist/src/modules/mediafuseBidAdapter.js +2 -2
- package/dist/src/modules/medianetAnalyticsAdapter.js.map +1 -1
- package/dist/src/modules/medianetBidAdapter.js +6 -2
- package/dist/src/modules/medianetBidAdapter.js.map +1 -1
- package/dist/src/modules/mediasquareBidAdapter.js +2 -2
- package/dist/src/modules/mgidBidAdapter.js +1 -1
- package/dist/src/modules/michaoBidAdapter.js.map +1 -1
- package/dist/src/modules/missenaBidAdapter.js +1 -1
- package/dist/src/modules/mobilefuseBidAdapter.js +1 -1
- package/dist/src/modules/multibid/index.js.map +1 -1
- package/dist/src/modules/nextMillenniumBidAdapter.js +1 -1
- package/dist/src/modules/nexverseBidAdapter.js.map +1 -1
- package/dist/src/modules/nobidAnalyticsAdapter.js +1 -1
- package/dist/src/modules/nobidBidAdapter.js +1 -1
- package/dist/src/modules/nodalsAiRtdProvider.js +4 -2
- package/dist/src/modules/nodalsAiRtdProvider.js.map +1 -1
- package/dist/src/modules/oguryBidAdapter.js +1 -1
- package/dist/src/modules/onetagBidAdapter.js +1 -1
- package/dist/src/modules/onetagBidAdapter.js.map +1 -1
- package/dist/src/modules/ooloAnalyticsAdapter.js +1 -1
- package/dist/src/modules/openxBidAdapter.js +1 -1
- package/dist/src/modules/optidigitalBidAdapter.js +1 -1
- package/dist/src/modules/orbidderBidAdapter.js +1 -1
- package/dist/src/modules/outbrainBidAdapter.js +1 -1
- package/dist/src/modules/pixfutureBidAdapter.js +2 -2
- package/dist/src/modules/prebidServerBidAdapter/index.js.map +1 -1
- package/dist/src/modules/priceFloors.js.map +1 -1
- package/dist/src/modules/publinkIdSystem.js +1 -1
- package/dist/src/modules/pubmaticAnalyticsAdapter.js +2 -2
- package/dist/src/modules/pubmaticBidAdapter.js +2 -2
- package/dist/src/modules/pubmaticRtdProvider.js.map +1 -1
- package/dist/src/modules/pubwiseAnalyticsAdapter.js +1 -1
- package/dist/src/modules/pubxaiAnalyticsAdapter.js +1 -1
- package/dist/src/modules/pulsepointBidAdapter.js +2 -38
- package/dist/src/modules/pulsepointBidAdapter.js.map +1 -1
- package/dist/src/modules/pxyzBidAdapter.js +1 -1
- package/dist/src/modules/quantcastBidAdapter.js +1 -1
- package/dist/src/modules/readpeakBidAdapter.js +1 -1
- package/dist/src/modules/readpeakBidAdapter.js.map +1 -1
- package/dist/src/modules/relaidoBidAdapter.js +1 -1
- package/dist/src/modules/retailspotBidAdapter.js +1 -1
- package/dist/src/modules/rhythmoneBidAdapter.js +1 -1
- package/dist/src/modules/rtdModule/index.js.map +1 -1
- package/dist/src/modules/rtdModule/spec.js.map +1 -1
- package/dist/src/modules/rubiconBidAdapter.js +6 -2
- package/dist/src/modules/rubiconBidAdapter.js.map +1 -1
- package/dist/src/modules/rumbleBidAdapter.js +103 -0
- package/dist/src/modules/rumbleBidAdapter.js.map +1 -0
- package/dist/src/modules/schain.js.map +1 -1
- package/dist/src/modules/seedingAllianceBidAdapter.js +1 -1
- package/dist/src/modules/seedtagBidAdapter.js +1 -1
- package/dist/src/modules/sevioBidAdapter.js +251 -0
- package/dist/src/modules/sevioBidAdapter.js.map +1 -0
- package/dist/src/modules/sharedIdSystem.js.map +1 -1
- package/dist/src/modules/sharethroughAnalyticsAdapter.js +1 -1
- package/dist/src/modules/sharethroughBidAdapter.js +1 -1
- package/dist/src/modules/showheroes-bsBidAdapter.js +1 -1
- package/dist/src/modules/smaatoBidAdapter.js +1 -1
- package/dist/src/modules/smartadserverBidAdapter.js +1 -1
- package/dist/src/modules/smartxBidAdapter.js +1 -1
- package/dist/src/modules/smilewantedBidAdapter.js +1 -1
- package/dist/src/modules/snigelBidAdapter.js +1 -1
- package/dist/src/modules/sonaradsBidAdapter.js +2 -2
- package/dist/src/modules/sonobiBidAdapter.js +1 -1
- package/dist/src/modules/sovrnBidAdapter.js +1 -1
- package/dist/src/modules/sparteoBidAdapter.js +1 -1
- package/dist/src/modules/sspBCBidAdapter.js +1 -1
- package/dist/src/modules/storageControl.js.map +1 -1
- package/dist/src/modules/stvBidAdapter.js +1 -1
- package/dist/src/modules/sublimeBidAdapter.js +2 -2
- package/dist/src/modules/taboolaBidAdapter.js +1 -1
- package/dist/src/modules/tappxBidAdapter.js +1 -1
- package/dist/src/modules/targetVideoBidAdapter.js +1 -1
- package/dist/src/modules/tcfControl.js.map +1 -1
- package/dist/src/modules/teadsBidAdapter.js +1 -1
- package/dist/src/modules/terceptAnalyticsAdapter.js +1 -1
- package/dist/src/modules/themoneytizerBidAdapter.js +1 -3
- package/dist/src/modules/themoneytizerBidAdapter.js.map +1 -1
- package/dist/src/modules/trionBidAdapter.js +1 -1
- package/dist/src/modules/tripleliftBidAdapter.js +1 -1
- package/dist/src/modules/ttdBidAdapter.js +9 -2
- package/dist/src/modules/ttdBidAdapter.js.map +1 -1
- package/dist/src/modules/ucfunnelAnalyticsAdapter.js +1 -1
- package/dist/src/modules/uid2IdSystem.js +1 -1
- package/dist/src/modules/underdogmediaBidAdapter.js +1 -1
- package/dist/src/modules/undertoneBidAdapter.js +1 -1
- package/dist/src/modules/unrulyBidAdapter.js +1 -1
- package/dist/src/modules/userId/index.js +12 -8
- package/dist/src/modules/userId/index.js.map +1 -1
- package/dist/src/modules/userId/spec.js.map +1 -1
- package/dist/src/modules/validationFpdModule/index.js.map +1 -1
- package/dist/src/modules/videoModule/index.js.map +1 -1
- package/dist/src/modules/videobyteBidAdapter.js +1 -1
- package/dist/src/modules/visxBidAdapter.js +1 -1
- package/dist/src/modules/vuukleBidAdapter.js +1 -1
- package/dist/src/modules/weboramaRtdProvider.js +30 -11
- package/dist/src/modules/weboramaRtdProvider.js.map +1 -1
- package/dist/src/modules/welectBidAdapter.js.map +1 -1
- package/dist/src/modules/widespaceBidAdapter.js +1 -1
- package/dist/src/modules/winrBidAdapter.js +1 -1
- package/dist/src/modules/yahooAdsBidAdapter.js +1 -1
- package/dist/src/modules/yandexBidAdapter.js +47 -15
- package/dist/src/modules/yandexBidAdapter.js.map +1 -1
- package/dist/src/modules/yieldmoBidAdapter.js +2 -2
- package/dist/src/modules/yieldoneAnalyticsAdapter.js +1 -1
- package/dist/src/package.json +1 -1
- package/dist/src/public/rumbleBidAdapter.js +1 -0
- package/dist/src/public/sevioBidAdapter.js +1 -0
- package/dist/src/src/activities/params.d.ts +5 -0
- package/dist/src/src/activities/params.js +6 -0
- package/dist/src/src/activities/params.js.map +1 -1
- package/dist/src/src/activities/redactor.js.map +1 -1
- package/dist/src/src/adRendering.js.map +1 -1
- package/dist/src/src/adUnits.js.map +1 -1
- package/dist/src/src/adapterManager.js.map +1 -1
- package/dist/src/src/adapters/bidderFactory.js.map +1 -1
- package/dist/src/src/ajax.js.map +1 -1
- package/dist/src/src/auction.js.map +1 -1
- package/dist/src/src/banner.js.map +1 -1
- package/dist/src/src/bidTTL.js.map +1 -1
- package/dist/src/src/bidderSettings.js.map +1 -1
- package/dist/src/src/bidfactory.js.map +1 -1
- package/dist/src/src/config.js +3 -3
- package/dist/src/src/config.js.map +1 -1
- package/dist/src/src/consentHandler.js.map +1 -1
- package/dist/src/src/constants.js.map +1 -1
- package/dist/src/src/cpmBucketManager.js.map +1 -1
- package/dist/src/src/debugging.js +1 -1
- package/dist/src/src/events.js.map +1 -1
- package/dist/src/src/fpd/enrichment.js.map +1 -1
- package/dist/src/src/hook.js.map +1 -1
- package/dist/src/src/mediaTypes.js.map +1 -1
- package/dist/src/src/native.js.map +1 -1
- package/dist/src/src/prebid.js +2 -2
- package/dist/src/src/prebid.js.map +1 -1
- package/dist/src/src/prebidGlobal.js.map +1 -1
- package/dist/src/src/refererDetection.js.map +1 -1
- package/dist/src/src/storageManager.js +26 -25
- package/dist/src/src/storageManager.js.map +1 -1
- package/dist/src/src/targeting.d.ts +3 -3
- package/dist/src/src/targeting.js.map +1 -1
- package/dist/src/src/types/common.d.js.map +1 -1
- package/dist/src/src/types/common.d.ts +29 -29
- package/dist/src/src/types/local/buildOptions.d.js.map +1 -1
- package/dist/src/src/types/local/shim.d.js.map +1 -1
- package/dist/src/src/types/objects.d.js.map +1 -1
- package/dist/src/src/types/objects.d.ts +15 -15
- package/dist/src/src/types/ortb/common.d.js.map +1 -1
- package/dist/src/src/types/ortb/common.d.ts +1 -1
- package/dist/src/src/types/ortb/ext/dchain.d.js.map +1 -1
- package/dist/src/src/types/ortb/ext/dchain.d.ts +69 -69
- package/dist/src/src/types/ortb/ext/dsa.d.js.map +1 -1
- package/dist/src/src/types/ortb/ext/dsa.d.ts +50 -50
- package/dist/src/src/types/ortb/request.d.js.map +1 -1
- package/dist/src/src/types/ortb/request.d.ts +21 -21
- package/dist/src/src/types/ortb/response.d.js.map +1 -1
- package/dist/src/src/types/ortb/response.d.ts +6 -6
- package/dist/src/src/types/summary/core.d.ts +5 -5
- package/dist/src/src/types/summary/modules.d.ts +2 -2
- package/dist/src/src/userSync.js.map +1 -1
- package/dist/src/src/utils/objects.js.map +1 -1
- package/dist/src/src/utils/perfMetrics.js.map +1 -1
- package/dist/src/src/utils/promise.js.map +1 -1
- package/dist/src/src/utils/ttlCollection.js.map +1 -1
- package/dist/src/src/video.js.map +1 -1
- package/dist/src/src/videoCache.js.map +1 -1
- package/dist/src/test/helpers/index_adapter_utils.js +1 -1
- package/dist/src/test/helpers/index_adapter_utils.js.map +1 -1
- package/dist/src/test/helpers/refererDetectionHelper.js.map +1 -1
- package/dist/src/test/mocks/timers.js +12 -12
- package/dist/src/test/mocks/timers.js.map +1 -1
- package/dist/src/test/spec/adloader_spec.js.map +1 -1
- package/dist/src/test/spec/config_spec.js +9 -3
- package/dist/src/test/spec/config_spec.js.map +1 -1
- package/dist/src/test/spec/libraries/greedy/greedyPromise_spec.js +2 -2
- package/dist/src/test/spec/libraries/greedy/greedyPromise_spec.js.map +1 -1
- package/dist/src/test/spec/modules/1plusXRtdProvider_spec.js +2 -9
- package/dist/src/test/spec/modules/1plusXRtdProvider_spec.js.map +1 -1
- package/dist/src/test/spec/modules/33acrossAnalyticsAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/33acrossBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/33acrossIdSystem_spec.js +1 -1
- package/dist/src/test/spec/modules/adagioAnalyticsAdapter_spec.js +4 -4
- package/dist/src/test/spec/modules/adgridBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/adkernelAdnBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/adkernelBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/admediaBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/adnuntiusBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/adqueryBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/adrelevantisBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/adspiritBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/adtrgtmeBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/adtrgtmeBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/adtrueBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/advertisingBidAdapter_spec.js +9 -9
- package/dist/src/test/spec/modules/advertisingBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/adyoulikeBidAdapter_spec.js +3 -3
- package/dist/src/test/spec/modules/ajaBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/amxBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/appierAnalyticsAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/appnexusBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/asoBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/bidmaticBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/blockthroughBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/bridBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/criteoBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/dailymotionBidAdapter_spec.js +4 -4
- package/dist/src/test/spec/modules/datablocksBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/deepintentBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/dexertoBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/dochaseBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/dspxBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/dxkultureBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/ehealthcaresolutionsBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/enrichmentLiftMeasurement_spec.js.map +1 -1
- package/dist/src/test/spec/modules/eplanningBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/equativBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/equativBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/excoBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/feedadBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/finativeBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/ftrackIdSystem_spec.js.map +1 -1
- package/dist/src/test/spec/modules/fwsspBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/gmosspBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/greenbidsAnalyticsAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/gridBidAdapter_spec.js +6 -6
- package/dist/src/test/spec/modules/gumgumBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/hypelabBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/iasRtdProvider_spec.js +104 -1
- package/dist/src/test/spec/modules/iasRtdProvider_spec.js.map +1 -1
- package/dist/src/test/spec/modules/id5IdSystem_spec.js +4 -4
- package/dist/src/test/spec/modules/insticatorBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/intentIqIdSystem_spec.js.map +1 -1
- package/dist/src/test/spec/modules/invibesBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/ixBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/justpremiumBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/kargoBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/kargoBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/lane4BidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/lemmaDigitalBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/liveIntentExternalIdSystem_spec.js +10 -10
- package/dist/src/test/spec/modules/liveIntentIdSystem_spec.js +1 -1
- package/dist/src/test/spec/modules/liveIntentRtdProvider_spec.js.map +1 -1
- package/dist/src/test/spec/modules/magniteAnalyticsAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/malltvAnalyticsAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/mediaeyesBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/mediafuseBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/mediagoBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/medianetBidAdapter_spec.js +43 -26
- package/dist/src/test/spec/modules/medianetBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/mediasquareBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/missenaBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/nexx360BidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/nobidAnalyticsAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/nobidBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/nobidBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/oguryBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/onetagBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/optoutBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/orbitsoftBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/outbrainBidAdapter_spec.js +3 -3
- package/dist/src/test/spec/modules/oxxionAnalyticsAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/ozoneBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/prebidServerBidAdapter_spec.js +4 -4
- package/dist/src/test/spec/modules/prebidServerBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/prismaBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/publinkIdSystem_spec.js +5 -5
- package/dist/src/test/spec/modules/pubmaticAnalyticsAdapter_spec.js +6 -6
- package/dist/src/test/spec/modules/pubmaticBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/pubmaticRtdProvider_spec.js.map +1 -1
- package/dist/src/test/spec/modules/pubwiseAnalyticsAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/pubxaiAnalyticsAdapter_spec.js +6 -6
- package/dist/src/test/spec/modules/pwbidBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/quantcastBidAdapter_spec.js +6 -6
- package/dist/src/test/spec/modules/readpeakBidAdapter_spec.js +4 -4
- package/dist/src/test/spec/modules/relaidoBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/relevadRtdProvider_spec.js.map +1 -1
- package/dist/src/test/spec/modules/relevatehealthBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/richaudienceBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/rubiconBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/rubiconBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/rumbleBidAdapter_spec.js +110 -0
- package/dist/src/test/spec/modules/rumbleBidAdapter_spec.js.map +1 -0
- package/dist/src/test/spec/modules/sevioBidAdapter_spec.js +182 -0
- package/dist/src/test/spec/modules/sevioBidAdapter_spec.js.map +1 -0
- package/dist/src/test/spec/modules/smaatoBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/smarticoBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/smartxBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/sonaradsBidAdapter_spec.js +5 -5
- package/dist/src/test/spec/modules/sovrnBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/sparteoBidAdapter_spec.js +3 -3
- package/dist/src/test/spec/modules/sspBCBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/stvBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/taboolaBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/tapnativeBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/targetVideoBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/themoneytizerBidAdapter_spec.js +0 -5
- package/dist/src/test/spec/modules/themoneytizerBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/trionBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/ttdBidAdapter_spec.js +24 -3
- package/dist/src/test/spec/modules/ttdBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/ucfunnelAnalyticsAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/uid2IdSystem_spec.js.map +1 -1
- package/dist/src/test/spec/modules/unrulyBidAdapter_spec.js +3 -3
- package/dist/src/test/spec/modules/userId_spec.js +41 -6
- package/dist/src/test/spec/modules/userId_spec.js.map +1 -1
- package/dist/src/test/spec/modules/videoModule/submodules/jwplayerVideoProvider_spec.js +1738 -9
- package/dist/src/test/spec/modules/videoModule/submodules/jwplayerVideoProvider_spec.js.map +1 -1
- package/dist/src/test/spec/modules/videobyteBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/visxBidAdapter_spec.js +12 -12
- package/dist/src/test/spec/modules/winrBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/yahooAdsBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/yandexBidAdapter_spec.js +107 -2
- package/dist/src/test/spec/modules/yandexBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/yieldoneAnalyticsAdapter_spec.js +2 -2
- package/dist/src/test/spec/refererDetection_spec.js.map +1 -1
- package/dist/src/test/spec/unit/core/storageManager_spec.js +18 -1
- package/dist/src/test/spec/unit/core/storageManager_spec.js.map +1 -1
- package/dist/src/test/spec/unit/core/targeting_spec.js.map +1 -1
- package/dist/src/test/spec/utils_spec.js.map +1 -1
- package/eslint.config.js +2 -6
- package/libraries/analyticsAdapter/AnalyticsAdapter.ts +28 -28
- package/libraries/appnexusUtils/anKeywords.js +11 -0
- package/libraries/consentManagement/cmUtils.ts +18 -18
- package/libraries/creative-renderer-display/renderer.js +1 -1
- package/libraries/cryptoUtils/wallets.js +38 -0
- package/libraries/dspxUtils/bidderUtils.js +1 -1
- package/libraries/impUtils.js +33 -0
- package/libraries/nexx360Utils/index.js +8 -8
- package/libraries/ortbConverter/converter.ts +79 -79
- package/libraries/video/constants/events.ts +5 -5
- package/metadata/modules/33acrossBidAdapter.json +1 -1
- package/metadata/modules/33acrossIdSystem.json +1 -1
- package/metadata/modules/acuityadsBidAdapter.json +1 -1
- package/metadata/modules/adagioBidAdapter.json +1 -1
- package/metadata/modules/adagioRtdProvider.json +1 -1
- package/metadata/modules/addefendBidAdapter.json +1 -1
- package/metadata/modules/adfBidAdapter.json +1 -1
- package/metadata/modules/adfusionBidAdapter.json +1 -1
- package/metadata/modules/adheseBidAdapter.json +1 -1
- package/metadata/modules/adkernelAdnBidAdapter.json +1 -1
- package/metadata/modules/adkernelBidAdapter.json +4 -4
- package/metadata/modules/admaticBidAdapter.json +2 -2
- package/metadata/modules/admixerBidAdapter.json +8 -1
- package/metadata/modules/admixerIdSystem.json +1 -1
- package/metadata/modules/adnowBidAdapter.json +1 -1
- package/metadata/modules/adnuntiusBidAdapter.json +1 -1
- package/metadata/modules/adnuntiusRtdProvider.json +1 -1
- package/metadata/modules/adotBidAdapter.json +1 -1
- package/metadata/modules/adponeBidAdapter.json +1 -1
- package/metadata/modules/adqueryBidAdapter.json +1 -1
- package/metadata/modules/adqueryIdSystem.json +1 -1
- package/metadata/modules/adrinoBidAdapter.json +1 -1
- package/metadata/modules/ads_interactiveBidAdapter.json +1 -1
- package/metadata/modules/adtargetBidAdapter.json +1 -1
- package/metadata/modules/adtelligentBidAdapter.json +3 -3
- package/metadata/modules/adtelligentIdSystem.json +1 -1
- package/metadata/modules/aduptechBidAdapter.json +1 -1
- package/metadata/modules/adyoulikeBidAdapter.json +1 -1
- package/metadata/modules/aidemBidAdapter.json +1 -1
- package/metadata/modules/airgridRtdProvider.json +1 -1
- package/metadata/modules/alkimiBidAdapter.json +1 -1
- package/metadata/modules/ampliffyBidAdapter.json +1 -1
- package/metadata/modules/amxBidAdapter.json +1 -1
- package/metadata/modules/amxIdSystem.json +1 -1
- package/metadata/modules/aniviewBidAdapter.json +1 -1
- package/metadata/modules/anonymisedRtdProvider.json +1 -1
- package/metadata/modules/appierBidAdapter.json +15 -29
- package/metadata/modules/appnexusBidAdapter.json +5 -5
- package/metadata/modules/appushBidAdapter.json +1 -1
- package/metadata/modules/apstreamBidAdapter.json +1 -1
- package/metadata/modules/audiencerunBidAdapter.json +1 -1
- package/metadata/modules/axisBidAdapter.json +1 -1
- package/metadata/modules/azerionedgeRtdProvider.json +1 -1
- package/metadata/modules/beopBidAdapter.json +1 -1
- package/metadata/modules/betweenBidAdapter.json +1 -1
- package/metadata/modules/bidmaticBidAdapter.json +1 -1
- package/metadata/modules/bidtheatreBidAdapter.json +1 -1
- package/metadata/modules/bliinkBidAdapter.json +1 -1
- package/metadata/modules/blockthroughBidAdapter.json +1 -1
- package/metadata/modules/blueBidAdapter.json +1 -1
- package/metadata/modules/bmsBidAdapter.json +1 -1
- package/metadata/modules/boldwinBidAdapter.json +1 -1
- package/metadata/modules/bridBidAdapter.json +1 -1
- package/metadata/modules/browsiBidAdapter.json +1 -1
- package/metadata/modules/bucksenseBidAdapter.json +1 -1
- package/metadata/modules/carodaBidAdapter.json +1 -1
- package/metadata/modules/categoryTranslation.json +1 -1
- package/metadata/modules/ccxBidAdapter.json +1 -1
- package/metadata/modules/ceeIdSystem.json +1 -1
- package/metadata/modules/chromeAiRtdProvider.json +1 -1
- package/metadata/modules/compassBidAdapter.json +1 -1
- package/metadata/modules/conceptxBidAdapter.json +1 -1
- package/metadata/modules/connatixBidAdapter.json +1 -1
- package/metadata/modules/connectIdSystem.json +1 -1
- package/metadata/modules/connectadBidAdapter.json +1 -1
- package/metadata/modules/contentexchangeBidAdapter.json +1 -1
- package/metadata/modules/conversantBidAdapter.json +1 -1
- package/metadata/modules/copper6sspBidAdapter.json +1 -1
- package/metadata/modules/cpmstarBidAdapter.json +1 -1
- package/metadata/modules/criteoBidAdapter.json +1 -1
- package/metadata/modules/criteoIdSystem.json +1 -1
- package/metadata/modules/cwireBidAdapter.json +1 -1
- package/metadata/modules/czechAdIdSystem.json +1 -1
- package/metadata/modules/dailymotionBidAdapter.json +1 -1
- package/metadata/modules/debugging.json +1 -1
- package/metadata/modules/deepintentBidAdapter.json +1 -1
- package/metadata/modules/deltaprojectsBidAdapter.json +1 -1
- package/metadata/modules/dianomiBidAdapter.json +1 -1
- package/metadata/modules/digitalMatterBidAdapter.json +1 -1
- package/metadata/modules/distroscaleBidAdapter.json +1 -1
- package/metadata/modules/docereeAdManagerBidAdapter.json +3 -3
- package/metadata/modules/docereeBidAdapter.json +3 -3
- package/metadata/modules/dspxBidAdapter.json +1 -1
- package/metadata/modules/e_volutionBidAdapter.json +1 -1
- package/metadata/modules/edge226BidAdapter.json +3 -3
- package/metadata/modules/equativBidAdapter.json +1 -1
- package/metadata/modules/eskimiBidAdapter.json +1 -1
- package/metadata/modules/etargetBidAdapter.json +1 -1
- package/metadata/modules/euidIdSystem.json +1 -1
- package/metadata/modules/exadsBidAdapter.json +1 -1
- package/metadata/modules/feedadBidAdapter.json +1 -1
- package/metadata/modules/fwsspBidAdapter.json +1 -1
- package/metadata/modules/gamoshiBidAdapter.json +1 -1
- package/metadata/modules/glomexBidAdapter.json +1 -1
- package/metadata/modules/goldbachBidAdapter.json +1 -1
- package/metadata/modules/greenbidsBidAdapter.json +1 -1
- package/metadata/modules/gridBidAdapter.json +1 -1
- package/metadata/modules/gumgumBidAdapter.json +1 -1
- package/metadata/modules/hadronIdSystem.json +1 -1
- package/metadata/modules/hadronRtdProvider.json +1 -1
- package/metadata/modules/holidBidAdapter.json +1 -1
- package/metadata/modules/hybridBidAdapter.json +1 -1
- package/metadata/modules/id5IdSystem.json +1 -1
- package/metadata/modules/identityLinkIdSystem.json +1 -1
- package/metadata/modules/illuminBidAdapter.json +1 -1
- package/metadata/modules/impactifyBidAdapter.json +1 -1
- package/metadata/modules/improvedigitalBidAdapter.json +1 -1
- package/metadata/modules/inmobiBidAdapter.json +1 -1
- package/metadata/modules/innityBidAdapter.json +1 -1
- package/metadata/modules/insticatorBidAdapter.json +1 -1
- package/metadata/modules/intentIqIdSystem.json +1 -1
- package/metadata/modules/invibesBidAdapter.json +1 -1
- package/metadata/modules/ipromBidAdapter.json +1 -1
- package/metadata/modules/ixBidAdapter.json +1 -1
- package/metadata/modules/justIdSystem.json +1 -1
- package/metadata/modules/justpremiumBidAdapter.json +1 -1
- package/metadata/modules/jwplayerBidAdapter.json +1 -1
- package/metadata/modules/kargoBidAdapter.json +1 -1
- package/metadata/modules/kubientBidAdapter.json +3 -8
- package/metadata/modules/kueezRtbBidAdapter.json +1 -1
- package/metadata/modules/limelightDigitalBidAdapter.json +2 -2
- package/metadata/modules/liveIntentIdSystem.json +1 -1
- package/metadata/modules/liveIntentRtdProvider.json +1 -1
- package/metadata/modules/livewrappedBidAdapter.json +1 -1
- package/metadata/modules/loopmeBidAdapter.json +1 -1
- package/metadata/modules/lotamePanoramaIdSystem.json +1 -1
- package/metadata/modules/luceadBidAdapter.json +1 -1
- package/metadata/modules/luponmediaBidAdapter.json +1 -1
- package/metadata/modules/madvertiseBidAdapter.json +1 -1
- package/metadata/modules/marsmediaBidAdapter.json +1 -1
- package/metadata/modules/mediaConsortiumBidAdapter.json +1 -1
- package/metadata/modules/mediaforceBidAdapter.json +1 -1
- package/metadata/modules/mediafuseBidAdapter.json +1 -1
- package/metadata/modules/mediagoBidAdapter.json +1 -1
- package/metadata/modules/mediakeysBidAdapter.json +1 -1
- package/metadata/modules/medianetBidAdapter.json +2 -2
- package/metadata/modules/mediasquareBidAdapter.json +1 -1
- package/metadata/modules/mgidBidAdapter.json +1 -1
- package/metadata/modules/mgidRtdProvider.json +1 -1
- package/metadata/modules/mgidXBidAdapter.json +1 -1
- package/metadata/modules/minutemediaBidAdapter.json +1 -1
- package/metadata/modules/missenaBidAdapter.json +1 -1
- package/metadata/modules/mobianRtdProvider.json +1 -1
- package/metadata/modules/mobilefuseBidAdapter.json +1 -1
- package/metadata/modules/mobkoiBidAdapter.json +1 -1
- package/metadata/modules/mobkoiIdSystem.json +1 -1
- package/metadata/modules/nativeryBidAdapter.json +1 -1
- package/metadata/modules/nativoBidAdapter.json +1 -1
- package/metadata/modules/newspassidBidAdapter.json +1 -1
- package/metadata/modules/nextMillenniumBidAdapter.json +1 -1
- package/metadata/modules/nextrollBidAdapter.json +1 -1
- package/metadata/modules/nexx360BidAdapter.json +8 -8
- package/metadata/modules/nobidBidAdapter.json +2 -2
- package/metadata/modules/nodalsAiRtdProvider.json +1 -1
- package/metadata/modules/novatiqIdSystem.json +1 -1
- package/metadata/modules/oguryBidAdapter.json +1 -1
- package/metadata/modules/omsBidAdapter.json +1 -1
- package/metadata/modules/onetagBidAdapter.json +1 -1
- package/metadata/modules/openwebBidAdapter.json +1 -1
- package/metadata/modules/openxBidAdapter.json +1 -1
- package/metadata/modules/operaadsBidAdapter.json +1 -1
- package/metadata/modules/optidigitalBidAdapter.json +1 -1
- package/metadata/modules/optoutBidAdapter.json +1 -1
- package/metadata/modules/orbidderBidAdapter.json +1 -1
- package/metadata/modules/outbrainBidAdapter.json +1 -1
- package/metadata/modules/ozoneBidAdapter.json +1 -1
- package/metadata/modules/pairIdSystem.json +1 -1
- package/metadata/modules/performaxBidAdapter.json +4 -5
- package/metadata/modules/pgamsspBidAdapter.json +1 -1
- package/metadata/modules/pixfutureBidAdapter.json +1 -1
- package/metadata/modules/playdigoBidAdapter.json +1 -1
- package/metadata/modules/prebid-core.json +2 -2
- package/metadata/modules/precisoBidAdapter.json +1 -1
- package/metadata/modules/prismaBidAdapter.json +1 -1
- package/metadata/modules/programmaticXBidAdapter.json +1 -1
- package/metadata/modules/proxistoreBidAdapter.json +1 -1
- package/metadata/modules/publinkIdSystem.json +1 -1
- package/metadata/modules/pubmaticBidAdapter.json +1 -1
- package/metadata/modules/pubmaticIdSystem.json +1 -1
- package/metadata/modules/pulsepointBidAdapter.json +1 -1
- package/metadata/modules/pwbidBidAdapter.json +1 -1
- package/metadata/modules/qtBidAdapter.json +1 -1
- package/metadata/modules/quantcastBidAdapter.json +1 -1
- package/metadata/modules/quantcastIdSystem.json +1 -1
- package/metadata/modules/r2b2BidAdapter.json +1 -1
- package/metadata/modules/raynRtdProvider.json +1 -1
- package/metadata/modules/readpeakBidAdapter.json +1 -1
- package/metadata/modules/relayBidAdapter.json +1 -1
- package/metadata/modules/relevantdigitalBidAdapter.json +1 -1
- package/metadata/modules/resetdigitalBidAdapter.json +1 -1
- package/metadata/modules/responsiveAdsBidAdapter.json +1 -1
- package/metadata/modules/retailspotBidAdapter.json +1 -1
- package/metadata/modules/revcontentBidAdapter.json +7 -117
- package/metadata/modules/rhythmoneBidAdapter.json +1 -1
- package/metadata/modules/richaudienceBidAdapter.json +1 -1
- package/metadata/modules/riseBidAdapter.json +2 -2
- package/metadata/modules/rixengineBidAdapter.json +1 -1
- package/metadata/modules/rtbhouseBidAdapter.json +1 -1
- package/metadata/modules/rubiconBidAdapter.json +1 -1
- package/metadata/modules/rumbleBidAdapter.json +13 -0
- package/metadata/modules/scatteredBidAdapter.json +1 -1
- package/metadata/modules/seedingAllianceBidAdapter.json +1 -1
- package/metadata/modules/seedtagBidAdapter.json +1 -1
- package/metadata/modules/semantiqRtdProvider.json +1 -1
- package/metadata/modules/setupadBidAdapter.json +1 -1
- package/metadata/modules/sevioBidAdapter.json +18 -0
- package/metadata/modules/sharedIdSystem.json +1 -1
- package/metadata/modules/sharethroughBidAdapter.json +1 -1
- package/metadata/modules/showheroes-bsBidAdapter.json +1 -1
- package/metadata/modules/silvermobBidAdapter.json +1 -1
- package/metadata/modules/sirdataRtdProvider.json +1 -1
- package/metadata/modules/slimcutBidAdapter.json +1 -1
- package/metadata/modules/smaatoBidAdapter.json +1 -1
- package/metadata/modules/smartadserverBidAdapter.json +1 -1
- package/metadata/modules/smartxBidAdapter.json +1 -1
- package/metadata/modules/smartyadsBidAdapter.json +1 -1
- package/metadata/modules/smilewantedBidAdapter.json +1 -1
- package/metadata/modules/snigelBidAdapter.json +1 -1
- package/metadata/modules/sonaradsBidAdapter.json +1 -1
- package/metadata/modules/sonobiBidAdapter.json +1 -1
- package/metadata/modules/sovrnBidAdapter.json +4 -4
- package/metadata/modules/sparteoBidAdapter.json +1 -1
- package/metadata/modules/ssmasBidAdapter.json +1 -1
- package/metadata/modules/sspBCBidAdapter.json +1 -1
- package/metadata/modules/stackadaptBidAdapter.json +1 -1
- package/metadata/modules/startioBidAdapter.json +1 -1
- package/metadata/modules/stroeerCoreBidAdapter.json +1 -1
- package/metadata/modules/stvBidAdapter.json +1 -1
- package/metadata/modules/sublimeBidAdapter.json +1 -1
- package/metadata/modules/taboolaBidAdapter.json +1 -1
- package/metadata/modules/taboolaIdSystem.json +1 -1
- package/metadata/modules/tappxBidAdapter.json +1 -1
- package/metadata/modules/targetVideoBidAdapter.json +1 -1
- package/metadata/modules/teadsBidAdapter.json +1 -1
- package/metadata/modules/teadsIdSystem.json +1 -1
- package/metadata/modules/tealBidAdapter.json +1 -1
- package/metadata/modules/themoneytizerBidAdapter.json +3 -8
- package/metadata/modules/tncIdSystem.json +1 -1
- package/metadata/modules/topicsFpdModule.json +1 -1
- package/metadata/modules/tripleliftBidAdapter.json +1 -1
- package/metadata/modules/ttdBidAdapter.json +1 -1
- package/metadata/modules/twistDigitalBidAdapter.json +1 -1
- package/metadata/modules/underdogmediaBidAdapter.json +1 -1
- package/metadata/modules/undertoneBidAdapter.json +1 -1
- package/metadata/modules/unifiedIdSystem.json +1 -1
- package/metadata/modules/unrulyBidAdapter.json +1 -1
- package/metadata/modules/userId.json +1 -1
- package/metadata/modules/validationFpdModule.json +1 -1
- package/metadata/modules/vidazooBidAdapter.json +1 -1
- package/metadata/modules/vidoomyBidAdapter.json +1 -1
- package/metadata/modules/viewdeosDXBidAdapter.json +1 -1
- package/metadata/modules/viouslyBidAdapter.json +1 -1
- package/metadata/modules/visxBidAdapter.json +1 -1
- package/metadata/modules/vlybyBidAdapter.json +1 -1
- package/metadata/modules/voxBidAdapter.json +1 -1
- package/metadata/modules/vrtcalBidAdapter.json +1 -1
- package/metadata/modules/vuukleBidAdapter.json +1 -1
- package/metadata/modules/weboramaRtdProvider.json +1 -1
- package/metadata/modules/welectBidAdapter.json +1 -1
- package/metadata/modules/yahooAdsBidAdapter.json +1 -1
- package/metadata/modules/yieldlabBidAdapter.json +1 -1
- package/metadata/modules/yieldliftBidAdapter.json +1 -1
- package/metadata/modules/yieldloveBidAdapter.json +1 -1
- package/metadata/modules/yieldmoBidAdapter.json +1 -1
- package/metadata/modules/zeotapIdPlusIdSystem.json +1 -1
- package/metadata/modules/zeta_globalBidAdapter.json +1 -1
- package/metadata/modules/zeta_global_sspBidAdapter.json +1 -1
- package/metadata/modules.json +23 -2
- package/modules/1plusXRtdProvider.js +6 -2
- package/modules/adWMGBidAdapter.js +8 -8
- package/modules/admixerBidAdapter.js +9 -4
- package/modules/adspiritBidAdapter.js +8 -8
- package/modules/adtrgtmeBidAdapter.js +2 -2
- package/modules/adxcgBidAdapter.js +2 -36
- package/modules/amxBidAdapter.js +3 -3
- package/modules/chromeAiRtdProvider.js +5 -5
- package/modules/consentManagementGpp.ts +11 -11
- package/modules/consentManagementTcf.ts +33 -33
- package/modules/consentManagementUsp.ts +14 -14
- package/modules/currency.ts +59 -59
- package/modules/cwireBidAdapter.js +2 -2
- package/modules/dailymotionBidAdapter.js +4 -4
- package/modules/dchain.ts +4 -4
- package/modules/dspxBidAdapter.js +8 -8
- package/modules/eightPodBidAdapter.js +8 -8
- package/modules/genericAnalyticsAdapter.ts +50 -50
- package/modules/geolocationRtdProvider.ts +48 -48
- package/modules/getintentBidAdapter.js +4 -2
- package/modules/gmosspBidAdapter.js +1 -1
- package/modules/gppControl_usstates.ts +40 -40
- package/modules/gptPreAuction.ts +34 -34
- package/modules/iasRtdProvider.js +87 -5
- package/modules/intentIqAnalyticsAdapter.js +8 -8
- package/modules/intentIqIdSystem.js +2 -2
- package/modules/jwplayerRtdProvider.js +6 -2
- package/modules/jwplayerVideoProvider.js +13 -9
- package/modules/kubientBidAdapter.js +0 -1
- package/modules/medianetAnalyticsAdapter.js +5 -5
- package/modules/medianetBidAdapter.js +5 -1
- package/modules/michaoBidAdapter.ts +7 -7
- package/modules/multibid/index.ts +31 -31
- package/modules/nexverseBidAdapter.js +1 -1
- package/modules/nodalsAiRtdProvider.js +4 -2
- package/modules/onetagBidAdapter.js +12 -12
- package/modules/prebidServerBidAdapter/index.ts +130 -130
- package/modules/priceFloors.ts +131 -131
- package/modules/pubmaticRtdProvider.js +143 -143
- package/modules/pulsepointBidAdapter.js +3 -38
- package/modules/readpeakBidAdapter.js +17 -17
- package/modules/rtdModule/index.ts +8 -8
- package/modules/rtdModule/spec.ts +30 -30
- package/modules/rubiconBidAdapter.js +5 -1
- package/modules/rumbleBidAdapter.js +128 -0
- package/modules/rumbleBidAdapter.md +114 -0
- package/modules/schain.ts +4 -4
- package/modules/sevioBidAdapter.js +259 -0
- package/modules/sevioBidAdapter.md +29 -0
- package/modules/sharedIdSystem.ts +29 -29
- package/modules/storageControl.ts +72 -72
- package/modules/tcfControl.ts +60 -60
- package/modules/themoneytizerBidAdapter.js +2 -4
- package/modules/ttdBidAdapter.js +11 -1
- package/modules/ttdBidAdapter.md +3 -1
- package/modules/userId/index.ts +129 -119
- package/modules/userId/spec.ts +136 -136
- package/modules/validationFpdModule/index.ts +4 -4
- package/modules/videoModule/index.ts +37 -37
- package/modules/weboramaRtdProvider.js +30 -11
- package/modules/welectBidAdapter.js +3 -3
- package/modules/yandexBidAdapter.js +67 -24
- package/package.json +1 -1
- package/src/activities/params.js +6 -0
- package/src/activities/redactor.ts +8 -8
- package/src/adRendering.ts +61 -61
- package/src/adUnits.ts +100 -100
- package/src/adapterManager.ts +605 -605
- package/src/adapters/bidderFactory.ts +99 -99
- package/src/ajax.ts +39 -39
- package/src/auction.ts +217 -217
- package/src/banner.ts +28 -28
- package/src/bidTTL.ts +16 -16
- package/src/bidderSettings.ts +46 -46
- package/src/bidfactory.ts +107 -107
- package/src/config.ts +65 -65
- package/src/consentHandler.ts +25 -25
- package/src/constants.ts +14 -14
- package/src/cpmBucketManager.ts +7 -7
- package/src/events.ts +75 -75
- package/src/fpd/enrichment.ts +8 -8
- package/src/hook.ts +14 -14
- package/src/mediaTypes.ts +16 -16
- package/src/native.ts +62 -62
- package/src/prebid.ts +362 -362
- package/src/prebidGlobal.ts +18 -18
- package/src/refererDetection.ts +54 -54
- package/src/storageManager.ts +76 -73
- package/src/targeting.ts +215 -215
- package/src/types/common.d.ts +29 -29
- package/src/types/local/buildOptions.d.ts +3 -3
- package/src/types/local/shim.d.ts +6 -6
- package/src/types/objects.d.ts +15 -15
- package/src/types/ortb/common.d.ts +1 -1
- package/src/types/ortb/ext/dchain.d.ts +69 -69
- package/src/types/ortb/ext/dsa.d.ts +50 -50
- package/src/types/ortb/request.d.ts +21 -21
- package/src/types/ortb/response.d.ts +6 -6
- package/src/userSync.ts +32 -32
- package/src/utils/objects.ts +11 -11
- package/src/utils/perfMetrics.ts +193 -193
- package/src/utils/promise.ts +14 -14
- package/src/utils/ttlCollection.ts +25 -25
- package/src/video.ts +73 -73
- package/src/videoCache.ts +60 -60
- package/test/helpers/index_adapter_utils.js +1 -2
- package/test/helpers/refererDetectionHelper.js +2 -2
- package/test/mocks/timers.js +12 -9
- package/test/spec/adloader_spec.js +13 -13
- package/test/spec/config_spec.js +9 -3
- package/test/spec/libraries/greedy/greedyPromise_spec.js +2 -2
- package/test/spec/modules/1plusXRtdProvider_spec.js +2 -9
- package/test/spec/modules/adgridBidAdapter_spec.js +6 -6
- package/test/spec/modules/adkernelAdnBidAdapter_spec.js +127 -127
- package/test/spec/modules/adkernelBidAdapter_spec.js +308 -308
- package/test/spec/modules/admediaBidAdapter_spec.js +34 -34
- package/test/spec/modules/adnuntiusBidAdapter_spec.js +7 -7
- package/test/spec/modules/adspiritBidAdapter_spec.js +1 -1
- package/test/spec/modules/adtrgtmeBidAdapter_spec.js +3 -3
- package/test/spec/modules/adtrueBidAdapter_spec.js +19 -19
- package/test/spec/modules/advertisingBidAdapter_spec.js +2 -2
- package/test/spec/modules/bidmaticBidAdapter_spec.js +2 -2
- package/test/spec/modules/datablocksBidAdapter_spec.js +115 -115
- package/test/spec/modules/deepintentBidAdapter_spec.js +51 -51
- package/test/spec/modules/dexertoBidAdapter_spec.js +16 -16
- package/test/spec/modules/dochaseBidAdapter_spec.js +17 -17
- package/test/spec/modules/dspxBidAdapter_spec.js +23 -23
- package/test/spec/modules/ehealthcaresolutionsBidAdapter_spec.js +17 -17
- package/test/spec/modules/enrichmentLiftMeasurement_spec.js +8 -8
- package/test/spec/modules/equativBidAdapter_spec.js +1 -1
- package/test/spec/modules/finativeBidAdapter_spec.js +11 -11
- package/test/spec/modules/ftrackIdSystem_spec.js +16 -16
- package/test/spec/modules/fwsspBidAdapter_spec.js +5 -5
- package/test/spec/modules/hypelabBidAdapter_spec.js +9 -9
- package/test/spec/modules/iasRtdProvider_spec.js +89 -8
- package/test/spec/modules/intentIqIdSystem_spec.js +3 -3
- package/test/spec/modules/invibesBidAdapter_spec.js +2 -2
- package/test/spec/modules/kargoBidAdapter_spec.js +7 -7
- package/test/spec/modules/lane4BidAdapter_spec.js +17 -17
- package/test/spec/modules/lemmaDigitalBidAdapter_spec.js +37 -37
- package/test/spec/modules/liveIntentRtdProvider_spec.js +2 -2
- package/test/spec/modules/mediaeyesBidAdapter_spec.js +166 -166
- package/test/spec/modules/mediagoBidAdapter_spec.js +1 -1
- package/test/spec/modules/medianetBidAdapter_spec.js +1724 -1707
- package/test/spec/modules/mediasquareBidAdapter_spec.js +7 -7
- package/test/spec/modules/nexx360BidAdapter_spec.js +6 -6
- package/test/spec/modules/nobidBidAdapter_spec.js +16 -16
- package/test/spec/modules/onetagBidAdapter_spec.js +47 -47
- package/test/spec/modules/optoutBidAdapter_spec.js +1 -1
- package/test/spec/modules/orbitsoftBidAdapter_spec.js +85 -85
- package/test/spec/modules/oxxionAnalyticsAdapter_spec.js +1 -1
- package/test/spec/modules/ozoneBidAdapter_spec.js +439 -439
- package/test/spec/modules/prebidServerBidAdapter_spec.js +2 -2
- package/test/spec/modules/prismaBidAdapter_spec.js +6 -6
- package/test/spec/modules/pubmaticBidAdapter_spec.js +3 -3
- package/test/spec/modules/pubmaticRtdProvider_spec.js +1389 -1389
- package/test/spec/modules/pwbidBidAdapter_spec.js +25 -25
- package/test/spec/modules/relevadRtdProvider_spec.js +1 -1
- package/test/spec/modules/relevatehealthBidAdapter_spec.js +16 -16
- package/test/spec/modules/richaudienceBidAdapter_spec.js +10 -10
- package/test/spec/modules/rubiconBidAdapter_spec.js +7 -7
- package/test/spec/modules/rumbleBidAdapter_spec.js +125 -0
- package/test/spec/modules/sevioBidAdapter_spec.js +209 -0
- package/test/spec/modules/smaatoBidAdapter_spec.js +30 -30
- package/test/spec/modules/smarticoBidAdapter_spec.js +10 -10
- package/test/spec/modules/stvBidAdapter_spec.js +32 -32
- package/test/spec/modules/tapnativeBidAdapter_spec.js +17 -17
- package/test/spec/modules/themoneytizerBidAdapter_spec.js +0 -6
- package/test/spec/modules/ttdBidAdapter_spec.js +27 -2
- package/test/spec/modules/uid2IdSystem_spec.js +3 -3
- package/test/spec/modules/userId_spec.js +41 -7
- package/test/spec/modules/videoModule/submodules/jwplayerVideoProvider_spec.js +1953 -154
- package/test/spec/modules/yandexBidAdapter_spec.js +128 -0
- package/test/spec/refererDetection_spec.js +11 -11
- package/test/spec/unit/core/storageManager_spec.js +20 -1
- package/test/spec/unit/core/targeting_spec.js +8 -8
- package/test/spec/utils_spec.js +25 -25
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"refererDetection_spec.js","names":["cacheWithLocation","detectReferer","ensureProtocol","parseDomain","config","expect","buildWindowTree","describe","afterEach","resetConfig","it","testWindow","result","sinon","assert","match","topmostLocation","location","reachedTop","isAmp","numIframes","stack","canonicalUrl","page","ref","domain","setConfig","context","sourceUrl","pageUrl","w","to","equal","parent","undefined","forEach","val","eql","protocol","Object","entries","top","defineProperty","get","Error","_ref","t","win","url","_ref2","expected","_ref3","input","_ref4","noLeadingWww","_ref5","noPort","fn","cached","RESULT","beforeEach","stub","callsFake","document","querySelector","callCount","canonical","href"],"sourceRoot":"../../../..","sources":["test/spec/refererDetection_spec.js"],"sourcesContent":["import {cacheWithLocation, detectReferer, ensureProtocol, parseDomain} from 'src/refererDetection.js';\nimport {config} from 'src/config.js';\nimport {expect} from 'chai';\n\nimport { buildWindowTree } from '../helpers/refererDetectionHelper.js';\n\ndescribe('Referer detection', () => {\n afterEach(function () {\n config.resetConfig();\n });\n\n describe('Non cross-origin scenarios', () => {\n describe('No iframes', () => {\n it('Should return the current window location and no canonical URL', () => {\n const testWindow = buildWindowTree(['https://example.com/some/page'], 'https://othersite.com/');\n const result = detectReferer(testWindow)();\n\n sinon.assert.match(result, {\n topmostLocation: 'https://example.com/some/page',\n location: 'https://example.com/some/page',\n reachedTop: true,\n isAmp: false,\n numIframes: 0,\n stack: ['https://example.com/some/page'],\n canonicalUrl: null,\n page: 'https://example.com/some/page',\n ref: 'https://othersite.com/',\n domain: 'example.com',\n });\n });\n\n it('Should return the current window location and a canonical URL', () => {\n const testWindow = buildWindowTree(['https://example.com/some/page'], 'https://othersite.com/', 'https://example.com/canonical/page');\n const result = detectReferer(testWindow)();\n\n sinon.assert.match(result, {\n topmostLocation: 'https://example.com/some/page',\n location: 'https://example.com/some/page',\n reachedTop: true,\n isAmp: false,\n numIframes: 0,\n stack: ['https://example.com/some/page'],\n canonicalUrl: 'https://example.com/canonical/page',\n page: 'https://example.com/some/page',\n ref: 'https://othersite.com/',\n domain: 'example.com'\n });\n });\n\n it('Should set page and canonical to pageUrl value set in config if present, even if canonical url is also present in head', () => {\n config.setConfig({'pageUrl': 'https://www.set-from-config.com/path'});\n const testWindow = buildWindowTree(['https://example.com/some/page'], 'https://othersite.com/', 'https://example.com/canonical/page');\n const result = detectReferer(testWindow)();\n\n sinon.assert.match(result, {\n topmostLocation: 'https://example.com/some/page',\n location: 'https://example.com/some/page',\n reachedTop: true,\n isAmp: false,\n numIframes: 0,\n stack: ['https://example.com/some/page'],\n canonicalUrl: 'https://www.set-from-config.com/path',\n page: 'https://www.set-from-config.com/path',\n ref: 'https://othersite.com/',\n domain: 'www.set-from-config.com'\n });\n });\n\n it('Should set page with query params if canonical url is present without query params but the current page does have them', () => {\n config.setConfig({'pageUrl': 'https://www.set-from-config.com/path'});\n const testWindow = buildWindowTree(['https://example.com/some/page?query1=123&query2=456'], 'https://othersite.com/', 'https://example.com/canonical/page');\n const result = detectReferer(testWindow)();\n\n sinon.assert.match(result, {\n topmostLocation: 'https://example.com/some/page?query1=123&query2=456',\n location: 'https://example.com/some/page?query1=123&query2=456',\n reachedTop: true,\n isAmp: false,\n numIframes: 0,\n stack: ['https://example.com/some/page?query1=123&query2=456'],\n canonicalUrl: 'https://www.set-from-config.com/path',\n page: 'https://www.set-from-config.com/path?query1=123&query2=456',\n ref: 'https://othersite.com/',\n domain: 'www.set-from-config.com'\n });\n });\n });\n\n describe('Friendly iframes', () => {\n it('Should return the top window location and no canonical URL', () => {\n const testWindow = buildWindowTree(['https://example.com/some/page', 'https://example.com/other/page', 'https://example.com/third/page'], 'https://othersite.com/');\n const result = detectReferer(testWindow)();\n\n sinon.assert.match(result, {\n topmostLocation: 'https://example.com/some/page',\n location: 'https://example.com/some/page',\n reachedTop: true,\n isAmp: false,\n numIframes: 2,\n stack: [\n 'https://example.com/some/page',\n 'https://example.com/other/page',\n 'https://example.com/third/page'\n ],\n canonicalUrl: null,\n page: 'https://example.com/some/page',\n ref: 'https://othersite.com/',\n domain: 'example.com'\n });\n });\n\n it('Should return the top window location and a canonical URL', () => {\n const testWindow = buildWindowTree(['https://example.com/some/page', 'https://example.com/other/page', 'https://example.com/third/page'], 'https://othersite.com/', 'https://example.com/canonical/page');\n const result = detectReferer(testWindow)();\n\n sinon.assert.match(result, {\n topmostLocation: 'https://example.com/some/page',\n location: 'https://example.com/some/page',\n reachedTop: true,\n isAmp: false,\n numIframes: 2,\n stack: [\n 'https://example.com/some/page',\n 'https://example.com/other/page',\n 'https://example.com/third/page'\n ],\n canonicalUrl: 'https://example.com/canonical/page',\n page: 'https://example.com/some/page',\n ref: 'https://othersite.com/',\n domain: 'example.com'\n });\n });\n\n it('Should override canonical URL (and page) with config pageUrl', () => {\n config.setConfig({'pageUrl': 'https://testurl.com'});\n\n const testWindow = buildWindowTree(['https://example.com/some/page', 'https://example.com/other/page', 'https://example.com/third/page'], 'https://othersite.com/', 'https://example.com/canonical/page');\n const result = detectReferer(testWindow)();\n\n sinon.assert.match(result, {\n topmostLocation: 'https://example.com/some/page',\n location: 'https://example.com/some/page',\n reachedTop: true,\n isAmp: false,\n numIframes: 2,\n stack: [\n 'https://example.com/some/page',\n 'https://example.com/other/page',\n 'https://example.com/third/page'\n ],\n canonicalUrl: 'https://testurl.com',\n page: 'https://testurl.com',\n ref: 'https://othersite.com/',\n domain: 'testurl.com'\n });\n });\n });\n });\n\n describe('Cross-origin scenarios', () => {\n it('Should return the top URL and no canonical URL with one cross-origin iframe', () => {\n const testWindow = buildWindowTree(['https://example.com/some/page', 'https://safe.frame/ad'], 'https://othersite.com/', 'https://canonical.example.com/');\n const result = detectReferer(testWindow)();\n\n sinon.assert.match(result, {\n location: 'https://example.com/some/page',\n topmostLocation: 'https://example.com/some/page',\n reachedTop: true,\n isAmp: false,\n numIframes: 1,\n stack: [\n 'https://example.com/some/page',\n 'https://safe.frame/ad'\n ],\n canonicalUrl: null,\n page: 'https://example.com/some/page',\n ref: null,\n domain: 'example.com'\n });\n });\n\n it('Should return the top URL and no canonical URL with one cross-origin iframe and one friendly iframe', () => {\n const testWindow = buildWindowTree(['https://example.com/some/page', 'https://safe.frame/ad', 'https://safe.frame/ad'], 'https://othersite.com/', 'https://canonical.example.com/');\n const result = detectReferer(testWindow)();\n\n sinon.assert.match(result, {\n topmostLocation: 'https://example.com/some/page',\n location: 'https://example.com/some/page',\n reachedTop: true,\n isAmp: false,\n numIframes: 2,\n stack: [\n 'https://example.com/some/page',\n 'https://safe.frame/ad',\n 'https://safe.frame/ad'\n ],\n canonicalUrl: null,\n page: 'https://example.com/some/page',\n ref: null,\n domain: 'example.com',\n });\n });\n\n it('Should return the second iframe location with three cross-origin windows and no ancestorOrigins', () => {\n const testWindow = buildWindowTree(['https://example.com/some/page', 'https://safe.frame/ad', 'https://otherfr.ame/ad'], 'https://othersite.com/', 'https://canonical.example.com/');\n const result = detectReferer(testWindow)();\n\n sinon.assert.match(result, {\n topmostLocation: 'https://safe.frame/ad',\n location: null,\n reachedTop: false,\n isAmp: false,\n numIframes: 2,\n stack: [\n null,\n 'https://safe.frame/ad',\n 'https://otherfr.ame/ad'\n ],\n canonicalUrl: null,\n page: null,\n ref: null,\n domain: null\n });\n });\n\n it('Should return the top window origin with three cross-origin windows with ancestorOrigins', () => {\n const testWindow = buildWindowTree(['https://example.com/some/page', 'https://safe.frame/ad', 'https://otherfr.ame/ad'], 'https://othersite.com/', 'https://canonical.example.com/', true);\n const result = detectReferer(testWindow)();\n\n sinon.assert.match(result, {\n topmostLocation: 'https://example.com/',\n location: 'https://example.com/',\n reachedTop: false,\n isAmp: false,\n numIframes: 2,\n stack: [\n 'https://example.com/',\n 'https://safe.frame/ad',\n 'https://otherfr.ame/ad'\n ],\n canonicalUrl: null,\n page: 'https://example.com/',\n ref: null,\n domain: 'example.com'\n });\n });\n });\n\n describe('Cross-origin AMP page scenarios', () => {\n it('Should return the AMP page source and canonical URLs in an amp-ad iframe for a non-cached AMP page', () => {\n const testWindow = buildWindowTree(['https://example.com/some/page/amp/', 'https://ad-iframe.ampproject.org/ad']);\n\n testWindow.context = {\n sourceUrl: 'https://example.com/some/page/amp/',\n canonicalUrl: 'https://example.com/some/page/'\n };\n\n const result = detectReferer(testWindow)();\n\n sinon.assert.match(result, {\n location: 'https://example.com/some/page/amp/',\n topmostLocation: 'https://example.com/some/page/amp/',\n reachedTop: true,\n isAmp: true,\n numIframes: 1,\n stack: [\n 'https://example.com/some/page/amp/',\n 'https://ad-iframe.ampproject.org/ad'\n ],\n canonicalUrl: 'https://example.com/some/page/',\n page: 'https://example.com/some/page/amp/',\n ref: null,\n domain: 'example.com'\n });\n });\n\n it('Should return the AMP page source and canonical URLs in an amp-ad iframe for a cached AMP page on top', () => {\n const testWindow = buildWindowTree(['https://example-com.amp-cache.example.com/some/page/amp/', 'https://ad-iframe.ampproject.org/ad']);\n\n testWindow.context = {\n sourceUrl: 'https://example.com/some/page/amp/',\n canonicalUrl: 'https://example.com/some/page/'\n };\n\n const result = detectReferer(testWindow)();\n\n sinon.assert.match(result, {\n topmostLocation: 'https://example.com/some/page/amp/',\n location: 'https://example.com/some/page/amp/',\n reachedTop: true,\n isAmp: true,\n numIframes: 1,\n stack: [\n 'https://example.com/some/page/amp/',\n 'https://ad-iframe.ampproject.org/ad'\n ],\n canonicalUrl: 'https://example.com/some/page/',\n page: 'https://example.com/some/page/amp/',\n ref: null,\n domain: 'example.com'\n });\n });\n\n it('should respect pageUrl as the primary source of canonicalUrl', () => {\n config.setConfig({\n pageUrl: 'pub-defined'\n });\n const w = buildWindowTree(['https://example.com', 'https://amp.com']);\n w.context = {\n canonicalUrl: 'should-be-overridden'\n };\n expect(detectReferer(w)().canonicalUrl).to.equal('pub-defined');\n });\n\n describe('Cached AMP page in iframed search result', () => {\n it('Should return the AMP source and canonical URLs but with a null top-level stack location Without ancesorOrigins', () => {\n const testWindow = buildWindowTree(['https://google.com/amp/example-com/some/page/amp/', 'https://example-com.amp-cache.example.com/some/page/amp/', 'https://ad-iframe.ampproject.org/ad']);\n\n testWindow.context = {\n sourceUrl: 'https://example.com/some/page/amp/',\n canonicalUrl: 'https://example.com/some/page/'\n };\n\n const result = detectReferer(testWindow)();\n\n sinon.assert.match(result, {\n topmostLocation: 'https://example.com/some/page/amp/',\n location: 'https://example.com/some/page/amp/',\n reachedTop: false,\n isAmp: true,\n numIframes: 2,\n stack: [\n null,\n 'https://example.com/some/page/amp/',\n 'https://ad-iframe.ampproject.org/ad'\n ],\n canonicalUrl: 'https://example.com/some/page/',\n page: 'https://example.com/some/page/amp/',\n ref: null,\n domain: 'example.com',\n });\n });\n\n it('Should return the AMP source and canonical URLs and include the top window origin in the stack with ancesorOrigins', () => {\n const testWindow = buildWindowTree(['https://google.com/amp/example-com/some/page/amp/', 'https://example-com.amp-cache.example.com/some/page/amp/', 'https://ad-iframe.ampproject.org/ad'], null, null, true);\n\n testWindow.context = {\n sourceUrl: 'https://example.com/some/page/amp/',\n canonicalUrl: 'https://example.com/some/page/'\n };\n\n const result = detectReferer(testWindow)();\n\n sinon.assert.match(result, {\n location: 'https://example.com/some/page/amp/',\n topmostLocation: 'https://example.com/some/page/amp/',\n reachedTop: false,\n isAmp: true,\n numIframes: 2,\n stack: [\n 'https://google.com/',\n 'https://example.com/some/page/amp/',\n 'https://ad-iframe.ampproject.org/ad'\n ],\n canonicalUrl: 'https://example.com/some/page/',\n page: 'https://example.com/some/page/amp/',\n ref: null,\n domain: 'example.com'\n });\n });\n\n it('Should return the AMP source and canonical URLs and include the top window origin in the stack with ancesorOrigins and a friendly iframe under the amp-ad iframe', () => {\n const testWindow = buildWindowTree(['https://google.com/amp/example-com/some/page/amp/', 'https://example-com.amp-cache.example.com/some/page/amp/', 'https://ad-iframe.ampproject.org/ad', 'https://ad-iframe.ampproject.org/ad'], null, null, true);\n\n testWindow.parent.context = {\n sourceUrl: 'https://example.com/some/page/amp/',\n canonicalUrl: 'https://example.com/some/page/'\n };\n\n const result = detectReferer(testWindow)();\n\n sinon.assert.match(result, {\n location: 'https://example.com/some/page/amp/',\n topmostLocation: 'https://example.com/some/page/amp/',\n reachedTop: false,\n isAmp: true,\n numIframes: 3,\n stack: [\n 'https://google.com/',\n 'https://example.com/some/page/amp/',\n 'https://ad-iframe.ampproject.org/ad',\n 'https://ad-iframe.ampproject.org/ad'\n ],\n canonicalUrl: 'https://example.com/some/page/',\n page: 'https://example.com/some/page/amp/',\n ref: null,\n domain: 'example.com',\n });\n });\n });\n });\n});\n\ndescribe('ensureProtocol', () => {\n ['', null, undefined].forEach((val) => {\n it(`should return unchanged invalid input: ${val}`, () => {\n expect(ensureProtocol(val)).to.eql(val);\n });\n });\n\n ['http:', 'https:'].forEach((protocol) => {\n Object.entries({\n 'window.top.location.protocol': {\n top: {\n location: {\n protocol\n }\n },\n location: {\n protocol: 'unused'\n }\n },\n 'window.location.protocol': (() => {\n const w = {\n top: {},\n location: {\n protocol\n }\n };\n Object.defineProperty(w.top, 'location', {\n get: function () {\n throw new Error('cross-origin');\n }\n });\n return w;\n })(),\n }).forEach(([t, win]) => {\n describe(`when ${t} declares ${protocol}`, () => {\n Object.entries({\n 'declared': {\n url: 'proto://example.com/page',\n expect: 'proto://example.com/page'\n },\n 'relative': {\n url: '//example.com/page',\n expect: `${protocol}//example.com/page`\n },\n 'missing': {\n url: 'example.com/page',\n expect: `${protocol}//example.com/page`\n }\n }).forEach(([t, {url, expect: expected}]) => {\n it(`should handle URLs with ${t} protocols`, () => {\n expect(ensureProtocol(url, win)).to.equal(expected);\n });\n });\n });\n });\n });\n});\n\ndescribe('parseDomain', () => {\n Object.entries({\n 'www.example.com': 'www.example.com',\n 'example.com:443': 'example.com:443',\n 'www.sub.example.com': 'www.sub.example.com',\n 'example.com/page': 'example.com',\n 'www.example.com:443/page': 'www.example.com:443',\n 'http://www.example.com:443/page?query=value': 'www.example.com:443',\n '': undefined,\n }).forEach(([input, expected]) => {\n it(`should extract domain from '${input}' -> '${expected}`, () => {\n expect(parseDomain(input)).to.equal(expected);\n });\n });\n Object.entries({\n 'www.example.com': 'example.com',\n 'https://www.sub.example.com': 'sub.example.com',\n '//www.example.com:443': 'example.com:443',\n 'without.www.example.com': 'without.www.example.com'\n }).forEach(([input, expected]) => {\n it('should remove leading www if requested', () => {\n expect(parseDomain(input, {noLeadingWww: true})).to.equal(expected);\n })\n });\n Object.entries({\n 'example.com:443': 'example.com',\n 'https://sub.example.com': 'sub.example.com',\n 'http://sub.example.com:8443': 'sub.example.com'\n }).forEach(([input, expected]) => {\n it('should remove port if requested', () => {\n expect(parseDomain(input, {noPort: true})).to.equal(expected);\n })\n })\n});\n\ndescribe('cacheWithLocation', () => {\n let fn, win, cached;\n const RESULT = 'result';\n beforeEach(() => {\n fn = sinon.stub().callsFake(() => RESULT);\n win = {\n location: {\n },\n document: {\n querySelector: sinon.stub()\n }\n }\n });\n\n describe('when window is not on top', () => {\n beforeEach(() => {\n win.top = {};\n cached = cacheWithLocation(fn, win);\n })\n\n it('should not cache', () => {\n win.top = {};\n cached();\n expect(cached()).to.eql(RESULT);\n expect(fn.callCount).to.eql(2);\n });\n })\n\n describe('when window is on top', () => {\n beforeEach(() => {\n win.top = win;\n cached = cacheWithLocation(fn, win);\n })\n\n it('should not cache when canonical URL changes', () => {\n let canonical = 'foo';\n win.document.querySelector.callsFake(() => ({href: canonical}));\n cached();\n expect(cached()).to.eql(RESULT);\n canonical = 'bar';\n expect(cached()).to.eql(RESULT);\n expect(fn.callCount).to.eql(2);\n });\n\n it('should not cache when location changes', () => {\n win.location.href = 'foo';\n cached();\n expect(cached()).to.eql(RESULT);\n win.location.href = 'bar';\n expect(cached()).to.eql(RESULT);\n expect(fn.callCount).to.eql(2);\n })\n });\n})\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"refererDetection_spec.js","names":["cacheWithLocation","detectReferer","ensureProtocol","parseDomain","config","expect","buildWindowTree","describe","afterEach","resetConfig","it","testWindow","result","sinon","assert","match","topmostLocation","location","reachedTop","isAmp","numIframes","stack","canonicalUrl","page","ref","domain","setConfig","context","sourceUrl","pageUrl","w","to","equal","parent","undefined","forEach","val","eql","protocol","Object","entries","top","defineProperty","get","Error","_ref","t","win","url","_ref2","expected","_ref3","input","_ref4","noLeadingWww","_ref5","noPort","fn","cached","RESULT","beforeEach","stub","callsFake","document","querySelector","callCount","canonical","href"],"sourceRoot":"../../../..","sources":["test/spec/refererDetection_spec.js"],"sourcesContent":["import {cacheWithLocation, detectReferer, ensureProtocol, parseDomain} from 'src/refererDetection.js';\nimport {config} from 'src/config.js';\nimport {expect} from 'chai';\n\nimport { buildWindowTree } from '../helpers/refererDetectionHelper.js';\n\ndescribe('Referer detection', () => {\n afterEach(function () {\n config.resetConfig();\n });\n\n describe('Non cross-origin scenarios', () => {\n describe('No iframes', () => {\n it('Should return the current window location and no canonical URL', () => {\n const testWindow = buildWindowTree(['https://example.com/some/page'], 'https://othersite.com/');\n const result = detectReferer(testWindow)();\n\n sinon.assert.match(result, {\n topmostLocation: 'https://example.com/some/page',\n location: 'https://example.com/some/page',\n reachedTop: true,\n isAmp: false,\n numIframes: 0,\n stack: ['https://example.com/some/page'],\n canonicalUrl: null,\n page: 'https://example.com/some/page',\n ref: 'https://othersite.com/',\n domain: 'example.com',\n });\n });\n\n it('Should return the current window location and a canonical URL', () => {\n const testWindow = buildWindowTree(['https://example.com/some/page'], 'https://othersite.com/', 'https://example.com/canonical/page');\n const result = detectReferer(testWindow)();\n\n sinon.assert.match(result, {\n topmostLocation: 'https://example.com/some/page',\n location: 'https://example.com/some/page',\n reachedTop: true,\n isAmp: false,\n numIframes: 0,\n stack: ['https://example.com/some/page'],\n canonicalUrl: 'https://example.com/canonical/page',\n page: 'https://example.com/some/page',\n ref: 'https://othersite.com/',\n domain: 'example.com'\n });\n });\n\n it('Should set page and canonical to pageUrl value set in config if present, even if canonical url is also present in head', () => {\n config.setConfig({'pageUrl': 'https://www.set-from-config.com/path'});\n const testWindow = buildWindowTree(['https://example.com/some/page'], 'https://othersite.com/', 'https://example.com/canonical/page');\n const result = detectReferer(testWindow)();\n\n sinon.assert.match(result, {\n topmostLocation: 'https://example.com/some/page',\n location: 'https://example.com/some/page',\n reachedTop: true,\n isAmp: false,\n numIframes: 0,\n stack: ['https://example.com/some/page'],\n canonicalUrl: 'https://www.set-from-config.com/path',\n page: 'https://www.set-from-config.com/path',\n ref: 'https://othersite.com/',\n domain: 'www.set-from-config.com'\n });\n });\n\n it('Should set page with query params if canonical url is present without query params but the current page does have them', () => {\n config.setConfig({'pageUrl': 'https://www.set-from-config.com/path'});\n const testWindow = buildWindowTree(['https://example.com/some/page?query1=123&query2=456'], 'https://othersite.com/', 'https://example.com/canonical/page');\n const result = detectReferer(testWindow)();\n\n sinon.assert.match(result, {\n topmostLocation: 'https://example.com/some/page?query1=123&query2=456',\n location: 'https://example.com/some/page?query1=123&query2=456',\n reachedTop: true,\n isAmp: false,\n numIframes: 0,\n stack: ['https://example.com/some/page?query1=123&query2=456'],\n canonicalUrl: 'https://www.set-from-config.com/path',\n page: 'https://www.set-from-config.com/path?query1=123&query2=456',\n ref: 'https://othersite.com/',\n domain: 'www.set-from-config.com'\n });\n });\n });\n\n describe('Friendly iframes', () => {\n it('Should return the top window location and no canonical URL', () => {\n const testWindow = buildWindowTree(['https://example.com/some/page', 'https://example.com/other/page', 'https://example.com/third/page'], 'https://othersite.com/');\n const result = detectReferer(testWindow)();\n\n sinon.assert.match(result, {\n topmostLocation: 'https://example.com/some/page',\n location: 'https://example.com/some/page',\n reachedTop: true,\n isAmp: false,\n numIframes: 2,\n stack: [\n 'https://example.com/some/page',\n 'https://example.com/other/page',\n 'https://example.com/third/page'\n ],\n canonicalUrl: null,\n page: 'https://example.com/some/page',\n ref: 'https://othersite.com/',\n domain: 'example.com'\n });\n });\n\n it('Should return the top window location and a canonical URL', () => {\n const testWindow = buildWindowTree(['https://example.com/some/page', 'https://example.com/other/page', 'https://example.com/third/page'], 'https://othersite.com/', 'https://example.com/canonical/page');\n const result = detectReferer(testWindow)();\n\n sinon.assert.match(result, {\n topmostLocation: 'https://example.com/some/page',\n location: 'https://example.com/some/page',\n reachedTop: true,\n isAmp: false,\n numIframes: 2,\n stack: [\n 'https://example.com/some/page',\n 'https://example.com/other/page',\n 'https://example.com/third/page'\n ],\n canonicalUrl: 'https://example.com/canonical/page',\n page: 'https://example.com/some/page',\n ref: 'https://othersite.com/',\n domain: 'example.com'\n });\n });\n\n it('Should override canonical URL (and page) with config pageUrl', () => {\n config.setConfig({'pageUrl': 'https://testurl.com'});\n\n const testWindow = buildWindowTree(['https://example.com/some/page', 'https://example.com/other/page', 'https://example.com/third/page'], 'https://othersite.com/', 'https://example.com/canonical/page');\n const result = detectReferer(testWindow)();\n\n sinon.assert.match(result, {\n topmostLocation: 'https://example.com/some/page',\n location: 'https://example.com/some/page',\n reachedTop: true,\n isAmp: false,\n numIframes: 2,\n stack: [\n 'https://example.com/some/page',\n 'https://example.com/other/page',\n 'https://example.com/third/page'\n ],\n canonicalUrl: 'https://testurl.com',\n page: 'https://testurl.com',\n ref: 'https://othersite.com/',\n domain: 'testurl.com'\n });\n });\n });\n });\n\n describe('Cross-origin scenarios', () => {\n it('Should return the top URL and no canonical URL with one cross-origin iframe', () => {\n const testWindow = buildWindowTree(['https://example.com/some/page', 'https://safe.frame/ad'], 'https://othersite.com/', 'https://canonical.example.com/');\n const result = detectReferer(testWindow)();\n\n sinon.assert.match(result, {\n location: 'https://example.com/some/page',\n topmostLocation: 'https://example.com/some/page',\n reachedTop: true,\n isAmp: false,\n numIframes: 1,\n stack: [\n 'https://example.com/some/page',\n 'https://safe.frame/ad'\n ],\n canonicalUrl: null,\n page: 'https://example.com/some/page',\n ref: null,\n domain: 'example.com'\n });\n });\n\n it('Should return the top URL and no canonical URL with one cross-origin iframe and one friendly iframe', () => {\n const testWindow = buildWindowTree(['https://example.com/some/page', 'https://safe.frame/ad', 'https://safe.frame/ad'], 'https://othersite.com/', 'https://canonical.example.com/');\n const result = detectReferer(testWindow)();\n\n sinon.assert.match(result, {\n topmostLocation: 'https://example.com/some/page',\n location: 'https://example.com/some/page',\n reachedTop: true,\n isAmp: false,\n numIframes: 2,\n stack: [\n 'https://example.com/some/page',\n 'https://safe.frame/ad',\n 'https://safe.frame/ad'\n ],\n canonicalUrl: null,\n page: 'https://example.com/some/page',\n ref: null,\n domain: 'example.com',\n });\n });\n\n it('Should return the second iframe location with three cross-origin windows and no ancestorOrigins', () => {\n const testWindow = buildWindowTree(['https://example.com/some/page', 'https://safe.frame/ad', 'https://otherfr.ame/ad'], 'https://othersite.com/', 'https://canonical.example.com/');\n const result = detectReferer(testWindow)();\n\n sinon.assert.match(result, {\n topmostLocation: 'https://safe.frame/ad',\n location: null,\n reachedTop: false,\n isAmp: false,\n numIframes: 2,\n stack: [\n null,\n 'https://safe.frame/ad',\n 'https://otherfr.ame/ad'\n ],\n canonicalUrl: null,\n page: null,\n ref: null,\n domain: null\n });\n });\n\n it('Should return the top window origin with three cross-origin windows with ancestorOrigins', () => {\n const testWindow = buildWindowTree(['https://example.com/some/page', 'https://safe.frame/ad', 'https://otherfr.ame/ad'], 'https://othersite.com/', 'https://canonical.example.com/', true);\n const result = detectReferer(testWindow)();\n\n sinon.assert.match(result, {\n topmostLocation: 'https://example.com/',\n location: 'https://example.com/',\n reachedTop: false,\n isAmp: false,\n numIframes: 2,\n stack: [\n 'https://example.com/',\n 'https://safe.frame/ad',\n 'https://otherfr.ame/ad'\n ],\n canonicalUrl: null,\n page: 'https://example.com/',\n ref: null,\n domain: 'example.com'\n });\n });\n });\n\n describe('Cross-origin AMP page scenarios', () => {\n it('Should return the AMP page source and canonical URLs in an amp-ad iframe for a non-cached AMP page', () => {\n const testWindow = buildWindowTree(['https://example.com/some/page/amp/', 'https://ad-iframe.ampproject.org/ad']);\n\n testWindow.context = {\n sourceUrl: 'https://example.com/some/page/amp/',\n canonicalUrl: 'https://example.com/some/page/'\n };\n\n const result = detectReferer(testWindow)();\n\n sinon.assert.match(result, {\n location: 'https://example.com/some/page/amp/',\n topmostLocation: 'https://example.com/some/page/amp/',\n reachedTop: true,\n isAmp: true,\n numIframes: 1,\n stack: [\n 'https://example.com/some/page/amp/',\n 'https://ad-iframe.ampproject.org/ad'\n ],\n canonicalUrl: 'https://example.com/some/page/',\n page: 'https://example.com/some/page/amp/',\n ref: null,\n domain: 'example.com'\n });\n });\n\n it('Should return the AMP page source and canonical URLs in an amp-ad iframe for a cached AMP page on top', () => {\n const testWindow = buildWindowTree(['https://example-com.amp-cache.example.com/some/page/amp/', 'https://ad-iframe.ampproject.org/ad']);\n\n testWindow.context = {\n sourceUrl: 'https://example.com/some/page/amp/',\n canonicalUrl: 'https://example.com/some/page/'\n };\n\n const result = detectReferer(testWindow)();\n\n sinon.assert.match(result, {\n topmostLocation: 'https://example.com/some/page/amp/',\n location: 'https://example.com/some/page/amp/',\n reachedTop: true,\n isAmp: true,\n numIframes: 1,\n stack: [\n 'https://example.com/some/page/amp/',\n 'https://ad-iframe.ampproject.org/ad'\n ],\n canonicalUrl: 'https://example.com/some/page/',\n page: 'https://example.com/some/page/amp/',\n ref: null,\n domain: 'example.com'\n });\n });\n\n it('should respect pageUrl as the primary source of canonicalUrl', () => {\n config.setConfig({\n pageUrl: 'pub-defined'\n });\n const w = buildWindowTree(['https://example.com', 'https://amp.com']);\n w.context = {\n canonicalUrl: 'should-be-overridden'\n };\n expect(detectReferer(w)().canonicalUrl).to.equal('pub-defined');\n });\n\n describe('Cached AMP page in iframed search result', () => {\n it('Should return the AMP source and canonical URLs but with a null top-level stack location Without ancesorOrigins', () => {\n const testWindow = buildWindowTree(['https://google.com/amp/example-com/some/page/amp/', 'https://example-com.amp-cache.example.com/some/page/amp/', 'https://ad-iframe.ampproject.org/ad']);\n\n testWindow.context = {\n sourceUrl: 'https://example.com/some/page/amp/',\n canonicalUrl: 'https://example.com/some/page/'\n };\n\n const result = detectReferer(testWindow)();\n\n sinon.assert.match(result, {\n topmostLocation: 'https://example.com/some/page/amp/',\n location: 'https://example.com/some/page/amp/',\n reachedTop: false,\n isAmp: true,\n numIframes: 2,\n stack: [\n null,\n 'https://example.com/some/page/amp/',\n 'https://ad-iframe.ampproject.org/ad'\n ],\n canonicalUrl: 'https://example.com/some/page/',\n page: 'https://example.com/some/page/amp/',\n ref: null,\n domain: 'example.com',\n });\n });\n\n it('Should return the AMP source and canonical URLs and include the top window origin in the stack with ancesorOrigins', () => {\n const testWindow = buildWindowTree(['https://google.com/amp/example-com/some/page/amp/', 'https://example-com.amp-cache.example.com/some/page/amp/', 'https://ad-iframe.ampproject.org/ad'], null, null, true);\n\n testWindow.context = {\n sourceUrl: 'https://example.com/some/page/amp/',\n canonicalUrl: 'https://example.com/some/page/'\n };\n\n const result = detectReferer(testWindow)();\n\n sinon.assert.match(result, {\n location: 'https://example.com/some/page/amp/',\n topmostLocation: 'https://example.com/some/page/amp/',\n reachedTop: false,\n isAmp: true,\n numIframes: 2,\n stack: [\n 'https://google.com/',\n 'https://example.com/some/page/amp/',\n 'https://ad-iframe.ampproject.org/ad'\n ],\n canonicalUrl: 'https://example.com/some/page/',\n page: 'https://example.com/some/page/amp/',\n ref: null,\n domain: 'example.com'\n });\n });\n\n it('Should return the AMP source and canonical URLs and include the top window origin in the stack with ancesorOrigins and a friendly iframe under the amp-ad iframe', () => {\n const testWindow = buildWindowTree(['https://google.com/amp/example-com/some/page/amp/', 'https://example-com.amp-cache.example.com/some/page/amp/', 'https://ad-iframe.ampproject.org/ad', 'https://ad-iframe.ampproject.org/ad'], null, null, true);\n\n testWindow.parent.context = {\n sourceUrl: 'https://example.com/some/page/amp/',\n canonicalUrl: 'https://example.com/some/page/'\n };\n\n const result = detectReferer(testWindow)();\n\n sinon.assert.match(result, {\n location: 'https://example.com/some/page/amp/',\n topmostLocation: 'https://example.com/some/page/amp/',\n reachedTop: false,\n isAmp: true,\n numIframes: 3,\n stack: [\n 'https://google.com/',\n 'https://example.com/some/page/amp/',\n 'https://ad-iframe.ampproject.org/ad',\n 'https://ad-iframe.ampproject.org/ad'\n ],\n canonicalUrl: 'https://example.com/some/page/',\n page: 'https://example.com/some/page/amp/',\n ref: null,\n domain: 'example.com',\n });\n });\n });\n });\n});\n\ndescribe('ensureProtocol', () => {\n ['', null, undefined].forEach((val) => {\n it(`should return unchanged invalid input: ${val}`, () => {\n expect(ensureProtocol(val)).to.eql(val);\n });\n });\n\n ['http:', 'https:'].forEach((protocol) => {\n Object.entries({\n 'window.top.location.protocol': {\n top: {\n location: {\n protocol\n }\n },\n location: {\n protocol: 'unused'\n }\n },\n 'window.location.protocol': (() => {\n const w = {\n top: {},\n location: {\n protocol\n }\n };\n Object.defineProperty(w.top, 'location', {\n get: function () {\n throw new Error('cross-origin');\n }\n });\n return w;\n })(),\n }).forEach(([t, win]) => {\n describe(`when ${t} declares ${protocol}`, () => {\n Object.entries({\n 'declared': {\n url: 'proto://example.com/page',\n expect: 'proto://example.com/page'\n },\n 'relative': {\n url: '//example.com/page',\n expect: `${protocol}//example.com/page`\n },\n 'missing': {\n url: 'example.com/page',\n expect: `${protocol}//example.com/page`\n }\n }).forEach(([t, {url, expect: expected}]) => {\n it(`should handle URLs with ${t} protocols`, () => {\n expect(ensureProtocol(url, win)).to.equal(expected);\n });\n });\n });\n });\n });\n});\n\ndescribe('parseDomain', () => {\n Object.entries({\n 'www.example.com': 'www.example.com',\n 'example.com:443': 'example.com:443',\n 'www.sub.example.com': 'www.sub.example.com',\n 'example.com/page': 'example.com',\n 'www.example.com:443/page': 'www.example.com:443',\n 'http://www.example.com:443/page?query=value': 'www.example.com:443',\n '': undefined,\n }).forEach(([input, expected]) => {\n it(`should extract domain from '${input}' -> '${expected}`, () => {\n expect(parseDomain(input)).to.equal(expected);\n });\n });\n Object.entries({\n 'www.example.com': 'example.com',\n 'https://www.sub.example.com': 'sub.example.com',\n '//www.example.com:443': 'example.com:443',\n 'without.www.example.com': 'without.www.example.com'\n }).forEach(([input, expected]) => {\n it('should remove leading www if requested', () => {\n expect(parseDomain(input, {noLeadingWww: true})).to.equal(expected);\n })\n });\n Object.entries({\n 'example.com:443': 'example.com',\n 'https://sub.example.com': 'sub.example.com',\n 'http://sub.example.com:8443': 'sub.example.com'\n }).forEach(([input, expected]) => {\n it('should remove port if requested', () => {\n expect(parseDomain(input, {noPort: true})).to.equal(expected);\n })\n })\n});\n\ndescribe('cacheWithLocation', () => {\n let fn, win, cached;\n const RESULT = 'result';\n beforeEach(() => {\n fn = sinon.stub().callsFake(() => RESULT);\n win = {\n location: {\n },\n document: {\n querySelector: sinon.stub()\n }\n }\n });\n\n describe('when window is not on top', () => {\n beforeEach(() => {\n win.top = {};\n cached = cacheWithLocation(fn, win);\n })\n\n it('should not cache', () => {\n win.top = {};\n cached();\n expect(cached()).to.eql(RESULT);\n expect(fn.callCount).to.eql(2);\n });\n })\n\n describe('when window is on top', () => {\n beforeEach(() => {\n win.top = win;\n cached = cacheWithLocation(fn, win);\n })\n\n it('should not cache when canonical URL changes', () => {\n let canonical = 'foo';\n win.document.querySelector.callsFake(() => ({href: canonical}));\n cached();\n expect(cached()).to.eql(RESULT);\n canonical = 'bar';\n expect(cached()).to.eql(RESULT);\n expect(fn.callCount).to.eql(2);\n });\n\n it('should not cache when location changes', () => {\n win.location.href = 'foo';\n cached();\n expect(cached()).to.eql(RESULT);\n win.location.href = 'bar';\n expect(cached()).to.eql(RESULT);\n expect(fn.callCount).to.eql(2);\n })\n });\n})\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -5,7 +5,7 @@ import * as utils from 'src/utils.js';
|
|
|
5
5
|
import { hook } from '../../../../src/hook.js';
|
|
6
6
|
import { MODULE_TYPE_BIDDER, MODULE_TYPE_PREBID } from '../../../../src/activities/modules.js';
|
|
7
7
|
import { ACTIVITY_ACCESS_DEVICE } from '../../../../src/activities/activities.js';
|
|
8
|
-
import { ACTIVITY_PARAM_COMPONENT_NAME, ACTIVITY_PARAM_COMPONENT_TYPE, ACTIVITY_PARAM_STORAGE_KEY, ACTIVITY_PARAM_STORAGE_TYPE } from '../../../../src/activities/params.js';
|
|
8
|
+
import { ACTIVITY_PARAM_COMPONENT_NAME, ACTIVITY_PARAM_COMPONENT_TYPE, ACTIVITY_PARAM_STORAGE_WRITE, ACTIVITY_PARAM_STORAGE_KEY, ACTIVITY_PARAM_STORAGE_TYPE } from '../../../../src/activities/params.js';
|
|
9
9
|
import { activityParams } from '../../../../src/activities/activityParams.js';
|
|
10
10
|
describe('storage manager', function () {
|
|
11
11
|
before(() => {
|
|
@@ -77,6 +77,23 @@ describe('storage manager', function () {
|
|
|
77
77
|
[ACTIVITY_PARAM_STORAGE_KEY]: 'foo'
|
|
78
78
|
}));
|
|
79
79
|
});
|
|
80
|
+
it('should pass write = false on reads', () => {
|
|
81
|
+
mkManager(MODULE_TYPE_PREBID, 'mockMod').getCookie('foo');
|
|
82
|
+
sinon.assert.calledWith(isAllowed, ACTIVITY_ACCESS_DEVICE, sinon.match({
|
|
83
|
+
[ACTIVITY_PARAM_STORAGE_WRITE]: false
|
|
84
|
+
}));
|
|
85
|
+
});
|
|
86
|
+
it('should pass write = true on writes', () => {
|
|
87
|
+
const mgr = mkManager(MODULE_TYPE_PREBID, 'mockMod');
|
|
88
|
+
mgr.setDataInLocalStorage('foo', 'bar');
|
|
89
|
+
try {
|
|
90
|
+
sinon.assert.calledWith(isAllowed, ACTIVITY_ACCESS_DEVICE, sinon.match({
|
|
91
|
+
[ACTIVITY_PARAM_STORAGE_WRITE]: true
|
|
92
|
+
}));
|
|
93
|
+
} finally {
|
|
94
|
+
mgr.removeDataFromLocalStorage('foo');
|
|
95
|
+
}
|
|
96
|
+
});
|
|
80
97
|
it('should NOT pass storage key if advertiseKeys = false', () => {
|
|
81
98
|
newStorageManager({
|
|
82
99
|
moduleType: MODULE_TYPE_PREBID,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storageManager_spec.js","names":["deviceAccessRule","getCoreStorageManager","newStorageManager","resetData","STORAGE_TYPE_COOKIES","STORAGE_TYPE_LOCALSTORAGE","storageAllowedRule","storageCallbacks","adapterManager","config","utils","hook","MODULE_TYPE_BIDDER","MODULE_TYPE_PREBID","ACTIVITY_ACCESS_DEVICE","ACTIVITY_PARAM_COMPONENT_NAME","ACTIVITY_PARAM_COMPONENT_TYPE","ACTIVITY_PARAM_STORAGE_KEY","ACTIVITY_PARAM_STORAGE_TYPE","activityParams","describe","before","ready","beforeEach","afterEach","resetConfig","it","coreStorage","date","Date","setTime","getTime","expires","toUTCString","setCookie","expect","getCookie","to","equal","noop","sinon","spy","localStorageIsEnabled","cookiesAreEnabled","setDataInLocalStorage","getDataFromLocalStorage","removeDataFromLocalStorage","hasLocalStorage","setDataInSessionStorage","getDataFromSessionStorage","removeDataFromSessionStorage","hasSessionStorage","length","deviceAccessSpy","storage","calledOnce","restore","isAllowed","mkManager","moduleType","moduleName","stub","assert","calledWith","match","advertiseKeys","getCall","args","not","exist","be","undefined","forEach","type","returns","mgr","registerBidAdapter","callBids","getSpec","aliasBidAdapter","runWithBidder","Storage","charAt","toUpperCase","substring","errorLogSpy","originalStorage","storageMock","get","Error","window","Object","defineProperty","val","null","calledThrice","store","clear","storageMgr","setItem","true","eq","getItem","setConfig","deviceAccess","allow","ALLOWED_BIDDER","ALLOW_KEY","mockBidderSettings","bidder","key","entries","disallowed","allowed","_ref","t","bidderCode","isBidderAllowed","configValues","shouldWork","html5","cookie","_ref2","configValue","_ref3","desc","res"],"sourceRoot":"../../../../../..","sources":["test/spec/unit/core/storageManager_spec.js"],"sourcesContent":["import {\n deviceAccessRule,\n getCoreStorageManager,\n newStorageManager,\n resetData,\n STORAGE_TYPE_COOKIES,\n STORAGE_TYPE_LOCALSTORAGE,\n storageAllowedRule,\n storageCallbacks,\n} from 'src/storageManager.js';\nimport adapterManager from 'src/adapterManager.js';\nimport {config} from 'src/config.js';\nimport * as utils from 'src/utils.js';\nimport {hook} from '../../../../src/hook.js';\nimport {MODULE_TYPE_BIDDER, MODULE_TYPE_PREBID} from '../../../../src/activities/modules.js';\nimport {ACTIVITY_ACCESS_DEVICE} from '../../../../src/activities/activities.js';\nimport {\n ACTIVITY_PARAM_COMPONENT_NAME,\n ACTIVITY_PARAM_COMPONENT_TYPE, ACTIVITY_PARAM_STORAGE_KEY,\n ACTIVITY_PARAM_STORAGE_TYPE\n} from '../../../../src/activities/params.js';\nimport {activityParams} from '../../../../src/activities/activityParams.js';\n\ndescribe('storage manager', function() {\n before(() => {\n hook.ready();\n });\n\n beforeEach(function () {\n resetData();\n });\n\n afterEach(function () {\n config.resetConfig();\n })\n\n it('should allow to set cookie for core modules without checking gdpr enforcements', function () {\n const coreStorage = getCoreStorageManager();\n const date = new Date();\n date.setTime(date.getTime() + (24 * 60 * 60 * 1000));\n const expires = date.toUTCString();\n coreStorage.setCookie('hello', 'world', expires);\n expect(coreStorage.getCookie('hello')).to.equal('world');\n });\n\n it('should add done callbacks to storageCallbacks array', function () {\n const noop = sinon.spy();\n const coreStorage = newStorageManager();\n\n coreStorage.setCookie('foo', 'bar', null, null, null, noop);\n coreStorage.getCookie('foo', noop);\n coreStorage.localStorageIsEnabled(noop);\n coreStorage.cookiesAreEnabled(noop);\n coreStorage.setDataInLocalStorage('foo', 'bar', noop);\n coreStorage.getDataFromLocalStorage('foo', noop);\n coreStorage.removeDataFromLocalStorage('foo', noop);\n coreStorage.hasLocalStorage(noop);\n coreStorage.setDataInSessionStorage('foo', 'bar', noop);\n coreStorage.getDataFromSessionStorage('foo', noop);\n coreStorage.removeDataFromSessionStorage('foo', noop);\n coreStorage.hasSessionStorage(noop);\n\n expect(storageCallbacks.length).to.equal(12);\n });\n\n it('should allow bidder to access device if gdpr enforcement module is not included', function () {\n const deviceAccessSpy = sinon.spy(utils, 'hasDeviceAccess');\n const storage = newStorageManager();\n storage.setCookie('foo1', 'baz1');\n expect(deviceAccessSpy.calledOnce).to.equal(true);\n deviceAccessSpy.restore();\n });\n\n describe(`accessDevice activity check`, () => {\n let isAllowed;\n\n function mkManager(moduleType, moduleName) {\n return newStorageManager({moduleType, moduleName}, {isAllowed});\n }\n\n beforeEach(() => {\n isAllowed = sinon.stub();\n });\n\n it('should pass module type and name as activity params', () => {\n mkManager(MODULE_TYPE_PREBID, 'mockMod').localStorageIsEnabled();\n sinon.assert.calledWith(isAllowed, ACTIVITY_ACCESS_DEVICE, sinon.match({\n [ACTIVITY_PARAM_COMPONENT_TYPE]: MODULE_TYPE_PREBID,\n [ACTIVITY_PARAM_COMPONENT_NAME]: 'mockMod',\n [ACTIVITY_PARAM_STORAGE_TYPE]: STORAGE_TYPE_LOCALSTORAGE\n }));\n });\n\n it('should pass storage key as activity param', () => {\n mkManager(MODULE_TYPE_PREBID, 'mockMod').getCookie('foo');\n sinon.assert.calledWith(isAllowed, ACTIVITY_ACCESS_DEVICE, sinon.match({\n [ACTIVITY_PARAM_STORAGE_TYPE]: STORAGE_TYPE_COOKIES,\n [ACTIVITY_PARAM_STORAGE_KEY]: 'foo',\n }));\n });\n\n it('should NOT pass storage key if advertiseKeys = false', () => {\n newStorageManager({\n moduleType: MODULE_TYPE_PREBID,\n moduleName: 'mockMod',\n advertiseKeys: false\n }, {isAllowed}).getCookie('foo');\n expect(isAllowed.getCall(0).args[1][ACTIVITY_PARAM_STORAGE_KEY]).to.not.exist;\n })\n\n it('should not pass storage key when not relevant', () => {\n mkManager(MODULE_TYPE_PREBID, 'mockMod').cookiesAreEnabled();\n expect(isAllowed.getCall(0).args[1][ACTIVITY_PARAM_STORAGE_KEY]).to.be.undefined;\n });\n\n ['Local', 'Session'].forEach(type => {\n describe(`${type} storage`, () => {\n it('should deny access if activity is denied', () => {\n isAllowed.returns(false);\n const mgr = mkManager(MODULE_TYPE_PREBID, 'mockMod');\n mgr[`setDataIn${type}Storage`]('testKey', 'val');\n expect(mgr[`getDataFrom${type}Storage`]('testKey')).to.not.exist;\n });\n })\n })\n\n it('should use bidder aliases when possible', () => {\n adapterManager.registerBidAdapter({callBids: sinon.stub(), getSpec: () => ({})}, 'mockBidder');\n adapterManager.aliasBidAdapter('mockBidder', 'mockAlias');\n const mgr = mkManager(MODULE_TYPE_BIDDER, 'mockBidder');\n config.runWithBidder('mockAlias', () => mgr.cookiesAreEnabled());\n sinon.assert.calledWith(isAllowed, ACTIVITY_ACCESS_DEVICE, sinon.match({\n [ACTIVITY_PARAM_COMPONENT_NAME]: 'mockAlias'\n }))\n })\n });\n\n ['localStorage', 'sessionStorage'].forEach(storage => {\n const Storage = storage.charAt(0).toUpperCase() + storage.substring(1);\n\n describe(`${storage} forbidden access in 3rd-party context`, function () {\n let errorLogSpy;\n let originalStorage;\n const storageMock = {\n get: () => {\n throw Error\n }\n };\n\n beforeEach(function () {\n originalStorage = window[storage];\n Object.defineProperty(window, storage, storageMock);\n errorLogSpy = sinon.spy(utils, 'logError');\n });\n\n afterEach(function () {\n Object.defineProperty(window, storage, {get: () => originalStorage});\n errorLogSpy.restore();\n })\n\n it('should not throw if storage is not accessible when setting/getting/removing', function () {\n const coreStorage = newStorageManager();\n\n coreStorage[`setDataIn${Storage}`]('key', 'value');\n const val = coreStorage[`getDataFrom${Storage}`]('key');\n coreStorage[`removeDataFrom${Storage}`]('key');\n\n expect(val).to.be.null;\n sinon.assert.calledThrice(errorLogSpy);\n });\n });\n });\n\n ['localStorage', 'sessionStorage'].forEach(storage => {\n describe(`${storage} is enabled`, function () {\n let store;\n beforeEach(function () {\n store = window[storage];\n store.clear();\n });\n\n afterEach(function () {\n store.clear();\n })\n\n it('should remove side-effect after checking', function () {\n const storageMgr = newStorageManager();\n\n store.setItem('unrelated', 'dummy');\n const val = storageMgr[`${storage}IsEnabled`]();\n\n expect(val).to.be.true;\n expect(store.length).to.be.eq(1);\n expect(store.getItem('unrelated')).to.be.eq('dummy');\n });\n });\n });\n\n describe('deviceAccess control', () => {\n afterEach(() => {\n config.resetConfig()\n });\n\n it('should allow by default', () => {\n config.resetConfig();\n expect(deviceAccessRule()).to.not.exist;\n });\n\n it('should deny access when set', () => {\n config.setConfig({deviceAccess: false});\n sinon.assert.match(deviceAccessRule(), {allow: false});\n })\n });\n\n describe('allowStorage access control rule', () => {\n const ALLOWED_BIDDER = 'allowed-bidder';\n const ALLOW_KEY = 'storageAllowed';\n\n function mockBidderSettings(val) {\n return {\n get(bidder, key) {\n if (bidder === ALLOWED_BIDDER && key === ALLOW_KEY) {\n return val;\n } else {\n return undefined;\n }\n }\n }\n }\n\n Object.entries({\n disallowed: ['denied_bidder', false],\n allowed: [ALLOWED_BIDDER, true]\n }).forEach(([t, [bidderCode, isBidderAllowed]]) => {\n describe(`for ${t} bidders`, () => {\n Object.entries({\n 'all': {\n configValues: [\n true,\n ['html5', 'cookie']\n ],\n shouldWork: {\n html5: true,\n cookie: true\n }\n },\n 'none': {\n configValues: [\n false,\n []\n ],\n shouldWork: {\n html5: false,\n cookie: false\n }\n },\n 'localStorage': {\n configValues: [\n 'html5',\n ['html5']\n ],\n shouldWork: {\n html5: true,\n cookie: false\n }\n },\n 'cookies': {\n configValues: [\n 'cookie',\n ['cookie']\n ],\n shouldWork: {\n html5: false,\n cookie: true\n }\n }\n }).forEach(([t, {configValues, shouldWork: {cookie, html5}}]) => {\n describe(`when ${t} is allowed`, () => {\n configValues.forEach(configValue => describe(`storageAllowed = ${configValue}`, () => {\n Object.entries({\n [STORAGE_TYPE_LOCALSTORAGE]: 'allow localStorage',\n [STORAGE_TYPE_COOKIES]: 'allow cookies'\n }).forEach(([type, desc]) => {\n const shouldWork = isBidderAllowed && ({html5, cookie})[type];\n it(`${shouldWork ? '' : 'NOT'} ${desc}`, () => {\n const res = storageAllowedRule(activityParams(MODULE_TYPE_BIDDER, bidderCode, {\n [ACTIVITY_PARAM_STORAGE_TYPE]: type\n }), mockBidderSettings(configValue));\n if (shouldWork) {\n expect(res).to.not.exist;\n } else {\n sinon.assert.match(res, {allow: false});\n }\n });\n })\n }));\n });\n });\n });\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"storageManager_spec.js","names":["deviceAccessRule","getCoreStorageManager","newStorageManager","resetData","STORAGE_TYPE_COOKIES","STORAGE_TYPE_LOCALSTORAGE","storageAllowedRule","storageCallbacks","adapterManager","config","utils","hook","MODULE_TYPE_BIDDER","MODULE_TYPE_PREBID","ACTIVITY_ACCESS_DEVICE","ACTIVITY_PARAM_COMPONENT_NAME","ACTIVITY_PARAM_COMPONENT_TYPE","ACTIVITY_PARAM_STORAGE_WRITE","ACTIVITY_PARAM_STORAGE_KEY","ACTIVITY_PARAM_STORAGE_TYPE","activityParams","describe","before","ready","beforeEach","afterEach","resetConfig","it","coreStorage","date","Date","setTime","getTime","expires","toUTCString","setCookie","expect","getCookie","to","equal","noop","sinon","spy","localStorageIsEnabled","cookiesAreEnabled","setDataInLocalStorage","getDataFromLocalStorage","removeDataFromLocalStorage","hasLocalStorage","setDataInSessionStorage","getDataFromSessionStorage","removeDataFromSessionStorage","hasSessionStorage","length","deviceAccessSpy","storage","calledOnce","restore","isAllowed","mkManager","moduleType","moduleName","stub","assert","calledWith","match","mgr","advertiseKeys","getCall","args","not","exist","be","undefined","forEach","type","returns","registerBidAdapter","callBids","getSpec","aliasBidAdapter","runWithBidder","Storage","charAt","toUpperCase","substring","errorLogSpy","originalStorage","storageMock","get","Error","window","Object","defineProperty","val","null","calledThrice","store","clear","storageMgr","setItem","true","eq","getItem","setConfig","deviceAccess","allow","ALLOWED_BIDDER","ALLOW_KEY","mockBidderSettings","bidder","key","entries","disallowed","allowed","_ref","t","bidderCode","isBidderAllowed","configValues","shouldWork","html5","cookie","_ref2","configValue","_ref3","desc","res"],"sourceRoot":"../../../../../..","sources":["test/spec/unit/core/storageManager_spec.js"],"sourcesContent":["import {\n deviceAccessRule,\n getCoreStorageManager,\n newStorageManager,\n resetData,\n STORAGE_TYPE_COOKIES,\n STORAGE_TYPE_LOCALSTORAGE,\n storageAllowedRule,\n storageCallbacks,\n} from 'src/storageManager.js';\nimport adapterManager from 'src/adapterManager.js';\nimport {config} from 'src/config.js';\nimport * as utils from 'src/utils.js';\nimport {hook} from '../../../../src/hook.js';\nimport {MODULE_TYPE_BIDDER, MODULE_TYPE_PREBID} from '../../../../src/activities/modules.js';\nimport {ACTIVITY_ACCESS_DEVICE} from '../../../../src/activities/activities.js';\nimport {\n ACTIVITY_PARAM_COMPONENT_NAME,\n ACTIVITY_PARAM_COMPONENT_TYPE, ACTIVITY_PARAM_STORAGE_WRITE, ACTIVITY_PARAM_STORAGE_KEY,\n ACTIVITY_PARAM_STORAGE_TYPE\n} from '../../../../src/activities/params.js';\nimport {activityParams} from '../../../../src/activities/activityParams.js';\n\ndescribe('storage manager', function() {\n before(() => {\n hook.ready();\n });\n\n beforeEach(function () {\n resetData();\n });\n\n afterEach(function () {\n config.resetConfig();\n })\n\n it('should allow to set cookie for core modules without checking gdpr enforcements', function () {\n const coreStorage = getCoreStorageManager();\n const date = new Date();\n date.setTime(date.getTime() + (24 * 60 * 60 * 1000));\n const expires = date.toUTCString();\n coreStorage.setCookie('hello', 'world', expires);\n expect(coreStorage.getCookie('hello')).to.equal('world');\n });\n\n it('should add done callbacks to storageCallbacks array', function () {\n const noop = sinon.spy();\n const coreStorage = newStorageManager();\n\n coreStorage.setCookie('foo', 'bar', null, null, null, noop);\n coreStorage.getCookie('foo', noop);\n coreStorage.localStorageIsEnabled(noop);\n coreStorage.cookiesAreEnabled(noop);\n coreStorage.setDataInLocalStorage('foo', 'bar', noop);\n coreStorage.getDataFromLocalStorage('foo', noop);\n coreStorage.removeDataFromLocalStorage('foo', noop);\n coreStorage.hasLocalStorage(noop);\n coreStorage.setDataInSessionStorage('foo', 'bar', noop);\n coreStorage.getDataFromSessionStorage('foo', noop);\n coreStorage.removeDataFromSessionStorage('foo', noop);\n coreStorage.hasSessionStorage(noop);\n\n expect(storageCallbacks.length).to.equal(12);\n });\n\n it('should allow bidder to access device if gdpr enforcement module is not included', function () {\n const deviceAccessSpy = sinon.spy(utils, 'hasDeviceAccess');\n const storage = newStorageManager();\n storage.setCookie('foo1', 'baz1');\n expect(deviceAccessSpy.calledOnce).to.equal(true);\n deviceAccessSpy.restore();\n });\n\n describe(`accessDevice activity check`, () => {\n let isAllowed;\n\n function mkManager(moduleType, moduleName) {\n return newStorageManager({moduleType, moduleName}, {isAllowed});\n }\n\n beforeEach(() => {\n isAllowed = sinon.stub();\n });\n\n it('should pass module type and name as activity params', () => {\n mkManager(MODULE_TYPE_PREBID, 'mockMod').localStorageIsEnabled();\n sinon.assert.calledWith(isAllowed, ACTIVITY_ACCESS_DEVICE, sinon.match({\n [ACTIVITY_PARAM_COMPONENT_TYPE]: MODULE_TYPE_PREBID,\n [ACTIVITY_PARAM_COMPONENT_NAME]: 'mockMod',\n [ACTIVITY_PARAM_STORAGE_TYPE]: STORAGE_TYPE_LOCALSTORAGE\n }));\n });\n\n it('should pass storage key as activity param', () => {\n mkManager(MODULE_TYPE_PREBID, 'mockMod').getCookie('foo');\n sinon.assert.calledWith(isAllowed, ACTIVITY_ACCESS_DEVICE, sinon.match({\n [ACTIVITY_PARAM_STORAGE_TYPE]: STORAGE_TYPE_COOKIES,\n [ACTIVITY_PARAM_STORAGE_KEY]: 'foo',\n }));\n });\n\n it('should pass write = false on reads', () => {\n mkManager(MODULE_TYPE_PREBID, 'mockMod').getCookie('foo');\n sinon.assert.calledWith(isAllowed, ACTIVITY_ACCESS_DEVICE, sinon.match({\n [ACTIVITY_PARAM_STORAGE_WRITE]: false\n }));\n })\n\n it('should pass write = true on writes', () => {\n const mgr = mkManager(MODULE_TYPE_PREBID, 'mockMod');\n mgr.setDataInLocalStorage('foo', 'bar')\n try {\n sinon.assert.calledWith(isAllowed, ACTIVITY_ACCESS_DEVICE, sinon.match({\n [ACTIVITY_PARAM_STORAGE_WRITE]: true\n }));\n } finally {\n mgr.removeDataFromLocalStorage('foo');\n }\n })\n\n it('should NOT pass storage key if advertiseKeys = false', () => {\n newStorageManager({\n moduleType: MODULE_TYPE_PREBID,\n moduleName: 'mockMod',\n advertiseKeys: false\n }, {isAllowed}).getCookie('foo');\n expect(isAllowed.getCall(0).args[1][ACTIVITY_PARAM_STORAGE_KEY]).to.not.exist;\n })\n\n it('should not pass storage key when not relevant', () => {\n mkManager(MODULE_TYPE_PREBID, 'mockMod').cookiesAreEnabled();\n expect(isAllowed.getCall(0).args[1][ACTIVITY_PARAM_STORAGE_KEY]).to.be.undefined;\n });\n\n ['Local', 'Session'].forEach(type => {\n describe(`${type} storage`, () => {\n it('should deny access if activity is denied', () => {\n isAllowed.returns(false);\n const mgr = mkManager(MODULE_TYPE_PREBID, 'mockMod');\n mgr[`setDataIn${type}Storage`]('testKey', 'val');\n expect(mgr[`getDataFrom${type}Storage`]('testKey')).to.not.exist;\n });\n })\n })\n\n it('should use bidder aliases when possible', () => {\n adapterManager.registerBidAdapter({callBids: sinon.stub(), getSpec: () => ({})}, 'mockBidder');\n adapterManager.aliasBidAdapter('mockBidder', 'mockAlias');\n const mgr = mkManager(MODULE_TYPE_BIDDER, 'mockBidder');\n config.runWithBidder('mockAlias', () => mgr.cookiesAreEnabled());\n sinon.assert.calledWith(isAllowed, ACTIVITY_ACCESS_DEVICE, sinon.match({\n [ACTIVITY_PARAM_COMPONENT_NAME]: 'mockAlias'\n }))\n })\n });\n\n ['localStorage', 'sessionStorage'].forEach(storage => {\n const Storage = storage.charAt(0).toUpperCase() + storage.substring(1);\n\n describe(`${storage} forbidden access in 3rd-party context`, function () {\n let errorLogSpy;\n let originalStorage;\n const storageMock = {\n get: () => {\n throw Error\n }\n };\n\n beforeEach(function () {\n originalStorage = window[storage];\n Object.defineProperty(window, storage, storageMock);\n errorLogSpy = sinon.spy(utils, 'logError');\n });\n\n afterEach(function () {\n Object.defineProperty(window, storage, {get: () => originalStorage});\n errorLogSpy.restore();\n })\n\n it('should not throw if storage is not accessible when setting/getting/removing', function () {\n const coreStorage = newStorageManager();\n\n coreStorage[`setDataIn${Storage}`]('key', 'value');\n const val = coreStorage[`getDataFrom${Storage}`]('key');\n coreStorage[`removeDataFrom${Storage}`]('key');\n\n expect(val).to.be.null;\n sinon.assert.calledThrice(errorLogSpy);\n });\n });\n });\n\n ['localStorage', 'sessionStorage'].forEach(storage => {\n describe(`${storage} is enabled`, function () {\n let store;\n beforeEach(function () {\n store = window[storage];\n store.clear();\n });\n\n afterEach(function () {\n store.clear();\n })\n\n it('should remove side-effect after checking', function () {\n const storageMgr = newStorageManager();\n\n store.setItem('unrelated', 'dummy');\n const val = storageMgr[`${storage}IsEnabled`]();\n\n expect(val).to.be.true;\n expect(store.length).to.be.eq(1);\n expect(store.getItem('unrelated')).to.be.eq('dummy');\n });\n });\n });\n\n describe('deviceAccess control', () => {\n afterEach(() => {\n config.resetConfig()\n });\n\n it('should allow by default', () => {\n config.resetConfig();\n expect(deviceAccessRule()).to.not.exist;\n });\n\n it('should deny access when set', () => {\n config.setConfig({deviceAccess: false});\n sinon.assert.match(deviceAccessRule(), {allow: false});\n })\n });\n\n describe('allowStorage access control rule', () => {\n const ALLOWED_BIDDER = 'allowed-bidder';\n const ALLOW_KEY = 'storageAllowed';\n\n function mockBidderSettings(val) {\n return {\n get(bidder, key) {\n if (bidder === ALLOWED_BIDDER && key === ALLOW_KEY) {\n return val;\n } else {\n return undefined;\n }\n }\n }\n }\n\n Object.entries({\n disallowed: ['denied_bidder', false],\n allowed: [ALLOWED_BIDDER, true]\n }).forEach(([t, [bidderCode, isBidderAllowed]]) => {\n describe(`for ${t} bidders`, () => {\n Object.entries({\n 'all': {\n configValues: [\n true,\n ['html5', 'cookie']\n ],\n shouldWork: {\n html5: true,\n cookie: true\n }\n },\n 'none': {\n configValues: [\n false,\n []\n ],\n shouldWork: {\n html5: false,\n cookie: false\n }\n },\n 'localStorage': {\n configValues: [\n 'html5',\n ['html5']\n ],\n shouldWork: {\n html5: true,\n cookie: false\n }\n },\n 'cookies': {\n configValues: [\n 'cookie',\n ['cookie']\n ],\n shouldWork: {\n html5: false,\n cookie: true\n }\n }\n }).forEach(([t, {configValues, shouldWork: {cookie, html5}}]) => {\n describe(`when ${t} is allowed`, () => {\n configValues.forEach(configValue => describe(`storageAllowed = ${configValue}`, () => {\n Object.entries({\n [STORAGE_TYPE_LOCALSTORAGE]: 'allow localStorage',\n [STORAGE_TYPE_COOKIES]: 'allow cookies'\n }).forEach(([type, desc]) => {\n const shouldWork = isBidderAllowed && ({html5, cookie})[type];\n it(`${shouldWork ? '' : 'NOT'} ${desc}`, () => {\n const res = storageAllowedRule(activityParams(MODULE_TYPE_BIDDER, bidderCode, {\n [ACTIVITY_PARAM_STORAGE_TYPE]: type\n }), mockBidderSettings(configValue));\n if (shouldWork) {\n expect(res).to.not.exist;\n } else {\n sinon.assert.match(res, {allow: false});\n }\n });\n })\n }));\n });\n });\n });\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
|