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,6 +1,6 @@
1
+ import { isFn, deepAccess, getWindowTop } from '../src/utils.js';
1
2
  import { registerBidder } from '../src/adapters/bidderFactory.js';
2
3
  import { BANNER, NATIVE, VIDEO } from '../src/mediaTypes.js';
3
- import * as utils from '../src/utils.js';
4
4
  import {config} from '../src/config.js';
5
5
 
6
6
  const BIDDER_CODE = 'logan';
@@ -25,8 +25,8 @@ function isBidResponseValid(bid) {
25
25
  }
26
26
 
27
27
  function getBidFloor(bid) {
28
- if (!utils.isFn(bid.getFloor)) {
29
- return utils.deepAccess(bid, 'params.bidfloor', 0);
28
+ if (!isFn(bid.getFloor)) {
29
+ return deepAccess(bid, 'params.bidfloor', 0);
30
30
  }
31
31
 
32
32
  try {
@@ -50,7 +50,7 @@ export const spec = {
50
50
  },
51
51
 
52
52
  buildRequests: (validBidRequests = [], bidderRequest) => {
53
- const winTop = utils.getWindowTop();
53
+ const winTop = getWindowTop();
54
54
  const location = winTop.location;
55
55
  const placements = [];
56
56
  const request = {
@@ -4,7 +4,7 @@
4
4
  * @module modules/lotamePanoramaId
5
5
  * @requires module:modules/userId
6
6
  */
7
- import * as utils from '../src/utils.js';
7
+ import { timestamp, isStr, logError, isBoolean, buildUrl, isEmpty, isArray } from '../src/utils.js';
8
8
  import { ajax } from '../src/ajax.js';
9
9
  import { submodule } from '../src/hook.js';
10
10
  import { getStorageManager } from '../src/storageManager.js';
@@ -28,7 +28,7 @@ let cookieDomain;
28
28
  */
29
29
  function setProfileId(profileId) {
30
30
  if (storage.cookiesAreEnabled()) {
31
- let expirationDate = new Date(utils.timestamp() + NINE_MONTHS_MS).toUTCString();
31
+ let expirationDate = new Date(timestamp() + NINE_MONTHS_MS).toUTCString();
32
32
  storage.setCookie(
33
33
  KEY_PROFILE,
34
34
  profileId,
@@ -88,7 +88,7 @@ function getFromStorage(key) {
88
88
  function saveLotameCache(
89
89
  key,
90
90
  value,
91
- expirationTimestamp = utils.timestamp() + DAYS_TO_CACHE * DAY_MS
91
+ expirationTimestamp = timestamp() + DAYS_TO_CACHE * DAY_MS
92
92
  ) {
93
93
  if (key && value) {
94
94
  let expirationDate = new Date(expirationTimestamp).toUTCString();
@@ -124,11 +124,11 @@ function getLotameLocalCache() {
124
124
 
125
125
  try {
126
126
  const rawExpiry = getFromStorage(KEY_EXPIRY);
127
- if (utils.isStr(rawExpiry)) {
127
+ if (isStr(rawExpiry)) {
128
128
  cache.expiryTimestampMs = parseInt(rawExpiry, 10);
129
129
  }
130
130
  } catch (error) {
131
- utils.logError(error);
131
+ logError(error);
132
132
  }
133
133
 
134
134
  return cache;
@@ -178,7 +178,7 @@ export const lotamePanoramaIdSubmodule = {
178
178
  * @returns {(Object|undefined)}
179
179
  */
180
180
  decode(value, config) {
181
- return utils.isStr(value) ? { lotamePanoramaId: value } : undefined;
181
+ return isStr(value) ? { lotamePanoramaId: value } : undefined;
182
182
  },
183
183
 
184
184
  /**
@@ -211,7 +211,7 @@ export const lotamePanoramaIdSubmodule = {
211
211
 
212
212
  let consentString;
213
213
  if (consentData) {
214
- if (utils.isBoolean(consentData.gdprApplies)) {
214
+ if (isBoolean(consentData.gdprApplies)) {
215
215
  queryParams.gdpr_applies = consentData.gdprApplies;
216
216
  }
217
217
  consentString = consentData.consentString;
@@ -226,11 +226,11 @@ export const lotamePanoramaIdSubmodule = {
226
226
  if (consentString) {
227
227
  queryParams.gdpr_consent = consentString;
228
228
  }
229
- const url = utils.buildUrl({
229
+ const url = buildUrl({
230
230
  protocol: 'https',
231
231
  host: `id.crwdcntrl.net`,
232
232
  pathname: '/id',
233
- search: utils.isEmpty(queryParams) ? undefined : queryParams,
233
+ search: isEmpty(queryParams) ? undefined : queryParams,
234
234
  });
235
235
  ajax(
236
236
  url,
@@ -240,18 +240,18 @@ export const lotamePanoramaIdSubmodule = {
240
240
  try {
241
241
  let responseObj = JSON.parse(response);
242
242
  const shouldUpdateProfileId = !(
243
- utils.isArray(responseObj.errors) &&
243
+ isArray(responseObj.errors) &&
244
244
  responseObj.errors.indexOf(MISSING_CORE_CONSENT) !== -1
245
245
  );
246
246
 
247
247
  saveLotameCache(KEY_EXPIRY, responseObj.expiry_ts, responseObj.expiry_ts);
248
248
 
249
- if (utils.isStr(responseObj.profile_id)) {
249
+ if (isStr(responseObj.profile_id)) {
250
250
  if (shouldUpdateProfileId) {
251
251
  setProfileId(responseObj.profile_id);
252
252
  }
253
253
 
254
- if (utils.isStr(responseObj.core_id)) {
254
+ if (isStr(responseObj.core_id)) {
255
255
  saveLotameCache(
256
256
  KEY_ID,
257
257
  responseObj.core_id,
@@ -268,7 +268,7 @@ export const lotamePanoramaIdSubmodule = {
268
268
  clearLotameCache(KEY_ID);
269
269
  }
270
270
  } catch (error) {
271
- utils.logError(error);
271
+ logError(error);
272
272
  }
273
273
  }
274
274
  callback(coreId);
@@ -1,6 +1,6 @@
1
+ import { logMessage } from '../src/utils.js';
1
2
  import { registerBidder } from '../src/adapters/bidderFactory.js';
2
3
  import { BANNER, NATIVE, VIDEO } from '../src/mediaTypes.js';
3
- import * as utils from '../src/utils.js';
4
4
 
5
5
  const BIDDER_CODE = 'lunamediahb';
6
6
  const AD_URL = 'https://balancer.lmgssp.com/?c=o&m=multi';
@@ -38,7 +38,7 @@ export const spec = {
38
38
  winTop = window.top;
39
39
  } catch (e) {
40
40
  location = winTop.location;
41
- utils.logMessage(e);
41
+ logMessage(e);
42
42
  };
43
43
 
44
44
  const placements = [];
@@ -1,4 +1,4 @@
1
- import * as utils from '../src/utils.js';
1
+ import { parseSizesInput, _each } from '../src/utils.js';
2
2
  import {config} from '../src/config.js';
3
3
  import {registerBidder} from '../src/adapters/bidderFactory.js';
4
4
 
@@ -15,7 +15,7 @@ export const spec = {
15
15
  if (typeof bid.params !== 'object') {
16
16
  return false;
17
17
  }
18
- let sizes = utils.parseSizesInput(bid.sizes);
18
+ let sizes = parseSizesInput(bid.sizes);
19
19
  if (!sizes || sizes.length === 0) {
20
20
  return false;
21
21
  }
@@ -46,7 +46,7 @@ export const spec = {
46
46
  }
47
47
  }
48
48
 
49
- utils._each(bidRequest.params, (item, key) => src = src + '&' + key + '=' + item);
49
+ _each(bidRequest.params, (item, key) => src = src + '&' + key + '=' + item);
50
50
 
51
51
  if (typeof bidRequest.params.u == 'undefined') {
52
52
  src = src + '&u=' + navigator.userAgent;
@@ -1,6 +1,6 @@
1
- 'use strict';
2
1
 
3
- import * as utils from '../src/utils.js';
2
+ 'use strict';
3
+ import { deepAccess, getDNT, parseSizesInput, isArray, getWindowTop, deepSetValue, triggerPixel, getWindowSelf } from '../src/utils.js';
4
4
  import {registerBidder} from '../src/adapters/bidderFactory.js';
5
5
  import { BANNER, VIDEO } from '../src/mediaTypes.js';
6
6
  import {config} from '../src/config.js';
@@ -42,13 +42,13 @@ function MarsmediaAdapter() {
42
42
  impObj.id = BRs[i].adUnitCode;
43
43
  impObj.secure = isSecure;
44
44
 
45
- if (utils.deepAccess(BRs[i], 'mediaTypes.banner') || utils.deepAccess(BRs[i], 'mediaType') === 'banner') {
45
+ if (deepAccess(BRs[i], 'mediaTypes.banner') || deepAccess(BRs[i], 'mediaType') === 'banner') {
46
46
  let banner = frameBanner(BRs[i]);
47
47
  if (banner) {
48
48
  impObj.banner = banner;
49
49
  }
50
50
  }
51
- if (utils.deepAccess(BRs[i], 'mediaTypes.video') || utils.deepAccess(BRs[i], 'mediaType') === 'video') {
51
+ if (deepAccess(BRs[i], 'mediaTypes.video') || deepAccess(BRs[i], 'mediaType') === 'video') {
52
52
  impObj.video = frameVideo(BRs[i]);
53
53
  }
54
54
  if (!(impObj.banner || impObj.video)) {
@@ -87,7 +87,7 @@ function MarsmediaAdapter() {
87
87
  return {
88
88
  ua: navigator.userAgent,
89
89
  ip: '', // Empty Ip string is required, server gets the ip from HTTP header
90
- dnt: utils.getDNT() ? 1 : 0,
90
+ dnt: getDNT() ? 1 : 0,
91
91
  }
92
92
  }
93
93
 
@@ -107,7 +107,7 @@ function MarsmediaAdapter() {
107
107
  if (adUnit.mediaTypes && adUnit.mediaTypes.banner) {
108
108
  sizeList = adUnit.mediaTypes.banner.sizes;
109
109
  }
110
- var sizeStringList = utils.parseSizesInput(sizeList);
110
+ var sizeStringList = parseSizesInput(sizeList);
111
111
  var format = [];
112
112
  sizeStringList.forEach(function(size) {
113
113
  if (size) {
@@ -131,9 +131,9 @@ function MarsmediaAdapter() {
131
131
 
132
132
  function frameVideo(bid) {
133
133
  var size = [];
134
- if (utils.deepAccess(bid, 'mediaTypes.video.playerSize')) {
134
+ if (deepAccess(bid, 'mediaTypes.video.playerSize')) {
135
135
  var dimensionSet = bid.mediaTypes.video.playerSize;
136
- if (utils.isArray(bid.mediaTypes.video.playerSize[0])) {
136
+ if (isArray(bid.mediaTypes.video.playerSize[0])) {
137
137
  dimensionSet = bid.mediaTypes.video.playerSize[0];
138
138
  }
139
139
  var validSize = getValidSizeSet(dimensionSet)
@@ -142,29 +142,29 @@ function MarsmediaAdapter() {
142
142
  }
143
143
  }
144
144
  return {
145
- mimes: utils.deepAccess(bid, 'mediaTypes.video.mimes') || SUPPORTED_VIDEO_MIMES,
146
- protocols: utils.deepAccess(bid, 'mediaTypes.video.protocols') || SUPPORTED_VIDEO_PROTOCOLS,
145
+ mimes: deepAccess(bid, 'mediaTypes.video.mimes') || SUPPORTED_VIDEO_MIMES,
146
+ protocols: deepAccess(bid, 'mediaTypes.video.protocols') || SUPPORTED_VIDEO_PROTOCOLS,
147
147
  w: size[0],
148
148
  h: size[1],
149
- startdelay: utils.deepAccess(bid, 'mediaTypes.video.startdelay') || 0,
150
- skip: utils.deepAccess(bid, 'mediaTypes.video.skip') || 0,
151
- playbackmethod: utils.deepAccess(bid, 'mediaTypes.video.playbackmethod') || SUPPORTED_VIDEO_PLAYBACK_METHODS,
152
- delivery: utils.deepAccess(bid, 'mediaTypes.video.delivery') || SUPPORTED_VIDEO_DELIVERY,
153
- api: utils.deepAccess(bid, 'mediaTypes.video.api') || SUPPORTED_VIDEO_API,
149
+ startdelay: deepAccess(bid, 'mediaTypes.video.startdelay') || 0,
150
+ skip: deepAccess(bid, 'mediaTypes.video.skip') || 0,
151
+ playbackmethod: deepAccess(bid, 'mediaTypes.video.playbackmethod') || SUPPORTED_VIDEO_PLAYBACK_METHODS,
152
+ delivery: deepAccess(bid, 'mediaTypes.video.delivery') || SUPPORTED_VIDEO_DELIVERY,
153
+ api: deepAccess(bid, 'mediaTypes.video.api') || SUPPORTED_VIDEO_API,
154
154
  }
155
155
  }
156
156
 
157
157
  function frameExt(bid) {
158
158
  if ((bid.mediaTypes && bid.mediaTypes.banner && bid.mediaTypes.banner.sizes)) {
159
159
  let bidSizes = (bid.mediaTypes && bid.mediaTypes.banner && bid.mediaTypes.banner.sizes) || bid.sizes;
160
- bidSizes = ((utils.isArray(bidSizes) && utils.isArray(bidSizes[0])) ? bidSizes : [bidSizes]);
161
- bidSizes = bidSizes.filter(size => utils.isArray(size));
160
+ bidSizes = ((isArray(bidSizes) && isArray(bidSizes[0])) ? bidSizes : [bidSizes]);
161
+ bidSizes = bidSizes.filter(size => isArray(size));
162
162
  const processedSizes = bidSizes.map(size => ({w: parseInt(size[0], 10), h: parseInt(size[1], 10)}));
163
163
 
164
164
  const element = document.getElementById(bid.adUnitCode);
165
165
  const minSize = _getMinSize(processedSizes);
166
166
  const viewabilityAmount = _isViewabilityMeasurable(element)
167
- ? _getViewability(element, utils.getWindowTop(), minSize)
167
+ ? _getViewability(element, getWindowTop(), minSize)
168
168
  : 'na';
169
169
  const viewabilityAmountRounded = isNaN(viewabilityAmount) ? viewabilityAmount : Math.round(viewabilityAmount);
170
170
 
@@ -192,25 +192,25 @@ function MarsmediaAdapter() {
192
192
  device: frameDevice(),
193
193
  user: {
194
194
  ext: {
195
- consent: utils.deepAccess(bidderRequest, 'gdprConsent.gdprApplies') ? bidderRequest.gdprConsent.consentString : ''
195
+ consent: deepAccess(bidderRequest, 'gdprConsent.gdprApplies') ? bidderRequest.gdprConsent.consentString : ''
196
196
  }
197
197
  },
198
198
  at: 1,
199
199
  tmax: 650,
200
200
  regs: {
201
201
  ext: {
202
- gdpr: utils.deepAccess(bidderRequest, 'gdprConsent.gdprApplies') ? Boolean(bidderRequest.gdprConsent.gdprApplies & 1) : false
202
+ gdpr: deepAccess(bidderRequest, 'gdprConsent.gdprApplies') ? Boolean(bidderRequest.gdprConsent.gdprApplies & 1) : false
203
203
  }
204
204
  }
205
205
  };
206
206
  if (BRs[0].schain) {
207
- utils.deepSetValue(bid, 'source.ext.schain', BRs[0].schain);
207
+ deepSetValue(bid, 'source.ext.schain', BRs[0].schain);
208
208
  }
209
209
  if (bidderRequest.uspConsent) {
210
- utils.deepSetValue(bid, 'regs.ext.us_privacy', bidderRequest.uspConsent)
210
+ deepSetValue(bid, 'regs.ext.us_privacy', bidderRequest.uspConsent)
211
211
  }
212
212
  if (config.getConfig('coppa') === true) {
213
- utils.deepSetValue(bid, 'regs.coppa', config.getConfig('coppa') & 1)
213
+ deepSetValue(bid, 'regs.coppa', config.getConfig('coppa') & 1)
214
214
  }
215
215
 
216
216
  return bid;
@@ -255,7 +255,7 @@ function MarsmediaAdapter() {
255
255
  /\$\{AUCTION_PRICE\}/,
256
256
  cpm
257
257
  );
258
- utils.triggerPixel(bid.nurl, null);
258
+ triggerPixel(bid.nurl, null);
259
259
  };
260
260
  sendbeacon(bid, 17)
261
261
  };
@@ -320,7 +320,7 @@ function MarsmediaAdapter() {
320
320
  function sendbeacon(bid, type) {
321
321
  const bidString = JSON.stringify(bid);
322
322
  const encodedBuf = window.btoa(bidString);
323
- utils.triggerPixel('https://ping-hqx-1.go2speed.media/notification/rtb/beacon/?bt=' + type + '&bid=3mhdom&hb_j=' + encodedBuf, null);
323
+ triggerPixel('https://ping-hqx-1.go2speed.media/notification/rtb/beacon/?bt=' + type + '&bid=3mhdom&hb_j=' + encodedBuf, null);
324
324
  }
325
325
 
326
326
  /**
@@ -359,7 +359,7 @@ function MarsmediaAdapter() {
359
359
 
360
360
  function _isIframe() {
361
361
  try {
362
- return utils.getWindowSelf() !== utils.getWindowTop();
362
+ return getWindowSelf() !== getWindowTop();
363
363
  } catch (e) {
364
364
  return true;
365
365
  }
@@ -1,6 +1,6 @@
1
+ import { isFn, deepAccess, logMessage } from '../src/utils.js';
1
2
  import { registerBidder } from '../src/adapters/bidderFactory.js';
2
3
  import { BANNER, NATIVE, VIDEO } from '../src/mediaTypes.js';
3
- import * as utils from '../src/utils.js';
4
4
  import {config} from '../src/config.js';
5
5
 
6
6
  const BIDDER_CODE = 'mathildeads';
@@ -71,8 +71,8 @@ function getPlacementReqData (bid) {
71
71
  }
72
72
 
73
73
  function getBidFloor(bid) {
74
- if (!utils.isFn(bid.getFloor)) {
75
- return utils.deepAccess(bid, 'params.bidfloor', 0);
74
+ if (!isFn(bid.getFloor)) {
75
+ return deepAccess(bid, 'params.bidfloor', 0);
76
76
  }
77
77
 
78
78
  try {
@@ -121,7 +121,7 @@ export const spec = {
121
121
  deviceHeight = winTop.screen.height;
122
122
  winLocation = winTop.location;
123
123
  } catch (e) {
124
- utils.logMessage(e);
124
+ logMessage(e);
125
125
  winLocation = window.location;
126
126
  }
127
127
 
@@ -130,7 +130,7 @@ export const spec = {
130
130
  try {
131
131
  refferLocation = refferUrl && new URL(refferUrl);
132
132
  } catch (e) {
133
- utils.logMessage(e);
133
+ logMessage(e);
134
134
  }
135
135
 
136
136
  let location = refferLocation || winLocation;
@@ -1,4 +1,4 @@
1
- import * as utils from '../src/utils.js';
1
+ import { getDNT, deepAccess, isStr, replaceAuctionPrice, triggerPixel, parseGPTSingleSizeArrayToRtbSize, isEmpty } from '../src/utils.js';
2
2
  import {registerBidder} from '../src/adapters/bidderFactory.js';
3
3
  import {BANNER, NATIVE} from '../src/mediaTypes.js';
4
4
 
@@ -116,7 +116,7 @@ export const spec = {
116
116
  const referer = bidderRequest && bidderRequest.refererInfo ? encodeURIComponent(bidderRequest.refererInfo.referer) : '';
117
117
  const auctionId = bidderRequest && bidderRequest.auctionId;
118
118
  const timeout = bidderRequest && bidderRequest.timeout;
119
- const dnt = utils.getDNT() ? 1 : 0;
119
+ const dnt = getDNT() ? 1 : 0;
120
120
  const requestsMap = {};
121
121
  const requests = [];
122
122
  let isTest = false;
@@ -260,10 +260,10 @@ export const spec = {
260
260
  * @param {Bid} The bid that won the auction
261
261
  */
262
262
  onBidWon: function(bid) {
263
- const cpm = utils.deepAccess(bid, 'adserverTargeting.hb_pb') || '';
264
- if (utils.isStr(bid.burl) && bid.burl !== '') {
265
- bid.burl = utils.replaceAuctionPrice(bid.burl, cpm);
266
- utils.triggerPixel(bid.burl);
263
+ const cpm = deepAccess(bid, 'adserverTargeting.hb_pb') || '';
264
+ if (isStr(bid.burl) && bid.burl !== '') {
265
+ bid.burl = replaceAuctionPrice(bid.burl, cpm);
266
+ triggerPixel(bid.burl);
267
267
  }
268
268
  },
269
269
  };
@@ -280,9 +280,9 @@ function createBannerRequest(bid) {
280
280
  if (!sizes.length) return;
281
281
 
282
282
  let format = [];
283
- let r = utils.parseGPTSingleSizeArrayToRtbSize(sizes[0]);
283
+ let r = parseGPTSingleSizeArrayToRtbSize(sizes[0]);
284
284
  for (let f = 1; f < sizes.length; f++) {
285
- format.push(utils.parseGPTSingleSizeArrayToRtbSize(sizes[f]));
285
+ format.push(parseGPTSingleSizeArrayToRtbSize(sizes[f]));
286
286
  }
287
287
  if (format.length) {
288
288
  r.format = format
@@ -303,15 +303,15 @@ function parseNative(native) {
303
303
  const {id, img, data, title} = asset;
304
304
  const key = NATIVE_ID_MAP[id];
305
305
  if (key) {
306
- if (!utils.isEmpty(title)) {
306
+ if (!isEmpty(title)) {
307
307
  result.title = title.text
308
- } else if (!utils.isEmpty(img)) {
308
+ } else if (!isEmpty(img)) {
309
309
  result[key] = {
310
310
  url: img.url,
311
311
  height: img.h,
312
312
  width: img.w
313
313
  }
314
- } else if (!utils.isEmpty(data)) {
314
+ } else if (!isEmpty(data)) {
315
315
  result[key] = data.value;
316
316
  }
317
317
  }