@herb-tools/linter 0.8.4 → 0.8.6

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/dist/index.js CHANGED
@@ -5783,6 +5783,9 @@ class HTMLNoDuplicateMetaNamesVisitor extends ControlFlowTrackingVisitor {
5783
5783
  else if (name === "http-equiv" && value) {
5784
5784
  metaTag.httpEquivValue = value;
5785
5785
  }
5786
+ else if (name === "media" && value) {
5787
+ metaTag.mediaValue = value;
5788
+ }
5786
5789
  });
5787
5790
  }
5788
5791
  }
@@ -5814,6 +5817,14 @@ class HTMLNoDuplicateMetaNamesVisitor extends ControlFlowTrackingVisitor {
5814
5817
  }
5815
5818
  }
5816
5819
  areMetaTagsDuplicate(meta1, meta2) {
5820
+ if (meta1.mediaValue && meta2.mediaValue) {
5821
+ if (meta1.mediaValue.toLowerCase() !== meta2.mediaValue.toLowerCase()) {
5822
+ return false;
5823
+ }
5824
+ }
5825
+ if ((meta1.mediaValue && !meta2.mediaValue) || (!meta1.mediaValue && meta2.mediaValue)) {
5826
+ return false;
5827
+ }
5817
5828
  if (meta1.nameValue && meta2.nameValue) {
5818
5829
  return meta1.nameValue.toLowerCase() === meta2.nameValue.toLowerCase();
5819
5830
  }
@@ -6518,10 +6529,25 @@ class HTMLTagNameLowercaseRule extends ParserRule {
6518
6529
  autofix(offense, result, _context) {
6519
6530
  if (!offense.autofixContext)
6520
6531
  return null;
6521
- const { node: { tag_name }, correctedTagName } = offense.autofixContext;
6522
- if (!tag_name)
6532
+ const { node, correctedTagName } = offense.autofixContext;
6533
+ if (!node.tag_name)
6523
6534
  return null;
6524
- tag_name.value = correctedTagName;
6535
+ node.tag_name.value = correctedTagName;
6536
+ const parentElement = findParent(result.value, node);
6537
+ if (!parentElement || !isHTMLElementNode(parentElement))
6538
+ return result;
6539
+ switch (node.type) {
6540
+ case "AST_HTML_OPEN_TAG_NODE":
6541
+ if (!parentElement.close_tag)
6542
+ break;
6543
+ const closeTag = parentElement.close_tag;
6544
+ closeTag.tag_name.value = correctedTagName;
6545
+ break;
6546
+ case "AST_HTML_CLOSE_TAG_NODE":
6547
+ const openTag = parentElement.open_tag;
6548
+ openTag.tag_name.value = correctedTagName;
6549
+ break;
6550
+ }
6525
6551
  return result;
6526
6552
  }
6527
6553
  }