prebid.js 8.43.0 → 8.45.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.
Files changed (501) hide show
  1. package/README.md +7 -1
  2. package/creative/constants.js +7 -7
  3. package/creative/renderers/display/constants.js +2 -2
  4. package/creative/renderers/native/constants.js +2 -2
  5. package/dist/33acrossAnalyticsAdapter.js +1 -1
  6. package/dist/33acrossBidAdapter.js +1 -1
  7. package/dist/33acrossIdSystem.js +1 -1
  8. package/dist/BTBidAdapter.js +1 -1
  9. package/dist/adWMGAnalyticsAdapter.js +1 -1
  10. package/dist/adagioAnalyticsAdapter.js +1 -1
  11. package/dist/adagioBidAdapter.js +1 -1
  12. package/dist/adbookpspBidAdapter.js +1 -1
  13. package/dist/adgenerationBidAdapter.js +1 -1
  14. package/dist/adkernelAdnAnalyticsAdapter.js +1 -1
  15. package/dist/adkernelBidAdapter.js +1 -1
  16. package/dist/adlooxAdServerVideo.js +1 -1
  17. package/dist/adlooxAnalyticsAdapter.js +1 -1
  18. package/dist/adlooxRtdProvider.js +1 -1
  19. package/dist/adnuntiusBidAdapter.js +1 -1
  20. package/dist/adomikAnalyticsAdapter.js +1 -1
  21. package/dist/adpod.js +1 -1
  22. package/dist/adqueryBidAdapter.js +1 -1
  23. package/dist/adrelevantisBidAdapter.js +1 -1
  24. package/dist/adstirBidAdapter.js +1 -1
  25. package/dist/adtrgtmeBidAdapter.js +1 -1
  26. package/dist/adxcgAnalyticsAdapter.js +1 -1
  27. package/dist/adxcgBidAdapter.js +1 -1
  28. package/dist/adxpremiumAnalyticsAdapter.js +1 -1
  29. package/dist/adyoulikeBidAdapter.js +1 -1
  30. package/dist/agmaAnalyticsAdapter.js +1 -1
  31. package/dist/ajaBidAdapter.js +1 -1
  32. package/dist/amxBidAdapter.js +1 -1
  33. package/dist/amxIdSystem.js +1 -1
  34. package/dist/analyticsAdapter.js +1 -1
  35. package/dist/appierAnalyticsAdapter.js +1 -1
  36. package/dist/appnexusBidAdapter.js +1 -1
  37. package/dist/asoBidAdapter.js +1 -1
  38. package/dist/asteriobidAnalyticsAdapter.js +1 -1
  39. package/dist/atsAnalyticsAdapter.js +1 -1
  40. package/dist/automatadAnalyticsAdapter.js +1 -1
  41. package/dist/axonixBidAdapter.js +1 -1
  42. package/dist/bidViewability.js +1 -1
  43. package/dist/bidViewabilityIO.js +1 -1
  44. package/dist/bidglassBidAdapter.js +1 -1
  45. package/dist/bidwatchAnalyticsAdapter.js +1 -1
  46. package/dist/big-richmediaBidAdapter.js +1 -1
  47. package/dist/brandmetricsRtdProvider.js +1 -1
  48. package/dist/bridBidAdapter.js +1 -1
  49. package/dist/bridgewellBidAdapter.js +1 -1
  50. package/dist/brightMountainMediaBidAdapter.js +1 -1
  51. package/dist/browsiRtdProvider.js +1 -1
  52. package/dist/byDataAnalyticsAdapter.js +1 -1
  53. package/dist/carodaBidAdapter.js +1 -1
  54. package/dist/chtnwBidAdapter.js +1 -1
  55. package/dist/chunk-core.js +1 -1
  56. package/dist/chunk-paapi.js +1 -1
  57. package/dist/cleanioRtdProvider.js +1 -1
  58. package/dist/concertAnalyticsAdapter.js +1 -1
  59. package/dist/concertBidAdapter.js +1 -1
  60. package/dist/confiantRtdProvider.js +1 -1
  61. package/dist/connectadBidAdapter.js +1 -1
  62. package/dist/consentManagementUsp.js +1 -1
  63. package/dist/consumableBidAdapter.js +1 -1
  64. package/dist/conversantAnalyticsAdapter.js +1 -1
  65. package/dist/conversantBidAdapter.js +1 -1
  66. package/dist/craftBidAdapter.js +1 -1
  67. package/dist/creative-renderer-native.js +1 -1
  68. package/dist/criteoBidAdapter.js +1 -1
  69. package/dist/currency.js +1 -1
  70. package/dist/cwireBidAdapter.js +1 -1
  71. package/dist/dailymotionBidAdapter.js +1 -0
  72. package/dist/datablocksAnalyticsAdapter.js +1 -1
  73. package/dist/datawrkzBidAdapter.js +1 -1
  74. package/dist/debugging-standalone.js +1 -1
  75. package/dist/debugging.js +1 -1
  76. package/dist/dependencies.json +3 -3
  77. package/dist/dfpAdServerVideo.js +1 -1
  78. package/dist/discoveryBidAdapter.js +1 -1
  79. package/dist/dsaControl.js +1 -1
  80. package/dist/dspxBidAdapter.js +1 -1
  81. package/dist/dxkultureBidAdapter.js +1 -1
  82. package/dist/eplanningAnalyticsAdapter.js +1 -1
  83. package/dist/eplanningBidAdapter.js +1 -1
  84. package/dist/euidIdSystem.js +1 -1
  85. package/dist/feedadBidAdapter.js +1 -1
  86. package/dist/finativeBidAdapter.js +1 -1
  87. package/dist/fintezaAnalyticsAdapter.js +1 -1
  88. package/dist/freewheel-sspBidAdapter.js +1 -1
  89. package/dist/gdprEnforcement.js +1 -1
  90. package/dist/genericAnalyticsAdapter.js +1 -1
  91. package/dist/geoedgeRtdProvider.js +1 -1
  92. package/dist/gmosspBidAdapter.js +1 -1
  93. package/dist/goldbachBidAdapter.js +1 -1
  94. package/dist/greenbidsAnalyticsAdapter.js +1 -1
  95. package/dist/greenbidsRtdProvider.js +1 -1
  96. package/dist/gridBidAdapter.js +1 -1
  97. package/dist/growthCodeAnalyticsAdapter.js +1 -1
  98. package/dist/gumgumBidAdapter.js +1 -1
  99. package/dist/h12mediaBidAdapter.js +1 -1
  100. package/dist/hadronAnalyticsAdapter.js +1 -1
  101. package/dist/holidBidAdapter.js +1 -1
  102. package/dist/hypelabBidAdapter.js +1 -1
  103. package/dist/id5AnalyticsAdapter.js +1 -1
  104. package/dist/id5IdSystem.js +1 -1
  105. package/dist/illuminBidAdapter.js +1 -1
  106. package/dist/imdsBidAdapter.js +1 -1
  107. package/dist/improvedigitalBidAdapter.js +1 -1
  108. package/dist/insticatorBidAdapter.js +1 -1
  109. package/dist/instreamTracking.js +1 -1
  110. package/dist/invisiblyAnalyticsAdapter.js +1 -1
  111. package/dist/ixBidAdapter.js +1 -1
  112. package/dist/jixieBidAdapter.js +1 -1
  113. package/dist/justpremiumBidAdapter.js +1 -1
  114. package/dist/jwplayerRtdProvider.js +1 -1
  115. package/dist/kargoAnalyticsAdapter.js +1 -1
  116. package/dist/kargoBidAdapter.js +1 -1
  117. package/dist/kimberliteBidAdapter.js +1 -1
  118. package/dist/konduitAnalyticsAdapter.js +1 -1
  119. package/dist/kueezBidAdapter.js +1 -1
  120. package/dist/kueezRtbBidAdapter.js +1 -1
  121. package/dist/lassoBidAdapter.js +1 -1
  122. package/dist/lifestreetBidAdapter.js +1 -1
  123. package/dist/limelightDigitalBidAdapter.js +1 -1
  124. package/dist/liveIntentAnalyticsAdapter.js +1 -1
  125. package/dist/liveIntentIdSystem.js +1 -1
  126. package/dist/livewrappedAnalyticsAdapter.js +1 -1
  127. package/dist/logicadBidAdapter.js +1 -1
  128. package/dist/loglyliftBidAdapter.js +1 -1
  129. package/dist/loyalBidAdapter.js +1 -0
  130. package/dist/luceadBidAdapter.js +1 -1
  131. package/dist/magniteAnalyticsAdapter.js +1 -1
  132. package/dist/malltvAnalyticsAdapter.js +1 -1
  133. package/dist/marsmediaAnalyticsAdapter.js +1 -1
  134. package/dist/marsmediaBidAdapter.js +1 -1
  135. package/dist/mediafilterRtdProvider.js +1 -1
  136. package/dist/mediafuseBidAdapter.js +1 -1
  137. package/dist/medianetAnalyticsAdapter.js +1 -1
  138. package/dist/medianetBidAdapter.js +1 -1
  139. package/dist/mediasquareBidAdapter.js +1 -1
  140. package/dist/mgidBidAdapter.js +1 -1
  141. package/dist/minutemediaBidAdapter.js +1 -1
  142. package/dist/minutemediaplusBidAdapter.js +1 -1
  143. package/dist/missenaBidAdapter.js +1 -1
  144. package/dist/multibid.js +1 -1
  145. package/dist/neuwoRtdProvider.js +1 -1
  146. package/dist/nextMillenniumBidAdapter.js +1 -1
  147. package/dist/nexx360BidAdapter.js +1 -1
  148. package/dist/nobidAnalyticsAdapter.js +1 -1
  149. package/dist/not-for-prod/prebid.js +242 -239
  150. package/dist/oguryBidAdapter.js +1 -1
  151. package/dist/onetagBidAdapter.js +1 -1
  152. package/dist/ooloAnalyticsAdapter.js +1 -1
  153. package/dist/openwebBidAdapter.js +1 -1
  154. package/dist/openxBidAdapter.js +1 -1
  155. package/dist/optidigitalBidAdapter.js +1 -1
  156. package/dist/optimonAnalyticsAdapter.js +1 -1
  157. package/dist/outbrainBidAdapter.js +1 -1
  158. package/dist/oxxionAnalyticsAdapter.js +1 -1
  159. package/dist/oxxionRtdProvider.js +1 -1
  160. package/dist/parrableIdSystem.js +1 -1
  161. package/dist/pbsExtensions.js +1 -1
  162. package/dist/permutiveRtdProvider.js +1 -1
  163. package/dist/pgamsspBidAdapter.js +1 -1
  164. package/dist/pianoDmpAnalyticsAdapter.js +1 -1
  165. package/dist/pirIdSystem.js +1 -0
  166. package/dist/pixfutureBidAdapter.js +1 -1
  167. package/dist/prebidServerBidAdapter.js +1 -1
  168. package/dist/prebidmanagerAnalyticsAdapter.js +1 -1
  169. package/dist/priceFloors.js +1 -1
  170. package/dist/publinkIdSystem.js +1 -1
  171. package/dist/publirBidAdapter.js +1 -1
  172. package/dist/pubmaticAnalyticsAdapter.js +1 -1
  173. package/dist/pubmaticBidAdapter.js +1 -1
  174. package/dist/pubperfAnalyticsAdapter.js +1 -1
  175. package/dist/pubstackAnalyticsAdapter.js +1 -1
  176. package/dist/pubwiseAnalyticsAdapter.js +1 -1
  177. package/dist/pubxaiAnalyticsAdapter.js +1 -1
  178. package/dist/pulsepointAnalyticsAdapter.js +1 -1
  179. package/dist/pxyzBidAdapter.js +1 -1
  180. package/dist/qortexRtdProvider.js +1 -1
  181. package/dist/quantcastBidAdapter.js +1 -1
  182. package/dist/readpeakBidAdapter.js +1 -1
  183. package/dist/relaidoBidAdapter.js +1 -1
  184. package/dist/relevantAnalyticsAdapter.js +1 -1
  185. package/dist/retailspotBidAdapter.js +1 -1
  186. package/dist/rhythmoneBidAdapter.js +1 -1
  187. package/dist/riseBidAdapter.js +1 -1
  188. package/dist/rivrAnalyticsAdapter.js +1 -1
  189. package/dist/roxotAnalyticsAdapter.js +1 -1
  190. package/dist/rtdModule.js +1 -1
  191. package/dist/rubiconBidAdapter.js +1 -1
  192. package/dist/s2sTesting.js +1 -1
  193. package/dist/scaleableAnalyticsAdapter.js +1 -1
  194. package/dist/schain.js +1 -1
  195. package/dist/seedingAllianceBidAdapter.js +1 -1
  196. package/dist/seedtagBidAdapter.js +1 -1
  197. package/dist/sharethroughAnalyticsAdapter.js +1 -1
  198. package/dist/sharethroughBidAdapter.js +1 -1
  199. package/dist/shinezBidAdapter.js +1 -1
  200. package/dist/shinezRtbBidAdapter.js +1 -1
  201. package/dist/sigmoidAnalyticsAdapter.js +1 -1
  202. package/dist/sirdataRtdProvider.js +1 -1
  203. package/dist/sizeMapping.js +1 -1
  204. package/dist/smaatoBidAdapter.js +1 -1
  205. package/dist/smartadserverBidAdapter.js +1 -1
  206. package/dist/smartxBidAdapter.js +1 -1
  207. package/dist/smilewantedBidAdapter.js +1 -1
  208. package/dist/sonobiAnalyticsAdapter.js +1 -1
  209. package/dist/sonobiBidAdapter.js +1 -1
  210. package/dist/sovrnAnalyticsAdapter.js +1 -1
  211. package/dist/sovrnBidAdapter.js +1 -1
  212. package/dist/sspBCBidAdapter.js +1 -1
  213. package/dist/staqAnalyticsAdapter.js +1 -1
  214. package/dist/stnBidAdapter.js +1 -1
  215. package/dist/stvBidAdapter.js +1 -1
  216. package/dist/sublimeBidAdapter.js +1 -1
  217. package/dist/taboolaBidAdapter.js +1 -1
  218. package/dist/tagorasBidAdapter.js +1 -1
  219. package/dist/targetVideoBidAdapter.js +1 -1
  220. package/dist/teadsBidAdapter.js +1 -1
  221. package/dist/terceptAnalyticsAdapter.js +1 -1
  222. package/dist/themoneytizerBidAdapter.js +1 -1
  223. package/dist/topicsFpdModule.js +1 -1
  224. package/dist/trionBidAdapter.js +1 -1
  225. package/dist/tripleliftBidAdapter.js +1 -1
  226. package/dist/ttdBidAdapter.js +1 -1
  227. package/dist/ucfunnelAnalyticsAdapter.js +1 -1
  228. package/dist/uid2IdSystem.js +1 -1
  229. package/dist/underdogmediaBidAdapter.js +1 -1
  230. package/dist/undertoneBidAdapter.js +1 -1
  231. package/dist/unrulyBidAdapter.js +1 -1
  232. package/dist/userId.js +1 -1
  233. package/dist/vidazooBidAdapter.js +1 -1
  234. package/dist/videoModule.js +1 -1
  235. package/dist/videobyteBidAdapter.js +1 -1
  236. package/dist/visxBidAdapter.js +1 -1
  237. package/dist/vuukleBidAdapter.js +1 -1
  238. package/dist/weboramaRtdProvider.js +1 -1
  239. package/dist/widespaceBidAdapter.js +1 -1
  240. package/dist/winrBidAdapter.js +1 -1
  241. package/dist/yahoosspBidAdapter.js +1 -1
  242. package/dist/yandexAnalyticsAdapter.js +1 -1
  243. package/dist/yieldmoBidAdapter.js +1 -1
  244. package/dist/yieldoneAnalyticsAdapter.js +1 -1
  245. package/dist/yuktamediaAnalyticsAdapter.js +1 -1
  246. package/dist/zeta_global_sspAnalyticsAdapter.js +1 -1
  247. package/dist/zeta_global_sspBidAdapter.js +1 -1
  248. package/gulpfile.js +9 -1
  249. package/integrationExamples/gpt/adnuntius_example.html +7 -1
  250. package/integrationExamples/gpt/azerionedgeRtdProvider_example.html +3 -3
  251. package/integrationExamples/gpt/top-level-paapi/decisionLogic.js +57 -0
  252. package/integrationExamples/gpt/top-level-paapi/tl_paapi_example.html +188 -0
  253. package/integrationExamples/gpt/x-domain/creative.html +1 -1
  254. package/integrationExamples/{gpt → realTimeData}/jwplayerRtdProvider_example.html +28 -42
  255. package/libraries/analyticsAdapter/AnalyticsAdapter.js +4 -4
  256. package/libraries/creative-renderer-native/renderer.js +1 -1
  257. package/modules/33acrossAnalyticsAdapter.js +2 -4
  258. package/modules/33acrossIdSystem.js +1 -1
  259. package/modules/adWMGAnalyticsAdapter.js +9 -11
  260. package/modules/adagioAnalyticsAdapter.js +49 -46
  261. package/modules/adkernelAdnAnalyticsAdapter.js +8 -8
  262. package/modules/adkernelBidAdapter.js +23 -102
  263. package/modules/adlooxAdServerVideo.js +2 -2
  264. package/modules/adlooxAnalyticsAdapter.js +4 -4
  265. package/modules/adnuntiusBidAdapter.js +50 -32
  266. package/modules/adomikAnalyticsAdapter.js +7 -7
  267. package/modules/adpod.js +3 -3
  268. package/modules/adxcgAnalyticsAdapter.js +10 -10
  269. package/modules/adxpremiumAnalyticsAdapter.js +8 -10
  270. package/modules/agmaAnalyticsAdapter.js +6 -7
  271. package/modules/appierAnalyticsAdapter.js +5 -7
  272. package/modules/appnexusBidAdapter.js +1 -0
  273. package/modules/asteriobidAnalyticsAdapter.js +14 -14
  274. package/modules/atsAnalyticsAdapter.js +4 -4
  275. package/modules/automatadAnalyticsAdapter.js +20 -20
  276. package/modules/azerionedgeRtdProvider.md +4 -2
  277. package/modules/bidViewability.js +3 -3
  278. package/modules/bidViewabilityIO.js +3 -3
  279. package/modules/bidwatchAnalyticsAdapter.js +7 -9
  280. package/modules/brandmetricsRtdProvider.js +6 -6
  281. package/modules/browsiRtdProvider.js +3 -3
  282. package/modules/byDataAnalyticsAdapter.js +3 -3
  283. package/modules/cleanioRtdProvider.js +3 -3
  284. package/modules/concertAnalyticsAdapter.js +5 -7
  285. package/modules/confiantRtdProvider.js +2 -2
  286. package/modules/conversantAnalyticsAdapter.js +2 -4
  287. package/modules/criteoBidAdapter.js +53 -10
  288. package/modules/currency.js +7 -7
  289. package/modules/dailymotionBidAdapter.js +139 -0
  290. package/modules/dailymotionBidAdapter.md +140 -0
  291. package/modules/datawrkzBidAdapter.js +4 -4
  292. package/modules/debugging/pbsInterceptor.js +2 -2
  293. package/modules/dfpAdServerVideo.js +2 -2
  294. package/modules/discoveryBidAdapter.js +21 -0
  295. package/modules/dsaControl.js +5 -5
  296. package/modules/eplanningAnalyticsAdapter.js +8 -8
  297. package/modules/fintezaAnalyticsAdapter.js +5 -5
  298. package/modules/gdprEnforcement.js +3 -3
  299. package/modules/geoedgeRtdProvider.js +2 -2
  300. package/modules/greenbidsAnalyticsAdapter.js +13 -10
  301. package/modules/greenbidsRtdProvider.js +2 -2
  302. package/modules/gridBidAdapter.js +2 -2
  303. package/modules/growthCodeAnalyticsAdapter.js +14 -14
  304. package/modules/gumgumBidAdapter.js +4 -1
  305. package/modules/hadronAnalyticsAdapter.js +14 -14
  306. package/modules/holidBidAdapter.js +2 -2
  307. package/modules/id5AnalyticsAdapter.js +7 -9
  308. package/modules/improvedigitalBidAdapter.js +2 -1
  309. package/modules/insticatorBidAdapter.js +137 -27
  310. package/modules/instreamTracking.js +4 -4
  311. package/modules/invisiblyAnalyticsAdapter.js +15 -17
  312. package/modules/ixBidAdapter.js +3 -3
  313. package/modules/jwplayerRtdProvider.js +93 -26
  314. package/modules/jwplayerRtdProvider.md +23 -2
  315. package/modules/kargoAnalyticsAdapter.js +3 -3
  316. package/modules/kargoBidAdapter.js +26 -31
  317. package/modules/konduitAnalyticsAdapter.js +13 -13
  318. package/modules/lassoBidAdapter.js +11 -2
  319. package/modules/limelightDigitalBidAdapter.js +2 -1
  320. package/modules/liveIntentAnalyticsAdapter.js +2 -2
  321. package/modules/livewrappedAnalyticsAdapter.js +10 -10
  322. package/modules/loyalBidAdapter.js +190 -0
  323. package/modules/loyalBidAdapter.md +79 -0
  324. package/modules/magniteAnalyticsAdapter.js +25 -23
  325. package/modules/malltvAnalyticsAdapter.js +4 -6
  326. package/modules/mediafilterRtdProvider.js +2 -2
  327. package/modules/medianetAnalyticsAdapter.js +12 -12
  328. package/modules/medianetBidAdapter.js +1 -1
  329. package/modules/multibid/index.js +2 -2
  330. package/modules/neuwoRtdProvider.js +2 -2
  331. package/modules/nextMillenniumBidAdapter.js +4 -4
  332. package/modules/nobidAnalyticsAdapter.js +9 -11
  333. package/modules/ooloAnalyticsAdapter.js +2 -2
  334. package/modules/oxxionAnalyticsAdapter.js +7 -9
  335. package/modules/paapi.js +20 -6
  336. package/modules/permutiveRtdProvider.js +21 -2
  337. package/modules/pgamsspBidAdapter.js +26 -3
  338. package/modules/pirIdSystem.js +62 -0
  339. package/modules/pirIdSystem.md +27 -0
  340. package/modules/prebidServerBidAdapter/index.js +8 -8
  341. package/modules/prebidServerBidAdapter/ortbConverter.js +3 -3
  342. package/modules/prebidmanagerAnalyticsAdapter.js +14 -14
  343. package/modules/priceFloors.js +10 -5
  344. package/modules/pubmaticAnalyticsAdapter.js +32 -22
  345. package/modules/pubmaticBidAdapter.js +1 -17
  346. package/modules/pubwiseAnalyticsAdapter.js +11 -11
  347. package/modules/pubxaiAnalyticsAdapter.js +6 -6
  348. package/modules/qortexRtdProvider.js +2 -2
  349. package/modules/roxotAnalyticsAdapter.js +8 -10
  350. package/modules/rtdModule/index.js +7 -7
  351. package/modules/scaleableAnalyticsAdapter.js +5 -5
  352. package/modules/seedtagBidAdapter.js +12 -3
  353. package/modules/sigmoidAnalyticsAdapter.js +7 -7
  354. package/modules/sirdataRtdProvider.js +2 -0
  355. package/modules/smaatoBidAdapter.js +1 -2
  356. package/modules/sonobiAnalyticsAdapter.js +10 -12
  357. package/modules/sonobiBidAdapter.js +2 -5
  358. package/modules/sovrnAnalyticsAdapter.js +7 -9
  359. package/modules/sovrnBidAdapter.js +1 -1
  360. package/modules/staqAnalyticsAdapter.js +9 -9
  361. package/modules/teadsBidAdapter.js +2 -0
  362. package/modules/terceptAnalyticsAdapter.js +7 -7
  363. package/modules/topicsFpdModule.js +3 -0
  364. package/modules/topicsFpdModule.md +4 -0
  365. package/modules/ucfunnelAnalyticsAdapter.js +5 -7
  366. package/modules/userId/index.js +3 -3
  367. package/modules/videoModule/index.js +4 -4
  368. package/modules/yandexAnalyticsAdapter.js +2 -2
  369. package/modules/yieldoneAnalyticsAdapter.js +7 -7
  370. package/modules/yuktamediaAnalyticsAdapter.js +9 -9
  371. package/modules/zeta_global_sspAnalyticsAdapter.js +5 -5
  372. package/modules/zeta_global_sspBidAdapter.js +8 -1
  373. package/package.json +1 -1
  374. package/src/adRendering.js +15 -15
  375. package/src/adUnits.js +9 -21
  376. package/src/adapterManager.js +23 -13
  377. package/src/adapters/bidderFactory.js +8 -8
  378. package/src/auction.js +26 -28
  379. package/src/auctionManager.js +4 -4
  380. package/src/bidderSettings.js +2 -2
  381. package/src/config.js +2 -2
  382. package/src/constants.js +190 -0
  383. package/src/events.js +3 -3
  384. package/src/native.js +6 -8
  385. package/src/prebid.js +6 -10
  386. package/src/secureCreatives.js +5 -5
  387. package/src/targeting.js +13 -13
  388. package/src/utils.js +4 -4
  389. package/test/fixtures/fixtures.js +44 -44
  390. package/test/helpers/analytics.js +6 -6
  391. package/test/spec/AnalyticsAdapter_spec.js +3 -3
  392. package/test/spec/auctionmanager_spec.js +82 -82
  393. package/test/spec/modules/33acrossAnalyticsAdapter_spec.js +1 -2
  394. package/test/spec/modules/33acrossIdSystem_spec.js +3 -3
  395. package/test/spec/modules/adWMGAnalyticsAdapter_spec.js +14 -14
  396. package/test/spec/modules/adagioAnalyticsAdapter_spec.js +79 -55
  397. package/test/spec/modules/adkernelAdnAnalytics_spec.js +6 -6
  398. package/test/spec/modules/adkernelBidAdapter_spec.js +63 -24
  399. package/test/spec/modules/adlooxAnalyticsAdapter_spec.js +6 -6
  400. package/test/spec/modules/adnuntiusBidAdapter_spec.js +10 -7
  401. package/test/spec/modules/adomikAnalyticsAdapter_spec.js +7 -7
  402. package/test/spec/modules/adxcgAnalyticsAdapter_spec.js +7 -7
  403. package/test/spec/modules/adxpremiumAnalyticsAdapter_spec.js +7 -7
  404. package/test/spec/modules/agmaAnalyticsAdapter_spec.js +18 -14
  405. package/test/spec/modules/appierAnalyticsAdapter_spec.js +1 -1
  406. package/test/spec/modules/asteriobidAnalyticsAdapter_spec.js +2 -2
  407. package/test/spec/modules/atsAnalyticsAdapter_spec.js +8 -8
  408. package/test/spec/modules/automatadAnalyticsAdapter_spec.js +2 -2
  409. package/test/spec/modules/bidViewabilityIO_spec.js +2 -2
  410. package/test/spec/modules/bidViewability_spec.js +4 -4
  411. package/test/spec/modules/bidwatchAnalyticsAdapter_spec.js +7 -6
  412. package/test/spec/modules/byDataAnalyticsAdapter_spec.js +5 -4
  413. package/test/spec/modules/cleanioRtdProvider_spec.js +6 -6
  414. package/test/spec/modules/concertAnalyticsAdapter_spec.js +7 -6
  415. package/test/spec/modules/confiantRtdProvider_spec.js +2 -2
  416. package/test/spec/modules/conversantAnalyticsAdapter_spec.js +61 -61
  417. package/test/spec/modules/criteoBidAdapter_spec.js +112 -6
  418. package/test/spec/modules/currency_spec.js +6 -6
  419. package/test/spec/modules/dailymotionBidAdapter_spec.js +369 -0
  420. package/test/spec/modules/discoveryBidAdapter_spec.js +35 -1
  421. package/test/spec/modules/dsaControl_spec.js +4 -4
  422. package/test/spec/modules/eplanningAnalyticsAdapter_spec.js +20 -13
  423. package/test/spec/modules/fintezaAnalyticsAdapter_spec.js +5 -5
  424. package/test/spec/modules/genericAnalyticsAdapter_spec.js +2 -2
  425. package/test/spec/modules/geoedgeRtdProvider_spec.js +37 -37
  426. package/test/spec/modules/greenbidsAnalyticsAdapter_spec.js +15 -2
  427. package/test/spec/modules/greenbidsRtdProvider_spec.js +2 -2
  428. package/test/spec/modules/gridBidAdapter_spec.js +3 -1
  429. package/test/spec/modules/growthCodeAnalyticsAdapter_spec.js +2 -2
  430. package/test/spec/modules/gumgumBidAdapter_spec.js +23 -0
  431. package/test/spec/modules/hadronAnalyticsAdapter_spec.js +3 -3
  432. package/test/spec/modules/id5AnalyticsAdapter_spec.js +5 -5
  433. package/test/spec/modules/id5IdSystem_spec.js +2 -2
  434. package/test/spec/modules/improvedigitalBidAdapter_spec.js +3 -3
  435. package/test/spec/modules/insticatorBidAdapter_spec.js +275 -22
  436. package/test/spec/modules/invisiblyAnalyticsAdapter_spec.js +40 -40
  437. package/test/spec/modules/jwplayerRtdProvider_spec.js +672 -29
  438. package/test/spec/modules/kargoAnalyticsAdapter_spec.js +3 -3
  439. package/test/spec/modules/kargoBidAdapter_spec.js +36 -0
  440. package/test/spec/modules/konduitAnalyticsAdapter_spec.js +13 -13
  441. package/test/spec/modules/lassoBidAdapter_spec.js +1 -0
  442. package/test/spec/modules/lemmaDigitalBidAdapter_spec.js +1 -1
  443. package/test/spec/modules/limelightDigitalBidAdapter_spec.js +16 -1
  444. package/test/spec/modules/liveIntentAnalyticsAdapter_spec.js +3 -3
  445. package/test/spec/modules/livewrappedAnalyticsAdapter_spec.js +15 -20
  446. package/test/spec/modules/loyalBidAdapter_spec .js +375 -0
  447. package/test/spec/modules/magniteAnalyticsAdapter_spec.js +31 -15
  448. package/test/spec/modules/malltvAnalyticsAdapter_spec.js +3 -3
  449. package/test/spec/modules/mediafilterRtdProvider_spec.js +2 -2
  450. package/test/spec/modules/medianetAnalyticsAdapter_spec.js +3 -3
  451. package/test/spec/modules/nobidAnalyticsAdapter_spec.js +23 -23
  452. package/test/spec/modules/ooloAnalyticsAdapter_spec.js +33 -33
  453. package/test/spec/modules/optimonAnalyticsAdapter_spec.js +0 -1
  454. package/test/spec/modules/oxxionAnalyticsAdapter_spec.js +7 -7
  455. package/test/spec/modules/paapi_spec.js +40 -14
  456. package/test/spec/modules/permutiveRtdProvider_spec.js +29 -1
  457. package/test/spec/modules/pgamsspBidAdapter_spec.js +50 -4
  458. package/test/spec/modules/pianoDmpAnalyticsAdapter_spec.js +9 -9
  459. package/test/spec/modules/pirIdSystem_spec.js +77 -0
  460. package/test/spec/modules/prebidServerBidAdapter_spec.js +7 -7
  461. package/test/spec/modules/prebidmanagerAnalyticsAdapter_spec.js +2 -2
  462. package/test/spec/modules/priceFloors_spec.js +6 -5
  463. package/test/spec/modules/pubmaticAnalyticsAdapter_spec.js +12 -14
  464. package/test/spec/modules/pubmaticBidAdapter_spec.js +1 -1
  465. package/test/spec/modules/pubstackAnalyticsAdapter_spec.js +0 -1
  466. package/test/spec/modules/pubwiseAnalyticsAdapter_spec.js +14 -14
  467. package/test/spec/modules/pubxaiAnalyticsAdapter_spec.js +7 -7
  468. package/test/spec/modules/qortexRtdProvider_spec.js +2 -2
  469. package/test/spec/modules/realTimeDataModule_spec.js +9 -9
  470. package/test/spec/modules/relevantAnalyticsAdapter_spec.js +3 -3
  471. package/test/spec/modules/relevantdigitalBidAdapter_spec.js +2 -2
  472. package/test/spec/modules/rivrAnalyticsAdapter_spec.js +4 -4
  473. package/test/spec/modules/roxotAnalyticsAdapter_spec.js +25 -25
  474. package/test/spec/modules/scaleableAnalyticsAdapter_spec.js +5 -5
  475. package/test/spec/modules/seedtagBidAdapter_spec.js +56 -3
  476. package/test/spec/modules/sigmoidAnalyticsAdapter_spec.js +0 -1
  477. package/test/spec/modules/sonobiAnalyticsAdapter_spec.js +8 -7
  478. package/test/spec/modules/sonobiBidAdapter_spec.js +4 -6
  479. package/test/spec/modules/sovrnAnalyticsAdapter_spec.js +2 -2
  480. package/test/spec/modules/sovrnBidAdapter_spec.js +5 -5
  481. package/test/spec/modules/staqAnalyticsAdapter_spec.js +7 -7
  482. package/test/spec/modules/teadsBidAdapter_spec.js +35 -0
  483. package/test/spec/modules/terceptAnalyticsAdapter_spec.js +7 -7
  484. package/test/spec/modules/trionBidAdapter_spec.js +1 -1
  485. package/test/spec/modules/ucfunnelAnalyticsAdapter_spec.js +1 -1
  486. package/test/spec/modules/userId_spec.js +4 -4
  487. package/test/spec/modules/videoModule/pbVideo_spec.js +3 -3
  488. package/test/spec/modules/yieldoneAnalyticsAdapter_spec.js +22 -21
  489. package/test/spec/modules/yuktamediaAnalyticsAdapter_spec.js +33 -32
  490. package/test/spec/modules/zeta_global_sspAnalyticsAdapter_spec.js +8 -8
  491. package/test/spec/modules/zeta_global_sspBidAdapter_spec.js +1 -1
  492. package/test/spec/native_spec.js +19 -19
  493. package/test/spec/unit/adRendering_spec.js +14 -14
  494. package/test/spec/unit/adUnits_spec.js +1 -1
  495. package/test/spec/unit/core/adapterManager_spec.js +99 -59
  496. package/test/spec/unit/core/bidderFactory_spec.js +6 -6
  497. package/test/spec/unit/core/targeting_spec.js +47 -47
  498. package/test/spec/unit/pbjs_api_spec.js +81 -81
  499. package/test/spec/unit/secureCreatives_spec.js +27 -27
  500. package/test/spec/utils_spec.js +2 -2
  501. package/src/constants.json +0 -196
@@ -1,7 +1,7 @@
1
1
  import ooloAnalytics, { PAGEVIEW_ID } from 'modules/ooloAnalyticsAdapter.js';
2
2
  import {expect} from 'chai';
3
3
  import {server} from 'test/mocks/xhr.js';
4
- import constants from 'src/constants.json'
4
+ import { EVENTS } from 'src/constants.js'
5
5
  import * as events from 'src/events'
6
6
  import { config } from 'src/config';
7
7
  import { buildAuctionData, generatePageViewId } from 'modules/ooloAnalyticsAdapter';
@@ -151,12 +151,12 @@ const bidWon = {
151
151
  }
152
152
 
153
153
  function simulateAuction () {
154
- events.emit(constants.EVENTS.AUCTION_INIT, auctionInit);
155
- events.emit(constants.EVENTS.BID_REQUESTED, bidRequested);
156
- events.emit(constants.EVENTS.BID_RESPONSE, bidResponse);
157
- events.emit(constants.EVENTS.NO_BID, noBid);
158
- events.emit(constants.EVENTS.BID_TIMEOUT, bidTimeout);
159
- events.emit(constants.EVENTS.AUCTION_END, auctionEnd);
154
+ events.emit(EVENTS.AUCTION_INIT, auctionInit);
155
+ events.emit(EVENTS.BID_REQUESTED, bidRequested);
156
+ events.emit(EVENTS.BID_RESPONSE, bidResponse);
157
+ events.emit(EVENTS.NO_BID, noBid);
158
+ events.emit(EVENTS.BID_TIMEOUT, bidTimeout);
159
+ events.emit(EVENTS.AUCTION_END, auctionEnd);
160
160
  }
161
161
 
162
162
  describe('oolo Prebid Analytic', () => {
@@ -321,16 +321,16 @@ describe('oolo Prebid Analytic', () => {
321
321
  }
322
322
  })
323
323
 
324
- events.emit(constants.EVENTS.AUCTION_INIT, auctionInit);
325
- events.emit(constants.EVENTS.BID_REQUESTED, bidRequested);
326
- events.emit(constants.EVENTS.BID_RESPONSE, bidResponse);
324
+ events.emit(EVENTS.AUCTION_INIT, auctionInit);
325
+ events.emit(EVENTS.BID_REQUESTED, bidRequested);
326
+ events.emit(EVENTS.BID_RESPONSE, bidResponse);
327
327
 
328
328
  // configuration returned in an arbitrary moment
329
329
  server.requests[0].respond(500)
330
330
 
331
- events.emit(constants.EVENTS.NO_BID, noBid);
332
- events.emit(constants.EVENTS.BID_TIMEOUT, bidTimeout);
333
- events.emit(constants.EVENTS.AUCTION_END, auctionEnd);
331
+ events.emit(EVENTS.NO_BID, noBid);
332
+ events.emit(EVENTS.BID_TIMEOUT, bidTimeout);
333
+ events.emit(EVENTS.AUCTION_END, auctionEnd);
334
334
 
335
335
  clock.tick(1500)
336
336
 
@@ -442,7 +442,7 @@ describe('oolo Prebid Analytic', () => {
442
442
 
443
443
  server.requests[0].respond(500)
444
444
  simulateAuction()
445
- events.emit(constants.EVENTS.BID_WON, bidWon);
445
+ events.emit(EVENTS.BID_WON, bidWon);
446
446
  clock.tick(1500)
447
447
 
448
448
  // no bidWon
@@ -466,7 +466,7 @@ describe('oolo Prebid Analytic', () => {
466
466
  }))
467
467
 
468
468
  simulateAuction()
469
- events.emit(constants.EVENTS.BID_WON, bidWon);
469
+ events.emit(EVENTS.BID_WON, bidWon);
470
470
  clock.tick(499)
471
471
 
472
472
  // no auction data
@@ -491,7 +491,7 @@ describe('oolo Prebid Analytic', () => {
491
491
  server.requests[0].respond(500)
492
492
  simulateAuction()
493
493
  clock.tick(1500)
494
- events.emit(constants.EVENTS.BID_WON, bidWon);
494
+ events.emit(EVENTS.BID_WON, bidWon);
495
495
 
496
496
  expect(server.requests).to.have.length(5)
497
497
 
@@ -516,7 +516,7 @@ describe('oolo Prebid Analytic', () => {
516
516
  server.requests[0].respond(500)
517
517
  simulateAuction()
518
518
  clock.tick(1500)
519
- events.emit(constants.EVENTS.AD_RENDER_FAILED, { bidId: 'abcdef', reason: 'exception' });
519
+ events.emit(EVENTS.AD_RENDER_FAILED, { bidId: 'abcdef', reason: 'exception' });
520
520
 
521
521
  expect(server.requests).to.have.length(5)
522
522
 
@@ -557,12 +557,12 @@ describe('oolo Prebid Analytic', () => {
557
557
  }
558
558
  }))
559
559
 
560
- events.emit(constants.EVENTS.AUCTION_INIT, { ...auctionInit });
561
- events.emit(constants.EVENTS.BID_REQUESTED, { ...bidRequested, bids: bidRequested.bids.map(b => { b.transactionId = '123'; return b }) });
562
- events.emit(constants.EVENTS.NO_BID, { ...noBid, src: 'client' });
563
- events.emit(constants.EVENTS.BID_RESPONSE, { ...bidResponse, adUrl: '...' });
564
- events.emit(constants.EVENTS.AUCTION_END, { ...auctionEnd, winningBids: [] });
565
- events.emit(constants.EVENTS.BID_WON, { ...bidWon, statusMessage: 'msg2' });
560
+ events.emit(EVENTS.AUCTION_INIT, { ...auctionInit });
561
+ events.emit(EVENTS.BID_REQUESTED, { ...bidRequested, bids: bidRequested.bids.map(b => { b.transactionId = '123'; return b }) });
562
+ events.emit(EVENTS.NO_BID, { ...noBid, src: 'client' });
563
+ events.emit(EVENTS.BID_RESPONSE, { ...bidResponse, adUrl: '...' });
564
+ events.emit(EVENTS.AUCTION_END, { ...auctionEnd, winningBids: [] });
565
+ events.emit(EVENTS.BID_WON, { ...bidWon, statusMessage: 'msg2' });
566
566
 
567
567
  clock.tick(1500)
568
568
 
@@ -596,12 +596,12 @@ describe('oolo Prebid Analytic', () => {
596
596
  }
597
597
  }))
598
598
 
599
- events.emit(constants.EVENTS.AUCTION_INIT, { ...auctionInit, custom_1: true });
600
- events.emit(constants.EVENTS.BID_REQUESTED, { ...bidRequested, bids: bidRequested.bids.map(b => { b.custom_2 = true; return b }) });
601
- events.emit(constants.EVENTS.NO_BID, { ...noBid, custom_3: true });
602
- events.emit(constants.EVENTS.BID_RESPONSE, { ...bidResponse, custom_4: true });
603
- events.emit(constants.EVENTS.AUCTION_END, { ...auctionEnd });
604
- events.emit(constants.EVENTS.BID_WON, { ...bidWon, custom_5: true });
599
+ events.emit(EVENTS.AUCTION_INIT, { ...auctionInit, custom_1: true });
600
+ events.emit(EVENTS.BID_REQUESTED, { ...bidRequested, bids: bidRequested.bids.map(b => { b.custom_2 = true; return b }) });
601
+ events.emit(EVENTS.NO_BID, { ...noBid, custom_3: true });
602
+ events.emit(EVENTS.BID_RESPONSE, { ...bidResponse, custom_4: true });
603
+ events.emit(EVENTS.AUCTION_END, { ...auctionEnd });
604
+ events.emit(EVENTS.BID_WON, { ...bidWon, custom_5: true });
605
605
 
606
606
  clock.tick(1500)
607
607
 
@@ -633,7 +633,7 @@ describe('oolo Prebid Analytic', () => {
633
633
  }
634
634
  }))
635
635
 
636
- events.emit(constants.EVENTS.AUCTION_INIT, { ...auctionInit, custom_1: true });
636
+ events.emit(EVENTS.AUCTION_INIT, { ...auctionInit, custom_1: true });
637
637
 
638
638
  clock.tick(1500)
639
639
 
@@ -661,7 +661,7 @@ describe('oolo Prebid Analytic', () => {
661
661
  }
662
662
  }))
663
663
 
664
- events.emit(constants.EVENTS.AUCTION_INIT, { ...auctionInit });
664
+ events.emit(EVENTS.AUCTION_INIT, { ...auctionInit });
665
665
 
666
666
  expect(server.requests[3].url).to.equal('https://pbjs.com/')
667
667
  })
@@ -686,8 +686,8 @@ describe('oolo Prebid Analytic', () => {
686
686
  }
687
687
  }))
688
688
 
689
- events.emit(constants.EVENTS.AUCTION_INIT, auctionInit)
690
- events.emit(constants.EVENTS.BID_REQUESTED, bidRequested);
689
+ events.emit(EVENTS.AUCTION_INIT, auctionInit)
690
+ events.emit(EVENTS.BID_REQUESTED, bidRequested);
691
691
 
692
692
  const request = JSON.parse(server.requests[3].requestBody)
693
693
 
@@ -3,7 +3,6 @@ import { expect } from 'chai';
3
3
  import optimonAnalyticsAdapter from '../../../modules/optimonAnalyticsAdapter.js';
4
4
  import adapterManager from 'src/adapterManager';
5
5
  import * as events from 'src/events';
6
- import constants from 'src/constants.json'
7
6
  import {expectEvents} from '../../helpers/analytics.js';
8
7
 
9
8
  const AD_UNIT_CODE = 'demo-adunit-1';
@@ -2,10 +2,10 @@ import oxxionAnalytics from 'modules/oxxionAnalyticsAdapter.js';
2
2
  import {dereferenceWithoutRenderer} from 'modules/oxxionAnalyticsAdapter.js';
3
3
  import { expect } from 'chai';
4
4
  import { server } from 'test/mocks/xhr.js';
5
+ import { EVENTS } from 'src/constants.js';
6
+
5
7
  let adapterManager = require('src/adapterManager').default;
6
8
  let events = require('src/events');
7
- let constants = require('src/constants.json');
8
-
9
9
  describe('Oxxion Analytics', function () {
10
10
  let timestamp = new Date() - 256;
11
11
  let auctionId = '5018eb39-f900-4370-b71e-3bb5b48d324f';
@@ -303,10 +303,10 @@ describe('Oxxion Analytics', function () {
303
303
  }
304
304
  });
305
305
 
306
- events.emit(constants.EVENTS.BID_REQUESTED, auctionEnd['bidderRequests'][0]);
307
- events.emit(constants.EVENTS.BID_RESPONSE, auctionEnd['bidsReceived'][0]);
308
- events.emit(constants.EVENTS.BID_TIMEOUT, bidTimeout);
309
- events.emit(constants.EVENTS.AUCTION_END, auctionEnd);
306
+ events.emit(EVENTS.BID_REQUESTED, auctionEnd['bidderRequests'][0]);
307
+ events.emit(EVENTS.BID_RESPONSE, auctionEnd['bidsReceived'][0]);
308
+ events.emit(EVENTS.BID_TIMEOUT, bidTimeout);
309
+ events.emit(EVENTS.AUCTION_END, auctionEnd);
310
310
  expect(server.requests.length).to.equal(1);
311
311
  let message = JSON.parse(server.requests[0].requestBody);
312
312
  expect(message).to.have.property('auctionEnd').exist;
@@ -336,7 +336,7 @@ describe('Oxxion Analytics', function () {
336
336
  domain: 'test'
337
337
  }
338
338
  });
339
- events.emit(constants.EVENTS.BID_WON, bidWon);
339
+ events.emit(EVENTS.BID_WON, bidWon);
340
340
  expect(server.requests.length).to.equal(1);
341
341
  let message = JSON.parse(server.requests[0].requestBody);
342
342
  expect(message).not.to.have.property('ad');
@@ -15,7 +15,7 @@ import {
15
15
  reset
16
16
  } from 'modules/paapi.js';
17
17
  import * as events from 'src/events.js';
18
- import CONSTANTS from 'src/constants.json';
18
+ import { EVENTS } from 'src/constants.js';
19
19
  import {getGlobal} from '../../../src/prebidGlobal.js';
20
20
  import {auctionManager} from '../../../src/auctionManager.js';
21
21
  import {stubAuctionIndex} from '../../helpers/indexStub.js';
@@ -69,7 +69,7 @@ describe('paapi module', () => {
69
69
  cf2 = {...fledgeAuctionConfig, id: 2, seller: 'b2'};
70
70
  addComponentAuctionHook(nextFnSpy, {auctionId, adUnitCode: 'au1'}, cf1);
71
71
  addComponentAuctionHook(nextFnSpy, {auctionId, adUnitCode: 'au2'}, cf2);
72
- events.emit(CONSTANTS.EVENTS.AUCTION_END, {auctionId, adUnitCodes: ['au1', 'au2', 'au3']});
72
+ events.emit(EVENTS.AUCTION_END, { auctionId, adUnitCodes: ['au1', 'au2', 'au3'] });
73
73
  });
74
74
 
75
75
  it('and make them available at end of auction', () => {
@@ -123,12 +123,36 @@ describe('paapi module', () => {
123
123
  });
124
124
 
125
125
  it('should drop auction configs after end of auction', () => {
126
- events.emit(CONSTANTS.EVENTS.AUCTION_END, {auctionId});
126
+ events.emit(EVENTS.AUCTION_END, { auctionId });
127
127
  addComponentAuctionHook(nextFnSpy, {auctionId, adUnitCode: 'au'}, fledgeAuctionConfig);
128
- events.emit(CONSTANTS.EVENTS.AUCTION_END, {auctionId});
128
+ events.emit(EVENTS.AUCTION_END, { auctionId });
129
129
  expect(getPAAPIConfig({auctionId})).to.eql({});
130
130
  });
131
131
 
132
+ it('should use first size as requestedSize', () => {
133
+ addComponentAuctionHook(nextFnSpy, {
134
+ auctionId,
135
+ adUnitCode: 'au1',
136
+ }, fledgeAuctionConfig);
137
+ events.emit(EVENTS.AUCTION_END, {
138
+ auctionId,
139
+ adUnits: [
140
+ {
141
+ code: 'au1',
142
+ mediaTypes: {
143
+ banner: {
144
+ sizes: [[200, 100], [300, 200]]
145
+ }
146
+ }
147
+ }
148
+ ]
149
+ });
150
+ expect(getPAAPIConfig({auctionId}).au1.requestedSize).to.eql({
151
+ width: '200',
152
+ height: '100'
153
+ })
154
+ })
155
+
132
156
  it('should augment auctionSignals with FPD', () => {
133
157
  addComponentAuctionHook(nextFnSpy, {
134
158
  auctionId,
@@ -136,7 +160,7 @@ describe('paapi module', () => {
136
160
  ortb2: {fpd: 1},
137
161
  ortb2Imp: {fpd: 2}
138
162
  }, fledgeAuctionConfig);
139
- events.emit(CONSTANTS.EVENTS.AUCTION_END, {auctionId});
163
+ events.emit(EVENTS.AUCTION_END, { auctionId });
140
164
  sinon.assert.match(getPAAPIConfig({auctionId}), {
141
165
  au1: {
142
166
  componentAuctions: [{
@@ -165,13 +189,13 @@ describe('paapi module', () => {
165
189
  describe('onAuctionConfig', () => {
166
190
  const auctionId = 'aid';
167
191
  it('is invoked with null configs when there\'s no config', () => {
168
- events.emit(CONSTANTS.EVENTS.AUCTION_END, {auctionId, adUnitCodes: ['au']});
192
+ events.emit(EVENTS.AUCTION_END, { auctionId, adUnitCodes: ['au'] });
169
193
  submods.forEach(submod => sinon.assert.calledWith(submod.onAuctionConfig, auctionId, {au: null}));
170
194
  });
171
195
  it('is invoked with relevant configs', () => {
172
196
  addComponentAuctionHook(nextFnSpy, {auctionId, adUnitCode: 'au1'}, fledgeAuctionConfig);
173
197
  addComponentAuctionHook(nextFnSpy, {auctionId, adUnitCode: 'au2'}, fledgeAuctionConfig);
174
- events.emit(CONSTANTS.EVENTS.AUCTION_END, {auctionId, adUnitCodes: ['au1', 'au2', 'au3']});
198
+ events.emit(EVENTS.AUCTION_END, { auctionId, adUnitCodes: ['au1', 'au2', 'au3'] });
175
199
  submods.forEach(submod => {
176
200
  sinon.assert.calledWith(submod.onAuctionConfig, auctionId, {
177
201
  au1: {componentAuctions: [fledgeAuctionConfig]},
@@ -185,12 +209,12 @@ describe('paapi module', () => {
185
209
  markAsUsed('au1');
186
210
  });
187
211
  addComponentAuctionHook(nextFnSpy, {auctionId, adUnitCode: 'au1'}, fledgeAuctionConfig);
188
- events.emit(CONSTANTS.EVENTS.AUCTION_END, {auctionId, adUnitCodes: ['au1']});
212
+ events.emit(EVENTS.AUCTION_END, { auctionId, adUnitCodes: ['au1'] });
189
213
  expect(getPAAPIConfig()).to.eql({});
190
214
  });
191
215
  it('keeps them available if they do not', () => {
192
216
  addComponentAuctionHook(nextFnSpy, {auctionId, adUnitCode: 'au1'}, fledgeAuctionConfig);
193
- events.emit(CONSTANTS.EVENTS.AUCTION_END, {auctionId, adUnitCodes: ['au1']});
217
+ events.emit(EVENTS.AUCTION_END, { auctionId, adUnitCodes: ['au1'] });
194
218
  expect(getPAAPIConfig()).to.not.be.empty;
195
219
  })
196
220
  });
@@ -294,10 +318,12 @@ describe('paapi module', () => {
294
318
 
295
319
  it('should populate bidfloor/bidfloorcur', () => {
296
320
  addComponentAuctionHook(nextFnSpy, {auctionId, adUnitCode: 'au'}, fledgeAuctionConfig);
297
- events.emit(CONSTANTS.EVENTS.AUCTION_END, payload);
298
- const signals = getPAAPIConfig({auctionId}).au.componentAuctions[0].auctionSignals;
299
- expect(signals.prebid?.bidfloor).to.eql(bidfloor);
300
- expect(signals.prebid?.bidfloorcur).to.eql(bidfloorcur);
321
+ events.emit(EVENTS.AUCTION_END, payload);
322
+ const cfg = getPAAPIConfig({auctionId}).au;
323
+ const signals = cfg.auctionSignals;
324
+ sinon.assert.match(cfg.componentAuctions[0].auctionSignals, signals || {});
325
+ expect(signals?.prebid?.bidfloor).to.eql(bidfloor);
326
+ expect(signals?.prebid?.bidfloorcur).to.eql(bidfloorcur);
301
327
  });
302
328
  });
303
329
  });
@@ -339,7 +365,7 @@ describe('paapi module', () => {
339
365
  configs[auctionId][adUnitCode] = cfg;
340
366
  addComponentAuctionHook(nextFnSpy, {auctionId, adUnitCode}, cfg);
341
367
  });
342
- events.emit(CONSTANTS.EVENTS.AUCTION_END, {auctionId, adUnitCodes: adUnitCodes.concat(noConfigAdUnitCodes)});
368
+ events.emit(EVENTS.AUCTION_END, { auctionId, adUnitCodes: adUnitCodes.concat(noConfigAdUnitCodes) });
343
369
  });
344
370
  });
345
371
 
@@ -212,6 +212,28 @@ describe('permutiveRtdProvider', function () {
212
212
  return { id: seg }
213
213
  }),
214
214
  },
215
+ {
216
+ name: 'permutive.com',
217
+ ext: {
218
+ segtax: 600
219
+ },
220
+ segment: [
221
+ { id: '1' },
222
+ { id: '2' },
223
+ { id: '3' },
224
+ ],
225
+ },
226
+ {
227
+ name: 'permutive.com',
228
+ ext: {
229
+ segtax: 601
230
+ },
231
+ segment: [
232
+ { id: '100' },
233
+ { id: '101' },
234
+ { id: '102' },
235
+ ],
236
+ },
215
237
  ])
216
238
  })
217
239
  })
@@ -553,6 +575,10 @@ describe('permutiveRtdProvider', function () {
553
575
  for (const key in segments) {
554
576
  if (key === 'ssp') {
555
577
  expect(segments[key].cohorts).to.have.length(max)
578
+ } else if (key === 'topics') {
579
+ for (const topic in segments[key]) {
580
+ expect(segments[key][topic]).to.have.length(max)
581
+ }
556
582
  } else {
557
583
  expect(segments[key]).to.have.length(max)
558
584
  }
@@ -684,6 +710,7 @@ function transformedTargeting (data = getTargetingData()) {
684
710
  rubicon: data._prubicons,
685
711
  gam: data._pdfps,
686
712
  ssp: data._pssps,
713
+ topics: data._ppsts,
687
714
  }
688
715
  }
689
716
 
@@ -696,7 +723,8 @@ function getTargetingData () {
696
723
  _ppam: ['ppam1', 'ppam2'],
697
724
  _pindexs: ['pindex1', 'pindex2'],
698
725
  _pcrprs: ['pcrprs1', 'pcrprs2', 'dup'],
699
- _pssps: { ssps: ['xyz', 'abc', 'dup'], cohorts: ['123', 'abc'] }
726
+ _pssps: { ssps: ['xyz', 'abc', 'dup'], cohorts: ['123', 'abc'] },
727
+ _ppsts: { '600': [1, 2, 3], '601': [100, 101, 102] },
700
728
  }
701
729
  }
702
730
 
@@ -73,7 +73,9 @@ describe('PGAMBidAdapter', function () {
73
73
 
74
74
  const bidderRequest = {
75
75
  uspConsent: '1---',
76
- gdprConsent: 'COvFyGBOvFyGBAbAAAENAPCAAOAAAAAAAAAAAEEUACCKAAA.IFoEUQQgAIQwgIwQABAEAAAAOIAACAIAAAAQAIAgEAACEAAAAAgAQBAAAAAAAGBAAgAAAAAAAFAAECAAAgAAQARAEQAAAAAJAAIAAgAAAYQEAAAQmAgBC3ZAYzUw',
76
+ gdprConsent: {
77
+ consentString: 'COvFyGBOvFyGBAbAAAENAPCAAOAAAAAAAAAAAEEUACCKAAA.IFoEUQQgAIQwgIwQABAEAAAAOIAACAIAAAAQAIAgEAACEAAAAAgAQBAAAAAAAGBAAgAAAAAAAFAAECAAAgAAQARAEQAAAAAJAAIAAgAAAYQEAAAQmAgBC3ZAYzUw'
78
+ },
77
79
  refererInfo: {
78
80
  referer: 'https://test.com'
79
81
  },
@@ -129,7 +131,7 @@ describe('PGAMBidAdapter', function () {
129
131
  expect(data.host).to.be.a('string');
130
132
  expect(data.page).to.be.a('string');
131
133
  expect(data.coppa).to.be.a('number');
132
- expect(data.gdpr).to.be.a('string');
134
+ expect(data.gdpr).to.be.a('object');
133
135
  expect(data.ccpa).to.be.a('string');
134
136
  expect(data.tmax).to.be.a('number');
135
137
  expect(data.placements).to.have.lengthOf(3);
@@ -171,8 +173,8 @@ describe('PGAMBidAdapter', function () {
171
173
  serverRequest = spec.buildRequests(bids, bidderRequest);
172
174
  let data = serverRequest.data;
173
175
  expect(data.gdpr).to.exist;
174
- expect(data.gdpr).to.be.a('string');
175
- expect(data.gdpr).to.equal(bidderRequest.gdprConsent);
176
+ expect(data.gdpr).to.be.a('object');
177
+ expect(data.gdpr.consentString).to.equal(bidderRequest.gdprConsent.consentString);
176
178
  expect(data.ccpa).to.not.exist;
177
179
  delete bidderRequest.gdprConsent;
178
180
  });
@@ -195,6 +197,38 @@ describe('PGAMBidAdapter', function () {
195
197
  });
196
198
  });
197
199
 
200
+ describe('gpp consent', function () {
201
+ it('bidderRequest.gppConsent', () => {
202
+ bidderRequest.gppConsent = {
203
+ gppString: 'abc123',
204
+ applicableSections: [8]
205
+ };
206
+
207
+ let serverRequest = spec.buildRequests(bids, bidderRequest);
208
+ let data = serverRequest.data;
209
+ expect(data).to.be.an('object');
210
+ expect(data).to.have.property('gpp');
211
+ expect(data).to.have.property('gpp_sid');
212
+
213
+ delete bidderRequest.gppConsent;
214
+ })
215
+
216
+ it('bidderRequest.ortb2.regs.gpp', () => {
217
+ bidderRequest.ortb2 = bidderRequest.ortb2 || {};
218
+ bidderRequest.ortb2.regs = bidderRequest.ortb2.regs || {};
219
+ bidderRequest.ortb2.regs.gpp = 'abc123';
220
+ bidderRequest.ortb2.regs.gpp_sid = [8];
221
+
222
+ let serverRequest = spec.buildRequests(bids, bidderRequest);
223
+ let data = serverRequest.data;
224
+ expect(data).to.be.an('object');
225
+ expect(data).to.have.property('gpp');
226
+ expect(data).to.have.property('gpp_sid');
227
+
228
+ bidderRequest.ortb2;
229
+ })
230
+ });
231
+
198
232
  describe('interpretResponse', function () {
199
233
  it('Should interpret banner response', function () {
200
234
  const banner = {
@@ -396,5 +430,17 @@ describe('PGAMBidAdapter', function () {
396
430
  expect(syncData[0].url).to.be.a('string')
397
431
  expect(syncData[0].url).to.equal('https://cs.pgammedia.com/image?pbjs=1&ccpa_consent=1---&coppa=0')
398
432
  });
433
+ it('Should return array of objects with proper sync config , include GPP', function() {
434
+ const syncData = spec.getUserSyncs({}, {}, {}, {}, {
435
+ gppString: 'abc123',
436
+ applicableSections: [8]
437
+ });
438
+ expect(syncData).to.be.an('array').which.is.not.empty;
439
+ expect(syncData[0]).to.be.an('object')
440
+ expect(syncData[0].type).to.be.a('string')
441
+ expect(syncData[0].type).to.equal('image')
442
+ expect(syncData[0].url).to.be.a('string')
443
+ expect(syncData[0].url).to.equal('https://cs.pgammedia.com/image?pbjs=1&gpp=abc123&gpp_sid=8&coppa=0')
444
+ });
399
445
  });
400
446
  });
@@ -1,7 +1,7 @@
1
1
  import pianoDmpAnalytics from 'modules/pianoDmpAnalyticsAdapter.js';
2
2
  import adapterManager from 'src/adapterManager';
3
3
  import * as events from 'src/events';
4
- import constants from 'src/constants.json';
4
+ import { EVENTS } from 'src/constants.js';
5
5
  import { expect } from 'chai';
6
6
 
7
7
  describe('Piano DMP Analytics Adapter', () => {
@@ -31,14 +31,14 @@ describe('Piano DMP Analytics Adapter', () => {
31
31
 
32
32
  it('should pass events to call queue', () => {
33
33
  const eventsList = [
34
- constants.EVENTS.AUCTION_INIT,
35
- constants.EVENTS.AUCTION_END,
36
- constants.EVENTS.BID_ADJUSTMENT,
37
- constants.EVENTS.BID_TIMEOUT,
38
- constants.EVENTS.BID_REQUESTED,
39
- constants.EVENTS.BID_RESPONSE,
40
- constants.EVENTS.NO_BID,
41
- constants.EVENTS.BID_WON,
34
+ EVENTS.AUCTION_INIT,
35
+ EVENTS.AUCTION_END,
36
+ EVENTS.BID_ADJUSTMENT,
37
+ EVENTS.BID_TIMEOUT,
38
+ EVENTS.BID_REQUESTED,
39
+ EVENTS.BID_RESPONSE,
40
+ EVENTS.NO_BID,
41
+ EVENTS.BID_WON,
42
42
  ];
43
43
 
44
44
  // Given
@@ -0,0 +1,77 @@
1
+ import { pirIdSubmodule, storage, readId } from 'modules/pirIdSystem.js';
2
+ import sinon from 'sinon';
3
+
4
+ describe('pirIdSystem', () => {
5
+ let sandbox;
6
+ let getCookieStub;
7
+ let getDataFromLocalStorageStub;
8
+
9
+ beforeEach(() => {
10
+ sandbox = sinon.createSandbox();
11
+ getCookieStub = sandbox.stub(storage, 'getCookie');
12
+ getDataFromLocalStorageStub = sandbox.stub(storage, 'getDataFromLocalStorage');
13
+ });
14
+
15
+ afterEach(() => {
16
+ sandbox.restore();
17
+ });
18
+
19
+ describe('getId', () => {
20
+ it('should return an object with id when pirIdToken is found', () => {
21
+ getDataFromLocalStorageStub.returns('testToken');
22
+ getCookieStub.returns('testToken');
23
+
24
+ const result = pirIdSubmodule.getId();
25
+
26
+ expect(result).to.deep.equal({ id: 'testToken' });
27
+ });
28
+
29
+ it('should return undefined when pirIdToken is not found', () => {
30
+ const result = pirIdSubmodule.getId();
31
+
32
+ expect(result).to.be.undefined;
33
+ });
34
+ });
35
+
36
+ describe('decode', () => {
37
+ it('should return an object with pirId when value is a string', () => {
38
+ const result = pirIdSubmodule.decode('testId');
39
+
40
+ expect(result).to.deep.equal({ pirId: 'testId' });
41
+ });
42
+
43
+ it('should return undefined when value is not a string', () => {
44
+ const result = pirIdSubmodule.decode({});
45
+
46
+ expect(result).to.be.undefined;
47
+ });
48
+ });
49
+
50
+ describe('readId', () => {
51
+ it('should return data from local storage when it exists', () => {
52
+ getDataFromLocalStorageStub.returns('local_storage_data');
53
+
54
+ const result = readId();
55
+
56
+ expect(result).to.equal('local_storage_data');
57
+ });
58
+
59
+ it('should return data from cookie when local storage data does not exist', () => {
60
+ getDataFromLocalStorageStub.returns(null);
61
+ getCookieStub.returns('cookie_data');
62
+
63
+ const result = readId();
64
+
65
+ expect(result).to.equal('cookie_data');
66
+ });
67
+
68
+ it('should return null when neither local storage data nor cookie data exists', () => {
69
+ getDataFromLocalStorageStub.returns(null);
70
+ getCookieStub.returns(null);
71
+
72
+ const result = readId();
73
+
74
+ expect(result).to.be.null;
75
+ });
76
+ });
77
+ });
@@ -12,7 +12,7 @@ import {deepAccess, deepClone, mergeDeep} from 'src/utils.js';
12
12
  import {ajax} from 'src/ajax.js';
13
13
  import {config} from 'src/config.js';
14
14
  import * as events from 'src/events.js';
15
- import CONSTANTS from 'src/constants.json';
15
+ import { EVENTS } from 'src/constants.js';
16
16
  import {server} from 'test/mocks/xhr.js';
17
17
  import 'modules/appnexusBidAdapter.js'; // appnexus alias test
18
18
  import 'modules/rubiconBidAdapter.js'; // rubicon alias test
@@ -2879,7 +2879,7 @@ describe('S2S Adapter', function () {
2879
2879
  adapter.callBids(REQUEST, BID_REQUESTS, addBidResponse, done, ajax);
2880
2880
  server.requests[0].respond(400, {}, {});
2881
2881
  BID_REQUESTS.forEach(bidderRequest => {
2882
- sinon.assert.calledWith(events.emit, CONSTANTS.EVENTS.BIDDER_ERROR, sinon.match({bidderRequest}))
2882
+ sinon.assert.calledWith(events.emit, EVENTS.BIDDER_ERROR, sinon.match({ bidderRequest }))
2883
2883
  })
2884
2884
  })
2885
2885
 
@@ -3062,7 +3062,7 @@ describe('S2S Adapter', function () {
3062
3062
 
3063
3063
  sinon.assert.calledOnce(events.emit);
3064
3064
  const event = events.emit.firstCall.args;
3065
- expect(event[0]).to.equal(CONSTANTS.EVENTS.BIDDER_DONE);
3065
+ expect(event[0]).to.equal(EVENTS.BIDDER_DONE);
3066
3066
  expect(event[1].bids[0]).to.have.property('serverResponseTimeMs', 8);
3067
3067
 
3068
3068
  sinon.assert.calledOnce(addBidResponse);
@@ -3093,7 +3093,7 @@ describe('S2S Adapter', function () {
3093
3093
  Object.assign(responding.ext.seatnonbid, [{auctionId: 2}])
3094
3094
  server.requests[0].respond(200, {}, JSON.stringify(responding));
3095
3095
  const event = events.emit.secondCall.args;
3096
- expect(event[0]).to.equal(CONSTANTS.EVENTS.SEAT_NON_BID);
3096
+ expect(event[0]).to.equal(EVENTS.SEAT_NON_BID);
3097
3097
  expect(event[1].seatnonbid[0]).to.have.property('auctionId', 2);
3098
3098
  expect(event[1].requestedBidders).to.deep.equal(['appnexus']);
3099
3099
  expect(event[1].response).to.deep.equal(responding);
@@ -3584,7 +3584,7 @@ describe('S2S Adapter', function () {
3584
3584
  adapter.callBids(REQUEST, BID_REQUESTS, addBidResponse, done, ajax);
3585
3585
  server.requests[0].respond(200, {}, JSON.stringify(clonedResponse));
3586
3586
 
3587
- events.emit(CONSTANTS.EVENTS.BID_WON, {
3587
+ events.emit(EVENTS.BID_WON, {
3588
3588
  auctionId: '173afb6d132ba3',
3589
3589
  adId: '1000'
3590
3590
  });
@@ -3603,7 +3603,7 @@ describe('S2S Adapter', function () {
3603
3603
  adapter.callBids(REQUEST, BID_REQUESTS, addBidResponse, done, ajax);
3604
3604
  server.requests[0].respond(200, {}, JSON.stringify(clonedResponse));
3605
3605
 
3606
- events.emit(CONSTANTS.EVENTS.BID_WON, {
3606
+ events.emit(EVENTS.BID_WON, {
3607
3607
  auctionId: '173afb6d132ba3',
3608
3608
  adId: 'missingAdId'
3609
3609
  });
@@ -3619,7 +3619,7 @@ describe('S2S Adapter', function () {
3619
3619
  adapter.callBids(REQUEST, BID_REQUESTS, addBidResponse, done, ajax);
3620
3620
  server.requests[0].respond(200, {}, JSON.stringify(clonedResponse));
3621
3621
 
3622
- events.emit(CONSTANTS.EVENTS.BID_WON, {
3622
+ events.emit(EVENTS.BID_WON, {
3623
3623
  auctionId: '173afb6d132ba3',
3624
3624
  adId: '1060'
3625
3625
  });
@@ -3,9 +3,9 @@ import {expect} from 'chai';
3
3
  import {server} from 'test/mocks/xhr.js';
4
4
  import * as utils from 'src/utils.js';
5
5
  import {expectEvents} from '../../helpers/analytics.js';
6
+ import { EVENTS } from 'src/constants.js';
6
7
 
7
8
  let events = require('src/events');
8
- let constants = require('src/constants.json');
9
9
 
10
10
  describe('Prebid Manager Analytics Adapter', function () {
11
11
  let bidWonEvent = {
@@ -66,7 +66,7 @@ describe('Prebid Manager Analytics Adapter', function () {
66
66
  }
67
67
  });
68
68
 
69
- events.emit(constants.EVENTS.BID_WON, bidWonEvent);
69
+ events.emit(EVENTS.BID_WON, bidWonEvent);
70
70
  prebidmanagerAnalytics.flush();
71
71
 
72
72
  expect(server.requests.length).to.equal(1);