@duckduckgo/autoconsent 1.0.8 → 2.0.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 (154) hide show
  1. package/.eslintrc.cjs +14 -0
  2. package/.vscode/settings.json +7 -0
  3. package/Jenkinsfile +68 -39
  4. package/api.md +104 -0
  5. package/dist/autoconsent.cjs.js +1 -1387
  6. package/dist/autoconsent.esm.js +1 -1379
  7. package/dist/autoconsent.playwright.js +1 -0
  8. package/dist/autoconsent.standalone.js +1 -0
  9. package/lib/cmps/all.ts +15 -10
  10. package/lib/cmps/base.ts +91 -91
  11. package/lib/cmps/consentmanager.ts +31 -19
  12. package/lib/cmps/consentomatic.ts +89 -0
  13. package/lib/cmps/cookiebot.ts +58 -55
  14. package/lib/cmps/evidon.ts +29 -18
  15. package/lib/cmps/onetrust.ts +32 -20
  16. package/lib/cmps/sourcepoint-frame.ts +102 -0
  17. package/lib/cmps/sourcepoint-top.ts +47 -0
  18. package/lib/cmps/trustarc-frame.ts +115 -0
  19. package/lib/cmps/trustarc-top.ts +91 -0
  20. package/lib/consentomatic/index.ts +233 -70
  21. package/lib/{web/consentomatic → consentomatic}/tools.ts +0 -0
  22. package/lib/eval-handler.ts +58 -0
  23. package/lib/index.ts +0 -2
  24. package/lib/messages.ts +100 -0
  25. package/lib/rule-executors.ts +108 -0
  26. package/lib/rules.ts +82 -0
  27. package/lib/types.ts +35 -0
  28. package/lib/utils.ts +64 -0
  29. package/lib/web.ts +283 -74
  30. package/package.json +17 -14
  31. package/playwright/content.ts +27 -0
  32. package/playwright/runner.ts +131 -0
  33. package/playwright/standalone.ts +36 -0
  34. package/playwright.config.ts +7 -0
  35. package/readme.md +57 -47
  36. package/rollup.config.js +23 -15
  37. package/rules/autoconsent/baden-wuerttemberg-de.json +7 -3
  38. package/rules/autoconsent/bundesregierung-de.json +5 -1
  39. package/rules/autoconsent/cc-banner.json +0 -1
  40. package/rules/autoconsent/cookie-notice.json +0 -1
  41. package/rules/autoconsent/cookieconsent.json +5 -6
  42. package/rules/autoconsent/destatis-de.json +0 -1
  43. package/rules/autoconsent/etsy.json +3 -2
  44. package/rules/autoconsent/eu-cookie-compliance.json +0 -1
  45. package/rules/autoconsent/hl-co-uk.json +8 -9
  46. package/rules/autoconsent/johnlewis.json +5 -2
  47. package/rules/autoconsent/notice-cookie.json +0 -1
  48. package/rules/autoconsent/osano.json +0 -1
  49. package/rules/autoconsent/tealium.json +4 -5
  50. package/rules/rules.json +44 -37
  51. package/tests/192.spec.ts +1 -1
  52. package/tests/arzt-auskunft.spec.ts +1 -1
  53. package/tests/asus.spec.ts +1 -1
  54. package/tests/ausopen.spec.ts +1 -1
  55. package/tests/aws.amazon.spec.ts +1 -1
  56. package/tests/baden-wuerttemberg.spec.ts +1 -1
  57. package/tests/borlabs.spec.ts +1 -1
  58. package/tests/bundesregierung.spec.ts +5 -2
  59. package/tests/ccbanner.spec.ts +1 -1
  60. package/tests/consentmanager.spec.ts +3 -3
  61. package/tests/cookiebot.spec.ts +8 -2
  62. package/tests/cookieconsent.spec.ts +1 -1
  63. package/tests/cookielawinfo.spec.ts +1 -1
  64. package/tests/cookienotice.spec.ts +1 -1
  65. package/tests/corona-in-zahlen.spec.ts +1 -1
  66. package/tests/deepl.spec.ts +1 -1
  67. package/tests/destatis.spec.ts +1 -1
  68. package/tests/didomi.spec.ts +6 -2
  69. package/tests/drupal.spec.ts +8 -0
  70. package/tests/dunelm.spec.ts +1 -1
  71. package/tests/etsy.spec.ts +1 -1
  72. package/tests/eu-cookie-compliance-banner.spec.ts +1 -1
  73. package/tests/evidon.spec.ts +1 -1
  74. package/tests/fundingchoices.spec.ts +2 -1
  75. package/tests/gov-uk.spec.ts +1 -1
  76. package/tests/hl-co-uk.spec.ts +1 -1
  77. package/tests/hubspot.spec.ts +1 -1
  78. package/tests/ionos.spec.ts +1 -1
  79. package/tests/johnlewis.spec.ts +2 -2
  80. package/tests/klaro.spec.ts +1 -1
  81. package/tests/marksandspencer.spec.ts +1 -1
  82. package/tests/mediamarkt.spec.ts +1 -1
  83. package/tests/metoffice-gov-uk.spec.ts +1 -1
  84. package/tests/microsoft.spec.ts +1 -1
  85. package/tests/moneysavingexpert.spec.ts +1 -1
  86. package/tests/motor-talk.spec.ts +1 -1
  87. package/tests/national-lottery.spec.ts +1 -1
  88. package/tests/netflix.spec.ts +1 -1
  89. package/tests/nhs.spec.ts +1 -1
  90. package/tests/notice-cookie.spec.ts +1 -1
  91. package/tests/obi.spec.ts +1 -1
  92. package/tests/oil.spec.ts +1 -1
  93. package/tests/onetrust.spec.ts +10 -1
  94. package/tests/osano.spec.ts +1 -1
  95. package/tests/otto.spec.ts +1 -1
  96. package/tests/paypal.spec.ts +1 -1
  97. package/tests/quantcast.spec.ts +4 -1
  98. package/tests/snigel.spec.ts +1 -1
  99. package/tests/sourcepoint.spec.ts +8 -8
  100. package/tests/springer.spec.ts +1 -1
  101. package/tests/steampowered.spec.ts +1 -1
  102. package/tests/tealium.spec.ts +1 -1
  103. package/tests/testcmp.spec.ts +1 -1
  104. package/tests/thalia.spec.ts +1 -1
  105. package/tests/thefreedictionary.spec.ts +1 -1
  106. package/tests/trustarc.spec.ts +25 -4
  107. package/tests/usercentrics-1.spec.ts +1 -1
  108. package/tests/uswitch.spec.ts +1 -1
  109. package/tests/vodafone.spec.ts +1 -1
  110. package/tests/waitrose.spec.ts +1 -1
  111. package/tests/wetransfer.spec.ts +1 -1
  112. package/tests/wordpressgdpr.spec.ts +1 -1
  113. package/tests/xing.spec.ts +1 -1
  114. package/tsconfig.json +2 -2
  115. package/.eslintrc +0 -12
  116. package/cosmetics/rules.json +0 -110
  117. package/dist/autoconsent.puppet.js +0 -1078
  118. package/lib/cmps/all.js +0 -19
  119. package/lib/cmps/base.js +0 -174
  120. package/lib/cmps/consentmanager.js +0 -31
  121. package/lib/cmps/cookiebot.js +0 -77
  122. package/lib/cmps/evidon.js +0 -26
  123. package/lib/cmps/onetrust.js +0 -34
  124. package/lib/cmps/sourcepoint.js +0 -82
  125. package/lib/cmps/sourcepoint.ts +0 -95
  126. package/lib/cmps/trustarc.js +0 -106
  127. package/lib/cmps/trustarc.ts +0 -147
  128. package/lib/config.js +0 -1
  129. package/lib/consentomatic/index.js +0 -52
  130. package/lib/detector.js +0 -33
  131. package/lib/detector.ts +0 -34
  132. package/lib/hider.js +0 -13
  133. package/lib/hider.ts +0 -16
  134. package/lib/index.js +0 -4
  135. package/lib/messages.d.ts +0 -61
  136. package/lib/node.js +0 -35
  137. package/lib/node.ts +0 -43
  138. package/lib/puppet/tab.js +0 -121
  139. package/lib/puppet/tab.ts +0 -146
  140. package/lib/rules.d.ts +0 -80
  141. package/lib/tabwrapper.js +0 -67
  142. package/lib/tabwrapper.ts +0 -74
  143. package/lib/types.d.ts +0 -61
  144. package/lib/web/consentomatic/index.js +0 -188
  145. package/lib/web/consentomatic/index.ts +0 -249
  146. package/lib/web/consentomatic/tools.js +0 -177
  147. package/lib/web/content-utils.js +0 -29
  148. package/lib/web/content-utils.ts +0 -31
  149. package/lib/web/content.js +0 -89
  150. package/lib/web/content.ts +0 -80
  151. package/lib/web/tab.js +0 -112
  152. package/lib/web/tab.ts +0 -178
  153. package/lib/web.js +0 -95
  154. package/tests/runner.ts +0 -61
@@ -1,4 +1,4 @@
1
- import generateCMPTests from "./runner";
1
+ import generateCMPTests from "../playwright/runner";
2
2
 
3
3
  generateCMPTests('snigel', [
4
4
  'https://w3schools.com'], {
@@ -1,17 +1,17 @@
1
- import generateCMPTests from "./runner";
1
+ import generateCMPTests from "../playwright/runner";
2
2
 
3
- generateCMPTests('Sourcepoint', [
3
+ generateCMPTests('Sourcepoint-frame', [
4
4
  'https://www.theguardian.com/',
5
5
  'https://www.n-tv.de/',
6
6
  'https://www.sueddeutsche.de/',
7
- 'https://news.sky.com/'
8
- ], {
9
- testSelfTest: false,
10
- });
7
+ 'https://news.sky.com/',
8
+ ]);
11
9
 
12
- generateCMPTests('Sourcepoint', [
10
+ generateCMPTests('Sourcepoint-frame', [
13
11
  'https://www.insider.com/',
12
+ "https://www.brianmadden.com/",
13
+ "https://www.csoonline.com/blogs",
14
+ "https://www.independent.co.uk/",
14
15
  ], {
15
16
  skipRegions: ["US", "GB"],
16
- testSelfTest: false,
17
17
  });
@@ -1,4 +1,4 @@
1
- import generateCMPTests from "./runner";
1
+ import generateCMPTests from "../playwright/runner";
2
2
 
3
3
  generateCMPTests('com_springer', [
4
4
  'https://www.beobachter.ch/',
@@ -1,4 +1,4 @@
1
- import generateCMPTests from "./runner";
1
+ import generateCMPTests from "../playwright/runner";
2
2
 
3
3
  generateCMPTests('steampowered.com', [
4
4
  'https://store.steampowered.com'], {
@@ -1,4 +1,4 @@
1
- import generateCMPTests from "./runner";
1
+ import generateCMPTests from "../playwright/runner";
2
2
 
3
3
  generateCMPTests('Tealium', [
4
4
  'https://www.bahn.de/',
@@ -1,4 +1,4 @@
1
- import generateCMPTests from "./runner";
1
+ import generateCMPTests from "../playwright/runner";
2
2
 
3
3
  generateCMPTests('Test page CMP', [
4
4
  'https://privacy-test-pages.glitch.me/features/autoconsent/'
@@ -1,4 +1,4 @@
1
- import generateCMPTests from "./runner";
1
+ import generateCMPTests from "../playwright/runner";
2
2
 
3
3
  generateCMPTests('thalia.de', [
4
4
  'https://thalia.de'], {
@@ -1,4 +1,4 @@
1
- import generateCMPTests from "./runner";
1
+ import generateCMPTests from "../playwright/runner";
2
2
 
3
3
  generateCMPTests('thefreedictionary.com', [
4
4
  'https://thefreedictionary.com'], {
@@ -1,12 +1,33 @@
1
- import generateCMPTests from "./runner";
2
- import { test } from '@playwright/test';
1
+ import generateCMPTests from "../playwright/runner";
3
2
 
4
- generateCMPTests('TrustArc', [
3
+ generateCMPTests('TrustArc-top', [
4
+ 'https://www.samsung.com/uk/smartphones/all-smartphones/',
5
+ ], {
6
+ testOptOut: true,
7
+ testSelfTest: false,
8
+ skipRegions: ["US"]
9
+ });
10
+
11
+ generateCMPTests('TrustArc-top', [
5
12
  'https://www.garmin.com/de-DE/',
13
+ ], {
14
+ testOptOut: true,
15
+ testSelfTest: false,
16
+ skipRegions: ["US", "FR"]
17
+ });
18
+
19
+ generateCMPTests('TrustArc-frame', [
20
+ 'https://www.garmin.com/de-DE/',
21
+ ], {
22
+ testOptOut: true,
23
+ testSelfTest: false,
24
+ onlyRegions: ["FR"]
25
+ });
26
+
27
+ generateCMPTests('TrustArc-frame', [
6
28
  'https://www.wish.com/',
7
29
  'https://www.forbes.com/',
8
30
  'https://www.starbucks.com/',
9
- 'https://www.samsung.com/uk/smartphones/all-smartphones/'
10
31
  ], {
11
32
  testOptOut: true,
12
33
  testSelfTest: false,
@@ -1,4 +1,4 @@
1
- import generateCMPTests from "./runner";
1
+ import generateCMPTests from "../playwright/runner";
2
2
 
3
3
  generateCMPTests('usercentrics-1', [
4
4
  'https://hornbach.de',
@@ -1,4 +1,4 @@
1
- import generateCMPTests from "./runner";
1
+ import generateCMPTests from "../playwright/runner";
2
2
 
3
3
  generateCMPTests('uswitch.com', [
4
4
  'https://uswitch.com'], {
@@ -1,4 +1,4 @@
1
- import generateCMPTests from "./runner";
1
+ import generateCMPTests from "../playwright/runner";
2
2
 
3
3
  generateCMPTests('vodafone.de', [
4
4
  'https://vodafone.de'], {
@@ -1,4 +1,4 @@
1
- import generateCMPTests from "./runner";
1
+ import generateCMPTests from "../playwright/runner";
2
2
 
3
3
  generateCMPTests('waitrose.com', [
4
4
  'https://waitrose.com'], {
@@ -1,4 +1,4 @@
1
- import generateCMPTests from "./runner";
1
+ import generateCMPTests from "../playwright/runner";
2
2
 
3
3
  generateCMPTests('wetransfer.com', [
4
4
  'https://wetransfer.com'], {
@@ -1,4 +1,4 @@
1
- import generateCMPTests from "./runner";
1
+ import generateCMPTests from "../playwright/runner";
2
2
 
3
3
  generateCMPTests('com_wordpressgdpr', [
4
4
  'https://www.yourpension.gov.uk/',
@@ -1,4 +1,4 @@
1
- import generateCMPTests from "./runner";
1
+ import generateCMPTests from "../playwright/runner";
2
2
 
3
3
  generateCMPTests('xing.com', [
4
4
  'https://www.xing.com/start/signup'], {
package/tsconfig.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "compilerOptions": {
3
- "target": "ES2020",
4
- "typeRoots": ["node_modules/web-ext-types"],
3
+ "target": "es2021",
5
4
  "resolveJsonModule": true,
6
5
  "moduleResolution": "node",
7
6
  "noImplicitAny": true,
7
+ "allowSyntheticDefaultImports": true
8
8
  },
9
9
  "exclude": [
10
10
  "node_modules/*",
package/.eslintrc DELETED
@@ -1,12 +0,0 @@
1
- {
2
- "extends": "airbnb",
3
- "env": {
4
- "browser": true
5
- },
6
- "rules": {
7
- "class-methods-use-this": 0,
8
- "no-param-reassign": 0,
9
- "arrow-body-style": 0,
10
- "prefer-default-export": 1
11
- }
12
- }
@@ -1,110 +0,0 @@
1
- {
2
- "static": [
3
- "#disclaimer-cookies",
4
- ".cc-banner",
5
- ".cc_banner",
6
- "#js-gdpr-consent-banner",
7
- "#_evidon-barrier-wrapper",
8
- "#_evidon_banner",
9
- "#cookie-consent",
10
- ".cookie-modal",
11
- ".butterBar--privacy",
12
- "#cookie_box",
13
- ".cookie-box",
14
- ".js-cookie-banner",
15
- ".m-basic-cookie-refresh",
16
- ".cookie-notice",
17
- "#iubenda-cs-banner",
18
- "div[data-veloute=\"cookie-disclaimer\"]",
19
- "[aria-label=\"cookieconsent\"]",
20
- "amp-user-notification",
21
- "#cookie_consent",
22
- "#cookieHint",
23
- "#consentContainer",
24
- "#Banner_cookie_0",
25
- "#cookie-msg",
26
- "#cookiesdirective",
27
- "#__tealiumGDPRecModal",
28
- "_evh-ric",
29
- ".trustarc-banner",
30
- ".truste-banner",
31
- ".eu-cookie-notice",
32
- ".x-cookies",
33
- "#js-message-bar-cookie-notice",
34
- ".cookie-info-modal",
35
- "#cookie-info-layer",
36
- ".module-cookie-layer",
37
- "#cookie-modal",
38
- "#element_cookie_banner",
39
- ".cookieBar:not(body)",
40
- "#cookie-hint",
41
- ".expanded.gdpr",
42
- "#BorlabsCookieBox",
43
- "#hs-eu-cookie-confirmation",
44
- ".rxtcookiedisclaimer__container",
45
- "#cookie-disclaimer",
46
- "#cookie-notice",
47
- "#catapult-cookie-bar",
48
- "#cookies-overlay",
49
- ".gdprPopup",
50
- ".cookie-bar__module",
51
- "#bfg-cookie-policy-banner-shim",
52
- ".eu-cookie-compliance-banner",
53
- "#GDPR",
54
- "#cookie-notification",
55
- "body > #cookie",
56
- "#st_gdpr_iframe",
57
- ".cookie-compliance",
58
- ".js-const__cookie-banner",
59
- ".cs-row__cookie-bar",
60
- "div[id*=\"cookie_info_bar\"]",
61
- ".gdpr_note",
62
- ".cookiewarning:not(body):not(html)",
63
- "#cookie-box",
64
- ".cookies--show",
65
- ".cookies-box",
66
- ".gdpr_popup:not(body):not(html)",
67
- ".cp-info-bar.container",
68
- ".cookiestrip",
69
- ".cookie-notification:not(body)",
70
- ".cookies-eu",
71
- "#gdprCookieBanner",
72
- "#cookies-banner",
73
- "#sm-eu-cookie-banner",
74
- ".widget_eu_cookie_law_widget",
75
- ".Notices.PanelScrollerOff",
76
- ".cookie-policy-wrapper",
77
- ".fusion-privacy-bar",
78
- "#gdpr-banner",
79
- ".alert-wrapper-cookie",
80
- ".recurly-gdpr",
81
- "#cookiesNotification",
82
- ".cookies-alert",
83
- ".custom-cookie-banner",
84
- ".consent_container",
85
- "div[class^=\"cookie_notice-\"]",
86
- "#cookiereminder",
87
- "#cookieNotice",
88
- ".notice-cookies",
89
- "#cookie-banner",
90
- ".cookies-notify",
91
- "#wpca-bar",
92
- "#cookie-law",
93
- ".cookie-text",
94
- ".cp-banner",
95
- "#cookie-message",
96
- ".cookies-acceptance-wrapper-common",
97
- "#privacy_widget",
98
- "#cookieInformerBooklet",
99
- ".cookie_section",
100
- ".cookies-popup",
101
- ".kth-toast--bottom",
102
- ".SiteWideCookie"
103
- ],
104
- "site": {
105
- "medium.com": [
106
- "div > .branch-journeys-top"
107
- ],
108
- "tommy.de": []
109
- }
110
- }