diff --git a/package.json b/package.json index 668140fe..77dc1eef 100644 --- a/package.json +++ b/package.json @@ -17,6 +17,7 @@ "keywords": [ "Prebid.js" ], + "globalVarName": "pbjs", "author": "Prebid.org Contributors", "license": "Apache-2.0", "bugs": { @@ -63,10 +64,12 @@ "webdriverio": "^4.13.2", "webpack": "^3.0.0", "webpack-stream": "^4.0.0", - "yargs": "^11.0.0" + "yargs": "^11.0.0", + "string-replace-webpack-plugin": "^0.1.3" }, "dependencies": { "babel-plugin-transform-object-assign": "^6.22.0", + "dev": "^0.1.3", "postscribe": "^2.0.8" } } diff --git a/src/renderingManager.js b/src/renderingManager.js index 7d999e87..c173a512 100644 --- a/src/renderingManager.js +++ b/src/renderingManager.js @@ -47,9 +47,9 @@ export function newRenderingManager(win, environment) { let w = win; for (let i = 0; i < 10; i++) { w = w.parent; - if (w.pbjs) { + if (w.$$PREBID_GLOBAL$$) { try { - w.pbjs.renderAd(doc, adId); + w.$$PREBID_GLOBAL$$.renderAd(doc, adId); break; } catch (e) { continue; diff --git a/test/spec/renderingManager_spec.js b/test/spec/renderingManager_spec.js index f4d5ceb5..feda576f 100644 --- a/test/spec/renderingManager_spec.js +++ b/test/spec/renderingManager_spec.js @@ -16,7 +16,7 @@ const renderingMocks = { }, parent: { postMessage: sinon.spy(), - pbjs: { + $$PREBID_GLOBAL$$: { renderAd: sinon.spy() } }, @@ -252,7 +252,7 @@ describe('renderingManager', function() { }; renderObject.renderAd(mockWin.document, ucTagData); - expect(mockWin.parent.pbjs.renderAd.callCount).to.equal(1); + expect(mockWin.parent.$$PREBID_GLOBAL$$.renderAd.callCount).to.equal(1); }); }); }); \ No newline at end of file diff --git a/webpack.conf.js b/webpack.conf.js index 04a198a0..7ba69e6d 100644 --- a/webpack.conf.js +++ b/webpack.conf.js @@ -1,4 +1,5 @@ var creative = require('./package.json'); +var StringReplacePlugin = require('string-replace-webpack-plugin'); var path = require('path'); var webpack = require('webpack'); @@ -26,6 +27,20 @@ module.exports = { } } ] + }, + { + test: /\.js$/, + include: /(src|test|testpages)/, + loader: StringReplacePlugin.replace({ + replacements: [ + { + pattern: /\$\$PREBID_GLOBAL\$\$/g, + replacement: function (match, p1, offset, string) { + return creative.globalVarName; + } + } + ] + }) } ] }