Skip to content

Commit

Permalink
Merge pull request #168 from guardian/ei/undo-bundle-splitting
Browse files Browse the repository at this point in the history
No longer build regional versions of prebid
  • Loading branch information
emma-imber authored Jan 27, 2025
2 parents ac7a815 + 232f0d7 commit 05a7ef6
Show file tree
Hide file tree
Showing 15 changed files with 25 additions and 627 deletions.
17 changes: 3 additions & 14 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,20 +1,9 @@
# Built Files
node_modules/
build
# gu-mod-start #
# need to be granular otherwise it ignores the build files that we need
build/dist/uk/*
build/dist/us/*
build/dist/aus-nz/*
build/dist/row/*
build/dist/all/*
build/creative

# we install prebid as a dependency via these built files
!build/dist/uk/prebid.js
!build/dist/us/prebid.js
!build/dist/aus-nz/prebid.js
!build/dist/row/prebid.js
!build/dist/all/prebid.js
# we install prebid as a dependency via this built file
!build/dist/prebid.js
# gu-mod-end #

# Test Files
Expand Down
4 changes: 2 additions & 2 deletions GUARDIAN_modifications.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,8 +60,8 @@ gulp build
1. Ensure the package.json name field is `@guardian/prebid.js`
1. If this upgrade diverges from the upstream prebid.js version (i.e. a Guardian specific change) add a suffix to the package.json version field e.g. 8.34.0-1
1. Create new build
> npm run gu-build
1. Commit and ensure `build/dist/all/prebid.js` is included
> npm run build
1. Commit and ensure `build/dist/prebid.js` is included

### Troubleshooting

Expand Down
44 changes: 0 additions & 44 deletions build/dist/aus-nz/prebid.js

This file was deleted.

30 changes: 15 additions & 15 deletions build/dist/all/prebid.js → build/dist/prebid.js

Large diffs are not rendered by default.

44 changes: 0 additions & 44 deletions build/dist/row/prebid.js

This file was deleted.

44 changes: 0 additions & 44 deletions build/dist/uk/prebid.js

This file was deleted.

42 changes: 0 additions & 42 deletions build/dist/us/prebid.js

This file was deleted.

22 changes: 0 additions & 22 deletions gulpHelpers.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,6 @@ const BUILD_PATH = './build/dist';
const DEV_PATH = './build/dev';
const ANALYTICS_PATH = '../analytics';

/* gu-mod-start */
const GU_BUILD_PATH = './build/dist/';
/* gu-mod-end */

// get only subdirectories that contain package.json with 'main' property
function isModuleDirectory(filePath) {
try {
Expand Down Expand Up @@ -125,24 +121,6 @@ module.exports = {
return this.getBuiltPath(dev, 'prebid-core.js')
},

/* gu-mod-start */
guGetBuiltPath(dev, assetPath, version) {
return path.join(__dirname, dev ? DEV_PATH + version : GU_BUILD_PATH + version, assetPath)
},

guGetBuiltModules: function(dev, externalModules, version) {
var modules = this.getModuleNames(externalModules);
if (Array.isArray(externalModules)) {
modules = _.intersection(modules, externalModules);
}
return modules.map(name => this.guGetBuiltPath(dev, name + '.js', version));
},

guGetBuiltPrebidCoreFile: function(dev, version) {
return this.guGetBuiltPath(dev, 'prebid-core.js', version)
},
/* gu-mod-end */

getModulePaths: function(externalModules) {
var modules = this.getModules(externalModules);
return Object.keys(modules);
Expand Down
83 changes: 0 additions & 83 deletions gulpfile.js
Original file line number Diff line number Diff line change
Expand Up @@ -328,79 +328,6 @@ function bundle(dev, moduleArr) {
});
const entries = _.uniq([coreFile].concat(Array.from(dependencies), moduleFiles));

var outputFileName = argv.bundleName ? argv.bundleName : 'prebid.js';
// change output filename if argument --tag given
if (argv.tag && argv.tag.length) {
outputFileName = outputFileName.replace(/\.js$/, `.${argv.tag}.js`);
}
gutil.log('Concatenating files:\n', entries);
gutil.log('Appending ' + prebid.globalVarName + '.processQueue();');
gutil.log('Generating bundle:', outputFileName);
const wrap = wrapWithHeaderAndFooter(dev, modules);
return wrap(gulp.src(entries))
.pipe(gulpif(sm, sourcemaps.init({ loadMaps: true })))
.pipe(concat(outputFileName))
.pipe(gulpif(sm, sourcemaps.write('.')));
}

/* gu-mod-start */
/* Custom Guardian gulp functions to build separate versions of Prebid for different regions */

function guMakeWebpackPkg(version = 'uk', config = webpackConfig) {
var cloned = _.cloneDeep(config)
if (!argv.sourceMaps) {
delete cloned.devtool;
}

return function buildBundle() {
return prebidSource(cloned)
/* gu-mod-start */
// Surface exceptions from webpack
.on('error', (err) => {
console.error(err);
})
/* gu-mod-end */
.pipe(gulp.dest(`build/dist/${version}`));
}
}

function guClean() {
return gulp.src(['build/dist/' + argv.version], {
read: false,
allowEmpty: true
})
.pipe(gulpClean());
}

function guGulpBundle(dev, version) {
return guBundle(dev, version).pipe(gulp.dest('build/' + (dev ? 'dev/' : 'dist/') + version));
}

function guBundle(dev, version, moduleArr) {
var modules = moduleArr || helpers.getArgModules();
var allModules = helpers.getModuleNames(modules);
const sm = dev || argv.sourceMaps;

if (modules.length === 0) {
modules = allModules.filter(module => explicitModules.indexOf(module) === -1);
} else {
var diff = _.difference(modules, allModules);
if (diff.length !== 0) {
throw new gutil.PluginError({
plugin: 'bundle',
message: 'invalid modules: ' + diff.join(', ')
});
}
}
const coreFile = helpers.guGetBuiltPrebidCoreFile(dev, version);
const moduleFiles = helpers.guGetBuiltModules(dev, modules, version);
const depGraph = require(helpers.guGetBuiltPath(dev, 'dependencies.json', version));
const dependencies = new Set();
[coreFile].concat(moduleFiles).map(name => path.basename(name)).forEach((file) => {
(depGraph[file] || []).forEach((dep) => dependencies.add(helpers.guGetBuiltPath(dev, dep, version)));
});
const entries = _.uniq([coreFile].concat(Array.from(dependencies), moduleFiles));

var outputFileName = argv.bundleName ? argv.bundleName : 'prebid.js';

// change output filename if argument --tag given
Expand All @@ -419,8 +346,6 @@ function guBundle(dev, version, moduleArr) {
.pipe(gulpif(sm, sourcemaps.write('.')));
}

/* gu-mod-end */

// Run the unit tests.
//
// By default, this runs in headless chrome.
Expand Down Expand Up @@ -614,10 +539,6 @@ gulp.task('build-creative-prod', gulp.series(buildCreative(), updateCreativeRend
gulp.task('build-bundle-dev', gulp.series('build-creative-dev', makeDevpackPkg(standaloneDebuggingConfig), makeDevpackPkg(), gulpBundle.bind(null, true)));
gulp.task('build-bundle-prod', gulp.series('build-creative-prod', makeWebpackPkg(standaloneDebuggingConfig), makeWebpackPkg(), gulpBundle.bind(null, false)));

/* gu-mod-start */
gulp.task('gu-build-bundle-prod', gulp.series('build-creative-prod', guMakeWebpackPkg(argv.version, standaloneDebuggingConfig), guMakeWebpackPkg(argv.version), guGulpBundle.bind(null, false, argv.version)));
/* gu-mod-end */

// build-bundle-verbose - prod bundle except names and comments are preserved. Use this to see the effects
// of dead code elimination.
gulp.task('build-bundle-verbose', gulp.series('build-creative-dev', makeWebpackPkg(makeVerbose(standaloneDebuggingConfig)), makeWebpackPkg(makeVerbose()), gulpBundle.bind(null, true)));
Expand All @@ -634,10 +555,6 @@ gulp.task('coveralls', gulp.series('test-coverage', coveralls));

gulp.task('build', gulp.series(clean, 'build-bundle-prod', updateCreativeExample));

/* gu-mod-start */
gulp.task('gu-build', gulp.series(guClean, 'gu-build-bundle-prod', updateCreativeExample));
/* gu-mod-end */

gulp.task('build-postbid', gulp.series(escapePostbidConfig, buildPostbid));

gulp.task('serve', gulp.series(clean, lint, gulp.parallel('build-bundle-dev', watch, test)));
Expand Down
16 changes: 0 additions & 16 deletions modules-aus-nz.json

This file was deleted.

17 changes: 0 additions & 17 deletions modules-row.json

This file was deleted.

17 changes: 0 additions & 17 deletions modules-uk.json

This file was deleted.

18 changes: 0 additions & 18 deletions modules-us.json

This file was deleted.

Loading

0 comments on commit 05a7ef6

Please sign in to comment.