@adguard/agtree 3.0.1 → 3.1.1

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 (247) 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 +1 -1
  31. package/dist/converter/cosmetic/index.js +50 -3
  32. package/dist/converter/cosmetic/rule-modifiers/adg.js +1 -1
  33. package/dist/converter/cosmetic/rule-modifiers/ubo.js +149 -0
  34. package/dist/converter/cosmetic/scriptlet.js +6 -2
  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/rule.js +1 -1
  43. package/dist/deserializer/base-deserializer.js +1 -1
  44. package/dist/deserializer/comment/agent-comment-deserializer.js +1 -1
  45. package/dist/deserializer/comment/agent-deserializer.js +1 -1
  46. package/dist/deserializer/comment/comment-rule-deserializer.js +1 -1
  47. package/dist/deserializer/comment/config-comment-deserializer.js +1 -1
  48. package/dist/deserializer/comment/hint-comment-deserializer.js +1 -1
  49. package/dist/deserializer/comment/hint-deserializer.js +1 -1
  50. package/dist/deserializer/comment/metadata-comment-deserializer.js +1 -1
  51. package/dist/deserializer/comment/pre-processor-comment-deserializer.js +1 -1
  52. package/dist/deserializer/comment/simple-comment-deserializer.js +1 -1
  53. package/dist/deserializer/cosmetic/cosmetic-rule-deserializer.js +1 -1
  54. package/dist/deserializer/cosmetic/css-injection-body-deserializer.js +1 -1
  55. package/dist/deserializer/cosmetic/element-hiding-body-deserializer.js +1 -1
  56. package/dist/deserializer/cosmetic/scriptlet-body/abp-snippet-injection-body-deserializer.js +1 -1
  57. package/dist/deserializer/cosmetic/scriptlet-body/adg-scriptlet-injection-body-deserializer.js +1 -1
  58. package/dist/deserializer/cosmetic/scriptlet-body/scriptlet-body-deserializer.js +1 -1
  59. package/dist/deserializer/cosmetic/scriptlet-body/ubo-scriptlet-injection-body-deserializer.js +1 -1
  60. package/dist/deserializer/empty-rule-deserializer.js +1 -1
  61. package/dist/deserializer/filterlist-deserializer.js +1 -1
  62. package/dist/deserializer/index.js +1 -1
  63. package/dist/deserializer/invalid-rule-deserializer.js +1 -1
  64. package/dist/deserializer/invalid-rule-error-node-deserializer.js +1 -1
  65. package/dist/deserializer/misc/domain-list-deserializer.js +1 -1
  66. package/dist/deserializer/misc/list-item-deserializer.js +1 -1
  67. package/dist/deserializer/misc/list-items-deserializer.js +1 -1
  68. package/dist/deserializer/misc/logical-expression-deserializer.js +1 -1
  69. package/dist/deserializer/misc/modifier-deserializer.js +1 -1
  70. package/dist/deserializer/misc/modifier-list-deserializer.js +1 -1
  71. package/dist/deserializer/misc/parameter-list-deserializer.js +1 -1
  72. package/dist/deserializer/misc/value-deserializer.js +1 -1
  73. package/dist/deserializer/network/host-rule-deserializer.js +1 -1
  74. package/dist/deserializer/network/hostname-list-deserializer.js +1 -1
  75. package/dist/deserializer/network/network-rule-deserializer.js +1 -1
  76. package/dist/deserializer/rule-deserializer.js +1 -1
  77. package/dist/deserializer/syntax-deserialization-map.js +1 -1
  78. package/dist/errors/adblock-syntax-error.js +1 -1
  79. package/dist/errors/binary-schema-mismatch-error.js +1 -1
  80. package/dist/errors/not-implemented-error.js +1 -1
  81. package/dist/errors/rule-conversion-error.js +1 -1
  82. package/dist/generator/base-generator.js +1 -1
  83. package/dist/generator/comment/agent-comment-generator.js +1 -1
  84. package/dist/generator/comment/agent-generator.js +1 -1
  85. package/dist/generator/comment/comment-rule-generator.js +1 -1
  86. package/dist/generator/comment/config-comment-generator.js +1 -1
  87. package/dist/generator/comment/hint-comment-generator.js +1 -1
  88. package/dist/generator/comment/hint-generator.js +1 -1
  89. package/dist/generator/comment/metadata-comment-generator.js +1 -1
  90. package/dist/generator/comment/pre-processor-comment-generator.js +8 -3
  91. package/dist/generator/comment/simple-comment-generator.js +1 -1
  92. package/dist/generator/cosmetic/body/abp-snippet-injection-body-generator.js +1 -1
  93. package/dist/generator/cosmetic/body/adg-scriptlet-injection-body-generator.js +1 -1
  94. package/dist/generator/cosmetic/body/ubo-scriptlet-injection-body-generator.js +1 -1
  95. package/dist/generator/cosmetic/cosmetic-rule-body-generator.js +1 -1
  96. package/dist/generator/cosmetic/cosmetic-rule-generator.js +11 -3
  97. package/dist/generator/cosmetic/cosmetic-rule-pattern-generator.js +1 -1
  98. package/dist/generator/css/adg-css-injection-generator.js +1 -1
  99. package/dist/generator/filterlist-generator.js +1 -1
  100. package/dist/generator/index.js +1 -1
  101. package/dist/generator/misc/domain-list-generator.js +1 -1
  102. package/dist/generator/misc/list-items-generator.js +1 -1
  103. package/dist/generator/misc/logical-expression-generator.js +1 -1
  104. package/dist/generator/misc/modifier-generator.js +1 -1
  105. package/dist/generator/misc/modifier-list-generator.js +1 -1
  106. package/dist/generator/misc/parameter-list-generator.js +15 -6
  107. package/dist/generator/misc/value-generator.js +1 -1
  108. package/dist/generator/network/host-rule-generator.js +1 -1
  109. package/dist/generator/network/network-rule-generator.js +1 -1
  110. package/dist/generator/rule-generator.js +1 -1
  111. package/dist/index.js +1 -1
  112. package/dist/marshalling-utils/comment/agent-comment-common.js +1 -1
  113. package/dist/marshalling-utils/comment/agent-common.js +1 -1
  114. package/dist/marshalling-utils/comment/config-comment-common.js +1 -1
  115. package/dist/marshalling-utils/comment/hint-comment-common.js +1 -1
  116. package/dist/marshalling-utils/comment/hint-common.js +1 -1
  117. package/dist/marshalling-utils/comment/metadata-comment-common.js +1 -1
  118. package/dist/marshalling-utils/comment/pre-processor-comment-common.js +1 -1
  119. package/dist/marshalling-utils/comment/simple-comment-common.js +1 -1
  120. package/dist/marshalling-utils/cosmetic/body/abp-snippet-injection-body-common.js +1 -1
  121. package/dist/marshalling-utils/cosmetic/body/adg-scriptlet-injection-body-common.js +1 -1
  122. package/dist/marshalling-utils/cosmetic/body/css-injection-body-common.js +1 -1
  123. package/dist/marshalling-utils/cosmetic/body/element-hiding-body-common.js +1 -1
  124. package/dist/marshalling-utils/cosmetic/body/ubo-scriptlet-injection-body-common.js +1 -1
  125. package/dist/marshalling-utils/cosmetic/cosmetic-rule-common.js +1 -1
  126. package/dist/marshalling-utils/empty-rule-common.js +1 -1
  127. package/dist/marshalling-utils/filter-list-common.js +1 -1
  128. package/dist/marshalling-utils/invalid-rule-common.js +1 -1
  129. package/dist/marshalling-utils/invalid-rule-error-node-common.js +1 -1
  130. package/dist/marshalling-utils/misc/binary-type-common.js +1 -1
  131. package/dist/marshalling-utils/misc/domain-list-common.js +1 -1
  132. package/dist/marshalling-utils/misc/host-rule-common.js +1 -1
  133. package/dist/marshalling-utils/misc/hostname-list-common.js +1 -1
  134. package/dist/marshalling-utils/misc/list-item-common.js +1 -1
  135. package/dist/marshalling-utils/misc/logical-expression-common.js +1 -1
  136. package/dist/marshalling-utils/misc/modifier-common.js +1 -1
  137. package/dist/marshalling-utils/misc/modifier-list-common.js +1 -1
  138. package/dist/marshalling-utils/misc/parameter-list-common.js +1 -1
  139. package/dist/marshalling-utils/misc/value-common.js +1 -1
  140. package/dist/marshalling-utils/network/network-rule-common.js +1 -1
  141. package/dist/marshalling-utils/syntax-serialization-map.js +1 -1
  142. package/dist/nodes/index.js +1 -1
  143. package/dist/package.json.js +2 -2
  144. package/dist/parser/base-parser.js +1 -1
  145. package/dist/parser/comment/agent-comment-parser.js +1 -1
  146. package/dist/parser/comment/agent-parser.js +1 -1
  147. package/dist/parser/comment/comment-parser.js +1 -1
  148. package/dist/parser/comment/config-comment-parser.js +1 -1
  149. package/dist/parser/comment/hint-comment-parser.js +1 -1
  150. package/dist/parser/comment/hint-parser.js +1 -1
  151. package/dist/parser/comment/metadata-comment-parser.js +1 -1
  152. package/dist/parser/comment/preprocessor-parser.js +1 -1
  153. package/dist/parser/comment/simple-comment-parser.js +1 -1
  154. package/dist/parser/cosmetic/body/abp-snippet-injection-body-parser.js +1 -1
  155. package/dist/parser/cosmetic/body/adg-scriptlet-injection-body-parser.js +1 -1
  156. package/dist/parser/cosmetic/body/ubo-scriptlet-injection-body-parser.js +1 -1
  157. package/dist/parser/cosmetic/cosmetic-rule-parser.js +1 -1
  158. package/dist/parser/css/adg-css-injection-parser.js +1 -1
  159. package/dist/parser/css/balancing.js +1 -1
  160. package/dist/parser/css/constants.js +1 -1
  161. package/dist/parser/css/css-token-stream.js +1 -1
  162. package/dist/parser/css/ubo-selector-parser.js +1 -1
  163. package/dist/parser/filterlist-parser.js +1 -1
  164. package/dist/parser/index.js +1 -1
  165. package/dist/parser/misc/app-list-parser.js +1 -1
  166. package/dist/parser/misc/domain-list-parser.js +1 -1
  167. package/dist/parser/misc/list-items-parser.js +1 -1
  168. package/dist/parser/misc/logical-expression-parser.js +1 -1
  169. package/dist/parser/misc/method-list-parser.js +1 -1
  170. package/dist/parser/misc/modifier-list.js +1 -1
  171. package/dist/parser/misc/modifier-parser.js +1 -1
  172. package/dist/parser/misc/parameter-list-parser.js +1 -1
  173. package/dist/parser/misc/stealth-option-list-parser.js +1 -1
  174. package/dist/parser/misc/ubo-parameter-list-parser.js +1 -1
  175. package/dist/parser/misc/value-parser.js +1 -1
  176. package/dist/parser/network/host-rule-parser.js +1 -1
  177. package/dist/parser/network/network-rule-parser.js +1 -1
  178. package/dist/parser/options.js +1 -1
  179. package/dist/parser/rule-parser.js +1 -1
  180. package/dist/serializer/base-serializer.js +1 -1
  181. package/dist/serializer/comment/agent-comment-serializer.js +1 -1
  182. package/dist/serializer/comment/agent-serializer.js +1 -1
  183. package/dist/serializer/comment/comment-rule-serializer.js +1 -1
  184. package/dist/serializer/comment/config-comment-serializer.js +1 -1
  185. package/dist/serializer/comment/hint-comment-serializer.js +1 -1
  186. package/dist/serializer/comment/hint-serializer.js +1 -1
  187. package/dist/serializer/comment/metadata-comment-serializer.js +1 -1
  188. package/dist/serializer/comment/pre-processor-comment-serializer.js +1 -1
  189. package/dist/serializer/comment/simple-comment-serializer.js +1 -1
  190. package/dist/serializer/cosmetic/body/abp-snippet-injection-body-serializer.js +1 -1
  191. package/dist/serializer/cosmetic/body/adg-scriptlet-injection-body-serializer.js +1 -1
  192. package/dist/serializer/cosmetic/body/scriptlet-body-serializer.js +1 -1
  193. package/dist/serializer/cosmetic/body/ubo-scriptlet-injection-body-serializer.js +1 -1
  194. package/dist/serializer/cosmetic/cosmetic-rule-serializer.js +1 -1
  195. package/dist/serializer/cosmetic/css-injection-body-serializer.js +1 -1
  196. package/dist/serializer/cosmetic/element-hiding-body-serializer.js +1 -1
  197. package/dist/serializer/empty-rule-serializer.js +1 -1
  198. package/dist/serializer/filterlist-serializer.js +1 -1
  199. package/dist/serializer/index.js +1 -1
  200. package/dist/serializer/invalid-rule-error-node-serializer.js +1 -1
  201. package/dist/serializer/invalid-rule-serializer.js +1 -1
  202. package/dist/serializer/misc/domain-list-serializer.js +1 -1
  203. package/dist/serializer/misc/list-item-serializer.js +1 -1
  204. package/dist/serializer/misc/list-items-serializer.js +1 -1
  205. package/dist/serializer/misc/logical-expression-serializer.js +1 -1
  206. package/dist/serializer/misc/modifier-list-serializer.js +1 -1
  207. package/dist/serializer/misc/modifier-serializer.js +1 -1
  208. package/dist/serializer/misc/parameter-list-serializer.js +1 -1
  209. package/dist/serializer/misc/value-serializer.js +1 -1
  210. package/dist/serializer/network/host-rule-serializer.js +1 -1
  211. package/dist/serializer/network/hostname-list-serializer.js +1 -1
  212. package/dist/serializer/network/network-rule-serializer.js +1 -1
  213. package/dist/serializer/rule-serializer.js +1 -1
  214. package/dist/types/converter/cosmetic/rule-modifiers/ubo.d.ts +24 -0
  215. package/dist/types/generator/misc/parameter-list-generator.d.ts +2 -1
  216. package/dist/types/utils/constants.d.ts +5 -0
  217. package/dist/types/utils/index.d.ts +1 -1
  218. package/dist/types/utils/regexp.d.ts +21 -0
  219. package/dist/utils/adblockers.js +1 -1
  220. package/dist/utils/binary-schema-version.js +1 -1
  221. package/dist/utils/byte-buffer.js +1 -1
  222. package/dist/utils/categorizer.js +1 -1
  223. package/dist/utils/clone.js +1 -1
  224. package/dist/utils/constants.js +7 -2
  225. package/dist/utils/cosmetic-rule-separator.js +1 -1
  226. package/dist/utils/deep-freeze.js +1 -1
  227. package/dist/utils/domain.js +1 -1
  228. package/dist/utils/error.js +1 -1
  229. package/dist/utils/index.js +2 -2
  230. package/dist/utils/input-byte-buffer.js +1 -1
  231. package/dist/utils/is-chromium.js +1 -1
  232. package/dist/utils/logical-expression.js +1 -1
  233. package/dist/utils/multi-value-map.js +1 -1
  234. package/dist/utils/output-byte-buffer.js +1 -1
  235. package/dist/utils/position-provider.js +1 -1
  236. package/dist/utils/quotes.js +1 -1
  237. package/dist/utils/regexp.js +47 -1
  238. package/dist/utils/string.js +1 -1
  239. package/dist/utils/text-decoder-polyfill.js +1 -1
  240. package/dist/utils/text-encoder-polyfill.js +1 -1
  241. package/dist/utils/type-guards.js +1 -1
  242. package/dist/validator/constants.js +1 -1
  243. package/dist/validator/helpers.js +1 -1
  244. package/dist/validator/index.js +1 -1
  245. package/dist/validator/value.js +1 -1
  246. package/dist/version.js +1 -1
  247. package/package.json +2 -2
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.0.1 (build date: Fri, 28 Feb 2025 15:31:12 GMT)
2
+ * AGTree v3.1.1 (build date: Thu, 17 Apr 2025 18:03:50 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.0.1 (build date: Fri, 28 Feb 2025 15:31:12 GMT)
2
+ * AGTree v3.1.1 (build date: Thu, 17 Apr 2025 18:03:50 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.0.1 (build date: Fri, 28 Feb 2025 15:31:12 GMT)
2
+ * AGTree v3.1.1 (build date: Thu, 17 Apr 2025 18:03:50 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.0.1 (build date: Fri, 28 Feb 2025 15:31:12 GMT)
2
+ * AGTree v3.1.1 (build date: Thu, 17 Apr 2025 18:03:50 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.0.1 (build date: Fri, 28 Feb 2025 15:31:12 GMT)
2
+ * AGTree v3.1.1 (build date: Thu, 17 Apr 2025 18:03:50 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.0.1 (build date: Fri, 28 Feb 2025 15:31:12 GMT)
2
+ * AGTree v3.1.1 (build date: Thu, 17 Apr 2025 18:03:50 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.0.1 (build date: Fri, 28 Feb 2025 15:31:12 GMT)
2
+ * AGTree v3.1.1 (build date: Thu, 17 Apr 2025 18:03:50 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.0.1 (build date: Fri, 28 Feb 2025 15:31:12 GMT)
2
+ * AGTree v3.1.1 (build date: Thu, 17 Apr 2025 18:03:50 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.0.1 (build date: Fri, 28 Feb 2025 15:31:12 GMT)
2
+ * AGTree v3.1.1 (build date: Thu, 17 Apr 2025 18:03:50 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.0.1 (build date: Fri, 28 Feb 2025 15:31:12 GMT)
2
+ * AGTree v3.1.1 (build date: Thu, 17 Apr 2025 18:03:50 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.0.1 (build date: Fri, 28 Feb 2025 15:31:12 GMT)
2
+ * AGTree v3.1.1 (build date: Thu, 17 Apr 2025 18:03:50 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.0.1 (build date: Fri, 28 Feb 2025 15:31:12 GMT)
2
+ * AGTree v3.1.1 (build date: Thu, 17 Apr 2025 18:03:50 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.0.1 (build date: Fri, 28 Feb 2025 15:31:12 GMT)
2
+ * AGTree v3.1.1 (build date: Thu, 17 Apr 2025 18:03:50 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.0.1 (build date: Fri, 28 Feb 2025 15:31:12 GMT)
2
+ * AGTree v3.1.1 (build date: Thu, 17 Apr 2025 18:03:50 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.0.1 (build date: Fri, 28 Feb 2025 15:31:12 GMT)
2
+ * AGTree v3.1.1 (build date: Thu, 17 Apr 2025 18:03:50 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.0.1 (build date: Fri, 28 Feb 2025 15:31:12 GMT)
2
+ * AGTree v3.1.1 (build date: Thu, 17 Apr 2025 18:03:50 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.0.1 (build date: Fri, 28 Feb 2025 15:31:12 GMT)
2
+ * AGTree v3.1.1 (build date: Thu, 17 Apr 2025 18:03:50 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.0.1 (build date: Fri, 28 Feb 2025 15:31:12 GMT)
2
+ * AGTree v3.1.1 (build date: Thu, 17 Apr 2025 18:03:50 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.0.1 (build date: Fri, 28 Feb 2025 15:31:12 GMT)
2
+ * AGTree v3.1.1 (build date: Thu, 17 Apr 2025 18:03:50 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.0.1 (build date: Fri, 28 Feb 2025 15:31:12 GMT)
2
+ * AGTree v3.1.1 (build date: Thu, 17 Apr 2025 18:03:50 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.0.1 (build date: Fri, 28 Feb 2025 15:31:12 GMT)
2
+ * AGTree v3.1.1 (build date: Thu, 17 Apr 2025 18:03:50 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.0.1 (build date: Fri, 28 Feb 2025 15:31:12 GMT)
2
+ * AGTree v3.1.1 (build date: Thu, 17 Apr 2025 18:03:50 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.0.1 (build date: Fri, 28 Feb 2025 15:31:12 GMT)
2
+ * AGTree v3.1.1 (build date: Thu, 17 Apr 2025 18:03:50 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.0.1 (build date: Fri, 28 Feb 2025 15:31:12 GMT)
2
+ * AGTree v3.1.1 (build date: Thu, 17 Apr 2025 18:03:50 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.0.1 (build date: Fri, 28 Feb 2025 15:31:12 GMT)
2
+ * AGTree v3.1.1 (build date: Thu, 17 Apr 2025 18:03:50 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.0.1 (build date: Fri, 28 Feb 2025 15:31:12 GMT)
2
+ * AGTree v3.1.1 (build date: Thu, 17 Apr 2025 18:03:50 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.0.1 (build date: Fri, 28 Feb 2025 15:31:12 GMT)
2
+ * AGTree v3.1.1 (build date: Thu, 17 Apr 2025 18:03:50 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.0.1 (build date: Fri, 28 Feb 2025 15:31:12 GMT)
2
+ * AGTree v3.1.1 (build date: Thu, 17 Apr 2025 18:03:50 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.0.1 (build date: Fri, 28 Feb 2025 15:31:12 GMT)
2
+ * AGTree v3.1.1 (build date: Thu, 17 Apr 2025 18:03:50 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.0.1 (build date: Fri, 28 Feb 2025 15:31:12 GMT)
2
+ * AGTree v3.1.1 (build date: Thu, 17 Apr 2025 18:03:50 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,10 +1,10 @@
1
1
  /*
2
- * AGTree v3.0.1 (build date: Fri, 28 Feb 2025 15:31:12 GMT)
2
+ * AGTree v3.1.1 (build date: Thu, 17 Apr 2025 18:03:50 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
6
6
  */
7
- import { CosmeticRuleType, RuleCategory } from '../../nodes/index.js';
7
+ import { CosmeticRuleType, RuleCategory, CosmeticRuleSeparator } from '../../nodes/index.js';
8
8
  import { AdblockSyntax } from '../../utils/adblockers.js';
9
9
  import { HtmlRuleConverter } from './html.js';
10
10
  import { ScriptletRuleConverter } from './scriptlet.js';
@@ -15,6 +15,15 @@ import { CssInjectionRuleConverter } from './css.js';
15
15
  import { ElementHidingRuleConverter } from './element-hiding.js';
16
16
  import { HeaderRemovalRuleConverter } from './header-removal.js';
17
17
  import { createNodeConversionResult } from '../base-interfaces/conversion-result.js';
18
+ import { UboCosmeticRuleModifierConverter } from './rule-modifiers/ubo.js';
19
+ import { clone } from '../../utils/clone.js';
20
+ import { COMMA } from '../../utils/constants.js';
21
+ import 'tldts';
22
+ import 'sprintf-js';
23
+ import '@adguard/css-tokenizer';
24
+ import 'json5';
25
+ import '../../parser/css/balancing.js';
26
+ import '../data/css.js';
18
27
 
19
28
  /**
20
29
  * @file Cosmetic rule converter
@@ -103,6 +112,18 @@ class CosmeticRuleConverter extends RuleConverterBase {
103
112
  */
104
113
  // TODO: Add support for other cosmetic rule types
105
114
  static convertToUbo(rule) {
115
+ // Skip conversation if the rule is already in uBO format
116
+ if (rule.syntax === AdblockSyntax.Ubo) {
117
+ return createNodeConversionResult([rule], false);
118
+ }
119
+ // Check if the rule is a simple hiding rule
120
+ // TODO: Handle elemhide rules with extended CSS pseudos even if type is not marked explicitly
121
+ if (rule.type === CosmeticRuleType.ElementHidingRule
122
+ && (rule.separator.value === CosmeticRuleSeparator.ElementHidingException
123
+ || rule.separator.value === CosmeticRuleSeparator.ElementHiding)
124
+ && !rule.modifiers) {
125
+ return createNodeConversionResult([rule], false);
126
+ }
106
127
  // Convert cosmetic rule based on its type
107
128
  if (rule.type === CosmeticRuleType.ScriptletInjectionRule) {
108
129
  if (rule.syntax === AdblockSyntax.Adg && rule.modifiers?.children.length) {
@@ -111,7 +132,33 @@ class CosmeticRuleConverter extends RuleConverterBase {
111
132
  }
112
133
  return ScriptletRuleConverter.convertToUbo(rule);
113
134
  }
114
- return createNodeConversionResult([rule], false);
135
+ let convertedModifiers;
136
+ // Convert cosmetic rule modifiers, if any
137
+ if (rule.modifiers) {
138
+ if (rule.syntax === AdblockSyntax.Abp) {
139
+ // TODO: Implement once ABP starts supporting cosmetic rule modifiers
140
+ throw new RuleConversionError('ABP does not support cosmetic rule modifiers');
141
+ }
142
+ else if (rule.syntax === AdblockSyntax.Adg) {
143
+ convertedModifiers = UboCosmeticRuleModifierConverter.convertFromAdg(rule.modifiers);
144
+ }
145
+ }
146
+ const result = clone(rule);
147
+ result.syntax = AdblockSyntax.Ubo;
148
+ if (convertedModifiers && convertedModifiers.isConverted) {
149
+ result.modifiers = convertedModifiers.result.modifierList;
150
+ if (convertedModifiers.result.domains) {
151
+ result.domains = convertedModifiers.result.domains;
152
+ result.domains.separator = COMMA;
153
+ }
154
+ }
155
+ // Handle separator to uBO format
156
+ let convertedSeparator = result.separator.value;
157
+ convertedSeparator = rule.exception
158
+ ? CosmeticRuleSeparator.ElementHidingException
159
+ : CosmeticRuleSeparator.ElementHiding;
160
+ result.separator.value = convertedSeparator;
161
+ return createNodeConversionResult([result], true);
115
162
  }
116
163
  }
117
164
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.0.1 (build date: Fri, 28 Feb 2025 15:31:12 GMT)
2
+ * AGTree v3.1.1 (build date: Thu, 17 Apr 2025 18:03:50 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
@@ -0,0 +1,149 @@
1
+ /*
2
+ * AGTree v3.1.1 (build date: Thu, 17 Apr 2025 18:03:50 GMT)
3
+ * (c) 2025 Adguard Software Ltd.
4
+ * Released under the MIT license
5
+ * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
+ */
7
+ import { ListNodeType, ListItemNodeType } from '../../../nodes/index.js';
8
+ import { createModifierNode } from '../../../ast-utils/modifiers.js';
9
+ import { RegExpUtils } from '../../../utils/regexp.js';
10
+ import { ADG_PATH_MODIFIER, ADG_URL_MODIFIER, COMMA_DOMAIN_LIST_SEPARATOR, ADG_DOMAINS_MODIFIER, PIPE_MODIFIER_SEPARATOR, ADG_APP_MODIFIER, UBO_MATCHES_PATH_OPERATOR, OPEN_SQUARE_BRACKET, CLOSE_SQUARE_BRACKET, ESCAPE_CHARACTER } from '../../../utils/constants.js';
11
+ import { StringUtils } from '../../../utils/string.js';
12
+ import { MultiValueMap } from '../../../utils/multi-value-map.js';
13
+ import { clone } from '../../../utils/clone.js';
14
+ import { createConversionResult } from '../../base-interfaces/conversion-result.js';
15
+ import 'json5';
16
+ import 'sprintf-js';
17
+ import '@adguard/css-tokenizer';
18
+ import { DomainListParser } from '../../../parser/misc/domain-list-parser.js';
19
+ import '../../../parser/css/balancing.js';
20
+ import '../../data/css.js';
21
+ import 'tldts';
22
+ import 'is-ip';
23
+
24
+ /**
25
+ * @file Cosmetic rule modifier converter from ADG to uBO
26
+ */
27
+ /**
28
+ * Regular expression pattern for matching the main page
29
+ * https://github.com/gorhill/uBlock/wiki/Procedural-cosmetic-filters#subjectmatches-patharg
30
+ */
31
+ const UBO_MAIN_PAGE_MATCHER = '/^/$/';
32
+ /**
33
+ * Special characters in modifier regexps that should be escaped
34
+ */
35
+ const SPECIAL_MODIFIER_REGEX_CHARS = new Set([
36
+ OPEN_SQUARE_BRACKET,
37
+ CLOSE_SQUARE_BRACKET,
38
+ COMMA_DOMAIN_LIST_SEPARATOR,
39
+ ESCAPE_CHARACTER,
40
+ ]);
41
+ /**
42
+ * Helper class for converting cosmetic rule modifiers from ADG to uBO
43
+ */
44
+ class UboCosmeticRuleModifierConverter {
45
+ /**
46
+ * Converts a ADG cosmetic rule modifier list to uBO, if possible.
47
+ *
48
+ * @param modifierList Cosmetic rule modifier list node to convert
49
+ * @returns An object which follows the {@link ConversionResult} interface. Its `result` property contains
50
+ * the converted node, and its `isConverted` flag indicates whether the original node was converted.
51
+ * If the node was not converted, the result will contain the original node with the same object reference
52
+ * @throws If the modifier list cannot be converted
53
+ * @see {@link https://github.com/gorhill/uBlock/wiki/Procedural-cosmetic-filters#cosmetic-filter-operators}
54
+ */
55
+ static convertFromAdg(modifierList) {
56
+ const conversionMap = new MultiValueMap();
57
+ let domainList = null;
58
+ let regexDomainValue;
59
+ modifierList.children.forEach((modifier, index) => {
60
+ let value;
61
+ let { exception } = modifier;
62
+ switch (modifier.name.value) {
63
+ // Special case: ADG's $app modifier
64
+ case ADG_APP_MODIFIER:
65
+ throw new Error('The $app modifier is not supported by uBO');
66
+ // Special case: ADG's $domains modifier
67
+ case ADG_DOMAINS_MODIFIER:
68
+ if (!domainList) {
69
+ domainList = {
70
+ type: ListNodeType.DomainList,
71
+ separator: COMMA_DOMAIN_LIST_SEPARATOR,
72
+ children: [],
73
+ start: modifier.start,
74
+ end: modifier.end,
75
+ };
76
+ }
77
+ if (!modifier?.value?.value) {
78
+ return;
79
+ }
80
+ domainList = DomainListParser.parse(modifier.value.value, {}, modifier.start, PIPE_MODIFIER_SEPARATOR);
81
+ conversionMap.add(index, null);
82
+ break;
83
+ // Special case: ADG's $url modifier
84
+ case ADG_URL_MODIFIER:
85
+ if (!domainList) {
86
+ domainList = {
87
+ type: ListNodeType.DomainList,
88
+ separator: COMMA_DOMAIN_LIST_SEPARATOR,
89
+ children: [],
90
+ start: modifier.start,
91
+ end: modifier.end,
92
+ };
93
+ }
94
+ if (!modifier?.value?.value) {
95
+ return;
96
+ }
97
+ regexDomainValue = RegExpUtils.patternToRegexp(modifier.value.value);
98
+ domainList = {
99
+ type: ListNodeType.DomainList,
100
+ separator: COMMA_DOMAIN_LIST_SEPARATOR,
101
+ children: [
102
+ {
103
+ type: ListItemNodeType.Domain,
104
+ value: RegExpUtils.ensureSlashes(regexDomainValue),
105
+ exception: modifier?.exception ?? false,
106
+ },
107
+ ],
108
+ start: modifier.start,
109
+ end: modifier.end,
110
+ };
111
+ conversionMap.add(index, null);
112
+ break;
113
+ // Special case: ADG's $path modifier
114
+ case ADG_PATH_MODIFIER:
115
+ if (!modifier.value) {
116
+ value = UBO_MAIN_PAGE_MATCHER;
117
+ }
118
+ else if (RegExpUtils.isNegatedRegexPattern(modifier.value.value)) {
119
+ exception = true;
120
+ value = StringUtils.escapeCharacters(RegExpUtils.removeNegationFromRegexPattern(modifier.value.value), SPECIAL_MODIFIER_REGEX_CHARS);
121
+ }
122
+ else {
123
+ value = RegExpUtils.isRegexPattern(modifier.value.value)
124
+ ? StringUtils.escapeCharacters(modifier.value.value, SPECIAL_MODIFIER_REGEX_CHARS)
125
+ : modifier.value.value;
126
+ }
127
+ conversionMap.add(index, createModifierNode(UBO_MATCHES_PATH_OPERATOR, value, exception));
128
+ break;
129
+ }
130
+ });
131
+ // Check if we have any converted modifiers
132
+ if (conversionMap.size) {
133
+ const modifierListClone = clone(modifierList);
134
+ // Replace the original modifiers with the converted ones
135
+ modifierListClone.children = modifierListClone.children
136
+ .map((modifier, index) => {
137
+ const convertedModifier = conversionMap.get(index);
138
+ return convertedModifier ?? modifier;
139
+ })
140
+ .flat()
141
+ .filter((modifier) => modifier !== null);
142
+ return createConversionResult({ modifierList: modifierListClone, domains: domainList || undefined }, true);
143
+ }
144
+ // Otherwise, just return the original modifier list without any changes
145
+ return createConversionResult({ modifierList, domains: undefined }, false);
146
+ }
147
+ }
148
+
149
+ export { UboCosmeticRuleModifierConverter };
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.0.1 (build date: Fri, 28 Feb 2025 15:31:12 GMT)
2
+ * AGTree v3.1.1 (build date: Thu, 17 Apr 2025 18:03:50 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
@@ -10,6 +10,7 @@ import { AdblockSyntax } from '../../utils/adblockers.js';
10
10
  import { QuoteUtils, QuoteType } from '../../utils/quotes.js';
11
11
  import { EMPTY, SPACE } from '../../utils/constants.js';
12
12
  import { getScriptletName, setScriptletName, transformAllScriptletArguments, setScriptletQuoteType, transformNthScriptletArgument } from '../../ast-utils/scriptlets.js';
13
+ import { RuleConversionError } from '../../errors/rule-conversion-error.js';
13
14
  import { createNodeConversionResult } from '../base-interfaces/conversion-result.js';
14
15
  import { cloneScriptletRuleNode, cloneDomainListNode, cloneModifierListNode } from '../../ast-utils/clone.js';
15
16
  import '../../compatibility-tables/modifiers.js';
@@ -248,7 +249,10 @@ class ScriptletRuleConverter extends RuleConverterBase {
248
249
  else {
249
250
  // Otherwise, try to find the corresponding uBO scriptlet name, or use the original one if not found
250
251
  const uboScriptlet = scriptletsCompatibilityTable.getFirst(scriptletName, GenericPlatform.UboAny);
251
- uboScriptletName = uboScriptlet?.name ?? scriptletName;
252
+ if (!uboScriptlet) {
253
+ throw new RuleConversionError(`Scriptlet "${scriptletName}" is not supported in uBlock Origin.`);
254
+ }
255
+ uboScriptletName = uboScriptlet.name;
252
256
  }
253
257
  // Remove the '.js' suffix if it's there - its presence is not mandatory
254
258
  if (uboScriptletName.endsWith(UBO_SCRIPTLET_JS_SUFFIX)) {
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.0.1 (build date: Fri, 28 Feb 2025 15:31:12 GMT)
2
+ * AGTree v3.1.1 (build date: Thu, 17 Apr 2025 18:03:50 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.0.1 (build date: Fri, 28 Feb 2025 15:31:12 GMT)
2
+ * AGTree v3.1.1 (build date: Thu, 17 Apr 2025 18:03:50 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.0.1 (build date: Fri, 28 Feb 2025 15:31:12 GMT)
2
+ * AGTree v3.1.1 (build date: Thu, 17 Apr 2025 18:03:50 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.0.1 (build date: Fri, 28 Feb 2025 15:31:12 GMT)
2
+ * AGTree v3.1.1 (build date: Thu, 17 Apr 2025 18:03:50 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.0.1 (build date: Fri, 28 Feb 2025 15:31:12 GMT)
2
+ * AGTree v3.1.1 (build date: Thu, 17 Apr 2025 18:03:50 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.0.1 (build date: Fri, 28 Feb 2025 15:31:12 GMT)
2
+ * AGTree v3.1.1 (build date: Thu, 17 Apr 2025 18:03:50 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.0.1 (build date: Fri, 28 Feb 2025 15:31:12 GMT)
2
+ * AGTree v3.1.1 (build date: Thu, 17 Apr 2025 18:03:50 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.0.1 (build date: Fri, 28 Feb 2025 15:31:12 GMT)
2
+ * AGTree v3.1.1 (build date: Thu, 17 Apr 2025 18:03:50 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.0.1 (build date: Fri, 28 Feb 2025 15:31:12 GMT)
2
+ * AGTree v3.1.1 (build date: Thu, 17 Apr 2025 18:03:50 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.0.1 (build date: Fri, 28 Feb 2025 15:31:12 GMT)
2
+ * AGTree v3.1.1 (build date: Thu, 17 Apr 2025 18:03:50 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.0.1 (build date: Fri, 28 Feb 2025 15:31:12 GMT)
2
+ * AGTree v3.1.1 (build date: Thu, 17 Apr 2025 18:03:50 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.0.1 (build date: Fri, 28 Feb 2025 15:31:12 GMT)
2
+ * AGTree v3.1.1 (build date: Thu, 17 Apr 2025 18:03:50 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