@duckduckgo/autoconsent 16.45.0 → 16.46.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 (42) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/dist/addon-firefox/compact-rules.json +1 -1
  3. package/dist/addon-firefox/content.bundle.js +1 -1
  4. package/dist/addon-firefox/manifest.json +1 -1
  5. package/dist/addon-firefox/rule-index.json +1 -1
  6. package/dist/addon-firefox/rules.json +1 -1
  7. package/dist/addon-mv3/compact-rules.json +1 -1
  8. package/dist/addon-mv3/content.bundle.js +1 -1
  9. package/dist/addon-mv3/manifest.json +1 -1
  10. package/dist/addon-mv3/rule-index.json +1 -1
  11. package/dist/addon-mv3/rules.json +1 -1
  12. package/dist/autoconsent.cjs.js +1 -1
  13. package/dist/autoconsent.esm.js +1 -1
  14. package/dist/autoconsent.playwright.js +1 -1
  15. package/dist/autoconsent.standalone.js +2 -2
  16. package/lib/heuristic-patterns.ts +1 -1
  17. package/package.json +1 -1
  18. package/playwright/runner.ts +13 -0
  19. package/rules/autoconsent/cookieyes.json +3 -1
  20. package/rules/autoconsent/cookiez.json +9 -0
  21. package/rules/autoconsent/cuvva.com.json +55 -0
  22. package/rules/autoconsent/fanatics.json +9 -0
  23. package/rules/autoconsent/lego.json +26 -0
  24. package/rules/autoconsent/privacy-area.json +56 -0
  25. package/rules/autoconsent/securiti-gpc-flyout.json +22 -0
  26. package/rules/autoconsent/speciesplus.json +10 -0
  27. package/rules/autoconsent/squarespace-cookie-banner.json +24 -1
  28. package/rules/autoconsent/ziptozipmoving.json +44 -0
  29. package/rules/compact-rules.json +1 -1
  30. package/rules/rule-index.json +1 -1
  31. package/rules/rules.json +1 -1
  32. package/tests/cookieyes.spec.ts +2 -0
  33. package/tests/cookiez.spec.ts +12 -0
  34. package/tests/cuvva.com.spec.ts +4 -0
  35. package/tests/fanatics.spec.ts +9 -0
  36. package/tests/lego.spec.ts +8 -0
  37. package/tests/privacy-area.spec.ts +9 -0
  38. package/tests/securiti-gpc-flyout.spec.ts +21 -0
  39. package/tests/speciesplus.spec.ts +3 -0
  40. package/tests/squarespace-cookie-banner.spec.ts +8 -1
  41. package/tests/ziptozipmoving.spec.ts +5 -0
  42. package/tests-wtr/heuristics/heuristics-utils.test.ts +6 -0
@@ -10,4 +10,6 @@ generateCMPTests('cookieyes', [
10
10
  // CCPA "Do Not Share My Personal Information" variant (US visitors only)
11
11
  'https://www.quantamagazine.org/at-17-hannah-cairo-solved-a-major-math-mystery-20250801/',
12
12
  'https://taxfoundation.org/',
13
+ // classic bar variant with preference center that renders no category toggles
14
+ 'https://www.langoly.com/french-learning-apps/',
13
15
  ]);
@@ -0,0 +1,12 @@
1
+ import generateCMPTests from '../playwright/runner';
2
+
3
+ generateCMPTests(
4
+ 'cookiez',
5
+ [
6
+ 'https://mandys.ca/en/locations/old-port/',
7
+ 'https://parama.ca/',
8
+ 'https://lateinamerikanische-tage.de/',
9
+ 'https://www.prismmarketing.com/',
10
+ ],
11
+ {},
12
+ );
@@ -0,0 +1,4 @@
1
+ import generateCMPTests from '../playwright/runner';
2
+
3
+ generateCMPTests('cuvva.com', ['https://www.cuvva.com/'], { mobile: true });
4
+ generateCMPTests('cuvva.com', ['https://www.cuvva.com/'], { mobile: false });
@@ -0,0 +1,9 @@
1
+ import generateCMPTests from '../playwright/runner';
2
+
3
+ generateCMPTests('fanatics', [
4
+ 'https://www.fanatics.co.uk/en/',
5
+ 'https://www.fanatics.de/de/',
6
+ 'https://www.fanatics.fr/fr/',
7
+ 'https://www.fanatics.es/es/',
8
+ 'https://www.fanatics.it/it/',
9
+ ]);
@@ -0,0 +1,8 @@
1
+ import generateCMPTests from '../playwright/runner';
2
+
3
+ // the homepage puts an age gate in front of the modal, so test pages that skip the gate
4
+ generateCMPTests('lego', [
5
+ 'https://www.lego.com/en-us/legal/notices-and-policies/privacy-policy',
6
+ 'https://www.lego.com/en-gb/legal/notices-and-policies/privacy-policy',
7
+ 'https://www.lego.com/de-de/legal/notices-and-policies/privacy-policy',
8
+ ]);
@@ -0,0 +1,9 @@
1
+ import generateCMPTests from '../playwright/runner';
2
+
3
+ generateCMPTests('privacy-area', [
4
+ 'https://www.yccable.com/products/oem-cables/usb-c-cable-assemblies/',
5
+ 'https://www.teamgroupinc.com/en/',
6
+ 'https://www.posiflex.com/',
7
+ 'https://www.energyfocus.com/',
8
+ 'https://www.caesarpark.com.tw/',
9
+ ]);
@@ -0,0 +1,21 @@
1
+ import generateCMPTests from '../playwright/runner';
2
+
3
+ // Securiti shows the GPC flyout only to browsers that send the GPC signal.
4
+ generateCMPTests(
5
+ 'securiti-gpc-flyout',
6
+ [
7
+ 'https://www.newportbrass.com/products/kitchen/pull-down-faucets/',
8
+ 'https://www.masco.com/',
9
+ 'https://www.rollins.com/',
10
+ 'https://www.hotspring.com/',
11
+ // flyout variant with a "Hide the banner" button
12
+ 'https://www.tollbrothers.com/',
13
+ ],
14
+ { gpc: true },
15
+ );
16
+
17
+ // blocks visitors from Japan
18
+ generateCMPTests('securiti-gpc-flyout', ['https://www.campingworld.com/'], {
19
+ gpc: true,
20
+ skipRegions: ['JP'],
21
+ });
@@ -0,0 +1,3 @@
1
+ import generateCMPTests from '../playwright/runner';
2
+
3
+ generateCMPTests('speciesplus.net', ['https://www.speciesplus.net/']);
@@ -2,7 +2,14 @@ import generateCMPTests from '../playwright/runner';
2
2
 
3
3
  generateCMPTests(
4
4
  'squarespace-cookie-banner',
5
- ['https://www.petersen.org/', 'https://insidethesquare.co/', 'https://www.urallawoolroom.com.au/'],
5
+ [
6
+ 'https://insidethesquare.co/',
7
+ 'https://www.urallawoolroom.com.au/',
8
+ 'https://www.davidbowie.com/',
9
+ 'https://www.thecorneroffice.uk/',
10
+ 'https://www.theawkwardyeti.com/',
11
+ 'https://www.radiotopia.fm/',
12
+ ],
6
13
  {
7
14
  skipRegions: ['US'],
8
15
  },
@@ -0,0 +1,5 @@
1
+ import generateCMPTests from '../playwright/runner';
2
+
3
+ generateCMPTests('ziptozipmoving', ['https://ziptozipmoving.com/en/home/'], {
4
+ testSelfTest: false,
5
+ });
@@ -62,6 +62,12 @@ describe('checkHeuristicPatterns', () => {
62
62
  expect(snippets.every((s) => typeof s === 'string')).to.be.true;
63
63
  });
64
64
 
65
+ it('detects essential cookie notices', () => {
66
+ const { patterns } = checkHeuristicPatterns('We use essential cookies for site functionality and optional cookies for analytics.');
67
+
68
+ expect(patterns.length).to.be.greaterThan(0);
69
+ });
70
+
65
71
  it('detects website cookie experience notices', () => {
66
72
  const { patterns, snippets } = checkHeuristicPatterns(
67
73
  'The Algonquin College website uses cookies to enhance your browsing experience.',