prebid.js 7.50.0 → 7.52.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 (240) hide show
  1. package/dist/33acrossBidAdapter.js +1 -1
  2. package/dist/33acrossIdSystem.js +1 -1
  3. package/dist/adagioBidAdapter.js +1 -1
  4. package/dist/adbookpspBidAdapter.js +1 -1
  5. package/dist/adgenerationBidAdapter.js +1 -1
  6. package/dist/adhashBidAdapter.js +1 -1
  7. package/dist/adkernelBidAdapter.js +1 -1
  8. package/dist/admanBidAdapter.js +1 -1
  9. package/dist/adnuntiusBidAdapter.js +1 -1
  10. package/dist/adqueryBidAdapter.js +1 -1
  11. package/dist/adrelevantisBidAdapter.js +1 -1
  12. package/dist/adrinoBidAdapter.js +1 -1
  13. package/dist/adriverIdSystem.js +1 -1
  14. package/dist/adtelligentBidAdapter.js +1 -1
  15. package/dist/adtrgtmeBidAdapter.js +1 -1
  16. package/dist/adxcgBidAdapter.js +1 -1
  17. package/dist/adyoulikeBidAdapter.js +1 -1
  18. package/dist/ajaBidAdapter.js +1 -1
  19. package/dist/allowActivities.js +1 -0
  20. package/dist/amxBidAdapter.js +1 -1
  21. package/dist/amxIdSystem.js +1 -1
  22. package/dist/appierAnalyticsAdapter.js +1 -1
  23. package/dist/appnexusBidAdapter.js +1 -1
  24. package/dist/asoBidAdapter.js +1 -1
  25. package/dist/axonixBidAdapter.js +1 -1
  26. package/dist/bidglassBidAdapter.js +1 -1
  27. package/dist/big-richmediaBidAdapter.js +1 -1
  28. package/dist/bridgewellBidAdapter.js +1 -1
  29. package/dist/brightMountainMediaBidAdapter.js +1 -1
  30. package/dist/carodaBidAdapter.js +1 -1
  31. package/dist/chtnwBidAdapter.js +1 -1
  32. package/dist/cleanioRtdProvider.js +1 -1
  33. package/dist/concertBidAdapter.js +1 -1
  34. package/dist/connectIdSystem.js +1 -1
  35. package/dist/connectadBidAdapter.js +1 -1
  36. package/dist/consumableBidAdapter.js +1 -1
  37. package/dist/conversantAnalyticsAdapter.js +1 -1
  38. package/dist/conversantBidAdapter.js +1 -1
  39. package/dist/craftBidAdapter.js +1 -1
  40. package/dist/criteoBidAdapter.js +1 -1
  41. package/dist/cwireBidAdapter.js +1 -1
  42. package/dist/dependencies.json +6 -0
  43. package/dist/dspxBidAdapter.js +1 -1
  44. package/dist/eplanningBidAdapter.js +1 -1
  45. package/dist/feedadBidAdapter.js +1 -1
  46. package/dist/finativeBidAdapter.js +1 -1
  47. package/dist/freewheel-sspBidAdapter.js +1 -1
  48. package/dist/gdprEnforcement.js +1 -1
  49. package/dist/glimpseBidAdapter.js +1 -1
  50. package/dist/gmosspBidAdapter.js +1 -1
  51. package/dist/goldbachBidAdapter.js +1 -1
  52. package/dist/greenbidsAnalyticsAdapter.js +1 -1
  53. package/dist/greenbidsRtdProvider.js +1 -1
  54. package/dist/gridBidAdapter.js +1 -1
  55. package/dist/growthCodeRtdProvider.js +1 -0
  56. package/dist/gumgumBidAdapter.js +1 -1
  57. package/dist/h12mediaBidAdapter.js +1 -1
  58. package/dist/id5IdSystem.js +1 -1
  59. package/dist/improvedigitalBidAdapter.js +1 -1
  60. package/dist/inmarBidAdapter.js +1 -1
  61. package/dist/insticatorBidAdapter.js +1 -1
  62. package/dist/ixBidAdapter.js +1 -1
  63. package/dist/justpremiumBidAdapter.js +1 -1
  64. package/dist/kargoBidAdapter.js +1 -1
  65. package/dist/konduitAnalyticsAdapter.js +1 -1
  66. package/dist/kueezBidAdapter.js +1 -1
  67. package/dist/kueezRtbBidAdapter.js +1 -1
  68. package/dist/kulturemediaBidAdapter.js +1 -1
  69. package/dist/lassoBidAdapter.js +1 -1
  70. package/dist/lifestreetBidAdapter.js +1 -1
  71. package/dist/liveyieldAnalyticsAdapter.js +1 -1
  72. package/dist/logicadBidAdapter.js +1 -1
  73. package/dist/loglyliftBidAdapter.js +1 -1
  74. package/dist/magniteAnalyticsAdapter.js +1 -1
  75. package/dist/malltvAnalyticsAdapter.js +1 -1
  76. package/dist/marsmediaBidAdapter.js +1 -1
  77. package/dist/mediafuseBidAdapter.js +1 -1
  78. package/dist/mediasquareBidAdapter.js +1 -1
  79. package/dist/mgidBidAdapter.js +1 -1
  80. package/dist/minutemediaBidAdapter.js +1 -1
  81. package/dist/minutemediaplusBidAdapter.js +1 -1
  82. package/dist/nexx360BidAdapter.js +1 -1
  83. package/dist/not-for-prod/prebid.js +144 -140
  84. package/dist/objectGuard.js +1 -0
  85. package/dist/oguryBidAdapter.js +1 -1
  86. package/dist/onetagBidAdapter.js +1 -1
  87. package/dist/ooloAnalyticsAdapter.js +1 -1
  88. package/dist/optidigitalBidAdapter.js +1 -1
  89. package/dist/outbrainBidAdapter.js +1 -1
  90. package/dist/oxxionAnalyticsAdapter.js +1 -0
  91. package/dist/pairIdSystem.js +1 -1
  92. package/dist/parrableIdSystem.js +1 -1
  93. package/dist/pixfutureBidAdapter.js +1 -1
  94. package/dist/prebid-core.js +1 -1
  95. package/dist/prebidServerBidAdapter.js +1 -1
  96. package/dist/publinkIdSystem.js +1 -1
  97. package/dist/pubmaticBidAdapter.js +1 -1
  98. package/dist/pubwiseAnalyticsAdapter.js +1 -1
  99. package/dist/pxyzBidAdapter.js +1 -1
  100. package/dist/quantcastBidAdapter.js +1 -1
  101. package/dist/readpeakBidAdapter.js +1 -1
  102. package/dist/relaidoBidAdapter.js +1 -1
  103. package/dist/retailspotBidAdapter.js +1 -1
  104. package/dist/rhythmoneBidAdapter.js +1 -1
  105. package/dist/riseBidAdapter.js +1 -1
  106. package/dist/rtdModule.js +1 -1
  107. package/dist/rubiconAnalyticsAdapter.js +1 -1
  108. package/dist/rubiconBidAdapter.js +1 -1
  109. package/dist/seedingAllianceBidAdapter.js +1 -1
  110. package/dist/seedtagBidAdapter.js +1 -1
  111. package/dist/sharethroughAnalyticsAdapter.js +1 -1
  112. package/dist/sharethroughBidAdapter.js +1 -1
  113. package/dist/shinezBidAdapter.js +1 -1
  114. package/dist/smaatoBidAdapter.js +1 -1
  115. package/dist/smartadserverBidAdapter.js +1 -1
  116. package/dist/smartxBidAdapter.js +1 -1
  117. package/dist/smilewantedBidAdapter.js +1 -1
  118. package/dist/sonobiBidAdapter.js +1 -1
  119. package/dist/sovrnAnalyticsAdapter.js +1 -1
  120. package/dist/sovrnBidAdapter.js +1 -1
  121. package/dist/sspBCBidAdapter.js +1 -1
  122. package/dist/stvBidAdapter.js +1 -1
  123. package/dist/sublimeBidAdapter.js +1 -1
  124. package/dist/synacormediaBidAdapter.js +1 -1
  125. package/dist/targetVideoBidAdapter.js +1 -1
  126. package/dist/teadsBidAdapter.js +1 -1
  127. package/dist/trionBidAdapter.js +1 -1
  128. package/dist/tripleliftBidAdapter.js +1 -1
  129. package/dist/ttdBidAdapter.js +1 -1
  130. package/dist/ucfunnelAnalyticsAdapter.js +1 -1
  131. package/dist/uid2IdSystem.js +1 -1
  132. package/dist/underdogmediaBidAdapter.js +1 -1
  133. package/dist/undertoneBidAdapter.js +1 -1
  134. package/dist/userId.js +1 -1
  135. package/dist/vidazooBidAdapter.js +1 -1
  136. package/dist/videobyteBidAdapter.js +1 -1
  137. package/dist/visxBidAdapter.js +1 -1
  138. package/dist/vuukleBidAdapter.js +1 -1
  139. package/dist/widespaceBidAdapter.js +1 -1
  140. package/dist/winrBidAdapter.js +1 -1
  141. package/dist/yahoosspBidAdapter.js +1 -1
  142. package/dist/yieldmoBidAdapter.js +1 -1
  143. package/dist/yieldoneAnalyticsAdapter.js +1 -1
  144. package/dist/zeta_global_sspBidAdapter.js +1 -1
  145. package/integrationExamples/gpt/growthcode.html +20 -9
  146. package/libraries/objectGuard/objectGuard.js +108 -0
  147. package/libraries/objectGuard/ortbGuard.js +88 -0
  148. package/modules/adgenerationBidAdapter.js +14 -5
  149. package/modules/adhashBidAdapter.js +28 -17
  150. package/modules/adkernelBidAdapter.js +2 -1
  151. package/modules/admanBidAdapter.js +30 -22
  152. package/modules/adnuntiusBidAdapter.js +98 -79
  153. package/modules/adnuntiusBidAdapter.md +2 -1
  154. package/modules/adqueryBidAdapter.js +7 -1
  155. package/modules/adrinoBidAdapter.js +1 -0
  156. package/modules/adriverIdSystem.js +1 -1
  157. package/modules/adtelligentBidAdapter.js +4 -2
  158. package/modules/allowActivities.js +74 -0
  159. package/modules/appnexusBidAdapter.js +1 -0
  160. package/modules/cleanioRtdProvider.js +2 -4
  161. package/modules/connectIdSystem.js +89 -13
  162. package/modules/connectIdSystem.md +4 -7
  163. package/modules/criteoBidAdapter.js +50 -3
  164. package/modules/freewheel-sspBidAdapter.js +10 -2
  165. package/modules/gdprEnforcement.js +98 -169
  166. package/modules/growthCodeRtdProvider.js +131 -0
  167. package/modules/growthCodeRtdProvider.md +55 -0
  168. package/modules/gumgumBidAdapter.js +5 -0
  169. package/modules/ixBidAdapter.js +5 -2
  170. package/modules/minutemediaBidAdapter.js +13 -3
  171. package/modules/oxxionAnalyticsAdapter.js +212 -0
  172. package/modules/oxxionAnalyticsAdapter.md +33 -0
  173. package/modules/pairIdSystem.js +6 -6
  174. package/modules/prebidServerBidAdapter/index.js +7 -8
  175. package/modules/pubmaticBidAdapter.js +1 -0
  176. package/modules/riseBidAdapter.js +13 -3
  177. package/modules/rtbhouseBidAdapter.md +24 -0
  178. package/modules/rtdModule/index.js +12 -1
  179. package/modules/sharethroughBidAdapter.js +2 -2
  180. package/modules/smartadserverBidAdapter.js +5 -0
  181. package/modules/stvBidAdapter.js +34 -1
  182. package/modules/undertoneBidAdapter.js +9 -1
  183. package/modules/userId/index.js +69 -41
  184. package/modules/yahoosspBidAdapter.js +45 -3
  185. package/modules/yahoosspBidAdapter.md +1 -1
  186. package/modules/zeta_global_sspBidAdapter.js +1 -0
  187. package/package.json +1 -1
  188. package/src/activities/activities.js +47 -0
  189. package/src/activities/activityParams.js +8 -0
  190. package/src/activities/modules.js +1 -1
  191. package/src/activities/params.js +59 -0
  192. package/src/activities/redactor.js +157 -0
  193. package/src/activities/rules.js +95 -0
  194. package/src/adapterManager.js +45 -8
  195. package/src/adloader.js +2 -1
  196. package/src/fpd/rootDomain.js +1 -1
  197. package/src/native.js +20 -4
  198. package/src/prebid.js +1 -1
  199. package/src/storageManager.js +57 -44
  200. package/src/userSync.js +35 -18
  201. package/test/spec/activities/allowActivites_spec.js +138 -0
  202. package/test/spec/activities/objectGuard_spec.js +144 -0
  203. package/test/spec/activities/ortbGuard_spec.js +140 -0
  204. package/test/spec/activities/params_spec.js +25 -0
  205. package/test/spec/activities/redactor_spec.js +296 -0
  206. package/test/spec/activities/rules_spec.js +135 -0
  207. package/test/spec/modules/adgenerationBidAdapter_spec.js +52 -12
  208. package/test/spec/modules/adhashBidAdapter_spec.js +51 -1
  209. package/test/spec/modules/admanBidAdapter_spec.js +1 -2
  210. package/test/spec/modules/adnuntiusBidAdapter_spec.js +535 -264
  211. package/test/spec/modules/adqueryBidAdapter_spec.js +9 -0
  212. package/test/spec/modules/adrinoBidAdapter_spec.js +4 -0
  213. package/test/spec/modules/adtelligentBidAdapter_spec.js +1 -0
  214. package/test/spec/modules/cleanioRtdProvider_spec.js +7 -8
  215. package/test/spec/modules/connectIdSystem_spec.js +291 -23
  216. package/test/spec/modules/criteoBidAdapter_spec.js +134 -2
  217. package/test/spec/modules/freewheel-sspBidAdapter_spec.js +5 -2
  218. package/test/spec/modules/gdprEnforcement_spec.js +127 -414
  219. package/test/spec/modules/growthCodeRtdProvider_spec.js +127 -0
  220. package/test/spec/modules/gumgumBidAdapter_spec.js +14 -0
  221. package/test/spec/modules/ixBidAdapter_spec.js +2 -1
  222. package/test/spec/modules/minutemediaBidAdapter_spec.js +69 -1
  223. package/test/spec/modules/oxxionAnalyticsAdapter_spec.js +324 -0
  224. package/test/spec/modules/pairIdSystem_spec.js +16 -3
  225. package/test/spec/modules/prebidServerBidAdapter_spec.js +3 -1
  226. package/test/spec/modules/pubmaticBidAdapter_spec.js +7 -0
  227. package/test/spec/modules/realTimeDataModule_spec.js +1 -1
  228. package/test/spec/modules/riseBidAdapter_spec.js +69 -1
  229. package/test/spec/modules/sharethroughBidAdapter_spec.js +1 -1
  230. package/test/spec/modules/smartadserverBidAdapter_spec.js +42 -0
  231. package/test/spec/modules/stvBidAdapter_spec.js +13 -1
  232. package/test/spec/modules/undertoneBidAdapter_spec.js +57 -1
  233. package/test/spec/modules/userId_spec.js +80 -21
  234. package/test/spec/modules/yahoosspBidAdapter_spec.js +103 -51
  235. package/test/spec/modules/zeta_global_sspBidAdapter_spec.js +4 -0
  236. package/test/spec/native_spec.js +12 -12
  237. package/test/spec/unit/core/adapterManager_spec.js +181 -1
  238. package/test/spec/unit/core/storageManager_spec.js +76 -68
  239. package/test/spec/unit/pbjs_api_spec.js +15 -25
  240. package/test/spec/userSync_spec.js +45 -16
@@ -304,7 +304,8 @@ describe('The Criteo bidding adapter', function () {
304
304
  placement: 1,
305
305
  minduration: 0,
306
306
  playbackmethod: 1,
307
- startdelay: 0
307
+ startdelay: 0,
308
+ plcmt: 1
308
309
  }
309
310
  },
310
311
  params: {
@@ -1061,6 +1062,90 @@ describe('The Criteo bidding adapter', function () {
1061
1062
  expect(request.data.source.ext.schain).to.equal(expectedSchain);
1062
1063
  });
1063
1064
 
1065
+ it('should properly build a request with bcat field', function () {
1066
+ const bcat = [ 'IAB1', 'IAB2' ];
1067
+ const bidRequests = [
1068
+ {
1069
+ bidder: 'criteo',
1070
+ adUnitCode: 'bid-123',
1071
+ transactionId: 'transaction-123',
1072
+ mediaTypes: {
1073
+ banner: {
1074
+ sizes: [[728, 90]]
1075
+ }
1076
+ },
1077
+ params: {
1078
+ zoneId: 123,
1079
+ },
1080
+ },
1081
+ ];
1082
+ const bidderRequest = {
1083
+ ortb2: {
1084
+ bcat
1085
+ }
1086
+ };
1087
+
1088
+ const request = spec.buildRequests(bidRequests, bidderRequest);
1089
+ expect(request.data.bcat).to.not.be.null;
1090
+ expect(request.data.bcat).to.equal(bcat);
1091
+ });
1092
+
1093
+ it('should properly build a request with badv field', function () {
1094
+ const badv = [ 'ford.com' ];
1095
+ const bidRequests = [
1096
+ {
1097
+ bidder: 'criteo',
1098
+ adUnitCode: 'bid-123',
1099
+ transactionId: 'transaction-123',
1100
+ mediaTypes: {
1101
+ banner: {
1102
+ sizes: [[728, 90]]
1103
+ }
1104
+ },
1105
+ params: {
1106
+ zoneId: 123,
1107
+ },
1108
+ },
1109
+ ];
1110
+ const bidderRequest = {
1111
+ ortb2: {
1112
+ badv
1113
+ }
1114
+ };
1115
+
1116
+ const request = spec.buildRequests(bidRequests, bidderRequest);
1117
+ expect(request.data.badv).to.not.be.null;
1118
+ expect(request.data.badv).to.equal(badv);
1119
+ });
1120
+
1121
+ it('should properly build a request with bapp field', function () {
1122
+ const bapp = [ 'com.foo.mygame' ];
1123
+ const bidRequests = [
1124
+ {
1125
+ bidder: 'criteo',
1126
+ adUnitCode: 'bid-123',
1127
+ transactionId: 'transaction-123',
1128
+ mediaTypes: {
1129
+ banner: {
1130
+ sizes: [[728, 90]]
1131
+ }
1132
+ },
1133
+ params: {
1134
+ zoneId: 123,
1135
+ },
1136
+ },
1137
+ ];
1138
+ const bidderRequest = {
1139
+ ortb2: {
1140
+ bapp
1141
+ }
1142
+ };
1143
+
1144
+ const request = spec.buildRequests(bidRequests, bidderRequest);
1145
+ expect(request.data.bapp).to.not.be.null;
1146
+ expect(request.data.bapp).to.equal(bapp);
1147
+ });
1148
+
1064
1149
  it('should properly build a request with if ccpa consent field is not provided', function () {
1065
1150
  const bidRequests = [
1066
1151
  {
@@ -1099,7 +1184,8 @@ describe('The Criteo bidding adapter', function () {
1099
1184
  mimes: ['video/mp4', 'video/x-flv'],
1100
1185
  maxduration: 30,
1101
1186
  api: [1, 2],
1102
- protocols: [2, 3]
1187
+ protocols: [2, 3],
1188
+ plcmt: 3
1103
1189
  }
1104
1190
  },
1105
1191
  params: {
@@ -1129,6 +1215,7 @@ describe('The Criteo bidding adapter', function () {
1129
1215
  expect(ortbRequest.slots[0].video.startdelay).to.equal(5);
1130
1216
  expect(ortbRequest.slots[0].video.playbackmethod).to.deep.equal([1, 3]);
1131
1217
  expect(ortbRequest.slots[0].video.placement).to.equal(2);
1218
+ expect(ortbRequest.slots[0].video.plcmt).to.equal(3);
1132
1219
  });
1133
1220
 
1134
1221
  it('should properly build a video request with more than one player size', function () {
@@ -1762,6 +1849,51 @@ describe('The Criteo bidding adapter', function () {
1762
1849
  expect(bids[0].mediaType).to.equal(VIDEO);
1763
1850
  });
1764
1851
 
1852
+ it('should properly parse a bid response with a outstream video', function () {
1853
+ const response = {
1854
+ body: {
1855
+ slots: [{
1856
+ impid: 'test-requestId',
1857
+ bidId: 'abc123',
1858
+ cpm: 1.23,
1859
+ displayurl: 'http://test-ad',
1860
+ width: 728,
1861
+ height: 90,
1862
+ zoneid: 123,
1863
+ video: true,
1864
+ ext: {
1865
+ videoPlayerType: 'RadiantMediaPlayer',
1866
+ videoPlayerConfig: {
1867
+
1868
+ }
1869
+ }
1870
+ }],
1871
+ },
1872
+ };
1873
+ const request = {
1874
+ bidRequests: [{
1875
+ adUnitCode: 'test-requestId',
1876
+ bidId: 'test-bidId',
1877
+ params: {
1878
+ zoneId: 123,
1879
+ },
1880
+ mediaTypes: {
1881
+ video: {
1882
+ context: 'outstream'
1883
+ }
1884
+ }
1885
+ }]
1886
+ };
1887
+ const bids = spec.interpretResponse(response, request);
1888
+ expect(bids).to.have.lengthOf(1);
1889
+ expect(bids[0].requestId).to.equal('test-bidId');
1890
+ expect(bids[0].cpm).to.equal(1.23);
1891
+ expect(bids[0].vastUrl).to.equal('http://test-ad');
1892
+ expect(bids[0].renderer.url).to.equal('https://static.criteo.net/js/ld/publishertag.renderer.js');
1893
+ expect(typeof bids[0].renderer.config.documentResolver).to.equal('function');
1894
+ expect(typeof bids[0].renderer._render).to.equal('function');
1895
+ });
1896
+
1765
1897
  it('should properly parse a bid response with native', function () {
1766
1898
  const response = {
1767
1899
  body: {
@@ -284,8 +284,9 @@ describe('freewheelSSP BidAdapter Test', () => {
284
284
  it('should return context and placement with default values', () => {
285
285
  const request = spec.buildRequests(bidRequests);
286
286
  const payload = request[0].data;
287
- expect(payload.video_context).to.equal('instream'); ;
288
- expect(payload.video_placement).to.equal(1);
287
+ expect(payload.video_context).to.equal(''); ;
288
+ expect(payload.video_placement).to.equal(null);
289
+ expect(payload.video_plcmt).to.equal(null);
289
290
  });
290
291
 
291
292
  it('should add parameters to the tag', () => {
@@ -367,6 +368,7 @@ describe('freewheelSSP BidAdapter Test', () => {
367
368
  'video': {
368
369
  'context': 'outstream',
369
370
  'placement': 2,
371
+ 'plcmt': 3,
370
372
  'playerSize': [300, 600],
371
373
  }
372
374
  },
@@ -382,6 +384,7 @@ describe('freewheelSSP BidAdapter Test', () => {
382
384
  const payload = request[0].data;
383
385
  expect(payload.video_context).to.equal('outstream'); ;
384
386
  expect(payload.video_placement).to.equal(2);
387
+ expect(payload.video_plcmt).to.equal(3);
385
388
  });
386
389
  })
387
390