prebid.js 6.0.0 → 6.4.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 (201) hide show
  1. package/.babelrc.js +1 -7
  2. package/.circleci/config.yml +1 -1
  3. package/README.md +1 -1
  4. package/browsers.json +13 -29
  5. package/gulpfile.js +88 -82
  6. package/integrationExamples/gpt/weboramaRtdProvider_example.html +23 -14
  7. package/karma.conf.maker.js +2 -2
  8. package/modules/33acrossBidAdapter.js +189 -102
  9. package/modules/adagioBidAdapter.js +1 -1
  10. package/modules/addefendBidAdapter.js +1 -0
  11. package/modules/adheseBidAdapter.js +7 -2
  12. package/modules/adkernelBidAdapter.js +147 -61
  13. package/modules/adlivetechBidAdapter.md +61 -0
  14. package/modules/adlooxAdServerVideo.js +2 -2
  15. package/modules/adlooxAnalyticsAdapter.js +4 -4
  16. package/modules/admanBidAdapter.js +1 -0
  17. package/modules/admixerBidAdapter.js +3 -2
  18. package/modules/adnuntiusBidAdapter.js +5 -2
  19. package/modules/adomikAnalyticsAdapter.js +16 -4
  20. package/modules/adplusBidAdapter.js +203 -0
  21. package/modules/adplusBidAdapter.md +39 -0
  22. package/modules/adxcgBidAdapter.js +311 -359
  23. package/modules/adxcgBidAdapter.md +22 -21
  24. package/modules/adyoulikeBidAdapter.js +7 -2
  25. package/modules/aniviewBidAdapter.js +1 -1
  26. package/modules/appnexusBidAdapter.js +23 -3
  27. package/modules/beachfrontBidAdapter.js +14 -17
  28. package/modules/beopBidAdapter.js +6 -4
  29. package/modules/bidViewability.js +3 -3
  30. package/modules/bidViewabilityIO.js +3 -3
  31. package/modules/codefuelBidAdapter.js +1 -3
  32. package/modules/codefuelBidAdapter.md +3 -3
  33. package/modules/colossussspBidAdapter.js +7 -0
  34. package/modules/compassBidAdapter.js +201 -0
  35. package/modules/compassBidAdapter.md +79 -0
  36. package/modules/craftBidAdapter.js +5 -3
  37. package/modules/criteoBidAdapter.js +1 -1
  38. package/modules/currency.js +2 -2
  39. package/modules/cwireBidAdapter.js +3 -0
  40. package/modules/dailyhuntBidAdapter.js +435 -0
  41. package/modules/dailyhuntBidAdapter.md +4 -0
  42. package/modules/datablocksBidAdapter.js +3 -3
  43. package/modules/dchain.js +149 -0
  44. package/modules/dchain.md +45 -0
  45. package/modules/deepintentBidAdapter.js +1 -1
  46. package/modules/dspxBidAdapter.js +1 -1
  47. package/modules/emx_digitalBidAdapter.js +9 -1
  48. package/modules/engageyaBidAdapter.js +68 -54
  49. package/modules/feedadBidAdapter.js +2 -2
  50. package/modules/feedadBidAdapter.md +4 -2
  51. package/modules/freewheel-sspBidAdapter.js +6 -0
  52. package/modules/futureads.md +48 -0
  53. package/modules/glimpseBidAdapter.js +44 -16
  54. package/modules/goldbachBidAdapter.js +1176 -0
  55. package/modules/goldbachBidAdapter.md +151 -0
  56. package/modules/gptPreAuction.js +11 -5
  57. package/modules/gridBidAdapter.js +5 -4
  58. package/modules/gumgumBidAdapter.js +7 -3
  59. package/modules/id5IdSystem.md +6 -6
  60. package/modules/imRtdProvider.js +31 -0
  61. package/modules/improvedigitalBidAdapter.js +19 -3
  62. package/modules/instreamTracking.js +4 -4
  63. package/modules/intersectionRtdProvider.js +114 -0
  64. package/modules/invibesBidAdapter.js +64 -14
  65. package/modules/invibesBidAdapter.md +2 -1
  66. package/modules/ipromBidAdapter.js +79 -0
  67. package/modules/ixBidAdapter.js +185 -22
  68. package/modules/kinessoIdSystem.js +1 -1
  69. package/modules/limelightDigitalBidAdapter.js +2 -1
  70. package/modules/livewrappedBidAdapter.js +8 -2
  71. package/modules/lotamePanoramaIdSystem.js +80 -8
  72. package/modules/luponmediaBidAdapter.js +570 -0
  73. package/modules/mediasquareBidAdapter.js +1 -9
  74. package/modules/merkleIdSystem.js +5 -0
  75. package/modules/missenaBidAdapter.js +89 -0
  76. package/modules/nativoBidAdapter.js +27 -1
  77. package/modules/nextMillenniumBidAdapter.js +37 -7
  78. package/modules/oguryBidAdapter.js +2 -1
  79. package/modules/openxBidAdapter.js +6 -1
  80. package/modules/prebidServerBidAdapter/index.js +19 -15
  81. package/modules/pubgeniusBidAdapter.js +1 -1
  82. package/modules/pubmaticBidAdapter.js +5 -3
  83. package/modules/pubxaiAnalyticsAdapter.js +17 -0
  84. package/modules/relaidoBidAdapter.js +86 -65
  85. package/modules/richaudienceBidAdapter.js +2 -3
  86. package/modules/rtdModule/index.js +48 -18
  87. package/modules/rubiconBidAdapter.js +31 -19
  88. package/modules/saambaaBidAdapter.js +420 -0
  89. package/modules/saambaaBidAdapter.md +65 -68
  90. package/modules/seedtagBidAdapter.js +6 -0
  91. package/modules/sharedIdSystem.js +27 -1
  92. package/modules/smaatoBidAdapter.js +9 -1
  93. package/modules/smartxBidAdapter.js +17 -1
  94. package/modules/sspBCBidAdapter.js +34 -3
  95. package/modules/tappxBidAdapter.js +3 -1
  96. package/modules/targetVideoBidAdapter.js +187 -0
  97. package/modules/targetVideoBidAdapter.md +34 -0
  98. package/modules/telariaBidAdapter.js +2 -2
  99. package/modules/trustxBidAdapter.js +18 -17
  100. package/modules/undertoneBidAdapter.js +8 -1
  101. package/modules/userId/index.js +27 -2
  102. package/modules/ventes.md +71 -0
  103. package/modules/ventesBidAdapter.js +104 -64
  104. package/modules/ventesBidAdapter.md +0 -1
  105. package/modules/vidoomyBidAdapter.js +65 -108
  106. package/modules/visxBidAdapter.js +20 -3
  107. package/modules/visxBidAdapter.md +4 -6
  108. package/modules/weboramaRtdProvider.js +288 -73
  109. package/modules/weboramaRtdProvider.md +27 -10
  110. package/modules/yahoosspBidAdapter.js +5 -1
  111. package/modules/yahoosspBidAdapter.md +1 -1
  112. package/modules/yieldlabBidAdapter.js +41 -10
  113. package/modules/yieldlabBidAdapter.md +91 -48
  114. package/modules/yieldoneBidAdapter.js +115 -11
  115. package/modules/zetaSspBidAdapter.md +33 -1
  116. package/modules/zeta_global_sspBidAdapter.js +22 -1
  117. package/package.json +6 -1
  118. package/plugins/pbjsGlobals.js +28 -1
  119. package/src/adapterManager.js +14 -8
  120. package/src/auction.js +5 -4
  121. package/src/prebid.js +1 -2
  122. package/src/targeting.js +24 -3
  123. package/src/utils.js +41 -7
  124. package/test/helpers/prebidGlobal.js +1 -0
  125. package/test/spec/integration/faker/googletag.js +6 -0
  126. package/test/spec/modules/33acrossBidAdapter_spec.js +300 -78
  127. package/test/spec/modules/adheseBidAdapter_spec.js +27 -1
  128. package/test/spec/modules/adlooxAnalyticsAdapter_spec.js +6 -6
  129. package/test/spec/modules/adnuntiusBidAdapter_spec.js +35 -0
  130. package/test/spec/modules/adomikAnalyticsAdapter_spec.js +9 -1
  131. package/test/spec/modules/adplusBidAdapter_spec.js +213 -0
  132. package/test/spec/modules/adxcgBidAdapter_spec.js +820 -571
  133. package/test/spec/modules/adyoulikeBidAdapter_spec.js +26 -0
  134. package/test/spec/modules/appnexusBidAdapter_spec.js +63 -1
  135. package/test/spec/modules/beachfrontBidAdapter_spec.js +65 -1
  136. package/test/spec/modules/beopBidAdapter_spec.js +1 -1
  137. package/test/spec/modules/bidViewabilityIO_spec.js +2 -2
  138. package/test/spec/modules/bidViewability_spec.js +4 -4
  139. package/test/spec/modules/codefuelBidAdapter_spec.js +1 -1
  140. package/test/spec/modules/colossussspBidAdapter_spec.js +9 -0
  141. package/test/spec/modules/compassBidAdapter_spec.js +397 -0
  142. package/test/spec/modules/cwireBidAdapter_spec.js +10 -8
  143. package/test/spec/modules/dailyhuntBidAdapter_spec.js +404 -0
  144. package/test/spec/modules/datablocksBidAdapter_spec.js +3 -3
  145. package/test/spec/modules/dchain_spec.js +329 -0
  146. package/test/spec/modules/emx_digitalBidAdapter_spec.js +10 -0
  147. package/test/spec/modules/engageyaBidAdapter_spec.js +231 -95
  148. package/test/spec/modules/eplanningBidAdapter_spec.js +8 -8
  149. package/test/spec/modules/feedadBidAdapter_spec.js +15 -0
  150. package/test/spec/modules/freewheel-sspBidAdapter_spec.js +19 -0
  151. package/test/spec/modules/glimpseBidAdapter_spec.js +33 -0
  152. package/test/spec/modules/goldbachBidAdapter_spec.js +1359 -0
  153. package/test/spec/modules/gptPreAuction_spec.js +58 -4
  154. package/test/spec/modules/gumgumBidAdapter_spec.js +6 -0
  155. package/test/spec/modules/imRtdProvider_spec.js +25 -0
  156. package/test/spec/modules/improvedigitalBidAdapter_spec.js +3 -1
  157. package/test/spec/modules/intersectionRtdProvider_spec.js +141 -0
  158. package/test/spec/modules/invibesBidAdapter_spec.js +148 -4
  159. package/test/spec/modules/ipromBidAdapter_spec.js +195 -0
  160. package/test/spec/modules/ixBidAdapter_spec.js +293 -2
  161. package/test/spec/modules/konduitWrapper_spec.js +0 -1
  162. package/test/spec/modules/limelightDigitalBidAdapter_spec.js +10 -7
  163. package/test/spec/modules/livewrappedBidAdapter_spec.js +31 -0
  164. package/test/spec/modules/lotamePanoramaIdSystem_spec.js +227 -0
  165. package/test/spec/modules/luponmediaBidAdapter_spec.js +412 -0
  166. package/test/spec/modules/mediasquareBidAdapter_spec.js +4 -4
  167. package/test/spec/modules/merkleIdSystem_spec.js +18 -0
  168. package/test/spec/modules/missenaBidAdapter_spec.js +134 -0
  169. package/test/spec/modules/nativoBidAdapter_spec.js +35 -18
  170. package/test/spec/modules/nextMillenniumBidAdapter_spec.js +26 -1
  171. package/test/spec/modules/oguryBidAdapter_spec.js +13 -11
  172. package/test/spec/modules/openxBidAdapter_spec.js +5 -0
  173. package/test/spec/modules/prebidServerBidAdapter_spec.js +62 -2
  174. package/test/spec/modules/pubgeniusBidAdapter_spec.js +3 -3
  175. package/test/spec/modules/pubmaticBidAdapter_spec.js +1 -1
  176. package/test/spec/modules/pubxaiAnalyticsAdapter_spec.js +11 -0
  177. package/test/spec/modules/realTimeDataModule_spec.js +135 -49
  178. package/test/spec/modules/relaidoBidAdapter_spec.js +71 -63
  179. package/test/spec/modules/richaudienceBidAdapter_spec.js +2 -2
  180. package/test/spec/modules/rubiconBidAdapter_spec.js +65 -9
  181. package/test/spec/modules/seedtagBidAdapter_spec.js +3 -0
  182. package/test/spec/modules/sharedIdSystem_spec.js +52 -6
  183. package/test/spec/modules/smaatoBidAdapter_spec.js +61 -0
  184. package/test/spec/modules/smartxBidAdapter_spec.js +9 -0
  185. package/test/spec/modules/sspBCBidAdapter_spec.js +33 -3
  186. package/test/spec/modules/tappxBidAdapter_spec.js +4 -0
  187. package/test/spec/modules/targetVideoBidAdapter_spec.js +96 -0
  188. package/test/spec/modules/trustxBidAdapter_spec.js +42 -0
  189. package/test/spec/modules/userId_spec.js +51 -0
  190. package/test/spec/modules/vidoomyBidAdapter_spec.js +32 -13
  191. package/test/spec/modules/visxBidAdapter_spec.js +121 -5
  192. package/test/spec/modules/weboramaRtdProvider_spec.js +408 -214
  193. package/test/spec/modules/yahoosspBidAdapter_spec.js +28 -1
  194. package/test/spec/modules/yieldlabBidAdapter_spec.js +81 -0
  195. package/test/spec/modules/yieldoneBidAdapter_spec.js +299 -53
  196. package/test/spec/modules/zeta_global_sspBidAdapter_spec.js +33 -1
  197. package/test/spec/unit/core/adapterManager_spec.js +24 -6
  198. package/test/spec/unit/core/targeting_spec.js +116 -0
  199. package/test/spec/utils_spec.js +38 -0
  200. package/test/test_deps.js +3 -0
  201. package/test/test_index.js +1 -3
package/.babelrc.js CHANGED
@@ -14,13 +14,7 @@ module.exports = {
14
14
  [
15
15
  useLocal('@babel/preset-env'),
16
16
  {
17
- "targets": {
18
- "browsers": [
19
- ">0.25%",
20
- "not ie 11",
21
- "not op_mini all"
22
- ]
23
- }
17
+ "useBuiltIns": "entry"
24
18
  }
25
19
  ]
26
20
  ],
@@ -52,7 +52,7 @@ aliases:
52
52
  - &unit_test_steps
53
53
  - checkout
54
54
  - restore_cache: *restore_dep_cache
55
- - run: npm install
55
+ - run: npm ci
56
56
  - save_cache: *save_dep_cache
57
57
  - run: *install
58
58
  - run: *setup_browserstack
package/README.md CHANGED
@@ -274,7 +274,7 @@ As you make code changes, the bundles will be rebuilt and the page reloaded auto
274
274
 
275
275
  ## Contribute
276
276
 
277
- Many SSPs, bidders, and publishers have contributed to this project. [Hundreds of bidders](https://github.com/prebid/Prebid.js/tree/master/src/adapters) are supported by Prebid.js.
277
+ Many SSPs, bidders, and publishers have contributed to this project. [Hundreds of bidders](https://github.com/prebid/Prebid.js/tree/master/modules) are supported by Prebid.js.
278
278
 
279
279
  For guidelines, see [Contributing](./CONTRIBUTING.md).
280
280
 
package/browsers.json CHANGED
@@ -1,65 +1,49 @@
1
1
  {
2
- "bs_edge_17_windows_10": {
2
+ "bs_edge_latest_windows_10": {
3
3
  "base": "BrowserStack",
4
4
  "os_version": "10",
5
5
  "browser": "edge",
6
- "browser_version": "17.0",
6
+ "browser_version": "latest",
7
7
  "device": null,
8
8
  "os": "Windows"
9
9
  },
10
- "bs_edge_90_windows_10": {
11
- "base": "BrowserStack",
12
- "os_version": "10",
13
- "browser": "edge",
14
- "browser_version": "90.0",
15
- "device": null,
16
- "os": "Windows"
17
- },
18
- "bs_chrome_90_windows_10": {
10
+ "bs_chrome_latest_windows_10": {
19
11
  "base": "BrowserStack",
20
12
  "os_version": "10",
21
13
  "browser": "chrome",
22
- "browser_version": "90.0",
14
+ "browser_version": "latest",
23
15
  "device": null,
24
16
  "os": "Windows"
25
17
  },
26
- "bs_chrome_79_windows_10": {
18
+ "bs_chrome_87_windows_10": {
27
19
  "base": "BrowserStack",
28
20
  "os_version": "10",
29
21
  "browser": "chrome",
30
- "browser_version": "79.0",
31
- "device": null,
32
- "os": "Windows"
33
- },
34
- "bs_firefox_88_windows_10": {
35
- "base": "BrowserStack",
36
- "os_version": "10",
37
- "browser": "firefox",
38
- "browser_version": "88.0",
22
+ "browser_version": "87.0",
39
23
  "device": null,
40
24
  "os": "Windows"
41
25
  },
42
- "bs_firefox_72_windows_10": {
26
+ "bs_firefox_latest_windows_10": {
43
27
  "base": "BrowserStack",
44
28
  "os_version": "10",
45
29
  "browser": "firefox",
46
- "browser_version": "72.0",
30
+ "browser_version": "latest",
47
31
  "device": null,
48
32
  "os": "Windows"
49
33
  },
50
- "bs_safari_14_mac_bigsur": {
34
+ "bs_safari_latest_mac_bigsur": {
51
35
  "base": "BrowserStack",
52
36
  "os_version": "Big Sur",
53
37
  "browser": "safari",
54
- "browser_version": "14.0",
38
+ "browser_version": "latest",
55
39
  "device": null,
56
40
  "os": "OS X"
57
41
  },
58
- "bs_safari_12_mac_mojave": {
42
+ "bs_safari_15_catalina": {
59
43
  "base": "BrowserStack",
60
- "os_version": "Mojave",
44
+ "os_version": "Catalina",
61
45
  "browser": "safari",
62
- "browser_version": "12.0",
46
+ "browser_version": "13.1",
63
47
  "device": null,
64
48
  "os": "OS X"
65
49
  }
package/gulpfile.js CHANGED
@@ -76,6 +76,7 @@ function lint(done) {
76
76
  'modules/**/*.js',
77
77
  'test/**/*.js',
78
78
  'plugins/**/*.js',
79
+ '!plugins/**/node_modules/**',
79
80
  './*.js'
80
81
  ], { base: './' })
81
82
  .pipe(gulpif(argv.nolintfix, eslint(), eslint({ fix: true })))
@@ -114,38 +115,6 @@ function viewReview(done) {
114
115
 
115
116
  viewReview.displayName = 'view-review';
116
117
 
117
- // Watch Task with Live Reload
118
- function watch(done) {
119
- var mainWatcher = gulp.watch([
120
- 'src/**/*.js',
121
- 'modules/**/*.js',
122
- 'test/spec/**/*.js',
123
- '!test/spec/loaders/**/*.js'
124
- ]);
125
- var loaderWatcher = gulp.watch([
126
- 'loaders/**/*.js',
127
- 'test/spec/loaders/**/*.js'
128
- ]);
129
-
130
- connect.server({
131
- https: argv.https,
132
- port: port,
133
- host: FAKE_SERVER_HOST,
134
- root: './',
135
- livereload: true
136
- });
137
-
138
- mainWatcher.on('all', gulp.series(clean, gulp.parallel(lint, 'build-bundle-dev', test)));
139
- loaderWatcher.on('all', gulp.series(lint));
140
- done();
141
- };
142
-
143
- function makeModuleList(modules) {
144
- return modules.map(module => {
145
- return '"' + module + '"'
146
- });
147
- }
148
-
149
118
  function makeDevpackPkg() {
150
119
  var cloned = _.cloneDeep(webpackConfig);
151
120
  cloned.devtool = 'source-map';
@@ -157,7 +126,6 @@ function makeDevpackPkg() {
157
126
  return gulp.src([].concat(moduleSources, analyticsSources, 'src/prebid.js'))
158
127
  .pipe(helpers.nameModules(externalModules))
159
128
  .pipe(webpackStream(cloned, webpack))
160
- .pipe(replace(/('|")v\$prebid\.modulesList\$('|")/g, makeModuleList(externalModules)))
161
129
  .pipe(gulp.dest('build/dev'))
162
130
  .pipe(connect.reload());
163
131
  }
@@ -175,7 +143,6 @@ function makeWebpackPkg() {
175
143
  .pipe(helpers.nameModules(externalModules))
176
144
  .pipe(webpackStream(cloned, webpack))
177
145
  .pipe(terser())
178
- .pipe(replace(/('|")v\$prebid\.modulesList\$('|")/g, makeModuleList(externalModules)))
179
146
  .pipe(gulpif(file => file.basename === 'prebid-core.js', header(banner, { prebid: prebid })))
180
147
  .pipe(gulp.dest('build/dist'));
181
148
  }
@@ -254,60 +221,68 @@ function bundle(dev, moduleArr) {
254
221
  // If --browsers is given, browsers can be chosen explicitly. e.g. --browsers=chrome,firefox,ie9
255
222
  // If --notest is given, it will immediately skip the test task (useful for developing changes with `gulp serve --notest`)
256
223
 
257
- function test(done) {
258
- if (argv.notest) {
259
- done();
260
- } else if (argv.e2e) {
261
- let wdioCmd = path.join(__dirname, 'node_modules/.bin/wdio');
262
- let wdioConf = path.join(__dirname, 'wdio.conf.js');
263
- let wdioOpts;
264
-
265
- if (argv.file) {
266
- wdioOpts = [
267
- wdioConf,
268
- `--spec`,
269
- `${argv.file}`
270
- ]
271
- } else {
272
- wdioOpts = [
273
- wdioConf
274
- ];
275
- }
224
+ function testTaskMaker(options = {}) {
225
+ ['watch', 'e2e', 'file', 'browserstack', 'notest'].forEach(opt => {
226
+ options[opt] = options[opt] || argv[opt];
227
+ })
276
228
 
277
- // run fake-server
278
- const fakeServer = spawn('node', ['./test/fake-server/index.js', `--port=${FAKE_SERVER_PORT}`]);
279
- fakeServer.stdout.on('data', (data) => {
280
- console.log(`stdout: ${data}`);
281
- });
282
- fakeServer.stderr.on('data', (data) => {
283
- console.log(`stderr: ${data}`);
284
- });
229
+ return function test(done) {
230
+ if (options.notest) {
231
+ done();
232
+ } else if (options.e2e) {
233
+ let wdioCmd = path.join(__dirname, 'node_modules/.bin/wdio');
234
+ let wdioConf = path.join(__dirname, 'wdio.conf.js');
235
+ let wdioOpts;
236
+
237
+ if (options.file) {
238
+ wdioOpts = [
239
+ wdioConf,
240
+ `--spec`,
241
+ `${options.file}`
242
+ ]
243
+ } else {
244
+ wdioOpts = [
245
+ wdioConf
246
+ ];
247
+ }
285
248
 
286
- execa(wdioCmd, wdioOpts, { stdio: 'inherit' })
287
- .then(stdout => {
288
- // kill fake server
289
- fakeServer.kill('SIGINT');
290
- done();
291
- process.exit(0);
292
- })
293
- .catch(err => {
294
- // kill fake server
295
- fakeServer.kill('SIGINT');
296
- done(new Error(`Tests failed with error: ${err}`));
297
- process.exit(1);
249
+ // run fake-server
250
+ const fakeServer = spawn('node', ['./test/fake-server/index.js', `--port=${FAKE_SERVER_PORT}`]);
251
+ fakeServer.stdout.on('data', (data) => {
252
+ console.log(`stdout: ${data}`);
253
+ });
254
+ fakeServer.stderr.on('data', (data) => {
255
+ console.log(`stderr: ${data}`);
298
256
  });
299
- } else {
300
- var karmaConf = karmaConfMaker(false, argv.browserstack, argv.watch, argv.file);
301
257
 
302
- var browserOverride = helpers.parseBrowserArgs(argv);
303
- if (browserOverride.length > 0) {
304
- karmaConf.browsers = browserOverride;
305
- }
258
+ execa(wdioCmd, wdioOpts, { stdio: 'inherit' })
259
+ .then(stdout => {
260
+ // kill fake server
261
+ fakeServer.kill('SIGINT');
262
+ done();
263
+ process.exit(0);
264
+ })
265
+ .catch(err => {
266
+ // kill fake server
267
+ fakeServer.kill('SIGINT');
268
+ done(new Error(`Tests failed with error: ${err}`));
269
+ process.exit(1);
270
+ });
271
+ } else {
272
+ var karmaConf = karmaConfMaker(false, options.browserstack, options.watch, options.file);
306
273
 
307
- new KarmaServer(karmaConf, newKarmaCallback(done)).start();
274
+ var browserOverride = helpers.parseBrowserArgs(argv);
275
+ if (browserOverride.length > 0) {
276
+ karmaConf.browsers = browserOverride;
277
+ }
278
+
279
+ new KarmaServer(karmaConf, newKarmaCallback(done)).start();
280
+ }
308
281
  }
309
282
  }
310
283
 
284
+ const test = testTaskMaker();
285
+
311
286
  function newKarmaCallback(done) {
312
287
  return function (exitCode) {
313
288
  if (exitCode) {
@@ -384,6 +359,35 @@ function startFakeServer() {
384
359
  });
385
360
  }
386
361
 
362
+ // Watch Task with Live Reload
363
+ function watchTaskMaker(options = {}) {
364
+ if (options.livereload == null) {
365
+ options.livereload = true;
366
+ }
367
+ options.alsoWatch = options.alsoWatch || [];
368
+
369
+ return function watch(done) {
370
+ var mainWatcher = gulp.watch([
371
+ 'src/**/*.js',
372
+ 'modules/**/*.js',
373
+ ].concat(options.alsoWatch));
374
+
375
+ connect.server({
376
+ https: argv.https,
377
+ port: port,
378
+ host: FAKE_SERVER_HOST,
379
+ root: './',
380
+ livereload: options.livereload
381
+ });
382
+
383
+ mainWatcher.on('all', options.task());
384
+ done();
385
+ }
386
+ }
387
+
388
+ const watch = watchTaskMaker({alsoWatch: ['test/**/*.js'], task: () => gulp.series(clean, gulp.parallel(lint, 'build-bundle-dev', test))});
389
+ const watchFast = watchTaskMaker({livereload: false, task: () => gulp.series('build-bundle-dev')});
390
+
387
391
  // support tasks
388
392
  gulp.task(lint);
389
393
  gulp.task(watch);
@@ -396,7 +400,8 @@ gulp.task('build-bundle-dev', gulp.series(makeDevpackPkg, gulpBundle.bind(null,
396
400
  gulp.task('build-bundle-prod', gulp.series(makeWebpackPkg, gulpBundle.bind(null, false)));
397
401
 
398
402
  // public tasks (dependencies are needed for each task since they can be ran on their own)
399
- gulp.task('test', gulp.series(clean, lint, test));
403
+ gulp.task('test-only', test);
404
+ gulp.task('test', gulp.series(clean, lint, 'test-only'));
400
405
 
401
406
  gulp.task('test-coverage', gulp.series(clean, testCoverage));
402
407
  gulp.task(viewCoverage);
@@ -407,7 +412,8 @@ gulp.task('build', gulp.series(clean, 'build-bundle-prod'));
407
412
  gulp.task('build-postbid', gulp.series(escapePostbidConfig, buildPostbid));
408
413
 
409
414
  gulp.task('serve', gulp.series(clean, lint, gulp.parallel('build-bundle-dev', watch, test)));
410
- gulp.task('serve-fast', gulp.series(clean, gulp.parallel('build-bundle-dev', watch)));
415
+ gulp.task('serve-fast', gulp.series(clean, gulp.parallel('build-bundle-dev', watchFast)));
416
+ gulp.task('serve-and-test', gulp.series(clean, gulp.parallel('build-bundle-dev', watchFast, testTaskMaker({watch: true}))));
411
417
  gulp.task('serve-fake', gulp.series(clean, gulp.parallel('build-bundle-dev', watch), injectFakeServerEndpointDev, test, startFakeServer));
412
418
 
413
419
  gulp.task('default', gulp.series(clean, makeWebpackPkg));
@@ -17,22 +17,31 @@
17
17
  debug: true,
18
18
  realTimeData: {
19
19
  auctionDelay: 1000,
20
- dataProviders: [
21
- {
20
+ dataProviders: [{
22
21
  name: "weborama",
23
22
  waitForIt: true,
24
23
  params: {
25
- weboCtxConf: {
26
- setTargeting: true,
27
- token: "to-be-defined",
28
- targetURL: "https://prebid.org/",
29
- defaultProfile: {
30
- webo_ctx: ['moon']
31
- }
32
- }
33
- }
34
- }
35
- ]
24
+ weboCtxConf: {
25
+ token: "to-be-defined", // mandatory
26
+ targetURL: "https://prebid.org", // default is document.URL
27
+ setPrebidTargeting: true, // default
28
+ sendToBidders: true, // default
29
+ defaultProfile: { // optional
30
+ webo_ctx: ['moon'],
31
+ webo_ds: ['bar']
32
+ }
33
+ },
34
+ weboUserDataConf: {
35
+ setPrebidTargeting: true, // default
36
+ sendToBidders: true, // default
37
+ defaultProfile: { // optional
38
+ webo_cs: ['Red'],
39
+ webo_audiences: ['bam']
40
+ },
41
+ localStorageProfileKey: 'webo_wam2gam_entry' // default
42
+ }
43
+ }
44
+ }]
36
45
  }
37
46
  });
38
47
  });
@@ -54,7 +63,7 @@
54
63
  }
55
64
  },
56
65
  bids: [{
57
- bidder: 'appnexus',
66
+ bidder: 'smartadserver',
58
67
  params: {
59
68
  placementId: 1
60
69
  }
@@ -111,7 +111,7 @@ module.exports = function(codeCoverage, browserstack, watchMode, file) {
111
111
  var webpackConfig = newWebpackConfig(codeCoverage);
112
112
  var plugins = newPluginsArray(browserstack);
113
113
 
114
- var files = file ? ['test/helpers/prebidGlobal.js', file] : ['test/test_index.js'];
114
+ var files = file ? ['test/test_deps.js', file] : ['test/test_index.js'];
115
115
  // This file opens the /debug.html tab automatically.
116
116
  // It has no real value unless you're running --watch, and intend to do some debugging in the browser.
117
117
  if (watchMode) {
@@ -166,7 +166,7 @@ module.exports = function(codeCoverage, browserstack, watchMode, file) {
166
166
  browserNoActivityTimeout: 3e5, // default 10000
167
167
  captureTimeout: 3e5, // default 60000,
168
168
  browserDisconnectTolerance: 3,
169
- concurrency: 5,
169
+ concurrency: 6,
170
170
 
171
171
  plugins: plugins
172
172
  }