prebid.js 8.44.0 → 8.45.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (472) hide show
  1. package/README.md +7 -1
  2. package/creative/constants.js +7 -7
  3. package/creative/renderers/display/constants.js +2 -2
  4. package/creative/renderers/native/constants.js +2 -2
  5. package/dist/33acrossAnalyticsAdapter.js +1 -1
  6. package/dist/33acrossBidAdapter.js +1 -1
  7. package/dist/33acrossIdSystem.js +1 -1
  8. package/dist/BTBidAdapter.js +1 -1
  9. package/dist/adWMGAnalyticsAdapter.js +1 -1
  10. package/dist/adagioAnalyticsAdapter.js +1 -1
  11. package/dist/adagioBidAdapter.js +1 -1
  12. package/dist/adbookpspBidAdapter.js +1 -1
  13. package/dist/adgenerationBidAdapter.js +1 -1
  14. package/dist/adkernelAdnAnalyticsAdapter.js +1 -1
  15. package/dist/adkernelBidAdapter.js +1 -1
  16. package/dist/adlooxAdServerVideo.js +1 -1
  17. package/dist/adlooxAnalyticsAdapter.js +1 -1
  18. package/dist/adlooxRtdProvider.js +1 -1
  19. package/dist/adnuntiusBidAdapter.js +1 -1
  20. package/dist/adomikAnalyticsAdapter.js +1 -1
  21. package/dist/adpod.js +1 -1
  22. package/dist/adqueryBidAdapter.js +1 -1
  23. package/dist/adrelevantisBidAdapter.js +1 -1
  24. package/dist/adstirBidAdapter.js +1 -1
  25. package/dist/adtrgtmeBidAdapter.js +1 -1
  26. package/dist/adxcgAnalyticsAdapter.js +1 -1
  27. package/dist/adxcgBidAdapter.js +1 -1
  28. package/dist/adxpremiumAnalyticsAdapter.js +1 -1
  29. package/dist/adyoulikeBidAdapter.js +1 -1
  30. package/dist/agmaAnalyticsAdapter.js +1 -1
  31. package/dist/ajaBidAdapter.js +1 -1
  32. package/dist/amxBidAdapter.js +1 -1
  33. package/dist/amxIdSystem.js +1 -1
  34. package/dist/analyticsAdapter.js +1 -1
  35. package/dist/appierAnalyticsAdapter.js +1 -1
  36. package/dist/appnexusBidAdapter.js +1 -1
  37. package/dist/asoBidAdapter.js +1 -1
  38. package/dist/asteriobidAnalyticsAdapter.js +1 -1
  39. package/dist/atsAnalyticsAdapter.js +1 -1
  40. package/dist/automatadAnalyticsAdapter.js +1 -1
  41. package/dist/axonixBidAdapter.js +1 -1
  42. package/dist/bidViewability.js +1 -1
  43. package/dist/bidViewabilityIO.js +1 -1
  44. package/dist/bidglassBidAdapter.js +1 -1
  45. package/dist/bidwatchAnalyticsAdapter.js +1 -1
  46. package/dist/big-richmediaBidAdapter.js +1 -1
  47. package/dist/brandmetricsRtdProvider.js +1 -1
  48. package/dist/bridBidAdapter.js +1 -1
  49. package/dist/bridgewellBidAdapter.js +1 -1
  50. package/dist/brightMountainMediaBidAdapter.js +1 -1
  51. package/dist/browsiRtdProvider.js +1 -1
  52. package/dist/byDataAnalyticsAdapter.js +1 -1
  53. package/dist/carodaBidAdapter.js +1 -1
  54. package/dist/chtnwBidAdapter.js +1 -1
  55. package/dist/chunk-core.js +1 -1
  56. package/dist/chunk-paapi.js +1 -1
  57. package/dist/cleanioRtdProvider.js +1 -1
  58. package/dist/concertAnalyticsAdapter.js +1 -1
  59. package/dist/concertBidAdapter.js +1 -1
  60. package/dist/confiantRtdProvider.js +1 -1
  61. package/dist/connectadBidAdapter.js +1 -1
  62. package/dist/consentManagementUsp.js +1 -1
  63. package/dist/consumableBidAdapter.js +1 -1
  64. package/dist/conversantAnalyticsAdapter.js +1 -1
  65. package/dist/conversantBidAdapter.js +1 -1
  66. package/dist/craftBidAdapter.js +1 -1
  67. package/dist/creative-renderer-native.js +1 -1
  68. package/dist/criteoBidAdapter.js +1 -1
  69. package/dist/currency.js +1 -1
  70. package/dist/cwireBidAdapter.js +1 -1
  71. package/dist/dailymotionBidAdapter.js +1 -0
  72. package/dist/datablocksAnalyticsAdapter.js +1 -1
  73. package/dist/datawrkzBidAdapter.js +1 -1
  74. package/dist/debugging-standalone.js +1 -1
  75. package/dist/debugging.js +1 -1
  76. package/dist/dependencies.json +3 -3
  77. package/dist/dfpAdServerVideo.js +1 -1
  78. package/dist/dsaControl.js +1 -1
  79. package/dist/dspxBidAdapter.js +1 -1
  80. package/dist/dxkultureBidAdapter.js +1 -1
  81. package/dist/eplanningAnalyticsAdapter.js +1 -1
  82. package/dist/eplanningBidAdapter.js +1 -1
  83. package/dist/euidIdSystem.js +1 -1
  84. package/dist/feedadBidAdapter.js +1 -1
  85. package/dist/finativeBidAdapter.js +1 -1
  86. package/dist/fintezaAnalyticsAdapter.js +1 -1
  87. package/dist/freewheel-sspBidAdapter.js +1 -1
  88. package/dist/gdprEnforcement.js +1 -1
  89. package/dist/genericAnalyticsAdapter.js +1 -1
  90. package/dist/geoedgeRtdProvider.js +1 -1
  91. package/dist/gmosspBidAdapter.js +1 -1
  92. package/dist/goldbachBidAdapter.js +1 -1
  93. package/dist/greenbidsAnalyticsAdapter.js +1 -1
  94. package/dist/greenbidsRtdProvider.js +1 -1
  95. package/dist/gridBidAdapter.js +1 -1
  96. package/dist/growthCodeAnalyticsAdapter.js +1 -1
  97. package/dist/gumgumBidAdapter.js +1 -1
  98. package/dist/h12mediaBidAdapter.js +1 -1
  99. package/dist/hadronAnalyticsAdapter.js +1 -1
  100. package/dist/holidBidAdapter.js +1 -1
  101. package/dist/hypelabBidAdapter.js +1 -1
  102. package/dist/id5AnalyticsAdapter.js +1 -1
  103. package/dist/id5IdSystem.js +1 -1
  104. package/dist/illuminBidAdapter.js +1 -1
  105. package/dist/imdsBidAdapter.js +1 -1
  106. package/dist/improvedigitalBidAdapter.js +1 -1
  107. package/dist/insticatorBidAdapter.js +1 -1
  108. package/dist/instreamTracking.js +1 -1
  109. package/dist/invisiblyAnalyticsAdapter.js +1 -1
  110. package/dist/ixBidAdapter.js +1 -1
  111. package/dist/jixieBidAdapter.js +1 -1
  112. package/dist/justpremiumBidAdapter.js +1 -1
  113. package/dist/kargoAnalyticsAdapter.js +1 -1
  114. package/dist/kargoBidAdapter.js +1 -1
  115. package/dist/kimberliteBidAdapter.js +1 -1
  116. package/dist/konduitAnalyticsAdapter.js +1 -1
  117. package/dist/kueezBidAdapter.js +1 -1
  118. package/dist/kueezRtbBidAdapter.js +1 -1
  119. package/dist/lassoBidAdapter.js +1 -1
  120. package/dist/lifestreetBidAdapter.js +1 -1
  121. package/dist/liveIntentAnalyticsAdapter.js +1 -1
  122. package/dist/liveIntentIdSystem.js +1 -1
  123. package/dist/livewrappedAnalyticsAdapter.js +1 -1
  124. package/dist/logicadBidAdapter.js +1 -1
  125. package/dist/loglyliftBidAdapter.js +1 -1
  126. package/dist/luceadBidAdapter.js +1 -1
  127. package/dist/magniteAnalyticsAdapter.js +1 -1
  128. package/dist/malltvAnalyticsAdapter.js +1 -1
  129. package/dist/marsmediaAnalyticsAdapter.js +1 -1
  130. package/dist/marsmediaBidAdapter.js +1 -1
  131. package/dist/mediafilterRtdProvider.js +1 -1
  132. package/dist/mediafuseBidAdapter.js +1 -1
  133. package/dist/medianetAnalyticsAdapter.js +1 -1
  134. package/dist/medianetBidAdapter.js +1 -1
  135. package/dist/mediasquareBidAdapter.js +1 -1
  136. package/dist/mgidBidAdapter.js +1 -1
  137. package/dist/minutemediaBidAdapter.js +1 -1
  138. package/dist/minutemediaplusBidAdapter.js +1 -1
  139. package/dist/missenaBidAdapter.js +1 -1
  140. package/dist/multibid.js +1 -1
  141. package/dist/neuwoRtdProvider.js +1 -1
  142. package/dist/nextMillenniumBidAdapter.js +1 -1
  143. package/dist/nexx360BidAdapter.js +1 -1
  144. package/dist/nobidAnalyticsAdapter.js +1 -1
  145. package/dist/not-for-prod/prebid.js +237 -235
  146. package/dist/oguryBidAdapter.js +1 -1
  147. package/dist/onetagBidAdapter.js +1 -1
  148. package/dist/ooloAnalyticsAdapter.js +1 -1
  149. package/dist/openwebBidAdapter.js +1 -1
  150. package/dist/openxBidAdapter.js +1 -1
  151. package/dist/optidigitalBidAdapter.js +1 -1
  152. package/dist/optimonAnalyticsAdapter.js +1 -1
  153. package/dist/outbrainBidAdapter.js +1 -1
  154. package/dist/oxxionAnalyticsAdapter.js +1 -1
  155. package/dist/oxxionRtdProvider.js +1 -1
  156. package/dist/parrableIdSystem.js +1 -1
  157. package/dist/pbsExtensions.js +1 -1
  158. package/dist/permutiveRtdProvider.js +1 -1
  159. package/dist/pgamsspBidAdapter.js +1 -1
  160. package/dist/pianoDmpAnalyticsAdapter.js +1 -1
  161. package/dist/pirIdSystem.js +1 -0
  162. package/dist/pixfutureBidAdapter.js +1 -1
  163. package/dist/prebidServerBidAdapter.js +1 -1
  164. package/dist/prebidmanagerAnalyticsAdapter.js +1 -1
  165. package/dist/priceFloors.js +1 -1
  166. package/dist/publinkIdSystem.js +1 -1
  167. package/dist/publirBidAdapter.js +1 -1
  168. package/dist/pubmaticAnalyticsAdapter.js +1 -1
  169. package/dist/pubmaticBidAdapter.js +1 -1
  170. package/dist/pubperfAnalyticsAdapter.js +1 -1
  171. package/dist/pubstackAnalyticsAdapter.js +1 -1
  172. package/dist/pubwiseAnalyticsAdapter.js +1 -1
  173. package/dist/pubxaiAnalyticsAdapter.js +1 -1
  174. package/dist/pulsepointAnalyticsAdapter.js +1 -1
  175. package/dist/pxyzBidAdapter.js +1 -1
  176. package/dist/qortexRtdProvider.js +1 -1
  177. package/dist/quantcastBidAdapter.js +1 -1
  178. package/dist/readpeakBidAdapter.js +1 -1
  179. package/dist/relaidoBidAdapter.js +1 -1
  180. package/dist/relevantAnalyticsAdapter.js +1 -1
  181. package/dist/retailspotBidAdapter.js +1 -1
  182. package/dist/rhythmoneBidAdapter.js +1 -1
  183. package/dist/riseBidAdapter.js +1 -1
  184. package/dist/rivrAnalyticsAdapter.js +1 -1
  185. package/dist/roxotAnalyticsAdapter.js +1 -1
  186. package/dist/rtdModule.js +1 -1
  187. package/dist/rubiconBidAdapter.js +1 -1
  188. package/dist/s2sTesting.js +1 -1
  189. package/dist/scaleableAnalyticsAdapter.js +1 -1
  190. package/dist/schain.js +1 -1
  191. package/dist/seedingAllianceBidAdapter.js +1 -1
  192. package/dist/seedtagBidAdapter.js +1 -1
  193. package/dist/sharethroughAnalyticsAdapter.js +1 -1
  194. package/dist/sharethroughBidAdapter.js +1 -1
  195. package/dist/shinezBidAdapter.js +1 -1
  196. package/dist/shinezRtbBidAdapter.js +1 -1
  197. package/dist/sigmoidAnalyticsAdapter.js +1 -1
  198. package/dist/sizeMapping.js +1 -1
  199. package/dist/smaatoBidAdapter.js +1 -1
  200. package/dist/smartadserverBidAdapter.js +1 -1
  201. package/dist/smartxBidAdapter.js +1 -1
  202. package/dist/smilewantedBidAdapter.js +1 -1
  203. package/dist/sonobiAnalyticsAdapter.js +1 -1
  204. package/dist/sonobiBidAdapter.js +1 -1
  205. package/dist/sovrnAnalyticsAdapter.js +1 -1
  206. package/dist/sovrnBidAdapter.js +1 -1
  207. package/dist/sspBCBidAdapter.js +1 -1
  208. package/dist/staqAnalyticsAdapter.js +1 -1
  209. package/dist/stnBidAdapter.js +1 -1
  210. package/dist/stvBidAdapter.js +1 -1
  211. package/dist/sublimeBidAdapter.js +1 -1
  212. package/dist/taboolaBidAdapter.js +1 -1
  213. package/dist/tagorasBidAdapter.js +1 -1
  214. package/dist/targetVideoBidAdapter.js +1 -1
  215. package/dist/teadsBidAdapter.js +1 -1
  216. package/dist/terceptAnalyticsAdapter.js +1 -1
  217. package/dist/themoneytizerBidAdapter.js +1 -1
  218. package/dist/topicsFpdModule.js +1 -1
  219. package/dist/trionBidAdapter.js +1 -1
  220. package/dist/tripleliftBidAdapter.js +1 -1
  221. package/dist/ttdBidAdapter.js +1 -1
  222. package/dist/ucfunnelAnalyticsAdapter.js +1 -1
  223. package/dist/uid2IdSystem.js +1 -1
  224. package/dist/underdogmediaBidAdapter.js +1 -1
  225. package/dist/undertoneBidAdapter.js +1 -1
  226. package/dist/unrulyBidAdapter.js +1 -1
  227. package/dist/userId.js +1 -1
  228. package/dist/vidazooBidAdapter.js +1 -1
  229. package/dist/videoModule.js +1 -1
  230. package/dist/videobyteBidAdapter.js +1 -1
  231. package/dist/visxBidAdapter.js +1 -1
  232. package/dist/vuukleBidAdapter.js +1 -1
  233. package/dist/weboramaRtdProvider.js +1 -1
  234. package/dist/widespaceBidAdapter.js +1 -1
  235. package/dist/winrBidAdapter.js +1 -1
  236. package/dist/yahoosspBidAdapter.js +1 -1
  237. package/dist/yandexAnalyticsAdapter.js +1 -1
  238. package/dist/yieldmoBidAdapter.js +1 -1
  239. package/dist/yieldoneAnalyticsAdapter.js +1 -1
  240. package/dist/yuktamediaAnalyticsAdapter.js +1 -1
  241. package/dist/zeta_global_sspAnalyticsAdapter.js +1 -1
  242. package/dist/zeta_global_sspBidAdapter.js +1 -1
  243. package/gulpfile.js +9 -1
  244. package/integrationExamples/gpt/adnuntius_example.html +7 -1
  245. package/integrationExamples/gpt/azerionedgeRtdProvider_example.html +3 -3
  246. package/integrationExamples/gpt/top-level-paapi/decisionLogic.js +57 -0
  247. package/integrationExamples/gpt/top-level-paapi/tl_paapi_example.html +188 -0
  248. package/integrationExamples/gpt/x-domain/creative.html +1 -1
  249. package/libraries/analyticsAdapter/AnalyticsAdapter.js +4 -4
  250. package/libraries/creative-renderer-native/renderer.js +1 -1
  251. package/modules/33acrossAnalyticsAdapter.js +2 -4
  252. package/modules/33acrossIdSystem.js +1 -1
  253. package/modules/adWMGAnalyticsAdapter.js +9 -11
  254. package/modules/adagioAnalyticsAdapter.js +8 -8
  255. package/modules/adkernelAdnAnalyticsAdapter.js +8 -8
  256. package/modules/adkernelBidAdapter.js +9 -3
  257. package/modules/adlooxAdServerVideo.js +2 -2
  258. package/modules/adlooxAnalyticsAdapter.js +4 -4
  259. package/modules/adnuntiusBidAdapter.js +49 -31
  260. package/modules/adomikAnalyticsAdapter.js +7 -7
  261. package/modules/adpod.js +3 -3
  262. package/modules/adxcgAnalyticsAdapter.js +10 -10
  263. package/modules/adxpremiumAnalyticsAdapter.js +8 -10
  264. package/modules/agmaAnalyticsAdapter.js +2 -6
  265. package/modules/appierAnalyticsAdapter.js +5 -7
  266. package/modules/asteriobidAnalyticsAdapter.js +14 -14
  267. package/modules/atsAnalyticsAdapter.js +4 -4
  268. package/modules/automatadAnalyticsAdapter.js +20 -20
  269. package/modules/azerionedgeRtdProvider.md +4 -2
  270. package/modules/bidViewability.js +3 -3
  271. package/modules/bidViewabilityIO.js +3 -3
  272. package/modules/bidwatchAnalyticsAdapter.js +7 -9
  273. package/modules/brandmetricsRtdProvider.js +6 -6
  274. package/modules/browsiRtdProvider.js +3 -3
  275. package/modules/byDataAnalyticsAdapter.js +3 -3
  276. package/modules/cleanioRtdProvider.js +3 -3
  277. package/modules/concertAnalyticsAdapter.js +5 -7
  278. package/modules/confiantRtdProvider.js +2 -2
  279. package/modules/conversantAnalyticsAdapter.js +2 -4
  280. package/modules/criteoBidAdapter.js +51 -8
  281. package/modules/currency.js +7 -7
  282. package/modules/dailymotionBidAdapter.js +139 -0
  283. package/modules/dailymotionBidAdapter.md +140 -0
  284. package/modules/datawrkzBidAdapter.js +4 -4
  285. package/modules/debugging/pbsInterceptor.js +2 -2
  286. package/modules/dfpAdServerVideo.js +2 -2
  287. package/modules/dsaControl.js +5 -5
  288. package/modules/eplanningAnalyticsAdapter.js +8 -8
  289. package/modules/fintezaAnalyticsAdapter.js +5 -5
  290. package/modules/gdprEnforcement.js +3 -3
  291. package/modules/geoedgeRtdProvider.js +2 -2
  292. package/modules/greenbidsAnalyticsAdapter.js +13 -10
  293. package/modules/greenbidsRtdProvider.js +2 -2
  294. package/modules/growthCodeAnalyticsAdapter.js +14 -14
  295. package/modules/hadronAnalyticsAdapter.js +14 -14
  296. package/modules/holidBidAdapter.js +2 -2
  297. package/modules/id5AnalyticsAdapter.js +7 -9
  298. package/modules/improvedigitalBidAdapter.js +2 -1
  299. package/modules/insticatorBidAdapter.js +137 -27
  300. package/modules/instreamTracking.js +4 -4
  301. package/modules/invisiblyAnalyticsAdapter.js +15 -17
  302. package/modules/ixBidAdapter.js +3 -3
  303. package/modules/kargoAnalyticsAdapter.js +3 -3
  304. package/modules/kargoBidAdapter.js +5 -11
  305. package/modules/konduitAnalyticsAdapter.js +13 -13
  306. package/modules/liveIntentAnalyticsAdapter.js +2 -2
  307. package/modules/livewrappedAnalyticsAdapter.js +10 -10
  308. package/modules/magniteAnalyticsAdapter.js +25 -23
  309. package/modules/malltvAnalyticsAdapter.js +4 -6
  310. package/modules/mediafilterRtdProvider.js +2 -2
  311. package/modules/medianetAnalyticsAdapter.js +12 -12
  312. package/modules/medianetBidAdapter.js +1 -1
  313. package/modules/multibid/index.js +2 -2
  314. package/modules/neuwoRtdProvider.js +2 -2
  315. package/modules/nextMillenniumBidAdapter.js +4 -4
  316. package/modules/nobidAnalyticsAdapter.js +9 -11
  317. package/modules/ooloAnalyticsAdapter.js +2 -2
  318. package/modules/oxxionAnalyticsAdapter.js +7 -9
  319. package/modules/paapi.js +20 -6
  320. package/modules/permutiveRtdProvider.js +21 -2
  321. package/modules/pgamsspBidAdapter.js +26 -3
  322. package/modules/pirIdSystem.js +62 -0
  323. package/modules/pirIdSystem.md +27 -0
  324. package/modules/prebidServerBidAdapter/index.js +8 -8
  325. package/modules/prebidServerBidAdapter/ortbConverter.js +3 -3
  326. package/modules/prebidmanagerAnalyticsAdapter.js +14 -14
  327. package/modules/priceFloors.js +10 -5
  328. package/modules/pubmaticAnalyticsAdapter.js +32 -22
  329. package/modules/pubmaticBidAdapter.js +1 -17
  330. package/modules/pubwiseAnalyticsAdapter.js +11 -11
  331. package/modules/pubxaiAnalyticsAdapter.js +6 -6
  332. package/modules/qortexRtdProvider.js +2 -2
  333. package/modules/roxotAnalyticsAdapter.js +8 -10
  334. package/modules/rtdModule/index.js +7 -7
  335. package/modules/scaleableAnalyticsAdapter.js +5 -5
  336. package/modules/seedtagBidAdapter.js +12 -3
  337. package/modules/sigmoidAnalyticsAdapter.js +7 -7
  338. package/modules/smaatoBidAdapter.js +1 -2
  339. package/modules/sonobiAnalyticsAdapter.js +10 -12
  340. package/modules/sovrnAnalyticsAdapter.js +7 -9
  341. package/modules/sovrnBidAdapter.js +1 -1
  342. package/modules/staqAnalyticsAdapter.js +9 -9
  343. package/modules/terceptAnalyticsAdapter.js +7 -7
  344. package/modules/topicsFpdModule.js +3 -0
  345. package/modules/topicsFpdModule.md +4 -0
  346. package/modules/ucfunnelAnalyticsAdapter.js +5 -7
  347. package/modules/userId/index.js +3 -3
  348. package/modules/videoModule/index.js +4 -4
  349. package/modules/yandexAnalyticsAdapter.js +2 -2
  350. package/modules/yieldoneAnalyticsAdapter.js +7 -7
  351. package/modules/yuktamediaAnalyticsAdapter.js +9 -9
  352. package/modules/zeta_global_sspAnalyticsAdapter.js +5 -5
  353. package/modules/zeta_global_sspBidAdapter.js +8 -1
  354. package/package.json +1 -1
  355. package/src/adRendering.js +15 -15
  356. package/src/adUnits.js +9 -21
  357. package/src/adapterManager.js +23 -13
  358. package/src/adapters/bidderFactory.js +8 -8
  359. package/src/auction.js +26 -28
  360. package/src/auctionManager.js +4 -4
  361. package/src/bidderSettings.js +2 -2
  362. package/src/config.js +2 -2
  363. package/src/constants.js +190 -0
  364. package/src/events.js +3 -3
  365. package/src/native.js +6 -8
  366. package/src/prebid.js +6 -10
  367. package/src/secureCreatives.js +5 -5
  368. package/src/targeting.js +13 -13
  369. package/src/utils.js +4 -4
  370. package/test/fixtures/fixtures.js +44 -44
  371. package/test/helpers/analytics.js +6 -6
  372. package/test/spec/AnalyticsAdapter_spec.js +3 -3
  373. package/test/spec/auctionmanager_spec.js +82 -82
  374. package/test/spec/modules/33acrossAnalyticsAdapter_spec.js +1 -2
  375. package/test/spec/modules/33acrossIdSystem_spec.js +3 -3
  376. package/test/spec/modules/adWMGAnalyticsAdapter_spec.js +14 -14
  377. package/test/spec/modules/adagioAnalyticsAdapter_spec.js +26 -26
  378. package/test/spec/modules/adkernelAdnAnalytics_spec.js +6 -6
  379. package/test/spec/modules/adkernelBidAdapter_spec.js +9 -4
  380. package/test/spec/modules/adlooxAnalyticsAdapter_spec.js +6 -6
  381. package/test/spec/modules/adnuntiusBidAdapter_spec.js +8 -5
  382. package/test/spec/modules/adomikAnalyticsAdapter_spec.js +7 -7
  383. package/test/spec/modules/adxcgAnalyticsAdapter_spec.js +7 -7
  384. package/test/spec/modules/adxpremiumAnalyticsAdapter_spec.js +7 -7
  385. package/test/spec/modules/agmaAnalyticsAdapter_spec.js +14 -14
  386. package/test/spec/modules/appierAnalyticsAdapter_spec.js +1 -1
  387. package/test/spec/modules/asteriobidAnalyticsAdapter_spec.js +2 -2
  388. package/test/spec/modules/atsAnalyticsAdapter_spec.js +8 -8
  389. package/test/spec/modules/automatadAnalyticsAdapter_spec.js +2 -2
  390. package/test/spec/modules/bidViewabilityIO_spec.js +2 -2
  391. package/test/spec/modules/bidViewability_spec.js +4 -4
  392. package/test/spec/modules/bidwatchAnalyticsAdapter_spec.js +7 -6
  393. package/test/spec/modules/byDataAnalyticsAdapter_spec.js +5 -4
  394. package/test/spec/modules/cleanioRtdProvider_spec.js +6 -6
  395. package/test/spec/modules/concertAnalyticsAdapter_spec.js +7 -6
  396. package/test/spec/modules/confiantRtdProvider_spec.js +2 -2
  397. package/test/spec/modules/conversantAnalyticsAdapter_spec.js +61 -61
  398. package/test/spec/modules/criteoBidAdapter_spec.js +111 -5
  399. package/test/spec/modules/currency_spec.js +6 -6
  400. package/test/spec/modules/dailymotionBidAdapter_spec.js +369 -0
  401. package/test/spec/modules/dsaControl_spec.js +4 -4
  402. package/test/spec/modules/eplanningAnalyticsAdapter_spec.js +20 -13
  403. package/test/spec/modules/fintezaAnalyticsAdapter_spec.js +5 -5
  404. package/test/spec/modules/genericAnalyticsAdapter_spec.js +2 -2
  405. package/test/spec/modules/geoedgeRtdProvider_spec.js +37 -37
  406. package/test/spec/modules/greenbidsAnalyticsAdapter_spec.js +15 -2
  407. package/test/spec/modules/greenbidsRtdProvider_spec.js +2 -2
  408. package/test/spec/modules/growthCodeAnalyticsAdapter_spec.js +2 -2
  409. package/test/spec/modules/hadronAnalyticsAdapter_spec.js +3 -3
  410. package/test/spec/modules/id5AnalyticsAdapter_spec.js +5 -5
  411. package/test/spec/modules/id5IdSystem_spec.js +2 -2
  412. package/test/spec/modules/improvedigitalBidAdapter_spec.js +3 -3
  413. package/test/spec/modules/insticatorBidAdapter_spec.js +275 -22
  414. package/test/spec/modules/invisiblyAnalyticsAdapter_spec.js +40 -40
  415. package/test/spec/modules/kargoAnalyticsAdapter_spec.js +3 -3
  416. package/test/spec/modules/konduitAnalyticsAdapter_spec.js +13 -13
  417. package/test/spec/modules/lemmaDigitalBidAdapter_spec.js +1 -1
  418. package/test/spec/modules/liveIntentAnalyticsAdapter_spec.js +3 -3
  419. package/test/spec/modules/livewrappedAnalyticsAdapter_spec.js +15 -20
  420. package/test/spec/modules/magniteAnalyticsAdapter_spec.js +31 -15
  421. package/test/spec/modules/malltvAnalyticsAdapter_spec.js +3 -3
  422. package/test/spec/modules/mediafilterRtdProvider_spec.js +2 -2
  423. package/test/spec/modules/medianetAnalyticsAdapter_spec.js +3 -3
  424. package/test/spec/modules/nobidAnalyticsAdapter_spec.js +23 -23
  425. package/test/spec/modules/ooloAnalyticsAdapter_spec.js +33 -33
  426. package/test/spec/modules/optimonAnalyticsAdapter_spec.js +0 -1
  427. package/test/spec/modules/oxxionAnalyticsAdapter_spec.js +7 -7
  428. package/test/spec/modules/paapi_spec.js +40 -14
  429. package/test/spec/modules/permutiveRtdProvider_spec.js +29 -1
  430. package/test/spec/modules/pgamsspBidAdapter_spec.js +50 -4
  431. package/test/spec/modules/pianoDmpAnalyticsAdapter_spec.js +9 -9
  432. package/test/spec/modules/pirIdSystem_spec.js +77 -0
  433. package/test/spec/modules/prebidServerBidAdapter_spec.js +7 -7
  434. package/test/spec/modules/prebidmanagerAnalyticsAdapter_spec.js +2 -2
  435. package/test/spec/modules/priceFloors_spec.js +6 -5
  436. package/test/spec/modules/pubmaticAnalyticsAdapter_spec.js +12 -14
  437. package/test/spec/modules/pubmaticBidAdapter_spec.js +1 -1
  438. package/test/spec/modules/pubstackAnalyticsAdapter_spec.js +0 -1
  439. package/test/spec/modules/pubwiseAnalyticsAdapter_spec.js +14 -14
  440. package/test/spec/modules/pubxaiAnalyticsAdapter_spec.js +7 -7
  441. package/test/spec/modules/qortexRtdProvider_spec.js +2 -2
  442. package/test/spec/modules/realTimeDataModule_spec.js +9 -9
  443. package/test/spec/modules/relevantAnalyticsAdapter_spec.js +3 -3
  444. package/test/spec/modules/relevantdigitalBidAdapter_spec.js +2 -2
  445. package/test/spec/modules/rivrAnalyticsAdapter_spec.js +4 -4
  446. package/test/spec/modules/roxotAnalyticsAdapter_spec.js +25 -25
  447. package/test/spec/modules/scaleableAnalyticsAdapter_spec.js +5 -5
  448. package/test/spec/modules/seedtagBidAdapter_spec.js +56 -3
  449. package/test/spec/modules/sigmoidAnalyticsAdapter_spec.js +0 -1
  450. package/test/spec/modules/sonobiAnalyticsAdapter_spec.js +8 -7
  451. package/test/spec/modules/sovrnAnalyticsAdapter_spec.js +2 -2
  452. package/test/spec/modules/sovrnBidAdapter_spec.js +5 -5
  453. package/test/spec/modules/staqAnalyticsAdapter_spec.js +7 -7
  454. package/test/spec/modules/terceptAnalyticsAdapter_spec.js +7 -7
  455. package/test/spec/modules/trionBidAdapter_spec.js +1 -1
  456. package/test/spec/modules/ucfunnelAnalyticsAdapter_spec.js +1 -1
  457. package/test/spec/modules/userId_spec.js +4 -4
  458. package/test/spec/modules/videoModule/pbVideo_spec.js +3 -3
  459. package/test/spec/modules/yieldoneAnalyticsAdapter_spec.js +22 -21
  460. package/test/spec/modules/yuktamediaAnalyticsAdapter_spec.js +33 -32
  461. package/test/spec/modules/zeta_global_sspAnalyticsAdapter_spec.js +8 -8
  462. package/test/spec/modules/zeta_global_sspBidAdapter_spec.js +1 -1
  463. package/test/spec/native_spec.js +19 -19
  464. package/test/spec/unit/adRendering_spec.js +14 -14
  465. package/test/spec/unit/adUnits_spec.js +1 -1
  466. package/test/spec/unit/core/adapterManager_spec.js +99 -59
  467. package/test/spec/unit/core/bidderFactory_spec.js +6 -6
  468. package/test/spec/unit/core/targeting_spec.js +47 -47
  469. package/test/spec/unit/pbjs_api_spec.js +81 -81
  470. package/test/spec/unit/secureCreatives_spec.js +27 -27
  471. package/test/spec/utils_spec.js +2 -2
  472. package/src/constants.json +0 -196
@@ -1,6 +1,6 @@
1
1
  import {createIframe, deepAccess, inIframe, insertElement, logError, logWarn, replaceMacros} from './utils.js';
2
2
  import * as events from './events.js';
3
- import CONSTANTS from './constants.json';
3
+ import { AD_RENDER_FAILED_REASON, BID_STATUS, EVENTS, MESSAGES } from './constants.js';
4
4
  import {config} from './config.js';
5
5
  import {executeRenderer, isRendererRequired} from './Renderer.js';
6
6
  import {VIDEO} from './mediaTypes.js';
@@ -9,14 +9,14 @@ import {getCreativeRenderer} from './creativeRenderers.js';
9
9
  import {hook} from './hook.js';
10
10
  import {fireNativeTrackers} from './native.js';
11
11
 
12
- const {AD_RENDER_FAILED, AD_RENDER_SUCCEEDED, STALE_RENDER, BID_WON} = CONSTANTS.EVENTS;
13
- const {EXCEPTION} = CONSTANTS.AD_RENDER_FAILED_REASON;
12
+ const { AD_RENDER_FAILED, AD_RENDER_SUCCEEDED, STALE_RENDER, BID_WON } = EVENTS;
13
+ const { EXCEPTION } = AD_RENDER_FAILED_REASON;
14
14
 
15
15
  /**
16
16
  * Emit the AD_RENDER_FAILED event.
17
17
  *
18
18
  * @param {Object} data
19
- * @param data.reason one of the values in CONSTANTS.AD_RENDER_FAILED_REASON
19
+ * @param data.reason one of the values in AD_RENDER_FAILED_REASON
20
20
  * @param data.message failure description
21
21
  * @param [data.bid] bid response object that failed to render
22
22
  * @param [data.id] adId that failed to render
@@ -52,7 +52,7 @@ export function emitAdRenderSucceeded({ doc, bid, id }) {
52
52
 
53
53
  export function handleCreativeEvent(data, bidResponse) {
54
54
  switch (data.event) {
55
- case CONSTANTS.EVENTS.AD_RENDER_FAILED:
55
+ case EVENTS.AD_RENDER_FAILED:
56
56
  emitAdRenderFail({
57
57
  bid: bidResponse,
58
58
  id: bidResponse.adId,
@@ -60,7 +60,7 @@ export function handleCreativeEvent(data, bidResponse) {
60
60
  message: data.info.message
61
61
  });
62
62
  break;
63
- case CONSTANTS.EVENTS.AD_RENDER_SUCCEEDED:
63
+ case EVENTS.AD_RENDER_SUCCEEDED:
64
64
  emitAdRenderSucceeded({
65
65
  doc: null,
66
66
  bid: bidResponse,
@@ -83,11 +83,11 @@ export function handleNativeMessage(data, bidResponse, {resizeFn, fireTrackers =
83
83
  }
84
84
 
85
85
  const HANDLERS = {
86
- [CONSTANTS.MESSAGES.EVENT]: handleCreativeEvent
86
+ [MESSAGES.EVENT]: handleCreativeEvent
87
87
  }
88
88
 
89
89
  if (FEATURES.NATIVE) {
90
- HANDLERS[CONSTANTS.MESSAGES.NATIVE] = handleNativeMessage;
90
+ HANDLERS[MESSAGES.NATIVE] = handleNativeMessage;
91
91
  }
92
92
 
93
93
  function creativeMessageHandler(deps) {
@@ -115,7 +115,7 @@ export const getRenderingData = hook('sync', function (bidResponse, options) {
115
115
  export const doRender = hook('sync', function({renderFn, resizeFn, bidResponse, options}) {
116
116
  if (FEATURES.VIDEO && bidResponse.mediaType === VIDEO) {
117
117
  emitAdRenderFail({
118
- reason: CONSTANTS.AD_RENDER_FAILED_REASON.PREVENT_WRITING_ON_MAIN_DOCUMENT,
118
+ reason: AD_RENDER_FAILED_REASON.PREVENT_WRITING_ON_MAIN_DOCUMENT,
119
119
  message: 'Cannot render video ad',
120
120
  bid: bidResponse,
121
121
  id: bidResponse.adId
@@ -145,13 +145,13 @@ doRender.before(function (next, args) {
145
145
  export function handleRender({renderFn, resizeFn, adId, options, bidResponse, doc}) {
146
146
  if (bidResponse == null) {
147
147
  emitAdRenderFail({
148
- reason: CONSTANTS.AD_RENDER_FAILED_REASON.CANNOT_FIND_AD,
148
+ reason: AD_RENDER_FAILED_REASON.CANNOT_FIND_AD,
149
149
  message: `Cannot find ad '${adId}'`,
150
150
  id: adId
151
151
  });
152
152
  return;
153
153
  }
154
- if (bidResponse.status === CONSTANTS.BID_STATUS.RENDERED) {
154
+ if (bidResponse.status === BID_STATUS.RENDERED) {
155
155
  logWarn(`Ad id ${adId} has been rendered before`);
156
156
  events.emit(STALE_RENDER, bidResponse);
157
157
  if (deepAccess(config.getConfig('auctionOptions'), 'suppressStaleRender')) {
@@ -162,7 +162,7 @@ export function handleRender({renderFn, resizeFn, adId, options, bidResponse, do
162
162
  doRender({renderFn, resizeFn, bidResponse, options, doc});
163
163
  } catch (e) {
164
164
  emitAdRenderFail({
165
- reason: CONSTANTS.AD_RENDER_FAILED_REASON.EXCEPTION,
165
+ reason: AD_RENDER_FAILED_REASON.EXCEPTION,
166
166
  message: e.message,
167
167
  id: adId,
168
168
  bid: bidResponse
@@ -198,7 +198,7 @@ export function renderAdDirect(doc, adId, options) {
198
198
  .then(
199
199
  () => emitAdRenderSucceeded({doc, bid, adId: bid.adId}),
200
200
  (e) => {
201
- fail(e?.reason || CONSTANTS.AD_RENDER_FAILED_REASON.EXCEPTION, e?.message)
201
+ fail(e?.reason || AD_RENDER_FAILED_REASON.EXCEPTION, e?.message)
202
202
  e?.stack && logError(e);
203
203
  }
204
204
  );
@@ -209,12 +209,12 @@ export function renderAdDirect(doc, adId, options) {
209
209
  }
210
210
  try {
211
211
  if (!adId || !doc) {
212
- fail(CONSTANTS.AD_RENDER_FAILED_REASON.MISSING_DOC_OR_ADID, `missing ${adId ? 'doc' : 'adId'}`);
212
+ fail(AD_RENDER_FAILED_REASON.MISSING_DOC_OR_ADID, `missing ${adId ? 'doc' : 'adId'}`);
213
213
  } else {
214
214
  bid = auctionManager.findBidByAdId(adId);
215
215
 
216
216
  if ((doc === document && !inIframe())) {
217
- fail(CONSTANTS.AD_RENDER_FAILED_REASON.PREVENT_WRITING_ON_MAIN_DOCUMENT, `renderAd was prevented from writing to the main document.`);
217
+ fail(AD_RENDER_FAILED_REASON.PREVENT_WRITING_ON_MAIN_DOCUMENT, `renderAd was prevented from writing to the main document.`);
218
218
  } else {
219
219
  handleRender({renderFn, resizeFn, adId, options: {clickUrl: options?.clickThrough}, bidResponse: bid, doc});
220
220
  }
package/src/adUnits.js CHANGED
@@ -1,6 +1,9 @@
1
1
  import { deepAccess } from './utils.js';
2
2
 
3
3
  let adUnits = {};
4
+ export function reset() {
5
+ adUnits = {}
6
+ }
4
7
 
5
8
  function ensureAdUnit(adunit, bidderCode) {
6
9
  let adUnit = adUnits[adunit] = adUnits[adunit] || { bidders: {} };
@@ -21,7 +24,7 @@ function incrementAdUnitCount(adunit, counter, bidderCode) {
21
24
  * @param {string} adunit id
22
25
  * @returns {number} current adunit count
23
26
  */
24
- function incrementRequestsCounter(adunit) {
27
+ export function incrementRequestsCounter(adunit) {
25
28
  return incrementAdUnitCount(adunit, 'requestsCounter');
26
29
  }
27
30
 
@@ -31,7 +34,7 @@ function incrementRequestsCounter(adunit) {
31
34
  * @param {string} bidderCode code
32
35
  * @returns {number} current adunit bidder requests count
33
36
  */
34
- function incrementBidderRequestsCounter(adunit, bidderCode) {
37
+ export function incrementBidderRequestsCounter(adunit, bidderCode) {
35
38
  return incrementAdUnitCount(adunit, 'requestsCounter', bidderCode);
36
39
  }
37
40
 
@@ -41,7 +44,7 @@ function incrementBidderRequestsCounter(adunit, bidderCode) {
41
44
  * @param {string} bidderCode code
42
45
  * @returns {number} current adunit bidder requests count
43
46
  */
44
- function incrementBidderWinsCounter(adunit, bidderCode) {
47
+ export function incrementBidderWinsCounter(adunit, bidderCode) {
45
48
  return incrementAdUnitCount(adunit, 'winsCounter', bidderCode);
46
49
  }
47
50
 
@@ -50,7 +53,7 @@ function incrementBidderWinsCounter(adunit, bidderCode) {
50
53
  * @param {string} adunit id
51
54
  * @returns {number} current adunit count
52
55
  */
53
- function getRequestsCounter(adunit) {
56
+ export function getRequestsCounter(adunit) {
54
57
  return deepAccess(adUnits, `${adunit}.requestsCounter`) || 0;
55
58
  }
56
59
 
@@ -60,7 +63,7 @@ function getRequestsCounter(adunit) {
60
63
  * @param {string} bidder code
61
64
  * @returns {number} current adunit bidder requests count
62
65
  */
63
- function getBidderRequestsCounter(adunit, bidder) {
66
+ export function getBidderRequestsCounter(adunit, bidder) {
64
67
  return deepAccess(adUnits, `${adunit}.bidders.${bidder}.requestsCounter`) || 0;
65
68
  }
66
69
 
@@ -70,21 +73,6 @@ function getBidderRequestsCounter(adunit, bidder) {
70
73
  * @param {string} bidder code
71
74
  * @returns {number} current adunit bidder requests count
72
75
  */
73
- function getBidderWinsCounter(adunit, bidder) {
76
+ export function getBidderWinsCounter(adunit, bidder) {
74
77
  return deepAccess(adUnits, `${adunit}.bidders.${bidder}.winsCounter`) || 0;
75
78
  }
76
-
77
- /**
78
- * A module which counts how many times an adunit was called
79
- * @module adunitCounter
80
- */
81
- let adunitCounter = {
82
- incrementRequestsCounter,
83
- incrementBidderRequestsCounter,
84
- incrementBidderWinsCounter,
85
- getRequestsCounter,
86
- getBidderRequestsCounter,
87
- getBidderWinsCounter
88
- }
89
-
90
- export { adunitCounter };
@@ -27,11 +27,16 @@ import {ajaxBuilder} from './ajax.js';
27
27
  import {config, RANDOM} from './config.js';
28
28
  import {hook} from './hook.js';
29
29
  import {find, includes} from './polyfill.js';
30
- import {adunitCounter} from './adUnits.js';
30
+ import {
31
+ getBidderRequestsCounter,
32
+ getBidderWinsCounter,
33
+ getRequestsCounter, incrementBidderRequestsCounter,
34
+ incrementBidderWinsCounter, incrementRequestsCounter
35
+ } from './adUnits.js';
31
36
  import {getRefererInfo} from './refererDetection.js';
32
37
  import {GDPR_GVLIDS, gdprDataHandler, gppDataHandler, uspDataHandler, } from './consentHandler.js';
33
38
  import * as events from './events.js';
34
- import CONSTANTS from './constants.json';
39
+ import { EVENTS, S2S } from './constants.js';
35
40
  import {useMetrics} from './utils/perfMetrics.js';
36
41
  import {auctionManager} from './auctionManager.js';
37
42
  import {MODULE_TYPE_ANALYTICS, MODULE_TYPE_BIDDER, MODULE_TYPE_PREBID} from './activities/modules.js';
@@ -112,6 +117,10 @@ function getBids({bidderCode, auctionId, bidderRequestId, adUnits, src, metrics}
112
117
  );
113
118
  }
114
119
 
120
+ if (src === 'client') {
121
+ incrementBidderRequestsCounter(adUnit.code, bidderCode);
122
+ }
123
+
115
124
  bids.push(Object.assign({}, bid, {
116
125
  adUnitCode: adUnit.code,
117
126
  transactionId: adUnit.transactionId,
@@ -122,9 +131,9 @@ function getBids({bidderCode, auctionId, bidderRequestId, adUnits, src, metrics}
122
131
  auctionId,
123
132
  src,
124
133
  metrics,
125
- bidRequestsCount: adunitCounter.getRequestsCounter(adUnit.code),
126
- bidderRequestsCount: adunitCounter.getBidderRequestsCounter(adUnit.code, bid.bidder),
127
- bidderWinsCount: adunitCounter.getBidderWinsCounter(adUnit.code, bid.bidder),
134
+ bidRequestsCount: getRequestsCounter(adUnit.code),
135
+ bidderRequestsCount: getBidderRequestsCounter(adUnit.code, bid.bidder),
136
+ bidderWinsCount: getBidderWinsCounter(adUnit.code, bid.bidder),
128
137
  }));
129
138
  return bids;
130
139
  }, [])
@@ -242,7 +251,7 @@ adapterManager.makeBidRequests = hook('sync', function (adUnits, auctionStart, a
242
251
  * emit and pass adunits for external modification
243
252
  * @see {@link https://github.com/prebid/Prebid.js/issues/4149|Issue}
244
253
  */
245
- events.emit(CONSTANTS.EVENTS.BEFORE_REQUEST_BIDS, adUnits);
254
+ events.emit(EVENTS.BEFORE_REQUEST_BIDS, adUnits);
246
255
  if (FEATURES.NATIVE) {
247
256
  decorateAdUnitsWithNativeParams(adUnits);
248
257
  }
@@ -253,6 +262,7 @@ adapterManager.makeBidRequests = hook('sync', function (adUnits, auctionStart, a
253
262
  }
254
263
  // filter out bidders that cannot participate in the auction
255
264
  au.bids = au.bids.filter((bid) => !bid.bidder || dep.isAllowed(ACTIVITY_FETCH_BIDS, activityParams(MODULE_TYPE_BIDDER, bid.bidder)))
265
+ incrementRequestsCounter(au.code);
256
266
  });
257
267
 
258
268
  adUnits = setupAdUnitMediaTypes(adUnits, labels);
@@ -300,10 +310,10 @@ adapterManager.makeBidRequests = hook('sync', function (adUnits, auctionStart, a
300
310
  auctionId,
301
311
  bidderRequestId,
302
312
  uniquePbsTid,
303
- bids: hookedGetBids({bidderCode, auctionId, bidderRequestId, 'adUnits': deepClone(adUnitsS2SCopy), src: CONSTANTS.S2S.SRC, metrics}),
313
+ bids: hookedGetBids({ bidderCode, auctionId, bidderRequestId, 'adUnits': deepClone(adUnitsS2SCopy), src: S2S.SRC, metrics }),
304
314
  auctionStart: auctionStart,
305
315
  timeout: s2sConfig.timeout,
306
- src: CONSTANTS.S2S.SRC,
316
+ src: S2S.SRC,
307
317
  refererInfo,
308
318
  metrics,
309
319
  }, s2sParams);
@@ -375,7 +385,7 @@ adapterManager.callBids = (adUnits, bidRequests, addBidResponse, doneCb, request
375
385
  }
376
386
 
377
387
  let [clientBidderRequests, serverBidderRequests] = bidRequests.reduce((partitions, bidRequest) => {
378
- partitions[Number(typeof bidRequest.src !== 'undefined' && bidRequest.src === CONSTANTS.S2S.SRC)].push(bidRequest);
388
+ partitions[Number(typeof bidRequest.src !== 'undefined' && bidRequest.src === S2S.SRC)].push(bidRequest);
379
389
  return partitions;
380
390
  }, [[], []]);
381
391
 
@@ -428,7 +438,7 @@ adapterManager.callBids = (adUnits, bidRequests, addBidResponse, doneCb, request
428
438
  // fire BID_REQUESTED event for each s2s bidRequest
429
439
  uniqueServerRequests.forEach(bidRequest => {
430
440
  // add the new sourceTid
431
- events.emit(CONSTANTS.EVENTS.BID_REQUESTED, {...bidRequest, tid: bidRequest.auctionId});
441
+ events.emit(EVENTS.BID_REQUESTED, { ...bidRequest, tid: bidRequest.auctionId });
432
442
  });
433
443
 
434
444
  // make bid requests
@@ -454,7 +464,7 @@ adapterManager.callBids = (adUnits, bidRequests, addBidResponse, doneCb, request
454
464
  const adapter = _bidderRegistry[bidderRequest.bidderCode];
455
465
  config.runWithBidder(bidderRequest.bidderCode, () => {
456
466
  logMessage(`CALLING BIDDER`);
457
- events.emit(CONSTANTS.EVENTS.BID_REQUESTED, bidderRequest);
467
+ events.emit(EVENTS.BID_REQUESTED, bidderRequest);
458
468
  });
459
469
  let ajax = ajaxBuilder(requestBidsTimeout, requestCallbacks ? {
460
470
  request: requestCallbacks.request.bind(null, bidderRequest.bidderCode),
@@ -630,7 +640,7 @@ function invokeBidderMethod(bidder, method, spec, fn, ...params) {
630
640
  }
631
641
 
632
642
  function tryCallBidderMethod(bidder, method, param) {
633
- if (param?.src !== CONSTANTS.S2S.SRC) {
643
+ if (param?.src !== S2S.SRC) {
634
644
  const target = getBidderMethod(bidder, method);
635
645
  if (target != null) {
636
646
  invokeBidderMethod(bidder, method, ...target, param);
@@ -655,7 +665,7 @@ adapterManager.callTimedOutBidders = function(adUnits, timedOutBidders, cbTimeou
655
665
  adapterManager.callBidWonBidder = function(bidder, bid, adUnits) {
656
666
  // Adding user configured params to bidWon event data
657
667
  bid.params = getUserConfiguredParams(adUnits, bid.adUnitCode, bid.bidder);
658
- adunitCounter.incrementBidderWinsCounter(bid.adUnitCode, bid.bidder);
668
+ incrementBidderWinsCounter(bid.adUnitCode, bid.bidder);
659
669
  tryCallBidderMethod(bidder, 'onBidWon', bid);
660
670
  };
661
671
 
@@ -5,7 +5,7 @@ import {createBid} from '../bidfactory.js';
5
5
  import {userSync} from '../userSync.js';
6
6
  import {nativeBidIsValid} from '../native.js';
7
7
  import {isValidVideoBid} from '../video.js';
8
- import CONSTANTS from '../constants.json';
8
+ import { EVENTS, STATUS, REJECTION_REASON } from '../constants.js';
9
9
  import * as events from '../events.js';
10
10
  import {includes} from '../polyfill.js';
11
11
  import {
@@ -256,7 +256,7 @@ export function newBidder(spec) {
256
256
  if (metrics.measureTime('addBidResponse.validate', () => isValid(adUnitCode, bid))) {
257
257
  addBidResponse(adUnitCode, bid);
258
258
  } else {
259
- addBidResponse.reject(adUnitCode, bid, CONSTANTS.REJECTION_REASON.INVALID)
259
+ addBidResponse.reject(adUnitCode, bid, REJECTION_REASON.INVALID)
260
260
  }
261
261
  }
262
262
 
@@ -266,7 +266,7 @@ export function newBidder(spec) {
266
266
  function afterAllResponses() {
267
267
  done();
268
268
  config.runWithBidder(spec.code, () => {
269
- events.emit(CONSTANTS.EVENTS.BIDDER_DONE, bidderRequest);
269
+ events.emit(EVENTS.BIDDER_DONE, bidderRequest);
270
270
  registerSyncs(responses, bidderRequest.gdprConsent, bidderRequest.uspConsent, bidderRequest.gppConsent);
271
271
  });
272
272
  }
@@ -288,7 +288,7 @@ export function newBidder(spec) {
288
288
  });
289
289
 
290
290
  processBidderRequests(spec, validBidRequests.map(tidGuard.bidRequest), tidGuard.bidderRequest(bidderRequest), ajax, configEnabledCallback, {
291
- onRequest: requestObject => events.emit(CONSTANTS.EVENTS.BEFORE_BIDDER_HTTP, bidderRequest, requestObject),
291
+ onRequest: requestObject => events.emit(EVENTS.BEFORE_BIDDER_HTTP, bidderRequest, requestObject),
292
292
  onResponse: (resp) => {
293
293
  onTimelyResponse(spec.code);
294
294
  responses.push(resp)
@@ -307,7 +307,7 @@ export function newBidder(spec) {
307
307
  onTimelyResponse(spec.code);
308
308
  }
309
309
  adapterManager.callBidderError(spec.code, error, bidderRequest)
310
- events.emit(CONSTANTS.EVENTS.BIDDER_ERROR, { error, bidderRequest });
310
+ events.emit(EVENTS.BIDDER_ERROR, { error, bidderRequest });
311
311
  logError(`Server call for ${spec.code} failed: ${errorMessage} ${error.status}. Continuing without bids.`);
312
312
  },
313
313
  onBid: (bid) => {
@@ -316,18 +316,18 @@ export function newBidder(spec) {
316
316
  bid.adapterCode = bidRequest.bidder;
317
317
  if (isInvalidAlternateBidder(bid.bidderCode, bidRequest.bidder)) {
318
318
  logWarn(`${bid.bidderCode} is not a registered partner or known bidder of ${bidRequest.bidder}, hence continuing without bid. If you wish to support this bidder, please mark allowAlternateBidderCodes as true in bidderSettings.`);
319
- addBidResponse.reject(bidRequest.adUnitCode, bid, CONSTANTS.REJECTION_REASON.BIDDER_DISALLOWED)
319
+ addBidResponse.reject(bidRequest.adUnitCode, bid, REJECTION_REASON.BIDDER_DISALLOWED)
320
320
  return;
321
321
  }
322
322
  // creating a copy of original values as cpm and currency are modified later
323
323
  bid.originalCpm = bid.cpm;
324
324
  bid.originalCurrency = bid.currency;
325
325
  bid.meta = bid.meta || Object.assign({}, bid[bidRequest.bidder]);
326
- const prebidBid = Object.assign(createBid(CONSTANTS.STATUS.GOOD, bidRequest), bid, pick(bidRequest, TIDS));
326
+ const prebidBid = Object.assign(createBid(STATUS.GOOD, bidRequest), bid, pick(bidRequest, TIDS));
327
327
  addBidWithCode(bidRequest.adUnitCode, prebidBid);
328
328
  } else {
329
329
  logWarn(`Bidder ${spec.code} made bid for unknown request ID: ${bid.requestId}. Ignoring.`);
330
- addBidResponse.reject(null, bid, CONSTANTS.REJECTION_REASON.INVALID_REQUEST_ID);
330
+ addBidResponse.reject(null, bid, REJECTION_REASON.INVALID_REQUEST_ID);
331
331
  }
332
332
  },
333
333
  onCompletion: afterAllResponses,
package/src/auction.js CHANGED
@@ -94,7 +94,7 @@ import {auctionManager} from './auctionManager.js';
94
94
  import {bidderSettings} from './bidderSettings.js';
95
95
  import * as events from './events.js';
96
96
  import adapterManager from './adapterManager.js';
97
- import CONSTANTS from './constants.json';
97
+ import { EVENTS, GRANULARITY_OPTIONS, JSON_MAPPING, S2S, TARGETING_KEYS } from './constants.js';
98
98
  import {defer, GreedyPromise} from './utils/promise.js';
99
99
  import {useMetrics} from './utils/perfMetrics.js';
100
100
  import {adjustCpm} from './utils/cpm.js';
@@ -107,7 +107,7 @@ export const AUCTION_IN_PROGRESS = 'inProgress';
107
107
  export const AUCTION_COMPLETED = 'completed';
108
108
 
109
109
  // register event for bid adjustment
110
- events.on(CONSTANTS.EVENTS.BID_ADJUSTMENT, function (bid) {
110
+ events.on(EVENTS.BID_ADJUSTMENT, function (bid) {
111
111
  adjustBids(bid);
112
112
  });
113
113
 
@@ -196,7 +196,7 @@ export function newAuction({adUnits, adUnitCodes, callback, cbTimeout, labels, a
196
196
  if (!timedOut) {
197
197
  clearTimeout(_timeoutTimer);
198
198
  } else {
199
- events.emit(CONSTANTS.EVENTS.AUCTION_TIMEOUT, getProperties());
199
+ events.emit(EVENTS.AUCTION_TIMEOUT, getProperties());
200
200
  }
201
201
  if (_auctionEnd === undefined) {
202
202
  let timedOutRequests = [];
@@ -204,7 +204,7 @@ export function newAuction({adUnits, adUnitCodes, callback, cbTimeout, labels, a
204
204
  logMessage(`Auction ${_auctionId} timedOut`);
205
205
  timedOutRequests = _bidderRequests.filter(rq => !_timelyRequests.has(rq.bidderRequestId)).flatMap(br => br.bids)
206
206
  if (timedOutRequests.length) {
207
- events.emit(CONSTANTS.EVENTS.BID_TIMEOUT, timedOutRequests);
207
+ events.emit(EVENTS.BID_TIMEOUT, timedOutRequests);
208
208
  }
209
209
  }
210
210
 
@@ -215,7 +215,7 @@ export function newAuction({adUnits, adUnitCodes, callback, cbTimeout, labels, a
215
215
  metrics.timeBetween('callBids', 'auctionEnd', 'requestBids.callBids');
216
216
  done.resolve();
217
217
 
218
- events.emit(CONSTANTS.EVENTS.AUCTION_END, getProperties());
218
+ events.emit(EVENTS.AUCTION_END, getProperties());
219
219
  bidsBackCallback(_adUnits, function () {
220
220
  try {
221
221
  if (_callback != null) {
@@ -293,7 +293,7 @@ export function newAuction({adUnits, adUnitCodes, callback, cbTimeout, labels, a
293
293
 
294
294
  _auctionStatus = AUCTION_IN_PROGRESS;
295
295
 
296
- events.emit(CONSTANTS.EVENTS.AUCTION_INIT, getProperties());
296
+ events.emit(EVENTS.AUCTION_INIT, getProperties());
297
297
 
298
298
  let callbacks = auctionCallbacks(auctionDone, this);
299
299
  adapterManager.callBids(_adUnits, bidRequests, callbacks.addBidResponse, callbacks.adapterDone, {
@@ -335,7 +335,7 @@ export function newAuction({adUnits, adUnitCodes, callback, cbTimeout, labels, a
335
335
 
336
336
  call.bidRequests.some(bidRequest => {
337
337
  let requests = 1;
338
- let source = (typeof bidRequest.src !== 'undefined' && bidRequest.src === CONSTANTS.S2S.SRC) ? 's2s'
338
+ let source = (typeof bidRequest.src !== 'undefined' && bidRequest.src === S2S.SRC) ? 's2s'
339
339
  : bidRequest.bidderCode;
340
340
  // if we have no previous info on this source just let them through
341
341
  if (sourceInfo[source]) {
@@ -381,7 +381,7 @@ export function newAuction({adUnits, adUnitCodes, callback, cbTimeout, labels, a
381
381
  adapterManager.callSetTargetingBidder(bid.adapterCode || bid.bidder, bid);
382
382
  }
383
383
 
384
- events.on(CONSTANTS.EVENTS.SEAT_NON_BID, (event) => {
384
+ events.on(EVENTS.SEAT_NON_BID, (event) => {
385
385
  if (event.auctionId === _auctionId) {
386
386
  addNonBids(event.seatnonbid)
387
387
  }
@@ -465,7 +465,7 @@ export function auctionCallbacks(auctionDone, auctionInstance, {index = auctionM
465
465
  function acceptBidResponse(adUnitCode, bid) {
466
466
  handleBidResponse(adUnitCode, bid, (done) => {
467
467
  let bidResponse = getPreparedBidForAuction(bid);
468
- events.emit(CONSTANTS.EVENTS.BID_ACCEPTED, bidResponse);
468
+ events.emit(EVENTS.BID_ACCEPTED, bidResponse);
469
469
  if (FEATURES.VIDEO && bidResponse.mediaType === VIDEO) {
470
470
  tryAddVideoBid(auctionInstance, bidResponse, done);
471
471
  } else {
@@ -482,7 +482,7 @@ export function auctionCallbacks(auctionDone, auctionInstance, {index = auctionM
482
482
  return handleBidResponse(adUnitCode, bid, (done) => {
483
483
  bid.rejectionReason = reason;
484
484
  logWarn(`Bid from ${bid.bidder || 'unknown bidder'} was rejected: ${reason}`, bid)
485
- events.emit(CONSTANTS.EVENTS.BID_REJECTED, bid);
485
+ events.emit(EVENTS.BID_REJECTED, bid);
486
486
  auctionInstance.addBidRejected(bid);
487
487
  done();
488
488
  })
@@ -507,7 +507,7 @@ export function auctionCallbacks(auctionDone, auctionInstance, {index = auctionM
507
507
  bidderRequest.bids.forEach(bid => {
508
508
  if (!bidResponseMap[bid.bidId]) {
509
509
  auctionInstance.addNoBid(bid);
510
- events.emit(CONSTANTS.EVENTS.NO_BID, bid);
510
+ events.emit(EVENTS.NO_BID, bid);
511
511
  }
512
512
  });
513
513
 
@@ -546,7 +546,7 @@ export function addBidToAuction(auctionInstance, bidResponse) {
546
546
 
547
547
  useMetrics(bidResponse.metrics).timeSince('addBidResponse', 'addBidResponse.total');
548
548
  auctionInstance.addBidReceived(bidResponse);
549
- events.emit(CONSTANTS.EVENTS.BID_RESPONSE, bidResponse);
549
+ events.emit(EVENTS.BID_RESPONSE, bidResponse);
550
550
  }
551
551
 
552
552
  // Video bids may fail if the cache is down, or there's trouble on the network.
@@ -672,7 +672,7 @@ function getPreparedBidForAuction(bid, {index = auctionManager.index} = {}) {
672
672
  //
673
673
  // CAREFUL: Publishers rely on certain bid properties to be available (like cpm),
674
674
  // but others to not be set yet (like priceStrings). See #1372 and #1389.
675
- events.emit(CONSTANTS.EVENTS.BID_ADJUSTMENT, bid);
675
+ events.emit(EVENTS.BID_ADJUSTMENT, bid);
676
676
 
677
677
  // a publisher-defined renderer can be used to render bids
678
678
  const bidRenderer = index.getBidRequest(bid)?.renderer || index.getAdUnit(bid).renderer;
@@ -767,17 +767,17 @@ export const getPriceGranularity = (bid, {index = auctionManager.index} = {}) =>
767
767
  export const getPriceByGranularity = (granularity) => {
768
768
  return (bid) => {
769
769
  const bidGranularity = granularity || getPriceGranularity(bid);
770
- if (bidGranularity === CONSTANTS.GRANULARITY_OPTIONS.AUTO) {
770
+ if (bidGranularity === GRANULARITY_OPTIONS.AUTO) {
771
771
  return bid.pbAg;
772
- } else if (bidGranularity === CONSTANTS.GRANULARITY_OPTIONS.DENSE) {
772
+ } else if (bidGranularity === GRANULARITY_OPTIONS.DENSE) {
773
773
  return bid.pbDg;
774
- } else if (bidGranularity === CONSTANTS.GRANULARITY_OPTIONS.LOW) {
774
+ } else if (bidGranularity === GRANULARITY_OPTIONS.LOW) {
775
775
  return bid.pbLg;
776
- } else if (bidGranularity === CONSTANTS.GRANULARITY_OPTIONS.MEDIUM) {
776
+ } else if (bidGranularity === GRANULARITY_OPTIONS.MEDIUM) {
777
777
  return bid.pbMg;
778
- } else if (bidGranularity === CONSTANTS.GRANULARITY_OPTIONS.HIGH) {
778
+ } else if (bidGranularity === GRANULARITY_OPTIONS.HIGH) {
779
779
  return bid.pbHg;
780
- } else if (bidGranularity === CONSTANTS.GRANULARITY_OPTIONS.CUSTOM) {
780
+ } else if (bidGranularity === GRANULARITY_OPTIONS.CUSTOM) {
781
781
  return bid.pbCg;
782
782
  }
783
783
  }
@@ -838,7 +838,6 @@ function createKeyVal(key, value) {
838
838
  }
839
839
 
840
840
  function defaultAdserverTargeting() {
841
- const TARGETING_KEYS = CONSTANTS.TARGETING_KEYS;
842
841
  return [
843
842
  createKeyVal(TARGETING_KEYS.BIDDER, 'bidderCode'),
844
843
  createKeyVal(TARGETING_KEYS.AD_ID, 'adId'),
@@ -860,15 +859,14 @@ function defaultAdserverTargeting() {
860
859
  * @returns {*}
861
860
  */
862
861
  export function getStandardBidderSettings(mediaType, bidderCode) {
863
- const TARGETING_KEYS = CONSTANTS.TARGETING_KEYS;
864
862
  const standardSettings = Object.assign({}, bidderSettings.settingsFor(null));
865
- if (!standardSettings[CONSTANTS.JSON_MAPPING.ADSERVER_TARGETING]) {
866
- standardSettings[CONSTANTS.JSON_MAPPING.ADSERVER_TARGETING] = defaultAdserverTargeting();
863
+ if (!standardSettings[JSON_MAPPING.ADSERVER_TARGETING]) {
864
+ standardSettings[JSON_MAPPING.ADSERVER_TARGETING] = defaultAdserverTargeting();
867
865
  }
868
866
 
869
867
  if (FEATURES.VIDEO && mediaType === 'video') {
870
- const adserverTargeting = standardSettings[CONSTANTS.JSON_MAPPING.ADSERVER_TARGETING].slice();
871
- standardSettings[CONSTANTS.JSON_MAPPING.ADSERVER_TARGETING] = adserverTargeting;
868
+ const adserverTargeting = standardSettings[JSON_MAPPING.ADSERVER_TARGETING].slice();
869
+ standardSettings[JSON_MAPPING.ADSERVER_TARGETING] = adserverTargeting;
872
870
 
873
871
  // Adding hb_uuid + hb_cache_id
874
872
  [TARGETING_KEYS.UUID, TARGETING_KEYS.CACHE_ID].forEach(targetingKeyVal => {
@@ -906,7 +904,7 @@ export function getKeyValueTargetingPairs(bidderCode, custBidObj, {index = aucti
906
904
  setKeys(keyValues, standardSettings, custBidObj, bidRequest);
907
905
 
908
906
  // 2) set keys from specific bidder setting override if they exist
909
- if (bidderCode && bidderSettings.getOwn(bidderCode, CONSTANTS.JSON_MAPPING.ADSERVER_TARGETING)) {
907
+ if (bidderCode && bidderSettings.getOwn(bidderCode, JSON_MAPPING.ADSERVER_TARGETING)) {
910
908
  setKeys(keyValues, bidderSettings.ownSettingsFor(bidderCode), custBidObj, bidRequest);
911
909
  custBidObj.sendStandardTargeting = bidderSettings.get(bidderCode, 'sendStandardTargeting');
912
910
  }
@@ -920,7 +918,7 @@ export function getKeyValueTargetingPairs(bidderCode, custBidObj, {index = aucti
920
918
  }
921
919
 
922
920
  function setKeys(keyValues, bidderSettings, custBidObj, bidReq) {
923
- var targeting = bidderSettings[CONSTANTS.JSON_MAPPING.ADSERVER_TARGETING];
921
+ var targeting = bidderSettings[JSON_MAPPING.ADSERVER_TARGETING];
924
922
  custBidObj.size = custBidObj.getSize();
925
923
 
926
924
  (targeting || []).forEach(function (kvPair) {
@@ -941,7 +939,7 @@ function setKeys(keyValues, bidderSettings, custBidObj, bidReq) {
941
939
 
942
940
  if (
943
941
  ((typeof bidderSettings.suppressEmptyKeys !== 'undefined' && bidderSettings.suppressEmptyKeys === true) ||
944
- key === CONSTANTS.TARGETING_KEYS.DEAL || key === CONSTANTS.TARGETING_KEYS.ACAT || key === CONSTANTS.TARGETING_KEYS.DSP || key === CONSTANTS.TARGETING_KEYS.CRID) && // hb_deal & hb_acat are suppressed automatically if not set
942
+ key === TARGETING_KEYS.DEAL || key === TARGETING_KEYS.ACAT || key === TARGETING_KEYS.DSP || key === TARGETING_KEYS.CRID) && // hb_deal & hb_acat are suppressed automatically if not set
945
943
  (
946
944
  isEmptyStr(value) ||
947
945
  value === null ||
@@ -23,7 +23,7 @@
23
23
  import { uniques, logWarn } from './utils.js';
24
24
  import { newAuction, getStandardBidderSettings, AUCTION_COMPLETED } from './auction.js';
25
25
  import {AuctionIndex} from './auctionIndex.js';
26
- import CONSTANTS from './constants.json';
26
+ import { BID_STATUS, JSON_MAPPING } from './constants.js';
27
27
  import {useMetrics} from './utils/perfMetrics.js';
28
28
  import {ttlCollection} from './utils/ttlCollection.js';
29
29
  import {getTTL, onTTLBufferChange} from './bidTTL.js';
@@ -77,7 +77,7 @@ export function newAuctionManager() {
77
77
  metrics.timeBetween('requestBids', 'bidWon', 'render.e2e');
78
78
  const auction = getAuction(bid.auctionId);
79
79
  if (auction) {
80
- bid.status = CONSTANTS.BID_STATUS.RENDERED;
80
+ bid.status = BID_STATUS.RENDERED;
81
81
  auction.addWinningBid(bid);
82
82
  } else {
83
83
  logWarn(`Auction not found when adding winning bid`);
@@ -134,14 +134,14 @@ export function newAuctionManager() {
134
134
  };
135
135
 
136
136
  auctionManager.getStandardBidderAdServerTargeting = function() {
137
- return getStandardBidderSettings()[CONSTANTS.JSON_MAPPING.ADSERVER_TARGETING];
137
+ return getStandardBidderSettings()[JSON_MAPPING.ADSERVER_TARGETING];
138
138
  };
139
139
 
140
140
  auctionManager.setStatusForBids = function(adId, status) {
141
141
  let bid = auctionManager.findBidByAdId(adId);
142
142
  if (bid) bid.status = status;
143
143
 
144
- if (bid && status === CONSTANTS.BID_STATUS.BID_TARGETING_SET) {
144
+ if (bid && status === BID_STATUS.BID_TARGETING_SET) {
145
145
  const auction = getAuction(bid.auctionId);
146
146
  if (auction) auction.setBidTargeting(bid);
147
147
  }
@@ -1,6 +1,6 @@
1
1
  import {deepAccess, mergeDeep} from './utils.js';
2
2
  import {getGlobal} from './prebidGlobal.js';
3
- import CONSTANTS from './constants.json';
3
+ import { JSON_MAPPING } from './constants.js';
4
4
 
5
5
  export class ScopedSettings {
6
6
  constructor(getSettings, defaultScope) {
@@ -65,4 +65,4 @@ export class ScopedSettings {
65
65
  }
66
66
  }
67
67
 
68
- export const bidderSettings = new ScopedSettings(() => getGlobal().bidderSettings || {}, CONSTANTS.JSON_MAPPING.BD_SETTING_STANDARD);
68
+ export const bidderSettings = new ScopedSettings(() => getGlobal().bidderSettings || {}, JSON_MAPPING.BD_SETTING_STANDARD);
package/src/config.js CHANGED
@@ -27,9 +27,9 @@ import {
27
27
  logWarn,
28
28
  mergeDeep
29
29
  } from './utils.js';
30
- import CONSTANTS from './constants.json';
30
+ import {DEBUG_MODE} from './constants.js';
31
31
 
32
- const DEFAULT_DEBUG = getParameterByName(CONSTANTS.DEBUG_MODE).toUpperCase() === 'TRUE';
32
+ const DEFAULT_DEBUG = getParameterByName(DEBUG_MODE).toUpperCase() === 'TRUE';
33
33
  const DEFAULT_BIDDER_TIMEOUT = 3000;
34
34
  const DEFAULT_ENABLE_SEND_ALL_BIDS = true;
35
35
  const DEFAULT_DISABLE_AJAX_TIMEOUT = false;