prebid.js 7.17.0 → 7.19.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 (220) hide show
  1. package/dist/33acrossBidAdapter.js +1 -1
  2. package/dist/adagioBidAdapter.js +1 -1
  3. package/dist/adbookpspBidAdapter.js +1 -1
  4. package/dist/adfBidAdapter.js +1 -1
  5. package/dist/adgenerationBidAdapter.js +1 -1
  6. package/dist/adqueryBidAdapter.js +1 -1
  7. package/dist/adqueryIdSystem.js +1 -1
  8. package/dist/adrelevantisBidAdapter.js +1 -1
  9. package/dist/adtrgtmeBidAdapter.js +1 -1
  10. package/dist/adxcgBidAdapter.js +1 -1
  11. package/dist/adyoulikeBidAdapter.js +1 -1
  12. package/dist/ajaBidAdapter.js +1 -1
  13. package/dist/amxBidAdapter.js +1 -1
  14. package/dist/amxIdSystem.js +1 -1
  15. package/dist/appierAnalyticsAdapter.js +1 -1
  16. package/dist/appnexusBidAdapter.js +1 -1
  17. package/dist/asoBidAdapter.js +1 -1
  18. package/dist/audiencerunBidAdapter.js +1 -1
  19. package/dist/axonixBidAdapter.js +1 -1
  20. package/dist/{andBeyondMediaBidAdapter.js → beyondmediaBidAdapter.js} +1 -1
  21. package/dist/bidglassBidAdapter.js +1 -1
  22. package/dist/bidwatchAnalyticsAdapter.js +1 -1
  23. package/dist/big-richmediaBidAdapter.js +1 -1
  24. package/dist/bluebillywigBidAdapter.js +1 -1
  25. package/dist/bridgewellBidAdapter.js +1 -1
  26. package/dist/brightMountainMediaBidAdapter.js +1 -1
  27. package/dist/carodaBidAdapter.js +1 -1
  28. package/dist/cleanioRtdProvider.js +1 -1
  29. package/dist/colossussspBidAdapter.js +1 -1
  30. package/dist/concertBidAdapter.js +1 -1
  31. package/dist/connectadBidAdapter.js +1 -1
  32. package/dist/consumableBidAdapter.js +1 -1
  33. package/dist/conversantAnalyticsAdapter.js +1 -0
  34. package/dist/conversantBidAdapter.js +1 -1
  35. package/dist/craftBidAdapter.js +1 -1
  36. package/dist/criteoBidAdapter.js +1 -1
  37. package/dist/debugging-standalone.js +1 -1
  38. package/dist/debugging.js +1 -1
  39. package/dist/dependencies.json +6 -0
  40. package/dist/dgkeywordRtdProvider.js +1 -1
  41. package/dist/dianomiBidAdapter.js +1 -1
  42. package/dist/dspxBidAdapter.js +1 -1
  43. package/dist/enrichmentFpdModule.js +1 -1
  44. package/dist/eplanningBidAdapter.js +1 -1
  45. package/dist/finativeBidAdapter.js +1 -1
  46. package/dist/fpd.js +1 -0
  47. package/dist/glimpseBidAdapter.js +1 -1
  48. package/dist/gmosspBidAdapter.js +1 -1
  49. package/dist/goldbachBidAdapter.js +1 -1
  50. package/dist/gridBidAdapter.js +1 -1
  51. package/dist/gridNMBidAdapter.js +1 -1
  52. package/dist/growthCodeIdSystem.js +1 -0
  53. package/dist/gumgumBidAdapter.js +1 -1
  54. package/dist/h12mediaBidAdapter.js +1 -1
  55. package/dist/id5IdSystem.js +1 -1
  56. package/dist/impactifyBidAdapter.js +1 -1
  57. package/dist/improvedigitalBidAdapter.js +1 -1
  58. package/dist/inmarBidAdapter.js +1 -1
  59. package/dist/insticatorBidAdapter.js +1 -1
  60. package/dist/ixBidAdapter.js +1 -1
  61. package/dist/jixieBidAdapter.js +1 -1
  62. package/dist/justpremiumBidAdapter.js +1 -1
  63. package/dist/konduitAnalyticsAdapter.js +1 -1
  64. package/dist/kueezBidAdapter.js +1 -1
  65. package/dist/lassoBidAdapter.js +1 -1
  66. package/dist/lifestreetBidAdapter.js +1 -1
  67. package/dist/liveIntentIdSystem.js +1 -1
  68. package/dist/liveyieldAnalyticsAdapter.js +1 -1
  69. package/dist/logicadBidAdapter.js +1 -1
  70. package/dist/loglyliftBidAdapter.js +1 -1
  71. package/dist/malltvAnalyticsAdapter.js +1 -1
  72. package/dist/marsmediaBidAdapter.js +1 -1
  73. package/dist/mediafuseBidAdapter.js +1 -1
  74. package/dist/mediakeysBidAdapter.js +1 -1
  75. package/dist/mediasquareBidAdapter.js +1 -1
  76. package/dist/mgidBidAdapter.js +1 -1
  77. package/dist/minutemediaBidAdapter.js +1 -1
  78. package/dist/nativoBidAdapter.js +1 -1
  79. package/dist/nextMillenniumBidAdapter.js +1 -1
  80. package/dist/not-for-prod/prebid.js +133 -130
  81. package/dist/oguryBidAdapter.js +1 -1
  82. package/dist/onetagBidAdapter.js +1 -1
  83. package/dist/ooloAnalyticsAdapter.js +1 -1
  84. package/dist/outbrainBidAdapter.js +1 -1
  85. package/dist/parrableIdSystem.js +1 -1
  86. package/dist/pixfutureBidAdapter.js +1 -1
  87. package/dist/prebid-core.js +1 -1
  88. package/dist/prebidServerBidAdapter.js +1 -1
  89. package/dist/publinkIdSystem.js +1 -1
  90. package/dist/pubmaticBidAdapter.js +1 -1
  91. package/dist/pubwiseAnalyticsAdapter.js +1 -1
  92. package/dist/pxyzBidAdapter.js +1 -1
  93. package/dist/quantcastBidAdapter.js +1 -1
  94. package/dist/readpeakBidAdapter.js +1 -1
  95. package/dist/relaidoBidAdapter.js +1 -1
  96. package/dist/rhythmoneBidAdapter.js +1 -1
  97. package/dist/riseBidAdapter.js +1 -1
  98. package/dist/rubiconAnalyticsAdapter.js +1 -1
  99. package/dist/rubiconBidAdapter.js +1 -1
  100. package/dist/seedingAllianceBidAdapter.js +1 -1
  101. package/dist/seedtagBidAdapter.js +1 -1
  102. package/dist/sharethroughAnalyticsAdapter.js +1 -1
  103. package/dist/sharethroughBidAdapter.js +1 -1
  104. package/dist/shinezBidAdapter.js +1 -1
  105. package/dist/smaatoBidAdapter.js +1 -1
  106. package/dist/smartadserverBidAdapter.js +1 -1
  107. package/dist/smartxBidAdapter.js +1 -1
  108. package/dist/smilewantedBidAdapter.js +1 -1
  109. package/dist/sonobiBidAdapter.js +1 -1
  110. package/dist/sovrnAnalyticsAdapter.js +1 -1
  111. package/dist/sovrnBidAdapter.js +1 -1
  112. package/dist/sspBCBidAdapter.js +1 -1
  113. package/dist/sublimeBidAdapter.js +1 -1
  114. package/dist/synacormediaBidAdapter.js +1 -1
  115. package/dist/taboolaBidAdapter.js +1 -1
  116. package/dist/targetVideoBidAdapter.js +1 -1
  117. package/dist/teadsBidAdapter.js +1 -1
  118. package/dist/trionBidAdapter.js +1 -1
  119. package/dist/tripleliftBidAdapter.js +1 -1
  120. package/dist/ttdBidAdapter.js +1 -1
  121. package/dist/ucfunnelAnalyticsAdapter.js +1 -1
  122. package/dist/underdogmediaBidAdapter.js +1 -1
  123. package/dist/undertoneBidAdapter.js +1 -1
  124. package/dist/userId.js +1 -1
  125. package/dist/vidazooBidAdapter.js +1 -1
  126. package/dist/videobyteBidAdapter.js +1 -1
  127. package/dist/visxBidAdapter.js +1 -1
  128. package/dist/vuukleBidAdapter.js +1 -1
  129. package/dist/widespaceBidAdapter.js +1 -1
  130. package/dist/winrBidAdapter.js +1 -1
  131. package/dist/yahoosspBidAdapter.js +1 -1
  132. package/dist/yandexBidAdapter.js +1 -1
  133. package/dist/yieldmoBidAdapter.js +1 -1
  134. package/dist/yieldoneAnalyticsAdapter.js +1 -1
  135. package/libraries/fpd/sua.js +98 -0
  136. package/modules/adagioBidAdapter.js +2 -1
  137. package/modules/adfBidAdapter.js +1 -1
  138. package/modules/adkernelAdnBidAdapter.js +1 -0
  139. package/modules/adqueryBidAdapter.js +4 -2
  140. package/modules/adqueryIdSystem.js +8 -8
  141. package/modules/adxcgBidAdapter.js +1 -1
  142. package/modules/amxBidAdapter.js +1 -1
  143. package/modules/{andBeyondMediaBidAdapter.js → beyondmediaBidAdapter.js} +0 -0
  144. package/modules/{andBeyondMediaBidAdapter.md → beyondmediaBidAdapter.md} +1 -1
  145. package/modules/bidwatchAnalyticsAdapter.js +1 -1
  146. package/modules/cleanioRtdProvider.js +3 -4
  147. package/modules/colossussspBidAdapter.js +2 -1
  148. package/modules/conversantAnalyticsAdapter.js +560 -0
  149. package/modules/conversantAnalyticsAdapter.md +47 -0
  150. package/modules/criteoBidAdapter.js +1 -1
  151. package/modules/debugging/bidInterceptor.js +2 -2
  152. package/modules/debugging/debugging.js +10 -2
  153. package/modules/dgkeywordRtdProvider.js +21 -3
  154. package/modules/dianomiBidAdapter.js +1 -1
  155. package/modules/enrichmentFpdModule.js +33 -14
  156. package/modules/finativeBidAdapter.js +1 -1
  157. package/modules/gridBidAdapter.js +188 -118
  158. package/modules/growthCodeIdSystem.js +164 -0
  159. package/modules/growthCodeIdSystem.md +37 -0
  160. package/modules/improvedigitalBidAdapter.js +2 -2
  161. package/modules/ixBidAdapter.js +94 -23
  162. package/modules/liveIntentIdSystem.js +39 -5
  163. package/modules/mediakeysBidAdapter.js +6 -1
  164. package/modules/mediakeysBidAdapter.md +50 -40
  165. package/modules/nativoBidAdapter.js +3 -2
  166. package/modules/nextMillenniumBidAdapter.js +34 -11
  167. package/modules/prebidServerBidAdapter/index.js +44 -13
  168. package/modules/readpeakBidAdapter.js +1 -1
  169. package/modules/rubiconBidAdapter.js +2 -3
  170. package/modules/seedingAllianceBidAdapter.js +1 -1
  171. package/modules/seedtagBidAdapter.js +4 -0
  172. package/modules/sharethroughBidAdapter.js +1 -1
  173. package/modules/taboolaBidAdapter.js +4 -8
  174. package/modules/talkadsBidAdapter.js +1 -0
  175. package/modules/truereachBidAdapter.js +1 -0
  176. package/modules/ttdBidAdapter.js +1 -1
  177. package/modules/userId/eids.js +19 -0
  178. package/modules/vidazooBidAdapter.js +1 -1
  179. package/modules/vuukleBidAdapter.js +34 -3
  180. package/modules/yahoosspBidAdapter.js +3 -1
  181. package/modules/yandexBidAdapter.js +31 -8
  182. package/package.json +2 -2
  183. package/src/adapterManager.js +2 -4
  184. package/src/cpmBucketManager.js +22 -3
  185. package/src/native.js +1 -5
  186. package/src/prebid.js +3 -3
  187. package/test/spec/cpmBucketManager_spec.js +239 -177
  188. package/test/spec/fpd/sua_spec.js +244 -0
  189. package/test/spec/modules/adagioBidAdapter_spec.js +23 -0
  190. package/test/spec/modules/adfBidAdapter_spec.js +2 -3
  191. package/test/spec/modules/adqueryBidAdapter_spec.js +11 -0
  192. package/test/spec/modules/adqueryIdSystem_spec.js +0 -2
  193. package/test/spec/modules/adxcgBidAdapter_spec.js +2 -3
  194. package/test/spec/modules/amxBidAdapter_spec.js +3 -2
  195. package/test/spec/modules/{andBeyondMediaBidAdapter_spec.js → beyondmediaBidAdapter_spec.js} +1 -1
  196. package/test/spec/modules/bidwatchAnalyticsAdapter_spec.js +2 -0
  197. package/test/spec/modules/colossussspBidAdapter_spec.js +4 -2
  198. package/test/spec/modules/conversantAnalyticsAdapter_spec.js +963 -0
  199. package/test/spec/modules/debugging_mod_spec.js +9 -0
  200. package/test/spec/modules/dgkeywordRtdProvider_spec.js +83 -1
  201. package/test/spec/modules/dianomiBidAdapter_spec.js +2 -3
  202. package/test/spec/modules/enrichmentFpdModule_spec.js +50 -7
  203. package/test/spec/modules/fpdModule_spec.js +9 -0
  204. package/test/spec/modules/gridBidAdapter_spec.js +87 -31
  205. package/test/spec/modules/growthCodeIdSystem_spec.js +83 -0
  206. package/test/spec/modules/ixBidAdapter_spec.js +221 -2
  207. package/test/spec/modules/liveIntentIdMinimalSystem_spec.js +62 -8
  208. package/test/spec/modules/liveIntentIdSystem_spec.js +62 -8
  209. package/test/spec/modules/mediakeysBidAdapter_spec.js +20 -3
  210. package/test/spec/modules/nativoBidAdapter_spec.js +13 -2
  211. package/test/spec/modules/prebidServerBidAdapter_spec.js +171 -4
  212. package/test/spec/modules/seedtagBidAdapter_spec.js +42 -0
  213. package/test/spec/modules/sharethroughBidAdapter_spec.js +2 -1
  214. package/test/spec/modules/taboolaBidAdapter_spec.js +2 -2
  215. package/test/spec/modules/ttdBidAdapter_spec.js +3 -3
  216. package/test/spec/modules/vuukleBidAdapter_spec.js +87 -0
  217. package/test/spec/modules/yahoosspBidAdapter_spec.js +3 -1
  218. package/test/spec/modules/yandexBidAdapter_spec.js +8 -5
  219. package/test/spec/native_spec.js +5 -0
  220. package/test/spec/unit/pbjs_api_spec.js +44 -0
@@ -1265,6 +1265,29 @@ describe('Adagio bid adapter', () => {
1265
1265
  expect(result.dom_loading).to.be.a('String');
1266
1266
  expect(result.user_timestamp).to.be.a('String');
1267
1267
  });
1268
+
1269
+ it('should return `adunit_position` feature when the slot is hidden', function () {
1270
+ const elem = fixtures.getElementById();
1271
+ sandbox.stub(window.top.document, 'getElementById').returns(elem);
1272
+ sandbox.stub(window.top, 'getComputedStyle').returns({ display: 'none' });
1273
+ sandbox.stub(utils, 'inIframe').returns(false);
1274
+
1275
+ const bidRequest = new BidRequestBuilder({
1276
+ mediaTypes: {
1277
+ banner: { sizes: [[300, 250]] },
1278
+ },
1279
+ })
1280
+ .withParams()
1281
+ .build();
1282
+
1283
+ const bidderRequest = new BidderRequestBuilder().build();
1284
+
1285
+ const requests = spec.buildRequests([bidRequest], bidderRequest);
1286
+ const result = requests[0].data.adUnits[0].features;
1287
+
1288
+ expect(result.adunit_position).to.match(/^[\d]+x[\d]+$/);
1289
+ expect(elem.style.display).to.equal(null); // set null to reset style
1290
+ });
1268
1291
  });
1269
1292
 
1270
1293
  describe('Adagio features when prebid in Safeframe', function() {
@@ -170,11 +170,10 @@ describe('Adf adapter', function () {
170
170
  let validBidRequests = [{
171
171
  bidId: 'bidId',
172
172
  params: { siteId: 'siteId' },
173
- transactionId: 'transactionId'
174
173
  }];
175
- let request = JSON.parse(spec.buildRequests(validBidRequests, { refererInfo: { page: 'page' } }).data);
174
+ let request = JSON.parse(spec.buildRequests(validBidRequests, { refererInfo: { page: 'page' }, auctionId: 'tid' }).data);
176
175
 
177
- assert.equal(request.source.tid, validBidRequests[0].transactionId);
176
+ assert.equal(request.source.tid, 'tid');
178
177
  assert.equal(request.source.fd, 1);
179
178
  });
180
179
 
@@ -70,6 +70,13 @@ describe('adqueryBidAdapter', function () {
70
70
  it('should return false if any parameter missing', function () {
71
71
  expect(spec.isBidRequestValid(inValidBid)).to.be.false
72
72
  })
73
+
74
+ it('should return false when sizes for banner are not specified', () => {
75
+ const bid = utils.deepClone(bidRequest);
76
+ delete bid.mediaTypes.banner.sizes;
77
+
78
+ expect(spec.isBidRequestValid(bid)).to.equal(false);
79
+ });
73
80
  })
74
81
 
75
82
  describe('buildRequests', function () {
@@ -108,6 +115,10 @@ describe('adqueryBidAdapter', function () {
108
115
  it('should include bidder', function () {
109
116
  expect(rdata.bidder !== null).to.be.true
110
117
  })
118
+
119
+ it('should include sizes', function () {
120
+ expect(rdata.sizes).not.be.null
121
+ })
111
122
  })
112
123
 
113
124
  describe('interpretResponse', function () {
@@ -1,7 +1,5 @@
1
1
  import { adqueryIdSubmodule, storage } from 'modules/adqueryIdSystem.js';
2
2
  import { server } from 'test/mocks/xhr.js';
3
- import {amxIdSubmodule} from '../../../modules/amxIdSystem';
4
- import * as utils from '../../../src/utils';
5
3
 
6
4
  const config = {
7
5
  storage: {
@@ -164,11 +164,10 @@ describe('Adxcg adapter', function () {
164
164
  let validBidRequests = [{
165
165
  bidId: 'bidId',
166
166
  params: {siteId: 'siteId'},
167
- transactionId: 'transactionId'
168
167
  }];
169
- let request = JSON.parse(spec.buildRequests(validBidRequests, {refererInfo: {referer: 'page'}}).data);
168
+ let request = JSON.parse(spec.buildRequests(validBidRequests, {refererInfo: {referer: 'page'}, auctionId: 'tid'}).data);
170
169
 
171
- assert.equal(request.source.tid, validBidRequests[0].transactionId);
170
+ assert.equal(request.source.tid, 'tid');
172
171
  assert.equal(request.source.fd, 1);
173
172
  });
174
173
 
@@ -359,6 +359,7 @@ describe('AmxBidAdapter', () => {
359
359
  bidId: sampleRequestId + '_2',
360
360
  params: {
361
361
  ...sampleBidRequestBase.params,
362
+ adUnitId: '',
362
363
  tagId: 'example',
363
364
  },
364
365
  },
@@ -404,12 +405,12 @@ describe('AmxBidAdapter', () => {
404
405
 
405
406
  it('can build a video request', () => {
406
407
  const { data } = spec.buildRequests(
407
- [sampleBidRequestVideo],
408
+ [{...sampleBidRequestVideo, params: { ...sampleBidRequestVideo.params, adUnitId: 'custom-auid' }}],
408
409
  sampleBidderRequest
409
410
  );
410
411
  expect(Object.keys(data.m).length).to.equal(1);
411
412
  expect(data.m[sampleRequestId + '_video']).to.deep.equal({
412
- au: 'div-gpt-ad-example',
413
+ au: 'custom-auid',
413
414
  ms: [[[300, 150]], [], [[360, 250]]],
414
415
  av: true,
415
416
  aw: 360,
@@ -1,5 +1,5 @@
1
1
  import { expect } from 'chai';
2
- import { spec } from '../../../modules/andBeyondMediaBidAdapter.js';
2
+ import { spec } from '../../../modules/beyondmediaBidAdapter.js';
3
3
  import { BANNER, VIDEO, NATIVE } from '../../../src/mediaTypes.js';
4
4
  import { getUniqueIdentifierStr } from '../../../src/utils.js';
5
5
 
@@ -293,6 +293,7 @@ describe('BidWatch Analytics', function () {
293
293
  expect(message.auctionEnd[0].bidsReceived[0]).not.to.have.property('ad');
294
294
  expect(message.auctionEnd[0].bidsReceived[0]).to.have.property('meta');
295
295
  expect(message.auctionEnd[0].bidsReceived[0].meta).to.have.property('advertiserDomains');
296
+ expect(message.auctionEnd[0].bidsReceived[0]).to.have.property('adId');
296
297
  expect(message.auctionEnd[0]).to.have.property('bidderRequests').and.to.have.lengthOf(1);
297
298
  expect(message.auctionEnd[0].bidderRequests[0]).to.have.property('gdprConsent');
298
299
  expect(message.auctionEnd[0].bidderRequests[0].gdprConsent).not.to.have.property('vendorData');
@@ -315,6 +316,7 @@ describe('BidWatch Analytics', function () {
315
316
  expect(server.requests.length).to.equal(1);
316
317
  let message = JSON.parse(server.requests[0].requestBody);
317
318
  expect(message).not.to.have.property('ad');
319
+ expect(message).to.have.property('adId')
318
320
  expect(message).to.have.property('cpmIncrement').and.to.equal(27.4276);
319
321
  sinon.assert.callCount(bidwatchAnalytics.track, 1);
320
322
  });
@@ -101,7 +101,7 @@ describe('ColossussspAdapter', function () {
101
101
  let placements = data['placements'];
102
102
  for (let i = 0; i < placements.length; i++) {
103
103
  let placement = placements[i];
104
- expect(placement).to.have.all.keys('placementId', 'groupId', 'eids', 'bidId', 'traffic', 'sizes', 'schain', 'floor', 'gpid');
104
+ expect(placement).to.have.all.keys('placementId', 'groupId', 'eids', 'bidId', 'traffic', 'sizes', 'schain', 'floor', 'gpid', 'tid');
105
105
  expect(placement.schain).to.be.an('object')
106
106
  expect(placement.placementId).to.be.a('number');
107
107
  expect(placement.groupId).to.be.a('number');
@@ -110,6 +110,7 @@ describe('ColossussspAdapter', function () {
110
110
  expect(placement.sizes).to.be.an('array');
111
111
  expect(placement.floor).to.be.an('object');
112
112
  expect(placement.gpid).to.be.an('string');
113
+ expect(placement.tid).to.be.an('string');
113
114
  }
114
115
  });
115
116
 
@@ -143,7 +144,7 @@ describe('ColossussspAdapter', function () {
143
144
  let placement = placements[i];
144
145
  expect(placement).to.have.all.keys('placementId', 'groupId', 'eids', 'bidId', 'traffic', 'schain', 'floor', 'gpid', 'sizes',
145
146
  'playerSize', 'minduration', 'maxduration', 'mimes', 'protocols', 'startdelay', 'placement', 'skip', 'skipafter',
146
- 'minbitrate', 'maxbitrate', 'delivery', 'playbackmethod', 'api', 'linearity'
147
+ 'minbitrate', 'maxbitrate', 'delivery', 'playbackmethod', 'api', 'linearity', 'tid'
147
148
  );
148
149
  expect(placement.schain).to.be.an('object')
149
150
  expect(placement.placementId).to.be.a('number');
@@ -155,6 +156,7 @@ describe('ColossussspAdapter', function () {
155
156
  expect(placement.playerSize).to.be.an('array');
156
157
  expect(placement.minduration).to.be.an('number');
157
158
  expect(placement.maxduration).to.be.an('number');
159
+ expect(placement.tid).to.be.an('string');
158
160
  }
159
161
  });
160
162