Socket
Socket
Sign inDemoInstall

@schibsted/niche-ads

Package Overview
Dependencies
Maintainers
4
Versions
60
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@schibsted/niche-ads - npm Package Compare versions

Comparing version 0.3.2 to 1.0.0

24

CHANGELOG.md

@@ -0,1 +1,25 @@

## [1.0.0](https://github.schibsted.io/przemyslaw-babiarz/niche-ads/compare/v0.3.2...v1.0.0) (2022-02-15)
### ⚠ BREAKING CHANGES
- loadAds now accepts an object as an argument
### Features
- allow placement filtering ([#19](https://github.schibsted.io/przemyslaw-babiarz/niche-ads/issues/19)) ([1b038d6](https://github.schibsted.io/przemyslaw-babiarz/niche-ads/commit/1b038d699b87b0ea4c0e8f8373d981738c7669c2))
### Miscellaneous Chores
- update babel monorepo ([#4](https://github.schibsted.io/przemyslaw-babiarz/niche-ads/issues/4)) ([0039909](https://github.schibsted.io/przemyslaw-babiarz/niche-ads/commit/0039909dfec49124145c86445e52594309ac79dc))
- update dependency @babel/core to ^7.17.2 ([#18](https://github.schibsted.io/przemyslaw-babiarz/niche-ads/issues/18)) ([76c7cc0](https://github.schibsted.io/przemyslaw-babiarz/niche-ads/commit/76c7cc02bb63cb19a4184e47fd40965d04b08029))
- update dependency eslint to ^8.8.0 ([#16](https://github.schibsted.io/przemyslaw-babiarz/niche-ads/issues/16)) ([e9329b4](https://github.schibsted.io/przemyslaw-babiarz/niche-ads/commit/e9329b4f401dfff4169aa06caf3235940318ec87))
- update dependency eslint to ^8.9.0 ([#20](https://github.schibsted.io/przemyslaw-babiarz/niche-ads/issues/20)) ([40f63ac](https://github.schibsted.io/przemyslaw-babiarz/niche-ads/commit/40f63ace0fe25e2d255a0483edc35afbe37f279a))
- update dependency lint-staged to ^12.3.3 ([#17](https://github.schibsted.io/przemyslaw-babiarz/niche-ads/issues/17)) ([3627db4](https://github.schibsted.io/przemyslaw-babiarz/niche-ads/commit/3627db4c4256ec99f8bb84168946f152202b35c6))
- update dependency prop-types to ^15.8.1 ([#15](https://github.schibsted.io/przemyslaw-babiarz/niche-ads/issues/15)) ([feae8bb](https://github.schibsted.io/przemyslaw-babiarz/niche-ads/commit/feae8bbc209223a4dcb20435d69485869a8a8603))
- update linters ([#7](https://github.schibsted.io/przemyslaw-babiarz/niche-ads/issues/7)) ([f66c3dd](https://github.schibsted.io/przemyslaw-babiarz/niche-ads/commit/f66c3ddcac702d08f3c39ca5571b744b2b60edd7))
- update node.js to v16 ([#12](https://github.schibsted.io/przemyslaw-babiarz/niche-ads/issues/12)) ([f61ac96](https://github.schibsted.io/przemyslaw-babiarz/niche-ads/commit/f61ac96fed7be5fbc626355d0bde848ba98ea4b4))
- update tool packages ([#11](https://github.schibsted.io/przemyslaw-babiarz/niche-ads/issues/11)) ([fcbbab0](https://github.schibsted.io/przemyslaw-babiarz/niche-ads/commit/fcbbab07a2ee3f6a93785cbf3771215115967bb8))
- update tool packages ([#21](https://github.schibsted.io/przemyslaw-babiarz/niche-ads/issues/21)) ([eec4cd0](https://github.schibsted.io/przemyslaw-babiarz/niche-ads/commit/eec4cd0e3c00703ec652c0b37274230795342457))
- update tool packages ([#8](https://github.schibsted.io/przemyslaw-babiarz/niche-ads/issues/8)) ([211f0ff](https://github.schibsted.io/przemyslaw-babiarz/niche-ads/commit/211f0ff8246e1204dd2d13fe335ff70bd524b2c3))
### [0.3.2](https://github.schibsted.io/przemyslaw-babiarz/niche-ads/compare/v0.3.1...v0.3.2) (2021-12-15)

@@ -2,0 +26,0 @@

60

dist/AdContext.js

@@ -52,13 +52,12 @@ "use strict";

function AdContextProvider({
adsConfig,
cdn,
chatbot,
children,
cogwheelCdn,
device,
wallpaper
}) {
var _adsConfig$placements;
function AdContextProvider(_ref) {
let {
adsConfig,
cdn,
chatbot,
children,
cogwheelCdn,
device,
wallpaper
} = _ref;
const [placementsConfig, setPlacementsConfig] = (0, _react.useState)([]);

@@ -105,7 +104,18 @@ const [placements, setPlacements] = (0, _react.useState)({});

}, [messageHandler]);
const loadAds = (0, _react.useCallback)(async (pageType, extraKeywords) => {
const loadAds = (0, _react.useCallback)(async _ref2 => {
let {
pageType,
keywords,
allowlist,
blocklist
} = _ref2;
await scriptsLoadPromise.current;
if (!device || !adScriptsReady) {
retryLoadAds.current = [pageType, extraKeywords];
retryLoadAds.current = {
pageType,
keywords,
allowlist,
blocklist
};
return;

@@ -120,3 +130,3 @@ }

keywords: { ...buildKeywords(adsConfig.keywords, device, pageType),
...extraKeywords,
...keywords,
'aa-sch-externalid_src': Boolean((0, _appnexus.getAdId)()) + Boolean((0, _appnexus.getUserId)())

@@ -128,3 +138,17 @@ },

});
setPlacementsConfig(adsConfig.placements[device][pageType].filter(placement => placement.invCode));
let newPlacementConfig = adsConfig.placements[device][pageType]?.filter(placement => placement.invCode);
if (!newPlacementConfig) {
throw new Error(`No configuration for device: ${device} and pageType: ${pageType}`);
}
if (allowlist?.length > 0) {
newPlacementConfig = newPlacementConfig.filter(placement => allowlist.includes(placement.targetId));
}
if (blocklist?.length > 0) {
newPlacementConfig = newPlacementConfig.filter(placement => !blocklist.includes(placement.targetId));
}
setPlacementsConfig(newPlacementConfig);
}, [device, adsConfig, adScriptsReady]);

@@ -135,7 +159,7 @@ (0, _react.useEffect)(() => {

retryLoadAds.current = false;
loadAds(...params);
loadAds(params);
}
}, [device, loadAds, adScriptsReady]);
(0, _react.useEffect)(() => {
if ((placementsConfig === null || placementsConfig === void 0 ? void 0 : placementsConfig.length) > 0) {
if (placementsConfig?.length > 0) {
const placementsConfigsChunks = (0, _splitEvery.default)(APPNEXUS_PLACEMENTS_PER_REQUEST_LIMIT, placementsConfig);

@@ -204,3 +228,3 @@ placementsConfigsChunks.forEach(placementsConfigChunk => {

return noop;
}, [placementsConfig, adsConfig === null || adsConfig === void 0 ? void 0 : (_adsConfig$placements = adsConfig.placements) === null || _adsConfig$placements === void 0 ? void 0 : _adsConfig$placements.common]);
}, [placementsConfig, adsConfig?.placements?.common]);
const clearPlacements = (0, _react.useCallback)(() => {

@@ -207,0 +231,0 @@ placementsConfigRef.current.forEach(placementConfig => {

@@ -10,3 +10,4 @@ "use strict";

function collapseAd(messageListenerEvent = {}) {
function collapseAd() {
let messageListenerEvent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
const {

@@ -13,0 +14,0 @@ data

@@ -14,7 +14,8 @@ "use strict";

*/
function attachWallpaperImageToPageBody( // eslint-disable-next-line default-param-last
messageListenerEvent = {}, {
setWallpaperFunction,
setBackgroundColorFunction
}) {
function attachWallpaperImageToPageBody() {
let messageListenerEvent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
let {
setWallpaperFunction,
setBackgroundColorFunction
} = arguments.length > 1 ? arguments[1] : undefined;
const {

@@ -21,0 +22,0 @@ data

@@ -24,6 +24,6 @@ "use strict";

});
Object.defineProperty(exports, "usePlacement", {
Object.defineProperty(exports, "useClearPlacements", {
enumerable: true,
get: function () {
return _usePlacement.default;
return _useClearPlacements.default;
}

@@ -37,6 +37,6 @@ });

});
Object.defineProperty(exports, "useClearPlacements", {
Object.defineProperty(exports, "usePlacement", {
enumerable: true,
get: function () {
return _useClearPlacements.default;
return _usePlacement.default;
}

@@ -43,0 +43,0 @@ });

@@ -24,6 +24,6 @@ "use strict";

const showAd = (0, _react.useCallback)(() => {
if (placement !== null && placement !== void 0 && placement.targetId) {
if (placement?.targetId) {
(0, _appnexus.showTag)(placement.targetId);
}
}, [placement === null || placement === void 0 ? void 0 : placement.targetId]);
}, [placement?.targetId]);
return (0, _react.useMemo)(() => [placement, showAd, placementConfig], [placement, showAd, placementConfig]);

@@ -30,0 +30,0 @@ };

@@ -6,3 +6,3 @@ "use strict";

});
exports.getAdId = exports.getUserId = exports.fireImpressionTrackers = exports.emitEvent = exports.onEvent = exports.offEvent = exports.setPageOpts = exports.showTag = exports.refresh = exports.loadTags = exports.clearRequest = exports.defineTag = exports.setUpAPNObject = exports.subscribeToASTLoad = exports.isASTLoaded = exports.APPNEXUS_EVENT_TYPES = void 0;
exports.subscribeToASTLoad = exports.showTag = exports.setUpAPNObject = exports.setPageOpts = exports.refresh = exports.onEvent = exports.offEvent = exports.loadTags = exports.isASTLoaded = exports.getUserId = exports.getAdId = exports.fireImpressionTrackers = exports.emitEvent = exports.defineTag = exports.clearRequest = exports.APPNEXUS_EVENT_TYPES = void 0;
const apntagLoadSubscribers = [];

@@ -66,6 +66,4 @@ let apntag = {

const setUpAPNObject = () => {
var _window$apntag, _window;
// eslint-disable-next-line no-multi-assign
apntag = window.apntag = (_window$apntag = (_window = window) === null || _window === void 0 ? void 0 : _window.apntag) !== null && _window$apntag !== void 0 ? _window$apntag : apntag;
apntag = window.apntag = window?.apntag ?? apntag;
apntag.anq = apntag.anq || [];

@@ -72,0 +70,0 @@ return apntag;

{
"name": "@schibsted/niche-ads",
"version": "0.3.2",
"version": "1.0.0",
"description": "Package containing ads logic reappearing across our projects",

@@ -31,24 +31,24 @@ "main": "dist/index.js",

"devDependencies": {
"@babel/cli": "^7.14.8",
"@babel/core": "^7.14.8",
"@babel/eslint-parser": "^7.16.3",
"@babel/preset-env": "^7.14.8",
"@babel/preset-react": "^7.14.5",
"@commitlint/cli": "^13.1.0",
"@commitlint/config-conventional": "^13.1.0",
"@release-it/conventional-changelog": "^3.3.0",
"eslint": "^8.2.0",
"eslint-config-airbnb": "^19.0.0",
"@babel/cli": "^7.17.0",
"@babel/core": "^7.17.2",
"@babel/eslint-parser": "^7.17.0",
"@babel/preset-env": "^7.16.11",
"@babel/preset-react": "^7.16.7",
"@commitlint/cli": "^16.2.1",
"@commitlint/config-conventional": "^16.2.1",
"@release-it/conventional-changelog": "^4.1.0",
"eslint": "^8.9.0",
"eslint-config-airbnb": "^19.0.4",
"eslint-config-prettier": "^8.3.0",
"eslint-plugin-babel": "^5.3.1",
"eslint-plugin-import": "^2.25.3",
"eslint-plugin-jsx-a11y": "^6.4.1",
"eslint-plugin-import": "^2.25.4",
"eslint-plugin-jsx-a11y": "^6.5.1",
"eslint-plugin-prettier": "^4.0.0",
"eslint-plugin-react": "^7.27.0",
"eslint-plugin-react": "^7.28.0",
"eslint-plugin-react-hooks": "^4.3.0",
"husky": "^7.0.2",
"lint-staged": "^11.1.2",
"prettier": "^2.4.0",
"prop-types": "^15.7.2",
"release-it": "^14.11.5",
"husky": "^7.0.4",
"lint-staged": "^12.3.4",
"prettier": "^2.5.1",
"prop-types": "^15.8.1",
"release-it": "^14.12.4",
"rimraf": "^3.0.2"

@@ -55,0 +55,0 @@ },

@@ -102,7 +102,7 @@ import { createContext, useCallback, useMemo, useState, useRef, useEffect } from 'react';

const loadAds = useCallback(
async (pageType, extraKeywords) => {
async ({ pageType, keywords, allowlist, blocklist }) => {
await scriptsLoadPromise.current;
if (!device || !adScriptsReady) {
retryLoadAds.current = [pageType, extraKeywords];
retryLoadAds.current = { pageType, keywords, allowlist, blocklist };

@@ -121,3 +121,3 @@ return;

...buildKeywords(adsConfig.keywords, device, pageType),
...extraKeywords,
...keywords,
'aa-sch-externalid_src': Boolean(getAdId()) + Boolean(getUserId()),

@@ -130,3 +130,13 @@ },

setPlacementsConfig(adsConfig.placements[device][pageType].filter((placement) => placement.invCode));
let newPlacementConfig = adsConfig.placements[device][pageType]?.filter((placement) => placement.invCode);
if (!newPlacementConfig) {
throw new Error(`No configuration for device: ${device} and pageType: ${pageType}`);
}
if (allowlist?.length > 0) {
newPlacementConfig = newPlacementConfig.filter((placement) => allowlist.includes(placement.targetId));
}
if (blocklist?.length > 0) {
newPlacementConfig = newPlacementConfig.filter((placement) => !blocklist.includes(placement.targetId));
}
setPlacementsConfig(newPlacementConfig);
},

@@ -140,3 +150,3 @@ [device, adsConfig, adScriptsReady]

retryLoadAds.current = false;
loadAds(...params);
loadAds(params);
}

@@ -143,0 +153,0 @@ }, [device, loadAds, adScriptsReady]);

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc