@highfivve/ad-tag 5.5.4

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 (132) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +149 -0
  3. package/lib/ads/a9.js +190 -0
  4. package/lib/ads/adPipeline.js +159 -0
  5. package/lib/ads/adService.js +251 -0
  6. package/lib/ads/adUnitPath.js +37 -0
  7. package/lib/ads/auctions/adRequestThrottling.js +22 -0
  8. package/lib/ads/auctions/biddersDisabling.js +90 -0
  9. package/lib/ads/auctions/frequencyCapping.js +189 -0
  10. package/lib/ads/auctions/interstitialContext.js +92 -0
  11. package/lib/ads/auctions/previousBidCpms.js +33 -0
  12. package/lib/ads/auctions/resume.js +3 -0
  13. package/lib/ads/bridge/bridge.js +62 -0
  14. package/lib/ads/consent.js +63 -0
  15. package/lib/ads/eventService.js +44 -0
  16. package/lib/ads/globalAuctionContext.js +98 -0
  17. package/lib/ads/googleAdManager.js +380 -0
  18. package/lib/ads/keyValues.js +1 -0
  19. package/lib/ads/labelConfigService.js +42 -0
  20. package/lib/ads/modules/ad-reload/adVisibilityService.js +158 -0
  21. package/lib/ads/modules/ad-reload/index.js +163 -0
  22. package/lib/ads/modules/ad-reload/userActivityService.js +70 -0
  23. package/lib/ads/modules/adex/adex-mapping.js +77 -0
  24. package/lib/ads/modules/adex/adexUtiq.js +15 -0
  25. package/lib/ads/modules/adex/index.js +142 -0
  26. package/lib/ads/modules/adex/sendAdvertisingId.js +20 -0
  27. package/lib/ads/modules/blocklist-url/index.js +118 -0
  28. package/lib/ads/modules/cleanup/index.js +93 -0
  29. package/lib/ads/modules/confiant/index.js +47 -0
  30. package/lib/ads/modules/emetriq/index.js +154 -0
  31. package/lib/ads/modules/emetriq/trackInApp.js +34 -0
  32. package/lib/ads/modules/emetriq/trackLoginEvent.js +59 -0
  33. package/lib/ads/modules/generic-skin/index.js +150 -0
  34. package/lib/ads/modules/identitylink/index.js +58 -0
  35. package/lib/ads/modules/interstitial/index.js +38 -0
  36. package/lib/ads/modules/interstitial/interstitialAd.js +111 -0
  37. package/lib/ads/modules/lazy-load/index.js +191 -0
  38. package/lib/ads/modules/lazy-load/selectInfiniteSlot.js +11 -0
  39. package/lib/ads/modules/prebid-first-party-data/index.js +115 -0
  40. package/lib/ads/modules/pubstack/index.js +59 -0
  41. package/lib/ads/modules/sticky-footer-ad/desktopFloorAd.js +63 -0
  42. package/lib/ads/modules/sticky-footer-ad/index.js +43 -0
  43. package/lib/ads/modules/sticky-footer-ad/mobileSticky.js +93 -0
  44. package/lib/ads/modules/sticky-footer-ad-v2/footerStickyAd.js +118 -0
  45. package/lib/ads/modules/sticky-footer-ad-v2/index.js +43 -0
  46. package/lib/ads/modules/sticky-header-ad/fadeOutCallback.js +25 -0
  47. package/lib/ads/modules/sticky-header-ad/index.js +103 -0
  48. package/lib/ads/modules/sticky-header-ad/renderResult.js +24 -0
  49. package/lib/ads/modules/utiq/index.js +79 -0
  50. package/lib/ads/modules/yield-optimization/dynamicFloorPrice.js +86 -0
  51. package/lib/ads/modules/yield-optimization/index.js +57 -0
  52. package/lib/ads/modules/yield-optimization/isYieldOptimizationConfigDynamic.js +6 -0
  53. package/lib/ads/modules/yield-optimization/yieldOptimizationService.js +169 -0
  54. package/lib/ads/modules/zeotap/index.js +111 -0
  55. package/lib/ads/moli.js +645 -0
  56. package/lib/ads/moliGlobal.js +11 -0
  57. package/lib/ads/prebid-outstream.js +13 -0
  58. package/lib/ads/prebid.js +406 -0
  59. package/lib/ads/sizeConfigService.js +49 -0
  60. package/lib/ads/spa.js +32 -0
  61. package/lib/bundle/adReload.js +2 -0
  62. package/lib/bundle/adex.js +2 -0
  63. package/lib/bundle/blocklistUrls.js +2 -0
  64. package/lib/bundle/cleanup.js +2 -0
  65. package/lib/bundle/confiant.js +2 -0
  66. package/lib/bundle/configureFromEndpoint.js +40 -0
  67. package/lib/bundle/emetriq.js +2 -0
  68. package/lib/bundle/identityLink.js +2 -0
  69. package/lib/bundle/init.js +2 -0
  70. package/lib/bundle/interstitialModule.js +2 -0
  71. package/lib/bundle/lazyLoad.js +2 -0
  72. package/lib/bundle/prebidFirstPartyData.js +2 -0
  73. package/lib/bundle/pubstack.js +2 -0
  74. package/lib/bundle/skin.js +2 -0
  75. package/lib/bundle/stickyFooterAd.js +2 -0
  76. package/lib/bundle/stickyFooterAds2.js +2 -0
  77. package/lib/bundle/stickyHeaderAd.js +2 -0
  78. package/lib/bundle/utiq.js +2 -0
  79. package/lib/bundle/yieldOptimization.js +2 -0
  80. package/lib/bundle/zeotap.js +2 -0
  81. package/lib/console/components/adSlotConfig.js +225 -0
  82. package/lib/console/components/consentConfig.js +138 -0
  83. package/lib/console/components/globalConfig.js +634 -0
  84. package/lib/console/components/labelConfigDebug.js +19 -0
  85. package/lib/console/components/sizeConfigDebug.js +34 -0
  86. package/lib/console/components/tag.js +4 -0
  87. package/lib/console/debug.js +38 -0
  88. package/lib/console/util/array.js +1 -0
  89. package/lib/console/util/calculateAdDensity.js +36 -0
  90. package/lib/console/util/debounce.js +12 -0
  91. package/lib/console/util/debugLogger.js +6 -0
  92. package/lib/console/util/extractPositionFromPath.js +8 -0
  93. package/lib/console/util/prebid.js +3 -0
  94. package/lib/console/util/stringUtils.js +23 -0
  95. package/lib/console/util/themingService.js +31 -0
  96. package/lib/console/util/windowResizeService.js +22 -0
  97. package/lib/console/validations/adReloadValidations.js +47 -0
  98. package/lib/console/validations/bucketValidations.js +78 -0
  99. package/lib/console/validations/sizesConfigValidations.js +97 -0
  100. package/lib/gen/packageJson.js +3 -0
  101. package/lib/index.js +3 -0
  102. package/lib/types/apstag.js +1 -0
  103. package/lib/types/dom.js +1 -0
  104. package/lib/types/emetriq.js +1 -0
  105. package/lib/types/googletag.js +1 -0
  106. package/lib/types/identitylink.js +1 -0
  107. package/lib/types/module.js +1 -0
  108. package/lib/types/moliConfig.js +1 -0
  109. package/lib/types/moliRuntime.js +1 -0
  110. package/lib/types/prebidjs.js +45 -0
  111. package/lib/types/supplyChainObject.js +1 -0
  112. package/lib/types/tcfapi.js +48 -0
  113. package/lib/util/addNewInfiniteSlotToConfig.js +11 -0
  114. package/lib/util/arrayUtils.js +9 -0
  115. package/lib/util/assetLoaderService.js +91 -0
  116. package/lib/util/browserStorageKeys.js +7 -0
  117. package/lib/util/debugDelay.js +12 -0
  118. package/lib/util/domready.js +15 -0
  119. package/lib/util/environmentOverride.js +16 -0
  120. package/lib/util/extractAdTagVersion.js +16 -0
  121. package/lib/util/extractTopPrivateDomainFromHostname.js +17 -0
  122. package/lib/util/localStorage.js +26 -0
  123. package/lib/util/logging.js +106 -0
  124. package/lib/util/objectUtils.js +29 -0
  125. package/lib/util/query.js +40 -0
  126. package/lib/util/queryParameters.js +5 -0
  127. package/lib/util/resolveOverrides.js +21 -0
  128. package/lib/util/resolveStoredRequestIdInOrtb2Object.js +12 -0
  129. package/lib/util/sizes.js +3 -0
  130. package/lib/util/test-slots.js +150 -0
  131. package/lib/util/uuid.js +10 -0
  132. package/package.json +127 -0
package/package.json ADDED
@@ -0,0 +1,127 @@
1
+ {
2
+ "name": "@highfivve/ad-tag",
3
+ "version": "5.5.4",
4
+ "license": "Apache-2.0",
5
+ "description": "An ad tag implementation called moli",
6
+ "main": "./lib/index.js",
7
+ "typings": "./lib/index.d.ts",
8
+ "files": [
9
+ "lib"
10
+ ],
11
+ "scripts": {
12
+ "build": "tsc -p tsconfig.build.json && npm run build:bundle:all && npm run build:console && npm run build:css",
13
+ "build:css": "postcss ad-tag/source/css/styles.css ad-tag/source/css/styles.novars.css --dir dist && cp ad-tag/source/css/vars.css dist/vars.css",
14
+ "build:watch": "tsc -p tsconfig.build.json --watch",
15
+ "build:watch:css": "postcss ad-tag/source/css/*.css --dir dist --watch",
16
+ "build:console": "npx rollup --config rollup.console.config.mjs",
17
+ "build:console:watch": "npx rollup --config rollup.console.config.mjs --watch",
18
+ "build:bundle:all": "npx ts-node bundle.ts --config bundles/all.json",
19
+ "clean": "rm -rf lib",
20
+ "setup": "npm run clean && npm ci --engine-strict && npm run codeGen && npm run setup:css:defaults && npm run build",
21
+ "setup:css:defaults": "cp ad-tag/source/css/media.json ad-tag/source/css/publisher.media.json && cp ad-tag/source/css/vars.css ad-tag/source/css/publisher.vars.css",
22
+ "start": "npm run watch",
23
+ "watch": "tsc --composite false --watch",
24
+ "compile": "tsc --noEmit",
25
+ "lint": "eslint ./ad-tag/source --ext .ts,.tsx && npm run prettier",
26
+ "lint:fix": "eslint ./ad-tag/source --ext .ts,.tsx --fix && npm run prettier:fix",
27
+ "test": "mocha --require ts-node/register --require tsconfig-paths/register ad-tag/**/*.test.ts",
28
+ "test:single:file": "mocha --require ts-node/register --require tsconfig-paths/register",
29
+ "test:single:unit": "mocha --require ts-node/register --require tsconfig-paths/register --grep 'test name'",
30
+ "test:junit": "mocha --forbid-only --reporter mocha-junit-reporter --reporter-options mochaFile=./temp/test-results.xml --require ts-node/register source/**/*.test.ts",
31
+ "prettier": "prettier --config .prettierrc --ignore-path .prettierignore --check \"ad-tag/source/**/*.{ts,tsx,css}\"",
32
+ "prettier:fix": "prettier --config .prettierrc --ignore-path .prettierignore --write --check \"ad-tag/source/**/*.{ts,tsx,css}\"",
33
+ "validate": "npm run compile && npm run lint && npm run test",
34
+ "codeGen": "node codeGen.js",
35
+ "schema": "ts-json-schema-generator --tsconfig tsconfig.json --path 'ad-tag/source/ts/types/moliConfig.ts' --type 'MoliConfig' --out schema.json",
36
+ "release:validate": "npm run validate && npm run build",
37
+ "release": "np --no-release-draft --no-publish --test-script release:validate",
38
+ "github:publish": "npm publish --registry https://npm.pkg.github.com/",
39
+ "npm:publish": "npm publish --registry https://registry.npmjs.org --access public",
40
+ "prepack": "npm run clean && npm run build",
41
+ "prepublishOnly": "npm run setup:css:defaults",
42
+ "postpublish": "npm run clean",
43
+ "postinstall": "npm run codeGen"
44
+ },
45
+ "repository": {
46
+ "type": "git",
47
+ "url": "ssh://git@github.com:highfivve/moli-ad-tag.git",
48
+ "directory": "ad-tag"
49
+ },
50
+ "publishConfig": {
51
+ "registry": "https://npm.pkg.github.com/"
52
+ },
53
+ "engines": {
54
+ "node": ">=18.0"
55
+ },
56
+ "devDependencies": {
57
+ "@babel/core": "^7.14.3",
58
+ "@babel/preset-env": "^7.14.2",
59
+ "@babel/preset-react": "^7.24.7",
60
+ "@esbuild-plugins/tsconfig-paths": "^0.1.2",
61
+ "@rollup/plugin-babel": "^6.0.4",
62
+ "@rollup/plugin-commonjs": "^26.0.1",
63
+ "@rollup/plugin-node-resolve": "^15.2.3",
64
+ "@rollup/plugin-replace": "^5.0.7",
65
+ "@rollup/plugin-terser": "^0.4.4",
66
+ "@rollup/plugin-typescript": "^11.1.6",
67
+ "@types/chai": "4.2.18",
68
+ "@types/chai-as-promised": "^7.1.4",
69
+ "@types/core-js": "^2.5.8",
70
+ "@types/domready": "^1.0.0",
71
+ "@types/jsdom": "^20.0.0",
72
+ "@types/mocha": "8.2.2",
73
+ "@types/node": "^20.10.4",
74
+ "@types/react": "^18.3.3",
75
+ "@types/react-dom": "^18.3.0",
76
+ "@types/sinon": "10.0.0",
77
+ "@types/sinon-chai": "3.2.5",
78
+ "@typescript-eslint/eslint-plugin": "^6.14.0",
79
+ "@typescript-eslint/parser": "^6.14.0",
80
+ "autoprefixer": "^10.4.19",
81
+ "babel-core": "^6.26.3",
82
+ "babel-loader": "^8.3.0",
83
+ "chai": "4.3.4",
84
+ "chai-as-promised": "^7.1.1",
85
+ "commander": "^12.1.0",
86
+ "cssnano": "^5.1.15",
87
+ "esbuild": "^0.23.0",
88
+ "eslint": "^7.26.0",
89
+ "eslint-config-prettier": "^8.3.0",
90
+ "eslint-plugin-jsdoc": "^34.8.1",
91
+ "eslint-plugin-preact": "^0.1.0",
92
+ "jsdom": "19.0.0",
93
+ "mocha": "8.4.0",
94
+ "mocha-junit-reporter": "2.0.0",
95
+ "np": "^10.0.5",
96
+ "postcss": "^8.4.47",
97
+ "postcss-cli": "^11.0.0",
98
+ "postcss-color-function": "^4.1.0",
99
+ "postcss-custom-media": "^8.0.2",
100
+ "postcss-custom-properties": "^11.0.0",
101
+ "postcss-extend": "^1.0.5",
102
+ "postcss-import": "^14.1.0",
103
+ "postcss-mixins": "^8.0.0",
104
+ "postcss-nested": "^5.0.5",
105
+ "postcss-reporter": "^7.0.2",
106
+ "prettier": "^3.2.5",
107
+ "rollup": "^4.48.1",
108
+ "rollup-plugin-peer-deps-external": "^2.2.4",
109
+ "rollup-plugin-postcss": "^4.0.2",
110
+ "sinon": "10.0.0",
111
+ "sinon-chai": "3.6.0",
112
+ "ts-json-schema-generator": "2.3.0",
113
+ "ts-loader": "^9.5.1",
114
+ "ts-node": "^10.9.2",
115
+ "tsconfig-paths": "^4.2.0",
116
+ "typescript": "^5.4.5",
117
+ "webpack": "^5.101.3",
118
+ "webpack-cli": "^5.0.1"
119
+ },
120
+ "dependencies": {
121
+ "@iabtcf/core": "^1.5.6",
122
+ "core-js": "3.37.1",
123
+ "react": "^18.3.1",
124
+ "react-dom": "^18.3.1",
125
+ "whatwg-fetch": "^3.6.20"
126
+ }
127
+ }