prebid.js 5.14.0 → 5.18.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 (397) hide show
  1. package/.devcontainer/Dockerfile +11 -0
  2. package/.devcontainer/devcontainer.json +27 -0
  3. package/.devcontainer/postCreate.sh +6 -0
  4. package/allowedModules.js +2 -1
  5. package/integrationExamples/gpt/afpExample.html +242 -0
  6. package/integrationExamples/gpt/afpGamExample.html +152 -0
  7. package/integrationExamples/gpt/weboramaRtdProvider_example.html +126 -0
  8. package/modules/.submodules.json +29 -27
  9. package/modules/33acrossBidAdapter.js +23 -20
  10. package/modules/a4gBidAdapter.js +3 -3
  11. package/modules/ablidaBidAdapter.js +2 -2
  12. package/modules/adWMGBidAdapter.js +4 -4
  13. package/modules/adagioAnalyticsAdapter.js +4 -4
  14. package/modules/adagioBidAdapter.js +85 -82
  15. package/modules/adbookpspBidAdapter.js +56 -54
  16. package/modules/adfBidAdapter.js +24 -16
  17. package/modules/adgenerationBidAdapter.js +42 -18
  18. package/modules/adhashBidAdapter.js +105 -0
  19. package/modules/adhashBidAdapter.md +1 -1
  20. package/modules/adkernelAdnAnalyticsAdapter.js +6 -6
  21. package/modules/adkernelAdnBidAdapter.js +23 -23
  22. package/modules/adkernelBidAdapter.js +49 -44
  23. package/modules/adlooxAdServerVideo.js +26 -26
  24. package/modules/adlooxAnalyticsAdapter.js +38 -35
  25. package/modules/adlooxRtdProvider.js +49 -46
  26. package/modules/admanBidAdapter.js +4 -4
  27. package/modules/admixerBidAdapter.js +13 -2
  28. package/modules/admixerIdSystem.js +4 -4
  29. package/modules/adnowBidAdapter.js +4 -4
  30. package/modules/adnuntiusBidAdapter.js +6 -5
  31. package/modules/adoceanBidAdapter.js +10 -10
  32. package/modules/adpartnerBidAdapter.js +3 -3
  33. package/modules/adpod.js +45 -42
  34. package/modules/adprimeBidAdapter.js +4 -4
  35. package/modules/adqueryBidAdapter.js +204 -0
  36. package/modules/adqueryBidAdapter.md +32 -0
  37. package/modules/adrelevantisBidAdapter.js +30 -27
  38. package/modules/adriverBidAdapter.js +13 -13
  39. package/modules/adtargetBidAdapter.js +24 -24
  40. package/modules/adtelligentBidAdapter.js +29 -29
  41. package/modules/adtrueBidAdapter.js +35 -35
  42. package/modules/aduptechBidAdapter.js +10 -10
  43. package/modules/advangelistsBidAdapter.js +14 -14
  44. package/modules/adxcgAnalyticsAdapter.js +5 -5
  45. package/modules/adxcgBidAdapter.js +56 -56
  46. package/modules/adxpremiumAnalyticsAdapter.js +17 -17
  47. package/modules/adyoulikeBidAdapter.js +11 -11
  48. package/modules/afpBidAdapter.js +166 -0
  49. package/modules/afpBidAdapter.md +348 -0
  50. package/modules/ajaBidAdapter.js +12 -12
  51. package/modules/akamaiDAPIdSystem.js +9 -9
  52. package/modules/aniviewBidAdapter.js +2 -2
  53. package/modules/aolBidAdapter.js +15 -14
  54. package/modules/apacdexBidAdapter.js +16 -16
  55. package/modules/appnexusBidAdapter.js +59 -59
  56. package/modules/apstreamBidAdapter.js +5 -5
  57. package/modules/asoBidAdapter.js +30 -30
  58. package/modules/astraoneBidAdapter.js +2 -2
  59. package/modules/atsAnalyticsAdapter.js +35 -30
  60. package/modules/audiencerunBidAdapter.js +15 -15
  61. package/modules/automatadBidAdapter.js +2 -2
  62. package/modules/axonixBidAdapter.js +7 -7
  63. package/modules/beachfrontBidAdapter.js +23 -23
  64. package/modules/beopBidAdapter.js +22 -22
  65. package/modules/bidViewabilityIO.js +7 -7
  66. package/modules/bidglassBidAdapter.js +8 -8
  67. package/modules/bidscubeBidAdapter.js +3 -3
  68. package/modules/bizzclickBidAdapter.js +10 -10
  69. package/modules/bliinkBidAdapter.js +58 -32
  70. package/modules/bliinkBidAdapter.md +29 -6
  71. package/modules/bluebillywigBidAdapter.js +30 -30
  72. package/modules/boldwinBidAdapter.js +4 -4
  73. package/modules/braveBidAdapter.js +5 -5
  74. package/modules/bridgewellBidAdapter.js +5 -5
  75. package/modules/brightMountainMediaBidAdapter.js +10 -10
  76. package/modules/brightcomBidAdapter.js +18 -18
  77. package/modules/britepoolIdSystem.js +7 -7
  78. package/modules/browsiRtdProvider.js +8 -8
  79. package/modules/bucksenseBidAdapter.js +9 -9
  80. package/modules/buzzoolaBidAdapter.js +4 -4
  81. package/modules/byDataAnalyticsAdapter.js +12 -12
  82. package/modules/ccxBidAdapter.js +38 -38
  83. package/modules/cleanmedianetBidAdapter.js +9 -9
  84. package/modules/clickforceBidAdapter.js +4 -4
  85. package/modules/cointrafficBidAdapter.js +4 -4
  86. package/modules/coinzillaBidAdapter.js +2 -2
  87. package/modules/colossussspBidAdapter.js +7 -3
  88. package/modules/concertAnalyticsAdapter.js +3 -3
  89. package/modules/concertBidAdapter.js +16 -17
  90. package/modules/connectadBidAdapter.js +13 -13
  91. package/modules/consentManagement.js +29 -28
  92. package/modules/consentManagementUsp.js +14 -14
  93. package/modules/consumableBidAdapter.js +3 -3
  94. package/modules/contentexchangeBidAdapter.js +5 -5
  95. package/modules/conversantBidAdapter.js +32 -31
  96. package/modules/cpmstarBidAdapter.js +8 -9
  97. package/modules/craftBidAdapter.js +10 -10
  98. package/modules/criteoBidAdapter.js +16 -16
  99. package/modules/criteoIdSystem.js +5 -5
  100. package/modules/currency.js +18 -18
  101. package/modules/cwireBidAdapter.js +272 -0
  102. package/modules/cwireBidAdapter.md +43 -0
  103. package/modules/datablocksBidAdapter.js +12 -12
  104. package/modules/deepintentBidAdapter.js +13 -13
  105. package/modules/dgkeywordRtdProvider.js +10 -11
  106. package/modules/districtmDMXBidAdapter.js +15 -15
  107. package/modules/dmdIdSystem.js +5 -5
  108. package/modules/docereeBidAdapter.js +9 -9
  109. package/modules/dspxBidAdapter.js +5 -5
  110. package/modules/ebdrBidAdapter.js +9 -9
  111. package/modules/emx_digitalBidAdapter.js +23 -23
  112. package/modules/enrichmentFpdModule.js +10 -9
  113. package/modules/eplanningAnalyticsAdapter.js +2 -2
  114. package/modules/eplanningBidAdapter.js +10 -10
  115. package/modules/etargetBidAdapter.js +4 -4
  116. package/modules/express.js +9 -10
  117. package/modules/fabrickIdSystem.js +6 -6
  118. package/modules/feedadBidAdapter.js +5 -5
  119. package/modules/fintezaAnalyticsAdapter.js +4 -4
  120. package/modules/flocIdSystem.js +5 -5
  121. package/modules/fluctBidAdapter.js +6 -5
  122. package/modules/freewheel-sspBidAdapter.js +6 -6
  123. package/modules/gamoshiBidAdapter.js +22 -22
  124. package/modules/gdprEnforcement.js +13 -14
  125. package/modules/getintentBidAdapter.js +3 -4
  126. package/modules/glimpseBidAdapter.js +160 -48
  127. package/modules/glimpseBidAdapter.md +11 -74
  128. package/modules/gmosspBidAdapter.js +17 -17
  129. package/modules/gnetBidAdapter.js +5 -5
  130. package/modules/googleAnalyticsAdapter.js +6 -6
  131. package/modules/gothamadsBidAdapter.js +9 -9
  132. package/modules/gptPreAuction.js +7 -7
  133. package/modules/gridBidAdapter.js +15 -16
  134. package/modules/gridNMBidAdapter.js +214 -63
  135. package/modules/growadvertisingBidAdapter.js +7 -8
  136. package/modules/gumgumBidAdapter.js +19 -13
  137. package/modules/h12mediaBidAdapter.js +12 -12
  138. package/modules/haloIdSystem.js +8 -8
  139. package/modules/hybridBidAdapter.js +7 -7
  140. package/modules/iasRtdProvider.js +79 -63
  141. package/modules/id5IdSystem.js +24 -24
  142. package/modules/idImportLibrary.js +35 -35
  143. package/modules/idxIdSystem.js +3 -3
  144. package/modules/impactifyBidAdapter.js +10 -10
  145. package/modules/improvedigitalBidAdapter.js +36 -36
  146. package/modules/imuIdSystem.js +6 -6
  147. package/modules/inmarBidAdapter.js +2 -2
  148. package/modules/innityBidAdapter.js +3 -3
  149. package/modules/inskinBidAdapter.js +14 -2
  150. package/modules/inskinBidAdapter.md +5 -4
  151. package/modules/instreamTracking.js +5 -5
  152. package/modules/integr8BidAdapter.js +4 -4
  153. package/modules/intentIqIdSystem.js +7 -7
  154. package/modules/interactiveOffersBidAdapter.js +5 -5
  155. package/modules/invibesBidAdapter.js +53 -19
  156. package/modules/invisiblyAnalyticsAdapter.js +5 -5
  157. package/modules/iqmBidAdapter.js +19 -19
  158. package/modules/iqzoneBidAdapter.js +5 -5
  159. package/modules/ixBidAdapter.js +73 -73
  160. package/modules/jixieBidAdapter.js +6 -6
  161. package/modules/justpremiumBidAdapter.js +5 -1
  162. package/modules/kargoBidAdapter.js +16 -9
  163. package/modules/kargoBidAdapter.md +20 -0
  164. package/modules/kinessoIdSystem.js +8 -8
  165. package/modules/koblerBidAdapter.js +12 -12
  166. package/modules/konduitAnalyticsAdapter.js +4 -4
  167. package/modules/konduitWrapper.js +14 -14
  168. package/modules/krushmediaBidAdapter.js +4 -4
  169. package/modules/kubientBidAdapter.js +5 -5
  170. package/modules/limelightDigitalBidAdapter.js +4 -4
  171. package/modules/liveIntentIdSystem.js +4 -5
  172. package/modules/livewrappedAnalyticsAdapter.js +27 -15
  173. package/modules/livewrappedBidAdapter.js +7 -7
  174. package/modules/liveyieldAnalyticsAdapter.js +13 -13
  175. package/modules/lockerdomeBidAdapter.js +2 -2
  176. package/modules/loganBidAdapter.js +4 -4
  177. package/modules/lotamePanoramaIdSystem.js +13 -13
  178. package/modules/lunamediahbBidAdapter.js +2 -2
  179. package/modules/madvertiseBidAdapter.js +3 -3
  180. package/modules/marsmediaBidAdapter.js +26 -26
  181. package/modules/mathildeadsBidAdapter.js +5 -5
  182. package/modules/mediaforceBidAdapter.js +11 -11
  183. package/modules/mediakeysBidAdapter.js +444 -53
  184. package/modules/mediakeysBidAdapter.md +108 -0
  185. package/modules/medianetAnalyticsAdapter.js +48 -125
  186. package/modules/medianetBidAdapter.js +38 -33
  187. package/modules/medianetRtdProvider.js +7 -7
  188. package/modules/merkleIdSystem.js +19 -19
  189. package/modules/mgidBidAdapter.js +50 -50
  190. package/modules/microadBidAdapter.js +3 -3
  191. package/modules/multibid/index.js +15 -13
  192. package/modules/mwOpenLinkIdSystem.js +7 -7
  193. package/modules/mytargetBidAdapter.js +112 -0
  194. package/modules/nativoBidAdapter.js +46 -31
  195. package/modules/nativoBidAdapter.md +0 -1
  196. package/modules/naveggIdSystem.js +3 -3
  197. package/modules/nextMillenniumBidAdapter.js +6 -6
  198. package/modules/nextrollBidAdapter.js +375 -0
  199. package/modules/nobidBidAdapter.js +12 -11
  200. package/modules/novatiqIdSystem.js +8 -8
  201. package/modules/oguryBidAdapter.js +22 -6
  202. package/modules/oneVideoBidAdapter.js +20 -20
  203. package/modules/onomagicBidAdapter.js +16 -16
  204. package/modules/ooloAnalyticsAdapter.js +13 -13
  205. package/modules/openwebBidAdapter.js +26 -26
  206. package/modules/openxAnalyticsAdapter.js +33 -33
  207. package/modules/openxBidAdapter.js +29 -29
  208. package/modules/operaadsBidAdapter.js +53 -53
  209. package/modules/optimeraRtdProvider.js +9 -9
  210. package/modules/optoutBidAdapter.js +3 -3
  211. package/modules/orbidderBidAdapter.js +3 -3
  212. package/modules/outbrainBidAdapter.js +13 -13
  213. package/modules/ozoneBidAdapter.js +131 -131
  214. package/modules/padsquadBidAdapter.js +4 -4
  215. package/modules/parrableIdSystem.js +17 -17
  216. package/modules/pixfutureBidAdapter.js +45 -25
  217. package/modules/pixfutureBidAdapter.md +127 -0
  218. package/modules/prebidServerBidAdapter/index.js +109 -105
  219. package/modules/prebidmanagerAnalyticsAdapter.js +7 -7
  220. package/modules/priceFloors.js +47 -47
  221. package/modules/proxistoreBidAdapter.js +6 -8
  222. package/modules/pubCommonId.js +11 -11
  223. package/modules/pubProvidedIdSystem.js +3 -3
  224. package/modules/publinkIdSystem.js +23 -7
  225. package/modules/publinkIdSystem.md +7 -2
  226. package/modules/pubmaticAnalyticsAdapter.js +16 -16
  227. package/modules/pubmaticBidAdapter.js +109 -93
  228. package/modules/pubmaticBidAdapter.md +1 -1
  229. package/modules/pubperfAnalyticsAdapter.js +3 -3
  230. package/modules/pubwiseAnalyticsAdapter.js +6 -6
  231. package/modules/pubwiseBidAdapter.js +23 -23
  232. package/modules/pubxBidAdapter.js +2 -2
  233. package/modules/pubxaiAnalyticsAdapter.js +7 -7
  234. package/modules/pulsepointBidAdapter.js +13 -13
  235. package/modules/pxyzBidAdapter.js +7 -7
  236. package/modules/quantcastBidAdapter.js +16 -16
  237. package/modules/radsBidAdapter.js +5 -5
  238. package/modules/realvuAnalyticsAdapter.js +5 -7
  239. package/modules/reconciliationRtdProvider.js +6 -6
  240. package/modules/relaidoBidAdapter.js +44 -38
  241. package/modules/resetdigitalBidAdapter.js +3 -4
  242. package/modules/revcontentBidAdapter.js +9 -9
  243. package/modules/rhythmoneBidAdapter.js +17 -16
  244. package/modules/richaudienceBidAdapter.js +9 -9
  245. package/modules/riseBidAdapter.js +26 -26
  246. package/modules/riseBidAdapter.md +1 -3
  247. package/modules/roxotAnalyticsAdapter.js +14 -14
  248. package/modules/rtbhouseBidAdapter.js +7 -7
  249. package/modules/rtbsapeBidAdapter.js +3 -4
  250. package/modules/rtdModule/index.js +3 -3
  251. package/modules/rubiconAnalyticsAdapter.js +82 -82
  252. package/modules/rubiconBidAdapter.js +72 -68
  253. package/modules/scaleableAnalyticsAdapter.js +2 -2
  254. package/modules/seedingAllianceBidAdapter.js +231 -0
  255. package/modules/seedtagBidAdapter.js +10 -10
  256. package/modules/sharedIdSystem.js +11 -11
  257. package/modules/sharethroughAnalyticsAdapter.js +8 -8
  258. package/modules/sharethroughBidAdapter.js +20 -27
  259. package/modules/showheroes-bsBidAdapter.js +23 -23
  260. package/modules/sigmoidAnalyticsAdapter.js +4 -5
  261. package/modules/sirdataRtdProvider.js +34 -34
  262. package/modules/sizeMappingV2.js +39 -39
  263. package/modules/slimcutBidAdapter.js +121 -0
  264. package/modules/smaatoBidAdapter.js +44 -44
  265. package/modules/smartadserverBidAdapter.js +7 -7
  266. package/modules/smartxBidAdapter.js +72 -72
  267. package/modules/smartyadsBidAdapter.js +2 -2
  268. package/modules/smilewantedBidAdapter.js +6 -6
  269. package/modules/sonobiAnalyticsAdapter.js +23 -23
  270. package/modules/sortableAnalyticsAdapter.js +5 -5
  271. package/modules/sortableBidAdapter.js +28 -28
  272. package/modules/sovrnAnalyticsAdapter.js +5 -5
  273. package/modules/sovrnBidAdapter.js +22 -22
  274. package/modules/spotxBidAdapter.js +97 -83
  275. package/modules/sspBCBidAdapter.js +216 -21
  276. package/modules/sspBCBidAdapter.md +1 -1
  277. package/modules/staqAnalyticsAdapter.js +9 -9
  278. package/modules/stroeerCoreBidAdapter.js +16 -16
  279. package/modules/sublimeBidAdapter.js +6 -6
  280. package/modules/talkadsBidAdapter.js +129 -0
  281. package/modules/talkadsBidAdapter.md +60 -0
  282. package/modules/tapadIdSystem.js +3 -3
  283. package/modules/tappxBidAdapter.js +63 -64
  284. package/modules/teadsBidAdapter.js +20 -20
  285. package/modules/telariaBidAdapter.js +17 -17
  286. package/modules/temedyaBidAdapter.js +4 -4
  287. package/modules/terceptAnalyticsAdapter.js +4 -4
  288. package/modules/theAdxBidAdapter.js +16 -16
  289. package/modules/timeoutRtdProvider.js +15 -15
  290. package/modules/tpmnBidAdapter.js +3 -3
  291. package/modules/trionBidAdapter.js +15 -15
  292. package/modules/tripleliftBidAdapter.js +27 -24
  293. package/modules/truereachBidAdapter.js +4 -4
  294. package/modules/trustxBidAdapter.js +22 -18
  295. package/modules/ucfunnelBidAdapter.js +3 -3
  296. package/modules/uid2IdSystem.js +6 -6
  297. package/modules/underdogmediaBidAdapter.js +4 -4
  298. package/modules/unicornBidAdapter.js +15 -15
  299. package/modules/unifiedIdSystem.js +4 -4
  300. package/modules/unrulyBidAdapter.js +16 -16
  301. package/modules/userId/eids.js +9 -9
  302. package/modules/userId/index.js +37 -35
  303. package/modules/validationFpdModule/index.js +15 -15
  304. package/modules/vdoaiBidAdapter.js +2 -2
  305. package/modules/verizonMediaIdSystem.js +5 -5
  306. package/modules/vidazooBidAdapter.js +5 -5
  307. package/modules/videobyteBidAdapter.js +24 -24
  308. package/modules/videoreachBidAdapter.js +7 -7
  309. package/modules/vidoomyBidAdapter.js +105 -22
  310. package/modules/viewdeosDXBidAdapter.js +17 -17
  311. package/modules/visxBidAdapter.js +21 -29
  312. package/modules/voxBidAdapter.js +7 -7
  313. package/modules/vuukleBidAdapter.js +2 -2
  314. package/modules/waardexBidAdapter.js +26 -26
  315. package/modules/weboramaRtdProvider.js +174 -0
  316. package/modules/weboramaRtdProvider.md +70 -0
  317. package/modules/winrBidAdapter.js +27 -27
  318. package/modules/wipesBidAdapter.js +2 -2
  319. package/modules/yahoosspBidAdapter.js +637 -0
  320. package/modules/yahoosspBidAdapter.md +795 -0
  321. package/modules/yieldlabBidAdapter.js +57 -12
  322. package/modules/yieldlabBidAdapter.md +16 -1
  323. package/modules/yieldliftBidAdapter.js +9 -9
  324. package/modules/yieldmoBidAdapter.js +64 -50
  325. package/modules/yieldoneAnalyticsAdapter.js +6 -6
  326. package/modules/yieldoneBidAdapter.js +11 -11
  327. package/modules/yuktamediaAnalyticsAdapter.js +15 -15
  328. package/modules/zeotapIdPlusIdSystem.js +2 -2
  329. package/modules/zetaBidAdapter.js +6 -6
  330. package/modules/zeta_global_sspBidAdapter.js +14 -14
  331. package/package.json +1 -1
  332. package/src/AnalyticsAdapter.js +6 -6
  333. package/src/Renderer.js +10 -8
  334. package/src/adapterManager.js +45 -42
  335. package/src/adloader.js +6 -6
  336. package/src/ajax.js +8 -9
  337. package/src/auction.js +26 -23
  338. package/src/bidfactory.js +2 -2
  339. package/src/config.js +52 -50
  340. package/src/cpmBucketManager.js +2 -2
  341. package/src/prebid.js +85 -81
  342. package/src/storageManager.js +5 -5
  343. package/src/targeting.js +25 -26
  344. package/src/userSync.js +35 -22
  345. package/src/videoCache.js +2 -2
  346. package/test/.eslintrc.js +2 -1
  347. package/test/spec/modules/adfBidAdapter_spec.js +55 -0
  348. package/test/spec/modules/adgenerationBidAdapter_spec.js +121 -50
  349. package/test/spec/modules/adhashBidAdapter_spec.js +155 -0
  350. package/test/spec/modules/adnuntiusBidAdapter_spec.js +68 -0
  351. package/test/spec/modules/adqueryBidAdapter_spec.js +185 -0
  352. package/test/spec/modules/afpBidAdapter_spec.js +306 -0
  353. package/test/spec/modules/atsAnalyticsAdapter_spec.js +37 -2
  354. package/test/spec/modules/bliinkBidAdapter_spec.js +87 -36
  355. package/test/spec/modules/colossussspBidAdapter_spec.js +14 -6
  356. package/test/spec/modules/cwireBidAdapter_spec.js +246 -0
  357. package/test/spec/modules/eplanningBidAdapter_spec.js +3 -3
  358. package/test/spec/modules/glimpseBidAdapter_spec.js +302 -204
  359. package/test/spec/modules/gridBidAdapter_spec.js +38 -2
  360. package/test/spec/modules/gridNMBidAdapter_spec.js +121 -47
  361. package/test/spec/modules/gumgumBidAdapter_spec.js +27 -6
  362. package/test/spec/modules/iasRtdProvider_spec.js +71 -6
  363. package/test/spec/modules/inskinBidAdapter_spec.js +10 -1
  364. package/test/spec/modules/invibesBidAdapter_spec.js +114 -2
  365. package/test/spec/modules/justpremiumBidAdapter_spec.js +16 -2
  366. package/test/spec/modules/livewrappedAnalyticsAdapter_spec.js +33 -7
  367. package/test/spec/modules/mediakeysBidAdapter_spec.js +406 -51
  368. package/test/spec/modules/medianetAnalyticsAdapter_spec.js +39 -7
  369. package/test/spec/modules/medianetBidAdapter_spec.js +62 -1
  370. package/test/spec/modules/mytargetBidAdapter_spec.js +199 -0
  371. package/test/spec/modules/nativoBidAdapter_spec.js +50 -3
  372. package/test/spec/modules/nextrollBidAdapter_spec.js +290 -0
  373. package/test/spec/modules/nobidBidAdapter_spec.js +65 -1
  374. package/test/spec/modules/oguryBidAdapter_spec.js +120 -7
  375. package/test/spec/modules/publinkIdSystem_spec.js +42 -12
  376. package/test/spec/modules/pubmaticBidAdapter_spec.js +217 -1
  377. package/test/spec/modules/relaidoBidAdapter_spec.js +21 -20
  378. package/test/spec/modules/rubiconAnalyticsAdapter_spec.js +100 -81
  379. package/test/spec/modules/rubiconAnalyticsSchema.json +5 -2
  380. package/test/spec/modules/seedingAllianceAdapter_spec.js +186 -0
  381. package/test/spec/modules/sharethroughBidAdapter_spec.js +156 -136
  382. package/test/spec/modules/slimcutBidAdapter_spec.js +200 -0
  383. package/test/spec/modules/spotxBidAdapter_spec.js +36 -0
  384. package/test/spec/modules/sspBCBidAdapter_spec.js +210 -62
  385. package/test/spec/modules/talkadsBidAdapter_spec.js +231 -0
  386. package/test/spec/modules/tappxBidAdapter_spec.js +39 -3
  387. package/test/spec/modules/tripleliftBidAdapter_spec.js +2 -0
  388. package/test/spec/modules/trustxBidAdapter_spec.js +35 -2
  389. package/test/spec/modules/unicornBidAdapter_spec.js +4 -4
  390. package/test/spec/modules/visxBidAdapter_spec.js +48 -4
  391. package/test/spec/modules/weboramaRtdProvider_spec.js +288 -0
  392. package/test/spec/modules/yahoosspBidAdapter_spec.js +1332 -0
  393. package/test/spec/modules/yieldlabBidAdapter_spec.js +65 -1
  394. package/test/spec/modules/yieldmoBidAdapter_spec.js +30 -9
  395. package/test/spec/unit/pbjs_api_spec.js +4 -0
  396. package/test/spec/userSync_spec.js +30 -2
  397. package/modules/turktelekomBidAdapter.md +0 -49
@@ -1,5 +1,5 @@
1
+ import { parseUrl, getWindowTop, isArray, getGptSlotInfoForAdUnitCode, isStr, deepAccess, isEmpty, logError, triggerPixel, buildUrl, isEmptyStr, logInfo } from '../src/utils.js';
1
2
  import { registerBidder } from '../src/adapters/bidderFactory.js';
2
- import * as utils from '../src/utils.js';
3
3
  import { config } from '../src/config.js';
4
4
  import { BANNER, NATIVE, VIDEO } from '../src/mediaTypes.js';
5
5
  import { getRefererInfo } from '../src/refererDetection.js';
@@ -27,7 +27,7 @@ window.mnet = window.mnet || {};
27
27
  window.mnet.queue = window.mnet.queue || [];
28
28
 
29
29
  mnData.urlData = {
30
- domain: utils.parseUrl(refererInfo.referer).hostname,
30
+ domain: parseUrl(refererInfo.referer).hostname,
31
31
  page: refererInfo.referer,
32
32
  isTop: refererInfo.reachedTop
33
33
  }
@@ -78,7 +78,7 @@ function getUrlFromSelector(selector, attribute) {
78
78
 
79
79
  function getAttributeFromSelector(selector, attribute) {
80
80
  try {
81
- let doc = utils.getWindowTop().document;
81
+ let doc = getWindowTop().document;
82
82
  let element = doc.querySelector(selector);
83
83
  if (element !== null && element[attribute]) {
84
84
  return element[attribute];
@@ -87,7 +87,7 @@ function getAttributeFromSelector(selector, attribute) {
87
87
  }
88
88
 
89
89
  function getAbsoluteUrl(url) {
90
- let aTag = utils.getWindowTop().document.createElement('a');
90
+ let aTag = getWindowTop().document.createElement('a');
91
91
  aTag.href = url;
92
92
 
93
93
  return aTag.href;
@@ -98,7 +98,7 @@ function filterUrlsByType(urls, type) {
98
98
  }
99
99
 
100
100
  function transformSizes(sizes) {
101
- if (utils.isArray(sizes) && sizes.length === 2 && !utils.isArray(sizes[0])) {
101
+ if (isArray(sizes) && sizes.length === 2 && !isArray(sizes[0])) {
102
102
  return [getSize(sizes)];
103
103
  }
104
104
 
@@ -123,8 +123,8 @@ function getCoordinates(adUnitCode) {
123
123
  let element = document.getElementById(adUnitCode);
124
124
  if (!element && adUnitCode.indexOf('/') !== -1) {
125
125
  // now it means that adUnitCode is GAM AdUnitPath
126
- const {divId} = utils.getGptSlotInfoForAdUnitCode(adUnitCode);
127
- if (utils.isStr(divId)) {
126
+ const {divId} = getGptSlotInfoForAdUnitCode(adUnitCode);
127
+ if (isStr(divId)) {
128
128
  element = document.getElementById(divId);
129
129
  }
130
130
  }
@@ -145,11 +145,11 @@ function getCoordinates(adUnitCode) {
145
145
  }
146
146
 
147
147
  function extParams(bidRequest, bidderRequests) {
148
- const params = utils.deepAccess(bidRequest, 'params');
149
- const gdpr = utils.deepAccess(bidderRequests, 'gdprConsent');
150
- const uspConsent = utils.deepAccess(bidderRequests, 'uspConsent');
151
- const userId = utils.deepAccess(bidRequest, 'userId');
152
- const sChain = utils.deepAccess(bidRequest, 'schain') || {};
148
+ const params = deepAccess(bidRequest, 'params');
149
+ const gdpr = deepAccess(bidderRequests, 'gdprConsent');
150
+ const uspConsent = deepAccess(bidderRequests, 'uspConsent');
151
+ const userId = deepAccess(bidRequest, 'userId');
152
+ const sChain = deepAccess(bidRequest, 'schain') || {};
153
153
  const windowSize = spec.getWindowSize();
154
154
  const gdprApplies = !!(gdpr && gdpr.gdprApplies);
155
155
  const uspApplies = !!(uspConsent);
@@ -165,7 +165,7 @@ function extParams(bidRequest, bidderRequests) {
165
165
  windowSize.w !== -1 && windowSize.h !== -1 && { screen: windowSize },
166
166
  userId && { user_id: userId },
167
167
  $$PREBID_GLOBAL$$.medianetGlobals.analyticsEnabled && { analytics: true },
168
- !utils.isEmpty(sChain) && {schain: sChain}
168
+ !isEmpty(sChain) && {schain: sChain}
169
169
  );
170
170
  }
171
171
 
@@ -179,13 +179,18 @@ function slotParams(bidRequest) {
179
179
  },
180
180
  all: bidRequest.params
181
181
  };
182
- let bannerSizes = utils.deepAccess(bidRequest, 'mediaTypes.banner.sizes') || [];
183
182
 
184
- const videoInMediaType = utils.deepAccess(bidRequest, 'mediaTypes.video') || {};
185
- const videoInParams = utils.deepAccess(bidRequest, 'params.video') || {};
183
+ if (bidRequest.ortb2Imp) {
184
+ params.ortb2Imp = bidRequest.ortb2Imp;
185
+ }
186
+
187
+ let bannerSizes = deepAccess(bidRequest, 'mediaTypes.banner.sizes') || [];
188
+
189
+ const videoInMediaType = deepAccess(bidRequest, 'mediaTypes.video') || {};
190
+ const videoInParams = deepAccess(bidRequest, 'params.video') || {};
186
191
  const videoCombinedObj = Object.assign({}, videoInParams, videoInMediaType);
187
192
 
188
- if (!utils.isEmpty(videoCombinedObj)) {
193
+ if (!isEmpty(videoCombinedObj)) {
189
194
  params.video = videoCombinedObj;
190
195
  }
191
196
 
@@ -196,7 +201,7 @@ function slotParams(bidRequest) {
196
201
  try {
197
202
  params.native = JSON.stringify(bidRequest.nativeParams);
198
203
  } catch (e) {
199
- utils.logError((`${BIDDER_CODE} : Incorrect JSON : bidRequest.nativeParams`));
204
+ logError((`${BIDDER_CODE} : Incorrect JSON : bidRequest.nativeParams`));
200
205
  }
201
206
  }
202
207
 
@@ -314,8 +319,8 @@ function isValidBid(bid) {
314
319
  }
315
320
 
316
321
  function fetchCookieSyncUrls(response) {
317
- if (!utils.isEmpty(response) && response[0].body &&
318
- response[0].body.ext && utils.isArray(response[0].body.ext.csUrl)) {
322
+ if (!isEmpty(response) && response[0].body &&
323
+ response[0].body.ext && isArray(response[0].body.ext.csUrl)) {
319
324
  return response[0].body.ext.csUrl;
320
325
  }
321
326
 
@@ -323,15 +328,15 @@ function fetchCookieSyncUrls(response) {
323
328
  }
324
329
 
325
330
  function getLoggingData(event, data) {
326
- data = (utils.isArray(data) && data) || [];
331
+ data = (isArray(data) && data) || [];
327
332
 
328
333
  let params = {};
329
334
  params.logid = 'kfk';
330
335
  params.evtid = 'projectevents';
331
336
  params.project = 'prebid';
332
- params.acid = utils.deepAccess(data, '0.auctionId') || '';
337
+ params.acid = deepAccess(data, '0.auctionId') || '';
333
338
  params.cid = $$PREBID_GLOBAL$$.medianetGlobals.cid || '';
334
- params.crid = data.map((adunit) => utils.deepAccess(adunit, 'params.0.crid') || adunit.adUnitCode).join('|');
339
+ params.crid = data.map((adunit) => deepAccess(adunit, 'params.0.crid') || adunit.adUnitCode).join('|');
335
340
  params.adunit_count = data.length || 0;
336
341
  params.dn = mnData.urlData.domain || '';
337
342
  params.requrl = mnData.urlData.page || '';
@@ -349,7 +354,7 @@ function logEvent (event, data) {
349
354
  hostname: EVENT_PIXEL_URL,
350
355
  search: getLoggingData(event, data)
351
356
  };
352
- utils.triggerPixel(utils.buildUrl(getParams));
357
+ triggerPixel(buildUrl(getParams));
353
358
  }
354
359
 
355
360
  function clearMnData() {
@@ -357,8 +362,8 @@ function clearMnData() {
357
362
  }
358
363
 
359
364
  function addRenderer(bid) {
360
- const videoContext = utils.deepAccess(bid, 'context') || '';
361
- const vastTimeout = utils.deepAccess(bid, 'vto');
365
+ const videoContext = deepAccess(bid, 'context') || '';
366
+ const vastTimeout = deepAccess(bid, 'vto');
362
367
  /* Adding renderer only when the context is Outstream
363
368
  and the provider has responded with a renderer.
364
369
  */
@@ -384,7 +389,7 @@ function newVideoRenderer(bid) {
384
389
  mute: bid.mt
385
390
  }
386
391
  const adUnitCode = bid.dfp_id;
387
- const divId = utils.getGptSlotInfoForAdUnitCode(adUnitCode).divId || adUnitCode;
392
+ const divId = getGptSlotInfoForAdUnitCode(adUnitCode).divId || adUnitCode;
388
393
  window.mnet.mediaNetoutstreamPlayer(bid, divId, obj);
389
394
  });
390
395
  });
@@ -405,12 +410,12 @@ export const spec = {
405
410
  */
406
411
  isBidRequestValid: function(bid) {
407
412
  if (!bid.params) {
408
- utils.logError(`${BIDDER_CODE} : Missing bid parameters`);
413
+ logError(`${BIDDER_CODE} : Missing bid parameters`);
409
414
  return false;
410
415
  }
411
416
 
412
- if (!bid.params.cid || !utils.isStr(bid.params.cid) || utils.isEmptyStr(bid.params.cid)) {
413
- utils.logError(`${BIDDER_CODE} : cid should be a string`);
417
+ if (!bid.params.cid || !isStr(bid.params.cid) || isEmptyStr(bid.params.cid)) {
418
+ logError(`${BIDDER_CODE} : cid should be a string`);
414
419
  return false;
415
420
  }
416
421
 
@@ -445,13 +450,13 @@ export const spec = {
445
450
  let validBids = [];
446
451
 
447
452
  if (!serverResponse || !serverResponse.body) {
448
- utils.logInfo(`${BIDDER_CODE} : response is empty`);
453
+ logInfo(`${BIDDER_CODE} : response is empty`);
449
454
  return validBids;
450
455
  }
451
456
 
452
457
  let bids = serverResponse.body.bidList;
453
- if (!utils.isArray(bids) || bids.length === 0) {
454
- utils.logInfo(`${BIDDER_CODE} : no bids`);
458
+ if (!isArray(bids) || bids.length === 0) {
459
+ logInfo(`${BIDDER_CODE} : no bids`);
455
460
  return validBids;
456
461
  }
457
462
  validBids = bids.filter(bid => isValidBid(bid));
@@ -1,5 +1,5 @@
1
+ import { isStr, isEmptyStr, logError, mergeDeep, isFn, insertElement } from '../src/utils.js';
1
2
  import { submodule } from '../src/hook.js';
2
- import * as utils from '../src/utils.js';
3
3
  import { getGlobal } from '../src/prebidGlobal.js';
4
4
  import includes from 'core-js-pure/features/array/includes.js';
5
5
 
@@ -15,8 +15,8 @@ window.mnjs.que = window.mnjs.que || [];
15
15
 
16
16
  function init(config) {
17
17
  const customerId = config.params && config.params.cid;
18
- if (!customerId || !utils.isStr(customerId) || utils.isEmptyStr(customerId)) {
19
- utils.logError(`${SOURCE}: cid should be a string`);
18
+ if (!customerId || !isStr(customerId) || isEmptyStr(customerId)) {
19
+ logError(`${SOURCE}: cid should be a string`);
20
20
  return false;
21
21
  }
22
22
 
@@ -40,8 +40,8 @@ function getBidRequestData(requestBidsProps, callback, config, userConsent) {
40
40
  const success = (adUnitProps, openRtbProps) => {
41
41
  adUnits.forEach(adUnit => {
42
42
  adUnit[OPEN_RTB_FIELD] = adUnit[OPEN_RTB_FIELD] || {};
43
- utils.mergeDeep(adUnit[OPEN_RTB_FIELD], openRtbProps[adUnit.code]);
44
- utils.mergeDeep(adUnit, adUnitProps[adUnit.code]);
43
+ mergeDeep(adUnit[OPEN_RTB_FIELD], openRtbProps[adUnit.code]);
44
+ mergeDeep(adUnit, adUnitProps[adUnit.code]);
45
45
  });
46
46
  callback();
47
47
  };
@@ -61,7 +61,7 @@ function onAuctionInitEvent(auctionInit) {
61
61
  function getTargetingData(adUnitCode) {
62
62
  const adUnits = getAdUnits(undefined, adUnitCode);
63
63
  let targetingData = {};
64
- if (window.mnjs.loaded && utils.isFn(window.mnjs.getTargetingData)) {
64
+ if (window.mnjs.loaded && isFn(window.mnjs.getTargetingData)) {
65
65
  targetingData = window.mnjs.getTargetingData(adUnitCode, adUnits, SOURCE) || {};
66
66
  }
67
67
  const targeting = {};
@@ -86,7 +86,7 @@ function loadRtdScript(customerId) {
86
86
  script.type = 'text/javascript';
87
87
  script.async = true;
88
88
  script.src = getClientUrl(customerId, window.location.hostname);
89
- utils.insertElement(script, window.document, 'head');
89
+ insertElement(script, window.document, 'head');
90
90
  }
91
91
 
92
92
  function getAdUnits(adUnits, adUnitCodes) {
@@ -5,7 +5,7 @@
5
5
  * @requires module:modules/userId
6
6
  */
7
7
 
8
- import * as utils from '../src/utils.js'
8
+ import { logInfo, logError, logWarn } from '../src/utils.js';
9
9
  import * as ajaxLib from '../src/ajax.js';
10
10
  import {submodule} from '../src/hook.js'
11
11
  import {getStorageManager} from '../src/storageManager.js';
@@ -34,7 +34,7 @@ function setCookie(name, value, expires) {
34
34
  }
35
35
 
36
36
  function setSession(storage, response) {
37
- utils.logInfo('Merkle setting session ');
37
+ logInfo('Merkle setting session ');
38
38
  if (response && response.c && response.c.value && typeof response.c.value === 'string') {
39
39
  setCookie(SESSION_COOKIE_NAME, response.c.value, storage.expires);
40
40
  }
@@ -46,7 +46,7 @@ function constructUrl(configParams) {
46
46
  if (session) {
47
47
  url = `${url}&sv_session=${session}`;
48
48
  }
49
- utils.logInfo('Merkle url :' + url);
49
+ logInfo('Merkle url :' + url);
50
50
  return url;
51
51
  }
52
52
 
@@ -62,19 +62,19 @@ function generateId(configParams, configStorage) {
62
62
  try {
63
63
  responseObj = JSON.parse(response);
64
64
  setSession(configStorage, responseObj)
65
- utils.logInfo('Merkle responseObj ' + JSON.stringify(responseObj));
65
+ logInfo('Merkle responseObj ' + JSON.stringify(responseObj));
66
66
  } catch (error) {
67
- utils.logError(error);
67
+ logError(error);
68
68
  }
69
69
  }
70
70
 
71
71
  const date = new Date().toUTCString();
72
72
  responseObj.date = date;
73
- utils.logInfo('Merkle responseObj with date ' + JSON.stringify(responseObj));
73
+ logInfo('Merkle responseObj with date ' + JSON.stringify(responseObj));
74
74
  callback(responseObj);
75
75
  },
76
76
  error => {
77
- utils.logError(`${MODULE_NAME}: merkleId fetch encountered an error`, error);
77
+ logError(`${MODULE_NAME}: merkleId fetch encountered an error`, error);
78
78
  callback();
79
79
  },
80
80
  {method: 'GET', withCredentials: true}
@@ -98,7 +98,7 @@ export const merkleIdSubmodule = {
98
98
  */
99
99
  decode(value) {
100
100
  const id = (value && value.pam_id && typeof value.pam_id.id === 'string') ? value.pam_id : undefined;
101
- utils.logInfo('Merkle id ' + JSON.stringify(id));
101
+ logInfo('Merkle id ' + JSON.stringify(id));
102
102
  return id ? {'merkleId': id} : undefined;
103
103
  },
104
104
  /**
@@ -109,31 +109,31 @@ export const merkleIdSubmodule = {
109
109
  * @returns {IdResponse|undefined}
110
110
  */
111
111
  getId(config, consentData) {
112
- utils.logInfo('User ID - merkleId generating id');
112
+ logInfo('User ID - merkleId generating id');
113
113
 
114
114
  const configParams = (config && config.params) || {};
115
115
 
116
116
  if (!configParams || typeof configParams.vendor !== 'string') {
117
- utils.logError('User ID - merkleId submodule requires a valid vendor to be defined');
117
+ logError('User ID - merkleId submodule requires a valid vendor to be defined');
118
118
  return;
119
119
  }
120
120
 
121
121
  if (typeof configParams.sv_cid !== 'string') {
122
- utils.logError('User ID - merkleId submodule requires a valid sv_cid string to be defined');
122
+ logError('User ID - merkleId submodule requires a valid sv_cid string to be defined');
123
123
  return;
124
124
  }
125
125
 
126
126
  if (typeof configParams.sv_pubid !== 'string') {
127
- utils.logError('User ID - merkleId submodule requires a valid sv_pubid string to be defined');
127
+ logError('User ID - merkleId submodule requires a valid sv_pubid string to be defined');
128
128
  return;
129
129
  }
130
130
 
131
131
  if (consentData && typeof consentData.gdprApplies === 'boolean' && consentData.gdprApplies) {
132
- utils.logError('User ID - merkleId submodule does not currently handle consent strings');
132
+ logError('User ID - merkleId submodule does not currently handle consent strings');
133
133
  return;
134
134
  }
135
135
  if (typeof configParams.endpoint !== 'string') {
136
- utils.logWarn('User ID - merkleId submodule endpoint string is not defined');
136
+ logWarn('User ID - merkleId submodule endpoint string is not defined');
137
137
  configParams.endpoint = ID_URL
138
138
  }
139
139
 
@@ -146,11 +146,11 @@ export const merkleIdSubmodule = {
146
146
  return {callback: resp};
147
147
  },
148
148
  extendId: function (config = {}, consentData, storedId) {
149
- utils.logInfo('User ID - merkleId stored id ' + storedId);
149
+ logInfo('User ID - merkleId stored id ' + storedId);
150
150
  const configParams = (config && config.params) || {};
151
151
 
152
152
  if (consentData && typeof consentData.gdprApplies === 'boolean' && consentData.gdprApplies) {
153
- utils.logError('User ID - merkleId submodule does not currently handle consent strings');
153
+ logError('User ID - merkleId submodule does not currently handle consent strings');
154
154
  return;
155
155
  }
156
156
 
@@ -164,19 +164,19 @@ export const merkleIdSubmodule = {
164
164
  let refreshInSeconds = DEFAULT_REFRESH;
165
165
  if (configParams && configParams.refreshInSeconds && typeof configParams.refreshInSeconds === 'number') {
166
166
  refreshInSeconds = configParams.refreshInSeconds;
167
- utils.logInfo('User ID - merkleId param refreshInSeconds' + refreshInSeconds);
167
+ logInfo('User ID - merkleId param refreshInSeconds' + refreshInSeconds);
168
168
  }
169
169
  const storedDate = new Date(storedId.date);
170
170
  let refreshNeeded = false;
171
171
  if (storedDate) {
172
172
  refreshNeeded = storedDate && (Date.now() - storedDate.getTime() > refreshInSeconds * 1000);
173
173
  if (refreshNeeded) {
174
- utils.logInfo('User ID - merkleId needs refreshing id');
174
+ logInfo('User ID - merkleId needs refreshing id');
175
175
  const resp = generateId(configParams, configStorage)
176
176
  return {callback: resp};
177
177
  }
178
178
  }
179
- utils.logInfo('User ID - merkleId not refreshed');
179
+ logInfo('User ID - merkleId not refreshed');
180
180
  return {id: storedId};
181
181
  }
182
182