@guardian/commercial-core 3.2.1 → 3.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/dist/cjs/ad-sizes.d.ts +23 -5
  2. package/dist/cjs/ad-sizes.js +118 -3
  3. package/dist/cjs/constants/index.d.ts +2 -2
  4. package/dist/cjs/constants/index.js +4 -4
  5. package/dist/cjs/constants/{prebidTimeout.d.ts → prebid-timeout.d.ts} +0 -0
  6. package/dist/cjs/constants/{prebidTimeout.js → prebid-timeout.js} +0 -0
  7. package/dist/cjs/constants/{topAboveNavHeight.d.ts → top-above-nav-height.d.ts} +0 -0
  8. package/dist/cjs/constants/{topAboveNavHeight.js → top-above-nav-height.js} +0 -0
  9. package/dist/cjs/{detectAdBlocker.d.ts → detect-ad-blocker.d.ts} +2 -1
  10. package/dist/cjs/{detectAdBlocker.js → detect-ad-blocker.js} +2 -1
  11. package/dist/cjs/{EventTimer.d.ts → event-timer.d.ts} +2 -1
  12. package/dist/cjs/{EventTimer.js → event-timer.js} +2 -2
  13. package/dist/cjs/{GoogleAnalytics.d.ts → google-analytics.d.ts} +0 -0
  14. package/dist/cjs/{GoogleAnalytics.js → google-analytics.js} +0 -0
  15. package/dist/cjs/index.d.ts +5 -4
  16. package/dist/cjs/index.js +16 -9
  17. package/dist/cjs/permutive.d.ts +4 -3
  18. package/dist/cjs/permutive.js +1 -1
  19. package/dist/{esm/sendCommercialMetrics.d.ts → cjs/send-commercial-metrics.d.ts} +3 -3
  20. package/dist/cjs/{sendCommercialMetrics.js → send-commercial-metrics.js} +33 -16
  21. package/dist/cjs/targeting/content.d.ts +4 -3
  22. package/dist/cjs/targeting/personalised.d.ts +2 -1
  23. package/dist/cjs/targeting/session.d.ts +5 -4
  24. package/dist/cjs/targeting/shared.d.ts +8 -5
  25. package/dist/cjs/targeting/shared.js +1 -1
  26. package/dist/cjs/targeting/viewport.d.ts +4 -3
  27. package/dist/cjs/track-gpc-signal.d.ts +7 -0
  28. package/dist/cjs/track-gpc-signal.js +17 -0
  29. package/dist/cjs/track-scroll-depth.js +2 -2
  30. package/dist/cjs/types.d.ts +3 -4
  31. package/dist/esm/ad-sizes.d.ts +23 -5
  32. package/dist/esm/ad-sizes.js +116 -2
  33. package/dist/esm/constants/index.d.ts +2 -2
  34. package/dist/esm/constants/index.js +2 -2
  35. package/dist/esm/constants/{prebidTimeout.d.ts → prebid-timeout.d.ts} +0 -0
  36. package/dist/esm/constants/{prebidTimeout.js → prebid-timeout.js} +0 -0
  37. package/dist/esm/constants/{topAboveNavHeight.d.ts → top-above-nav-height.d.ts} +0 -0
  38. package/dist/esm/constants/{topAboveNavHeight.js → top-above-nav-height.js} +0 -0
  39. package/dist/esm/{detectAdBlocker.d.ts → detect-ad-blocker.d.ts} +2 -1
  40. package/dist/esm/{detectAdBlocker.js → detect-ad-blocker.js} +2 -1
  41. package/dist/esm/{EventTimer.d.ts → event-timer.d.ts} +2 -1
  42. package/dist/esm/{EventTimer.js → event-timer.js} +1 -1
  43. package/dist/esm/{GoogleAnalytics.d.ts → google-analytics.d.ts} +0 -0
  44. package/dist/esm/{GoogleAnalytics.js → google-analytics.js} +0 -0
  45. package/dist/esm/index.d.ts +5 -4
  46. package/dist/esm/index.js +5 -4
  47. package/dist/esm/permutive.d.ts +4 -3
  48. package/dist/esm/permutive.js +4 -3
  49. package/dist/{cjs/sendCommercialMetrics.d.ts → esm/send-commercial-metrics.d.ts} +3 -3
  50. package/dist/esm/{sendCommercialMetrics.js → send-commercial-metrics.js} +32 -14
  51. package/dist/esm/targeting/content.d.ts +4 -3
  52. package/dist/esm/targeting/content.js +2 -1
  53. package/dist/esm/targeting/personalised.d.ts +2 -1
  54. package/dist/esm/targeting/session.d.ts +5 -4
  55. package/dist/esm/targeting/session.js +2 -1
  56. package/dist/esm/targeting/shared.d.ts +8 -5
  57. package/dist/esm/targeting/shared.js +2 -1
  58. package/dist/esm/targeting/viewport.d.ts +4 -3
  59. package/dist/esm/targeting/viewport.js +2 -1
  60. package/dist/esm/track-gpc-signal.d.ts +7 -0
  61. package/dist/esm/track-gpc-signal.js +14 -0
  62. package/dist/esm/track-scroll-depth.js +1 -1
  63. package/dist/esm/types.d.ts +3 -4
  64. package/package.json +9 -9
@@ -6,7 +6,7 @@ const findBreakpoint = (width) => {
6
6
  return 'tablet';
7
7
  return 'mobile';
8
8
  };
9
- export const getViewportTargeting = ({ viewPortWidth, cmpBannerWillShow, }) => {
9
+ const getViewportTargeting = ({ viewPortWidth, cmpBannerWillShow, }) => {
10
10
  // Don’t show inskin if if a privacy message will be shown
11
11
  const inskin = cmpBannerWillShow ? 'f' : 't';
12
12
  return {
@@ -15,3 +15,4 @@ export const getViewportTargeting = ({ viewPortWidth, cmpBannerWillShow, }) => {
15
15
  inskin,
16
16
  };
17
17
  };
18
+ export { getViewportTargeting };
@@ -0,0 +1,7 @@
1
+ import type { ConsentState } from '@guardian/consent-management-platform/dist/types';
2
+ /**
3
+ * Collect metrics on gpcSignal presence and value
4
+ * https://globalprivacycontrol.github.io/gpc-spec/
5
+ */
6
+ declare const initTrackGpcSignal: (consentState: ConsentState) => void;
7
+ export { initTrackGpcSignal };
@@ -0,0 +1,14 @@
1
+ import { log } from '@guardian/libs';
2
+ import { EventTimer } from './event-timer';
3
+ /**
4
+ * Collect metrics on gpcSignal presence and value
5
+ * https://globalprivacycontrol.github.io/gpc-spec/
6
+ */
7
+ const initTrackGpcSignal = (consentState) => {
8
+ // If undefined we set the property value to -1, false is 0, true is 1
9
+ const gpcSignal = consentState.gpcSignal === undefined ? -1 : +consentState.gpcSignal;
10
+ const eventTimer = EventTimer.get();
11
+ log('commercial', `gpcSignal ${gpcSignal}`);
12
+ eventTimer.setProperty('gpcSignal', gpcSignal);
13
+ };
14
+ export { initTrackGpcSignal };
@@ -1,5 +1,5 @@
1
1
  import { log } from '@guardian/libs';
2
- import { EventTimer } from './EventTimer';
2
+ import { EventTimer } from './event-timer';
3
3
  /**
4
4
  * Collect commercial metrics on scroll depth
5
5
  * Insert hidden elements at intervals of 1 viewport height
@@ -55,7 +55,6 @@ export declare type AdsConfigTCFV2 = AdsConfigBasic & {
55
55
  export declare type AdsConfigEnabled = AdsConfigBasic | AdsConfigCCPAorAus | AdsConfigTCFV2;
56
56
  export declare type AdsConfig = AdsConfigEnabled | AdsConfigDisabled;
57
57
  export declare type AdTargetingBuilder = () => Promise<AdsConfig>;
58
- declare type True = 't';
59
- declare type False = 'f';
60
- declare type NotApplicable = 'na';
61
- export type { True, False, NotApplicable };
58
+ export declare type True = 't';
59
+ export declare type False = 'f';
60
+ export declare type NotApplicable = 'na';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@guardian/commercial-core",
3
- "version": "3.2.1",
3
+ "version": "3.5.0",
4
4
  "description": "Guardian advertising business logic",
5
5
  "homepage": "https://github.com/guardian/commercial-core#readme",
6
6
  "bugs": {
@@ -43,16 +43,16 @@
43
43
  "prettier": "@guardian/prettier",
44
44
  "devDependencies": {
45
45
  "@commitlint/cli": "^16.1.0",
46
- "@commitlint/config-conventional": "^16.0.0",
46
+ "@commitlint/config-conventional": "^17.0.0",
47
47
  "@guardian/ab-core": "^2.0.0",
48
- "@guardian/consent-management-platform": "^10.1.0",
48
+ "@guardian/consent-management-platform": "^10.6.0",
49
49
  "@guardian/eslint-config-typescript": "^1.0.0",
50
- "@guardian/libs": "3.6.1",
51
- "@guardian/prettier": "^0.7.0",
50
+ "@guardian/libs": "5.1.0",
51
+ "@guardian/prettier": "^1.0.0",
52
52
  "@octokit/core": "^3.5.1",
53
53
  "@semantic-release/github": "^8.0.2",
54
54
  "@types/google.analytics": "^0.0.42",
55
- "@types/googletag": "^1.1.4",
55
+ "@types/googletag": "^2.0.0",
56
56
  "@types/jest": "^27.0.3",
57
57
  "@typescript-eslint/eslint-plugin": "^5.5.0",
58
58
  "@typescript-eslint/parser": "^5.5.0",
@@ -63,15 +63,15 @@
63
63
  "eslint-config-prettier": "^8.3.0",
64
64
  "eslint-plugin-eslint-comments": "^3.2.0",
65
65
  "eslint-plugin-import": "^2.25.3",
66
- "eslint-plugin-jest": "^25.3.0",
66
+ "eslint-plugin-jest": "^26.1.5",
67
67
  "eslint-plugin-prettier": "^4.0.0",
68
- "husky": "^7.0.4",
68
+ "husky": "^8.0.1",
69
69
  "jest": "^27.4.1",
70
70
  "lint-staged": "^12.1.2",
71
71
  "mockdate": "^3.0.5",
72
72
  "npm-run-all": "^4.1.5",
73
73
  "prettier": "^2.5.0",
74
- "semantic-release": "^18.0.1",
74
+ "semantic-release": "^19.0.2",
75
75
  "ts-jest": "^27.0.7",
76
76
  "type-fest": "^2.8.0",
77
77
  "typescript": "^4.5.2",