Skip to content

Commit

Permalink
Multiple adapters and modules: replace core-js polyfills with simpler…
Browse files Browse the repository at this point in the history
… stubs (#8136)

* Replace core-js polyfills with simpler stubs

* Update allowedModules / validateImports

* Move stubs to their own package to keep npm imports working without changes

* Move polyfills under src
  • Loading branch information
dgirardi authored Mar 4, 2022
1 parent 66ea405 commit 3fd3b5d
Show file tree
Hide file tree
Showing 134 changed files with 7,323 additions and 15,566 deletions.
7 changes: 0 additions & 7 deletions allowedModules.js
Original file line number Diff line number Diff line change
@@ -1,12 +1,5 @@

const sharedWhiteList = [
'core-js-pure/features/array/find', // no ie11
'core-js-pure/features/array/includes', // no ie11
'core-js-pure/features/set', // ie11 supports Set but not Set#values
'core-js-pure/features/string/includes', // no ie11
'core-js-pure/features/number/is-integer', // no ie11,
'core-js-pure/features/array/from', // no ie11
'core-js-pure/web/url-search-params' // no ie11
];

module.exports = {
Expand Down
43 changes: 31 additions & 12 deletions modules/adagioBidAdapter.js
Original file line number Diff line number Diff line change
@@ -1,18 +1,37 @@
import find from 'core-js-pure/features/array/find.js';
import {find} from '../src/polyfill.js';
import {
isInteger, isArray, deepAccess, mergeDeep, logWarn, logInfo, logError, getWindowTop, getWindowSelf, generateUUID, _map,
getDNT, parseUrl, getUniqueIdentifierStr, isNumber, cleanObj, isFn, inIframe, deepClone, getGptSlotInfoForAdUnitCode
_map,
cleanObj,
deepAccess,
deepClone,
generateUUID,
getDNT,
getGptSlotInfoForAdUnitCode,
getUniqueIdentifierStr,
getWindowSelf,
getWindowTop,
inIframe,
isArray,
isFn,
isInteger,
isNumber,
logError,
logInfo,
logWarn,
mergeDeep,
parseUrl
} from '../src/utils.js';
import { config } from '../src/config.js';
import {config} from '../src/config.js';
import {registerBidder} from '../src/adapters/bidderFactory.js';
import { loadExternalScript } from '../src/adloader.js';
import { verify } from 'criteo-direct-rsa-validate/build/verify.js';
import { getStorageManager } from '../src/storageManager.js';
import { getRefererInfo } from '../src/refererDetection.js';
import { createEidsArray } from './userId/eids.js';
import { BANNER, NATIVE, VIDEO } from '../src/mediaTypes.js';
import { Renderer } from '../src/Renderer.js';
import { OUTSTREAM } from '../src/video.js';
import {loadExternalScript} from '../src/adloader.js';
import {verify} from 'criteo-direct-rsa-validate/build/verify.js';
import {getStorageManager} from '../src/storageManager.js';
import {getRefererInfo} from '../src/refererDetection.js';
import {createEidsArray} from './userId/eids.js';
import {BANNER, NATIVE, VIDEO} from '../src/mediaTypes.js';
import {Renderer} from '../src/Renderer.js';
import {OUTSTREAM} from '../src/video.js';

const BIDDER_CODE = 'adagio';
const LOG_PREFIX = 'Adagio:';
const FEATURES_VERSION = '1';
Expand Down
27 changes: 19 additions & 8 deletions modules/adbookpspBidAdapter.js
Original file line number Diff line number Diff line change
@@ -1,13 +1,24 @@
import includes from 'core-js-pure/features/array/includes.js';
import find from 'core-js-pure/features/array/find';
import { config } from '../src/config.js';
import { BANNER, NATIVE, VIDEO } from '../src/mediaTypes.js';
import { getStorageManager } from '../src/storageManager.js';
import {find, includes} from '../src/polyfill.js';
import {config} from '../src/config.js';
import {BANNER, NATIVE, VIDEO} from '../src/mediaTypes.js';
import {getStorageManager} from '../src/storageManager.js';
import {
isPlainObject, deepSetValue, deepAccess, logWarn, inIframe, isNumber, logError, isArray, uniques,
flatten, triggerPixel, isStr, isEmptyStr, generateUUID
deepAccess,
deepSetValue,
flatten,
generateUUID,
inIframe,
isArray,
isEmptyStr,
isNumber,
isPlainObject,
isStr,
logError,
logWarn,
triggerPixel,
uniques
} from '../src/utils.js';
import { registerBidder } from '../src/adapters/bidderFactory.js';
import {registerBidder} from '../src/adapters/bidderFactory.js';

/**
* CONSTANTS
Expand Down
6 changes: 3 additions & 3 deletions modules/adhashBidAdapter.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { registerBidder } from '../src/adapters/bidderFactory.js';
import includes from 'core-js-pure/features/array/includes.js';
import { BANNER } from '../src/mediaTypes.js';
import {registerBidder} from '../src/adapters/bidderFactory.js';
import {includes} from '../src/polyfill.js';
import {BANNER} from '../src/mediaTypes.js';

const VERSION = '1.0';

Expand Down
23 changes: 19 additions & 4 deletions modules/adkernelBidAdapter.js
Original file line number Diff line number Diff line change
@@ -1,11 +1,26 @@
import {
isStr, isArray, isPlainObject, deepSetValue, isNumber, deepAccess, getAdUnitSizes, parseGPTSingleSizeArrayToRtbSize,
cleanObj, contains, getDNT, parseUrl, createTrackPixelHtml, _each, isArrayOfNums, mergeDeep, isEmpty, inIframe
_each,
cleanObj,
contains,
createTrackPixelHtml,
deepAccess,
deepSetValue,
getAdUnitSizes,
getDNT,
inIframe,
isArray,
isArrayOfNums,
isEmpty,
isNumber,
isPlainObject,
isStr,
mergeDeep,
parseGPTSingleSizeArrayToRtbSize,
parseUrl
} from '../src/utils.js';
import {BANNER, NATIVE, VIDEO} from '../src/mediaTypes.js';
import {registerBidder} from '../src/adapters/bidderFactory.js';
import find from 'core-js-pure/features/array/find.js';
import includes from 'core-js-pure/features/array/includes.js';
import {find, includes} from '../src/polyfill.js';
import {config} from '../src/config.js';

/*
Expand Down
24 changes: 18 additions & 6 deletions modules/adlooxAnalyticsAdapter.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,26 @@

import adapterManager from '../src/adapterManager.js';
import adapter from '../src/AnalyticsAdapter.js';
import { loadExternalScript } from '../src/adloader.js';
import { auctionManager } from '../src/auctionManager.js';
import { AUCTION_COMPLETED } from '../src/auction.js';
import {loadExternalScript} from '../src/adloader.js';
import {auctionManager} from '../src/auctionManager.js';
import {AUCTION_COMPLETED} from '../src/auction.js';
import CONSTANTS from '../src/constants.json';
import find from 'core-js-pure/features/array/find.js';
import {find} from '../src/polyfill.js';
import {
deepAccess, logInfo, isPlainObject, logError, isStr, isNumber, getGptSlotInfoForAdUnitCode,
isFn, mergeDeep, logMessage, insertElement, logWarn, getUniqueIdentifierStr, parseUrl
deepAccess,
getGptSlotInfoForAdUnitCode,
getUniqueIdentifierStr,
insertElement,
isFn,
isNumber,
isPlainObject,
isStr,
logError,
logInfo,
logMessage,
logWarn,
mergeDeep,
parseUrl
} from '../src/utils.js';

const MODULE = 'adlooxAnalyticsAdapter';
Expand Down
28 changes: 20 additions & 8 deletions modules/adlooxRtdProvider.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,28 @@
/* eslint standard/no-callback-literal: "off" */
/* eslint prebid/validate-imports: "off" */

import { command as analyticsCommand, COMMAND } from './adlooxAnalyticsAdapter.js';
import { config as _config } from '../src/config.js';
import { submodule } from '../src/hook.js';
import { ajax } from '../src/ajax.js';
import { getGlobal } from '../src/prebidGlobal.js';
import {command as analyticsCommand, COMMAND} from './adlooxAnalyticsAdapter.js';
import {config as _config} from '../src/config.js';
import {submodule} from '../src/hook.js';
import {ajax} from '../src/ajax.js';
import {getGlobal} from '../src/prebidGlobal.js';
import {
getAdUnitSizes, logInfo, isPlainObject, logError, isStr, isInteger, isArray, isBoolean, mergeDeep, deepAccess,
_each, deepSetValue, logWarn, getGptSlotInfoForAdUnitCode
_each,
deepAccess,
deepSetValue,
getAdUnitSizes,
getGptSlotInfoForAdUnitCode,
isArray,
isBoolean,
isInteger,
isPlainObject,
isStr,
logError,
logInfo,
logWarn,
mergeDeep
} from '../src/utils.js';
import includes from 'core-js-pure/features/array/includes.js';
import {includes} from '../src/polyfill.js';

const MODULE_NAME = 'adloox';
const MODULE = `${MODULE_NAME}RtdProvider`;
Expand Down
8 changes: 4 additions & 4 deletions modules/adnowBidAdapter.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { registerBidder } from '../src/adapters/bidderFactory.js';
import { NATIVE, BANNER } from '../src/mediaTypes.js';
import { parseSizesInput, deepAccess, parseQueryStringParameters } from '../src/utils.js';
import includes from 'core-js-pure/features/array/includes.js';
import {registerBidder} from '../src/adapters/bidderFactory.js';
import {BANNER, NATIVE} from '../src/mediaTypes.js';
import {deepAccess, parseQueryStringParameters, parseSizesInput} from '../src/utils.js';
import {includes} from '../src/polyfill.js';

const BIDDER_CODE = 'adnow';
const ENDPOINT = 'https://n.ads3-adnow.com/a';
Expand Down
5 changes: 2 additions & 3 deletions modules/adomikAnalyticsAdapter.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
import adapter from '../src/AnalyticsAdapter.js';
import CONSTANTS from '../src/constants.json';
import adapterManager from '../src/adapterManager.js';
import { logInfo } from '../src/utils.js';
import find from 'core-js-pure/features/array/find.js';
import findIndex from 'core-js-pure/features/array/find-index.js';
import {logInfo} from '../src/utils.js';
import {find, findIndex} from '../src/polyfill.js';

// Events used in adomik analytics adapter
const auctionInit = CONSTANTS.EVENTS.AUCTION_INIT;
Expand Down
6 changes: 3 additions & 3 deletions modules/adotBidAdapter.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import {Renderer} from '../src/Renderer.js';
import {registerBidder} from '../src/adapters/bidderFactory.js';
import {BANNER, NATIVE, VIDEO} from '../src/mediaTypes.js';
import {isStr, isFn, isArray, isPlainObject, isBoolean, logError, replaceAuctionPrice} from '../src/utils.js';
import find from 'core-js-pure/features/array/find.js';
import { config } from '../src/config.js';
import {isArray, isBoolean, isFn, isPlainObject, isStr, logError, replaceAuctionPrice} from '../src/utils.js';
import {find} from '../src/polyfill.js';
import {config} from '../src/config.js';
import { OUTSTREAM } from '../src/video.js';

const BIDDER_CODE = 'adot';
Expand Down
41 changes: 27 additions & 14 deletions modules/adpod.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,23 +13,36 @@
*/

import {
generateUUID, deepAccess, logWarn, logInfo, isArrayOfNums, isArray, isNumber, logError, groupBy, compareOn,
isPlainObject
compareOn,
deepAccess,
generateUUID,
groupBy,
isArray,
isArrayOfNums,
isNumber,
isPlainObject,
logError,
logInfo,
logWarn
} from '../src/utils.js';
import { addBidToAuction, doCallbacksIfTimedout, AUCTION_IN_PROGRESS, callPrebidCache, getPriceByGranularity, getPriceGranularity } from '../src/auction.js';
import { checkAdUnitSetup } from '../src/prebid.js';
import { checkVideoBidSetup } from '../src/video.js';
import { setupBeforeHookFnOnce, module } from '../src/hook.js';
import { store } from '../src/videoCache.js';
import { config } from '../src/config.js';
import { ADPOD } from '../src/mediaTypes.js';
import Set from 'core-js-pure/features/set';
import find from 'core-js-pure/features/array/find.js';
import { auctionManager } from '../src/auctionManager.js';
import {
addBidToAuction,
AUCTION_IN_PROGRESS,
callPrebidCache,
doCallbacksIfTimedout,
getPriceByGranularity,
getPriceGranularity
} from '../src/auction.js';
import {checkAdUnitSetup} from '../src/prebid.js';
import {checkVideoBidSetup} from '../src/video.js';
import {module, setupBeforeHookFnOnce} from '../src/hook.js';
import {store} from '../src/videoCache.js';
import {config} from '../src/config.js';
import {ADPOD} from '../src/mediaTypes.js';
import {find, arrayFrom as from} from '../src/polyfill.js';
import {auctionManager} from '../src/auctionManager.js';
import CONSTANTS from '../src/constants.json';

const from = require('core-js-pure/features/array/from.js');

const TARGETING_KEY_PB_CAT_DUR = 'hb_pb_cat_dur';
const TARGETING_KEY_CACHE_ID = 'hb_cache_id';

Expand Down
30 changes: 21 additions & 9 deletions modules/adrelevantisBidAdapter.js
Original file line number Diff line number Diff line change
@@ -1,14 +1,26 @@
import { Renderer } from '../src/Renderer.js';
import {Renderer} from '../src/Renderer.js';
import {
logError, convertTypes, convertCamelToUnderscore, isArray, deepClone, logWarn, logMessage, getBidRequest, deepAccess,
isStr, createTrackPixelHtml, isEmpty, transformBidderParamKeywords, chunk, isArrayOfNums
chunk,
convertCamelToUnderscore,
convertTypes,
createTrackPixelHtml,
deepAccess,
deepClone,
getBidRequest,
isArray,
isArrayOfNums,
isEmpty,
isStr,
logError,
logMessage,
logWarn,
transformBidderParamKeywords
} from '../src/utils.js';
import { config } from '../src/config.js';
import { registerBidder } from '../src/adapters/bidderFactory.js';
import { BANNER, NATIVE, VIDEO } from '../src/mediaTypes.js';
import find from 'core-js-pure/features/array/find.js';
import includes from 'core-js-pure/features/array/includes.js';
import { OUTSTREAM, INSTREAM } from '../src/video.js';
import {config} from '../src/config.js';
import {registerBidder} from '../src/adapters/bidderFactory.js';
import {BANNER, NATIVE, VIDEO} from '../src/mediaTypes.js';
import {find, includes} from '../src/polyfill.js';
import {INSTREAM, OUTSTREAM} from '../src/video.js';

const BIDDER_CODE = 'adrelevantis';
const URL = 'https://ssp.adrelevantis.com/prebid';
Expand Down
10 changes: 5 additions & 5 deletions modules/adtargetBidAdapter.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import { deepAccess, isArray, chunk, _map, flatten, logError, parseSizesInput } from '../src/utils.js';
import { registerBidder } from '../src/adapters/bidderFactory.js';
import { BANNER, VIDEO } from '../src/mediaTypes.js';
import { config } from '../src/config.js';
import find from 'core-js-pure/features/array/find.js';
import {_map, chunk, deepAccess, flatten, isArray, logError, parseSizesInput} from '../src/utils.js';
import {registerBidder} from '../src/adapters/bidderFactory.js';
import {BANNER, VIDEO} from '../src/mediaTypes.js';
import {config} from '../src/config.js';
import {find} from '../src/polyfill.js';

const ENDPOINT = 'https://ghb.console.adtarget.com.tr/v2/auction/';
const BIDDER_CODE = 'adtarget';
Expand Down
12 changes: 6 additions & 6 deletions modules/adtelligentBidAdapter.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import { deepAccess, isArray, chunk, _map, flatten, convertTypes, parseSizesInput } from '../src/utils.js';
import { registerBidder } from '../src/adapters/bidderFactory.js';
import { ADPOD, BANNER, VIDEO } from '../src/mediaTypes.js';
import { config } from '../src/config.js';
import { Renderer } from '../src/Renderer.js';
import find from 'core-js-pure/features/array/find.js';
import {_map, chunk, convertTypes, deepAccess, flatten, isArray, parseSizesInput} from '../src/utils.js';
import {registerBidder} from '../src/adapters/bidderFactory.js';
import {ADPOD, BANNER, VIDEO} from '../src/mediaTypes.js';
import {config} from '../src/config.js';
import {Renderer} from '../src/Renderer.js';
import {find} from '../src/polyfill.js';

const subdomainSuffixes = ['', 1, 2];
const AUCTION_PATH = '/v2/auction/';
Expand Down
11 changes: 5 additions & 6 deletions modules/advangelistsBidAdapter.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
import { isEmpty, deepAccess, isFn, parseSizesInput, generateUUID, parseUrl } from '../src/utils.js';
import { config } from '../src/config.js';
import { registerBidder } from '../src/adapters/bidderFactory.js';
import { VIDEO, BANNER } from '../src/mediaTypes.js';
import find from 'core-js-pure/features/array/find.js';
import includes from 'core-js-pure/features/array/includes.js';
import {deepAccess, generateUUID, isEmpty, isFn, parseSizesInput, parseUrl} from '../src/utils.js';
import {config} from '../src/config.js';
import {registerBidder} from '../src/adapters/bidderFactory.js';
import {BANNER, VIDEO} from '../src/mediaTypes.js';
import {find, includes} from '../src/polyfill.js';

const ADAPTER_VERSION = '1.0';
const BIDDER_CODE = 'advangelists';
Expand Down
6 changes: 3 additions & 3 deletions modules/adxpremiumAnalyticsAdapter.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import { logError, logInfo, deepClone } from '../src/utils.js';
import { ajax } from '../src/ajax.js';
import {deepClone, logError, logInfo} from '../src/utils.js';
import {ajax} from '../src/ajax.js';
import adapter from '../src/AnalyticsAdapter.js';
import adapterManager from '../src/adapterManager.js';
import CONSTANTS from '../src/constants.json';
import includes from 'core-js-pure/features/array/includes.js';
import {includes} from '../src/polyfill.js';

const analyticsType = 'endpoint';
const defaultUrl = 'https://adxpremium.services/graphql';
Expand Down
Loading

0 comments on commit 3fd3b5d

Please sign in to comment.