Socket
Socket
Sign inDemoInstall

@schibsted/niche-ads

Package Overview
Dependencies
Maintainers
8
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 5.2.1 to 5.3.0

src/global.d.ts

9

lib/Ads.d.ts

@@ -23,2 +23,3 @@ import type { AdsConfig, Device, EidsConfig, GlimrConfig, LoadAdsArguments, Placement, PlacementConfig, Ppids, WallpaperConfig, invCodeBuilderSignature } from './types';

private _ppids;
private _headerBidding;
private _adBlockerDetected;

@@ -28,3 +29,3 @@ get adBlockerDetected(): boolean | null;

private _invCodeBuilder;
constructor({ adsConfig, cdn, cogwheelCdn, wallpaper, eids, glimr, invCodeBuilder, }: {
constructor({ adsConfig, cdn, cogwheelCdn, wallpaper, eids, glimr, invCodeBuilder, headerBidding, }: {
adsConfig: AdsConfig;

@@ -37,2 +38,6 @@ cdn?: string;

invCodeBuilder: invCodeBuilderSignature;
headerBidding?: {
scriptUrl: string;
prebidConfig: any;
};
});

@@ -47,2 +52,4 @@ getPlacement: (targetId: string) => {

private _sendPlacementEvent;
private _getHeaderBiddingScript;
private _setHeaderBiddingEids;
initialize: () => Promise<void>;

@@ -49,0 +56,0 @@ private _buildPlacementTag;

@@ -51,7 +51,10 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {

this._ppids = newPpids;
if (this._eids.required) {
if (this._headerBidding) {
this._setHeaderBiddingEids();
}
if (this._eids.required || this._headerBidding) {
this._handleLoadAdsReload();
}
}
constructor({ adsConfig, cdn = 'https://acdn.adnxs.com/ast/ast.js', cogwheelCdn = 'https://cogwheel.inventory.schibsted.io/prod/latest/gdpr-bundle.js', wallpaper = { enabled: false }, eids = { required: false }, glimr = { enabled: false }, invCodeBuilder, }) {
constructor({ adsConfig, cdn = 'https://acdn.adnxs.com/ast/ast.js', cogwheelCdn = 'https://cogwheel.inventory.schibsted.io/prod/latest/gdpr-bundle.js', wallpaper = { enabled: false }, eids = { required: false }, glimr = { enabled: false }, invCodeBuilder, headerBidding, }) {
this._initialized = false;

@@ -83,2 +86,51 @@ this._eventTarget = getEventTarget();

};
this._getHeaderBiddingScript = () => {
var _a;
if (!((_a = this._headerBidding) === null || _a === void 0 ? void 0 : _a.scriptUrl)) {
return Promise.resolve();
}
return loadScript(this._headerBidding.scriptUrl, 'headerBiddingScript');
};
this._setHeaderBiddingEids = () => {
var _a, _b, _c;
if ((_a = window.relevantDigital) === null || _a === void 0 ? void 0 : _a.addPrebidConfig) {
window.relevantDigital.addPrebidConfig({
userSync: {
userIds: [
{
name: 'pubProvidedId',
params: {
eids: [
{
source: 'SCHNO-EnvHash',
uids: [
{
id: [(_b = this._ppids) === null || _b === void 0 ? void 0 : _b.PPID2],
atype: 1,
ext: {
stype: 'ppuid',
},
},
],
},
{
source: 'SCHNO-UserHash',
uids: [
{
id: [(_c = this._ppids) === null || _c === void 0 ? void 0 : _c.PPID1],
atype: 1,
ext: {
stype: 'ppuid',
},
},
],
},
],
},
},
],
},
});
}
};
this.initialize = () => __awaiter(this, void 0, void 0, function* () {

@@ -98,4 +150,9 @@ if (this._initialized) {

// load ads scripts
Promise.all([loadScript(this._cdn, 'adsScript'), loadScript(this._cogwheelCdn, 'cogwheelScript')])
Promise.all([
loadScript(this._cdn, 'adsScript'),
loadScript(this._cogwheelCdn, 'cogwheelScript'),
this._getHeaderBiddingScript(),
])
.then(() => {
this._setHeaderBiddingEids();
if (!isASTLoaded()) {

@@ -173,3 +230,5 @@ setUpAPNObject();

this._hasClearPlacementsBeenCalledLast = false;
if (!this._device || !this.initialized || (this._eids.required && this._ppids === undefined)) {
if (!this._device ||
!this.initialized ||
((this._eids.required || this._headerBidding) && this._ppids === undefined)) {
this._retryLoadAds = { pageType, keywords, allowlist, blocklist };

@@ -238,3 +297,17 @@ return;

});
loadTags();
if (this._headerBidding && this._headerBidding.prebidConfig) {
try {
window.relevantDigital.cmd.push(() => {
var _a;
window.relevantDigital.loadPrebid((_a = this._headerBidding) === null || _a === void 0 ? void 0 : _a.prebidConfig);
});
}
catch (e) {
console.error('Header bidding failed', e);
loadTags();
}
}
else {
loadTags();
}
});

@@ -276,3 +349,4 @@ }

this._invCodeBuilder = invCodeBuilder;
this._headerBidding = headerBidding;
}
}

4

package.json
{
"name": "@schibsted/niche-ads",
"version": "5.2.1",
"version": "5.3.0",
"description": "Package containing ads logic reappearing across our projects",

@@ -30,3 +30,3 @@ "main": "lib/index.js",

},
"gitHead": "b7773cc2244a07510644244965fd94320ed98281"
"gitHead": "66f46f12e40f983ac830b74a03634962eda22bd3"
}

@@ -110,2 +110,9 @@ import { script, eventTarget } from '@schibsted/niche-utils';

private _headerBidding:
| undefined
| {
scriptUrl: string;
prebidConfig: any;
};
private _adBlockerDetected: boolean | null = null;

@@ -120,3 +127,7 @@

if (this._eids.required) {
if (this._headerBidding) {
this._setHeaderBiddingEids();
}
if (this._eids.required || this._headerBidding) {
this._handleLoadAdsReload();

@@ -136,2 +147,3 @@ }

invCodeBuilder,
headerBidding,
}: {

@@ -145,2 +157,6 @@ adsConfig: AdsConfig;

invCodeBuilder: invCodeBuilderSignature;
headerBidding?: {
scriptUrl: string;
prebidConfig: any;
};
}) {

@@ -154,2 +170,3 @@ this._adsConfig = adsConfig;

this._invCodeBuilder = invCodeBuilder;
this._headerBidding = headerBidding;
}

@@ -182,2 +199,52 @@

private _getHeaderBiddingScript = () => {
if (!this._headerBidding?.scriptUrl) {
return Promise.resolve();
}
return loadScript(this._headerBidding.scriptUrl, 'headerBiddingScript');
};
private _setHeaderBiddingEids = () => {
if (window.relevantDigital?.addPrebidConfig) {
window.relevantDigital.addPrebidConfig({
userSync: {
userIds: [
{
name: 'pubProvidedId',
params: {
eids: [
{
source: 'SCHNO-EnvHash', // SCHSE-EnvHash for Sweden
uids: [
{
id: [this._ppids?.PPID2],
atype: 1,
ext: {
stype: 'ppuid',
},
},
],
},
{
source: 'SCHNO-UserHash', // SCHSE-UserHash for Sweden
uids: [
{
id: [this._ppids?.PPID1],
atype: 1,
ext: {
stype: 'ppuid',
},
},
],
},
],
},
},
],
},
});
}
};
initialize = async () => {

@@ -200,4 +267,9 @@ if (this._initialized) {

// load ads scripts
Promise.all([loadScript(this._cdn, 'adsScript'), loadScript(this._cogwheelCdn, 'cogwheelScript')])
Promise.all([
loadScript(this._cdn, 'adsScript'),
loadScript(this._cogwheelCdn, 'cogwheelScript'),
this._getHeaderBiddingScript(),
])
.then(() => {
this._setHeaderBiddingEids();
if (!isASTLoaded()) {

@@ -289,3 +361,7 @@ setUpAPNObject();

if (!this._device || !this.initialized || (this._eids.required && this._ppids === undefined)) {
if (
!this._device ||
!this.initialized ||
((this._eids.required || this._headerBidding) && this._ppids === undefined)
) {
this._retryLoadAds = { pageType, keywords, allowlist, blocklist };

@@ -382,3 +458,14 @@

});
loadTags();
if (this._headerBidding && this._headerBidding.prebidConfig) {
try {
window.relevantDigital.cmd.push(() => {
window.relevantDigital.loadPrebid(this._headerBidding?.prebidConfig);
});
} catch (e) {
console.error('Header bidding failed', e);
loadTags();
}
} else {
loadTags();
}
});

@@ -385,0 +472,0 @@ }

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