@adguard/agtree 3.1.5 → 3.2.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 (244) hide show
  1. package/dist/ast-utils/clone.js +1 -1
  2. package/dist/ast-utils/modifiers.js +1 -1
  3. package/dist/ast-utils/network-rules.js +1 -1
  4. package/dist/ast-utils/scriptlets.js +1 -1
  5. package/dist/common/abp-snippet-injection-body-common.js +1 -1
  6. package/dist/common/agent-common.js +1 -1
  7. package/dist/common/ubo-selector-common.js +1 -1
  8. package/dist/compatibility-tables/base.js +1 -1
  9. package/dist/compatibility-tables/compatibility-table-data.js +1 -1
  10. package/dist/compatibility-tables/modifiers.js +1 -1
  11. package/dist/compatibility-tables/platforms.js +1 -1
  12. package/dist/compatibility-tables/redirects.js +1 -1
  13. package/dist/compatibility-tables/schemas/base.js +1 -1
  14. package/dist/compatibility-tables/schemas/modifier.js +1 -1
  15. package/dist/compatibility-tables/schemas/platform.js +1 -1
  16. package/dist/compatibility-tables/schemas/redirect.js +1 -1
  17. package/dist/compatibility-tables/schemas/resource-type.js +1 -1
  18. package/dist/compatibility-tables/schemas/scriptlet.js +1 -1
  19. package/dist/compatibility-tables/scriptlets.js +1 -1
  20. package/dist/compatibility-tables/utils/platform-helpers.js +1 -1
  21. package/dist/compatibility-tables/utils/resource-type-helpers.js +1 -1
  22. package/dist/compatibility-tables/utils/zod-camelcase.js +1 -1
  23. package/dist/converter/base-interfaces/base-converter.js +1 -1
  24. package/dist/converter/base-interfaces/conversion-result.js +1 -1
  25. package/dist/converter/base-interfaces/rule-converter-base.js +1 -1
  26. package/dist/converter/comment/index.js +1 -1
  27. package/dist/converter/cosmetic/css.js +1 -1
  28. package/dist/converter/cosmetic/element-hiding.js +1 -1
  29. package/dist/converter/cosmetic/header-removal.js +1 -1
  30. package/dist/converter/cosmetic/html.js +162 -2
  31. package/dist/converter/cosmetic/index.js +1 -1
  32. package/dist/converter/cosmetic/rule-modifiers/adg.js +1 -1
  33. package/dist/converter/cosmetic/rule-modifiers/ubo.js +1 -1
  34. package/dist/converter/cosmetic/scriptlet.js +1 -1
  35. package/dist/converter/css/index.js +1 -1
  36. package/dist/converter/data/css.js +1 -1
  37. package/dist/converter/filter-list.js +1 -1
  38. package/dist/converter/index.js +1 -1
  39. package/dist/converter/misc/network-rule-modifier.js +1 -1
  40. package/dist/converter/network/index.js +1 -1
  41. package/dist/converter/raw-filter-list.js +1 -1
  42. package/dist/converter/raw-rule.js +1 -1
  43. package/dist/converter/rule.js +1 -1
  44. package/dist/deserializer/base-deserializer.js +1 -1
  45. package/dist/deserializer/comment/agent-comment-deserializer.js +1 -1
  46. package/dist/deserializer/comment/agent-deserializer.js +1 -1
  47. package/dist/deserializer/comment/comment-rule-deserializer.js +1 -1
  48. package/dist/deserializer/comment/config-comment-deserializer.js +1 -1
  49. package/dist/deserializer/comment/hint-comment-deserializer.js +1 -1
  50. package/dist/deserializer/comment/hint-deserializer.js +1 -1
  51. package/dist/deserializer/comment/metadata-comment-deserializer.js +1 -1
  52. package/dist/deserializer/comment/pre-processor-comment-deserializer.js +1 -1
  53. package/dist/deserializer/comment/simple-comment-deserializer.js +1 -1
  54. package/dist/deserializer/cosmetic/cosmetic-rule-deserializer.js +1 -1
  55. package/dist/deserializer/cosmetic/css-injection-body-deserializer.js +1 -1
  56. package/dist/deserializer/cosmetic/element-hiding-body-deserializer.js +1 -1
  57. package/dist/deserializer/cosmetic/scriptlet-body/abp-snippet-injection-body-deserializer.js +1 -1
  58. package/dist/deserializer/cosmetic/scriptlet-body/adg-scriptlet-injection-body-deserializer.js +1 -1
  59. package/dist/deserializer/cosmetic/scriptlet-body/scriptlet-body-deserializer.js +1 -1
  60. package/dist/deserializer/cosmetic/scriptlet-body/ubo-scriptlet-injection-body-deserializer.js +1 -1
  61. package/dist/deserializer/empty-rule-deserializer.js +1 -1
  62. package/dist/deserializer/filterlist-deserializer.js +1 -1
  63. package/dist/deserializer/index.js +1 -1
  64. package/dist/deserializer/invalid-rule-deserializer.js +1 -1
  65. package/dist/deserializer/invalid-rule-error-node-deserializer.js +1 -1
  66. package/dist/deserializer/misc/domain-list-deserializer.js +1 -1
  67. package/dist/deserializer/misc/list-item-deserializer.js +1 -1
  68. package/dist/deserializer/misc/list-items-deserializer.js +1 -1
  69. package/dist/deserializer/misc/logical-expression-deserializer.js +1 -1
  70. package/dist/deserializer/misc/modifier-deserializer.js +1 -1
  71. package/dist/deserializer/misc/modifier-list-deserializer.js +1 -1
  72. package/dist/deserializer/misc/parameter-list-deserializer.js +1 -1
  73. package/dist/deserializer/misc/value-deserializer.js +1 -1
  74. package/dist/deserializer/network/host-rule-deserializer.js +1 -1
  75. package/dist/deserializer/network/hostname-list-deserializer.js +1 -1
  76. package/dist/deserializer/network/network-rule-deserializer.js +1 -1
  77. package/dist/deserializer/rule-deserializer.js +1 -1
  78. package/dist/deserializer/syntax-deserialization-map.js +1 -1
  79. package/dist/errors/adblock-syntax-error.js +1 -1
  80. package/dist/errors/binary-schema-mismatch-error.js +1 -1
  81. package/dist/errors/not-implemented-error.js +1 -1
  82. package/dist/errors/rule-conversion-error.js +1 -1
  83. package/dist/generator/base-generator.js +1 -1
  84. package/dist/generator/comment/agent-comment-generator.js +1 -1
  85. package/dist/generator/comment/agent-generator.js +1 -1
  86. package/dist/generator/comment/comment-rule-generator.js +1 -1
  87. package/dist/generator/comment/config-comment-generator.js +1 -1
  88. package/dist/generator/comment/hint-comment-generator.js +1 -1
  89. package/dist/generator/comment/hint-generator.js +1 -1
  90. package/dist/generator/comment/metadata-comment-generator.js +1 -1
  91. package/dist/generator/comment/pre-processor-comment-generator.js +1 -1
  92. package/dist/generator/comment/simple-comment-generator.js +1 -1
  93. package/dist/generator/cosmetic/body/abp-snippet-injection-body-generator.js +1 -1
  94. package/dist/generator/cosmetic/body/adg-scriptlet-injection-body-generator.js +1 -1
  95. package/dist/generator/cosmetic/body/ubo-scriptlet-injection-body-generator.js +1 -1
  96. package/dist/generator/cosmetic/cosmetic-rule-body-generator.js +1 -1
  97. package/dist/generator/cosmetic/cosmetic-rule-generator.js +1 -1
  98. package/dist/generator/cosmetic/cosmetic-rule-pattern-generator.js +1 -1
  99. package/dist/generator/css/adg-css-injection-generator.js +1 -1
  100. package/dist/generator/filterlist-generator.js +1 -1
  101. package/dist/generator/index.js +1 -1
  102. package/dist/generator/misc/domain-list-generator.js +1 -1
  103. package/dist/generator/misc/list-items-generator.js +1 -1
  104. package/dist/generator/misc/logical-expression-generator.js +1 -1
  105. package/dist/generator/misc/modifier-generator.js +1 -1
  106. package/dist/generator/misc/modifier-list-generator.js +1 -1
  107. package/dist/generator/misc/parameter-list-generator.js +1 -1
  108. package/dist/generator/misc/value-generator.js +1 -1
  109. package/dist/generator/network/host-rule-generator.js +1 -1
  110. package/dist/generator/network/network-rule-generator.js +1 -1
  111. package/dist/generator/rule-generator.js +1 -1
  112. package/dist/index.js +1 -1
  113. package/dist/marshalling-utils/comment/agent-comment-common.js +1 -1
  114. package/dist/marshalling-utils/comment/agent-common.js +1 -1
  115. package/dist/marshalling-utils/comment/config-comment-common.js +1 -1
  116. package/dist/marshalling-utils/comment/hint-comment-common.js +1 -1
  117. package/dist/marshalling-utils/comment/hint-common.js +1 -1
  118. package/dist/marshalling-utils/comment/metadata-comment-common.js +1 -1
  119. package/dist/marshalling-utils/comment/pre-processor-comment-common.js +1 -1
  120. package/dist/marshalling-utils/comment/simple-comment-common.js +1 -1
  121. package/dist/marshalling-utils/cosmetic/body/abp-snippet-injection-body-common.js +1 -1
  122. package/dist/marshalling-utils/cosmetic/body/adg-scriptlet-injection-body-common.js +1 -1
  123. package/dist/marshalling-utils/cosmetic/body/css-injection-body-common.js +1 -1
  124. package/dist/marshalling-utils/cosmetic/body/element-hiding-body-common.js +1 -1
  125. package/dist/marshalling-utils/cosmetic/body/ubo-scriptlet-injection-body-common.js +1 -1
  126. package/dist/marshalling-utils/cosmetic/cosmetic-rule-common.js +1 -1
  127. package/dist/marshalling-utils/empty-rule-common.js +1 -1
  128. package/dist/marshalling-utils/filter-list-common.js +1 -1
  129. package/dist/marshalling-utils/invalid-rule-common.js +1 -1
  130. package/dist/marshalling-utils/invalid-rule-error-node-common.js +1 -1
  131. package/dist/marshalling-utils/misc/binary-type-common.js +1 -1
  132. package/dist/marshalling-utils/misc/domain-list-common.js +1 -1
  133. package/dist/marshalling-utils/misc/host-rule-common.js +1 -1
  134. package/dist/marshalling-utils/misc/hostname-list-common.js +1 -1
  135. package/dist/marshalling-utils/misc/list-item-common.js +1 -1
  136. package/dist/marshalling-utils/misc/logical-expression-common.js +1 -1
  137. package/dist/marshalling-utils/misc/modifier-common.js +1 -1
  138. package/dist/marshalling-utils/misc/modifier-list-common.js +1 -1
  139. package/dist/marshalling-utils/misc/parameter-list-common.js +1 -1
  140. package/dist/marshalling-utils/misc/value-common.js +1 -1
  141. package/dist/marshalling-utils/network/network-rule-common.js +1 -1
  142. package/dist/marshalling-utils/syntax-serialization-map.js +1 -1
  143. package/dist/nodes/index.js +1 -1
  144. package/dist/package.json.js +2 -2
  145. package/dist/parser/base-parser.js +1 -1
  146. package/dist/parser/comment/agent-comment-parser.js +1 -1
  147. package/dist/parser/comment/agent-parser.js +1 -1
  148. package/dist/parser/comment/comment-parser.js +1 -1
  149. package/dist/parser/comment/config-comment-parser.js +1 -1
  150. package/dist/parser/comment/hint-comment-parser.js +1 -1
  151. package/dist/parser/comment/hint-parser.js +1 -1
  152. package/dist/parser/comment/metadata-comment-parser.js +1 -1
  153. package/dist/parser/comment/preprocessor-parser.js +1 -1
  154. package/dist/parser/comment/simple-comment-parser.js +1 -1
  155. package/dist/parser/cosmetic/body/abp-snippet-injection-body-parser.js +1 -1
  156. package/dist/parser/cosmetic/body/adg-scriptlet-injection-body-parser.js +1 -1
  157. package/dist/parser/cosmetic/body/ubo-scriptlet-injection-body-parser.js +1 -1
  158. package/dist/parser/cosmetic/cosmetic-rule-parser.js +1 -1
  159. package/dist/parser/css/adg-css-injection-parser.js +1 -1
  160. package/dist/parser/css/balancing.js +1 -1
  161. package/dist/parser/css/constants.js +1 -1
  162. package/dist/parser/css/css-token-stream.js +1 -1
  163. package/dist/parser/css/ubo-selector-parser.js +1 -1
  164. package/dist/parser/filterlist-parser.js +1 -1
  165. package/dist/parser/index.js +1 -1
  166. package/dist/parser/misc/app-list-parser.js +1 -1
  167. package/dist/parser/misc/domain-list-parser.js +1 -1
  168. package/dist/parser/misc/list-items-parser.js +1 -1
  169. package/dist/parser/misc/logical-expression-parser.js +1 -1
  170. package/dist/parser/misc/method-list-parser.js +1 -1
  171. package/dist/parser/misc/modifier-list.js +1 -1
  172. package/dist/parser/misc/modifier-parser.js +1 -1
  173. package/dist/parser/misc/parameter-list-parser.js +1 -1
  174. package/dist/parser/misc/stealth-option-list-parser.js +1 -1
  175. package/dist/parser/misc/ubo-parameter-list-parser.js +1 -1
  176. package/dist/parser/misc/value-parser.js +1 -1
  177. package/dist/parser/network/host-rule-parser.js +1 -1
  178. package/dist/parser/network/network-rule-parser.js +1 -1
  179. package/dist/parser/options.js +1 -1
  180. package/dist/parser/rule-parser.js +1 -1
  181. package/dist/serializer/base-serializer.js +1 -1
  182. package/dist/serializer/comment/agent-comment-serializer.js +1 -1
  183. package/dist/serializer/comment/agent-serializer.js +1 -1
  184. package/dist/serializer/comment/comment-rule-serializer.js +1 -1
  185. package/dist/serializer/comment/config-comment-serializer.js +1 -1
  186. package/dist/serializer/comment/hint-comment-serializer.js +1 -1
  187. package/dist/serializer/comment/hint-serializer.js +1 -1
  188. package/dist/serializer/comment/metadata-comment-serializer.js +1 -1
  189. package/dist/serializer/comment/pre-processor-comment-serializer.js +1 -1
  190. package/dist/serializer/comment/simple-comment-serializer.js +1 -1
  191. package/dist/serializer/cosmetic/body/abp-snippet-injection-body-serializer.js +1 -1
  192. package/dist/serializer/cosmetic/body/adg-scriptlet-injection-body-serializer.js +1 -1
  193. package/dist/serializer/cosmetic/body/scriptlet-body-serializer.js +1 -1
  194. package/dist/serializer/cosmetic/body/ubo-scriptlet-injection-body-serializer.js +1 -1
  195. package/dist/serializer/cosmetic/cosmetic-rule-serializer.js +1 -1
  196. package/dist/serializer/cosmetic/css-injection-body-serializer.js +1 -1
  197. package/dist/serializer/cosmetic/element-hiding-body-serializer.js +1 -1
  198. package/dist/serializer/empty-rule-serializer.js +1 -1
  199. package/dist/serializer/filterlist-serializer.js +1 -1
  200. package/dist/serializer/index.js +1 -1
  201. package/dist/serializer/invalid-rule-error-node-serializer.js +1 -1
  202. package/dist/serializer/invalid-rule-serializer.js +1 -1
  203. package/dist/serializer/misc/domain-list-serializer.js +1 -1
  204. package/dist/serializer/misc/list-item-serializer.js +1 -1
  205. package/dist/serializer/misc/list-items-serializer.js +1 -1
  206. package/dist/serializer/misc/logical-expression-serializer.js +1 -1
  207. package/dist/serializer/misc/modifier-list-serializer.js +1 -1
  208. package/dist/serializer/misc/modifier-serializer.js +1 -1
  209. package/dist/serializer/misc/parameter-list-serializer.js +1 -1
  210. package/dist/serializer/misc/value-serializer.js +1 -1
  211. package/dist/serializer/network/host-rule-serializer.js +1 -1
  212. package/dist/serializer/network/hostname-list-serializer.js +1 -1
  213. package/dist/serializer/network/network-rule-serializer.js +1 -1
  214. package/dist/serializer/rule-serializer.js +1 -1
  215. package/dist/types/converter/cosmetic/html.d.ts +15 -0
  216. package/dist/utils/adblockers.js +1 -1
  217. package/dist/utils/binary-schema-version.js +1 -1
  218. package/dist/utils/byte-buffer.js +1 -1
  219. package/dist/utils/categorizer.js +1 -1
  220. package/dist/utils/clone.js +1 -1
  221. package/dist/utils/constants.js +5 -2
  222. package/dist/utils/cosmetic-rule-separator.js +1 -1
  223. package/dist/utils/deep-freeze.js +1 -1
  224. package/dist/utils/domain.js +1 -1
  225. package/dist/utils/error.js +1 -1
  226. package/dist/utils/index.js +1 -1
  227. package/dist/utils/input-byte-buffer.js +1 -1
  228. package/dist/utils/is-chromium.js +1 -1
  229. package/dist/utils/logical-expression.js +1 -1
  230. package/dist/utils/multi-value-map.js +1 -1
  231. package/dist/utils/output-byte-buffer.js +1 -1
  232. package/dist/utils/position-provider.js +1 -1
  233. package/dist/utils/quotes.js +1 -1
  234. package/dist/utils/regexp.js +1 -1
  235. package/dist/utils/string.js +1 -1
  236. package/dist/utils/text-decoder-polyfill.js +1 -1
  237. package/dist/utils/text-encoder-polyfill.js +1 -1
  238. package/dist/utils/type-guards.js +1 -1
  239. package/dist/validator/constants.js +1 -1
  240. package/dist/validator/helpers.js +1 -1
  241. package/dist/validator/index.js +1 -1
  242. package/dist/validator/value.js +1 -1
  243. package/dist/version.js +1 -1
  244. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.1.5 (build date: Wed, 21 May 2025 00:20:27 GMT)
2
+ * AGTree v3.2.0 (build date: Thu, 22 May 2025 15:50:51 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.1.5 (build date: Wed, 21 May 2025 00:20:27 GMT)
2
+ * AGTree v3.2.0 (build date: Thu, 22 May 2025 15:50:51 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.1.5 (build date: Wed, 21 May 2025 00:20:27 GMT)
2
+ * AGTree v3.2.0 (build date: Thu, 22 May 2025 15:50:51 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.1.5 (build date: Wed, 21 May 2025 00:20:27 GMT)
2
+ * AGTree v3.2.0 (build date: Thu, 22 May 2025 15:50:51 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.1.5 (build date: Wed, 21 May 2025 00:20:27 GMT)
2
+ * AGTree v3.2.0 (build date: Thu, 22 May 2025 15:50:51 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.1.5 (build date: Wed, 21 May 2025 00:20:27 GMT)
2
+ * AGTree v3.2.0 (build date: Thu, 22 May 2025 15:50:51 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.1.5 (build date: Wed, 21 May 2025 00:20:27 GMT)
2
+ * AGTree v3.2.0 (build date: Thu, 22 May 2025 15:50:51 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.1.5 (build date: Wed, 21 May 2025 00:20:27 GMT)
2
+ * AGTree v3.2.0 (build date: Thu, 22 May 2025 15:50:51 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.1.5 (build date: Wed, 21 May 2025 00:20:27 GMT)
2
+ * AGTree v3.2.0 (build date: Thu, 22 May 2025 15:50:51 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.1.5 (build date: Wed, 21 May 2025 00:20:27 GMT)
2
+ * AGTree v3.2.0 (build date: Thu, 22 May 2025 15:50:51 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.1.5 (build date: Wed, 21 May 2025 00:20:27 GMT)
2
+ * AGTree v3.2.0 (build date: Thu, 22 May 2025 15:50:51 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.1.5 (build date: Wed, 21 May 2025 00:20:27 GMT)
2
+ * AGTree v3.2.0 (build date: Thu, 22 May 2025 15:50:51 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.1.5 (build date: Wed, 21 May 2025 00:20:27 GMT)
2
+ * AGTree v3.2.0 (build date: Thu, 22 May 2025 15:50:51 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.1.5 (build date: Wed, 21 May 2025 00:20:27 GMT)
2
+ * AGTree v3.2.0 (build date: Thu, 22 May 2025 15:50:51 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.1.5 (build date: Wed, 21 May 2025 00:20:27 GMT)
2
+ * AGTree v3.2.0 (build date: Thu, 22 May 2025 15:50:51 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.1.5 (build date: Wed, 21 May 2025 00:20:27 GMT)
2
+ * AGTree v3.2.0 (build date: Thu, 22 May 2025 15:50:51 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.1.5 (build date: Wed, 21 May 2025 00:20:27 GMT)
2
+ * AGTree v3.2.0 (build date: Thu, 22 May 2025 15:50:51 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.1.5 (build date: Wed, 21 May 2025 00:20:27 GMT)
2
+ * AGTree v3.2.0 (build date: Thu, 22 May 2025 15:50:51 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.1.5 (build date: Wed, 21 May 2025 00:20:27 GMT)
2
+ * AGTree v3.2.0 (build date: Thu, 22 May 2025 15:50:51 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.1.5 (build date: Wed, 21 May 2025 00:20:27 GMT)
2
+ * AGTree v3.2.0 (build date: Thu, 22 May 2025 15:50:51 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.1.5 (build date: Wed, 21 May 2025 00:20:27 GMT)
2
+ * AGTree v3.2.0 (build date: Thu, 22 May 2025 15:50:51 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.1.5 (build date: Wed, 21 May 2025 00:20:27 GMT)
2
+ * AGTree v3.2.0 (build date: Thu, 22 May 2025 15:50:51 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.1.5 (build date: Wed, 21 May 2025 00:20:27 GMT)
2
+ * AGTree v3.2.0 (build date: Thu, 22 May 2025 15:50:51 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.1.5 (build date: Wed, 21 May 2025 00:20:27 GMT)
2
+ * AGTree v3.2.0 (build date: Thu, 22 May 2025 15:50:51 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.1.5 (build date: Wed, 21 May 2025 00:20:27 GMT)
2
+ * AGTree v3.2.0 (build date: Thu, 22 May 2025 15:50:51 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.1.5 (build date: Wed, 21 May 2025 00:20:27 GMT)
2
+ * AGTree v3.2.0 (build date: Thu, 22 May 2025 15:50:51 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.1.5 (build date: Wed, 21 May 2025 00:20:27 GMT)
2
+ * AGTree v3.2.0 (build date: Thu, 22 May 2025 15:50:51 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.1.5 (build date: Wed, 21 May 2025 00:20:27 GMT)
2
+ * AGTree v3.2.0 (build date: Thu, 22 May 2025 15:50:51 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.1.5 (build date: Wed, 21 May 2025 00:20:27 GMT)
2
+ * AGTree v3.2.0 (build date: Thu, 22 May 2025 15:50:51 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.1.5 (build date: Wed, 21 May 2025 00:20:27 GMT)
2
+ * AGTree v3.2.0 (build date: Thu, 22 May 2025 15:50:51 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -14,8 +14,12 @@ import { RegExpUtils } from '../../utils/regexp.js';
14
14
  import { createNodeConversionResult } from '../base-interfaces/conversion-result.js';
15
15
  import { cloneDomainListNode } from '../../ast-utils/clone.js';
16
16
  import { CssTokenStream } from '../../parser/css/css-token-stream.js';
17
- import { UBO_HTML_MASK, EQUALS, EMPTY, ESCAPE_CHARACTER, OPEN_SQUARE_BRACKET, CLOSE_SQUARE_BRACKET } from '../../utils/constants.js';
17
+ import { UBO_HTML_MASK, EQUALS, EMPTY, ESCAPE_CHARACTER, CSS_PSEUDO_MARKER, CSS_PSEUDO_OPEN, CSS_PSEUDO_CLOSE, OPEN_SQUARE_BRACKET, CLOSE_SQUARE_BRACKET } from '../../utils/constants.js';
18
18
  import { StringUtils, DOUBLE_QUOTE_MARKER } from '../../utils/string.js';
19
+ import 'tldts';
20
+ import { QuoteUtils } from '../../utils/quotes.js';
21
+ import 'json5';
22
+ import '../../parser/css/balancing.js';
19
23
 
20
24
  /**
21
25
  * @file HTML filtering rule converter
@@ -37,6 +41,16 @@ const PseudoClasses = {
37
41
  HasText: 'has-text',
38
42
  MinTextLength: 'min-text-length',
39
43
  };
44
+ /**
45
+ * Constructs a pseudo-class string with a specified value for use in CSS selectors.
46
+ *
47
+ * @param pseudo - The pseudo-class name.
48
+ * @param value - The value of the pseudo-class.
49
+ * @returns pseudo-class string, including pseudo-class name, value and delimiters.
50
+ */
51
+ const addPseudoClassWithValue = (pseudo, value) => {
52
+ return `${CSS_PSEUDO_MARKER}${pseudo}${CSS_PSEUDO_OPEN}${value}${CSS_PSEUDO_CLOSE}`;
53
+ };
40
54
  const AttributeSelectors = {
41
55
  MaxLength: 'max-length',
42
56
  MinLength: 'min-length',
@@ -59,6 +73,7 @@ const ERROR_MESSAGES = {
59
73
  REGEXP_NOT_SUPPORTED: "Cannot convert RegExp parameter '%s' from '%s' pseudo class, because converting RegExp patterns are not supported yet",
60
74
  ATTRIBUTE_SELECTOR_REQUIRES_VALUE: "Attribute selector '%s' requires a value",
61
75
  VALUE_SHOULD_BE_SPECIFIED: 'Value should be specified if operator is specified',
76
+ VALUE_SHOULD_BE_POSITIVE: 'Value should be positive',
62
77
  UNEXPECTED_TOKEN_WITH_VALUE: "Unexpected token '%s' with value '%s'",
63
78
  FLAGS_NOT_SUPPORTED: 'Flags are not supported for attribute selectors',
64
79
  };
@@ -94,6 +109,25 @@ function escapeDoubleQuotes(selector) {
94
109
  }
95
110
  return buffer.join(EMPTY);
96
111
  }
112
+ /**
113
+ * Safely parses length values from attribute selectors, like `"262144"` from `[max-length="262144"]`
114
+ *
115
+ * @param value The string value to parse
116
+ * @param attrName The attribute name for error messages
117
+ * @returns Parsed number
118
+ * @throws A {@link RuleConversionError} if parsing fails
119
+ */
120
+ function parseLengthValue(value, attrName) {
121
+ const cleanValue = QuoteUtils.removeQuotes(value);
122
+ const parsed = Number(cleanValue);
123
+ if (Number.isNaN(parsed)) {
124
+ throw new RuleConversionError(sprintf(ERROR_MESSAGES.VALUE_FOR_ATTR_SHOULD_BE_INT, attrName, value));
125
+ }
126
+ if (parsed < 0) {
127
+ throw new RuleConversionError(sprintf(ERROR_MESSAGES.VALUE_SHOULD_BE_POSITIVE, attrName, value));
128
+ }
129
+ return parsed;
130
+ }
97
131
  /**
98
132
  * Convert escaped double quotes `\"` to `""` within strings.
99
133
  *
@@ -367,6 +401,132 @@ class HtmlRuleConverter extends RuleConverterBase {
367
401
  },
368
402
  })), true);
369
403
  }
404
+ /**
405
+ * Converts a HTML rule to uBlock Origin syntax, if possible.
406
+ *
407
+ * @note AdGuard rules are often more specific than uBlock Origin rules, so some information
408
+ * may be lost in conversion. AdGuard's `[max-length]` and `[tag-content]` attributes will be converted to
409
+ * uBlock's `:min-text-length()` and `:has-text()` pseudo-classes when possible.
410
+ *
411
+ * @param rule Rule node to convert
412
+ * @returns An object which follows the {@link NodeConversionResult} interface. Its `result` property contains
413
+ * the array of converted rule nodes, and its `isConverted` flag indicates whether the original rule was converted.
414
+ * If the rule was not converted, the result array will contain the original node with the same object reference
415
+ * @throws Error if the rule is invalid or cannot be converted
416
+ */
417
+ static convertToUbo(rule) {
418
+ // Ignore uBlock Origin rules
419
+ if (rule.syntax === AdblockSyntax.Ubo) {
420
+ return createNodeConversionResult([rule], false);
421
+ }
422
+ if (rule.syntax === AdblockSyntax.Abp) {
423
+ throw new RuleConversionError(ERROR_MESSAGES.ABP_NOT_SUPPORTED);
424
+ }
425
+ const source = escapeDoubleQuotes(rule.body.value);
426
+ const stream = new CssTokenStream(source);
427
+ const convertedSelector = [];
428
+ let minTextLength;
429
+ // Skip leading whitespace
430
+ stream.skipWhitespace();
431
+ while (!stream.isEof()) {
432
+ const token = stream.getOrFail();
433
+ if (token.type === TokenType.Ident) {
434
+ convertedSelector.push(source.slice(token.start, token.end));
435
+ stream.advance();
436
+ }
437
+ else if (token.type === TokenType.OpenSquareBracket) {
438
+ // Attribute selectors
439
+ const { start } = token;
440
+ let tempToken;
441
+ // Advance opening square bracket
442
+ stream.advance();
443
+ // Skip optional whitespace
444
+ stream.skipWhitespace();
445
+ // Parse attribute name
446
+ tempToken = stream.getOrFail();
447
+ if (tempToken.type !== TokenType.Ident) {
448
+ throw new RuleConversionError(sprintf(ERROR_MESSAGES.INVALID_ATTRIBUTE_NAME, getFormattedTokenName(tempToken.type), source.slice(tempToken.start, tempToken.end)));
449
+ }
450
+ const attr = source.slice(tempToken.start, tempToken.end);
451
+ stream.advance();
452
+ // Skip optional whitespace
453
+ stream.skipWhitespace();
454
+ // Check if this is a standalone attribute (like [disabled])
455
+ tempToken = stream.getOrFail();
456
+ if (tempToken.type === TokenType.CloseSquareBracket) {
457
+ const { end } = tempToken;
458
+ stream.advance();
459
+ convertedSelector.push(source.slice(start, end));
460
+ continue;
461
+ }
462
+ // Expect equals operator
463
+ stream.expect(TokenType.Delim, { value: EQUALS });
464
+ stream.advance();
465
+ // Skip optional whitespace
466
+ stream.skipWhitespace();
467
+ // Parse attribute value
468
+ tempToken = stream.getOrFail();
469
+ if (tempToken.type !== TokenType.Ident && tempToken.type !== TokenType.String) {
470
+ throw new RuleConversionError(sprintf(ERROR_MESSAGES.INVALID_ATTRIBUTE_VALUE, getFormattedTokenName(tempToken.type), source.slice(tempToken.start, tempToken.end)));
471
+ }
472
+ const value = source.slice(tempToken.start, tempToken.end);
473
+ stream.advance();
474
+ // Skip optional whitespace
475
+ stream.skipWhitespace();
476
+ // Check for closing bracket
477
+ tempToken = stream.getOrFail();
478
+ if (tempToken.type !== TokenType.CloseSquareBracket) {
479
+ throw new RuleConversionError(sprintf(ERROR_MESSAGES.FLAGS_NOT_SUPPORTED));
480
+ }
481
+ const { end } = stream.getOrFail();
482
+ stream.advance();
483
+ // Handle special attributes with improved number parsing
484
+ if (attr === AttributeSelectors.MinLength || attr === AttributeSelectors.MaxLength) {
485
+ const parsedValue = parseLengthValue(value, attr);
486
+ if (attr === AttributeSelectors.MinLength) {
487
+ minTextLength = parsedValue;
488
+ }
489
+ }
490
+ else if (attr === AttributeSelectors.TagContent) {
491
+ const unescapedValue = unescapeDoubleQuotes(value);
492
+ const valueWithoutQuotes = QuoteUtils.removeQuotes(unescapedValue);
493
+ convertedSelector.push(addPseudoClassWithValue(PseudoClasses.HasText, valueWithoutQuotes));
494
+ }
495
+ else {
496
+ convertedSelector.push(source.slice(start, end));
497
+ }
498
+ }
499
+ else if (token.type === TokenType.Whitespace) {
500
+ stream.advance();
501
+ }
502
+ else {
503
+ throw new RuleConversionError(sprintf(ERROR_MESSAGES.UNEXPECTED_TOKEN_WITH_VALUE, getFormattedTokenName(token.type), source.slice(token.start, token.end)));
504
+ }
505
+ }
506
+ // Handle min length conversions
507
+ if (minTextLength !== undefined) {
508
+ convertedSelector.push(addPseudoClassWithValue(PseudoClasses.MinTextLength, minTextLength));
509
+ }
510
+ // Combine all selectors
511
+ const uboSelector = `${convertedSelector.join(EMPTY)}`;
512
+ return createNodeConversionResult([{
513
+ category: RuleCategory.Cosmetic,
514
+ type: CosmeticRuleType.HtmlFilteringRule,
515
+ syntax: AdblockSyntax.Ubo,
516
+ exception: rule.exception,
517
+ domains: cloneDomainListNode(rule.domains),
518
+ separator: {
519
+ type: 'Value',
520
+ value: rule.exception
521
+ ? `${CosmeticRuleSeparator.ElementHidingException}${UBO_HTML_MASK}`
522
+ : `${CosmeticRuleSeparator.ElementHiding}${UBO_HTML_MASK}`,
523
+ },
524
+ body: {
525
+ type: 'Value',
526
+ value: unescapeDoubleQuotes(uboSelector),
527
+ },
528
+ }], true);
529
+ }
370
530
  }
371
531
 
372
532
  export { ERROR_MESSAGES, HtmlRuleConverter };
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.1.5 (build date: Wed, 21 May 2025 00:20:27 GMT)
2
+ * AGTree v3.2.0 (build date: Thu, 22 May 2025 15:50:51 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.1.5 (build date: Wed, 21 May 2025 00:20:27 GMT)
2
+ * AGTree v3.2.0 (build date: Thu, 22 May 2025 15:50:51 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.1.5 (build date: Wed, 21 May 2025 00:20:27 GMT)
2
+ * AGTree v3.2.0 (build date: Thu, 22 May 2025 15:50:51 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.1.5 (build date: Wed, 21 May 2025 00:20:27 GMT)
2
+ * AGTree v3.2.0 (build date: Thu, 22 May 2025 15:50:51 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.1.5 (build date: Wed, 21 May 2025 00:20:27 GMT)
2
+ * AGTree v3.2.0 (build date: Thu, 22 May 2025 15:50:51 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.1.5 (build date: Wed, 21 May 2025 00:20:27 GMT)
2
+ * AGTree v3.2.0 (build date: Thu, 22 May 2025 15:50:51 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.1.5 (build date: Wed, 21 May 2025 00:20:27 GMT)
2
+ * AGTree v3.2.0 (build date: Thu, 22 May 2025 15:50:51 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.1.5 (build date: Wed, 21 May 2025 00:20:27 GMT)
2
+ * AGTree v3.2.0 (build date: Thu, 22 May 2025 15:50:51 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.1.5 (build date: Wed, 21 May 2025 00:20:27 GMT)
2
+ * AGTree v3.2.0 (build date: Thu, 22 May 2025 15:50:51 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.1.5 (build date: Wed, 21 May 2025 00:20:27 GMT)
2
+ * AGTree v3.2.0 (build date: Thu, 22 May 2025 15:50:51 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.1.5 (build date: Wed, 21 May 2025 00:20:27 GMT)
2
+ * AGTree v3.2.0 (build date: Thu, 22 May 2025 15:50:51 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.1.5 (build date: Wed, 21 May 2025 00:20:27 GMT)
2
+ * AGTree v3.2.0 (build date: Thu, 22 May 2025 15:50:51 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.1.5 (build date: Wed, 21 May 2025 00:20:27 GMT)
2
+ * AGTree v3.2.0 (build date: Thu, 22 May 2025 15:50:51 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.1.5 (build date: Wed, 21 May 2025 00:20:27 GMT)
2
+ * AGTree v3.2.0 (build date: Thu, 22 May 2025 15:50:51 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.1.5 (build date: Wed, 21 May 2025 00:20:27 GMT)
2
+ * AGTree v3.2.0 (build date: Thu, 22 May 2025 15:50:51 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.1.5 (build date: Wed, 21 May 2025 00:20:27 GMT)
2
+ * AGTree v3.2.0 (build date: Thu, 22 May 2025 15:50:51 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.1.5 (build date: Wed, 21 May 2025 00:20:27 GMT)
2
+ * AGTree v3.2.0 (build date: Thu, 22 May 2025 15:50:51 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.1.5 (build date: Wed, 21 May 2025 00:20:27 GMT)
2
+ * AGTree v3.2.0 (build date: Thu, 22 May 2025 15:50:51 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.1.5 (build date: Wed, 21 May 2025 00:20:27 GMT)
2
+ * AGTree v3.2.0 (build date: Thu, 22 May 2025 15:50:51 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.1.5 (build date: Wed, 21 May 2025 00:20:27 GMT)
2
+ * AGTree v3.2.0 (build date: Thu, 22 May 2025 15:50:51 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.1.5 (build date: Wed, 21 May 2025 00:20:27 GMT)
2
+ * AGTree v3.2.0 (build date: Thu, 22 May 2025 15:50:51 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme