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
package/src/prebid.js CHANGED
@@ -1,7 +1,12 @@
1
1
  /** @module pbjs */
2
2
 
3
3
  import { getGlobal } from './prebidGlobal.js';
4
- import { adUnitsFilter, flatten, getHighestCpm, isArrayOfNums, isGptPubadsDefined, uniques } from './utils.js';
4
+ import {
5
+ adUnitsFilter, flatten, getHighestCpm, isArrayOfNums, isGptPubadsDefined, uniques, logInfo,
6
+ contains, logError, isArray, deepClone, deepAccess, isNumber, logWarn, logMessage, isFn,
7
+ transformAdServerTargetingObj, bind, replaceAuctionPrice, replaceClickThrough, insertElement,
8
+ inIframe, callBurl, createInvisibleIframe, generateUUID, unsupportedBidderMessage, isEmpty
9
+ } from './utils.js';
5
10
  import { listenMessagesFromCreative } from './secureCreatives.js';
6
11
  import { userSync } from './userSync.js';
7
12
  import { config } from './config.js';
@@ -17,7 +22,6 @@ import { storageCallbacks } from './storageManager.js';
17
22
 
18
23
  const $$PREBID_GLOBAL$$ = getGlobal();
19
24
  const CONSTANTS = require('./constants.json');
20
- const utils = require('./utils.js');
21
25
  const adapterManager = require('./adapterManager.js').default;
22
26
  const events = require('./events.js');
23
27
  const { triggerUserSyncs } = userSync;
@@ -41,7 +45,7 @@ $$PREBID_GLOBAL$$.libLoaded = true;
41
45
 
42
46
  // version auto generated from build
43
47
  $$PREBID_GLOBAL$$.version = 'v$prebid.version$';
44
- utils.logInfo('Prebid.js v$prebid.version$ loaded');
48
+ logInfo('Prebid.js v$prebid.version$ loaded');
45
49
 
46
50
  // modules list generated from build
47
51
  $$PREBID_GLOBAL$$.installedModules = ['v$prebid.modulesList$'];
@@ -57,8 +61,8 @@ function checkDefinedPlacement(id) {
57
61
  .reduce(flatten)
58
62
  .filter(uniques);
59
63
 
60
- if (!utils.contains(adUnitCodes, id)) {
61
- utils.logError('The "' + id + '" placement is not defined.');
64
+ if (!contains(adUnitCodes, id)) {
65
+ logError('The "' + id + '" placement is not defined.');
62
66
  return;
63
67
  }
64
68
 
@@ -74,7 +78,7 @@ function setRenderSize(doc, width, height) {
74
78
 
75
79
  function validateSizes(sizes, targLength) {
76
80
  let cleanSizes = [];
77
- if (utils.isArray(sizes) && ((targLength) ? sizes.length === targLength : sizes.length > 0)) {
81
+ if (isArray(sizes) && ((targLength) ? sizes.length === targLength : sizes.length > 0)) {
78
82
  // check if an array of arrays or array of numbers
79
83
  if (sizes.every(sz => isArrayOfNums(sz, 2))) {
80
84
  cleanSizes = sizes;
@@ -86,7 +90,7 @@ function validateSizes(sizes, targLength) {
86
90
  }
87
91
 
88
92
  function validateBannerMediaType(adUnit) {
89
- const validatedAdUnit = utils.deepClone(adUnit);
93
+ const validatedAdUnit = deepClone(adUnit);
90
94
  const banner = validatedAdUnit.mediaTypes.banner;
91
95
  const bannerSizes = validateSizes(banner.sizes);
92
96
  if (bannerSizes.length > 0) {
@@ -94,14 +98,14 @@ function validateBannerMediaType(adUnit) {
94
98
  // Deprecation Warning: This property will be deprecated in next release in favor of adUnit.mediaTypes.banner.sizes
95
99
  validatedAdUnit.sizes = bannerSizes;
96
100
  } else {
97
- utils.logError('Detected a mediaTypes.banner object without a proper sizes field. Please ensure the sizes are listed like: [[300, 250], ...]. Removing invalid mediaTypes.banner object from request.');
101
+ logError('Detected a mediaTypes.banner object without a proper sizes field. Please ensure the sizes are listed like: [[300, 250], ...]. Removing invalid mediaTypes.banner object from request.');
98
102
  delete validatedAdUnit.mediaTypes.banner
99
103
  }
100
104
  return validatedAdUnit;
101
105
  }
102
106
 
103
107
  function validateVideoMediaType(adUnit) {
104
- const validatedAdUnit = utils.deepClone(adUnit);
108
+ const validatedAdUnit = deepClone(adUnit);
105
109
  const video = validatedAdUnit.mediaTypes.video;
106
110
  if (video.playerSize) {
107
111
  let tarPlayerSizeLen = (typeof video.playerSize[0] === 'number') ? 2 : 1;
@@ -109,13 +113,13 @@ function validateVideoMediaType(adUnit) {
109
113
  const videoSizes = validateSizes(video.playerSize, tarPlayerSizeLen);
110
114
  if (videoSizes.length > 0) {
111
115
  if (tarPlayerSizeLen === 2) {
112
- utils.logInfo('Transforming video.playerSize from [640,480] to [[640,480]] so it\'s in the proper format.');
116
+ logInfo('Transforming video.playerSize from [640,480] to [[640,480]] so it\'s in the proper format.');
113
117
  }
114
118
  video.playerSize = videoSizes;
115
119
  // Deprecation Warning: This property will be deprecated in next release in favor of adUnit.mediaTypes.video.playerSize
116
120
  validatedAdUnit.sizes = videoSizes;
117
121
  } else {
118
- utils.logError('Detected incorrect configuration of mediaTypes.video.playerSize. Please specify only one set of dimensions in a format like: [[640, 480]]. Removing invalid mediaTypes.video.playerSize property from request.');
122
+ logError('Detected incorrect configuration of mediaTypes.video.playerSize. Please specify only one set of dimensions in a format like: [[640, 480]]. Removing invalid mediaTypes.video.playerSize property from request.');
119
123
  delete validatedAdUnit.mediaTypes.video.playerSize;
120
124
  }
121
125
  }
@@ -123,30 +127,30 @@ function validateVideoMediaType(adUnit) {
123
127
  }
124
128
 
125
129
  function validateNativeMediaType(adUnit) {
126
- const validatedAdUnit = utils.deepClone(adUnit);
130
+ const validatedAdUnit = deepClone(adUnit);
127
131
  const native = validatedAdUnit.mediaTypes.native;
128
132
  if (native.image && native.image.sizes && !Array.isArray(native.image.sizes)) {
129
- utils.logError('Please use an array of sizes for native.image.sizes field. Removing invalid mediaTypes.native.image.sizes property from request.');
133
+ logError('Please use an array of sizes for native.image.sizes field. Removing invalid mediaTypes.native.image.sizes property from request.');
130
134
  delete validatedAdUnit.mediaTypes.native.image.sizes;
131
135
  }
132
136
  if (native.image && native.image.aspect_ratios && !Array.isArray(native.image.aspect_ratios)) {
133
- utils.logError('Please use an array of sizes for native.image.aspect_ratios field. Removing invalid mediaTypes.native.image.aspect_ratios property from request.');
137
+ logError('Please use an array of sizes for native.image.aspect_ratios field. Removing invalid mediaTypes.native.image.aspect_ratios property from request.');
134
138
  delete validatedAdUnit.mediaTypes.native.image.aspect_ratios;
135
139
  }
136
140
  if (native.icon && native.icon.sizes && !Array.isArray(native.icon.sizes)) {
137
- utils.logError('Please use an array of sizes for native.icon.sizes field. Removing invalid mediaTypes.native.icon.sizes property from request.');
141
+ logError('Please use an array of sizes for native.icon.sizes field. Removing invalid mediaTypes.native.icon.sizes property from request.');
138
142
  delete validatedAdUnit.mediaTypes.native.icon.sizes;
139
143
  }
140
144
  return validatedAdUnit;
141
145
  }
142
146
 
143
147
  function validateAdUnitPos(adUnit, mediaType) {
144
- let pos = utils.deepAccess(adUnit, `mediaTypes.${mediaType}.pos`);
148
+ let pos = deepAccess(adUnit, `mediaTypes.${mediaType}.pos`);
145
149
 
146
- if (!pos || !utils.isNumber(pos) || !isFinite(pos)) {
150
+ if (!pos || !isNumber(pos) || !isFinite(pos)) {
147
151
  let warning = `Value of property 'pos' on ad unit ${adUnit.code} should be of type: Number`;
148
152
 
149
- utils.logWarn(warning);
153
+ logWarn(warning);
150
154
  events.emit(CONSTANTS.EVENTS.AUCTION_DEBUG, {type: 'WARNING', arguments: warning});
151
155
  delete adUnit.mediaTypes[mediaType].pos;
152
156
  }
@@ -169,13 +173,13 @@ export const checkAdUnitSetup = hook('sync', function (adUnits) {
169
173
  const bids = adUnit.bids;
170
174
  let validatedBanner, validatedVideo, validatedNative;
171
175
 
172
- if (!bids || !utils.isArray(bids)) {
173
- utils.logError(`Detected adUnit.code '${adUnit.code}' did not have 'adUnit.bids' defined or 'adUnit.bids' is not an array. Removing adUnit from auction.`);
176
+ if (!bids || !isArray(bids)) {
177
+ logError(`Detected adUnit.code '${adUnit.code}' did not have 'adUnit.bids' defined or 'adUnit.bids' is not an array. Removing adUnit from auction.`);
174
178
  return;
175
179
  }
176
180
 
177
181
  if (!mediaTypes || Object.keys(mediaTypes).length === 0) {
178
- utils.logError(`Detected adUnit.code '${adUnit.code}' did not have a 'mediaTypes' object defined. This is a required field for the auction, so this adUnit has been removed.`);
182
+ logError(`Detected adUnit.code '${adUnit.code}' did not have a 'mediaTypes' object defined. This is a required field for the auction, so this adUnit has been removed.`);
179
183
  return;
180
184
  }
181
185
 
@@ -214,14 +218,14 @@ export const checkAdUnitSetup = hook('sync', function (adUnits) {
214
218
  * @return {Array} returnObj return bids array
215
219
  */
216
220
  $$PREBID_GLOBAL$$.getAdserverTargetingForAdUnitCodeStr = function (adunitCode) {
217
- utils.logInfo('Invoking $$PREBID_GLOBAL$$.getAdserverTargetingForAdUnitCodeStr', arguments);
221
+ logInfo('Invoking $$PREBID_GLOBAL$$.getAdserverTargetingForAdUnitCodeStr', arguments);
218
222
 
219
223
  // call to retrieve bids array
220
224
  if (adunitCode) {
221
225
  var res = $$PREBID_GLOBAL$$.getAdserverTargetingForAdUnitCode(adunitCode);
222
- return utils.transformAdServerTargetingObj(res);
226
+ return transformAdServerTargetingObj(res);
223
227
  } else {
224
- utils.logMessage('Need to call getAdserverTargetingForAdUnitCodeStr with adunitCode');
228
+ logMessage('Need to call getAdserverTargetingForAdUnitCodeStr with adunitCode');
225
229
  }
226
230
  };
227
231
 
@@ -239,7 +243,7 @@ $$PREBID_GLOBAL$$.getHighestUnusedBidResponseForAdUnitCode = function (adunitCod
239
243
 
240
244
  return bid.length ? bid.reduce(getHighestCpm) : {}
241
245
  } else {
242
- utils.logMessage('Need to call getHighestUnusedBidResponseForAdUnitCode with adunitCode');
246
+ logMessage('Need to call getHighestUnusedBidResponseForAdUnitCode with adunitCode');
243
247
  }
244
248
  };
245
249
 
@@ -260,13 +264,13 @@ $$PREBID_GLOBAL$$.getAdserverTargetingForAdUnitCode = function (adUnitCode) {
260
264
  */
261
265
 
262
266
  $$PREBID_GLOBAL$$.getAdserverTargeting = function (adUnitCode) {
263
- utils.logInfo('Invoking $$PREBID_GLOBAL$$.getAdserverTargeting', arguments);
267
+ logInfo('Invoking $$PREBID_GLOBAL$$.getAdserverTargeting', arguments);
264
268
  return targeting.getAllTargeting(adUnitCode);
265
269
  };
266
270
 
267
271
  function getBids(type) {
268
272
  const responses = auctionManager[type]()
269
- .filter(utils.bind.call(adUnitsFilter, this, auctionManager.getAdUnitCodes()));
273
+ .filter(bind.call(adUnitsFilter, this, auctionManager.getAdUnitCodes()));
270
274
 
271
275
  // find the last auction id to get responses for most recent auction only
272
276
  const currentAuctionId = auctionManager.getLastAuctionId();
@@ -291,7 +295,7 @@ function getBids(type) {
291
295
  */
292
296
 
293
297
  $$PREBID_GLOBAL$$.getNoBids = function () {
294
- utils.logInfo('Invoking $$PREBID_GLOBAL$$.getNoBids', arguments);
298
+ logInfo('Invoking $$PREBID_GLOBAL$$.getNoBids', arguments);
295
299
  return getBids('getNoBids');
296
300
  };
297
301
 
@@ -314,7 +318,7 @@ $$PREBID_GLOBAL$$.getNoBidsForAdUnitCode = function (adUnitCode) {
314
318
  */
315
319
 
316
320
  $$PREBID_GLOBAL$$.getBidResponses = function () {
317
- utils.logInfo('Invoking $$PREBID_GLOBAL$$.getBidResponses', arguments);
321
+ logInfo('Invoking $$PREBID_GLOBAL$$.getBidResponses', arguments);
318
322
  return getBids('getBidsReceived');
319
323
  };
320
324
 
@@ -337,9 +341,9 @@ $$PREBID_GLOBAL$$.getBidResponsesForAdUnitCode = function (adUnitCode) {
337
341
  * @alias module:pbjs.setTargetingForGPTAsync
338
342
  */
339
343
  $$PREBID_GLOBAL$$.setTargetingForGPTAsync = function (adUnit, customSlotMatching) {
340
- utils.logInfo('Invoking $$PREBID_GLOBAL$$.setTargetingForGPTAsync', arguments);
344
+ logInfo('Invoking $$PREBID_GLOBAL$$.setTargetingForGPTAsync', arguments);
341
345
  if (!isGptPubadsDefined()) {
342
- utils.logError('window.googletag is not defined on the page');
346
+ logError('window.googletag is not defined on the page');
343
347
  return;
344
348
  }
345
349
 
@@ -370,9 +374,9 @@ $$PREBID_GLOBAL$$.setTargetingForGPTAsync = function (adUnit, customSlotMatching
370
374
  * @alias module:pbjs.setTargetingForAst
371
375
  */
372
376
  $$PREBID_GLOBAL$$.setTargetingForAst = function (adUnitCodes) {
373
- utils.logInfo('Invoking $$PREBID_GLOBAL$$.setTargetingForAn', arguments);
377
+ logInfo('Invoking $$PREBID_GLOBAL$$.setTargetingForAn', arguments);
374
378
  if (!targeting.isApntagDefined()) {
375
- utils.logError('window.apntag is not defined on the page');
379
+ logError('window.apntag is not defined on the page');
376
380
  return;
377
381
  }
378
382
 
@@ -387,7 +391,7 @@ function emitAdRenderFail({ reason, message, bid, id }) {
387
391
  if (bid) data.bid = bid;
388
392
  if (id) data.adId = id;
389
393
 
390
- utils.logError(message);
394
+ logError(message);
391
395
  events.emit(AD_RENDER_FAILED, data);
392
396
  }
393
397
 
@@ -407,8 +411,8 @@ function emitAdRenderSucceeded({ doc, bid, id }) {
407
411
  * @alias module:pbjs.renderAd
408
412
  */
409
413
  $$PREBID_GLOBAL$$.renderAd = hook('async', function (doc, id, options) {
410
- utils.logInfo('Invoking $$PREBID_GLOBAL$$.renderAd', arguments);
411
- utils.logMessage('Calling renderAd with adId :' + id);
414
+ logInfo('Invoking $$PREBID_GLOBAL$$.renderAd', arguments);
415
+ logMessage('Calling renderAd with adId :' + id);
412
416
 
413
417
  if (doc && id) {
414
418
  try {
@@ -418,23 +422,23 @@ $$PREBID_GLOBAL$$.renderAd = hook('async', function (doc, id, options) {
418
422
  if (bid) {
419
423
  let shouldRender = true;
420
424
  if (bid && bid.status === CONSTANTS.BID_STATUS.RENDERED) {
421
- utils.logWarn(`Ad id ${bid.adId} has been rendered before`);
425
+ logWarn(`Ad id ${bid.adId} has been rendered before`);
422
426
  events.emit(STALE_RENDER, bid);
423
- if (utils.deepAccess(config.getConfig('auctionOptions'), 'suppressStaleRender')) {
427
+ if (deepAccess(config.getConfig('auctionOptions'), 'suppressStaleRender')) {
424
428
  shouldRender = false;
425
429
  }
426
430
  }
427
431
 
428
432
  if (shouldRender) {
429
433
  // replace macros according to openRTB with price paid = bid.cpm
430
- bid.ad = utils.replaceAuctionPrice(bid.ad, bid.cpm);
431
- bid.adUrl = utils.replaceAuctionPrice(bid.adUrl, bid.cpm);
434
+ bid.ad = replaceAuctionPrice(bid.ad, bid.cpm);
435
+ bid.adUrl = replaceAuctionPrice(bid.adUrl, bid.cpm);
432
436
 
433
437
  // replacing clickthrough if submitted
434
438
  if (options && options.clickThrough) {
435
439
  const {clickThrough} = options;
436
- bid.ad = utils.replaceClickThrough(bid.ad, clickThrough);
437
- bid.adUrl = utils.replaceClickThrough(bid.adUrl, clickThrough);
440
+ bid.ad = replaceClickThrough(bid.ad, clickThrough);
441
+ bid.adUrl = replaceClickThrough(bid.adUrl, clickThrough);
438
442
  }
439
443
 
440
444
  // save winning bids
@@ -449,9 +453,9 @@ $$PREBID_GLOBAL$$.renderAd = hook('async', function (doc, id, options) {
449
453
 
450
454
  if (isRendererRequired(renderer)) {
451
455
  executeRenderer(renderer, bid);
452
- utils.insertElement(creativeComment, doc, 'html');
456
+ insertElement(creativeComment, doc, 'html');
453
457
  emitAdRenderSucceeded({ doc, bid, id });
454
- } else if ((doc === document && !utils.inIframe()) || mediaType === 'video') {
458
+ } else if ((doc === document && !inIframe()) || mediaType === 'video') {
455
459
  const message = `Error trying to write ad. Ad render call ad id ${id} was prevented from writing to the main document.`;
456
460
  emitAdRenderFail({reason: PREVENT_WRITING_ON_MAIN_DOCUMENT, message, bid, id});
457
461
  } else if (ad) {
@@ -468,21 +472,21 @@ $$PREBID_GLOBAL$$.renderAd = hook('async', function (doc, id, options) {
468
472
  doc.write(ad);
469
473
  doc.close();
470
474
  setRenderSize(doc, width, height);
471
- utils.insertElement(creativeComment, doc, 'html');
472
- utils.callBurl(bid);
475
+ insertElement(creativeComment, doc, 'html');
476
+ callBurl(bid);
473
477
  emitAdRenderSucceeded({ doc, bid, id });
474
478
  } else if (adUrl) {
475
- const iframe = utils.createInvisibleIframe();
479
+ const iframe = createInvisibleIframe();
476
480
  iframe.height = height;
477
481
  iframe.width = width;
478
482
  iframe.style.display = 'inline';
479
483
  iframe.style.overflow = 'hidden';
480
484
  iframe.src = adUrl;
481
485
 
482
- utils.insertElement(iframe, doc, 'body');
486
+ insertElement(iframe, doc, 'body');
483
487
  setRenderSize(doc, width, height);
484
- utils.insertElement(creativeComment, doc, 'html');
485
- utils.callBurl(bid);
488
+ insertElement(creativeComment, doc, 'html');
489
+ callBurl(bid);
486
490
  emitAdRenderSucceeded({ doc, bid, id });
487
491
  } else {
488
492
  const message = `Error trying to write ad. No ad for bid response id: ${id}`;
@@ -509,7 +513,7 @@ $$PREBID_GLOBAL$$.renderAd = hook('async', function (doc, id, options) {
509
513
  * @alias module:pbjs.removeAdUnit
510
514
  */
511
515
  $$PREBID_GLOBAL$$.removeAdUnit = function (adUnitCode) {
512
- utils.logInfo('Invoking $$PREBID_GLOBAL$$.removeAdUnit', arguments);
516
+ logInfo('Invoking $$PREBID_GLOBAL$$.removeAdUnit', arguments);
513
517
 
514
518
  if (!adUnitCode) {
515
519
  $$PREBID_GLOBAL$$.adUnits = [];
@@ -518,7 +522,7 @@ $$PREBID_GLOBAL$$.removeAdUnit = function (adUnitCode) {
518
522
 
519
523
  let adUnitCodes;
520
524
 
521
- if (utils.isArray(adUnitCode)) {
525
+ if (isArray(adUnitCode)) {
522
526
  adUnitCodes = adUnitCode;
523
527
  } else {
524
528
  adUnitCodes = [adUnitCode];
@@ -546,9 +550,9 @@ $$PREBID_GLOBAL$$.removeAdUnit = function (adUnitCode) {
546
550
  $$PREBID_GLOBAL$$.requestBids = hook('async', function ({ bidsBackHandler, timeout, adUnits, adUnitCodes, labels, auctionId } = {}) {
547
551
  events.emit(REQUEST_BIDS);
548
552
  const cbTimeout = timeout || config.getConfig('bidderTimeout');
549
- adUnits = (adUnits && config.convertAdUnitFpd(utils.isArray(adUnits) ? adUnits : [adUnits])) || $$PREBID_GLOBAL$$.adUnits;
553
+ adUnits = (adUnits && config.convertAdUnitFpd(isArray(adUnits) ? adUnits : [adUnits])) || $$PREBID_GLOBAL$$.adUnits;
550
554
 
551
- utils.logInfo('Invoking $$PREBID_GLOBAL$$.requestBids', arguments);
555
+ logInfo('Invoking $$PREBID_GLOBAL$$.requestBids', arguments);
552
556
 
553
557
  let _s2sConfigs = [];
554
558
  const s2sBidders = [];
@@ -588,7 +592,7 @@ $$PREBID_GLOBAL$$.requestBids = hook('async', function ({ bidsBackHandler, timeo
588
592
 
589
593
  const bidders = (s2sBidders) ? allBidders.filter(bidder => !includes(s2sBidders, bidder)) : allBidders;
590
594
 
591
- adUnit.transactionId = utils.generateUUID();
595
+ adUnit.transactionId = generateUUID();
592
596
 
593
597
  bidders.forEach(bidder => {
594
598
  const adapter = bidderRegistry[bidder];
@@ -600,7 +604,7 @@ $$PREBID_GLOBAL$$.requestBids = hook('async', function ({ bidsBackHandler, timeo
600
604
  const bidderEligible = adUnitMediaTypes.some(type => includes(bidderMediaTypes, type));
601
605
  if (!bidderEligible) {
602
606
  // drop the bidder from the ad unit if it's not compatible
603
- utils.logWarn(utils.unsupportedBidderMessage(adUnit, bidder));
607
+ logWarn(unsupportedBidderMessage(adUnit, bidder));
604
608
  adUnit.bids = adUnit.bids.filter(bid => bid.bidder !== bidder);
605
609
  } else {
606
610
  adunitCounter.incrementBidderRequestsCounter(adUnit.code, bidder);
@@ -610,13 +614,13 @@ $$PREBID_GLOBAL$$.requestBids = hook('async', function ({ bidsBackHandler, timeo
610
614
  });
611
615
 
612
616
  if (!adUnits || adUnits.length === 0) {
613
- utils.logMessage('No adUnits configured. No bids requested.');
617
+ logMessage('No adUnits configured. No bids requested.');
614
618
  if (typeof bidsBackHandler === 'function') {
615
619
  // executeCallback, this will only be called in case of first request
616
620
  try {
617
621
  bidsBackHandler();
618
622
  } catch (e) {
619
- utils.logError('Error executing bidsBackHandler', null, e);
623
+ logError('Error executing bidsBackHandler', null, e);
620
624
  }
621
625
  }
622
626
  return;
@@ -626,7 +630,7 @@ $$PREBID_GLOBAL$$.requestBids = hook('async', function ({ bidsBackHandler, timeo
626
630
 
627
631
  let adUnitsLen = adUnits.length;
628
632
  if (adUnitsLen > 15) {
629
- utils.logInfo(`Current auction ${auction.getAuctionId()} contains ${adUnitsLen} adUnits.`, adUnits);
633
+ logInfo(`Current auction ${auction.getAuctionId()} contains ${adUnitsLen} adUnits.`, adUnits);
630
634
  }
631
635
 
632
636
  adUnitCodes.forEach(code => targeting.setLatestAuctionForAdUnit(code, auction.getAuctionId()));
@@ -656,8 +660,8 @@ $$PREBID_GLOBAL$$.requestBids.before(executeCallbacks, 49);
656
660
  * @alias module:pbjs.addAdUnits
657
661
  */
658
662
  $$PREBID_GLOBAL$$.addAdUnits = function (adUnitArr) {
659
- utils.logInfo('Invoking $$PREBID_GLOBAL$$.addAdUnits', arguments);
660
- $$PREBID_GLOBAL$$.adUnits.push.apply($$PREBID_GLOBAL$$.adUnits, config.convertAdUnitFpd(utils.isArray(adUnitArr) ? adUnitArr : [adUnitArr]));
663
+ logInfo('Invoking $$PREBID_GLOBAL$$.addAdUnits', arguments);
664
+ $$PREBID_GLOBAL$$.adUnits.push.apply($$PREBID_GLOBAL$$.adUnits, config.convertAdUnitFpd(isArray(adUnitArr) ? adUnitArr : [adUnitArr]));
661
665
  // emit event
662
666
  events.emit(ADD_AD_UNITS);
663
667
  };
@@ -679,14 +683,14 @@ $$PREBID_GLOBAL$$.addAdUnits = function (adUnitArr) {
679
683
  * Currently `bidWon` is the only event that accepts an `id` parameter.
680
684
  */
681
685
  $$PREBID_GLOBAL$$.onEvent = function (event, handler, id) {
682
- utils.logInfo('Invoking $$PREBID_GLOBAL$$.onEvent', arguments);
683
- if (!utils.isFn(handler)) {
684
- utils.logError('The event handler provided is not a function and was not set on event "' + event + '".');
686
+ logInfo('Invoking $$PREBID_GLOBAL$$.onEvent', arguments);
687
+ if (!isFn(handler)) {
688
+ logError('The event handler provided is not a function and was not set on event "' + event + '".');
685
689
  return;
686
690
  }
687
691
 
688
692
  if (id && !eventValidators[event].call(null, id)) {
689
- utils.logError('The id provided is not valid for event "' + event + '" and no handler was set.');
693
+ logError('The id provided is not valid for event "' + event + '" and no handler was set.');
690
694
  return;
691
695
  }
692
696
 
@@ -700,7 +704,7 @@ $$PREBID_GLOBAL$$.onEvent = function (event, handler, id) {
700
704
  * @alias module:pbjs.offEvent
701
705
  */
702
706
  $$PREBID_GLOBAL$$.offEvent = function (event, handler, id) {
703
- utils.logInfo('Invoking $$PREBID_GLOBAL$$.offEvent', arguments);
707
+ logInfo('Invoking $$PREBID_GLOBAL$$.offEvent', arguments);
704
708
  if (id && !eventValidators[event].call(null, id)) {
705
709
  return;
706
710
  }
@@ -714,7 +718,7 @@ $$PREBID_GLOBAL$$.offEvent = function (event, handler, id) {
714
718
  * @alias module:pbjs.getEvents
715
719
  */
716
720
  $$PREBID_GLOBAL$$.getEvents = function () {
717
- utils.logInfo('Invoking $$PREBID_GLOBAL$$.getEvents');
721
+ logInfo('Invoking $$PREBID_GLOBAL$$.getEvents');
718
722
  return events.getEvents();
719
723
  };
720
724
 
@@ -725,11 +729,11 @@ $$PREBID_GLOBAL$$.getEvents = function () {
725
729
  * @alias module:pbjs.registerBidAdapter
726
730
  */
727
731
  $$PREBID_GLOBAL$$.registerBidAdapter = function (bidderAdaptor, bidderCode) {
728
- utils.logInfo('Invoking $$PREBID_GLOBAL$$.registerBidAdapter', arguments);
732
+ logInfo('Invoking $$PREBID_GLOBAL$$.registerBidAdapter', arguments);
729
733
  try {
730
734
  adapterManager.registerBidAdapter(bidderAdaptor(), bidderCode);
731
735
  } catch (e) {
732
- utils.logError('Error registering bidder adapter : ' + e.message);
736
+ logError('Error registering bidder adapter : ' + e.message);
733
737
  }
734
738
  };
735
739
 
@@ -739,11 +743,11 @@ $$PREBID_GLOBAL$$.registerBidAdapter = function (bidderAdaptor, bidderCode) {
739
743
  * @alias module:pbjs.registerAnalyticsAdapter
740
744
  */
741
745
  $$PREBID_GLOBAL$$.registerAnalyticsAdapter = function (options) {
742
- utils.logInfo('Invoking $$PREBID_GLOBAL$$.registerAnalyticsAdapter', arguments);
746
+ logInfo('Invoking $$PREBID_GLOBAL$$.registerAnalyticsAdapter', arguments);
743
747
  try {
744
748
  adapterManager.registerAnalyticsAdapter(options);
745
749
  } catch (e) {
746
- utils.logError('Error registering analytics adapter : ' + e.message);
750
+ logError('Error registering analytics adapter : ' + e.message);
747
751
  }
748
752
  };
749
753
 
@@ -754,7 +758,7 @@ $$PREBID_GLOBAL$$.registerAnalyticsAdapter = function (options) {
754
758
  * @return {Object} bidResponse [description]
755
759
  */
756
760
  $$PREBID_GLOBAL$$.createBid = function (statusCode) {
757
- utils.logInfo('Invoking $$PREBID_GLOBAL$$.createBid', arguments);
761
+ logInfo('Invoking $$PREBID_GLOBAL$$.createBid', arguments);
758
762
  return createBid(statusCode);
759
763
  };
760
764
 
@@ -777,11 +781,11 @@ $$PREBID_GLOBAL$$.createBid = function (statusCode) {
777
781
  const enableAnalyticsCallbacks = [];
778
782
 
779
783
  const enableAnalyticsCb = hook('async', function (config) {
780
- if (config && !utils.isEmpty(config)) {
781
- utils.logInfo('Invoking $$PREBID_GLOBAL$$.enableAnalytics for: ', config);
784
+ if (config && !isEmpty(config)) {
785
+ logInfo('Invoking $$PREBID_GLOBAL$$.enableAnalytics for: ', config);
782
786
  adapterManager.enableAnalytics(config);
783
787
  } else {
784
- utils.logError('$$PREBID_GLOBAL$$.enableAnalytics should be called with option {}');
788
+ logError('$$PREBID_GLOBAL$$.enableAnalytics should be called with option {}');
785
789
  }
786
790
  }, 'enableAnalyticsCb');
787
791
 
@@ -793,11 +797,11 @@ $$PREBID_GLOBAL$$.enableAnalytics = function (config) {
793
797
  * @alias module:pbjs.aliasBidder
794
798
  */
795
799
  $$PREBID_GLOBAL$$.aliasBidder = function (bidderCode, alias, options) {
796
- utils.logInfo('Invoking $$PREBID_GLOBAL$$.aliasBidder', arguments);
800
+ logInfo('Invoking $$PREBID_GLOBAL$$.aliasBidder', arguments);
797
801
  if (bidderCode && alias) {
798
802
  adapterManager.aliasBidAdapter(bidderCode, alias, options);
799
803
  } else {
800
- utils.logError('bidderCode and alias must be passed as arguments', '$$PREBID_GLOBAL$$.aliasBidder');
804
+ logError('bidderCode and alias must be passed as arguments', '$$PREBID_GLOBAL$$.aliasBidder');
801
805
  }
802
806
  };
803
807
 
@@ -883,7 +887,7 @@ $$PREBID_GLOBAL$$.markWinningBidAsUsed = function (markBidRequest) {
883
887
  } else if (markBidRequest.adId) {
884
888
  bids = auctionManager.getBidsReceived().filter(bid => bid.adId === markBidRequest.adId);
885
889
  } else {
886
- utils.logWarn('Improper use of markWinningBidAsUsed. It needs an adUnitCode or an adId to function.');
890
+ logWarn('Improper use of markWinningBidAsUsed. It needs an adUnitCode or an adId to function.');
887
891
  }
888
892
 
889
893
  if (bids.length > 0) {
@@ -975,10 +979,10 @@ $$PREBID_GLOBAL$$.cmd.push = function (command) {
975
979
  try {
976
980
  command.call();
977
981
  } catch (e) {
978
- utils.logError('Error processing command :', e.message, e.stack);
982
+ logError('Error processing command :', e.message, e.stack);
979
983
  }
980
984
  } else {
981
- utils.logError('Commands written into $$PREBID_GLOBAL$$.cmd.push must be wrapped in a function');
985
+ logError('Commands written into $$PREBID_GLOBAL$$.cmd.push must be wrapped in a function');
982
986
  }
983
987
  };
984
988
 
@@ -991,7 +995,7 @@ function processQueue(queue) {
991
995
  cmd.call();
992
996
  cmd.called = true;
993
997
  } catch (e) {
994
- utils.logError('Error processing command :', 'prebid.js', e);
998
+ logError('Error processing command :', 'prebid.js', e);
995
999
  }
996
1000
  }
997
1001
  });
@@ -1,5 +1,5 @@
1
1
  import {hook} from './hook.js';
2
- import * as utils from './utils.js';
2
+ import { hasDeviceAccess, checkCookieSupport, logError } from './utils.js';
3
3
  import includes from 'core-js-pure/features/array/includes.js';
4
4
 
5
5
  const moduleTypeWhiteList = ['core', 'prebid-module'];
@@ -40,7 +40,7 @@ export function newStorageManager({gvlid, moduleName, moduleType} = {}) {
40
40
  } else {
41
41
  let result = {
42
42
  hasEnforcementHook: false,
43
- valid: utils.hasDeviceAccess()
43
+ valid: hasDeviceAccess()
44
44
  }
45
45
  value = cb(result);
46
46
  }
@@ -135,7 +135,7 @@ export function newStorageManager({gvlid, moduleName, moduleType} = {}) {
135
135
  const cookiesAreEnabled = function (done) {
136
136
  let cb = function (result) {
137
137
  if (result && result.valid) {
138
- if (utils.checkCookieSupport()) {
138
+ if (checkCookieSupport()) {
139
139
  return true;
140
140
  }
141
141
  window.document.cookie = 'prebid.cookieTest';
@@ -222,7 +222,7 @@ export function newStorageManager({gvlid, moduleName, moduleType} = {}) {
222
222
  try {
223
223
  return !!window.localStorage;
224
224
  } catch (e) {
225
- utils.logError('Local storage api disabled');
225
+ logError('Local storage api disabled');
226
226
  }
227
227
  }
228
228
  return false;
@@ -247,7 +247,7 @@ export function newStorageManager({gvlid, moduleName, moduleType} = {}) {
247
247
  let cb = function (result) {
248
248
  if (result && result.valid) {
249
249
  const all = [];
250
- if (utils.hasDeviceAccess()) {
250
+ if (hasDeviceAccess()) {
251
251
  const cookies = document.cookie.split(';');
252
252
  while (cookies.length) {
253
253
  const cookie = cookies.pop();