@herb-tools/linter 0.4.3 → 0.5.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 (181) hide show
  1. package/README.md +216 -19
  2. package/dist/herb-lint.js +420 -205
  3. package/dist/herb-lint.js.map +1 -1
  4. package/dist/index.cjs +61 -43
  5. package/dist/index.cjs.map +1 -1
  6. package/dist/index.js +61 -43
  7. package/dist/index.js.map +1 -1
  8. package/dist/package.json +4 -4
  9. package/dist/src/cli/argument-parser.js +28 -18
  10. package/dist/src/cli/argument-parser.js.map +1 -1
  11. package/dist/src/cli/file-processor.js +19 -13
  12. package/dist/src/cli/file-processor.js.map +1 -1
  13. package/dist/src/cli/formatters/detailed-formatter.js +9 -9
  14. package/dist/src/cli/formatters/detailed-formatter.js.map +1 -1
  15. package/dist/src/cli/formatters/github-actions-formatter.js +50 -0
  16. package/dist/src/cli/formatters/github-actions-formatter.js.map +1 -0
  17. package/dist/src/cli/formatters/index.js +2 -0
  18. package/dist/src/cli/formatters/index.js.map +1 -1
  19. package/dist/src/cli/formatters/json-formatter.js +58 -0
  20. package/dist/src/cli/formatters/json-formatter.js.map +1 -0
  21. package/dist/src/cli/formatters/simple-formatter.js +15 -15
  22. package/dist/src/cli/formatters/simple-formatter.js.map +1 -1
  23. package/dist/src/cli/output-manager.js +120 -0
  24. package/dist/src/cli/output-manager.js.map +1 -0
  25. package/dist/src/cli/summary-reporter.js +22 -22
  26. package/dist/src/cli/summary-reporter.js.map +1 -1
  27. package/dist/src/cli.js +41 -26
  28. package/dist/src/cli.js.map +1 -1
  29. package/dist/src/default-rules.js +2 -0
  30. package/dist/src/default-rules.js.map +1 -1
  31. package/dist/src/linter.js +1 -1
  32. package/dist/src/linter.js.map +1 -1
  33. package/dist/src/rules/erb-no-empty-tags.js +2 -2
  34. package/dist/src/rules/erb-no-empty-tags.js.map +1 -1
  35. package/dist/src/rules/erb-no-output-control-flow.js +2 -2
  36. package/dist/src/rules/erb-no-output-control-flow.js.map +1 -1
  37. package/dist/src/rules/erb-prefer-image-tag-helper.js +2 -2
  38. package/dist/src/rules/erb-prefer-image-tag-helper.js.map +1 -1
  39. package/dist/src/rules/erb-require-whitespace-inside-tags.js +2 -2
  40. package/dist/src/rules/erb-require-whitespace-inside-tags.js.map +1 -1
  41. package/dist/src/rules/erb-requires-trailing-newline.js.map +1 -1
  42. package/dist/src/rules/html-anchor-require-href.js +2 -2
  43. package/dist/src/rules/html-anchor-require-href.js.map +1 -1
  44. package/dist/src/rules/html-aria-attribute-must-be-valid.js +2 -2
  45. package/dist/src/rules/html-aria-attribute-must-be-valid.js.map +1 -1
  46. package/dist/src/rules/html-aria-level-must-be-valid.js +2 -2
  47. package/dist/src/rules/html-aria-level-must-be-valid.js.map +1 -1
  48. package/dist/src/rules/html-aria-role-heading-requires-level.js +2 -2
  49. package/dist/src/rules/html-aria-role-heading-requires-level.js.map +1 -1
  50. package/dist/src/rules/html-aria-role-must-be-valid.js +2 -2
  51. package/dist/src/rules/html-aria-role-must-be-valid.js.map +1 -1
  52. package/dist/src/rules/html-attribute-double-quotes.js +2 -2
  53. package/dist/src/rules/html-attribute-double-quotes.js.map +1 -1
  54. package/dist/src/rules/html-attribute-values-require-quotes.js +2 -2
  55. package/dist/src/rules/html-attribute-values-require-quotes.js.map +1 -1
  56. package/dist/src/rules/html-boolean-attributes-no-value.js +2 -2
  57. package/dist/src/rules/html-boolean-attributes-no-value.js.map +1 -1
  58. package/dist/src/rules/html-img-require-alt.js +2 -2
  59. package/dist/src/rules/html-img-require-alt.js.map +1 -1
  60. package/dist/src/rules/html-no-block-inside-inline.js +4 -4
  61. package/dist/src/rules/html-no-block-inside-inline.js.map +1 -1
  62. package/dist/src/rules/html-no-duplicate-attributes.js +2 -2
  63. package/dist/src/rules/html-no-duplicate-attributes.js.map +1 -1
  64. package/dist/src/rules/html-no-duplicate-ids.js +2 -2
  65. package/dist/src/rules/html-no-duplicate-ids.js.map +1 -1
  66. package/dist/src/rules/html-no-empty-headings.js +2 -2
  67. package/dist/src/rules/html-no-empty-headings.js.map +1 -1
  68. package/dist/src/rules/html-no-nested-links.js +2 -2
  69. package/dist/src/rules/html-no-nested-links.js.map +1 -1
  70. package/dist/src/rules/html-tag-name-lowercase.js +2 -2
  71. package/dist/src/rules/html-tag-name-lowercase.js.map +1 -1
  72. package/dist/src/rules/parser-no-errors.js +18 -0
  73. package/dist/src/rules/parser-no-errors.js.map +1 -0
  74. package/dist/src/rules/svg-tag-name-capitalization.js +2 -2
  75. package/dist/src/rules/svg-tag-name-capitalization.js.map +1 -1
  76. package/dist/tsconfig.tsbuildinfo +1 -1
  77. package/dist/types/cli/argument-parser.d.ts +2 -1
  78. package/dist/types/cli/file-processor.d.ts +6 -5
  79. package/dist/types/cli/formatters/base-formatter.d.ts +2 -2
  80. package/dist/types/cli/formatters/detailed-formatter.d.ts +2 -2
  81. package/dist/types/cli/formatters/github-actions-formatter.d.ts +12 -0
  82. package/dist/types/cli/formatters/index.d.ts +2 -0
  83. package/dist/types/cli/formatters/json-formatter.d.ts +42 -0
  84. package/dist/types/cli/formatters/simple-formatter.d.ts +2 -2
  85. package/dist/types/cli/output-manager.d.ts +31 -0
  86. package/dist/types/cli/summary-reporter.d.ts +3 -3
  87. package/dist/types/cli.d.ts +3 -1
  88. package/dist/types/rules/erb-no-empty-tags.d.ts +2 -2
  89. package/dist/types/rules/erb-no-output-control-flow.d.ts +2 -2
  90. package/dist/types/rules/erb-prefer-image-tag-helper.d.ts +2 -2
  91. package/dist/types/rules/erb-require-whitespace-inside-tags.d.ts +2 -2
  92. package/dist/types/rules/html-anchor-require-href.d.ts +2 -2
  93. package/dist/types/rules/html-aria-attribute-must-be-valid.d.ts +2 -2
  94. package/dist/types/rules/html-aria-level-must-be-valid.d.ts +2 -2
  95. package/dist/types/rules/html-aria-role-heading-requires-level.d.ts +2 -2
  96. package/dist/types/rules/html-aria-role-must-be-valid.d.ts +2 -2
  97. package/dist/types/rules/html-attribute-double-quotes.d.ts +2 -2
  98. package/dist/types/rules/html-attribute-values-require-quotes.d.ts +2 -2
  99. package/dist/types/rules/html-boolean-attributes-no-value.d.ts +2 -2
  100. package/dist/types/rules/html-img-require-alt.d.ts +2 -2
  101. package/dist/types/rules/html-no-block-inside-inline.d.ts +2 -2
  102. package/dist/types/rules/html-no-duplicate-attributes.d.ts +2 -2
  103. package/dist/types/rules/html-no-duplicate-ids.d.ts +2 -2
  104. package/dist/types/rules/html-no-empty-headings.d.ts +2 -2
  105. package/dist/types/rules/html-no-nested-links.d.ts +2 -2
  106. package/dist/types/rules/html-tag-name-lowercase.d.ts +2 -2
  107. package/dist/types/rules/parser-no-errors.d.ts +8 -0
  108. package/dist/types/rules/svg-tag-name-capitalization.d.ts +2 -2
  109. package/dist/types/src/cli/argument-parser.d.ts +2 -1
  110. package/dist/types/src/cli/file-processor.d.ts +6 -5
  111. package/dist/types/src/cli/formatters/base-formatter.d.ts +2 -2
  112. package/dist/types/src/cli/formatters/detailed-formatter.d.ts +2 -2
  113. package/dist/types/src/cli/formatters/github-actions-formatter.d.ts +12 -0
  114. package/dist/types/src/cli/formatters/index.d.ts +2 -0
  115. package/dist/types/src/cli/formatters/json-formatter.d.ts +42 -0
  116. package/dist/types/src/cli/formatters/simple-formatter.d.ts +2 -2
  117. package/dist/types/src/cli/output-manager.d.ts +31 -0
  118. package/dist/types/src/cli/summary-reporter.d.ts +3 -3
  119. package/dist/types/src/cli.d.ts +3 -1
  120. package/dist/types/src/rules/erb-no-empty-tags.d.ts +2 -2
  121. package/dist/types/src/rules/erb-no-output-control-flow.d.ts +2 -2
  122. package/dist/types/src/rules/erb-prefer-image-tag-helper.d.ts +2 -2
  123. package/dist/types/src/rules/erb-require-whitespace-inside-tags.d.ts +2 -2
  124. package/dist/types/src/rules/html-anchor-require-href.d.ts +2 -2
  125. package/dist/types/src/rules/html-aria-attribute-must-be-valid.d.ts +2 -2
  126. package/dist/types/src/rules/html-aria-level-must-be-valid.d.ts +2 -2
  127. package/dist/types/src/rules/html-aria-role-heading-requires-level.d.ts +2 -2
  128. package/dist/types/src/rules/html-aria-role-must-be-valid.d.ts +2 -2
  129. package/dist/types/src/rules/html-attribute-double-quotes.d.ts +2 -2
  130. package/dist/types/src/rules/html-attribute-values-require-quotes.d.ts +2 -2
  131. package/dist/types/src/rules/html-boolean-attributes-no-value.d.ts +2 -2
  132. package/dist/types/src/rules/html-img-require-alt.d.ts +2 -2
  133. package/dist/types/src/rules/html-no-block-inside-inline.d.ts +2 -2
  134. package/dist/types/src/rules/html-no-duplicate-attributes.d.ts +2 -2
  135. package/dist/types/src/rules/html-no-duplicate-ids.d.ts +2 -2
  136. package/dist/types/src/rules/html-no-empty-headings.d.ts +2 -2
  137. package/dist/types/src/rules/html-no-nested-links.d.ts +2 -2
  138. package/dist/types/src/rules/html-tag-name-lowercase.d.ts +2 -2
  139. package/dist/types/src/rules/parser-no-errors.d.ts +8 -0
  140. package/dist/types/src/rules/svg-tag-name-capitalization.d.ts +2 -2
  141. package/dist/types/src/types.d.ts +3 -3
  142. package/dist/types/types.d.ts +3 -3
  143. package/docs/rules/README.md +1 -0
  144. package/docs/rules/parser-no-errors.md +84 -0
  145. package/package.json +4 -4
  146. package/src/cli/argument-parser.ts +33 -19
  147. package/src/cli/file-processor.ts +25 -17
  148. package/src/cli/formatters/base-formatter.ts +2 -2
  149. package/src/cli/formatters/detailed-formatter.ts +9 -9
  150. package/src/cli/formatters/github-actions-formatter.ts +70 -0
  151. package/src/cli/formatters/index.ts +2 -0
  152. package/src/cli/formatters/json-formatter.ts +107 -0
  153. package/src/cli/formatters/simple-formatter.ts +15 -15
  154. package/src/cli/output-manager.ts +143 -0
  155. package/src/cli/summary-reporter.ts +24 -24
  156. package/src/cli.ts +48 -31
  157. package/src/default-rules.ts +2 -0
  158. package/src/linter.ts +1 -1
  159. package/src/rules/erb-no-empty-tags.ts +3 -3
  160. package/src/rules/erb-no-output-control-flow.ts +3 -3
  161. package/src/rules/erb-prefer-image-tag-helper.ts +3 -3
  162. package/src/rules/erb-require-whitespace-inside-tags.ts +3 -3
  163. package/src/rules/erb-requires-trailing-newline.ts +2 -0
  164. package/src/rules/html-anchor-require-href.ts +3 -3
  165. package/src/rules/html-aria-attribute-must-be-valid.ts +3 -3
  166. package/src/rules/html-aria-level-must-be-valid.ts +3 -3
  167. package/src/rules/html-aria-role-heading-requires-level.ts +3 -3
  168. package/src/rules/html-aria-role-must-be-valid.ts +3 -3
  169. package/src/rules/html-attribute-double-quotes.ts +3 -3
  170. package/src/rules/html-attribute-values-require-quotes.ts +3 -3
  171. package/src/rules/html-boolean-attributes-no-value.ts +3 -3
  172. package/src/rules/html-img-require-alt.ts +3 -3
  173. package/src/rules/html-no-block-inside-inline.ts +5 -5
  174. package/src/rules/html-no-duplicate-attributes.ts +3 -3
  175. package/src/rules/html-no-duplicate-ids.ts +3 -3
  176. package/src/rules/html-no-empty-headings.ts +3 -3
  177. package/src/rules/html-no-nested-links.ts +3 -3
  178. package/src/rules/html-tag-name-lowercase.ts +3 -3
  179. package/src/rules/parser-no-errors.ts +25 -0
  180. package/src/rules/svg-tag-name-capitalization.ts +3 -3
  181. package/src/types.ts +3 -3
package/dist/index.js CHANGED
@@ -404,9 +404,9 @@ class ERBNoEmptyTagsVisitor extends BaseRuleVisitor {
404
404
  }
405
405
  class ERBNoEmptyTagsRule extends ParserRule {
406
406
  name = "erb-no-empty-tags";
407
- check(node, context) {
407
+ check(result, context) {
408
408
  const visitor = new ERBNoEmptyTagsVisitor(this.name, context);
409
- visitor.visit(node);
409
+ visitor.visit(result.value);
410
410
  return visitor.offenses;
411
411
  }
412
412
  }
@@ -450,9 +450,9 @@ class ERBNoOutputControlFlowRuleVisitor extends BaseRuleVisitor {
450
450
  }
451
451
  class ERBNoOutputControlFlowRule extends ParserRule {
452
452
  name = "erb-no-output-control-flow";
453
- check(node, context) {
453
+ check(result, context) {
454
454
  const visitor = new ERBNoOutputControlFlowRuleVisitor(this.name, context);
455
- visitor.visit(node);
455
+ visitor.visit(result.value);
456
456
  return visitor.offenses;
457
457
  }
458
458
  }
@@ -541,9 +541,9 @@ class ERBPreferImageTagHelperVisitor extends BaseRuleVisitor {
541
541
  }
542
542
  class ERBPreferImageTagHelperRule extends ParserRule {
543
543
  name = "erb-prefer-image-tag-helper";
544
- check(node, context) {
544
+ check(result, context) {
545
545
  const visitor = new ERBPreferImageTagHelperVisitor(this.name, context);
546
- visitor.visit(node);
546
+ visitor.visit(result.value);
547
547
  return visitor.offenses;
548
548
  }
549
549
  }
@@ -618,9 +618,9 @@ class RequireWhitespaceInsideTags extends BaseRuleVisitor {
618
618
  }
619
619
  class ERBRequireWhitespaceRule extends ParserRule {
620
620
  name = "erb-require-whitespace-inside-tags";
621
- check(node, context) {
621
+ check(result, context) {
622
622
  const visitor = new RequireWhitespaceInsideTags(this.name, context);
623
- visitor.visit(node);
623
+ visitor.visit(result.value);
624
624
  return visitor.offenses;
625
625
  }
626
626
  }
@@ -642,9 +642,9 @@ class AnchorRechireHrefVisitor extends BaseRuleVisitor {
642
642
  }
643
643
  class HTMLAnchorRequireHrefRule extends ParserRule {
644
644
  name = "html-anchor-require-href";
645
- check(node, context) {
645
+ check(result, context) {
646
646
  const visitor = new AnchorRechireHrefVisitor(this.name, context);
647
- visitor.visit(node);
647
+ visitor.visit(result.value);
648
648
  return visitor.offenses;
649
649
  }
650
650
  }
@@ -665,9 +665,9 @@ class AriaAttributeMustBeValid extends AttributeVisitorMixin {
665
665
  }
666
666
  class HTMLAriaAttributeMustBeValid extends ParserRule {
667
667
  name = "html-aria-attribute-must-be-valid";
668
- check(node, context) {
668
+ check(result, context) {
669
669
  const visitor = new AriaAttributeMustBeValid(this.name, context);
670
- visitor.visit(node);
670
+ visitor.visit(result.value);
671
671
  return visitor.offenses;
672
672
  }
673
673
  }
@@ -690,9 +690,9 @@ class HTMLAriaLevelMustBeValidVisitor extends AttributeVisitorMixin {
690
690
  }
691
691
  class HTMLAriaLevelMustBeValidRule extends ParserRule {
692
692
  name = "html-aria-level-must-be-valid";
693
- check(node, context) {
693
+ check(result, context) {
694
694
  const visitor = new HTMLAriaLevelMustBeValidVisitor(this.name, context);
695
- visitor.visit(node);
695
+ visitor.visit(result.value);
696
696
  return visitor.offenses;
697
697
  }
698
698
  }
@@ -715,9 +715,9 @@ class AriaRoleHeadingRequiresLevel extends AttributeVisitorMixin {
715
715
  }
716
716
  class HTMLAriaRoleHeadingRequiresLevelRule extends ParserRule {
717
717
  name = "html-aria-role-heading-requires-level";
718
- check(node, context) {
718
+ check(result, context) {
719
719
  const visitor = new AriaRoleHeadingRequiresLevel(this.name, context);
720
- visitor.visit(node);
720
+ visitor.visit(result.value);
721
721
  return visitor.offenses;
722
722
  }
723
723
  }
@@ -735,9 +735,9 @@ class AriaRoleMustBeValid extends AttributeVisitorMixin {
735
735
  }
736
736
  class HTMLAriaRoleMustBeValidRule extends ParserRule {
737
737
  name = "html-aria-role-must-be-valid";
738
- check(node, context) {
738
+ check(result, context) {
739
739
  const visitor = new AriaRoleMustBeValid(this.name, context);
740
- visitor.visit(node);
740
+ visitor.visit(result.value);
741
741
  return visitor.offenses;
742
742
  }
743
743
  }
@@ -755,9 +755,9 @@ class AttributeDoubleQuotesVisitor extends AttributeVisitorMixin {
755
755
  }
756
756
  class HTMLAttributeDoubleQuotesRule extends ParserRule {
757
757
  name = "html-attribute-double-quotes";
758
- check(node, context) {
758
+ check(result, context) {
759
759
  const visitor = new AttributeDoubleQuotesVisitor(this.name, context);
760
- visitor.visit(node);
760
+ visitor.visit(result.value);
761
761
  return visitor.offenses;
762
762
  }
763
763
  }
@@ -776,9 +776,9 @@ class AttributeValuesRequireQuotesVisitor extends AttributeVisitorMixin {
776
776
  }
777
777
  class HTMLAttributeValuesRequireQuotesRule extends ParserRule {
778
778
  name = "html-attribute-values-require-quotes";
779
- check(node, context) {
779
+ check(result, context) {
780
780
  const visitor = new AttributeValuesRequireQuotesVisitor(this.name, context);
781
- visitor.visit(node);
781
+ visitor.visit(result.value);
782
782
  return visitor.offenses;
783
783
  }
784
784
  }
@@ -794,9 +794,9 @@ class BooleanAttributesNoValueVisitor extends AttributeVisitorMixin {
794
794
  }
795
795
  class HTMLBooleanAttributesNoValueRule extends ParserRule {
796
796
  name = "html-boolean-attributes-no-value";
797
- check(node, context) {
797
+ check(result, context) {
798
798
  const visitor = new BooleanAttributesNoValueVisitor(this.name, context);
799
- visitor.visit(node);
799
+ visitor.visit(result.value);
800
800
  return visitor.offenses;
801
801
  }
802
802
  }
@@ -822,9 +822,9 @@ class ImgRequireAltVisitor extends BaseRuleVisitor {
822
822
  }
823
823
  class HTMLImgRequireAltRule extends ParserRule {
824
824
  name = "html-img-require-alt";
825
- check(node, context) {
825
+ check(result, context) {
826
826
  const visitor = new ImgRequireAltVisitor(this.name, context);
827
- visitor.visit(node);
827
+ visitor.visit(result.value);
828
828
  return visitor.offenses;
829
829
  }
830
830
  }
@@ -864,9 +864,9 @@ class NoDuplicateAttributesVisitor extends BaseRuleVisitor {
864
864
  }
865
865
  class HTMLNoDuplicateAttributesRule extends ParserRule {
866
866
  name = "html-no-duplicate-attributes";
867
- check(node, context) {
867
+ check(result, context) {
868
868
  const visitor = new NoDuplicateAttributesVisitor(this.name, context);
869
- visitor.visit(node);
869
+ visitor.visit(result.value);
870
870
  return visitor.offenses;
871
871
  }
872
872
  }
@@ -888,9 +888,9 @@ class NoDuplicateIdsVisitor extends AttributeVisitorMixin {
888
888
  }
889
889
  class HTMLNoDuplicateIdsRule extends ParserRule {
890
890
  name = "html-no-duplicate-ids";
891
- check(node, context) {
891
+ check(result, context) {
892
892
  const visitor = new NoDuplicateIdsVisitor(this.name, context);
893
- visitor.visit(node);
893
+ visitor.visit(result.value);
894
894
  return visitor.offenses;
895
895
  }
896
896
  }
@@ -1035,9 +1035,9 @@ class NoEmptyHeadingsVisitor extends BaseRuleVisitor {
1035
1035
  }
1036
1036
  class HTMLNoEmptyHeadingsRule extends ParserRule {
1037
1037
  name = "html-no-empty-headings";
1038
- check(node, context) {
1038
+ check(result, context) {
1039
1039
  const visitor = new NoEmptyHeadingsVisitor(this.name, context);
1040
- visitor.visit(node);
1040
+ visitor.visit(result.value);
1041
1041
  return visitor.offenses;
1042
1042
  }
1043
1043
  }
@@ -1079,9 +1079,9 @@ class NestedLinkVisitor extends BaseRuleVisitor {
1079
1079
  }
1080
1080
  class HTMLNoNestedLinksRule extends ParserRule {
1081
1081
  name = "html-no-nested-links";
1082
- check(node, context) {
1082
+ check(result, context) {
1083
1083
  const visitor = new NestedLinkVisitor(this.name, context);
1084
- visitor.visit(node);
1084
+ visitor.visit(result.value);
1085
1085
  return visitor.offenses;
1086
1086
  }
1087
1087
  }
@@ -1126,13 +1126,30 @@ class TagNameLowercaseVisitor extends BaseRuleVisitor {
1126
1126
  }
1127
1127
  class HTMLTagNameLowercaseRule extends ParserRule {
1128
1128
  name = "html-tag-name-lowercase";
1129
- check(node, context) {
1129
+ check(result, context) {
1130
1130
  const visitor = new TagNameLowercaseVisitor(this.name, context);
1131
- visitor.visit(node);
1131
+ visitor.visit(result.value);
1132
1132
  return visitor.offenses;
1133
1133
  }
1134
1134
  }
1135
1135
 
1136
+ class ParserNoErrorsRule extends ParserRule {
1137
+ name = "parser-no-errors";
1138
+ check(result) {
1139
+ return result.recursiveErrors().map(error => this.herbErrorToLintOffense(error));
1140
+ }
1141
+ herbErrorToLintOffense(error) {
1142
+ return {
1143
+ message: `${error.message} (\`${error.type}\`)`,
1144
+ location: error.location,
1145
+ severity: error.severity,
1146
+ rule: this.name,
1147
+ code: this.name,
1148
+ source: "linter"
1149
+ };
1150
+ }
1151
+ }
1152
+
1136
1153
  class SVGTagNameCapitalizationVisitor extends BaseRuleVisitor {
1137
1154
  insideSVG = false;
1138
1155
  visitHTMLElementNode(node) {
@@ -1182,9 +1199,9 @@ class SVGTagNameCapitalizationVisitor extends BaseRuleVisitor {
1182
1199
  }
1183
1200
  class SVGTagNameCapitalizationRule extends ParserRule {
1184
1201
  name = "svg-tag-name-capitalization";
1185
- check(node, context) {
1202
+ check(result, context) {
1186
1203
  const visitor = new SVGTagNameCapitalizationVisitor(this.name, context);
1187
- visitor.visit(node);
1204
+ visitor.visit(result.value);
1188
1205
  return visitor.offenses;
1189
1206
  }
1190
1207
  }
@@ -1210,6 +1227,7 @@ const defaultRules = [
1210
1227
  HTMLNoEmptyHeadingsRule,
1211
1228
  HTMLNoNestedLinksRule,
1212
1229
  HTMLTagNameLowercaseRule,
1230
+ ParserNoErrorsRule,
1213
1231
  SVGTagNameCapitalizationRule,
1214
1232
  ];
1215
1233
 
@@ -1268,7 +1286,7 @@ class Linter {
1268
1286
  ruleOffenses = rule.check(source, context);
1269
1287
  }
1270
1288
  else {
1271
- ruleOffenses = rule.check(parseResult.value, context);
1289
+ ruleOffenses = rule.check(parseResult, context);
1272
1290
  }
1273
1291
  this.offenses.push(...ruleOffenses);
1274
1292
  }
@@ -1293,7 +1311,7 @@ class BlockInsideInlineVisitor extends BaseRuleVisitor {
1293
1311
  const isUnknown = !isInline && !isBlock;
1294
1312
  return { isInline, isBlock, isUnknown };
1295
1313
  }
1296
- addViolationMessage(tagName, isBlock, openTag) {
1314
+ addOffenseMessage(tagName, isBlock, openTag) {
1297
1315
  const parentInline = this.inlineStack[this.inlineStack.length - 1];
1298
1316
  const elementType = isBlock ? "Block-level" : "Unknown";
1299
1317
  this.addOffense(`${elementType} element \`<${tagName}>\` cannot be placed inside inline element \`<${parentInline}>\`.`, openTag.tag_name.location, "error");
@@ -1322,7 +1340,7 @@ class BlockInsideInlineVisitor extends BaseRuleVisitor {
1322
1340
  }
1323
1341
  const { isInline, isBlock, isUnknown } = this.getElementType(tagName);
1324
1342
  if ((isBlock || isUnknown) && this.inlineStack.length > 0) {
1325
- this.addViolationMessage(tagName, isBlock, openTag);
1343
+ this.addOffenseMessage(tagName, isBlock, openTag);
1326
1344
  }
1327
1345
  if (isInline) {
1328
1346
  this.visitInlineElement(node, tagName);
@@ -1333,9 +1351,9 @@ class BlockInsideInlineVisitor extends BaseRuleVisitor {
1333
1351
  }
1334
1352
  class HTMLNoBlockInsideInlineRule extends ParserRule {
1335
1353
  name = "html-no-block-inside-inline";
1336
- check(node, context) {
1354
+ check(result, context) {
1337
1355
  const visitor = new BlockInsideInlineVisitor(this.name, context);
1338
- visitor.visit(node);
1356
+ visitor.visit(result.value);
1339
1357
  return visitor.offenses;
1340
1358
  }
1341
1359
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/types.ts","../src/rules/rule-utils.ts","../src/rules/erb-no-empty-tags.ts","../src/rules/erb-no-output-control-flow.ts","../src/rules/erb-prefer-image-tag-helper.ts","../src/rules/erb-requires-trailing-newline.ts","../src/rules/erb-require-whitespace-inside-tags.ts","../src/rules/html-anchor-require-href.ts","../src/rules/html-aria-attribute-must-be-valid.ts","../src/rules/html-aria-level-must-be-valid.ts","../src/rules/html-aria-role-heading-requires-level.ts","../src/rules/html-aria-role-must-be-valid.ts","../src/rules/html-attribute-double-quotes.ts","../src/rules/html-attribute-values-require-quotes.ts","../src/rules/html-boolean-attributes-no-value.ts","../src/rules/html-img-require-alt.ts","../src/rules/html-no-duplicate-attributes.ts","../src/rules/html-no-duplicate-ids.ts","../src/rules/html-no-empty-headings.ts","../src/rules/html-no-nested-links.ts","../src/rules/html-tag-name-lowercase.ts","../src/rules/svg-tag-name-capitalization.ts","../src/default-rules.ts","../src/linter.ts","../src/rules/html-no-block-inside-inline.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/types.ts","../src/rules/rule-utils.ts","../src/rules/erb-no-empty-tags.ts","../src/rules/erb-no-output-control-flow.ts","../src/rules/erb-prefer-image-tag-helper.ts","../src/rules/erb-requires-trailing-newline.ts","../src/rules/erb-require-whitespace-inside-tags.ts","../src/rules/html-anchor-require-href.ts","../src/rules/html-aria-attribute-must-be-valid.ts","../src/rules/html-aria-level-must-be-valid.ts","../src/rules/html-aria-role-heading-requires-level.ts","../src/rules/html-aria-role-must-be-valid.ts","../src/rules/html-attribute-double-quotes.ts","../src/rules/html-attribute-values-require-quotes.ts","../src/rules/html-boolean-attributes-no-value.ts","../src/rules/html-img-require-alt.ts","../src/rules/html-no-duplicate-attributes.ts","../src/rules/html-no-duplicate-ids.ts","../src/rules/html-no-empty-headings.ts","../src/rules/html-no-nested-links.ts","../src/rules/html-tag-name-lowercase.ts","../src/rules/parser-no-errors.ts","../src/rules/svg-tag-name-capitalization.ts","../src/default-rules.ts","../src/linter.ts","../src/rules/html-no-block-inside-inline.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":"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"}
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@herb-tools/linter",
3
- "version": "0.4.3",
3
+ "version": "0.5.0",
4
4
  "description": "HTML+ERB linter for validating HTML structure and enforcing best practices",
5
5
  "license": "MIT",
6
6
  "homepage": "https://herb-tools.dev",
@@ -33,9 +33,9 @@
33
33
  }
34
34
  },
35
35
  "dependencies": {
36
- "@herb-tools/core": "0.4.3",
37
- "@herb-tools/highlighter": "0.4.3",
38
- "@herb-tools/node-wasm": "0.4.3",
36
+ "@herb-tools/core": "0.5.0",
37
+ "@herb-tools/highlighter": "0.5.0",
38
+ "@herb-tools/node-wasm": "0.5.0",
39
39
  "glob": "^11.0.3"
40
40
  },
41
41
  "files": [
@@ -17,9 +17,11 @@ export class ArgumentParser {
17
17
  Options:
18
18
  -h, --help show help
19
19
  -v, --version show version
20
- --format output format (simple|detailed) [default: detailed]
20
+ --format output format (simple|detailed|json|github) [default: detailed]
21
21
  --simple use simple output format (shortcut for --format simple)
22
- --theme syntax highlighting theme (${THEME_NAMES.join('|')}) or path to custom theme file [default: ${DEFAULT_THEME}]
22
+ --json use JSON output format (shortcut for --format json)
23
+ --github use GitHub Actions output format (shortcut for --format github)
24
+ --theme syntax highlighting theme (${THEME_NAMES.join("|")}) or path to custom theme file [default: ${DEFAULT_THEME}]
23
25
  --no-color disable colored output
24
26
  --no-timing hide timing information
25
27
  --no-wrap-lines disable line wrapping
@@ -29,15 +31,17 @@ export class ArgumentParser {
29
31
  const { values, positionals } = parseArgs({
30
32
  args: argv.slice(2),
31
33
  options: {
32
- help: { type: 'boolean', short: 'h' },
33
- version: { type: 'boolean', short: 'v' },
34
- format: { type: 'string' },
35
- simple: { type: 'boolean' },
36
- theme: { type: 'string' },
37
- 'no-color': { type: 'boolean' },
38
- 'no-timing': { type: 'boolean' },
39
- 'no-wrap-lines': { type: 'boolean' },
40
- 'truncate-lines': { type: 'boolean' }
34
+ help: { type: "boolean", short: "h" },
35
+ version: { type: "boolean", short: "v" },
36
+ format: { type: "string" },
37
+ simple: { type: "boolean" },
38
+ json: { type: "boolean" },
39
+ github: { type: "boolean" },
40
+ theme: { type: "string" },
41
+ "no-color": { type: "boolean" },
42
+ "no-timing": { type: "boolean" },
43
+ "no-wrap-lines": { type: "boolean" },
44
+ "truncate-lines": { type: "boolean" }
41
45
  },
42
46
  allowPositionals: true
43
47
  });
@@ -50,24 +54,30 @@ export class ArgumentParser {
50
54
  console.log(` ${name}@${version}, ${Herb.version}`.split(", ").join("\n "));
51
55
  process.exit(0);
52
56
  }
53
- let formatOption = 'detailed';
54
- if (values.format && (values.format === "detailed" || values.format === "simple")) {
57
+ let formatOption = "detailed";
58
+ if (values.format && (values.format === "detailed" || values.format === "simple" || values.format === "json" || values.format === "github")) {
55
59
  formatOption = values.format;
56
60
  }
57
61
  if (values.simple) {
58
62
  formatOption = "simple";
59
63
  }
60
- if (values['no-color']) {
64
+ if (values.json) {
65
+ formatOption = "json";
66
+ }
67
+ if (values.github) {
68
+ formatOption = "github";
69
+ }
70
+ if (values["no-color"]) {
61
71
  process.env.NO_COLOR = "1";
62
72
  }
63
- const showTiming = !values['no-timing'];
64
- let wrapLines = !values['no-wrap-lines'];
73
+ const showTiming = !values["no-timing"];
74
+ let wrapLines = !values["no-wrap-lines"];
65
75
  let truncateLines = false;
66
- if (values['truncate-lines']) {
76
+ if (values["truncate-lines"]) {
67
77
  truncateLines = true;
68
78
  wrapLines = false;
69
79
  }
70
- if (!values['no-wrap-lines'] && values['truncate-lines']) {
80
+ if (!values["no-wrap-lines"] && values["truncate-lines"]) {
71
81
  console.error("Error: Line wrapping and --truncate-lines cannot be used together. Use --no-wrap-lines with --truncate-lines.");
72
82
  process.exit(1);
73
83
  }
@@ -1 +1 @@
1
- {"version":3,"file":"argument-parser.js","sourceRoot":"","sources":["../../../src/cli/argument-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"argument-parser.js","sourceRoot":"","sources":["../../../src/cli/argument-parser.ts"],"names":[],"mappings":"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"}