@duckduckgo/autoconsent 14.3.0 → 14.4.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 (376) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/data/coverage.json +1443 -1683
  3. package/dist/addon-firefox/background.bundle.js +1 -0
  4. package/dist/addon-firefox/content.bundle.js +45 -33
  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 +1 -0
  8. package/dist/addon-mv3/content.bundle.js +45 -33
  9. package/dist/addon-mv3/manifest.json +1 -1
  10. package/dist/addon-mv3/popup.bundle.js +14 -0
  11. package/dist/addon-mv3/popup.html +14 -0
  12. package/dist/addon-mv3/rules.json +1 -1
  13. package/dist/autoconsent.cjs.js +45 -33
  14. package/dist/autoconsent.esm.js +45 -33
  15. package/dist/autoconsent.extra.cjs.js +45 -33
  16. package/dist/autoconsent.extra.esm.js +45 -33
  17. package/dist/autoconsent.playwright.js +46 -34
  18. package/lib/encoding.ts +65 -45
  19. package/lib/rules.ts +14 -14
  20. package/lib/types.ts +1 -0
  21. package/lib/utils.ts +1 -0
  22. package/lib/web.ts +2 -1
  23. package/package.json +1 -1
  24. package/rules/autoconsent/cookieyes.json +10 -4
  25. package/rules/autoconsent/ct-ultimate-gdpr.json +2 -2
  26. package/rules/compact-rules.json +1 -1
  27. package/rules/generated/auto_AU_codeweavers.com_clm.json +38 -0
  28. package/rules/generated/auto_AU_community.dyson.com_lek.json +38 -0
  29. package/rules/generated/auto_AU_drjoedispenza.com_ku0.json +38 -0
  30. package/rules/generated/auto_AU_earpros.com_3x3.json +38 -0
  31. package/rules/generated/auto_AU_fanatical.com_nth.json +38 -0
  32. package/rules/generated/auto_AU_gramophone.co.uk_3af.json +38 -0
  33. package/rules/generated/auto_AU_johnlewis.com_1rt.json +38 -0
  34. package/rules/generated/auto_AU_navman.com.au_zsn.json +38 -0
  35. package/rules/generated/auto_AU_pichunter.com_zhf.json +38 -0
  36. package/rules/generated/auto_AU_staff.flinders.edu.au_cpu.json +38 -0
  37. package/rules/generated/auto_AU_support.lenovo.com_bse.json +38 -0
  38. package/rules/generated/auto_AU_theabsolutesound.com_wcu.json +38 -0
  39. package/rules/generated/auto_AU_wikifeetx.com_lw4.json +38 -0
  40. package/rules/generated/auto_CA_123ink.ca_uhb.json +38 -0
  41. package/rules/generated/auto_CA_banfflakelouise.com_4eg.json +38 -0
  42. package/rules/generated/auto_CA_blsindia-canada.com_qqp.json +38 -0
  43. package/rules/generated/auto_CA_caainsurancecompany.ca_n0d.json +38 -0
  44. package/rules/generated/auto_CA_csagroup.org_3ho.json +38 -0
  45. package/rules/generated/auto_CA_f6s.com_yjw.json +38 -0
  46. package/rules/generated/auto_CA_fleshbot.com_m3j.json +38 -0
  47. package/rules/generated/auto_CA_fyidoctors.com_25j.json +38 -0
  48. package/rules/generated/auto_CA_golfavenue.ca_ero.json +38 -0
  49. package/rules/generated/auto_CA_ikmultimedia.com_v93.json +38 -0
  50. package/rules/generated/auto_CA_keepersecurity.com_06v.json +38 -0
  51. package/rules/generated/auto_CA_klm.ca_uvc.json +38 -0
  52. package/rules/generated/auto_CA_lectura-specs.com_hh2.json +38 -0
  53. package/rules/generated/auto_CA_merx.com_2nd.json +38 -0
  54. package/rules/generated/auto_CA_natureconservancy.ca_3pp.json +38 -0
  55. package/rules/generated/auto_CA_remitly.com_mm4.json +38 -0
  56. package/rules/generated/auto_CA_rentboard.ca_f02.json +38 -0
  57. package/rules/generated/auto_CA_rentfaster.ca_puj.json +38 -0
  58. package/rules/generated/auto_CA_rvdealers.ca_bvc.json +38 -0
  59. package/rules/generated/auto_CA_sceneplus.ca_5zu.json +38 -0
  60. package/rules/generated/auto_CA_scu.mb.ca_mqv.json +38 -0
  61. package/rules/generated/auto_CA_stclaircollege.ca_fj8.json +38 -0
  62. package/rules/generated/auto_CA_visa.ca_ldj.json +38 -0
  63. package/rules/generated/auto_CA_vrporngalaxy.com_nw8.json +38 -0
  64. package/rules/generated/auto_CA_westmount.org_l00.json +38 -0
  65. package/rules/generated/auto_GB_artsupplies.co.uk_1so.json +38 -0
  66. package/rules/generated/auto_GB_community.arubanetworks.com_cxu.json +38 -0
  67. package/rules/generated/auto_GB_francisandgaye.co.uk_m1d.json +38 -0
  68. package/rules/generated/auto_GB_fruugo.co.uk_686.json +38 -0
  69. package/rules/generated/auto_GB_homeswapper.co.uk_x3o.json +38 -0
  70. package/rules/generated/auto_GB_livejasmin.com_gdn.json +10 -0
  71. package/rules/generated/auto_GB_lovable.dev_4ul.json +38 -0
  72. package/rules/generated/auto_GB_online-pharmacy4u.co.uk_iag.json +38 -0
  73. package/rules/generated/auto_GB_partscentre.co.uk_0.json +14 -4
  74. package/rules/generated/auto_GB_powercuts.nationalgrid.co.uk_43h.json +38 -0
  75. package/rules/generated/auto_GB_reviewed.com_f1g.json +38 -0
  76. package/rules/generated/auto_GB_ruck.co.uk_1yo.json +38 -0
  77. package/rules/generated/auto_GB_smarkets.com_0.json +14 -4
  78. package/rules/generated/auto_GB_somersetft.nhs.uk_zno.json +38 -0
  79. package/rules/generated/auto_GB_stuartslondon.com_0.json +13 -3
  80. package/rules/generated/auto_GB_virginmedia.com_0.json +14 -4
  81. package/rules/generated/auto_GB_westwitteringestate.co.uk_hjv.json +38 -0
  82. package/rules/generated/auto_GB_wwws.airfrance.co.uk_0.json +1 -1
  83. package/rules/generated/auto_US_blinkforhome.com_bk2.json +38 -0
  84. package/rules/generated/auto_US_burpee.com_8gz.json +38 -0
  85. package/rules/generated/auto_US_coupons.businessinsider.com_6xd.json +38 -0
  86. package/rules/generated/auto_US_mycharisma.com_u6r.json +38 -0
  87. package/rules/generated/auto_US_mychart.wellstar.org_pwj.json +38 -0
  88. package/rules/generated/auto_US_tecadmin.net_4bn.json +38 -0
  89. package/rules/generated/auto_US_wilsoncombat.com_0.json +14 -4
  90. package/rules/rules.json +1 -1
  91. package/tests/ct-ultimate-gdpr.spec.ts +1 -1
  92. package/tests/generated/{auto_AU_iopscience.iop.org_hsw.spec.ts → auto_AU_codeweavers.com_clm.spec.ts} +1 -1
  93. package/tests/generated/auto_AU_community.dyson.com_lek.spec.ts +6 -0
  94. package/tests/generated/auto_AU_drjoedispenza.com_ku0.spec.ts +6 -0
  95. package/tests/generated/auto_AU_earpros.com_3x3.spec.ts +2 -0
  96. package/tests/generated/auto_AU_fanatical.com_nth.spec.ts +6 -0
  97. package/tests/generated/auto_AU_gramophone.co.uk_3af.spec.ts +6 -0
  98. package/tests/generated/{auto_AU_shure.com_28b.spec.ts → auto_AU_johnlewis.com_1rt.spec.ts} +1 -1
  99. package/tests/generated/{auto_GB_citylink.co.uk_0.spec.ts → auto_AU_navman.com.au_zsn.spec.ts} +2 -2
  100. package/tests/generated/auto_AU_pichunter.com_zhf.spec.ts +6 -0
  101. package/tests/generated/auto_AU_staff.flinders.edu.au_cpu.spec.ts +6 -0
  102. package/tests/generated/auto_AU_support.lenovo.com_bse.spec.ts +6 -0
  103. package/tests/generated/auto_AU_theabsolutesound.com_wcu.spec.ts +6 -0
  104. package/tests/generated/auto_AU_wikifeetx.com_lw4.spec.ts +2 -0
  105. package/tests/generated/auto_CA_123ink.ca_uhb.spec.ts +2 -0
  106. package/tests/generated/auto_CA_banfflakelouise.com_4eg.spec.ts +6 -0
  107. package/tests/generated/auto_CA_blsindia-canada.com_qqp.spec.ts +6 -0
  108. package/tests/generated/{auto_GB_rolcruise.co.uk_0.spec.ts → auto_CA_caainsurancecompany.ca_n0d.spec.ts} +2 -2
  109. package/tests/generated/auto_CA_csagroup.org_3ho.spec.ts +2 -0
  110. package/tests/generated/auto_CA_f6s.com_yjw.spec.ts +2 -0
  111. package/tests/generated/{auto_GB_zap-map.com_0.spec.ts → auto_CA_fleshbot.com_m3j.spec.ts} +1 -1
  112. package/tests/generated/auto_CA_fyidoctors.com_25j.spec.ts +2 -0
  113. package/tests/generated/{auto_CA_trekbikes.com_w0n.spec.ts → auto_CA_golfavenue.ca_ero.spec.ts} +1 -1
  114. package/tests/generated/auto_CA_ikmultimedia.com_v93.spec.ts +6 -0
  115. package/tests/generated/auto_CA_keepersecurity.com_06v.spec.ts +6 -0
  116. package/tests/generated/auto_CA_klm.ca_uvc.spec.ts +2 -0
  117. package/tests/generated/auto_CA_lectura-specs.com_hh2.spec.ts +6 -0
  118. package/tests/generated/auto_CA_merx.com_2nd.spec.ts +2 -0
  119. package/tests/generated/auto_CA_natureconservancy.ca_3pp.spec.ts +6 -0
  120. package/tests/generated/auto_CA_remitly.com_mm4.spec.ts +2 -0
  121. package/tests/generated/auto_CA_rentboard.ca_f02.spec.ts +2 -0
  122. package/tests/generated/auto_CA_rentfaster.ca_puj.spec.ts +6 -0
  123. package/tests/generated/auto_CA_rvdealers.ca_bvc.spec.ts +2 -0
  124. package/tests/generated/auto_CA_sceneplus.ca_5zu.spec.ts +2 -0
  125. package/tests/generated/auto_CA_scu.mb.ca_mqv.spec.ts +2 -0
  126. package/tests/generated/auto_CA_stclaircollege.ca_fj8.spec.ts +6 -0
  127. package/tests/generated/auto_CA_visa.ca_ldj.spec.ts +2 -0
  128. package/tests/generated/auto_CA_vrporngalaxy.com_nw8.spec.ts +6 -0
  129. package/tests/generated/auto_CA_westmount.org_l00.spec.ts +2 -0
  130. package/tests/generated/{auto_GB_blockchain.com_0.spec.ts → auto_GB_artsupplies.co.uk_1so.spec.ts} +1 -1
  131. package/tests/generated/auto_GB_community.arubanetworks.com_cxu.spec.ts +6 -0
  132. package/tests/generated/{auto_GB_bedandbreakfast.eu_0.spec.ts → auto_GB_francisandgaye.co.uk_m1d.spec.ts} +1 -1
  133. package/tests/generated/auto_GB_fruugo.co.uk_686.spec.ts +2 -0
  134. package/tests/generated/{auto_GB_boilerjuice.com_0.spec.ts → auto_GB_homeswapper.co.uk_x3o.spec.ts} +1 -1
  135. package/tests/generated/auto_GB_lovable.dev_4ul.spec.ts +2 -0
  136. package/tests/generated/auto_GB_online-pharmacy4u.co.uk_iag.spec.ts +6 -0
  137. package/tests/generated/{auto_GB_bestwestern.co.uk_0.spec.ts → auto_GB_partscentre.co.uk_0.spec.ts} +1 -1
  138. package/tests/generated/auto_GB_powercuts.nationalgrid.co.uk_43h.spec.ts +6 -0
  139. package/tests/generated/auto_GB_reviewed.com_f1g.spec.ts +2 -0
  140. package/tests/generated/{auto_GB_theros.org.uk_0.spec.ts → auto_GB_ruck.co.uk_1yo.spec.ts} +1 -1
  141. package/tests/generated/{auto_GB_yubico.com_0.spec.ts → auto_GB_smarkets.com_0.spec.ts} +1 -1
  142. package/tests/generated/{auto_GB_bannatyne.co.uk_0.spec.ts → auto_GB_somersetft.nhs.uk_zno.spec.ts} +1 -1
  143. package/tests/generated/auto_GB_virginmedia.com_0.spec.ts +1 -1
  144. package/tests/generated/{auto_GB_birminghamairport.co.uk_0.spec.ts → auto_GB_westwitteringestate.co.uk_hjv.spec.ts} +1 -1
  145. package/tests/generated/{auto_US_longevity.technology_ui9.spec.ts → auto_US_blinkforhome.com_bk2.spec.ts} +1 -1
  146. package/tests/generated/auto_US_burpee.com_8gz.spec.ts +2 -0
  147. package/tests/generated/auto_US_coupons.businessinsider.com_6xd.spec.ts +6 -0
  148. package/tests/generated/auto_US_mycharisma.com_u6r.spec.ts +2 -0
  149. package/tests/generated/auto_US_mychart.wellstar.org_pwj.spec.ts +6 -0
  150. package/tests/generated/auto_US_tecadmin.net_4bn.spec.ts +2 -0
  151. package/tests/generated/auto_US_wilsoncombat.com_0.spec.ts +5 -2
  152. package/rules/generated/auto_AU_iopscience.iop.org_hsw.json +0 -28
  153. package/rules/generated/auto_AU_shure.com_28b.json +0 -28
  154. package/rules/generated/auto_CA_trekbikes.com_w0n.json +0 -28
  155. package/rules/generated/auto_GB_abbavoyage.com_0.json +0 -28
  156. package/rules/generated/auto_GB_aber.ac.uk_0.json +0 -28
  157. package/rules/generated/auto_GB_airtattoo.com_0.json +0 -28
  158. package/rules/generated/auto_GB_bangor.ac.uk_0.json +0 -28
  159. package/rules/generated/auto_GB_bannatyne.co.uk_0.json +0 -28
  160. package/rules/generated/auto_GB_bedandbreakfast.eu_0.json +0 -28
  161. package/rules/generated/auto_GB_bestwestern.co.uk_0.json +0 -28
  162. package/rules/generated/auto_GB_birminghamairport.co.uk_0.json +0 -28
  163. package/rules/generated/auto_GB_blockchain.com_0.json +0 -28
  164. package/rules/generated/auto_GB_bluelightcard.co.uk_0.json +0 -28
  165. package/rules/generated/auto_GB_boilerjuice.com_0.json +0 -28
  166. package/rules/generated/auto_GB_bonmarche.co.uk_0.json +0 -28
  167. package/rules/generated/auto_GB_booker.co.uk_0.json +0 -28
  168. package/rules/generated/auto_GB_bradfords.co.uk_0.json +0 -28
  169. package/rules/generated/auto_GB_brandonhirestation.com_0.json +0 -28
  170. package/rules/generated/auto_GB_c2c-online.co.uk_0.json +0 -28
  171. package/rules/generated/auto_GB_casio.com_0.json +0 -28
  172. package/rules/generated/auto_GB_chemistdirect.co.uk_0.json +0 -28
  173. package/rules/generated/auto_GB_citylink.co.uk_0.json +0 -28
  174. package/rules/generated/auto_GB_classic-trader.com_0.json +0 -28
  175. package/rules/generated/auto_GB_cliftoncameras.co.uk_0.json +0 -28
  176. package/rules/generated/auto_GB_crownpaints.co.uk_0.json +0 -28
  177. package/rules/generated/auto_GB_design911.co.uk_0.json +0 -28
  178. package/rules/generated/auto_GB_discountdragon.co.uk_0.json +0 -28
  179. package/rules/generated/auto_GB_doorsuperstore.co.uk_0.json +0 -28
  180. package/rules/generated/auto_GB_drainagesuperstore.co.uk_0.json +0 -28
  181. package/rules/generated/auto_GB_eastmidlandsrailway.co.uk_0.json +0 -28
  182. package/rules/generated/auto_GB_elements.envato.com_0.json +0 -28
  183. package/rules/generated/auto_GB_ercol.com_0.json +0 -28
  184. package/rules/generated/auto_GB_eurail.com_0.json +0 -28
  185. package/rules/generated/auto_GB_eurochange.co.uk_0.json +0 -28
  186. package/rules/generated/auto_GB_farrow-ball.com_0.json +0 -28
  187. package/rules/generated/auto_GB_finisterre.com_0.json +0 -28
  188. package/rules/generated/auto_GB_firstfence.co.uk_i98.json +0 -28
  189. package/rules/generated/auto_GB_gog.com_0.json +0 -28
  190. package/rules/generated/auto_GB_greateranglia.co.uk_0.json +0 -28
  191. package/rules/generated/auto_GB_gshock.casio.com_0.json +0 -28
  192. package/rules/generated/auto_GB_healthcareers.nhs.uk_0.json +0 -28
  193. package/rules/generated/auto_GB_hltv.org_0.json +0 -28
  194. package/rules/generated/auto_GB_hyperdrug.co.uk_0.json +0 -28
  195. package/rules/generated/auto_GB_insulationsuperstore.co.uk_0.json +0 -28
  196. package/rules/generated/auto_GB_interrail.eu_0.json +0 -28
  197. package/rules/generated/auto_GB_irishrail.ie_0.json +0 -28
  198. package/rules/generated/auto_GB_irwinmitchell.com_0.json +0 -28
  199. package/rules/generated/auto_GB_islesofscilly-travel.co.uk_0.json +0 -28
  200. package/rules/generated/auto_GB_iwantgreatcare.org_0.json +0 -28
  201. package/rules/generated/auto_GB_jacksons-fencing.co.uk_0.json +0 -28
  202. package/rules/generated/auto_GB_jarrolds.co.uk_0.json +0 -28
  203. package/rules/generated/auto_GB_jigsaw-online.com_0.json +0 -28
  204. package/rules/generated/auto_GB_kent.ac.uk_0.json +0 -28
  205. package/rules/generated/auto_GB_kidneycareuk.org_0.json +0 -28
  206. package/rules/generated/auto_GB_lecreuset.co.uk_0.json +0 -28
  207. package/rules/generated/auto_GB_leedsbeckett.ac.uk_0.json +0 -28
  208. package/rules/generated/auto_GB_liveauctioneers.com_0.json +0 -28
  209. package/rules/generated/auto_GB_londonnorthwesternrailway.co.uk_0.json +0 -28
  210. package/rules/generated/auto_GB_love2shop.co.uk_0.json +0 -28
  211. package/rules/generated/auto_GB_ltmuseum.co.uk_0.json +0 -28
  212. package/rules/generated/auto_GB_lucyandyak.com_x3v.json +0 -28
  213. package/rules/generated/auto_GB_mandstravelmoney.com_0.json +0 -28
  214. package/rules/generated/auto_GB_medway.gov.uk_0.json +0 -28
  215. package/rules/generated/auto_GB_mg.co.uk_0.json +0 -28
  216. package/rules/generated/auto_GB_motorcyclespareparts.eu_0.json +0 -28
  217. package/rules/generated/auto_GB_musicstore.com_0.json +0 -28
  218. package/rules/generated/auto_GB_myenergi.com_0.json +0 -28
  219. package/rules/generated/auto_GB_nationalgallery.org.uk_0.json +0 -28
  220. package/rules/generated/auto_GB_ncl.ac.uk_0.json +0 -28
  221. package/rules/generated/auto_GB_newdealsonline.co.uk_0.json +0 -28
  222. package/rules/generated/auto_GB_northernrailway.co.uk_0.json +0 -28
  223. package/rules/generated/auto_GB_notcutts.co.uk_0.json +0 -28
  224. package/rules/generated/auto_GB_oaknorth.co.uk_0.json +0 -28
  225. package/rules/generated/auto_GB_overclockers.co.uk_0.json +0 -28
  226. package/rules/generated/auto_GB_pavers.co.uk_0.json +0 -28
  227. package/rules/generated/auto_GB_pharmacy2u.co.uk_0.json +0 -28
  228. package/rules/generated/auto_GB_pixelcut.ai_lfx.json +0 -28
  229. package/rules/generated/auto_GB_plymouth.ac.uk_0.json +0 -28
  230. package/rules/generated/auto_GB_poferries.com_0.json +0 -28
  231. package/rules/generated/auto_GB_puppies.co.uk_0.json +0 -28
  232. package/rules/generated/auto_GB_raf.mod.uk_0.json +0 -28
  233. package/rules/generated/auto_GB_rct.uk_0.json +0 -28
  234. package/rules/generated/auto_GB_robertsspaceindustries.com_0.json +0 -28
  235. package/rules/generated/auto_GB_rolcruise.co.uk_0.json +0 -28
  236. package/rules/generated/auto_GB_roofingsuperstore.co.uk_0.json +0 -28
  237. package/rules/generated/auto_GB_roughtrade.com_0.json +0 -28
  238. package/rules/generated/auto_GB_royalenfield.com_0.json +0 -28
  239. package/rules/generated/auto_GB_royalmint.com_0.json +0 -28
  240. package/rules/generated/auto_GB_sharkclean.co.uk_0.json +0 -28
  241. package/rules/generated/auto_GB_shu.ac.uk_0.json +0 -28
  242. package/rules/generated/auto_GB_slaters.co.uk_0.json +0 -28
  243. package/rules/generated/auto_GB_sockshop.co.uk_7pv.json +0 -28
  244. package/rules/generated/auto_GB_specializedconceptstore.co.uk_0.json +0 -28
  245. package/rules/generated/auto_GB_sram.com_0.json +0 -28
  246. package/rules/generated/auto_GB_staples.co.uk_0.json +0 -28
  247. package/rules/generated/auto_GB_steam-packet.com_0.json +0 -28
  248. package/rules/generated/auto_GB_superbikefactory.co.uk_0.json +0 -28
  249. package/rules/generated/auto_GB_teepublic.com_0.json +0 -28
  250. package/rules/generated/auto_GB_thefarmersdogpub.com_0.json +0 -28
  251. package/rules/generated/auto_GB_thegreenreaper.co.uk_0.json +0 -28
  252. package/rules/generated/auto_GB_themeforest.net_0.json +0 -28
  253. package/rules/generated/auto_GB_theros.org.uk_0.json +0 -28
  254. package/rules/generated/auto_GB_thingiverse.com_0.json +0 -28
  255. package/rules/generated/auto_GB_timeshighereducation.com_0.json +0 -28
  256. package/rules/generated/auto_GB_towbarexpress.co.uk_0.json +0 -28
  257. package/rules/generated/auto_GB_tritonshowers.co.uk_0.json +0 -28
  258. package/rules/generated/auto_GB_utilitabowl.com_0.json +0 -28
  259. package/rules/generated/auto_GB_veals.co.uk_0.json +0 -28
  260. package/rules/generated/auto_GB_visitpeakdistrict.com_0.json +0 -28
  261. package/rules/generated/auto_GB_water-garden.co.uk_0.json +0 -28
  262. package/rules/generated/auto_GB_weforum.org_0.json +0 -28
  263. package/rules/generated/auto_GB_west-somerset-railway.co.uk_0.json +0 -28
  264. package/rules/generated/auto_GB_westmidlandsrailway.co.uk_0.json +0 -28
  265. package/rules/generated/auto_GB_whatprice.co.uk_vey.json +0 -28
  266. package/rules/generated/auto_GB_worldathletics.org_0.json +0 -28
  267. package/rules/generated/auto_GB_yeovalley.co.uk_0.json +0 -28
  268. package/rules/generated/auto_GB_yubico.com_0.json +0 -28
  269. package/rules/generated/auto_GB_zap-map.com_0.json +0 -28
  270. package/rules/generated/auto_GB_zoomcorp.com_0cv.json +0 -28
  271. package/rules/generated/auto_US_longevity.technology_ui9.json +0 -28
  272. package/tests/generated/auto_GB_abbavoyage.com_0.spec.ts +0 -2
  273. package/tests/generated/auto_GB_aber.ac.uk_0.spec.ts +0 -2
  274. package/tests/generated/auto_GB_airtattoo.com_0.spec.ts +0 -2
  275. package/tests/generated/auto_GB_bangor.ac.uk_0.spec.ts +0 -2
  276. package/tests/generated/auto_GB_bluelightcard.co.uk_0.spec.ts +0 -6
  277. package/tests/generated/auto_GB_bonmarche.co.uk_0.spec.ts +0 -6
  278. package/tests/generated/auto_GB_booker.co.uk_0.spec.ts +0 -2
  279. package/tests/generated/auto_GB_bradfords.co.uk_0.spec.ts +0 -6
  280. package/tests/generated/auto_GB_brandonhirestation.com_0.spec.ts +0 -6
  281. package/tests/generated/auto_GB_c2c-online.co.uk_0.spec.ts +0 -6
  282. package/tests/generated/auto_GB_casio.com_0.spec.ts +0 -2
  283. package/tests/generated/auto_GB_chemistdirect.co.uk_0.spec.ts +0 -6
  284. package/tests/generated/auto_GB_classic-trader.com_0.spec.ts +0 -6
  285. package/tests/generated/auto_GB_cliftoncameras.co.uk_0.spec.ts +0 -6
  286. package/tests/generated/auto_GB_crownpaints.co.uk_0.spec.ts +0 -6
  287. package/tests/generated/auto_GB_design911.co.uk_0.spec.ts +0 -6
  288. package/tests/generated/auto_GB_discountdragon.co.uk_0.spec.ts +0 -6
  289. package/tests/generated/auto_GB_doorsuperstore.co.uk_0.spec.ts +0 -6
  290. package/tests/generated/auto_GB_drainagesuperstore.co.uk_0.spec.ts +0 -6
  291. package/tests/generated/auto_GB_eastmidlandsrailway.co.uk_0.spec.ts +0 -6
  292. package/tests/generated/auto_GB_elements.envato.com_0.spec.ts +0 -6
  293. package/tests/generated/auto_GB_ercol.com_0.spec.ts +0 -2
  294. package/tests/generated/auto_GB_eurail.com_0.spec.ts +0 -2
  295. package/tests/generated/auto_GB_eurochange.co.uk_0.spec.ts +0 -6
  296. package/tests/generated/auto_GB_farrow-ball.com_0.spec.ts +0 -6
  297. package/tests/generated/auto_GB_finisterre.com_0.spec.ts +0 -2
  298. package/tests/generated/auto_GB_firstfence.co.uk_i98.spec.ts +0 -6
  299. package/tests/generated/auto_GB_gog.com_0.spec.ts +0 -2
  300. package/tests/generated/auto_GB_greateranglia.co.uk_0.spec.ts +0 -6
  301. package/tests/generated/auto_GB_gshock.casio.com_0.spec.ts +0 -6
  302. package/tests/generated/auto_GB_healthcareers.nhs.uk_0.spec.ts +0 -6
  303. package/tests/generated/auto_GB_hltv.org_0.spec.ts +0 -2
  304. package/tests/generated/auto_GB_hyperdrug.co.uk_0.spec.ts +0 -2
  305. package/tests/generated/auto_GB_insulationsuperstore.co.uk_0.spec.ts +0 -6
  306. package/tests/generated/auto_GB_interrail.eu_0.spec.ts +0 -2
  307. package/tests/generated/auto_GB_irishrail.ie_0.spec.ts +0 -6
  308. package/tests/generated/auto_GB_irwinmitchell.com_0.spec.ts +0 -6
  309. package/tests/generated/auto_GB_islesofscilly-travel.co.uk_0.spec.ts +0 -6
  310. package/tests/generated/auto_GB_iwantgreatcare.org_0.spec.ts +0 -6
  311. package/tests/generated/auto_GB_jacksons-fencing.co.uk_0.spec.ts +0 -6
  312. package/tests/generated/auto_GB_jarrolds.co.uk_0.spec.ts +0 -6
  313. package/tests/generated/auto_GB_jigsaw-online.com_0.spec.ts +0 -6
  314. package/tests/generated/auto_GB_kent.ac.uk_0.spec.ts +0 -2
  315. package/tests/generated/auto_GB_kidneycareuk.org_0.spec.ts +0 -6
  316. package/tests/generated/auto_GB_lecreuset.co.uk_0.spec.ts +0 -6
  317. package/tests/generated/auto_GB_leedsbeckett.ac.uk_0.spec.ts +0 -6
  318. package/tests/generated/auto_GB_liveauctioneers.com_0.spec.ts +0 -6
  319. package/tests/generated/auto_GB_londonnorthwesternrailway.co.uk_0.spec.ts +0 -6
  320. package/tests/generated/auto_GB_love2shop.co.uk_0.spec.ts +0 -6
  321. package/tests/generated/auto_GB_ltmuseum.co.uk_0.spec.ts +0 -6
  322. package/tests/generated/auto_GB_lucyandyak.com_x3v.spec.ts +0 -2
  323. package/tests/generated/auto_GB_mandstravelmoney.com_0.spec.ts +0 -6
  324. package/tests/generated/auto_GB_medway.gov.uk_0.spec.ts +0 -2
  325. package/tests/generated/auto_GB_mg.co.uk_0.spec.ts +0 -2
  326. package/tests/generated/auto_GB_motorcyclespareparts.eu_0.spec.ts +0 -6
  327. package/tests/generated/auto_GB_musicstore.com_0.spec.ts +0 -6
  328. package/tests/generated/auto_GB_myenergi.com_0.spec.ts +0 -2
  329. package/tests/generated/auto_GB_nationalgallery.org.uk_0.spec.ts +0 -6
  330. package/tests/generated/auto_GB_ncl.ac.uk_0.spec.ts +0 -2
  331. package/tests/generated/auto_GB_newdealsonline.co.uk_0.spec.ts +0 -6
  332. package/tests/generated/auto_GB_northernrailway.co.uk_0.spec.ts +0 -6
  333. package/tests/generated/auto_GB_notcutts.co.uk_0.spec.ts +0 -6
  334. package/tests/generated/auto_GB_oaknorth.co.uk_0.spec.ts +0 -2
  335. package/tests/generated/auto_GB_overclockers.co.uk_0.spec.ts +0 -6
  336. package/tests/generated/auto_GB_pavers.co.uk_0.spec.ts +0 -2
  337. package/tests/generated/auto_GB_pharmacy2u.co.uk_0.spec.ts +0 -6
  338. package/tests/generated/auto_GB_pixelcut.ai_lfx.spec.ts +0 -2
  339. package/tests/generated/auto_GB_plymouth.ac.uk_0.spec.ts +0 -6
  340. package/tests/generated/auto_GB_poferries.com_0.spec.ts +0 -6
  341. package/tests/generated/auto_GB_puppies.co.uk_0.spec.ts +0 -2
  342. package/tests/generated/auto_GB_raf.mod.uk_0.spec.ts +0 -2
  343. package/tests/generated/auto_GB_rct.uk_0.spec.ts +0 -2
  344. package/tests/generated/auto_GB_robertsspaceindustries.com_0.spec.ts +0 -6
  345. package/tests/generated/auto_GB_roofingsuperstore.co.uk_0.spec.ts +0 -6
  346. package/tests/generated/auto_GB_roughtrade.com_0.spec.ts +0 -6
  347. package/tests/generated/auto_GB_royalenfield.com_0.spec.ts +0 -6
  348. package/tests/generated/auto_GB_royalmint.com_0.spec.ts +0 -2
  349. package/tests/generated/auto_GB_sharkclean.co.uk_0.spec.ts +0 -6
  350. package/tests/generated/auto_GB_shu.ac.uk_0.spec.ts +0 -2
  351. package/tests/generated/auto_GB_slaters.co.uk_0.spec.ts +0 -2
  352. package/tests/generated/auto_GB_sockshop.co.uk_7pv.spec.ts +0 -6
  353. package/tests/generated/auto_GB_specializedconceptstore.co.uk_0.spec.ts +0 -6
  354. package/tests/generated/auto_GB_sram.com_0.spec.ts +0 -2
  355. package/tests/generated/auto_GB_staples.co.uk_0.spec.ts +0 -2
  356. package/tests/generated/auto_GB_steam-packet.com_0.spec.ts +0 -6
  357. package/tests/generated/auto_GB_superbikefactory.co.uk_0.spec.ts +0 -6
  358. package/tests/generated/auto_GB_teepublic.com_0.spec.ts +0 -2
  359. package/tests/generated/auto_GB_thefarmersdogpub.com_0.spec.ts +0 -6
  360. package/tests/generated/auto_GB_thegreenreaper.co.uk_0.spec.ts +0 -6
  361. package/tests/generated/auto_GB_themeforest.net_0.spec.ts +0 -2
  362. package/tests/generated/auto_GB_thingiverse.com_0.spec.ts +0 -6
  363. package/tests/generated/auto_GB_timeshighereducation.com_0.spec.ts +0 -6
  364. package/tests/generated/auto_GB_towbarexpress.co.uk_0.spec.ts +0 -6
  365. package/tests/generated/auto_GB_tritonshowers.co.uk_0.spec.ts +0 -6
  366. package/tests/generated/auto_GB_utilitabowl.com_0.spec.ts +0 -6
  367. package/tests/generated/auto_GB_veals.co.uk_0.spec.ts +0 -2
  368. package/tests/generated/auto_GB_visitpeakdistrict.com_0.spec.ts +0 -6
  369. package/tests/generated/auto_GB_water-garden.co.uk_0.spec.ts +0 -6
  370. package/tests/generated/auto_GB_weforum.org_0.spec.ts +0 -2
  371. package/tests/generated/auto_GB_west-somerset-railway.co.uk_0.spec.ts +0 -6
  372. package/tests/generated/auto_GB_westmidlandsrailway.co.uk_0.spec.ts +0 -6
  373. package/tests/generated/auto_GB_whatprice.co.uk_vey.spec.ts +0 -6
  374. package/tests/generated/auto_GB_worldathletics.org_0.spec.ts +0 -6
  375. package/tests/generated/auto_GB_yeovalley.co.uk_0.spec.ts +0 -6
  376. package/tests/generated/auto_GB_zoomcorp.com_0cv.spec.ts +0 -6
package/lib/encoding.ts CHANGED
@@ -137,11 +137,29 @@ export function decodeRules(encoded: CompactCMPRuleset): AutoConsentCMPRule[] {
137
137
  if (encoded.v > 1) {
138
138
  throw new Error('Unsupported rule format.');
139
139
  }
140
- function decodeRuleStep(step: CompactCMPRuleStep): AutoConsentRuleStep {
140
+ return encoded.r.filter((r) => r[0] <= SUPPORTED_RULE_STEP_VERSION).map((rule) => new CompactedCMPRule(rule, encoded.s));
141
+ }
142
+
143
+ class CompactedCMPRule implements AutoConsentCMPRule {
144
+ r: CompactCMPRule;
145
+ s: string[];
146
+ intermediate = false;
147
+ optIn = [];
148
+
149
+ constructor(rule: CompactCMPRule, strings: string[]) {
150
+ this.r = rule;
151
+ this.s = strings;
152
+ if (this.r[10] && this.r[10].intermediate) {
153
+ this.intermediate = this.r[10].intermediate;
154
+ }
155
+ }
156
+
157
+ _decodeRuleStep(step: CompactCMPRuleStep): AutoConsentRuleStep {
141
158
  const clonedStep: CompactCMPRuleStep = { ...step };
159
+ const decodeRuleStep = this._decodeRuleStep.bind(this);
142
160
  for (const [longKey, shortKey] of compactedRuleSteps) {
143
161
  if (clonedStep[shortKey] !== undefined) {
144
- clonedStep[longKey] = encoded.s[clonedStep[shortKey]];
162
+ clonedStep[longKey] = this.s[clonedStep[shortKey]];
145
163
  delete clonedStep[shortKey];
146
164
  }
147
165
  }
@@ -157,48 +175,50 @@ export function decodeRules(encoded: CompactCMPRuleset): AutoConsentCMPRule[] {
157
175
  }
158
176
  return { ...clonedStep };
159
177
  }
160
- return encoded.r
161
- .filter((r) => r[0] <= SUPPORTED_RULE_STEP_VERSION)
162
- .map((rule) => {
163
- const [
164
- minimumRuleStepVersion,
165
- name,
166
- cosmetic,
167
- urlPattern,
168
- mainFrame,
169
- prehideSelectors,
170
- detectCmp,
171
- detectPopup,
172
- optOut,
173
- test,
174
- extra,
175
- ] = rule;
176
- const optIn: AutoConsentRuleStep[] = [];
177
- const runContext: RunContext = {};
178
- const runInMainFrame = decodeNullableBoolean((Math.floor(mainFrame / 10) % 10) as CompactNullableBoolean);
179
- const runInSubFrame = decodeNullableBoolean((mainFrame % 10) as CompactNullableBoolean);
180
- if (runInMainFrame !== undefined) {
181
- runContext.main = runInMainFrame;
182
- }
183
- if (runInSubFrame !== undefined) {
184
- runContext.frame = runInSubFrame;
185
- }
186
- if (urlPattern !== '') {
187
- runContext.urlPattern = urlPattern;
188
- }
189
178
 
190
- return {
191
- name,
192
- cosmetic: decodeNullableBoolean(cosmetic),
193
- runContext,
194
- prehideSelectors: prehideSelectors.map((i) => encoded.s[i].toString()),
195
- detectCmp: detectCmp.map(decodeRuleStep),
196
- detectPopup: detectPopup.map(decodeRuleStep),
197
- optOut: optOut.map(decodeRuleStep),
198
- optIn,
199
- test: test?.map(decodeRuleStep),
200
- minimumRuleStepVersion: minimumRuleStepVersion || undefined,
201
- ...extra,
202
- };
203
- });
179
+ get name() {
180
+ return this.r[1];
181
+ }
182
+
183
+ get cosmetic() {
184
+ return decodeNullableBoolean(this.r[2]);
185
+ }
186
+
187
+ get runContext() {
188
+ const runContext: RunContext = {};
189
+ const urlPattern = this.r[3];
190
+ const mainFrame = this.r[4];
191
+ const runInMainFrame = decodeNullableBoolean((Math.floor(mainFrame / 10) % 10) as CompactNullableBoolean);
192
+ const runInSubFrame = decodeNullableBoolean((mainFrame % 10) as CompactNullableBoolean);
193
+ if (runInMainFrame !== undefined) {
194
+ runContext.main = runInMainFrame;
195
+ }
196
+ if (runInSubFrame !== undefined) {
197
+ runContext.frame = runInSubFrame;
198
+ }
199
+ if (urlPattern !== '') {
200
+ runContext.urlPattern = urlPattern;
201
+ }
202
+ return runContext;
203
+ }
204
+
205
+ get prehideSelectors() {
206
+ return this.r[5].map((i) => this.s[i].toString());
207
+ }
208
+
209
+ get detectCmp() {
210
+ return this.r[6].map(this._decodeRuleStep.bind(this));
211
+ }
212
+
213
+ get detectPopup() {
214
+ return this.r[7].map(this._decodeRuleStep.bind(this));
215
+ }
216
+
217
+ get optOut() {
218
+ return this.r[8].map(this._decodeRuleStep.bind(this));
219
+ }
220
+
221
+ get test() {
222
+ return this.r[9].map(this._decodeRuleStep.bind(this));
223
+ }
204
224
  }
package/lib/rules.ts CHANGED
@@ -4,20 +4,20 @@ import { snippets } from './eval-snippets';
4
4
  export const SUPPORTED_RULE_STEP_VERSION = 1;
5
5
 
6
6
  export type AutoConsentCMPRule = {
7
- name: string;
8
- vendorUrl?: string;
9
- prehideSelectors?: string[];
10
- runContext?: RunContext;
11
- intermediate?: boolean;
12
- cosmetic?: boolean;
13
- detectCmp: AutoConsentRuleStep[];
14
- detectPopup: AutoConsentRuleStep[];
15
- optOut: AutoConsentRuleStep[];
16
- optIn: AutoConsentRuleStep[];
17
- openCmp?: AutoConsentRuleStep[];
18
- test?: AutoConsentRuleStep[];
19
- comment?: string;
20
- minimumRuleStepVersion?: number;
7
+ readonly name: string;
8
+ readonly vendorUrl?: string;
9
+ readonly prehideSelectors?: string[];
10
+ readonly runContext?: RunContext;
11
+ readonly intermediate?: boolean;
12
+ readonly cosmetic?: boolean;
13
+ readonly detectCmp: AutoConsentRuleStep[];
14
+ readonly detectPopup: AutoConsentRuleStep[];
15
+ readonly optOut: AutoConsentRuleStep[];
16
+ readonly optIn: AutoConsentRuleStep[];
17
+ readonly openCmp?: AutoConsentRuleStep[];
18
+ readonly test?: AutoConsentRuleStep[];
19
+ readonly comment?: string;
20
+ readonly minimumRuleStepVersion?: number;
21
21
  };
22
22
 
23
23
  export type RunContext = {
package/lib/types.ts CHANGED
@@ -54,6 +54,7 @@ export type Config = {
54
54
  disabledCmps: string[];
55
55
  enablePrehide: boolean;
56
56
  enableCosmeticRules: boolean;
57
+ enableGeneratedRules: boolean;
57
58
  detectRetries: number;
58
59
  isMainWorld: boolean;
59
60
  prehideTimeout: number;
package/lib/utils.ts CHANGED
@@ -75,6 +75,7 @@ export function normalizeConfig(providedConfig: any): Config {
75
75
  disabledCmps: [],
76
76
  enablePrehide: true,
77
77
  enableCosmeticRules: true,
78
+ enableGeneratedRules: true,
78
79
  enableHeuristicDetection: false,
79
80
  detectRetries: 20,
80
81
  isMainWorld: false,
package/lib/web.ts CHANGED
@@ -20,7 +20,8 @@ function filterCMPs(rules: AutoCMP[], config: Config) {
20
20
  return rules.filter((cmp) => {
21
21
  return (
22
22
  (!config.disabledCmps || !config.disabledCmps.includes(cmp.name)) && // CMP is not disabled
23
- (config.enableCosmeticRules || !cmp.isCosmetic) // CMP is not cosmetic or cosmetic rules are enabled
23
+ (config.enableCosmeticRules || !cmp.isCosmetic) && // CMP is not cosmetic or cosmetic rules are enabled
24
+ (config.enableGeneratedRules || !cmp.name.startsWith('auto_')) // CMP is not generated or generated rules are enabled
24
25
  );
25
26
  });
26
27
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@duckduckgo/autoconsent",
3
- "version": "14.3.0",
3
+ "version": "14.4.0",
4
4
  "description": "",
5
5
  "exports": {
6
6
  ".": {
@@ -13,11 +13,17 @@
13
13
  "if": { "exists": ".cky-consent-container [data-cky-tag=settings-button]" },
14
14
  "then": [
15
15
  { "click": ".cky-consent-container [data-cky-tag=settings-button]" },
16
- { "waitFor": ".cky-modal-open input[type=checkbox]" },
17
- { "click": ".cky-modal-open input[type=checkbox]:checked", "all": true, "optional": true },
18
- { "waitForThenClick": ".cky-modal [data-cky-tag=detail-save-button]" }
16
+ { "waitFor": ".cky-modal-open input[type=checkbox],.cky-consent-bar-expand input[type=checkbox]" },
17
+ {
18
+ "click": ".cky-modal-open input[type=checkbox]:checked,.cky-consent-bar-expand input[type=checkbox]:checked",
19
+ "all": true,
20
+ "optional": true
21
+ },
22
+ {
23
+ "waitForThenClick": ".cky-modal [data-cky-tag=detail-save-button],.cky-consent-bar-expand [data-cky-tag=detail-save-button]"
24
+ }
19
25
  ],
20
- "else": [{ "hide": ".cky-consent-container,.cky-overlay" }]
26
+ "else": [{ "hide": ".cky-consent-container,.cky-overlay,.cky-consent-bar-expand" }]
21
27
  }
22
28
  ]
23
29
  }
@@ -20,8 +20,8 @@
20
20
  ],
21
21
  "optOut": [
22
22
  {
23
- "if": { "visible": "#ct_ultimate-gdpr-cookie-reject a" },
24
- "then": [{ "click": "#ct_ultimate-gdpr-cookie-reject a" }],
23
+ "if": { "visible": "#ct_ultimate-gdpr-cookie-reject a,#ct-ultimate-gdpr-cookie-reject" },
24
+ "then": [{ "click": "#ct_ultimate-gdpr-cookie-reject a,#ct-ultimate-gdpr-cookie-reject" }],
25
25
  "else": [
26
26
  {
27
27
  "if": { "visible": "#ct-ultimate-gdpr-cookie-change-settings" },