@adguard/agtree 1.1.3 → 1.1.4

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.
package/CHANGELOG.md CHANGED
@@ -4,6 +4,13 @@ All notable changes to this project will be documented in this file.
4
4
 
5
5
  The format is based on [Keep a Changelog][keepachangelog], and this project adheres to [Semantic Versioning][semver].
6
6
 
7
+ ## 1.1.4 - 2023-08-30
8
+
9
+ ### Fixed
10
+
11
+ - Validation of `$redirect` and `$replace` modifiers by `ModifierValidator.validate()`
12
+
13
+
7
14
  ## 1.1.3 - 2023-08-28
8
15
 
9
16
  ### Added
package/dist/agtree.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v1.1.3 (build date: Mon, 28 Aug 2023 16:19:09 GMT)
2
+ * AGTree v1.1.4 (build date: Wed, 30 Aug 2023 10:02:46 GMT)
3
3
  * (c) 2023 AdGuard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -6813,14 +6813,14 @@ var data$g = { adg_os_any:{ name:"redirect",
6813
6813
  assignable:true,
6814
6814
  negatable:false,
6815
6815
  value_optional:true,
6816
- value_format:"(?x)\n ^(\n 1x1-transparent\\.gif|\n 2x2-transparent\\.png|\n 3x2-transparent\\.png|\n 32x32-transparent\\.png|\n noopframe|\n noopcss|\n noopjs|\n noopjson|\n nooptext|\n empty|\n noopvmap-1\\.0|\n noopvast-2\\.0|\n noopvast-3\\.0|\n noopvast-4\\.0|\n noopmp3-0\\.1s|\n noopmp4-1s|\n amazon-apstag|\n ati-smarttag|\n didomi-loader|\n fingerprintjs2|\n fingerprintjs3|\n gemius|\n google-analytics-ga|\n google-analytics|\n google-ima3|\n googlesyndication-adsbygoogle|\n googletagservices-gpt|\n matomo|\n metrika-yandex-tag|\n metrika-yandex-watch|\n naver-wcslog|\n noeval|\n pardot-1\\.0|\n prebid-ads|\n prebid|\n prevent-bab|\n prevent-bab2|\n prevent-fab-3\\.2\\.0|\n prevent-popads-net|\n scorecardresearch-beacon|\n set-popads-dummy|\n click2load\\.html\n )?$" },
6816
+ value_format:"(?x)\n ^(\n 1x1-transparent\\.gif|\n 2x2-transparent\\.png|\n 3x2-transparent\\.png|\n 32x32-transparent\\.png|\n noopframe|\n noopcss|\n noopjs|\n noopjson|\n nooptext|\n empty|\n noopvmap-1\\.0|\n noopvast-2\\.0|\n noopvast-3\\.0|\n noopvast-4\\.0|\n noopmp3-0\\.1s|\n noopmp4-1s|\n amazon-apstag|\n ati-smarttag|\n didomi-loader|\n fingerprintjs2|\n fingerprintjs3|\n gemius|\n google-analytics-ga|\n google-analytics|\n googletagmanager-gtm|\n google-ima3|\n googlesyndication-adsbygoogle|\n googletagservices-gpt|\n matomo|\n metrika-yandex-tag|\n metrika-yandex-watch|\n naver-wcslog|\n noeval|\n pardot-1\\.0|\n prebid-ads|\n prebid|\n prevent-bab|\n prevent-bab2|\n prevent-fab-3\\.2\\.0|\n prevent-popads-net|\n scorecardresearch-beacon|\n set-popads-dummy|\n click2load\\.html\n )?$" },
6817
6817
  adg_ext_any:{ name:"redirect",
6818
6818
  description:"Used to redirect web requests to a local \"resource\".",
6819
6819
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#redirect-modifier",
6820
6820
  assignable:true,
6821
6821
  negatable:false,
6822
6822
  value_optional:true,
6823
- value_format:"(?x)\n ^(\n 1x1-transparent\\.gif|\n 2x2-transparent\\.png|\n 3x2-transparent\\.png|\n 32x32-transparent\\.png|\n noopframe|\n noopcss|\n noopjs|\n noopjson|\n nooptext|\n empty|\n noopvmap-1\\.0|\n noopvast-2\\.0|\n noopvast-3\\.0|\n noopvast-4\\.0|\n noopmp3-0\\.1s|\n noopmp4-1s|\n amazon-apstag|\n ati-smarttag|\n didomi-loader|\n fingerprintjs2|\n fingerprintjs3|\n gemius|\n google-analytics-ga|\n google-analytics|\n google-ima3|\n googlesyndication-adsbygoogle|\n googletagservices-gpt|\n matomo|\n metrika-yandex-tag|\n metrika-yandex-watch|\n naver-wcslog|\n noeval|\n pardot-1\\.0|\n prebid-ads|\n prebid|\n prevent-bab|\n prevent-bab2|\n prevent-fab-3\\.2\\.0|\n prevent-popads-net|\n scorecardresearch-beacon|\n set-popads-dummy|\n click2load\\.html\n )?$" },
6823
+ value_format:"(?x)\n ^(\n 1x1-transparent\\.gif|\n 2x2-transparent\\.png|\n 3x2-transparent\\.png|\n 32x32-transparent\\.png|\n noopframe|\n noopcss|\n noopjs|\n noopjson|\n nooptext|\n empty|\n noopvmap-1\\.0|\n noopvast-2\\.0|\n noopvast-3\\.0|\n noopvast-4\\.0|\n noopmp3-0\\.1s|\n noopmp4-1s|\n amazon-apstag|\n ati-smarttag|\n didomi-loader|\n fingerprintjs2|\n fingerprintjs3|\n gemius|\n google-analytics-ga|\n google-analytics|\n googletagmanager-gtm|\n google-ima3|\n googlesyndication-adsbygoogle|\n googletagservices-gpt|\n matomo|\n metrika-yandex-tag|\n metrika-yandex-watch|\n naver-wcslog|\n noeval|\n pardot-1\\.0|\n prebid-ads|\n prebid|\n prevent-bab|\n prevent-bab2|\n prevent-fab-3\\.2\\.0|\n prevent-popads-net|\n scorecardresearch-beacon|\n set-popads-dummy|\n click2load\\.html\n )?$" },
6824
6824
  ubo_ext_any:{ name:"redirect",
6825
6825
  description:"Used to redirect web requests to a local \"resource\".",
6826
6826
  docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#redirect",
@@ -6929,7 +6929,7 @@ var data$d = { adg_os_any:{ name:"replace",
6929
6929
  inverse_conflicts:true,
6930
6930
  assignable:true,
6931
6931
  negatable:false,
6932
- value_format:"(?xi)\n ^\n \\/\n # the regexp to match by\n (.+)\n # separator\n \\/\n # replacement\n (.+?)\n \\/\n # flags\n ([gimuy]*)?\n $" },
6932
+ value_format:"(?xi)\n ^\n \\/\n # the regexp to match by\n (.+)\n # separator\n \\/\n # replacement\n (.+)?\n \\/\n # flags\n ([gimuy]*)?\n $" },
6933
6933
  adg_ext_firefox:{ name:"replace",
6934
6934
  description:"This modifier completely changes the rule behavior.\nIf it is applied, the rule will not block the request. The response is going to be modified instead.",
6935
6935
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#replace-modifier",
@@ -6947,7 +6947,7 @@ var data$d = { adg_os_any:{ name:"replace",
6947
6947
  inverse_conflicts:true,
6948
6948
  assignable:true,
6949
6949
  negatable:false,
6950
- value_format:"(?xi)\n ^\n \\/\n # the regexp to match by\n (.+)\n # separator\n \\/\n # replacement\n (.+?)\n \\/\n # flags\n ([gimuy]*)?\n $" } };
6950
+ value_format:"(?xi)\n ^\n \\/\n # the regexp to match by\n (.+)\n # separator\n \\/\n # replacement\n (.+)?\n \\/\n # flags\n ([gimuy]*)?\n $" } };
6951
6951
 
6952
6952
  var data$c = { adg_any:{ name:"script",
6953
6953
  description:"The rule corresponds to script requests, e.g. javascript, vbscript.",
@@ -7954,9 +7954,8 @@ const validateValue = (modifier, valueFormat) => {
7954
7954
  return validator(modifier);
7955
7955
  }
7956
7956
  const modifierName = modifier.modifier.value;
7957
- const defaultInvalidValueResult = getValueRequiredValidationResult(modifierName);
7958
7957
  if (!modifier.value?.value) {
7959
- return defaultInvalidValueResult;
7958
+ return getValueRequiredValidationResult(modifierName);
7960
7959
  }
7961
7960
  let xRegExp;
7962
7961
  try {
@@ -7967,7 +7966,7 @@ const validateValue = (modifier, valueFormat) => {
7967
7966
  }
7968
7967
  const isValid = xRegExp.test(modifier.value?.value);
7969
7968
  if (!isValid) {
7970
- return defaultInvalidValueResult;
7969
+ return getInvalidValidationResult(`${VALIDATION_ERROR_PREFIX.VALUE_INVALID}: '${modifierName}'`);
7971
7970
  }
7972
7971
  return { valid: true };
7973
7972
  };
@@ -9616,7 +9615,7 @@ class LogicalExpressionUtils {
9616
9615
  }
9617
9616
  }
9618
9617
 
9619
- const version$1 = "1.1.3";
9618
+ const version$1 = "1.1.4";
9620
9619
 
9621
9620
  /**
9622
9621
  * @file AGTree version
package/dist/agtree.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v1.1.3 (build date: Mon, 28 Aug 2023 16:19:09 GMT)
2
+ * AGTree v1.1.4 (build date: Wed, 30 Aug 2023 10:02:46 GMT)
3
3
  * (c) 2023 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 v1.1.3 (build date: Mon, 28 Aug 2023 16:19:09 GMT)
2
+ * AGTree v1.1.4 (build date: Wed, 30 Aug 2023 10:02:46 GMT)
3
3
  * (c) 2023 AdGuard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -6794,14 +6794,14 @@ var data$g = { adg_os_any:{ name:"redirect",
6794
6794
  assignable:true,
6795
6795
  negatable:false,
6796
6796
  value_optional:true,
6797
- value_format:"(?x)\n ^(\n 1x1-transparent\\.gif|\n 2x2-transparent\\.png|\n 3x2-transparent\\.png|\n 32x32-transparent\\.png|\n noopframe|\n noopcss|\n noopjs|\n noopjson|\n nooptext|\n empty|\n noopvmap-1\\.0|\n noopvast-2\\.0|\n noopvast-3\\.0|\n noopvast-4\\.0|\n noopmp3-0\\.1s|\n noopmp4-1s|\n amazon-apstag|\n ati-smarttag|\n didomi-loader|\n fingerprintjs2|\n fingerprintjs3|\n gemius|\n google-analytics-ga|\n google-analytics|\n google-ima3|\n googlesyndication-adsbygoogle|\n googletagservices-gpt|\n matomo|\n metrika-yandex-tag|\n metrika-yandex-watch|\n naver-wcslog|\n noeval|\n pardot-1\\.0|\n prebid-ads|\n prebid|\n prevent-bab|\n prevent-bab2|\n prevent-fab-3\\.2\\.0|\n prevent-popads-net|\n scorecardresearch-beacon|\n set-popads-dummy|\n click2load\\.html\n )?$" },
6797
+ value_format:"(?x)\n ^(\n 1x1-transparent\\.gif|\n 2x2-transparent\\.png|\n 3x2-transparent\\.png|\n 32x32-transparent\\.png|\n noopframe|\n noopcss|\n noopjs|\n noopjson|\n nooptext|\n empty|\n noopvmap-1\\.0|\n noopvast-2\\.0|\n noopvast-3\\.0|\n noopvast-4\\.0|\n noopmp3-0\\.1s|\n noopmp4-1s|\n amazon-apstag|\n ati-smarttag|\n didomi-loader|\n fingerprintjs2|\n fingerprintjs3|\n gemius|\n google-analytics-ga|\n google-analytics|\n googletagmanager-gtm|\n google-ima3|\n googlesyndication-adsbygoogle|\n googletagservices-gpt|\n matomo|\n metrika-yandex-tag|\n metrika-yandex-watch|\n naver-wcslog|\n noeval|\n pardot-1\\.0|\n prebid-ads|\n prebid|\n prevent-bab|\n prevent-bab2|\n prevent-fab-3\\.2\\.0|\n prevent-popads-net|\n scorecardresearch-beacon|\n set-popads-dummy|\n click2load\\.html\n )?$" },
6798
6798
  adg_ext_any:{ name:"redirect",
6799
6799
  description:"Used to redirect web requests to a local \"resource\".",
6800
6800
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#redirect-modifier",
6801
6801
  assignable:true,
6802
6802
  negatable:false,
6803
6803
  value_optional:true,
6804
- value_format:"(?x)\n ^(\n 1x1-transparent\\.gif|\n 2x2-transparent\\.png|\n 3x2-transparent\\.png|\n 32x32-transparent\\.png|\n noopframe|\n noopcss|\n noopjs|\n noopjson|\n nooptext|\n empty|\n noopvmap-1\\.0|\n noopvast-2\\.0|\n noopvast-3\\.0|\n noopvast-4\\.0|\n noopmp3-0\\.1s|\n noopmp4-1s|\n amazon-apstag|\n ati-smarttag|\n didomi-loader|\n fingerprintjs2|\n fingerprintjs3|\n gemius|\n google-analytics-ga|\n google-analytics|\n google-ima3|\n googlesyndication-adsbygoogle|\n googletagservices-gpt|\n matomo|\n metrika-yandex-tag|\n metrika-yandex-watch|\n naver-wcslog|\n noeval|\n pardot-1\\.0|\n prebid-ads|\n prebid|\n prevent-bab|\n prevent-bab2|\n prevent-fab-3\\.2\\.0|\n prevent-popads-net|\n scorecardresearch-beacon|\n set-popads-dummy|\n click2load\\.html\n )?$" },
6804
+ value_format:"(?x)\n ^(\n 1x1-transparent\\.gif|\n 2x2-transparent\\.png|\n 3x2-transparent\\.png|\n 32x32-transparent\\.png|\n noopframe|\n noopcss|\n noopjs|\n noopjson|\n nooptext|\n empty|\n noopvmap-1\\.0|\n noopvast-2\\.0|\n noopvast-3\\.0|\n noopvast-4\\.0|\n noopmp3-0\\.1s|\n noopmp4-1s|\n amazon-apstag|\n ati-smarttag|\n didomi-loader|\n fingerprintjs2|\n fingerprintjs3|\n gemius|\n google-analytics-ga|\n google-analytics|\n googletagmanager-gtm|\n google-ima3|\n googlesyndication-adsbygoogle|\n googletagservices-gpt|\n matomo|\n metrika-yandex-tag|\n metrika-yandex-watch|\n naver-wcslog|\n noeval|\n pardot-1\\.0|\n prebid-ads|\n prebid|\n prevent-bab|\n prevent-bab2|\n prevent-fab-3\\.2\\.0|\n prevent-popads-net|\n scorecardresearch-beacon|\n set-popads-dummy|\n click2load\\.html\n )?$" },
6805
6805
  ubo_ext_any:{ name:"redirect",
6806
6806
  description:"Used to redirect web requests to a local \"resource\".",
6807
6807
  docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#redirect",
@@ -6910,7 +6910,7 @@ var data$d = { adg_os_any:{ name:"replace",
6910
6910
  inverse_conflicts:true,
6911
6911
  assignable:true,
6912
6912
  negatable:false,
6913
- value_format:"(?xi)\n ^\n \\/\n # the regexp to match by\n (.+)\n # separator\n \\/\n # replacement\n (.+?)\n \\/\n # flags\n ([gimuy]*)?\n $" },
6913
+ value_format:"(?xi)\n ^\n \\/\n # the regexp to match by\n (.+)\n # separator\n \\/\n # replacement\n (.+)?\n \\/\n # flags\n ([gimuy]*)?\n $" },
6914
6914
  adg_ext_firefox:{ name:"replace",
6915
6915
  description:"This modifier completely changes the rule behavior.\nIf it is applied, the rule will not block the request. The response is going to be modified instead.",
6916
6916
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#replace-modifier",
@@ -6928,7 +6928,7 @@ var data$d = { adg_os_any:{ name:"replace",
6928
6928
  inverse_conflicts:true,
6929
6929
  assignable:true,
6930
6930
  negatable:false,
6931
- value_format:"(?xi)\n ^\n \\/\n # the regexp to match by\n (.+)\n # separator\n \\/\n # replacement\n (.+?)\n \\/\n # flags\n ([gimuy]*)?\n $" } };
6931
+ value_format:"(?xi)\n ^\n \\/\n # the regexp to match by\n (.+)\n # separator\n \\/\n # replacement\n (.+)?\n \\/\n # flags\n ([gimuy]*)?\n $" } };
6932
6932
 
6933
6933
  var data$c = { adg_any:{ name:"script",
6934
6934
  description:"The rule corresponds to script requests, e.g. javascript, vbscript.",
@@ -7935,9 +7935,8 @@ const validateValue = (modifier, valueFormat) => {
7935
7935
  return validator(modifier);
7936
7936
  }
7937
7937
  const modifierName = modifier.modifier.value;
7938
- const defaultInvalidValueResult = getValueRequiredValidationResult(modifierName);
7939
7938
  if (!modifier.value?.value) {
7940
- return defaultInvalidValueResult;
7939
+ return getValueRequiredValidationResult(modifierName);
7941
7940
  }
7942
7941
  let xRegExp;
7943
7942
  try {
@@ -7948,7 +7947,7 @@ const validateValue = (modifier, valueFormat) => {
7948
7947
  }
7949
7948
  const isValid = xRegExp.test(modifier.value?.value);
7950
7949
  if (!isValid) {
7951
- return defaultInvalidValueResult;
7950
+ return getInvalidValidationResult(`${VALIDATION_ERROR_PREFIX.VALUE_INVALID}: '${modifierName}'`);
7952
7951
  }
7953
7952
  return { valid: true };
7954
7953
  };
@@ -9597,7 +9596,7 @@ class LogicalExpressionUtils {
9597
9596
  }
9598
9597
  }
9599
9598
 
9600
- const version$1 = "1.1.3";
9599
+ const version$1 = "1.1.4";
9601
9600
 
9602
9601
  /**
9603
9602
  * @file AGTree version