prebid.js 7.30.0 → 7.32.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 (197) 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/adkernelBidAdapter.js +1 -1
  7. package/dist/adlooxRtdProvider.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/aidemBidAdapter.js +1 -1
  12. package/dist/ajaBidAdapter.js +1 -1
  13. package/dist/alkimiBidAdapter.js +1 -1
  14. package/dist/amxBidAdapter.js +1 -1
  15. package/dist/amxIdSystem.js +1 -1
  16. package/dist/aolBidAdapter.js +1 -1
  17. package/dist/appierAnalyticsAdapter.js +1 -1
  18. package/dist/appnexusBidAdapter.js +1 -1
  19. package/dist/appushBidAdapter.js +1 -0
  20. package/dist/asoBidAdapter.js +1 -1
  21. package/dist/axonixBidAdapter.js +1 -1
  22. package/dist/bidglassBidAdapter.js +1 -1
  23. package/dist/big-richmediaBidAdapter.js +1 -1
  24. package/dist/bridgewellBidAdapter.js +1 -1
  25. package/dist/brightMountainMediaBidAdapter.js +1 -1
  26. package/dist/carodaBidAdapter.js +1 -1
  27. package/dist/chtnwBidAdapter.js +1 -1
  28. package/dist/concertBidAdapter.js +1 -1
  29. package/dist/confiantRtdProvider.js +1 -0
  30. package/dist/connectIdSystem.js +1 -1
  31. package/dist/connectadBidAdapter.js +1 -1
  32. package/dist/consumableBidAdapter.js +1 -1
  33. package/dist/conversantBidAdapter.js +1 -1
  34. package/dist/craftBidAdapter.js +1 -1
  35. package/dist/criteoBidAdapter.js +1 -1
  36. package/dist/datawrkzBidAdapter.js +1 -1
  37. package/dist/dspxBidAdapter.js +1 -1
  38. package/dist/eplanningBidAdapter.js +1 -1
  39. package/dist/feedadBidAdapter.js +1 -1
  40. package/dist/finativeBidAdapter.js +1 -1
  41. package/dist/glimpseBidAdapter.js +1 -1
  42. package/dist/gmosspBidAdapter.js +1 -1
  43. package/dist/goldbachBidAdapter.js +1 -1
  44. package/dist/gridBidAdapter.js +1 -1
  45. package/dist/gridNMBidAdapter.js +1 -1
  46. package/dist/gumgumBidAdapter.js +1 -1
  47. package/dist/h12mediaBidAdapter.js +1 -1
  48. package/dist/holidBidAdapter.js +1 -0
  49. package/dist/id5IdSystem.js +1 -1
  50. package/dist/improvedigitalBidAdapter.js +1 -1
  51. package/dist/inmarBidAdapter.js +1 -1
  52. package/dist/insticatorBidAdapter.js +1 -1
  53. package/dist/ixBidAdapter.js +1 -1
  54. package/dist/justpremiumBidAdapter.js +1 -1
  55. package/dist/jwplayerVideoProvider.js +1 -1
  56. package/dist/konduitAnalyticsAdapter.js +1 -1
  57. package/dist/kueezBidAdapter.js +1 -1
  58. package/dist/kueezRtbBidAdapter.js +1 -1
  59. package/dist/lassoBidAdapter.js +1 -1
  60. package/dist/lifestreetBidAdapter.js +1 -1
  61. package/dist/liveyieldAnalyticsAdapter.js +1 -1
  62. package/dist/logicadBidAdapter.js +1 -1
  63. package/dist/loglyliftBidAdapter.js +1 -1
  64. package/dist/magniteAnalyticsAdapter.js +1 -1
  65. package/dist/malltvAnalyticsAdapter.js +1 -1
  66. package/dist/marsmediaBidAdapter.js +1 -1
  67. package/dist/mediafuseBidAdapter.js +1 -1
  68. package/dist/medianetRtdProvider.js +1 -1
  69. package/dist/mediasquareBidAdapter.js +1 -1
  70. package/dist/mgidBidAdapter.js +1 -1
  71. package/dist/minutemediaBidAdapter.js +1 -1
  72. package/dist/nexx360BidAdapter.js +1 -1
  73. package/dist/not-for-prod/prebid.js +131 -127
  74. package/dist/oguryBidAdapter.js +1 -1
  75. package/dist/onetagBidAdapter.js +1 -1
  76. package/dist/ooloAnalyticsAdapter.js +1 -1
  77. package/dist/orbitsoftBidAdapter.js +1 -0
  78. package/dist/outbrainBidAdapter.js +1 -1
  79. package/dist/parrableIdSystem.js +1 -1
  80. package/dist/pbsExtensions.js +1 -1
  81. package/dist/permutiveRtdProvider.js +1 -1
  82. package/dist/pixfutureBidAdapter.js +1 -1
  83. package/dist/prebid-core.js +1 -1
  84. package/dist/prebidServerBidAdapter.js +1 -1
  85. package/dist/publinkIdSystem.js +1 -1
  86. package/dist/pubmaticBidAdapter.js +1 -1
  87. package/dist/pubwiseAnalyticsAdapter.js +1 -1
  88. package/dist/pxyzBidAdapter.js +1 -1
  89. package/dist/quantcastBidAdapter.js +1 -1
  90. package/dist/readpeakBidAdapter.js +1 -1
  91. package/dist/relaidoBidAdapter.js +1 -1
  92. package/dist/rhythmoneBidAdapter.js +1 -1
  93. package/dist/riseBidAdapter.js +1 -1
  94. package/dist/rubiconAnalyticsAdapter.js +1 -1
  95. package/dist/rubiconBidAdapter.js +1 -1
  96. package/dist/seedingAllianceBidAdapter.js +1 -1
  97. package/dist/seedtagBidAdapter.js +1 -1
  98. package/dist/sharethroughAnalyticsAdapter.js +1 -1
  99. package/dist/sharethroughBidAdapter.js +1 -1
  100. package/dist/shinezBidAdapter.js +1 -1
  101. package/dist/smaatoBidAdapter.js +1 -1
  102. package/dist/smartadserverBidAdapter.js +1 -1
  103. package/dist/smartxBidAdapter.js +1 -1
  104. package/dist/smilewantedBidAdapter.js +1 -1
  105. package/dist/sonobiBidAdapter.js +1 -1
  106. package/dist/sovrnAnalyticsAdapter.js +1 -1
  107. package/dist/sovrnBidAdapter.js +1 -1
  108. package/dist/sspBCBidAdapter.js +1 -1
  109. package/dist/sublimeBidAdapter.js +1 -1
  110. package/dist/synacormediaBidAdapter.js +1 -1
  111. package/dist/taboolaBidAdapter.js +1 -1
  112. package/dist/targetVideoBidAdapter.js +1 -1
  113. package/dist/teadsBidAdapter.js +1 -1
  114. package/dist/trionBidAdapter.js +1 -1
  115. package/dist/tripleliftBidAdapter.js +1 -1
  116. package/dist/ttdBidAdapter.js +1 -1
  117. package/dist/ucfunnelAnalyticsAdapter.js +1 -1
  118. package/dist/uid2IdSystem.js +1 -1
  119. package/dist/underdogmediaBidAdapter.js +1 -1
  120. package/dist/undertoneBidAdapter.js +1 -1
  121. package/dist/vidazooBidAdapter.js +1 -1
  122. package/dist/videobyteBidAdapter.js +1 -1
  123. package/dist/visxBidAdapter.js +1 -1
  124. package/dist/vuukleBidAdapter.js +1 -1
  125. package/dist/widespaceBidAdapter.js +1 -1
  126. package/dist/winrBidAdapter.js +1 -1
  127. package/dist/yahoosspBidAdapter.js +1 -1
  128. package/dist/yieldlabBidAdapter.js +1 -1
  129. package/dist/yieldmoBidAdapter.js +1 -1
  130. package/dist/yieldoneAnalyticsAdapter.js +1 -1
  131. package/integrationExamples/gpt/adloox.html +5 -0
  132. package/libraries/pbsExtensions/processors/adUnitCode.js +13 -0
  133. package/libraries/pbsExtensions/processors/pbs.js +5 -0
  134. package/modules/.submodules.json +1 -0
  135. package/modules/adagioBidAdapter.js +0 -4
  136. package/modules/adagioBidAdapter.md +4 -22
  137. package/modules/adkernelBidAdapter.js +2 -1
  138. package/modules/adlooxAnalyticsAdapter.md +5 -3
  139. package/modules/adlooxRtdProvider.js +82 -278
  140. package/modules/adlooxRtdProvider.md +6 -6
  141. package/modules/aidemBidAdapter.js +4 -0
  142. package/modules/aidemBidAdapter.md +1 -0
  143. package/modules/alkimiBidAdapter.js +23 -6
  144. package/modules/aolBidAdapter.js +12 -0
  145. package/modules/appnexusBidAdapter.js +2 -2
  146. package/modules/appushBidAdapter.js +188 -0
  147. package/modules/appushBidAdapter.md +79 -0
  148. package/modules/asoBidAdapter.js +8 -5
  149. package/modules/confiantRtdProvider.js +128 -0
  150. package/modules/confiantRtdProvider.md +45 -0
  151. package/modules/connectIdSystem.js +15 -1
  152. package/modules/datawrkzBidAdapter.js +24 -4
  153. package/modules/feedadBidAdapter.js +17 -7
  154. package/modules/holidBidAdapter.js +170 -0
  155. package/modules/holidBidAdapter.md +36 -0
  156. package/modules/jwplayerVideoProvider.js +10 -3
  157. package/modules/kueezRtbBidAdapter.js +21 -8
  158. package/modules/medianetRtdProvider.js +4 -4
  159. package/modules/nexx360BidAdapter.js +5 -7
  160. package/modules/orbitsoftBidAdapter.js +150 -0
  161. package/modules/permutiveRtdProvider.js +1 -1
  162. package/modules/prebidServerBidAdapter/ortbConverter.js +1 -0
  163. package/modules/riseBidAdapter.js +2 -1
  164. package/modules/riseBidAdapter.md +2 -0
  165. package/modules/seedtagBidAdapter.js +12 -0
  166. package/modules/smartxBidAdapter.js +6 -0
  167. package/modules/taboolaBidAdapter.js +61 -14
  168. package/modules/yahoosspBidAdapter.js +5 -0
  169. package/modules/yieldlabBidAdapter.js +150 -134
  170. package/modules/yieldmoBidAdapter.js +1 -12
  171. package/package.json +1 -1
  172. package/src/adloader.js +2 -1
  173. package/src/prebid.js +7 -8
  174. package/test/spec/modules/adagioBidAdapter_spec.js +1 -28
  175. package/test/spec/modules/adlooxRtdProvider_spec.js +28 -120
  176. package/test/spec/modules/aidemBidAdapter_spec.js +10 -2
  177. package/test/spec/modules/alkimiBidAdapter_spec.js +15 -3
  178. package/test/spec/modules/aolBidAdapter_spec.js +22 -0
  179. package/test/spec/modules/appnexusBidAdapter_spec.js +7 -3
  180. package/test/spec/modules/appushBidAdapter_spec.js +372 -0
  181. package/test/spec/modules/confiantRtdProvider_spec.js +107 -0
  182. package/test/spec/modules/connectIdSystem_spec.js +17 -5
  183. package/test/spec/modules/feedadBidAdapter_spec.js +60 -13
  184. package/test/spec/modules/holidBidAdapter_spec.js +165 -0
  185. package/test/spec/modules/kueezRtbBidAdapter_spec.js +147 -24
  186. package/test/spec/modules/medianetRtdProvider_spec.js +3 -3
  187. package/test/spec/modules/orbitsoftBidAdapter_spec.js +255 -0
  188. package/test/spec/modules/riseBidAdapter_spec.js +7 -0
  189. package/test/spec/modules/seedtagBidAdapter_spec.js +56 -10
  190. package/test/spec/modules/smartxBidAdapter_spec.js +10 -0
  191. package/test/spec/modules/taboolaBidAdapter_spec.js +142 -5
  192. package/test/spec/modules/videoModule/submodules/jwplayerVideoProvider_spec.js +45 -10
  193. package/test/spec/modules/yahoosspBidAdapter_spec.js +16 -1
  194. package/test/spec/modules/yieldlabBidAdapter_spec.js +311 -301
  195. package/test/spec/modules/yieldmoBidAdapter_spec.js +70 -0
  196. package/test/spec/ortbConverter/pbsExtensions/adUnitCode_spec.js +23 -0
  197. package/test/spec/unit/pbjs_api_spec.js +11 -0
@@ -66,7 +66,28 @@ function getUtilsMock() {
66
66
 
67
67
  const sharedUtils = { videoEvents };
68
68
 
69
+ function addDiv() {
70
+ const div = document.createElement('div');
71
+ div.setAttribute('id', 'test');
72
+ document.body.appendChild(div);
73
+ }
74
+
75
+ function removeDiv() {
76
+ const div = document.getElementById('test');
77
+ if (div) {
78
+ div.remove();
79
+ }
80
+ }
81
+
69
82
  describe('JWPlayerProvider', function () {
83
+ beforeEach(() => {
84
+ addDiv();
85
+ });
86
+
87
+ afterEach(() => {
88
+ removeDiv();
89
+ });
90
+
70
91
  describe('init', function () {
71
92
  let config;
72
93
  let adState;
@@ -75,7 +96,7 @@ describe('JWPlayerProvider', function () {
75
96
  let utilsMock;
76
97
 
77
98
  beforeEach(() => {
78
- config = {};
99
+ config = { divId: 'test' };
79
100
  adState = adStateFactory();
80
101
  timeState = timeStateFactory();
81
102
  callbackStorage = callbackStorageFactory();
@@ -104,7 +125,21 @@ describe('JWPlayerProvider', function () {
104
125
  expect(payload.errorCode).to.be.equal(-2);
105
126
  });
106
127
 
107
- it('should instantiate the player when uninstantied', function () {
128
+ it('should trigger failure when div is missing', function () {
129
+ removeDiv();
130
+ let jwplayerMock = () => {};
131
+ const provider = JWPlayerProvider(config, jwplayerMock, adState, timeState, callbackStorage, utilsMock, sharedUtils);
132
+ const setupFailed = sinon.spy();
133
+ provider.onEvent(SETUP_FAILED, setupFailed, {});
134
+ provider.init();
135
+ expect(setupFailed.calledOnce).to.be.true;
136
+ const payload = setupFailed.args[0][1];
137
+ expect(payload.errorCode).to.be.equal(-3);
138
+ addDiv();
139
+ addDiv();
140
+ });
141
+
142
+ it('should instantiate the player when uninstantiated', function () {
108
143
  const player = getPlayerMock();
109
144
  config.playerConfig = {};
110
145
  const setupSpy = player.setup = sinon.spy();
@@ -113,7 +148,7 @@ describe('JWPlayerProvider', function () {
113
148
  expect(setupSpy.calledOnce).to.be.true;
114
149
  });
115
150
 
116
- it('should trigger setup complete when player is already instantied', function () {
151
+ it('should trigger setup complete when player is already instantiated', function () {
117
152
  const player = getPlayerMock();
118
153
  player.getState = () => 'idle';
119
154
  const provider = JWPlayerProvider(config, makePlayerFactoryMock(player), adState, timeState, callbackStorage, utilsMock, sharedUtils);
@@ -151,7 +186,7 @@ describe('JWPlayerProvider', function () {
151
186
  const test_playback_method = PLAYBACK_METHODS.CLICK_TO_PLAY;
152
187
  const test_skip = 0;
153
188
 
154
- const config = {};
189
+ const config = { divId: 'test' };
155
190
  const player = getPlayerMock();
156
191
  const utils = getUtilsMock();
157
192
 
@@ -230,9 +265,9 @@ describe('JWPlayerProvider', function () {
230
265
  duration: test_duration,
231
266
  playbackMode: test_playback_mode
232
267
  })
233
- }
268
+ };
234
269
 
235
- const provider = JWPlayerProvider({}, makePlayerFactoryMock(player), adStateFactory(), timeState, {}, utils, sharedUtils);
270
+ const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeState, {}, utils, sharedUtils);
236
271
  provider.init();
237
272
 
238
273
  let content = provider.getOrtbContent();
@@ -260,7 +295,7 @@ describe('JWPlayerProvider', function () {
260
295
  it('should call playAd', function () {
261
296
  const player = getPlayerMock();
262
297
  const playAdSpy = player.playAd = sinon.spy();
263
- const provider = JWPlayerProvider({}, makePlayerFactoryMock(player), {}, {}, {}, {}, sharedUtils);
298
+ const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), {}, {}, {}, {}, sharedUtils);
264
299
  provider.init();
265
300
  provider.setAdTagUrl('tag');
266
301
  expect(playAdSpy.called).to.be.true;
@@ -273,7 +308,7 @@ describe('JWPlayerProvider', function () {
273
308
  it('should register event listener on player', function () {
274
309
  const player = getPlayerMock();
275
310
  const onSpy = player.on = sinon.spy();
276
- const provider = JWPlayerProvider({}, makePlayerFactoryMock(player), adStateFactory(), timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);
311
+ const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);
277
312
  provider.init();
278
313
  const callback = () => {};
279
314
  provider.onEvent(PLAY, callback, {});
@@ -285,7 +320,7 @@ describe('JWPlayerProvider', function () {
285
320
  it('should remove event listener on player', function () {
286
321
  const player = getPlayerMock();
287
322
  const offSpy = player.off = sinon.spy();
288
- const provider = JWPlayerProvider({}, makePlayerFactoryMock(player), adStateFactory(), timeStateFactory(), callbackStorageFactory(), utils, sharedUtils);
323
+ const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeStateFactory(), callbackStorageFactory(), utils, sharedUtils);
289
324
  provider.init();
290
325
  const callback = () => {};
291
326
  provider.onEvent(AD_IMPRESSION, callback, {});
@@ -301,7 +336,7 @@ describe('JWPlayerProvider', function () {
301
336
  const player = getPlayerMock();
302
337
  const removeSpy = player.remove = sinon.spy();
303
338
  player.remove = removeSpy;
304
- const provider = JWPlayerProvider({}, makePlayerFactoryMock(player), adStateFactory(), timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);
339
+ const provider = JWPlayerProvider({ divId: 'test' }, makePlayerFactoryMock(player), adStateFactory(), timeStateFactory(), callbackStorageFactory(), getUtilsMock(), sharedUtils);
305
340
  provider.init();
306
341
  provider.destroy();
307
342
  provider.destroy();
@@ -3,6 +3,7 @@ import { config } from 'src/config.js';
3
3
  import { BANNER, VIDEO } from 'src/mediaTypes.js';
4
4
  import { spec } from 'modules/yahoosspBidAdapter.js';
5
5
  import {createEidsArray} from '../../../modules/userId/eids';
6
+ import {deepClone} from '../../../src/utils';
6
7
 
7
8
  const DEFAULT_BID_ID = '84ab500420319d';
8
9
  const DEFAULT_BID_DCN = '2093845709823475';
@@ -713,7 +714,7 @@ describe('YahooSSP Bid Adapter:', () => {
713
714
  });
714
715
  });
715
716
 
716
- describe('GDPR & Consent:', () => {
717
+ describe('GDPR & Consent & GPP:', () => {
717
718
  it('should return request objects that do not send cookies if purpose 1 consent is not provided', () => {
718
719
  const { validBidRequests, bidderRequest } = generateBuildRequestMock({});
719
720
  bidderRequest.gdprConsent = {
@@ -731,6 +732,20 @@ describe('YahooSSP Bid Adapter:', () => {
731
732
  const options = spec.buildRequests(validBidRequests, bidderRequest)[0].options;
732
733
  expect(options.withCredentials).to.be.false;
733
734
  });
735
+
736
+ it('adds the ortb2 gpp consent info to the request', function () {
737
+ const { validBidRequests, bidderRequest } = generateBuildRequestMock({});
738
+ const ortb2 = {
739
+ regs: {
740
+ gpp: 'somegppstring',
741
+ gpp_sid: [6, 7]
742
+ }
743
+ };
744
+ let clonedBidderRequest = {...bidderRequest, ortb2};
745
+ const data = spec.buildRequests(validBidRequests, clonedBidderRequest)[0].data;
746
+ expect(data.regs.ext.gpp).to.equal('somegppstring');
747
+ expect(data.regs.ext.gpp_sid).to.eql([6, 7]);
748
+ });
734
749
  });
735
750
 
736
751
  describe('Endpoint & Impression Request Mode:', () => {