prebid.js 7.8.0 → 7.11.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 (483) hide show
  1. package/README.md +0 -2
  2. package/RELEASE_SCHEDULE.md +1 -1
  3. package/allowedModules.js +3 -0
  4. package/babelConfig.js +10 -4
  5. package/dist/33acrossBidAdapter.js +1 -1
  6. package/dist/adWMGAnalyticsAdapter.js +1 -1
  7. package/dist/adagioAnalyticsAdapter.js +1 -1
  8. package/dist/adagioBidAdapter.js +1 -1
  9. package/dist/adbookpspBidAdapter.js +1 -1
  10. package/dist/adgenerationBidAdapter.js +1 -1
  11. package/dist/adkernelAdnAnalyticsAdapter.js +1 -1
  12. package/dist/adkernelBidAdapter.js +1 -1
  13. package/dist/adlooxAdServerVideo.js +1 -1
  14. package/dist/adlooxAnalyticsAdapter.js +1 -1
  15. package/dist/adlooxRtdProvider.js +1 -1
  16. package/dist/adnuntiusBidAdapter.js +1 -1
  17. package/dist/adomikAnalyticsAdapter.js +1 -1
  18. package/dist/adrelevantisBidAdapter.js +1 -1
  19. package/dist/adtelligentBidAdapter.js +1 -1
  20. package/dist/adtrgtmeBidAdapter.js +1 -0
  21. package/dist/adxcgAnalyticsAdapter.js +1 -1
  22. package/dist/adxcgBidAdapter.js +1 -1
  23. package/dist/adxpremiumAnalyticsAdapter.js +1 -1
  24. package/dist/adyoulikeBidAdapter.js +1 -1
  25. package/dist/ajaBidAdapter.js +1 -1
  26. package/dist/amxBidAdapter.js +1 -1
  27. package/dist/amxIdSystem.js +1 -1
  28. package/dist/analyticsAdapter.js +1 -0
  29. package/dist/andBeyondMediaBidAdapter.js +1 -0
  30. package/dist/aniviewBidAdapter.js +1 -1
  31. package/dist/appierAnalyticsAdapter.js +1 -1
  32. package/dist/appnexusBidAdapter.js +1 -1
  33. package/dist/asoBidAdapter.js +1 -1
  34. package/dist/atsAnalyticsAdapter.js +1 -1
  35. package/dist/audiencerunBidAdapter.js +1 -1
  36. package/dist/axonixBidAdapter.js +1 -1
  37. package/dist/bidglassBidAdapter.js +1 -1
  38. package/dist/bidwatchAnalyticsAdapter.js +1 -1
  39. package/dist/big-richmediaBidAdapter.js +1 -1
  40. package/dist/bluebillywigBidAdapter.js +1 -1
  41. package/dist/boldwinBidAdapter.js +1 -1
  42. package/dist/bridgewellBidAdapter.js +1 -1
  43. package/dist/brightMountainMediaBidAdapter.js +1 -1
  44. package/dist/browsiRtdProvider.js +1 -1
  45. package/dist/byDataAnalyticsAdapter.js +1 -1
  46. package/dist/c1xBidAdapter.js +1 -0
  47. package/dist/cleanioRtdProvider.js +1 -1
  48. package/dist/concertAnalyticsAdapter.js +1 -1
  49. package/dist/concertBidAdapter.js +1 -1
  50. package/dist/connectadBidAdapter.js +1 -1
  51. package/dist/consentManagementUsp.js +1 -1
  52. package/dist/consumableBidAdapter.js +1 -1
  53. package/dist/conversantBidAdapter.js +1 -1
  54. package/dist/cpmstarBidAdapter.js +1 -1
  55. package/dist/craftBidAdapter.js +1 -1
  56. package/dist/criteoBidAdapter.js +1 -1
  57. package/dist/datablocksAnalyticsAdapter.js +1 -1
  58. package/dist/datawrkzBidAdapter.js +1 -0
  59. package/dist/debugging-standalone.js +1 -1
  60. package/dist/dependencies.json +171 -0
  61. package/dist/dspxBidAdapter.js +1 -1
  62. package/dist/eplanningAnalyticsAdapter.js +1 -1
  63. package/dist/eplanningBidAdapter.js +1 -1
  64. package/dist/finativeBidAdapter.js +1 -1
  65. package/dist/fintezaAnalyticsAdapter.js +1 -1
  66. package/dist/freewheel-sspBidAdapter.js +1 -1
  67. package/dist/getOrigin.js +1 -1
  68. package/dist/glimpseBidAdapter.js +1 -1
  69. package/dist/gmosspBidAdapter.js +1 -1
  70. package/dist/goldbachBidAdapter.js +1 -1
  71. package/dist/gridBidAdapter.js +1 -1
  72. package/dist/gridNMBidAdapter.js +1 -1
  73. package/dist/gumgumBidAdapter.js +1 -1
  74. package/dist/h12mediaBidAdapter.js +1 -1
  75. package/dist/hadronAnalyticsAdapter.js +1 -1
  76. package/dist/id5AnalyticsAdapter.js +1 -1
  77. package/dist/id5IdSystem.js +1 -1
  78. package/dist/impactifyBidAdapter.js +1 -1
  79. package/dist/improvedigitalBidAdapter.js +1 -1
  80. package/dist/imuIdSystem.js +1 -1
  81. package/dist/inmarBidAdapter.js +1 -1
  82. package/dist/insticatorBidAdapter.js +1 -1
  83. package/dist/invisiblyAnalyticsAdapter.js +1 -1
  84. package/dist/ixBidAdapter.js +1 -1
  85. package/dist/jixieBidAdapter.js +1 -1
  86. package/dist/justpremiumBidAdapter.js +1 -1
  87. package/dist/kargoAnalyticsAdapter.js +1 -1
  88. package/dist/kargoBidAdapter.js +1 -1
  89. package/dist/konduitAnalyticsAdapter.js +1 -1
  90. package/dist/kueezBidAdapter.js +1 -1
  91. package/dist/lassoBidAdapter.js +1 -1
  92. package/dist/livewrappedAnalyticsAdapter.js +1 -1
  93. package/dist/liveyieldAnalyticsAdapter.js +1 -1
  94. package/dist/logicadBidAdapter.js +1 -1
  95. package/dist/loglyliftBidAdapter.js +1 -1
  96. package/dist/malltvAnalyticsAdapter.js +1 -1
  97. package/dist/marsmediaAnalyticsAdapter.js +1 -1
  98. package/dist/marsmediaBidAdapter.js +1 -1
  99. package/dist/mediafuseBidAdapter.js +1 -1
  100. package/dist/mediakeysBidAdapter.js +1 -1
  101. package/dist/medianetAnalyticsAdapter.js +1 -1
  102. package/dist/mediasquareBidAdapter.js +1 -1
  103. package/dist/mgidBidAdapter.js +1 -1
  104. package/dist/minutemediaBidAdapter.js +1 -1
  105. package/dist/nextMillenniumBidAdapter.js +1 -1
  106. package/dist/nobidBidAdapter.js +1 -1
  107. package/dist/not-for-prod/prebid.js +182 -176
  108. package/dist/oguryBidAdapter.js +1 -1
  109. package/dist/onetagBidAdapter.js +1 -1
  110. package/dist/ooloAnalyticsAdapter.js +1 -1
  111. package/dist/openxAnalyticsAdapter.js +1 -1
  112. package/dist/openxBidAdapter.js +1 -1
  113. package/dist/openxOrtbBidAdapter.js +1 -1
  114. package/dist/optimonAnalyticsAdapter.js +1 -1
  115. package/dist/outbrainBidAdapter.js +1 -1
  116. package/dist/ozoneBidAdapter.js +1 -1
  117. package/dist/parrableIdSystem.js +1 -1
  118. package/dist/pianoDmpAnalyticsAdapter.js +1 -1
  119. package/dist/pixfutureBidAdapter.js +1 -1
  120. package/dist/prebid-core.js +1 -1
  121. package/dist/prebidmanagerAnalyticsAdapter.js +1 -1
  122. package/dist/publinkIdSystem.js +1 -1
  123. package/dist/pubmaticAnalyticsAdapter.js +1 -1
  124. package/dist/pubmaticBidAdapter.js +1 -1
  125. package/dist/pubperfAnalyticsAdapter.js +1 -1
  126. package/dist/pubstackAnalyticsAdapter.js +1 -1
  127. package/dist/pubwiseAnalyticsAdapter.js +1 -1
  128. package/dist/pubxaiAnalyticsAdapter.js +1 -1
  129. package/dist/pulsepointAnalyticsAdapter.js +1 -1
  130. package/dist/pxyzBidAdapter.js +1 -1
  131. package/dist/quantcastBidAdapter.js +1 -1
  132. package/dist/readpeakBidAdapter.js +1 -1
  133. package/dist/realvuAnalyticsAdapter.js +1 -1
  134. package/dist/relaidoBidAdapter.js +1 -1
  135. package/dist/relevantAnalyticsAdapter.js +1 -1
  136. package/dist/rhythmoneBidAdapter.js +1 -1
  137. package/dist/riseBidAdapter.js +1 -1
  138. package/dist/rivrAnalyticsAdapter.js +1 -1
  139. package/dist/roxotAnalyticsAdapter.js +1 -1
  140. package/dist/rtbhouseBidAdapter.js +1 -1
  141. package/dist/rubiconAnalyticsAdapter.js +1 -1
  142. package/dist/rubiconBidAdapter.js +1 -1
  143. package/dist/scaleableAnalyticsAdapter.js +1 -1
  144. package/dist/seedingAllianceBidAdapter.js +1 -1
  145. package/dist/seedtagBidAdapter.js +1 -1
  146. package/dist/sharethroughAnalyticsAdapter.js +1 -1
  147. package/dist/sharethroughBidAdapter.js +1 -1
  148. package/dist/shinezBidAdapter.js +1 -1
  149. package/dist/showheroes-bsBidAdapter.js +1 -1
  150. package/dist/sigmoidAnalyticsAdapter.js +1 -1
  151. package/dist/smaatoBidAdapter.js +1 -1
  152. package/dist/smartadserverBidAdapter.js +1 -1
  153. package/dist/smartxBidAdapter.js +1 -1
  154. package/dist/smilewantedBidAdapter.js +1 -1
  155. package/dist/snigelBidAdapter.js +1 -0
  156. package/dist/sonobiAnalyticsAdapter.js +1 -1
  157. package/dist/sonobiBidAdapter.js +1 -1
  158. package/dist/sovrnAnalyticsAdapter.js +1 -1
  159. package/dist/sovrnBidAdapter.js +1 -1
  160. package/dist/sspBCBidAdapter.js +1 -1
  161. package/dist/staqAnalyticsAdapter.js +1 -1
  162. package/dist/sublimeBidAdapter.js +1 -1
  163. package/dist/synacormediaBidAdapter.js +1 -1
  164. package/dist/tappxBidAdapter.js +1 -1
  165. package/dist/targetVideoBidAdapter.js +1 -1
  166. package/dist/teadsBidAdapter.js +1 -1
  167. package/dist/terceptAnalyticsAdapter.js +1 -1
  168. package/dist/trionBidAdapter.js +1 -1
  169. package/dist/tripleliftBidAdapter.js +1 -1
  170. package/dist/trustpidSystem.js +1 -1
  171. package/dist/ttdBidAdapter.js +1 -1
  172. package/dist/ucfunnelAnalyticsAdapter.js +1 -1
  173. package/dist/underdogmediaBidAdapter.js +1 -1
  174. package/dist/undertoneBidAdapter.js +1 -1
  175. package/dist/userId.js +1 -1
  176. package/dist/vidazooBidAdapter.js +1 -1
  177. package/dist/videobyteBidAdapter.js +1 -1
  178. package/dist/visxBidAdapter.js +1 -1
  179. package/dist/vuukleBidAdapter.js +1 -1
  180. package/dist/widespaceBidAdapter.js +1 -1
  181. package/dist/winrBidAdapter.js +1 -1
  182. package/dist/yahoosspBidAdapter.js +1 -1
  183. package/dist/yieldmoBidAdapter.js +1 -1
  184. package/dist/yieldoneAnalyticsAdapter.js +1 -1
  185. package/dist/yuktamediaAnalyticsAdapter.js +1 -1
  186. package/dist/zeta_global_sspAnalyticsAdapter.js +1 -1
  187. package/dist/zeta_global_sspBidAdapter.js +1 -1
  188. package/gulpHelpers.js +22 -55
  189. package/gulpfile.js +12 -5
  190. package/integrationExamples/gpt/1plusXRtdProviderExample.html +2 -4
  191. package/integrationExamples/gpt/airgridRtdProvider_example.html +1 -4
  192. package/integrationExamples/gpt/amp/remote.html +1 -1
  193. package/integrationExamples/gpt/blueconicRtdProvider_example.html +2 -4
  194. package/integrationExamples/gpt/hadronRtdProvider_example.html +1 -3
  195. package/integrationExamples/gpt/inskin_example.html +1 -3
  196. package/integrationExamples/gpt/permutiveRtdProvider_example.html +1 -1
  197. package/integrationExamples/gpt/prebidServer_example.html +1 -3
  198. package/integrationExamples/gpt/serverbidServer_example.html +1 -3
  199. package/integrationExamples/gpt/userId_example.html +1 -3
  200. package/integrationExamples/postbid/oas/postbid-config.js +5 -5
  201. package/karma.conf.maker.js +2 -13
  202. package/libraries/LIBRARIES.md +5 -0
  203. package/{src → libraries/analyticsAdapter}/AnalyticsAdapter.js +5 -6
  204. package/{src/adapters/analytics → libraries/analyticsAdapter/examples}/example.js +1 -1
  205. package/{src/adapters/analytics → libraries/analyticsAdapter/examples}/example2.js +1 -1
  206. package/modules/.submodules.json +0 -12
  207. package/modules/1plusXRtdProvider.js +1 -1
  208. package/modules/33acrossBidAdapter.js +3 -3
  209. package/modules/adWMGAnalyticsAdapter.js +1 -1
  210. package/modules/adagioAnalyticsAdapter.js +1 -1
  211. package/modules/adagioBidAdapter.js +3 -4
  212. package/modules/adgenerationBidAdapter.js +1 -1
  213. package/modules/adkernelAdnAnalyticsAdapter.js +1 -1
  214. package/modules/adkernelBidAdapter.js +2 -1
  215. package/modules/adlooxAnalyticsAdapter.js +1 -1
  216. package/modules/admixerBidAdapter.js +1 -1
  217. package/modules/adnowBidAdapter.js +1 -1
  218. package/modules/adnuntiusBidAdapter.js +3 -1
  219. package/modules/adomikAnalyticsAdapter.js +1 -1
  220. package/modules/adpod.js +1 -1
  221. package/modules/adrelevantisBidAdapter.js +2 -2
  222. package/modules/adriverBidAdapter.js +1 -1
  223. package/modules/adtargetBidAdapter.js +1 -1
  224. package/modules/adtelligentBidAdapter.js +4 -2
  225. package/modules/adtrgtmeBidAdapter.js +333 -0
  226. package/modules/adtrgtmeBidAdapter.md +69 -0
  227. package/modules/adtrueBidAdapter.js +1 -1
  228. package/modules/adxcgAnalyticsAdapter.js +1 -1
  229. package/modules/adxpremiumAnalyticsAdapter.js +2 -2
  230. package/modules/adyoulikeBidAdapter.js +12 -8
  231. package/modules/akamaiDapRtdProvider.js +2 -2
  232. package/modules/andBeyondMediaBidAdapter.js +202 -0
  233. package/modules/andBeyondMediaBidAdapter.md +79 -0
  234. package/modules/aniviewBidAdapter.js +2 -2
  235. package/modules/apacdexBidAdapter.js +3 -3
  236. package/modules/appierAnalyticsAdapter.js +1 -1
  237. package/modules/appnexusBidAdapter.js +9 -9
  238. package/modules/apstreamBidAdapter.js +2 -2
  239. package/modules/atsAnalyticsAdapter.js +1 -1
  240. package/modules/betweenBidAdapter.js +1 -1
  241. package/modules/bidwatchAnalyticsAdapter.js +71 -12
  242. package/modules/bizzclickBidAdapter.js +1 -1
  243. package/modules/bliinkBidAdapter.js +1 -1
  244. package/modules/boldwinBidAdapter.js +16 -7
  245. package/modules/boldwinBidAdapter.md +17 -0
  246. package/modules/brightMountainMediaBidAdapter.js +1 -1
  247. package/modules/browsiRtdProvider.js +26 -12
  248. package/modules/byDataAnalyticsAdapter.js +2 -2
  249. package/modules/c1xBidAdapter.js +209 -0
  250. package/modules/c1xBidAdapter.md +70 -0
  251. package/modules/cleanioRtdProvider.js +29 -0
  252. package/modules/cleanmedianetBidAdapter.js +1 -1
  253. package/modules/colossussspBidAdapter.js +2 -2
  254. package/modules/concertAnalyticsAdapter.js +1 -1
  255. package/modules/consentManagementUsp.js +2 -2
  256. package/modules/consumableBidAdapter.js +21 -3
  257. package/modules/cpmstarBidAdapter.js +23 -13
  258. package/modules/criteoBidAdapter.js +47 -5
  259. package/modules/cwireBidAdapter.js +1 -1
  260. package/modules/datablocksAnalyticsAdapter.js +1 -1
  261. package/modules/datablocksBidAdapter.js +1 -1
  262. package/modules/datawrkzBidAdapter.js +633 -0
  263. package/modules/datawrkzBidAdapter.md +160 -0
  264. package/modules/dfpAdServerVideo.js +2 -2
  265. package/modules/dgkeywordRtdProvider.js +1 -1
  266. package/modules/dspxBidAdapter.js +1 -1
  267. package/modules/e_volutionBidAdapter.js +3 -3
  268. package/modules/ebdrBidAdapter.js +1 -1
  269. package/modules/emx_digitalBidAdapter.js +1 -1
  270. package/modules/eplanningAnalyticsAdapter.js +1 -1
  271. package/modules/eplanningBidAdapter.js +3 -3
  272. package/modules/fabrickIdSystem.js +2 -2
  273. package/modules/fintezaAnalyticsAdapter.js +2 -2
  274. package/modules/freewheel-sspBidAdapter.js +1 -1
  275. package/modules/gamoshiBidAdapter.js +1 -1
  276. package/modules/getintentBidAdapter.js +1 -1
  277. package/modules/gjirafaBidAdapter.js +2 -2
  278. package/modules/goldbachBidAdapter.js +8 -8
  279. package/modules/gothamadsBidAdapter.js +2 -2
  280. package/modules/gridBidAdapter.js +1 -1
  281. package/modules/gridNMBidAdapter.js +1 -1
  282. package/modules/gumgumBidAdapter.js +3 -3
  283. package/modules/h12mediaBidAdapter.js +1 -1
  284. package/modules/hadronAnalyticsAdapter.js +3 -3
  285. package/modules/hadronRtdProvider.js +1 -1
  286. package/modules/id5AnalyticsAdapter.js +2 -2
  287. package/modules/impactifyBidAdapter.js +1 -1
  288. package/modules/improvedigitalBidAdapter.js +5 -2
  289. package/modules/imuIdSystem.js +40 -28
  290. package/modules/imuIdSystem.md +1 -0
  291. package/modules/inskinBidAdapter.js +1 -1
  292. package/modules/integr8BidAdapter.js +2 -2
  293. package/modules/intentIqIdSystem.js +2 -2
  294. package/modules/interactiveOffersBidAdapter.js +1 -1
  295. package/modules/invisiblyAnalyticsAdapter.js +1 -1
  296. package/modules/iqmBidAdapter.js +1 -1
  297. package/modules/ixBidAdapter.js +15 -15
  298. package/modules/kargoAnalyticsAdapter.js +1 -1
  299. package/modules/kargoBidAdapter.js +4 -5
  300. package/modules/konduitAnalyticsAdapter.js +1 -1
  301. package/modules/krushmediaBidAdapter.js +2 -2
  302. package/modules/kueezBidAdapter.js +2 -2
  303. package/modules/lassoBidAdapter.js +3 -3
  304. package/modules/livewrappedAnalyticsAdapter.js +4 -4
  305. package/modules/liveyieldAnalyticsAdapter.js +1 -1
  306. package/modules/lkqdBidAdapter.js +3 -3
  307. package/modules/loganBidAdapter.js +2 -2
  308. package/modules/luponmediaBidAdapter.js +3 -3
  309. package/modules/malltvAnalyticsAdapter.js +1 -1
  310. package/modules/malltvBidAdapter.js +2 -2
  311. package/modules/marsmediaAnalyticsAdapter.js +1 -1
  312. package/modules/mediafuseBidAdapter.js +8 -8
  313. package/modules/mediakeysBidAdapter.js +2 -2
  314. package/modules/medianetAnalyticsAdapter.js +1 -1
  315. package/modules/merkleIdSystem.js +2 -2
  316. package/modules/mgidBidAdapter.js +2 -2
  317. package/modules/microadBidAdapter.js +1 -1
  318. package/modules/mobfoxpbBidAdapter.js +2 -2
  319. package/modules/newspassidBidAdapter.js +1 -1
  320. package/modules/nextMillenniumBidAdapter.js +21 -2
  321. package/modules/nobidBidAdapter.js +3 -3
  322. package/modules/novatiqIdSystem.js +1 -1
  323. package/modules/oguryBidAdapter.js +1 -1
  324. package/modules/ooloAnalyticsAdapter.js +1 -1
  325. package/modules/open8BidAdapter.js +1 -1
  326. package/modules/openwebBidAdapter.js +1 -1
  327. package/modules/openxAnalyticsAdapter.js +6 -745
  328. package/modules/openxAnalyticsAdapter.md +4 -0
  329. package/modules/openxBidAdapter.js +3 -5
  330. package/modules/openxOrtbBidAdapter.js +8 -4
  331. package/modules/operaadsBidAdapter.js +1 -1
  332. package/modules/optimonAnalyticsAdapter.js +1 -1
  333. package/modules/ozoneBidAdapter.js +102 -271
  334. package/modules/ozoneBidAdapter.md +37 -0
  335. package/modules/pianoDmpAnalyticsAdapter.js +1 -1
  336. package/modules/pixfutureBidAdapter.js +1 -1
  337. package/modules/prebidServerBidAdapter/index.js +7 -7
  338. package/modules/prebidmanagerAnalyticsAdapter.js +2 -2
  339. package/modules/priceFloors.js +1 -1
  340. package/modules/pubmaticAnalyticsAdapter.js +2 -2
  341. package/modules/pubmaticBidAdapter.js +28 -8
  342. package/modules/pubperfAnalyticsAdapter.js +1 -1
  343. package/modules/pubstackAnalyticsAdapter.js +1 -1
  344. package/modules/pubwiseAnalyticsAdapter.js +2 -2
  345. package/modules/pubwiseBidAdapter.js +3 -3
  346. package/modules/pubxBidAdapter.js +1 -1
  347. package/modules/pubxaiAnalyticsAdapter.js +3 -3
  348. package/modules/pulsepointAnalyticsAdapter.js +1 -1
  349. package/modules/pulsepointBidAdapter.js +1 -1
  350. package/modules/quantcastIdSystem.js +1 -1
  351. package/modules/radsBidAdapter.js +1 -1
  352. package/modules/realvuAnalyticsAdapter.js +1 -1
  353. package/modules/relaidoBidAdapter.js +23 -18
  354. package/modules/relevantAnalyticsAdapter.js +1 -1
  355. package/modules/revcontentBidAdapter.js +1 -1
  356. package/modules/richaudienceBidAdapter.js +1 -1
  357. package/modules/riseBidAdapter.js +8 -5
  358. package/modules/riseBidAdapter.md +3 -1
  359. package/modules/rivrAnalyticsAdapter.js +1 -1
  360. package/modules/roxotAnalyticsAdapter.js +1 -1
  361. package/modules/rtbhouseBidAdapter.js +1 -1
  362. package/modules/rubiconAnalyticsAdapter.js +1 -1
  363. package/modules/rubiconBidAdapter.js +2 -2
  364. package/modules/scaleableAnalyticsAdapter.js +1 -1
  365. package/modules/schain.js +1 -1
  366. package/modules/sharethroughAnalyticsAdapter.js +1 -1
  367. package/modules/sharethroughBidAdapter.js +3 -3
  368. package/modules/shinezBidAdapter.js +2 -2
  369. package/modules/showheroes-bsBidAdapter.js +131 -49
  370. package/modules/showheroes-bsBidAdapter.md +49 -0
  371. package/modules/sigmoidAnalyticsAdapter.js +1 -1
  372. package/modules/sirdataRtdProvider.js +3 -3
  373. package/modules/sizeMappingV2.js +1 -1
  374. package/modules/smaatoBidAdapter.js +2 -2
  375. package/modules/smartxBidAdapter.js +2 -2
  376. package/modules/snigelBidAdapter.js +150 -0
  377. package/modules/snigelBidAdapter.md +46 -0
  378. package/modules/sonobiAnalyticsAdapter.js +2 -2
  379. package/modules/sonobiBidAdapter.js +3 -3
  380. package/modules/sovrnAnalyticsAdapter.js +1 -1
  381. package/modules/spotxBidAdapter.js +5 -5
  382. package/modules/sspBCBidAdapter.js +15 -18
  383. package/modules/staqAnalyticsAdapter.js +2 -2
  384. package/modules/synacormediaBidAdapter.js +1 -1
  385. package/modules/taboolaBidAdapter.js +1 -1
  386. package/modules/tappxBidAdapter.js +4 -4
  387. package/modules/targetVideoBidAdapter.js +1 -1
  388. package/modules/terceptAnalyticsAdapter.js +1 -1
  389. package/modules/theAdxBidAdapter.js +2 -2
  390. package/modules/tpmnBidAdapter.js +1 -1
  391. package/modules/trionBidAdapter.js +2 -2
  392. package/modules/tripleliftBidAdapter.js +46 -20
  393. package/modules/trustpidSystem.js +2 -2
  394. package/modules/ttdBidAdapter.js +41 -26
  395. package/modules/ttdBidAdapter.md +4 -10
  396. package/modules/ucfunnelAnalyticsAdapter.js +1 -1
  397. package/modules/underdogmediaBidAdapter.js +1 -1
  398. package/modules/userId/eids.js +5 -0
  399. package/modules/userId/index.js +11 -7
  400. package/modules/vdoaiBidAdapter.js +1 -1
  401. package/modules/vidazooBidAdapter.js +9 -5
  402. package/modules/videoheroesBidAdapter.js +1 -1
  403. package/modules/vidoomyBidAdapter.js +1 -1
  404. package/modules/visxBidAdapter.js +1 -1
  405. package/modules/vrtcalBidAdapter.js +1 -1
  406. package/modules/weboramaRtdProvider.js +3 -3
  407. package/modules/winrBidAdapter.js +1 -1
  408. package/modules/yahoosspBidAdapter.js +4 -3
  409. package/modules/yandexBidAdapter.js +1 -1
  410. package/modules/yieldmoBidAdapter.js +3 -3
  411. package/modules/yieldoneAnalyticsAdapter.js +1 -1
  412. package/modules/yieldoneBidAdapter.js +2 -2
  413. package/modules/yuktamediaAnalyticsAdapter.js +1 -1
  414. package/modules/zeta_global_sspAnalyticsAdapter.js +1 -1
  415. package/modules/zeta_global_sspBidAdapter.js +25 -22
  416. package/package.json +4 -3
  417. package/src/Renderer.js +1 -1
  418. package/src/adapterManager.js +3 -3
  419. package/src/adapters/bidderFactory.js +1 -0
  420. package/src/auction.js +2 -2
  421. package/src/bidfactory.js +1 -1
  422. package/src/config.js +7 -7
  423. package/src/native.js +53 -58
  424. package/src/sizeMapping.js +1 -1
  425. package/src/targeting.js +1 -1
  426. package/src/userSync.js +1 -1
  427. package/src/utils.js +1 -1
  428. package/test/mocks/analyticsStub.js +1 -1
  429. package/test/spec/AnalyticsAdapter_spec.js +1 -1
  430. package/test/spec/config_spec.js +4 -0
  431. package/test/spec/modules/adagioBidAdapter_spec.js +2 -0
  432. package/test/spec/modules/adnuntiusBidAdapter_spec.js +7 -3
  433. package/test/spec/modules/adtelligentBidAdapter_spec.js +1 -0
  434. package/test/spec/modules/adtrgtmeBidAdapter_spec.js +802 -0
  435. package/test/spec/modules/adyoulikeBidAdapter_spec.js +8 -3
  436. package/test/spec/modules/andBeyondMediaBidAdapter_spec.js +400 -0
  437. package/test/spec/modules/bidwatchAnalyticsAdapter_spec.js +17 -1
  438. package/test/spec/modules/boldwinBidAdapter_spec.js +2 -1
  439. package/test/spec/modules/browsiRtdProvider_spec.js +40 -1
  440. package/test/spec/modules/c1xBidAdapter_spec.js +189 -0
  441. package/test/spec/modules/cleanioRtdProvider_spec.js +23 -0
  442. package/test/spec/modules/concertAnalyticsAdapter_spec.js +2 -1
  443. package/test/spec/modules/consumableBidAdapter_spec.js +139 -0
  444. package/test/spec/modules/cpmstarBidAdapter_spec.js +1 -1
  445. package/test/spec/modules/criteoBidAdapter_spec.js +169 -38
  446. package/test/spec/modules/datawrkzBidAdapter_spec.js +656 -0
  447. package/test/spec/modules/eids_spec.js +32 -0
  448. package/test/spec/modules/eplanningAnalyticsAdapter_spec.js +2 -2
  449. package/test/spec/modules/fintezaAnalyticsAdapter_spec.js +2 -1
  450. package/test/spec/modules/improvedigitalBidAdapter_spec.js +4 -4
  451. package/test/spec/modules/imuIdSystem_spec.js +20 -4
  452. package/test/spec/modules/invisiblyAnalyticsAdapter_spec.js +8 -3
  453. package/test/spec/modules/kargoBidAdapter_spec.js +11 -2
  454. package/test/spec/modules/konduitAnalyticsAdapter_spec.js +2 -1
  455. package/test/spec/modules/nextMillenniumBidAdapter_spec.js +17 -0
  456. package/test/spec/modules/openxAnalyticsAdapter_spec.js +6 -638
  457. package/test/spec/modules/openxOrtbBidAdapter_spec.js +32 -1
  458. package/test/spec/modules/optimonAnalyticsAdapter_spec.js +2 -1
  459. package/test/spec/modules/ozoneBidAdapter_spec.js +367 -511
  460. package/test/spec/modules/pianoDmpAnalyticsAdapter_spec.js +4 -0
  461. package/test/spec/modules/prebidmanagerAnalyticsAdapter_spec.js +2 -1
  462. package/test/spec/modules/pubmaticBidAdapter_spec.js +111 -5
  463. package/test/spec/modules/pubperfAnalyticsAdapter_spec.js +2 -1
  464. package/test/spec/modules/pubstackAnalyticsAdapter_spec.js +2 -1
  465. package/test/spec/modules/pubwiseAnalyticsAdapter_spec.js +3 -3
  466. package/test/spec/modules/relaidoBidAdapter_spec.js +40 -33
  467. package/test/spec/modules/riseBidAdapter_spec.js +17 -0
  468. package/test/spec/modules/sharethroughBidAdapter_spec.js +10 -1
  469. package/test/spec/modules/showheroes-bsBidAdapter_spec.js +173 -2
  470. package/test/spec/modules/sigmoidAnalyticsAdapter_spec.js +1 -1
  471. package/test/spec/modules/snigelBidAdapter_spec.js +296 -0
  472. package/test/spec/modules/sovrnAnalyticsAdapter_spec.js +2 -1
  473. package/test/spec/modules/sspBCBidAdapter_spec.js +2 -2
  474. package/test/spec/modules/tripleliftBidAdapter_spec.js +378 -10
  475. package/test/spec/modules/ttdBidAdapter_spec.js +113 -34
  476. package/test/spec/modules/userId_spec.js +38 -2
  477. package/test/spec/modules/vidazooBidAdapter_spec.js +39 -24
  478. package/test/spec/modules/yahoosspBidAdapter_spec.js +13 -0
  479. package/test/spec/modules/yieldoneAnalyticsAdapter_spec.js +5 -1
  480. package/test/spec/modules/zeta_global_sspBidAdapter_spec.js +61 -2
  481. package/test/spec/native_spec.js +96 -0
  482. package/test/spec/unit/core/bidderFactory_spec.js +27 -2
  483. package/webpack.conf.js +47 -11
@@ -1,5 +1,5 @@
1
1
  import {ajax} from '../src/ajax.js';
2
- import adapter from '../src/AnalyticsAdapter.js';
2
+ import adapter from '../libraries/analyticsAdapter/AnalyticsAdapter.js';
3
3
  import CONSTANTS from '../src/constants.json';
4
4
  import adapterManager from '../src/adapterManager.js';
5
5
  import {getGlobal} from '../src/prebidGlobal.js';
@@ -98,7 +98,7 @@ export const spec = {
98
98
  }
99
99
 
100
100
  var sizeNotFound = true;
101
- const bidParamSizes = bidParam.mediaTypes && bidParam.mediaTypes.banner && bidParam.mediaTypes.banner.sizes ? bidParam.mediaTypes.banner.sizes : bidParam.sizes
101
+ const bidParamSizes = bidParam.mediaTypes && bidParam.mediaTypes.banner && bidParam.mediaTypes.banner.sizes ? bidParam.mediaTypes.banner.sizes : bidParam.sizes;
102
102
  parseSizesInput(bidParamSizes).forEach(size => {
103
103
  if (size === mid.width + 'x' + mid.height) {
104
104
  sizeNotFound = false;
@@ -277,6 +277,11 @@ export const USER_IDS_CONFIG = {
277
277
  atype: 3
278
278
  },
279
279
 
280
+ 'imppid': {
281
+ source: 'ppid.intimatemerger.com',
282
+ atype: 1
283
+ },
284
+
280
285
  'imuid': {
281
286
  source: 'intimatemerger.com',
282
287
  atype: 1
@@ -614,9 +614,9 @@ function getPPID() {
614
614
  * @param {Object} reqBidsConfigObj required; This is the same param that's used in pbjs.requestBids.
615
615
  * @param {function} fn required; The next function in the chain, used by hook.js
616
616
  */
617
- export function requestBidsHook(fn, reqBidsConfigObj, {delay = GreedyPromise.timeout} = {}) {
617
+ export function requestBidsHook(fn, reqBidsConfigObj, {delay = GreedyPromise.timeout, getIds = getUserIdsAsync} = {}) {
618
618
  GreedyPromise.race([
619
- getUserIdsAsync(),
619
+ getIds().catch(() => null),
620
620
  delay(auctionDelay)
621
621
  ]).then(() => {
622
622
  // pass available user id data to bid adapters
@@ -762,13 +762,17 @@ function refreshUserIds({submoduleNames} = {}, callback) {
762
762
  function getUserIdsAsync() {
763
763
  return initIdSystem().then(
764
764
  () => getUserIds(),
765
- (e) =>
766
- e === INIT_CANCELED
765
+ (e) => {
766
+ if (e === INIT_CANCELED) {
767
767
  // there's a pending refresh - because GreedyPromise runs this synchronously, we are now in the middle
768
768
  // of canceling the previous init, before the refresh logic has had a chance to run.
769
769
  // Use a "normal" Promise to clear the stack and let it complete (or this will just recurse infinitely)
770
- ? Promise.resolve().then(getUserIdsAsync)
771
- : GreedyPromise.reject(e)
770
+ return Promise.resolve().then(getUserIdsAsync)
771
+ } else {
772
+ logError('Error initializing userId', e)
773
+ return GreedyPromise.reject(e)
774
+ }
775
+ }
772
776
  );
773
777
  }
774
778
 
@@ -839,7 +843,7 @@ function initSubmodules(dest, submodules, consentData, forceRefresh = false) {
839
843
  submodules = submodules.filter((submod) => !submod.config.storage || storageTypes.has(submod.config.storage.type));
840
844
 
841
845
  if (!submodules.length) {
842
- logWarn(`${MODULE_NAME} - no ID module is configured for one of the available storage types:`, Array.from(storageTypes))
846
+ logWarn(`${MODULE_NAME} - no ID module is configured for one of the available storage types:`, Array.from(storageTypes));
843
847
  return [];
844
848
  }
845
849
 
@@ -102,7 +102,7 @@ export const spec = {
102
102
  if (response.adDomain) {
103
103
  bidResponse.meta = {
104
104
  advertiserDomains: response.adDomain
105
- }
105
+ };
106
106
  }
107
107
  bidResponses.push(bidResponse);
108
108
  }
@@ -1,4 +1,4 @@
1
- import { _each, deepAccess, parseSizesInput, parseUrl } from '../src/utils.js';
1
+ import {_each, deepAccess, parseSizesInput, parseUrl, uniques} from '../src/utils.js';
2
2
  import { registerBidder } from '../src/adapters/bidderFactory.js';
3
3
  import { BANNER } from '../src/mediaTypes.js';
4
4
  import { getStorageManager } from '../src/storageManager.js';
@@ -22,6 +22,7 @@ export const SUPPORTED_ID_SYSTEMS = {
22
22
  'parrableId': 1,
23
23
  'pubcid': 1,
24
24
  'tdid': 1,
25
+ 'pubProvidedId': 1
25
26
  };
26
27
  const storage = getStorageManager({ gvlid: GVLID, bidderCode: BIDDER_CODE });
27
28
 
@@ -72,6 +73,7 @@ function buildRequest(bid, topWindowUrl, sizes, bidderRequest) {
72
73
  cb: Date.now(),
73
74
  bidFloor: bidFloor,
74
75
  bidId: bidId,
76
+ referrer: bidderRequest.refererInfo.ref,
75
77
  adUnitCode: adUnitCode,
76
78
  publisherId: pId,
77
79
  sessionId: sId,
@@ -95,7 +97,7 @@ function buildRequest(bid, topWindowUrl, sizes, bidderRequest) {
95
97
  }
96
98
  }
97
99
  if (bidderRequest.uspConsent) {
98
- data.usPrivacy = bidderRequest.uspConsent
100
+ data.usPrivacy = bidderRequest.uspConsent;
99
101
  }
100
102
 
101
103
  const dto = {
@@ -189,17 +191,19 @@ function getUserSyncs(syncOptions, responses, gdprConsent = {}, uspConsent = '')
189
191
  let syncs = [];
190
192
  const { iframeEnabled, pixelEnabled } = syncOptions;
191
193
  const { gdprApplies, consentString = '' } = gdprConsent;
192
- const params = `?gdpr=${gdprApplies ? 1 : 0}&gdpr_consent=${encodeURIComponent(consentString || '')}&us_privacy=${encodeURIComponent(uspConsent || '')}`
194
+
195
+ const cidArr = responses.filter(resp => deepAccess(resp, 'body.cid')).map(resp => resp.body.cid).filter(uniques);
196
+ const params = `?cid=${encodeURIComponent(cidArr.join(','))}&gdpr=${gdprApplies ? 1 : 0}&gdpr_consent=${encodeURIComponent(consentString || '')}&us_privacy=${encodeURIComponent(uspConsent || '')}`
193
197
  if (iframeEnabled) {
194
198
  syncs.push({
195
199
  type: 'iframe',
196
- url: `https://prebid.cootlogix.com/api/sync/iframe/${params}`
200
+ url: `https://sync.cootlogix.com/api/sync/iframe/${params}`
197
201
  });
198
202
  }
199
203
  if (pixelEnabled) {
200
204
  syncs.push({
201
205
  type: 'image',
202
- url: `https://prebid.cootlogix.com/api/sync/image/${params}`
206
+ url: `https://sync.cootlogix.com/api/sync/image/${params}`
203
207
  });
204
208
  }
205
209
  return syncs;
@@ -85,7 +85,7 @@ export const spec = {
85
85
  };
86
86
 
87
87
  if (bidderRequest.refererInfo.ref) {
88
- data.site.ref = bidderRequest.refererInfo.ref
88
+ data.site.ref = bidderRequest.refererInfo.ref;
89
89
  }
90
90
 
91
91
  if (bidderRequest.gdprConsent) {
@@ -110,7 +110,7 @@ const buildRequests = (validBidRequests, bidderRequest) => {
110
110
  method: 'GET',
111
111
  url: ENDPOINT,
112
112
  data: queryParams
113
- }
113
+ };
114
114
  });
115
115
  return serverRequests;
116
116
  };
@@ -375,7 +375,7 @@ function _isAdSlotExists(adUnitCode) {
375
375
  }
376
376
 
377
377
  const gptAdSlot = getGptSlotInfoForAdUnitCode(adUnitCode);
378
- if (gptAdSlot && gptAdSlot.divId && document.getElementById(gptAdSlot.divId)) {
378
+ if (gptAdSlot.divId && document.getElementById(gptAdSlot.divId)) {
379
379
  return true;
380
380
  }
381
381
 
@@ -87,7 +87,7 @@ export const spec = {
87
87
  params.imp[0].banner.h = bid.sizes[0][1];
88
88
  }
89
89
 
90
- return {method: 'POST', url: 'https://rtb.vrtcal.com/bidder_prebid.vap?ssp=1804', data: JSON.stringify(params), options: {withCredentials: false, crossOrigin: true}}
90
+ return {method: 'POST', url: 'https://rtb.vrtcal.com/bidder_prebid.vap?ssp=1804', data: JSON.stringify(params), options: {withCredentials: false, crossOrigin: true}};
91
91
  });
92
92
 
93
93
  return requests;
@@ -199,7 +199,7 @@ function initSubSection(moduleParams, subSection, ...requiredFields) {
199
199
  });
200
200
  } catch (e) {
201
201
  logError(`unable to initialize: error on ${subSection} configuration: ${e}`);
202
- return false
202
+ return false;
203
203
  }
204
204
 
205
205
  logMessage(`weborama ${subSection} initialized with success`);
@@ -213,7 +213,7 @@ const globalDefaults = {
213
213
  sendToBidders: true,
214
214
  onData: () => {
215
215
  /* do nothing */ },
216
- }
216
+ };
217
217
 
218
218
  /** normalize submodule configuration
219
219
  * @param {ModuleParams} moduleParams
@@ -558,7 +558,7 @@ function getDataFromLocalStorage(weboDataConf, cacheGet, cacheSet, defaultLocalS
558
558
  }
559
559
  }
560
560
 
561
- const profile = cacheGet()
561
+ const profile = cacheGet();
562
562
 
563
563
  if (profile) {
564
564
  return [profile, false];
@@ -208,7 +208,7 @@ export const spec = {
208
208
  }
209
209
 
210
210
  if (appDeviceObjBid) {
211
- payload.device = appDeviceObj
211
+ payload.device = appDeviceObj;
212
212
  }
213
213
  if (appIdObjBid) {
214
214
  payload.app = appIdObj;
@@ -281,7 +281,8 @@ function generateOpenRtbObject(bidderRequest, bid) {
281
281
  outBoundBidRequest = appendFirstPartyData(outBoundBidRequest, bid);
282
282
  };
283
283
 
284
- if (deepAccess(bid, 'schain')) {
284
+ const schainData = deepAccess(bid, 'schain.nodes');
285
+ if (isArray(schainData) && schainData.length > 0) {
285
286
  outBoundBidRequest.source.ext.schain = bid.schain;
286
287
  outBoundBidRequest.source.ext.schain.nodes[0].rid = outBoundBidRequest.id;
287
288
  };
@@ -407,7 +408,7 @@ function appendFirstPartyData(outBoundBidRequest, bid) {
407
408
  newDataObject = validateAppendObject('object', allowedContentDataObjectKeys, dataObject, newDataObject);
408
409
  outBoundBidRequest.site.content.data = [];
409
410
  outBoundBidRequest.site.content.data.push(newDataObject);
410
- })
411
+ });
411
412
  };
412
413
  };
413
414
 
@@ -427,7 +428,7 @@ function appendFirstPartyData(outBoundBidRequest, bid) {
427
428
  }
428
429
  };
429
430
  outBoundBidRequest.app.content.data.push(newDataObject);
430
- })
431
+ });
431
432
  };
432
433
  };
433
434
 
@@ -65,7 +65,7 @@ export const spec = {
65
65
  withCredentials,
66
66
  },
67
67
  bidRequest,
68
- }
68
+ };
69
69
  });
70
70
  },
71
71
 
@@ -531,13 +531,13 @@ function validateVideoParams(bid) {
531
531
  error += ' when ' + conditionStr;
532
532
  }
533
533
  throw new Error(error);
534
- }
534
+ };
535
535
 
536
536
  const paramInvalid = (paramStr, value, expectedStr) => {
537
537
  expectedStr = expectedStr ? ', expected: ' + expectedStr : '';
538
538
  value = JSON.stringify(value);
539
539
  throw new Error(`"${paramStr}"=${value} is invalid${expectedStr}`);
540
- }
540
+ };
541
541
 
542
542
  const isDefined = val => typeof val !== 'undefined';
543
543
  const validate = (fieldPath, validateCb, errorCb, errorCbParam) => {
@@ -563,7 +563,7 @@ function validateVideoParams(bid) {
563
563
  }
564
564
  return value;
565
565
  }
566
- }
566
+ };
567
567
 
568
568
  try {
569
569
  validate('video.context', val => !isEmpty(val), paramRequired);
@@ -1,6 +1,6 @@
1
1
  import { isArray, deepClone } from '../src/utils.js';
2
2
  import {ajax} from '../src/ajax.js';
3
- import adapter from '../src/AnalyticsAdapter.js';
3
+ import adapter from '../libraries/analyticsAdapter/AnalyticsAdapter.js';
4
4
  import CONSTANTS from '../src/constants.json';
5
5
  import adapterManager from '../src/adapterManager.js';
6
6
  import { targeting } from '../src/targeting.js';
@@ -90,7 +90,7 @@ export const spec = {
90
90
  method: 'GET',
91
91
  url: ENDPOINT_URL,
92
92
  data: payload,
93
- }
93
+ };
94
94
  });
95
95
  },
96
96
  interpretResponse: function(serverResponse, bidRequest) {
@@ -212,7 +212,7 @@ function getMediaType(bidRequest, enabledOldFormat = true) {
212
212
  }
213
213
 
214
214
  if (hasBannerType && hasVideoType) {
215
- const playerParams = deepAccess(bidRequest, 'params.playerParams')
215
+ const playerParams = deepAccess(bidRequest, 'params.playerParams');
216
216
  if (playerParams) {
217
217
  return VIDEO;
218
218
  } else {
@@ -1,6 +1,6 @@
1
1
  import {buildUrl, generateUUID, getWindowLocation, logError, logInfo, parseSizesInput, parseUrl} from '../src/utils.js';
2
2
  import {ajax} from '../src/ajax.js';
3
- import adapter from '../src/AnalyticsAdapter.js';
3
+ import adapter from '../libraries/analyticsAdapter/AnalyticsAdapter.js';
4
4
  import adapterManager from '../src/adapterManager.js';
5
5
  import CONSTANTS from '../src/constants.json';
6
6
  import {getStorageManager} from '../src/storageManager.js';
@@ -3,7 +3,7 @@ import { ajax } from '../src/ajax.js';
3
3
  import adapterManager from '../src/adapterManager.js';
4
4
  import CONSTANTS from '../src/constants.json';
5
5
 
6
- import adapter from '../src/AnalyticsAdapter.js';
6
+ import adapter from '../libraries/analyticsAdapter/AnalyticsAdapter.js';
7
7
 
8
8
  const ZETA_GVL_ID = 833;
9
9
  const ADAPTER_CODE = 'zeta_global_ssp';
@@ -5,7 +5,7 @@ import {config} from '../src/config.js';
5
5
  import {parseDomain} from '../src/refererDetection.js';
6
6
 
7
7
  const BIDDER_CODE = 'zeta_global_ssp';
8
- const ENDPOINT_URL = 'https://ssp.disqus.com/bid';
8
+ const ENDPOINT_URL = 'https://ssp.disqus.com/bid/prebid';
9
9
  const USER_SYNC_URL_IFRAME = 'https://ssp.disqus.com/sync?type=iframe';
10
10
  const USER_SYNC_URL_IMAGE = 'https://ssp.disqus.com/sync?type=image';
11
11
  const DEFAULT_CUR = 'USD';
@@ -69,31 +69,34 @@ export const spec = {
69
69
  */
70
70
  buildRequests: function (validBidRequests, bidderRequest) {
71
71
  const secure = 1; // treat all requests as secure
72
- const request = validBidRequests[0];
73
- const params = request.params;
74
- const impData = {
75
- id: request.bidId,
76
- secure: secure
77
- };
78
- if (request.mediaTypes) {
79
- for (const mediaType in request.mediaTypes) {
80
- switch (mediaType) {
81
- case BANNER:
82
- impData.banner = buildBanner(request);
83
- break;
84
- case VIDEO:
85
- impData.video = buildVideo(request);
86
- break;
72
+ const params = validBidRequests[0].params;
73
+ const imps = validBidRequests.map(request => {
74
+ const impData = {
75
+ id: request.bidId,
76
+ secure: secure
77
+ };
78
+ if (request.mediaTypes) {
79
+ for (const mediaType in request.mediaTypes) {
80
+ switch (mediaType) {
81
+ case BANNER:
82
+ impData.banner = buildBanner(request);
83
+ break;
84
+ case VIDEO:
85
+ impData.video = buildVideo(request);
86
+ break;
87
+ }
87
88
  }
88
89
  }
89
- }
90
- if (!impData.banner && !impData.video) {
91
- impData.banner = buildBanner(request);
92
- }
90
+ if (!impData.banner && !impData.video) {
91
+ impData.banner = buildBanner(request);
92
+ }
93
+ return impData;
94
+ });
95
+
93
96
  let payload = {
94
97
  id: bidderRequest.auctionId,
95
98
  cur: [DEFAULT_CUR],
96
- imp: [impData],
99
+ imp: imps,
97
100
  site: params.site ? params.site : {},
98
101
  device: {...(bidderRequest.ortb2?.device || {}), ...params.device},
99
102
  user: params.user ? params.user : {},
@@ -126,7 +129,7 @@ export const spec = {
126
129
  deepSetValue(payload, 'regs.ext.us_privacy', bidderRequest.uspConsent);
127
130
  }
128
131
 
129
- provideEids(request, payload);
132
+ provideEids(validBidRequests[0], payload);
130
133
  const url = params.shortname ? ENDPOINT_URL.concat('?shortname=', params.shortname) : ENDPOINT_URL;
131
134
  return {
132
135
  method: 'POST',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "prebid.js",
3
- "version": "7.8.0",
3
+ "version": "7.11.0",
4
4
  "description": "Header Bidding Management Library",
5
5
  "main": "src/prebid.js",
6
6
  "scripts": {
@@ -35,7 +35,6 @@
35
35
  },
36
36
  "devDependencies": {
37
37
  "@babel/eslint-parser": "^7.16.5",
38
- "@jsdevtools/coverage-istanbul-loader": "^3.0.3",
39
38
  "@wdio/browserstack-service": "^7.16.0",
40
39
  "@wdio/cli": "^7.5.2",
41
40
  "@wdio/concise-reporter": "^7.5.2",
@@ -46,6 +45,7 @@
46
45
  "ajv": "6.12.3",
47
46
  "assert": "^2.0.0",
48
47
  "babel-loader": "^8.0.5",
48
+ "babel-plugin-istanbul": "^6.1.1",
49
49
  "babel-register": "^6.26.0",
50
50
  "body-parser": "^1.19.0",
51
51
  "chai": "^4.2.0",
@@ -108,14 +108,15 @@
108
108
  "webdriverio": "^7.6.1",
109
109
  "webpack": "^5.70.0",
110
110
  "webpack-bundle-analyzer": "^4.5.0",
111
+ "webpack-manifest-plugin": "^5.0.0",
111
112
  "webpack-stream": "^7.0.0",
112
113
  "yargs": "^1.3.1"
113
114
  },
114
115
  "dependencies": {
115
116
  "@babel/core": "^7.16.7",
117
+ "@babel/plugin-transform-runtime": "^7.18.9",
116
118
  "@babel/preset-env": "^7.16.8",
117
119
  "@babel/runtime": "^7.18.9",
118
- "@babel/plugin-transform-runtime": "^7.18.9",
119
120
  "core-js": "^3.13.0",
120
121
  "core-js-pure": "^3.13.0",
121
122
  "criteo-direct-rsa-validate": "^1.1.0",
package/src/Renderer.js CHANGED
@@ -60,7 +60,7 @@ export function Renderer(options) {
60
60
  this.cmd.unshift(runRender) // should render run first ?
61
61
  loadExternalScript(url, moduleCode, this.callback, this.documentContext);
62
62
  }
63
- }.bind(this) // bind the function to this object to avoid 'this' errors
63
+ }.bind(this); // bind the function to this object to avoid 'this' errors
64
64
  }
65
65
 
66
66
  Renderer.install = function({ url, config, id, callback, loaded, adUnitCode, renderNow }) {
@@ -275,7 +275,7 @@ adapterManager.makeBidRequests = hook('sync', function (adUnits, auctionStart, a
275
275
  }
276
276
  });
277
277
  }
278
- })
278
+ });
279
279
 
280
280
  // client adapters
281
281
  let adUnitsClientCopy = getAdUnitCopyForClientAdapters(adUnits);
@@ -386,7 +386,7 @@ adapterManager.callBids = (adUnits, bidRequests, addBidResponse, doneCb, request
386
386
  } else {
387
387
  logError('missing ' + s2sConfig.adapter);
388
388
  }
389
- counter++
389
+ counter++;
390
390
  }
391
391
  });
392
392
 
@@ -473,7 +473,7 @@ adapterManager.aliasBidAdapter = function (bidderCode, alias, options) {
473
473
  });
474
474
  nonS2SAlias.forEach(bidderCode => {
475
475
  logError('bidderCode "' + bidderCode + '" is not an existing bidder.', 'adapterManager.aliasBidAdapter');
476
- })
476
+ });
477
477
  } else {
478
478
  try {
479
479
  let newAdapter;
@@ -260,6 +260,7 @@ export function newBidder(spec) {
260
260
  let allowAlternateBidderCodes = bidderSettings.get(requestBidder, 'allowAlternateBidderCodes') || false;
261
261
  let alternateBiddersList = bidderSettings.get(requestBidder, 'allowedAlternateBidderCodes');
262
262
  if (!!responseBidder && !!requestBidder && requestBidder !== responseBidder) {
263
+ alternateBiddersList = isArray(alternateBiddersList) ? alternateBiddersList.map(val => val.trim().toLowerCase()).filter(val => !!val).filter(uniques) : alternateBiddersList;
263
264
  if (!allowAlternateBidderCodes || (isArray(alternateBiddersList) && (alternateBiddersList[0] !== '*' && !alternateBiddersList.includes(responseBidder)))) {
264
265
  return true;
265
266
  }
package/src/auction.js CHANGED
@@ -359,7 +359,7 @@ export function newAuction({adUnits, adUnitCodes, callback, cbTimeout, labels, a
359
359
  getBidsReceived: () => _bidsReceived,
360
360
  getNoBids: () => _noBids,
361
361
  getFPD: () => ortb2Fragments
362
- }
362
+ };
363
363
  }
364
364
 
365
365
  export const addBidResponse = hook('sync', function(adUnitCode, bid) {
@@ -566,7 +566,7 @@ function getPreparedBidForAuction({adUnitCode, bid, auctionId}, {index = auction
566
566
 
567
567
  // a publisher can also define a renderer for a mediaType
568
568
  const bidObjectMediaType = bidObject.mediaType;
569
- const mediaTypes = index.getMediaTypes(bidObject)
569
+ const mediaTypes = index.getMediaTypes(bidObject);
570
570
  const bidMediaType = mediaTypes && mediaTypes[bidObjectMediaType];
571
571
 
572
572
  var mediaTypeRenderer = bidMediaType && bidMediaType.renderer;
package/src/bidfactory.js CHANGED
@@ -59,7 +59,7 @@ function Bid(statusCode, {src = 'client', bidder = '', bidId, transactionId, auc
59
59
  transactionId: this.transactionId,
60
60
  auctionId: this.auctionId
61
61
  }
62
- }
62
+ };
63
63
  }
64
64
 
65
65
  // Bid factory function.
package/src/config.js CHANGED
@@ -386,7 +386,11 @@ export function newConfig() {
386
386
  option = Object.assign({}, defaults[topic], option);
387
387
  }
388
388
 
389
- topicalConfig[topic] = config[topic] = option;
389
+ try {
390
+ topicalConfig[topic] = config[topic] = option;
391
+ } catch (e) {
392
+ logWarn(`Cannot set config for property ${topic} : `, e)
393
+ }
390
394
  });
391
395
 
392
396
  callSubscribers(topicalConfig);
@@ -452,7 +456,7 @@ export function newConfig() {
452
456
 
453
457
  if (options.init) {
454
458
  if (topic === ALL_TOPICS) {
455
- callback(getConfig())
459
+ callback(getConfig());
456
460
  } else {
457
461
  // eslint-disable-next-line standard/no-callback-literal
458
462
  callback({[topic]: getConfig(topic)});
@@ -525,11 +529,7 @@ export function newConfig() {
525
529
  return;
526
530
  }
527
531
 
528
- const mergedConfig = Object.keys(obj).reduce((accum, key) => {
529
- const prevConf = _getConfig(key)[key] || {};
530
- accum[key] = mergeDeep(prevConf, obj[key]);
531
- return accum;
532
- }, {});
532
+ const mergedConfig = mergeDeep(_getConfig(), obj);
533
533
 
534
534
  setConfig({ ...mergedConfig });
535
535
  return mergedConfig;