@herb-tools/linter 0.4.1 → 0.4.3

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 (147) hide show
  1. package/README.md +16 -4
  2. package/dist/herb-lint.js +557 -122
  3. package/dist/herb-lint.js.map +1 -1
  4. package/dist/index.cjs +454 -67
  5. package/dist/index.cjs.map +1 -1
  6. package/dist/index.js +448 -69
  7. package/dist/index.js.map +1 -1
  8. package/dist/package.json +4 -4
  9. package/dist/src/cli/file-processor.js +2 -4
  10. package/dist/src/cli/file-processor.js.map +1 -1
  11. package/dist/src/default-rules.js +8 -0
  12. package/dist/src/default-rules.js.map +1 -1
  13. package/dist/src/linter.js +37 -6
  14. package/dist/src/linter.js.map +1 -1
  15. package/dist/src/rules/erb-no-empty-tags.js +4 -3
  16. package/dist/src/rules/erb-no-empty-tags.js.map +1 -1
  17. package/dist/src/rules/erb-no-output-control-flow.js +4 -3
  18. package/dist/src/rules/erb-no-output-control-flow.js.map +1 -1
  19. package/dist/src/rules/erb-prefer-image-tag-helper.js +93 -0
  20. package/dist/src/rules/erb-prefer-image-tag-helper.js.map +1 -0
  21. package/dist/src/rules/erb-require-whitespace-inside-tags.js +22 -5
  22. package/dist/src/rules/erb-require-whitespace-inside-tags.js.map +1 -1
  23. package/dist/src/rules/erb-requires-trailing-newline.js +22 -0
  24. package/dist/src/rules/erb-requires-trailing-newline.js.map +1 -0
  25. package/dist/src/rules/html-anchor-require-href.js +4 -3
  26. package/dist/src/rules/html-anchor-require-href.js.map +1 -1
  27. package/dist/src/rules/html-aria-attribute-must-be-valid.js +4 -3
  28. package/dist/src/rules/html-aria-attribute-must-be-valid.js.map +1 -1
  29. package/dist/src/rules/html-aria-level-must-be-valid.js +27 -0
  30. package/dist/src/rules/html-aria-level-must-be-valid.js.map +1 -0
  31. package/dist/src/rules/html-aria-role-heading-requires-level.js +4 -3
  32. package/dist/src/rules/html-aria-role-heading-requires-level.js.map +1 -1
  33. package/dist/src/rules/html-aria-role-must-be-valid.js +4 -3
  34. package/dist/src/rules/html-aria-role-must-be-valid.js.map +1 -1
  35. package/dist/src/rules/html-attribute-double-quotes.js +4 -3
  36. package/dist/src/rules/html-attribute-double-quotes.js.map +1 -1
  37. package/dist/src/rules/html-attribute-values-require-quotes.js +4 -3
  38. package/dist/src/rules/html-attribute-values-require-quotes.js.map +1 -1
  39. package/dist/src/rules/html-boolean-attributes-no-value.js +4 -3
  40. package/dist/src/rules/html-boolean-attributes-no-value.js.map +1 -1
  41. package/dist/src/rules/html-img-require-alt.js +4 -3
  42. package/dist/src/rules/html-img-require-alt.js.map +1 -1
  43. package/dist/src/rules/html-no-block-inside-inline.js +4 -3
  44. package/dist/src/rules/html-no-block-inside-inline.js.map +1 -1
  45. package/dist/src/rules/html-no-duplicate-attributes.js +4 -3
  46. package/dist/src/rules/html-no-duplicate-attributes.js.map +1 -1
  47. package/dist/src/rules/html-no-duplicate-ids.js +4 -3
  48. package/dist/src/rules/html-no-duplicate-ids.js.map +1 -1
  49. package/dist/src/rules/html-no-empty-headings.js +4 -3
  50. package/dist/src/rules/html-no-empty-headings.js.map +1 -1
  51. package/dist/src/rules/html-no-nested-links.js +4 -3
  52. package/dist/src/rules/html-no-nested-links.js.map +1 -1
  53. package/dist/src/rules/html-tag-name-lowercase.js +21 -11
  54. package/dist/src/rules/html-tag-name-lowercase.js.map +1 -1
  55. package/dist/src/rules/index.js +4 -0
  56. package/dist/src/rules/index.js.map +1 -1
  57. package/dist/src/rules/rule-utils.js +168 -2
  58. package/dist/src/rules/rule-utils.js.map +1 -1
  59. package/dist/src/rules/svg-tag-name-capitalization.js +58 -0
  60. package/dist/src/rules/svg-tag-name-capitalization.js.map +1 -0
  61. package/dist/src/types.js +15 -1
  62. package/dist/src/types.js.map +1 -1
  63. package/dist/tsconfig.tsbuildinfo +1 -1
  64. package/dist/types/linter.d.ts +20 -5
  65. package/dist/types/rules/erb-no-empty-tags.d.ts +4 -3
  66. package/dist/types/rules/erb-no-output-control-flow.d.ts +4 -3
  67. package/dist/types/rules/erb-prefer-image-tag-helper.d.ts +7 -0
  68. package/dist/types/rules/erb-require-whitespace-inside-tags.d.ts +4 -3
  69. package/dist/types/rules/erb-requires-trailing-newline.d.ts +6 -0
  70. package/dist/types/rules/html-anchor-require-href.d.ts +4 -3
  71. package/dist/types/rules/html-aria-attribute-must-be-valid.d.ts +4 -3
  72. package/dist/types/rules/html-aria-level-must-be-valid.d.ts +7 -0
  73. package/dist/types/rules/html-aria-role-heading-requires-level.d.ts +4 -3
  74. package/dist/types/rules/html-aria-role-must-be-valid.d.ts +4 -3
  75. package/dist/types/rules/html-attribute-double-quotes.d.ts +4 -3
  76. package/dist/types/rules/html-attribute-values-require-quotes.d.ts +4 -3
  77. package/dist/types/rules/html-boolean-attributes-no-value.d.ts +4 -3
  78. package/dist/types/rules/html-img-require-alt.d.ts +4 -3
  79. package/dist/types/rules/html-no-block-inside-inline.d.ts +4 -3
  80. package/dist/types/rules/html-no-duplicate-attributes.d.ts +4 -3
  81. package/dist/types/rules/html-no-duplicate-ids.d.ts +4 -3
  82. package/dist/types/rules/html-no-empty-headings.d.ts +4 -3
  83. package/dist/types/rules/html-no-nested-links.d.ts +4 -3
  84. package/dist/types/rules/html-tag-name-lowercase.d.ts +4 -3
  85. package/dist/types/rules/index.d.ts +4 -0
  86. package/dist/types/rules/rule-utils.d.ts +82 -4
  87. package/dist/types/rules/svg-tag-name-capitalization.d.ts +7 -0
  88. package/dist/types/src/linter.d.ts +20 -5
  89. package/dist/types/src/rules/erb-no-empty-tags.d.ts +4 -3
  90. package/dist/types/src/rules/erb-no-output-control-flow.d.ts +4 -3
  91. package/dist/types/src/rules/erb-prefer-image-tag-helper.d.ts +7 -0
  92. package/dist/types/src/rules/erb-require-whitespace-inside-tags.d.ts +4 -3
  93. package/dist/types/src/rules/erb-requires-trailing-newline.d.ts +6 -0
  94. package/dist/types/src/rules/html-anchor-require-href.d.ts +4 -3
  95. package/dist/types/src/rules/html-aria-attribute-must-be-valid.d.ts +4 -3
  96. package/dist/types/src/rules/html-aria-level-must-be-valid.d.ts +7 -0
  97. package/dist/types/src/rules/html-aria-role-heading-requires-level.d.ts +4 -3
  98. package/dist/types/src/rules/html-aria-role-must-be-valid.d.ts +4 -3
  99. package/dist/types/src/rules/html-attribute-double-quotes.d.ts +4 -3
  100. package/dist/types/src/rules/html-attribute-values-require-quotes.d.ts +4 -3
  101. package/dist/types/src/rules/html-boolean-attributes-no-value.d.ts +4 -3
  102. package/dist/types/src/rules/html-img-require-alt.d.ts +4 -3
  103. package/dist/types/src/rules/html-no-block-inside-inline.d.ts +4 -3
  104. package/dist/types/src/rules/html-no-duplicate-attributes.d.ts +4 -3
  105. package/dist/types/src/rules/html-no-duplicate-ids.d.ts +4 -3
  106. package/dist/types/src/rules/html-no-empty-headings.d.ts +4 -3
  107. package/dist/types/src/rules/html-no-nested-links.d.ts +4 -3
  108. package/dist/types/src/rules/html-tag-name-lowercase.d.ts +4 -3
  109. package/dist/types/src/rules/index.d.ts +4 -0
  110. package/dist/types/src/rules/rule-utils.d.ts +82 -4
  111. package/dist/types/src/rules/svg-tag-name-capitalization.d.ts +7 -0
  112. package/dist/types/src/types.d.ts +49 -6
  113. package/dist/types/types.d.ts +49 -6
  114. package/docs/rules/README.md +5 -1
  115. package/docs/rules/erb-prefer-image-tag-helper.md +65 -0
  116. package/docs/rules/erb-requires-trailing-newline.md +37 -0
  117. package/docs/rules/html-anchor-require-href.md +1 -1
  118. package/docs/rules/html-aria-level-must-be-valid.md +37 -0
  119. package/docs/rules/svg-tag-name-capitalization.md +57 -0
  120. package/package.json +4 -4
  121. package/src/cli/file-processor.ts +2 -4
  122. package/src/default-rules.ts +8 -0
  123. package/src/linter.ts +42 -8
  124. package/src/rules/erb-no-empty-tags.ts +5 -4
  125. package/src/rules/erb-no-output-control-flow.ts +6 -4
  126. package/src/rules/erb-prefer-image-tag-helper.ts +124 -0
  127. package/src/rules/erb-require-whitespace-inside-tags.ts +38 -6
  128. package/src/rules/erb-requires-trailing-newline.ts +27 -0
  129. package/src/rules/html-anchor-require-href.ts +5 -4
  130. package/src/rules/html-aria-attribute-must-be-valid.ts +5 -5
  131. package/src/rules/html-aria-level-must-be-valid.ts +42 -0
  132. package/src/rules/html-aria-role-heading-requires-level.ts +5 -4
  133. package/src/rules/html-aria-role-must-be-valid.ts +5 -4
  134. package/src/rules/html-attribute-double-quotes.ts +5 -4
  135. package/src/rules/html-attribute-values-require-quotes.ts +5 -4
  136. package/src/rules/html-boolean-attributes-no-value.ts +5 -4
  137. package/src/rules/html-img-require-alt.ts +5 -4
  138. package/src/rules/html-no-block-inside-inline.ts +5 -4
  139. package/src/rules/html-no-duplicate-attributes.ts +5 -4
  140. package/src/rules/html-no-duplicate-ids.ts +5 -5
  141. package/src/rules/html-no-empty-headings.ts +5 -4
  142. package/src/rules/html-no-nested-links.ts +5 -4
  143. package/src/rules/html-tag-name-lowercase.ts +29 -13
  144. package/src/rules/index.ts +4 -0
  145. package/src/rules/rule-utils.ts +203 -4
  146. package/src/rules/svg-tag-name-capitalization.ts +74 -0
  147. package/src/types.ts +60 -6
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/rules/rule-utils.ts","../src/rules/erb-no-empty-tags.ts","../src/rules/erb-no-output-control-flow.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-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/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],"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/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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"}
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@herb-tools/linter",
3
- "version": "0.4.1",
3
+ "version": "0.4.3",
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.1",
37
- "@herb-tools/highlighter": "0.4.1",
38
- "@herb-tools/node-wasm": "0.4.1",
36
+ "@herb-tools/core": "0.4.3",
37
+ "@herb-tools/highlighter": "0.4.3",
38
+ "@herb-tools/node-wasm": "0.4.3",
39
39
  "glob": "^11.0.3"
40
40
  },
41
41
  "files": [
@@ -26,10 +26,9 @@ export class FileProcessor {
26
26
  continue;
27
27
  }
28
28
  if (!this.linter) {
29
- this.linter = new Linter();
29
+ this.linter = new Linter(Herb);
30
30
  }
31
- const lintResult = this.linter.lint(parseResult.value);
32
- // Get rule count on first file
31
+ const lintResult = this.linter.lint(content, { fileName: filename });
33
32
  if (ruleCount === 0) {
34
33
  ruleCount = this.linter.getRuleCount();
35
34
  }
@@ -39,7 +38,6 @@ export class FileProcessor {
39
38
  }
40
39
  }
41
40
  else {
42
- // Collect messages for later display
43
41
  for (const offense of lintResult.offenses) {
44
42
  allDiagnostics.push({ filename, diagnostic: offense, content });
45
43
  const ruleData = ruleViolations.get(offense.rule) || { count: 0, files: new Set() };
@@ -1 +1 @@
1
- {"version":3,"file":"file-processor.js","sourceRoot":"","sources":["../../../src/cli/file-processor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file-processor.js","sourceRoot":"","sources":["../../../src/cli/file-processor.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,11 @@
1
1
  import { ERBNoEmptyTagsRule } from "./rules/erb-no-empty-tags.js";
2
2
  import { ERBNoOutputControlFlowRule } from "./rules/erb-no-output-control-flow.js";
3
+ import { ERBPreferImageTagHelperRule } from "./rules/erb-prefer-image-tag-helper.js";
4
+ import { ERBRequiresTrailingNewlineRule } from "./rules/erb-requires-trailing-newline.js";
3
5
  import { ERBRequireWhitespaceRule } from "./rules/erb-require-whitespace-inside-tags.js";
4
6
  import { HTMLAnchorRequireHrefRule } from "./rules/html-anchor-require-href.js";
5
7
  import { HTMLAriaAttributeMustBeValid } from "./rules/html-aria-attribute-must-be-valid.js";
8
+ import { HTMLAriaLevelMustBeValidRule } from "./rules/html-aria-level-must-be-valid.js";
6
9
  import { HTMLAriaRoleHeadingRequiresLevelRule } from "./rules/html-aria-role-heading-requires-level.js";
7
10
  import { HTMLAriaRoleMustBeValidRule } from "./rules/html-aria-role-must-be-valid.js";
8
11
  import { HTMLAttributeDoubleQuotesRule } from "./rules/html-attribute-double-quotes.js";
@@ -15,12 +18,16 @@ import { HTMLNoDuplicateIdsRule } from "./rules/html-no-duplicate-ids.js";
15
18
  import { HTMLNoEmptyHeadingsRule } from "./rules/html-no-empty-headings.js";
16
19
  import { HTMLNoNestedLinksRule } from "./rules/html-no-nested-links.js";
17
20
  import { HTMLTagNameLowercaseRule } from "./rules/html-tag-name-lowercase.js";
21
+ import { SVGTagNameCapitalizationRule } from "./rules/svg-tag-name-capitalization.js";
18
22
  export const defaultRules = [
19
23
  ERBNoEmptyTagsRule,
20
24
  ERBNoOutputControlFlowRule,
25
+ ERBPreferImageTagHelperRule,
26
+ ERBRequiresTrailingNewlineRule,
21
27
  ERBRequireWhitespaceRule,
22
28
  HTMLAnchorRequireHrefRule,
23
29
  HTMLAriaAttributeMustBeValid,
30
+ HTMLAriaLevelMustBeValidRule,
24
31
  HTMLAriaRoleHeadingRequiresLevelRule,
25
32
  HTMLAriaRoleMustBeValidRule,
26
33
  HTMLAttributeDoubleQuotesRule,
@@ -33,5 +40,6 @@ export const defaultRules = [
33
40
  HTMLNoEmptyHeadingsRule,
34
41
  HTMLNoNestedLinksRule,
35
42
  HTMLTagNameLowercaseRule,
43
+ SVGTagNameCapitalizationRule,
36
44
  ];
37
45
  //# sourceMappingURL=default-rules.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"default-rules.js","sourceRoot":"","sources":["../../src/default-rules.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AACjE,OAAO,EAAE,0BAA0B,EAAE,MAAM,uCAAuC,CAAA;AAClF,OAAO,EAAE,wBAAwB,EAAE,MAAM,+CAA+C,CAAA;AACxF,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAA;AAC/E,OAAO,EAAE,4BAA4B,EAAE,MAAM,8CAA8C,CAAA;AAC3F,OAAO,EAAE,oCAAoC,EAAE,MAAM,kDAAkD,CAAA;AACvG,OAAO,EAAE,2BAA2B,EAAE,MAAM,yCAAyC,CAAA;AACrF,OAAO,EAAE,6BAA6B,EAAE,MAAM,yCAAyC,CAAA;AACvF,OAAO,EAAE,oCAAoC,EAAE,MAAM,iDAAiD,CAAA;AACtG,OAAO,EAAE,gCAAgC,EAAE,MAAM,6CAA6C,CAAA;AAC9F,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAA;AACvE,uFAAuF;AACvF,OAAO,EAAE,6BAA6B,EAAE,MAAM,yCAAyC,CAAA;AACvF,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAA;AACzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAA;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAA;AACvE,OAAO,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAA;AAE7E,MAAM,CAAC,MAAM,YAAY,GAAgB;IACvC,kBAAkB;IAClB,0BAA0B;IAC1B,wBAAwB;IACxB,yBAAyB;IACzB,4BAA4B;IAC5B,oCAAoC;IACpC,2BAA2B;IAC3B,6BAA6B;IAC7B,oCAAoC;IACpC,gCAAgC;IAChC,qBAAqB;IACrB,+BAA+B;IAC/B,6BAA6B;IAC7B,sBAAsB;IACtB,uBAAuB;IACvB,qBAAqB;IACrB,wBAAwB;CACzB,CAAA"}
1
+ {"version":3,"file":"default-rules.js","sourceRoot":"","sources":["../../src/default-rules.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AACjE,OAAO,EAAE,0BAA0B,EAAE,MAAM,uCAAuC,CAAA;AAClF,OAAO,EAAE,2BAA2B,EAAE,MAAM,wCAAwC,CAAA;AACpF,OAAO,EAAE,8BAA8B,EAAE,MAAM,0CAA0C,CAAA;AACzF,OAAO,EAAE,wBAAwB,EAAE,MAAM,+CAA+C,CAAA;AACxF,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAA;AAC/E,OAAO,EAAE,4BAA4B,EAAE,MAAM,8CAA8C,CAAA;AAC3F,OAAO,EAAE,4BAA4B,EAAE,MAAM,0CAA0C,CAAA;AACvF,OAAO,EAAE,oCAAoC,EAAE,MAAM,kDAAkD,CAAA;AACvG,OAAO,EAAE,2BAA2B,EAAE,MAAM,yCAAyC,CAAA;AACrF,OAAO,EAAE,6BAA6B,EAAE,MAAM,yCAAyC,CAAA;AACvF,OAAO,EAAE,oCAAoC,EAAE,MAAM,iDAAiD,CAAA;AACtG,OAAO,EAAE,gCAAgC,EAAE,MAAM,6CAA6C,CAAA;AAC9F,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAA;AACvE,uFAAuF;AACvF,OAAO,EAAE,6BAA6B,EAAE,MAAM,yCAAyC,CAAA;AACvF,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAA;AACzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAA;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAA;AACvE,OAAO,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAA;AAC7E,OAAO,EAAE,4BAA4B,EAAE,MAAM,wCAAwC,CAAA;AAErF,MAAM,CAAC,MAAM,YAAY,GAAgB;IACvC,kBAAkB;IAClB,0BAA0B;IAC1B,2BAA2B;IAC3B,8BAA8B;IAC9B,wBAAwB;IACxB,yBAAyB;IACzB,4BAA4B;IAC5B,4BAA4B;IAC5B,oCAAoC;IACpC,2BAA2B;IAC3B,6BAA6B;IAC7B,oCAAoC;IACpC,gCAAgC;IAChC,qBAAqB;IACrB,+BAA+B;IAC/B,6BAA6B;IAC7B,sBAAsB;IACtB,uBAAuB;IACvB,qBAAqB;IACrB,wBAAwB;IACxB,4BAA4B;CAC7B,CAAA"}
@@ -1,12 +1,15 @@
1
1
  import { defaultRules } from "./default-rules.js";
2
2
  export class Linter {
3
3
  rules;
4
+ herb;
4
5
  offenses;
5
6
  /**
6
7
  * Creates a new Linter instance.
7
- * @param rules - Array of rule classes (not instances) to use. If not provided, uses default rules.
8
+ * @param herb - The Herb backend instance for parsing and lexing
9
+ * @param rules - Array of rule classes (Parser/AST or Lexer) to use. If not provided, uses default rules.
8
10
  */
9
- constructor(rules) {
11
+ constructor(herb, rules) {
12
+ this.herb = herb;
10
13
  this.rules = rules !== undefined ? rules : this.getDefaultRules();
11
14
  this.offenses = [];
12
15
  }
@@ -20,11 +23,39 @@ export class Linter {
20
23
  getRuleCount() {
21
24
  return this.rules.length;
22
25
  }
23
- lint(document) {
26
+ /**
27
+ * Type guard to check if a rule is a LexerRule
28
+ */
29
+ isLexerRule(rule) {
30
+ return rule.constructor.type === "lexer";
31
+ }
32
+ /**
33
+ * Type guard to check if a rule is a SourceRule
34
+ */
35
+ isSourceRule(rule) {
36
+ return rule.constructor.type === "source";
37
+ }
38
+ /**
39
+ * Lint source code using Parser/AST, Lexer, and Source rules.
40
+ * @param source - The source code to lint
41
+ * @param context - Optional context for linting (e.g., fileName for distinguishing files vs snippets)
42
+ */
43
+ lint(source, context) {
24
44
  this.offenses = [];
25
- for (const Rule of this.rules) {
26
- const rule = new Rule();
27
- const ruleOffenses = rule.check(document);
45
+ const parseResult = this.herb.parse(source);
46
+ const lexResult = this.herb.lex(source);
47
+ for (const RuleClass of this.rules) {
48
+ const rule = new RuleClass();
49
+ let ruleOffenses;
50
+ if (this.isLexerRule(rule)) {
51
+ ruleOffenses = rule.check(lexResult, context);
52
+ }
53
+ else if (this.isSourceRule(rule)) {
54
+ ruleOffenses = rule.check(source, context);
55
+ }
56
+ else {
57
+ ruleOffenses = rule.check(parseResult.value, context);
58
+ }
28
59
  this.offenses.push(...ruleOffenses);
29
60
  }
30
61
  const errors = this.offenses.filter(offense => offense.severity === "error").length;
@@ -1 +1 @@
1
- {"version":3,"file":"linter.js","sourceRoot":"","sources":["../../src/linter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAKjD,MAAM,OAAO,MAAM;IACT,KAAK,CAAa;IAClB,QAAQ,CAAe;IAE/B;;;OAGG;IACH,YAAY,KAAmB;QAC7B,IAAI,CAAC,KAAK,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,CAAA;QACjE,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAA;IACpB,CAAC;IAED;;;OAGG;IACK,eAAe;QACrB,OAAO,YAAY,CAAA;IACrB,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAA;IAC1B,CAAC;IAED,IAAI,CAAC,QAAsB;QACzB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAA;QAElB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAA;YACvB,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;YAEzC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAA;QACrC,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,MAAM,CAAA;QACnF,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,MAAM,CAAA;QAEvF,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,MAAM;YACN,QAAQ;SACT,CAAA;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"linter.js","sourceRoot":"","sources":["../../src/linter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAKjD,MAAM,OAAO,MAAM;IACT,KAAK,CAAa;IAClB,IAAI,CAAa;IACjB,QAAQ,CAAe;IAE/B;;;;OAIG;IACH,YAAY,IAAiB,EAAE,KAAmB;QAChD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,KAAK,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,CAAA;QACjE,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAA;IACpB,CAAC;IAED;;;OAGG;IACK,eAAe;QACrB,OAAO,YAAY,CAAA;IACrB,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAA;IAC1B,CAAC;IAED;;OAEG;IACK,WAAW,CAAC,IAAU;QAC5B,OAAQ,IAAI,CAAC,WAAmB,CAAC,IAAI,KAAK,OAAO,CAAA;IACnD,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,IAAU;QAC7B,OAAQ,IAAI,CAAC,WAAmB,CAAC,IAAI,KAAK,QAAQ,CAAA;IACpD,CAAC;IAED;;;;OAIG;IACH,IAAI,CAAC,MAAc,EAAE,OAA8B;QACjD,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAA;QAElB,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QAEvC,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACnC,MAAM,IAAI,GAAG,IAAI,SAAS,EAAE,CAAA;YAE5B,IAAI,YAA2B,CAAA;YAE/B,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3B,YAAY,GAAI,IAAkB,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;YAC9D,CAAC;iBAAM,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnC,YAAY,GAAI,IAAmB,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;YAC5D,CAAC;iBAAM,CAAC;gBACN,YAAY,GAAI,IAAmB,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;YACvE,CAAC;YAED,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAA;QACrC,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,MAAM,CAAA;QACnF,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,MAAM,CAAA;QAEvF,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,MAAM;YACN,QAAQ;SACT,CAAA;IACH,CAAC;CACF"}
@@ -1,4 +1,5 @@
1
1
  import { BaseRuleVisitor } from "./rule-utils.js";
2
+ import { ParserRule } from "../types.js";
2
3
  class ERBNoEmptyTagsVisitor extends BaseRuleVisitor {
3
4
  visitERBContentNode(node) {
4
5
  this.visitChildNodes(node);
@@ -12,10 +13,10 @@ class ERBNoEmptyTagsVisitor extends BaseRuleVisitor {
12
13
  this.addOffense("ERB tag should not be empty. Remove empty ERB tags or add content.", node.location, "error");
13
14
  }
14
15
  }
15
- export class ERBNoEmptyTagsRule {
16
+ export class ERBNoEmptyTagsRule extends ParserRule {
16
17
  name = "erb-no-empty-tags";
17
- check(node) {
18
- const visitor = new ERBNoEmptyTagsVisitor(this.name);
18
+ check(node, context) {
19
+ const visitor = new ERBNoEmptyTagsVisitor(this.name, context);
19
20
  visitor.visit(node);
20
21
  return visitor.offenses;
21
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"erb-no-empty-tags.js","sourceRoot":"","sources":["../../../src/rules/erb-no-empty-tags.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAKjD,MAAM,qBAAsB,SAAQ,eAAe;IACjD,mBAAmB,CAAC,IAAoB;QACtC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;QAE1B,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,IAAI,CAAA;QAErC,IAAI,CAAC,OAAO;YAAE,OAAM;QACpB,IAAI,WAAW,EAAE,KAAK,KAAK,EAAE;YAAE,OAAM;QACrC,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;YAAE,OAAM;QAE3C,IAAI,CAAC,UAAU,CACb,oEAAoE,EACpE,IAAI,CAAC,QAAQ,EACb,OAAO,CACR,CAAA;IACH,CAAC;CACF;AAED,MAAM,OAAO,kBAAkB;IAC7B,IAAI,GAAG,mBAAmB,CAAA;IAE1B,KAAK,CAAC,IAAU;QACd,MAAM,OAAO,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAEpD,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAEnB,OAAO,OAAO,CAAC,QAAQ,CAAA;IACzB,CAAC;CACF"}
1
+ {"version":3,"file":"erb-no-empty-tags.js","sourceRoot":"","sources":["../../../src/rules/erb-no-empty-tags.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEjD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAIxC,MAAM,qBAAsB,SAAQ,eAAe;IACjD,mBAAmB,CAAC,IAAoB;QACtC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;QAE1B,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,IAAI,CAAA;QAErC,IAAI,CAAC,OAAO;YAAE,OAAM;QACpB,IAAI,WAAW,EAAE,KAAK,KAAK,EAAE;YAAE,OAAM;QACrC,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;YAAE,OAAM;QAE3C,IAAI,CAAC,UAAU,CACb,oEAAoE,EACpE,IAAI,CAAC,QAAQ,EACb,OAAO,CACR,CAAA;IACH,CAAC;CACF;AAED,MAAM,OAAO,kBAAmB,SAAQ,UAAU;IAChD,IAAI,GAAG,mBAAmB,CAAA;IAE1B,KAAK,CAAC,IAAU,EAAE,OAA8B;QAC9C,MAAM,OAAO,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAE7D,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAEnB,OAAO,OAAO,CAAC,QAAQ,CAAA;IACzB,CAAC;CACF"}
@@ -1,4 +1,5 @@
1
1
  import { BaseRuleVisitor } from "./rule-utils.js";
2
+ import { ParserRule } from "../types.js";
2
3
  class ERBNoOutputControlFlowRuleVisitor extends BaseRuleVisitor {
3
4
  visitERBIfNode(node) {
4
5
  this.checkOutputControlFlow(node);
@@ -36,10 +37,10 @@ class ERBNoOutputControlFlowRuleVisitor extends BaseRuleVisitor {
36
37
  return;
37
38
  }
38
39
  }
39
- export class ERBNoOutputControlFlowRule {
40
+ export class ERBNoOutputControlFlowRule extends ParserRule {
40
41
  name = "erb-no-output-control-flow";
41
- check(node) {
42
- const visitor = new ERBNoOutputControlFlowRuleVisitor(this.name);
42
+ check(node, context) {
43
+ const visitor = new ERBNoOutputControlFlowRuleVisitor(this.name, context);
43
44
  visitor.visit(node);
44
45
  return visitor.offenses;
45
46
  }
@@ -1 +1 @@
1
- {"version":3,"file":"erb-no-output-control-flow.js","sourceRoot":"","sources":["../../../src/rules/erb-no-output-control-flow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAKjD,MAAM,iCAAkC,SAAQ,eAAe;IAC7D,cAAc,CAAC,IAAe;QAC5B,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAA;QACjC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;IAC5B,CAAC;IAED,kBAAkB,CAAC,IAAmB;QACpC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAA;QACjC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;IAC5B,CAAC;IAED,gBAAgB,CAAC,IAAiB;QAChC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAA;QACjC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;IAC5B,CAAC;IAED,eAAe,CAAC,IAAgB;QAC9B,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAA;QACjC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;IAC5B,CAAC;IAEO,sBAAsB,CAAC,YAAkE;QAC/F,MAAM,OAAO,GAAG,YAAY,CAAC,WAAW,CAAC;QACzC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAM;QACR,CAAC;QAED,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK,EAAC,CAAC;YAC3B,IAAI,gBAAgB,GAAW,YAAY,CAAC,IAAI,CAAA;YAEhD,IAAI,YAAY,CAAC,IAAI,KAAK,iBAAiB;gBAAE,gBAAgB,GAAG,IAAI,CAAA;YACpE,IAAI,YAAY,CAAC,IAAI,KAAK,mBAAmB;gBAAE,gBAAgB,GAAG,MAAM,CAAA;YACxE,IAAI,YAAY,CAAC,IAAI,KAAK,kBAAkB;gBAAE,gBAAgB,GAAG,KAAK,CAAA;YACtE,IAAI,YAAY,CAAC,IAAI,KAAK,qBAAqB;gBAAE,gBAAgB,GAAG,QAAQ,CAAA;YAE5E,IAAI,CAAC,UAAU,CACb,kCAAkC,gBAAgB,oDAAoD,gBAAgB,oBAAoB,EAC1I,OAAO,CAAC,QAAQ,EAChB,OAAO,CACR,CAAA;QACH,CAAC;QAED,OAAM;IACR,CAAC;CACF;AAED,MAAM,OAAO,0BAA0B;IACrC,IAAI,GAAG,4BAA4B,CAAA;IACnC,KAAK,CAAC,IAAU;QACd,MAAM,OAAO,GAAG,IAAI,iCAAiC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAEhE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAEnB,OAAO,OAAO,CAAC,QAAQ,CAAA;IACzB,CAAC;CACF"}
1
+ {"version":3,"file":"erb-no-output-control-flow.js","sourceRoot":"","sources":["../../../src/rules/erb-no-output-control-flow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAGjD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAGxC,MAAM,iCAAkC,SAAQ,eAAe;IAC7D,cAAc,CAAC,IAAe;QAC5B,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAA;QACjC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;IAC5B,CAAC;IAED,kBAAkB,CAAC,IAAmB;QACpC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAA;QACjC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;IAC5B,CAAC;IAED,gBAAgB,CAAC,IAAiB;QAChC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAA;QACjC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;IAC5B,CAAC;IAED,eAAe,CAAC,IAAgB;QAC9B,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAA;QACjC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;IAC5B,CAAC;IAEO,sBAAsB,CAAC,YAAkE;QAC/F,MAAM,OAAO,GAAG,YAAY,CAAC,WAAW,CAAC;QACzC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAM;QACR,CAAC;QAED,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK,EAAC,CAAC;YAC3B,IAAI,gBAAgB,GAAW,YAAY,CAAC,IAAI,CAAA;YAEhD,IAAI,YAAY,CAAC,IAAI,KAAK,iBAAiB;gBAAE,gBAAgB,GAAG,IAAI,CAAA;YACpE,IAAI,YAAY,CAAC,IAAI,KAAK,mBAAmB;gBAAE,gBAAgB,GAAG,MAAM,CAAA;YACxE,IAAI,YAAY,CAAC,IAAI,KAAK,kBAAkB;gBAAE,gBAAgB,GAAG,KAAK,CAAA;YACtE,IAAI,YAAY,CAAC,IAAI,KAAK,qBAAqB;gBAAE,gBAAgB,GAAG,QAAQ,CAAA;YAE5E,IAAI,CAAC,UAAU,CACb,kCAAkC,gBAAgB,oDAAoD,gBAAgB,oBAAoB,EAC1I,OAAO,CAAC,QAAQ,EAChB,OAAO,CACR,CAAA;QACH,CAAC;QAED,OAAM;IACR,CAAC;CACF;AAED,MAAM,OAAO,0BAA2B,SAAQ,UAAU;IACxD,IAAI,GAAG,4BAA4B,CAAA;IAEnC,KAAK,CAAC,IAAU,EAAE,OAA8B;QAC9C,MAAM,OAAO,GAAG,IAAI,iCAAiC,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAEzE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAEnB,OAAO,OAAO,CAAC,QAAQ,CAAA;IACzB,CAAC;CACF"}
@@ -0,0 +1,93 @@
1
+ import { BaseRuleVisitor, getTagName, findAttributeByName, getAttributes } from "./rule-utils.js";
2
+ import { ParserRule } from "../types.js";
3
+ class ERBPreferImageTagHelperVisitor extends BaseRuleVisitor {
4
+ visitHTMLOpenTagNode(node) {
5
+ this.checkImgTag(node);
6
+ super.visitHTMLOpenTagNode(node);
7
+ }
8
+ visitHTMLSelfCloseTagNode(node) {
9
+ this.checkImgTag(node);
10
+ super.visitHTMLSelfCloseTagNode(node);
11
+ }
12
+ checkImgTag(node) {
13
+ const tagName = getTagName(node);
14
+ if (tagName !== "img") {
15
+ return;
16
+ }
17
+ const attributes = getAttributes(node);
18
+ const srcAttribute = findAttributeByName(attributes, "src");
19
+ if (!srcAttribute) {
20
+ return;
21
+ }
22
+ if (!srcAttribute.value) {
23
+ return;
24
+ }
25
+ const valueNode = srcAttribute.value;
26
+ const hasERBContent = this.containsERBContent(valueNode);
27
+ if (hasERBContent) {
28
+ const suggestedExpression = this.buildSuggestedExpression(valueNode);
29
+ this.addOffense(`Prefer \`image_tag\` helper over manual \`<img>\` with dynamic ERB expressions. Use \`<%= image_tag ${suggestedExpression}, alt: "..." %>\` instead.`, srcAttribute.location, "warning");
30
+ }
31
+ }
32
+ containsERBContent(valueNode) {
33
+ if (!valueNode.children)
34
+ return false;
35
+ return valueNode.children.some(child => child.type === "AST_ERB_CONTENT_NODE");
36
+ }
37
+ buildSuggestedExpression(valueNode) {
38
+ if (!valueNode.children)
39
+ return "expression";
40
+ let hasText = false;
41
+ let hasERB = false;
42
+ for (const child of valueNode.children) {
43
+ if (child.type === "AST_ERB_CONTENT_NODE") {
44
+ hasERB = true;
45
+ }
46
+ else if (child.type === "AST_LITERAL_NODE") {
47
+ const literalNode = child;
48
+ if (literalNode.content && literalNode.content.trim()) {
49
+ hasText = true;
50
+ }
51
+ }
52
+ }
53
+ if (hasText && hasERB) {
54
+ let result = '"';
55
+ for (const child of valueNode.children) {
56
+ if (child.type === "AST_ERB_CONTENT_NODE") {
57
+ const erbNode = child;
58
+ result += `#{${(erbNode.content?.value || "").trim()}}`;
59
+ }
60
+ else if (child.type === "AST_LITERAL_NODE") {
61
+ const literalNode = child;
62
+ result += literalNode.content || "";
63
+ }
64
+ }
65
+ result += '"';
66
+ return result;
67
+ }
68
+ if (hasERB && !hasText) {
69
+ const erbNodes = valueNode.children.filter(child => child.type === "AST_ERB_CONTENT_NODE");
70
+ if (erbNodes.length === 1) {
71
+ return (erbNodes[0].content?.value || "").trim();
72
+ }
73
+ else if (erbNodes.length > 1) {
74
+ let result = '"';
75
+ for (const erbNode of erbNodes) {
76
+ result += `#{${(erbNode.content?.value || "").trim()}}`;
77
+ }
78
+ result += '"';
79
+ return result;
80
+ }
81
+ }
82
+ return "expression";
83
+ }
84
+ }
85
+ export class ERBPreferImageTagHelperRule extends ParserRule {
86
+ name = "erb-prefer-image-tag-helper";
87
+ check(node, context) {
88
+ const visitor = new ERBPreferImageTagHelperVisitor(this.name, context);
89
+ visitor.visit(node);
90
+ return visitor.offenses;
91
+ }
92
+ }
93
+ //# sourceMappingURL=erb-prefer-image-tag-helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"erb-prefer-image-tag-helper.js","sourceRoot":"","sources":["../../../src/rules/erb-prefer-image-tag-helper.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { isERBNode } from "@herb-tools/core";
2
+ import { ParserRule } from "../types.js";
2
3
  import { BaseRuleVisitor } from "./rule-utils.js";
3
4
  class RequireWhitespaceInsideTags extends BaseRuleVisitor {
4
5
  visitChildNodes(node) {
@@ -16,8 +17,24 @@ class RequireWhitespaceInsideTags extends BaseRuleVisitor {
16
17
  return;
17
18
  }
18
19
  const value = content.value;
19
- this.checkOpenTagWhitespace(openTag, value);
20
- this.checkCloseTagWhitespace(closeTag, value);
20
+ if (openTag.value === "<%#") {
21
+ this.checkCommentTagWhitespace(openTag, closeTag, value);
22
+ }
23
+ else {
24
+ this.checkOpenTagWhitespace(openTag, value);
25
+ this.checkCloseTagWhitespace(closeTag, value);
26
+ }
27
+ }
28
+ checkCommentTagWhitespace(openTag, closeTag, content) {
29
+ if (!content.startsWith(" ") && !content.startsWith("\n") && !content.startsWith("=")) {
30
+ this.addOffense(`Add whitespace after \`${openTag.value}\`.`, openTag.location, "error");
31
+ }
32
+ else if (content.startsWith("=") && content.length > 1 && !content[1].match(/\s/)) {
33
+ this.addOffense(`Add whitespace after \`<%#=\`.`, openTag.location, "error");
34
+ }
35
+ if (!content.endsWith(" ") && !content.endsWith("\n")) {
36
+ this.addOffense(`Add whitespace before \`${closeTag.value}\`.`, closeTag.location, "error");
37
+ }
21
38
  }
22
39
  checkOpenTagWhitespace(openTag, content) {
23
40
  if (content.startsWith(" ") || content.startsWith("\n")) {
@@ -32,10 +49,10 @@ class RequireWhitespaceInsideTags extends BaseRuleVisitor {
32
49
  this.addOffense(`Add whitespace before \`${closeTag.value}\`.`, closeTag.location, "error");
33
50
  }
34
51
  }
35
- export class ERBRequireWhitespaceRule {
52
+ export class ERBRequireWhitespaceRule extends ParserRule {
36
53
  name = "erb-require-whitespace-inside-tags";
37
- check(node) {
38
- const visitor = new RequireWhitespaceInsideTags(this.name);
54
+ check(node, context) {
55
+ const visitor = new RequireWhitespaceInsideTags(this.name, context);
39
56
  visitor.visit(node);
40
57
  return visitor.offenses;
41
58
  }
@@ -1 +1 @@
1
- {"version":3,"file":"erb-require-whitespace-inside-tags.js","sourceRoot":"","sources":["../../../src/rules/erb-require-whitespace-inside-tags.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEjD,MAAM,2BAA4B,SAAQ,eAAe;IAEvD,eAAe,CAAC,IAAU;QACxB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;QAC1B,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;IAC7B,CAAC;IAEO,eAAe,CAAC,IAAU;QAChC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YACrB,OAAM;QACR,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAA;QAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAA;QACjC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAE5B,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ,IAAI,CAAC,OAAO,EAAE,CAAC;YACtC,OAAM;QACR,CAAC;QAED,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;QAE3B,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;QAC3C,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;IAC/C,CAAC;IAEO,sBAAsB,CAAC,OAAc,EAAE,OAAc;QAC3D,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACxD,OAAM;QACR,CAAC;QACD,IAAI,CAAC,UAAU,CACb,0BAA0B,OAAO,CAAC,KAAK,KAAK,EAC5C,OAAO,CAAC,QAAQ,EAChB,OAAO,CACR,CAAA;IACH,CAAC;IAEO,uBAAuB,CAAC,QAAe,EAAE,OAAc;QAC7D,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACpD,OAAM;QACR,CAAC;QACD,IAAI,CAAC,UAAU,CACb,2BAA2B,QAAQ,CAAC,KAAK,KAAK,EAC9C,QAAQ,CAAC,QAAQ,EACjB,OAAO,CACR,CAAA;IACH,CAAC;CACF;AAED,MAAM,OAAO,wBAAwB;IACnC,IAAI,GAAG,oCAAoC,CAAA;IAC3C,KAAK,CAAC,IAAU;QACd,MAAM,OAAO,GAAG,IAAI,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC1D,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACnB,OAAO,OAAO,CAAC,QAAQ,CAAA;IACzB,CAAC;CACF"}
1
+ {"version":3,"file":"erb-require-whitespace-inside-tags.js","sourceRoot":"","sources":["../../../src/rules/erb-require-whitespace-inside-tags.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import { BaseSourceRuleVisitor, createEndOfFileLocation } from "./rule-utils.js";
2
+ import { SourceRule } from "../types.js";
3
+ class ERBRequiresTrailingNewlineVisitor extends BaseSourceRuleVisitor {
4
+ visitSource(source) {
5
+ if (source.length === 0)
6
+ return;
7
+ if (source.endsWith('\n'))
8
+ return;
9
+ if (!this.context.fileName)
10
+ return;
11
+ this.addOffense("File must end with trailing newline", createEndOfFileLocation(source), "error");
12
+ }
13
+ }
14
+ export class ERBRequiresTrailingNewlineRule extends SourceRule {
15
+ name = "erb-requires-trailing-newline";
16
+ check(source, context) {
17
+ const visitor = new ERBRequiresTrailingNewlineVisitor(this.name, context);
18
+ visitor.visit(source);
19
+ return visitor.offenses;
20
+ }
21
+ }
22
+ //# sourceMappingURL=erb-requires-trailing-newline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"erb-requires-trailing-newline.js","sourceRoot":"","sources":["../../../src/rules/erb-requires-trailing-newline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;AAChF,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAGxC,MAAM,iCAAkC,SAAQ,qBAAqB;IACzD,WAAW,CAAC,MAAc;QAClC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAM;QAC/B,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,OAAM;QACjC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ;YAAE,OAAM;QAElC,IAAI,CAAC,UAAU,CACb,qCAAqC,EACrC,uBAAuB,CAAC,MAAM,CAAC,EAC/B,OAAO,CACR,CAAA;IACH,CAAC;CACF;AAED,MAAM,OAAO,8BAA+B,SAAQ,UAAU;IAC5D,IAAI,GAAG,+BAA+B,CAAA;IAEtC,KAAK,CAAC,MAAc,EAAE,OAA8B;QAClD,MAAM,OAAO,GAAG,IAAI,iCAAiC,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QACzE,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QACrB,OAAO,OAAO,CAAC,QAAQ,CAAA;IACzB,CAAC;CACF"}
@@ -1,4 +1,5 @@
1
1
  import { BaseRuleVisitor, getTagName, hasAttribute } from "./rule-utils.js";
2
+ import { ParserRule } from "../types.js";
2
3
  class AnchorRechireHrefVisitor extends BaseRuleVisitor {
3
4
  visitHTMLOpenTagNode(node) {
4
5
  this.checkATag(node);
@@ -14,10 +15,10 @@ class AnchorRechireHrefVisitor extends BaseRuleVisitor {
14
15
  }
15
16
  }
16
17
  }
17
- export class HTMLAnchorRequireHrefRule {
18
+ export class HTMLAnchorRequireHrefRule extends ParserRule {
18
19
  name = "html-anchor-require-href";
19
- check(node) {
20
- const visitor = new AnchorRechireHrefVisitor(this.name);
20
+ check(node, context) {
21
+ const visitor = new AnchorRechireHrefVisitor(this.name, context);
21
22
  visitor.visit(node);
22
23
  return visitor.offenses;
23
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"html-anchor-require-href.js","sourceRoot":"","sources":["../../../src/rules/html-anchor-require-href.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAK3E,MAAM,wBAAyB,SAAQ,eAAe;IACpD,oBAAoB,CAAC,IAAqB;QACxC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QACpB,KAAK,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAA;IAClC,CAAC;IAEO,SAAS,CAAC,IAAqB;QACrC,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;QAEhC,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;YACpB,OAAM;QACR,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC;YAChC,IAAI,CAAC,UAAU,CACb,4EAA4E,EAC5E,IAAI,CAAC,QAAS,CAAC,QAAQ,EACvB,OAAO,CACR,CAAA;QACH,CAAC;IACH,CAAC;CACF;AAED,MAAM,OAAO,yBAAyB;IACpC,IAAI,GAAG,0BAA0B,CAAA;IAEjC,KAAK,CAAC,IAAU;QACd,MAAM,OAAO,GAAG,IAAI,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAEvD,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAEnB,OAAO,OAAO,CAAC,QAAQ,CAAA;IACzB,CAAC;CACF"}
1
+ {"version":3,"file":"html-anchor-require-href.js","sourceRoot":"","sources":["../../../src/rules/html-anchor-require-href.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAE3E,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAIxC,MAAM,wBAAyB,SAAQ,eAAe;IACpD,oBAAoB,CAAC,IAAqB;QACxC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QACpB,KAAK,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAA;IAClC,CAAC;IAEO,SAAS,CAAC,IAAqB;QACrC,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;QAEhC,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;YACpB,OAAM;QACR,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC;YAChC,IAAI,CAAC,UAAU,CACb,4EAA4E,EAC5E,IAAI,CAAC,QAAS,CAAC,QAAQ,EACvB,OAAO,CACR,CAAA;QACH,CAAC;IACH,CAAC;CACF;AAED,MAAM,OAAO,yBAA0B,SAAQ,UAAU;IACvD,IAAI,GAAG,0BAA0B,CAAA;IAEjC,KAAK,CAAC,IAAU,EAAE,OAA8B;QAC9C,MAAM,OAAO,GAAG,IAAI,wBAAwB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAEhE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAEnB,OAAO,OAAO,CAAC,QAAQ,CAAA;IACzB,CAAC;CACF"}