Skip to content

Commit 5b79210

Browse files
1. Prebid upgrade 7.25 changes. 2. Gulp 4 upgrade changes. 3.Node 14 upgrade changes. 4. Removed phantomjs. 5.Webpack upgrade
1 parent e91aa8b commit 5b79210

File tree

6 files changed

+147
-195
lines changed

6 files changed

+147
-195
lines changed

gulpfile.js

+71-94
Original file line numberDiff line numberDiff line change
@@ -6,24 +6,7 @@ var concat = require('gulp-concat');
66
var replace = require('gulp-replace-task');
77
var config = require("./src_new/config.js");
88

9-
// var replace = require('gulp-replace');
10-
// var insert = require('gulp-insert');
11-
// var uglify = require('gulp-uglify');
12-
// var jshint = require('gulp-jshint');
13-
// var jscs = require('gulp-jscs');
14-
// var karma = require('gulp-karma');
15-
// var mocha = require('gulp-mocha');
16-
// var gutil = require('gulp-util');
17-
// var opens = require('open');
18-
// var webserver = require('gulp-webserver');
19-
// var webpack = require('webpack-stream');
20-
// var webpackConfig = require('./webpack.config.js');
21-
// var replace = require('gulp-replace');
22-
// var optimizejs = require('gulp-optimize-js');
23-
// var stripCode = require('gulp-strip-code');
249
var eslint = require('gulp-eslint');
25-
// var karmaServer = require('karma').Server;
26-
// var stripComments = require('gulp-strip-comments');
2710
console.timeEnd("Loading plugins");
2811
var CI_MODE = (argv.mode === 'test-build') ? true : false;
2912
var isIdentityOnly = config.isIdentityOnly();
@@ -32,15 +15,34 @@ console.log("In openwrap gulp.sh profileMode = " + profileMode);
3215
console.log("argv ==>", argv);
3316

3417
var prebidRepoPath = argv.prebidpath || "../Prebid.js/";
35-
//console.log("@@@@@@@@@@@@ prebidRepoPath = ",prebidRepoPath);
36-
gulp.task('clean', ['update-adserver'], function() {
18+
19+
gulp.task('update-adserver', async function() {
20+
console.log("In update-adserver isIdentityOnly = " + isIdentityOnly);
21+
if (isIdentityOnly) {
22+
console.log("Executing update-adserver - START");
23+
var result = gulp.src(['./src_new/conf.js'])
24+
.pipe(replace({
25+
patterns: [
26+
{
27+
match: /['"]*adserver['"]*:[\s]*['"]*DFP['"]*/,
28+
replacement: '"adserver": "IDHUB"'
29+
}
30+
]
31+
}))
32+
.pipe(gulp.dest('./src_new/'));
33+
console.log("Executing update-adserver - END");
34+
return result;
35+
}
36+
});
37+
38+
gulp.task('clean', gulp.series('update-adserver', function() {
3739
var clean = require('gulp-clean');
3840
return gulp.src(['dist/**/*.js', 'build/'], {
3941
read: false,
4042
allowEmpty: true
4143
})
4244
.pipe(clean());
43-
});
45+
}));
4446

4547
function getRemoveCodeConfig(){
4648

@@ -79,7 +81,7 @@ function getRemoveCodeConfig(){
7981
}
8082

8183
// What all processing needs to be done ?
82-
gulp.task('webpack', ['clean'], function() {
84+
gulp.task('webpack', gulp.series('clean', function() {
8385
var config = require("./src_new/config.js");
8486
console.log("Executing webpack");
8587
var connect = require('gulp-connect');
@@ -90,9 +92,9 @@ gulp.task('webpack', ['clean'], function() {
9092
var fsCache = require('gulp-fs-cache');
9193
var removeCode = require('gulp-remove-code');
9294
var jsFsCache = fsCache('.tmp/jscache');
93-
webpackConfig.devtool = null;
95+
webpackConfig.devtool = false;
9496

95-
return gulp.src(config.isIdentityOnly() ? 'src_new/idhub.js' : 'src_new/owt.js')
97+
return gulp.src(config.isIdentityOnly() ? 'src_new/idhub.js' : 'src_new/owt.js', { allowEmpty: true })
9698
// return gulp.src('src_new/owt.js')
9799
.pipe(webpack(webpackConfig))
98100
.pipe(jsFsCache)
@@ -103,10 +105,10 @@ gulp.task('webpack', ['clean'], function() {
103105
.pipe(gulp.dest('build/dist'))
104106
.pipe(connect.reload())
105107
;
106-
});
108+
}));
107109

108110
// Run below task to create owt.js for creative
109-
gulp.task('webpack-creative', ['clean'], function() {
111+
gulp.task('webpack-creative', gulp.series('clean', function() {
110112
var connect = require('gulp-connect');
111113
var uglify = require('gulp-uglify');
112114
var webpack = require('webpack-stream');
@@ -121,10 +123,10 @@ gulp.task('webpack-creative', ['clean'], function() {
121123
.pipe(gulp.dest('build/dist'))
122124
.pipe(connect.reload())
123125
;
124-
});
126+
}));
125127

126128

127-
gulp.task('devpack', ['clean'],function () {
129+
gulp.task('devpack', gulp.series('clean', function () {
128130
var config = require("./src_new/config.js");
129131
var connect = require('gulp-connect');
130132
var webpack = require('webpack-stream');
@@ -133,21 +135,37 @@ var webpackConfig = require('./webpack.config.js');
133135

134136
webpackConfig.devtool = 'source-map';
135137

136-
return gulp.src(config.isIdentityOnly() ? 'src_new/idhub.js' : 'src_new/owt.js')
138+
return gulp.src(config.isIdentityOnly() ? 'src_new/idhub.js' : 'src_new/owt.js', {"allowEmpty": true})
137139
// return gulp.src('src_new/owt.js')
138140
.pipe(webpack(webpackConfig))
139141
.pipe(removeCode(getRemoveCodeConfig()))
140142
.pipe(gulp.dest('build/dev'))
141143
.pipe(connect.reload());
142-
});
144+
}));
143145

146+
// Task to remove privately exposed functions as well as remove test cases which test private functions
147+
gulp.task('unexpose', function() {
148+
var stripCode = require('gulp-strip-code');
149+
150+
return gulp
151+
.src([
152+
'src_new/**/*.js',
153+
'test/**/*.js'
154+
],
155+
{ base: './' }
156+
)
157+
.pipe(stripCode({
158+
start_comment: "start-test-block",
159+
end_comment: "end-test-block"
160+
}))
161+
.pipe(gulp.dest('./temp/'));
162+
});
144163

145164
// Test all code without private functions
146-
gulp.task('test', ['unexpose'], function (done) {
147-
var karma = require('gulp-karma');
165+
gulp.task('test', gulp.series('unexpose', function (done) {
148166
var karmaServer = require('karma').Server;
149167

150-
var defaultBrowsers = CI_MODE ? ['PhantomJS'] : ['Chrome'];
168+
var defaultBrowsers = CI_MODE ? ['ChromeHeadless'] : ['Chrome'];
151169
new karmaServer({
152170
browsers: defaultBrowsers,
153171
basePath: './temp',
@@ -165,14 +183,13 @@ gulp.task('test', ['unexpose'], function (done) {
165183
}
166184
});
167185
}).start();
168-
});
186+
}));
169187

170188

171189
// Test all code including private functions
172-
gulp.task('testall', function (done) {
173-
var karma = require('gulp-karma');
190+
gulp.task('testall', async function (done) {
174191
var karmaServer = require('karma').Server;
175-
var defaultBrowsers = CI_MODE ? ['PhantomJS'] : ['Chrome'];
192+
var defaultBrowsers = CI_MODE ? ['ChromeHeadless'] : ['Chrome'];
176193
new karmaServer({
177194
browsers: defaultBrowsers,
178195
configFile: __dirname + '/karma.conf.js',
@@ -188,8 +205,8 @@ gulp.task('testall', function (done) {
188205

189206
// Small task to load coverage reports in the browser
190207
gulp.task('coverage', function (done) {
191-
var connect = require('gulp-connect');
192-
var opens = require('open');
208+
var connect = require('gulp-connect');
209+
var opens = require('open');
193210

194211
var coveragePort = 1999;
195212
connect.server({
@@ -202,25 +219,6 @@ var opens = require('open');
202219
});
203220

204221

205-
// Task to remove privately exposed functions as well as remove test cases which test private functions
206-
gulp.task('unexpose', function() {
207-
var stripCode = require('gulp-strip-code');
208-
209-
return gulp
210-
.src([
211-
'src_new/**/*.js',
212-
'test/**/*.js'
213-
],
214-
{ base: './' }
215-
)
216-
.pipe(stripCode({
217-
start_comment: "start-test-block",
218-
end_comment: "end-test-block"
219-
}))
220-
.pipe(gulp.dest('./temp/'));
221-
});
222-
223-
224222
// Code linting with eslint
225223
gulp.task('lint', () => {
226224
return gulp.src([
@@ -255,17 +253,16 @@ gulp.task('change-prebid-keys', () => {
255253
});
256254

257255
// Task to build minified version of owt.js
258-
gulp.task('bundle', ['update-adserver'], function () {
256+
gulp.task('bundle', gulp.series('update-adserver', function () {
259257
console.log("Executing build");
260258
var prebidFileName = (profileMode === "IH" ? '/build/dist/prebid.idhub.js' : '/build/dist/prebid.js')
261-
var prependscript = "", appendScript = "";
262-
return gulp.src([prependscript, prebidRepoPath + prebidFileName, './build/dist/owt.js', appendScript])
259+
return gulp.src([prebidRepoPath + prebidFileName, './build/dist/owt.js'], { allowEmpty: true })
263260
.pipe(concat('owt.min.js'))
264261
.pipe(gulp.dest('build'));
265-
});
262+
}));
266263

267264
gulp.task('bundle-pb-keys', function(){
268-
return gulp.src('./build/owt.min.js')
265+
return gulp.src('./build/owt.min.js', { allowEmpty: true })
269266
.pipe(replace({
270267
patterns: [
271268
{
@@ -290,7 +287,7 @@ gulp.task('bundle-pb-keys', function(){
290287
});
291288

292289
gulp.task('bundle-native-pb-keys', function(){
293-
return gulp.src('./build/owt.min.js')
290+
return gulp.src('./build/owt.min.js', { allowEmpty: true })
294291
.pipe(replace({
295292
patterns: [
296293
{
@@ -323,8 +320,8 @@ gulp.task('bundle-native-pb-keys', function(){
323320
.pipe(gulp.dest('build'));
324321
});
325322

326-
gulp.task('bundle-pwt-keys', function(){
327-
return gulp.src('./build/owt.min.js')
323+
gulp.task('bundle-pwt-keys', function() {
324+
return gulp.src('./build/owt.min.js', { allowEmpty: true })
328325
.pipe(replace({
329326
patterns: [
330327
{
@@ -351,7 +348,7 @@ gulp.task('bundle-pwt-keys', function(){
351348
});
352349

353350
gulp.task('bundle-native-pwt-keys', function(){
354-
return gulp.src('./build/owt.min.js')
351+
return gulp.src('./build/owt.min.js', { allowEmpty: true })
355352
.pipe(replace({
356353
patterns: [
357354
{
@@ -384,51 +381,31 @@ gulp.task('bundle-native-pwt-keys', function(){
384381
// Task to build minified version of owt.js
385382
gulp.task('bundle-creative', function () {
386383
console.log("Executing creative-build");
387-
return gulp.src(['./build/dist/owt.js'])
384+
return gulp.src(['./build/dist/owt.js'] , { allowEmpty: true })
388385
.pipe(concat('owt.min.js'))
389386
.pipe(gulp.dest('build'));
390387
});
391388

392389

393390
// Task to build non-minified version of owt.js
394-
gulp.task('devbundle',['devpack'], function () {
391+
gulp.task('devbundle', gulp.series('devpack', function () {
395392
console.log("Executing Dev Build");
396393
// var prebidFileName = (profileMode === "IH" ? '/build/devIH/prebid.idhub.js' : '/build/dev/prebid.js')
397394
var prebidFileName = '/build/dev/prebid.js';
398-
return gulp.src([prebidRepoPath + prebidFileName, './build/dev/owt.js'])
395+
return gulp.src([prebidRepoPath + prebidFileName, './build/dev/owt.js'], { allowEmpty: true })
399396
.pipe(concat('owt.js'))
400397
.pipe(gulp.dest('build'));
401-
});
398+
}));
402399

403400

404-
gulp.task('bundle-prod',['webpack'], function () {
401+
gulp.task('bundle-prod', gulp.series('webpack', function () {
405402
console.log("Executing bundling");
406403
// var prebidFileName = (profileMode === "IH" ? '/build/distIH/prebid.idhub.js' : '/build/dist/prebid.js')
407404
var prebidFileName = '/build/dist/prebid.js';
408-
var prependscript = "", appendScript = "";
409-
return gulp.src([prependscript, prebidRepoPath + prebidFileName, './build/dist/owt.js', appendScript])
405+
return gulp.src([prebidRepoPath + prebidFileName, './build/dist/owt.js'], { allowEmpty: true })
410406
.pipe(concat('owt.min.js'))
411407
.pipe(gulp.dest('build'));
412-
});
413-
414-
gulp.task('update-adserver', function(){
415-
console.log("In update-adserver isIdentityOnly = " + isIdentityOnly);
416-
if (isIdentityOnly) {
417-
console.log("Executing update-adserver - START");
418-
var result = gulp.src(['./src_new/conf.js'])
419-
.pipe(replace({
420-
patterns: [
421-
{
422-
match: /['"]*adserver['"]*:[\s]*['"]*DFP['"]*/,
423-
replacement: '"adserver": "IDHUB"'
424-
}
425-
]
426-
}))
427-
.pipe(gulp.dest('./src_new/'));
428-
console.log("Executing update-adserver - END");
429-
return result;
430-
}
431-
});
408+
}));
432409

433410
gulp.task('update-namespace', function(){
434411
console.log("In update-namespace isIdentityOnly = " + isIdentityOnly);
@@ -446,4 +423,4 @@ gulp.task('update-namespace', function(){
446423
.pipe(gulp.dest(prebidRepoPath+'/build/dist/'));
447424
});
448425

449-
gulp.task('build-gpt-prod',[''])
426+
gulp.task('build-gpt-prod');

karma.conf.dev.js

+2-7
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,7 @@
11
// Karma configuration
22
// Generated on Thu Feb 23 2017 19:29:00 GMT+0530 (India Standard Time)
33
var webpackConfig = require('./webpack.config');
4-
webpackConfig.module.postLoaders = [{
5-
test: /\.js$/,
6-
exclude: /(node_modules)|(test)|(integrationExamples)|(build)|polyfill.js|(src\/adapters\/analytics\/ga.js)/, // TODO: reg ex to exlcude src_new folder ?
7-
loader: 'istanbul-instrumenter'
8-
}];
4+
95
module.exports = function(config) {
106
config.set({
117

@@ -120,8 +116,7 @@ module.exports = function(config) {
120116
'karma-sinon',
121117
'karma-expect',
122118
'karma-webpack',
123-
'karma-chrome-launcher',
124-
'karma-phantomjs-launcher'
119+
'karma-chrome-launcher'
125120
]
126121

127122
})

karma.conf.js

+15-10
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,7 @@
11
// Karma configuration
22
// Generated on Thu Feb 23 2017 19:29:00 GMT+0530 (India Standard Time)
33
var webpackConfig = require('./webpack.config');
4-
webpackConfig.module.postLoaders = [{
5-
test: /\.js$/,
6-
exclude: /(node_modules)|(test)|(integrationExamples)|(build)|polyfill.js|(src\/adapters\/analytics\/ga.js)/, // TODO: reg ex to exlcude src_new folder ?
7-
loader: 'istanbul-instrumenter'
8-
}];
4+
95
module.exports = function(config) {
106
config.set({
117

@@ -71,7 +67,7 @@ module.exports = function(config) {
7167

7268
// start these browsers
7369
// available browser launchers: https://npmjs.org/browse/keyword/karma-launcher
74-
browsers: ['PhantomJS'],
70+
browsers: ['ChromeHeadless'],
7571

7672

7773
// Continuous Integration mode
@@ -120,10 +116,19 @@ module.exports = function(config) {
120116
'karma-mocha',
121117
'karma-sinon',
122118
'karma-expect',
123-
'karma-webpack',
124-
'karma-chrome-launcher',
125-
'karma-phantomjs-launcher'
126-
]
119+
'karma-webpack'
120+
],
127121

122+
customLaunchers: {
123+
ChromeHeadless: {
124+
base: 'Chrome',
125+
flags: [
126+
'--no-sandbox',
127+
'--headless',
128+
'--disable-gpu',
129+
'--remote-debugging-port=9222'
130+
]
131+
}
132+
}
128133
})
129134
}

0 commit comments

Comments
 (0)