@herb-tools/linter 0.8.3 → 0.8.5

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