From 4b880ec487e63510f8439f0e3328c3faf9e3a8e6 Mon Sep 17 00:00:00 2001 From: Anand Venkatraman Date: Thu, 30 Mar 2017 16:39:49 -0400 Subject: [PATCH] Support for downloading Analytics Adapters via http://prebid.org/download.html (#1021) * ET-1691: Pulsepoint Analytics adapter for Prebid. (#1) * ET-1691: Adding pulsepoint analytics and tests for pulsepoint adapter * ET-1691: Adding pulsepoint analytics and tests for pulsepoint adapter * ET-1691: cleanup * ET-1691: minor * ET-1691: revert package.json change * Adding bidRequest to bidFactory.createBid method as per https://github.com/prebid/Prebid.js/issues/509 * ET-1765: Adding support for additional params in PulsePoint adapter (#2) * ET-1850: Fixing https://github.com/prebid/Prebid.js/issues/866 * Minor fix * Ability to specify Analytics adapters for build * minor * fixing broken tests * Removing all analytics adapters in the default file --- analytics.json | 1 + loaders/adapterLoader.js | 2 +- loaders/analyticsLoader.js | 3 ++- loaders/getAdapters.js | 8 +++----- package.json | 1 - test/spec/loaders/getAdapters_spec.js | 10 ++++++---- 6 files changed, 13 insertions(+), 12 deletions(-) create mode 100644 analytics.json diff --git a/analytics.json b/analytics.json new file mode 100644 index 00000000000..0637a088a01 --- /dev/null +++ b/analytics.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/loaders/adapterLoader.js b/loaders/adapterLoader.js index c8750a61ff4..65c189584c2 100644 --- a/loaders/adapterLoader.js +++ b/loaders/adapterLoader.js @@ -8,7 +8,7 @@ const fs = require('fs'); const blockLoader = require('block-loader'); const getAdapters = require('./getAdapters'); -const adapters = getAdapters(); +const adapters = getAdapters('adapters.json', 'adapters'); const files = fs.readdirSync('src/adapters').map((file) => file.replace(/\.[^/.]+$/, '')); const adapterNames = adapters.filter(getStandardAdapters).filter(getUniques); //adapters loaded from `srcPath` diff --git a/loaders/analyticsLoader.js b/loaders/analyticsLoader.js index 38c7f2f6b86..7e76a2819d6 100644 --- a/loaders/analyticsLoader.js +++ b/loaders/analyticsLoader.js @@ -2,7 +2,8 @@ const fs = require('fs'); const blockLoader = require('block-loader'); -let analyticsAdapters = require('../package.json').analytics; +const getAdapters = require('./getAdapters'); +let analyticsAdapters = getAdapters('analytics.json', 'analyticsAdapters'); var options = { start: '/** INSERT ANALYTICS - DO NOT EDIT OR REMOVE */', diff --git a/loaders/getAdapters.js b/loaders/getAdapters.js index 1aeef7dde2e..b69a534fc7f 100644 --- a/loaders/getAdapters.js +++ b/loaders/getAdapters.js @@ -4,8 +4,6 @@ const fs = require('fs'); const path = require('path'); const argv = require('yargs').argv; -const defaultAdapters = 'adapters.json'; - function load(file) { try { const buffer = fs.readFileSync(file); @@ -15,8 +13,8 @@ function load(file) { } } -module.exports = function getAdapters() { - let customAdapters = argv.adapters; +module.exports = function getAdapters(defaultAdapters, argName) { + let customAdapters = argv[argName]; if (!customAdapters) { return load(defaultAdapters); @@ -29,7 +27,7 @@ module.exports = function getAdapters() { return load(customAdapters); } catch (e) { console.log(`Prebid Warning: custom adapters config cannot be loaded from ${customAdapters}, ` + - 'using default adapters.json'); + `using default ${defaultAdapters}`); return load(defaultAdapters); } }; diff --git a/package.json b/package.json index 3ccd746942f..926d3270068 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,6 @@ "prebid" ], "globalVarName": "pbjs", - "analytics": [], "author": "the prebid.js contributors", "license": "Apache-2.0", "devDependencies": { diff --git a/test/spec/loaders/getAdapters_spec.js b/test/spec/loaders/getAdapters_spec.js index 93d8e4ad69a..3cb6a4db74a 100644 --- a/test/spec/loaders/getAdapters_spec.js +++ b/test/spec/loaders/getAdapters_spec.js @@ -10,6 +10,8 @@ describe('loaders/getAdapters', () => { let defaultAdapters; let customAdapters; + const defaultAdaptersFile = 'adapters.json'; + const adaptersArg = 'adapters'; beforeEach(() => { defaultAdapters = [ 'adapter 1', 'adapter 2', 'adapter 3' ]; @@ -32,7 +34,7 @@ describe('loaders/getAdapters', () => { const getAdapters = proxyquire('../../../loaders/getAdapters', { yargs: { argv: { adapters: 'custom-adapters.json' } } }); - expect(getAdapters()).to.deep.equal(customAdapters); + expect(getAdapters(defaultAdaptersFile, adaptersArg)).to.deep.equal(customAdapters); }); }); @@ -51,7 +53,7 @@ describe('loaders/getAdapters', () => { const getAdapters = proxyquire('../../../loaders/getAdapters', { yargs: { argv: { adapters: 'non-existent-adapters.json' } } }); - expect(getAdapters()).to.deep.equal(defaultAdapters); + expect(getAdapters(defaultAdaptersFile, adaptersArg)).to.deep.equal(defaultAdapters); expect(log).to.match(/non-existent-adapters.json/); console.log = consoleLog; }); @@ -69,7 +71,7 @@ describe('loaders/getAdapters', () => { const getAdapters = proxyquire('../../../loaders/getAdapters', { yargs: { argv: {} } }); - expect(getAdapters()).to.deep.equal(defaultAdapters); + expect(getAdapters(defaultAdaptersFile, adaptersArg)).to.deep.equal(defaultAdapters); }); }); @@ -83,7 +85,7 @@ describe('loaders/getAdapters', () => { const getAdapters = proxyquire('../../../loaders/getAdapters', { yargs: { argv: {} } }); - expect(getAdapters()).to.deep.equal([]); + expect(getAdapters(defaultAdaptersFile, adaptersArg)).to.deep.equal([]); }); });