@duckduckgo/autoconsent 14.75.0 → 14.76.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 (35) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/dist/addon-firefox/background.bundle.js +5 -3
  3. package/dist/addon-firefox/compact-rules.json +1 -1
  4. package/dist/addon-firefox/content.bundle.js +25 -12
  5. package/dist/addon-firefox/manifest.json +1 -1
  6. package/dist/addon-firefox/rules.json +1 -1
  7. package/dist/addon-mv3/background.bundle.js +5 -3
  8. package/dist/addon-mv3/compact-rules.json +1 -1
  9. package/dist/addon-mv3/content.bundle.js +25 -12
  10. package/dist/addon-mv3/manifest.json +1 -1
  11. package/dist/addon-mv3/rules.json +1 -1
  12. package/dist/autoconsent.cjs.js +25 -12
  13. package/dist/autoconsent.esm.js +25 -12
  14. package/dist/autoconsent.extra.cjs.js +167 -160
  15. package/dist/autoconsent.extra.esm.js +167 -160
  16. package/dist/autoconsent.playwright.js +25 -12
  17. package/lib/cmps/onetrust.ts +25 -4
  18. package/lib/cmps/trustarc-frame.ts +1 -6
  19. package/lib/eval-snippets.ts +8 -3
  20. package/lib/filterlist-engine.ts +2 -2
  21. package/lib/heuristic-patterns.ts +2 -2
  22. package/package.json +1 -1
  23. package/rules/autoconsent/cookieconsent2.json +2 -2
  24. package/rules/autoconsent/cookieconsent3.json +14 -1
  25. package/rules/autoconsent/didomi.json +2 -2
  26. package/rules/compact-rules.json +1 -1
  27. package/rules/filterlist.txt +198 -180
  28. package/rules/rules.json +1 -1
  29. package/tests/cookieconsent3.spec.ts +1 -1
  30. package/tests/didomi.spec.ts +11 -0
  31. package/tests/onetrust.spec.ts +21 -0
  32. package/tests/trustarc.spec.ts +1 -1
  33. package/tests-wtr/heuristics/heuristics-utils.test.ts +9 -0
  34. package/tests-wtr/lifecycle/find-cmp.html +1 -0
  35. package/tests-wtr/lifecycle/find-cmp.ts +7 -0
@@ -91,9 +91,9 @@ export const DETECT_PATTERNS = [
91
91
  ];
92
92
 
93
93
  const REJECT_PATTERNS_ENGLISH = [
94
- // e.g. "i reject cookies", "reject all", "reject all cookies", "reject cookies", "deny all", "deny all cookies", "refuse", "refuse all", "refuse cookies", "refuse all cookies", "deny", "reject all and close", "deny all and close", "reject non-essential cookies", "reject all non-essential cookies and continue", "reject optional cookies", "reject additional cookies", "reject targeting cookies", "reject marketing cookies", "reject analytics cookies", "reject tracking cookies", "reject advertising cookies", "reject all and close", "deny all and close"
94
+ // e.g. "i reject cookies", "reject all", "reject all cookies", "reject cookies", "deny all", "deny all cookies", "refuse", "refuse all", "refuse cookies", "refuse all cookies", "deny", "reject all and close", "deny all and close", "reject non-essential cookies", "reject all non-essential cookies and continue", "reject optional cookies", "reject additional cookies", "reject targeting cookies", "reject marketing cookies", "reject analytics cookies", "reject tracking cookies", "reject advertising cookies", "reject all and close", "deny all and close", "i reject all (except strictly necessary)"
95
95
  // note that "reject and subscribe" and "reject and pay" are excluded
96
- /^\s*(i)?\s*(reject|deny|refuse|decline|disable)\s*(all)?\s*(non-essential|optional|additional|targeting|analytics|marketing|unrequired|non-necessary|extra|tracking|advertising)?\s*(cookies)?\s*$/is,
96
+ /^\s*(i)?\s*(reject|deny|refuse|decline|disable)\s*(all)?\s*(non-essential|optional|additional|targeting|analytics|marketing|unrequired|non-necessary|extra|tracking|advertising)?\s*(cookies)?\s*(\(?\s*except\s+(strictly\s+)?(necessary|essential)\s*\)?)?\s*$/is,
97
97
 
98
98
  // e.g. "i do not accept", "i do not accept cookies", "do not accept", "do not accept cookies"
99
99
  /^\s*(i)?\s*do\s+not\s+accept\s*(cookies)?\s*$/is,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@duckduckgo/autoconsent",
3
- "version": "14.75.0",
3
+ "version": "14.76.0",
4
4
  "description": "",
5
5
  "types": "./dist/types/web.d.ts",
6
6
  "exports": {
@@ -10,7 +10,7 @@
10
10
  ],
11
11
  "detectPopup": [
12
12
  {
13
- "visible": "#cm"
13
+ "exists": "html.show--consent #cm"
14
14
  },
15
15
  {
16
16
  "exists": "#s-all-bn"
@@ -25,7 +25,7 @@
25
25
  {
26
26
  "if": { "exists": "#s-rall-bn" },
27
27
  "then": [{ "waitForThenClick": "#s-rall-bn" }],
28
- "else": [{ "waitForThenClick": "#c-s-bn" }, { "waitForThenClick": "#s-sv-bn" }]
28
+ "else": [{ "waitForThenClick": "#c-s-bn" }, { "wait": 500 }, { "waitForThenClick": "#s-sv-bn" }]
29
29
  }
30
30
  ],
31
31
  "test": [
@@ -20,7 +20,20 @@
20
20
  ],
21
21
  "optOut": [
22
22
  {
23
- "waitForThenClick": ".cm__btn[data-role=necessary]"
23
+ "if": { "exists": ".cm__btn[data-role=necessary]" },
24
+ "then": [
25
+ {
26
+ "waitForThenClick": ".cm__btn[data-role=necessary]"
27
+ }
28
+ ],
29
+ "else": [
30
+ {
31
+ "waitForThenClick": ".cm__btn[data-role=show]"
32
+ },
33
+ {
34
+ "waitForThenClick": "#cc-main .pm__btn[data-role=necessary]"
35
+ }
36
+ ]
24
37
  }
25
38
  ],
26
39
  "test": [
@@ -3,10 +3,10 @@
3
3
  "prehideSelectors": [
4
4
  "#didomi-popup,.didomi-popup-container,.didomi-popup-notice,.didomi-consent-popup-preferences,#didomi-notice,.didomi-popup-backdrop,.didomi-screen-medium"
5
5
  ],
6
- "detectCmp": [{ "visible": "#didomi-host" }],
6
+ "detectCmp": [{ "exists": "#didomi-host" }],
7
7
  "detectPopup": [
8
8
  {
9
- "visible": "#didomi-popup, #didomi-notice, .didomi-popup-notice, .didomi-notice-banner",
9
+ "visible": "#didomi-popup, #didomi-notice, .didomi-popup-notice, .didomi-notice-banner, #didomi-host:not(:empty)",
10
10
  "check": "any"
11
11
  }
12
12
  ],