@herb-tools/linter 0.4.2 → 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.
- package/README.md +16 -2
- package/dist/herb-lint.js +426 -116
- package/dist/herb-lint.js.map +1 -1
- package/dist/index.cjs +322 -61
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +317 -63
- package/dist/index.js.map +1 -1
- package/dist/package.json +4 -4
- package/dist/src/cli/file-processor.js +2 -4
- package/dist/src/cli/file-processor.js.map +1 -1
- package/dist/src/default-rules.js +6 -0
- package/dist/src/default-rules.js.map +1 -1
- package/dist/src/linter.js +37 -6
- package/dist/src/linter.js.map +1 -1
- package/dist/src/rules/erb-no-empty-tags.js +4 -3
- package/dist/src/rules/erb-no-empty-tags.js.map +1 -1
- package/dist/src/rules/erb-no-output-control-flow.js +4 -3
- package/dist/src/rules/erb-no-output-control-flow.js.map +1 -1
- package/dist/src/rules/erb-prefer-image-tag-helper.js +93 -0
- package/dist/src/rules/erb-prefer-image-tag-helper.js.map +1 -0
- package/dist/src/rules/erb-require-whitespace-inside-tags.js +4 -3
- package/dist/src/rules/erb-require-whitespace-inside-tags.js.map +1 -1
- package/dist/src/rules/erb-requires-trailing-newline.js +22 -0
- package/dist/src/rules/erb-requires-trailing-newline.js.map +1 -0
- package/dist/src/rules/html-anchor-require-href.js +4 -3
- package/dist/src/rules/html-anchor-require-href.js.map +1 -1
- package/dist/src/rules/html-aria-attribute-must-be-valid.js +4 -3
- package/dist/src/rules/html-aria-attribute-must-be-valid.js.map +1 -1
- package/dist/src/rules/html-aria-level-must-be-valid.js +27 -0
- package/dist/src/rules/html-aria-level-must-be-valid.js.map +1 -0
- package/dist/src/rules/html-aria-role-heading-requires-level.js +4 -3
- package/dist/src/rules/html-aria-role-heading-requires-level.js.map +1 -1
- package/dist/src/rules/html-aria-role-must-be-valid.js +4 -3
- package/dist/src/rules/html-aria-role-must-be-valid.js.map +1 -1
- package/dist/src/rules/html-attribute-double-quotes.js +4 -3
- package/dist/src/rules/html-attribute-double-quotes.js.map +1 -1
- package/dist/src/rules/html-attribute-values-require-quotes.js +4 -3
- package/dist/src/rules/html-attribute-values-require-quotes.js.map +1 -1
- package/dist/src/rules/html-boolean-attributes-no-value.js +4 -3
- package/dist/src/rules/html-boolean-attributes-no-value.js.map +1 -1
- package/dist/src/rules/html-img-require-alt.js +4 -3
- package/dist/src/rules/html-img-require-alt.js.map +1 -1
- package/dist/src/rules/html-no-block-inside-inline.js +4 -3
- package/dist/src/rules/html-no-block-inside-inline.js.map +1 -1
- package/dist/src/rules/html-no-duplicate-attributes.js +4 -3
- package/dist/src/rules/html-no-duplicate-attributes.js.map +1 -1
- package/dist/src/rules/html-no-duplicate-ids.js +4 -3
- package/dist/src/rules/html-no-duplicate-ids.js.map +1 -1
- package/dist/src/rules/html-no-empty-headings.js +4 -3
- package/dist/src/rules/html-no-empty-headings.js.map +1 -1
- package/dist/src/rules/html-no-nested-links.js +4 -3
- package/dist/src/rules/html-no-nested-links.js.map +1 -1
- package/dist/src/rules/html-tag-name-lowercase.js +4 -3
- package/dist/src/rules/html-tag-name-lowercase.js.map +1 -1
- package/dist/src/rules/index.js +3 -0
- package/dist/src/rules/index.js.map +1 -1
- package/dist/src/rules/rule-utils.js +125 -2
- package/dist/src/rules/rule-utils.js.map +1 -1
- package/dist/src/rules/svg-tag-name-capitalization.js +4 -3
- package/dist/src/rules/svg-tag-name-capitalization.js.map +1 -1
- package/dist/src/types.js +15 -1
- package/dist/src/types.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/linter.d.ts +20 -5
- package/dist/types/rules/erb-no-empty-tags.d.ts +4 -3
- package/dist/types/rules/erb-no-output-control-flow.d.ts +4 -3
- package/dist/types/rules/erb-prefer-image-tag-helper.d.ts +7 -0
- package/dist/types/rules/erb-require-whitespace-inside-tags.d.ts +4 -3
- package/dist/types/rules/erb-requires-trailing-newline.d.ts +6 -0
- package/dist/types/rules/html-anchor-require-href.d.ts +4 -3
- package/dist/types/rules/html-aria-attribute-must-be-valid.d.ts +4 -3
- package/dist/types/rules/html-aria-level-must-be-valid.d.ts +7 -0
- package/dist/types/rules/html-aria-role-heading-requires-level.d.ts +4 -3
- package/dist/types/rules/html-aria-role-must-be-valid.d.ts +4 -3
- package/dist/types/rules/html-attribute-double-quotes.d.ts +4 -3
- package/dist/types/rules/html-attribute-values-require-quotes.d.ts +4 -3
- package/dist/types/rules/html-boolean-attributes-no-value.d.ts +4 -3
- package/dist/types/rules/html-img-require-alt.d.ts +4 -3
- package/dist/types/rules/html-no-block-inside-inline.d.ts +4 -3
- package/dist/types/rules/html-no-duplicate-attributes.d.ts +4 -3
- package/dist/types/rules/html-no-duplicate-ids.d.ts +4 -3
- package/dist/types/rules/html-no-empty-headings.d.ts +4 -3
- package/dist/types/rules/html-no-nested-links.d.ts +4 -3
- package/dist/types/rules/html-tag-name-lowercase.d.ts +4 -3
- package/dist/types/rules/index.d.ts +3 -0
- package/dist/types/rules/rule-utils.d.ts +73 -4
- package/dist/types/rules/svg-tag-name-capitalization.d.ts +4 -3
- package/dist/types/src/linter.d.ts +20 -5
- package/dist/types/src/rules/erb-no-empty-tags.d.ts +4 -3
- package/dist/types/src/rules/erb-no-output-control-flow.d.ts +4 -3
- package/dist/types/src/rules/erb-prefer-image-tag-helper.d.ts +7 -0
- package/dist/types/src/rules/erb-require-whitespace-inside-tags.d.ts +4 -3
- package/dist/types/src/rules/erb-requires-trailing-newline.d.ts +6 -0
- package/dist/types/src/rules/html-anchor-require-href.d.ts +4 -3
- package/dist/types/src/rules/html-aria-attribute-must-be-valid.d.ts +4 -3
- package/dist/types/src/rules/html-aria-level-must-be-valid.d.ts +7 -0
- package/dist/types/src/rules/html-aria-role-heading-requires-level.d.ts +4 -3
- package/dist/types/src/rules/html-aria-role-must-be-valid.d.ts +4 -3
- package/dist/types/src/rules/html-attribute-double-quotes.d.ts +4 -3
- package/dist/types/src/rules/html-attribute-values-require-quotes.d.ts +4 -3
- package/dist/types/src/rules/html-boolean-attributes-no-value.d.ts +4 -3
- package/dist/types/src/rules/html-img-require-alt.d.ts +4 -3
- package/dist/types/src/rules/html-no-block-inside-inline.d.ts +4 -3
- package/dist/types/src/rules/html-no-duplicate-attributes.d.ts +4 -3
- package/dist/types/src/rules/html-no-duplicate-ids.d.ts +4 -3
- package/dist/types/src/rules/html-no-empty-headings.d.ts +4 -3
- package/dist/types/src/rules/html-no-nested-links.d.ts +4 -3
- package/dist/types/src/rules/html-tag-name-lowercase.d.ts +4 -3
- package/dist/types/src/rules/index.d.ts +3 -0
- package/dist/types/src/rules/rule-utils.d.ts +73 -4
- package/dist/types/src/rules/svg-tag-name-capitalization.d.ts +4 -3
- package/dist/types/src/types.d.ts +49 -6
- package/dist/types/types.d.ts +49 -6
- package/docs/rules/README.md +4 -1
- package/docs/rules/erb-prefer-image-tag-helper.md +65 -0
- package/docs/rules/erb-requires-trailing-newline.md +37 -0
- package/docs/rules/html-anchor-require-href.md +1 -1
- package/docs/rules/html-aria-level-must-be-valid.md +37 -0
- package/package.json +4 -4
- package/src/cli/file-processor.ts +2 -4
- package/src/default-rules.ts +6 -0
- package/src/linter.ts +42 -8
- package/src/rules/erb-no-empty-tags.ts +5 -4
- package/src/rules/erb-no-output-control-flow.ts +6 -4
- package/src/rules/erb-prefer-image-tag-helper.ts +124 -0
- package/src/rules/erb-require-whitespace-inside-tags.ts +5 -4
- package/src/rules/erb-requires-trailing-newline.ts +27 -0
- package/src/rules/html-anchor-require-href.ts +5 -4
- package/src/rules/html-aria-attribute-must-be-valid.ts +5 -5
- package/src/rules/html-aria-level-must-be-valid.ts +42 -0
- package/src/rules/html-aria-role-heading-requires-level.ts +5 -4
- package/src/rules/html-aria-role-must-be-valid.ts +5 -4
- package/src/rules/html-attribute-double-quotes.ts +5 -4
- package/src/rules/html-attribute-values-require-quotes.ts +5 -4
- package/src/rules/html-boolean-attributes-no-value.ts +5 -4
- package/src/rules/html-img-require-alt.ts +5 -4
- package/src/rules/html-no-block-inside-inline.ts +5 -4
- package/src/rules/html-no-duplicate-attributes.ts +5 -4
- package/src/rules/html-no-duplicate-ids.ts +5 -5
- package/src/rules/html-no-empty-headings.ts +5 -4
- package/src/rules/html-no-nested-links.ts +5 -4
- package/src/rules/html-tag-name-lowercase.ts +5 -4
- package/src/rules/index.ts +3 -0
- package/src/rules/rule-utils.ts +156 -4
- package/src/rules/svg-tag-name-capitalization.ts +5 -4
- 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/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],"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.
|
|
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.
|
|
37
|
-
"@herb-tools/highlighter": "0.4.
|
|
38
|
-
"@herb-tools/node-wasm": "0.4.
|
|
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(
|
|
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":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAA;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAC9B,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAA;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAkBlD,MAAM,OAAO,aAAa;IAChB,MAAM,GAAkB,IAAI,CAAA;IAEpC,KAAK,CAAC,YAAY,CAAC,KAAe;QAChC,IAAI,WAAW,GAAG,CAAC,CAAA;QACnB,IAAI,aAAa,GAAG,CAAC,CAAA;QACrB,IAAI,eAAe,GAAG,CAAC,CAAA;QACvB,IAAI,SAAS,GAAG,CAAC,CAAA;QACjB,MAAM,cAAc,GAAoB,EAAE,CAAA;QAC1C,MAAM,cAAc,GAAG,IAAI,GAAG,EAAiD,CAAA;QAE/E,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE,CAAC;YAC7B,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;YAClC,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;YAE/C,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YAEvC,IAAI,WAAW,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAClC,OAAO,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,QAAQ,CAAC,eAAe,EAAE,WAAW,CAAC,EAAE,CAAC,CAAA;gBAE1F,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;oBACvC,OAAO,CAAC,KAAK,CAAC,KAAK,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;gBACnE,CAAC;gBAED,WAAW,EAAE,CAAA;gBACb,eAAe,EAAE,CAAA;gBACjB,SAAQ;YACV,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACjB,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,
|
|
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";
|
|
@@ -19,9 +22,12 @@ import { SVGTagNameCapitalizationRule } from "./rules/svg-tag-name-capitalizatio
|
|
|
19
22
|
export const defaultRules = [
|
|
20
23
|
ERBNoEmptyTagsRule,
|
|
21
24
|
ERBNoOutputControlFlowRule,
|
|
25
|
+
ERBPreferImageTagHelperRule,
|
|
26
|
+
ERBRequiresTrailingNewlineRule,
|
|
22
27
|
ERBRequireWhitespaceRule,
|
|
23
28
|
HTMLAnchorRequireHrefRule,
|
|
24
29
|
HTMLAriaAttributeMustBeValid,
|
|
30
|
+
HTMLAriaLevelMustBeValidRule,
|
|
25
31
|
HTMLAriaRoleHeadingRequiresLevelRule,
|
|
26
32
|
HTMLAriaRoleMustBeValidRule,
|
|
27
33
|
HTMLAttributeDoubleQuotesRule,
|
|
@@ -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;AAC7E,OAAO,EAAE,4BAA4B,EAAE,MAAM,wCAAwC,CAAA;AAErF,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;IACxB,4BAA4B;CAC7B,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"}
|
package/dist/src/linter.js
CHANGED
|
@@ -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
|
|
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
|
-
|
|
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
|
-
|
|
26
|
-
|
|
27
|
-
|
|
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;
|
package/dist/src/linter.js.map
CHANGED
|
@@ -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
|
|
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;
|
|
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;
|
|
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) {
|
|
@@ -48,10 +49,10 @@ class RequireWhitespaceInsideTags extends BaseRuleVisitor {
|
|
|
48
49
|
this.addOffense(`Add whitespace before \`${closeTag.value}\`.`, closeTag.location, "error");
|
|
49
50
|
}
|
|
50
51
|
}
|
|
51
|
-
export class ERBRequireWhitespaceRule {
|
|
52
|
+
export class ERBRequireWhitespaceRule extends ParserRule {
|
|
52
53
|
name = "erb-require-whitespace-inside-tags";
|
|
53
|
-
check(node) {
|
|
54
|
-
const visitor = new RequireWhitespaceInsideTags(this.name);
|
|
54
|
+
check(node, context) {
|
|
55
|
+
const visitor = new RequireWhitespaceInsideTags(this.name, context);
|
|
55
56
|
visitor.visit(node);
|
|
56
57
|
return visitor.offenses;
|
|
57
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;
|
|
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;
|
|
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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ARIA_ATTRIBUTES, AttributeVisitorMixin, } from "./rule-utils.js";
|
|
2
|
+
import { ParserRule } from "../types.js";
|
|
2
3
|
class AriaAttributeMustBeValid extends AttributeVisitorMixin {
|
|
3
4
|
checkAttribute(attributeName, _attributeValue, attributeNode, _parentNode) {
|
|
4
5
|
if (!attributeName.startsWith("aria-"))
|
|
@@ -13,10 +14,10 @@ class AriaAttributeMustBeValid extends AttributeVisitorMixin {
|
|
|
13
14
|
}
|
|
14
15
|
}
|
|
15
16
|
}
|
|
16
|
-
export class HTMLAriaAttributeMustBeValid {
|
|
17
|
+
export class HTMLAriaAttributeMustBeValid extends ParserRule {
|
|
17
18
|
name = "html-aria-attribute-must-be-valid";
|
|
18
|
-
check(node) {
|
|
19
|
-
const visitor = new AriaAttributeMustBeValid(this.name);
|
|
19
|
+
check(node, context) {
|
|
20
|
+
const visitor = new AriaAttributeMustBeValid(this.name, context);
|
|
20
21
|
visitor.visit(node);
|
|
21
22
|
return visitor.offenses;
|
|
22
23
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"html-aria-attribute-must-be-valid.js","sourceRoot":"","sources":["../../../src/rules/html-aria-attribute-must-be-valid.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"html-aria-attribute-must-be-valid.js","sourceRoot":"","sources":["../../../src/rules/html-aria-attribute-must-be-valid.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AASzC,MAAM,wBAAyB,SAAQ,qBAAqB;IAC1D,cAAc,CACZ,aAAqB,EACrB,eAA8B,EAC9B,aAAgC,EAChC,WAAmD;QAEnD,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC;YAAE,OAAO;QAE/C,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,aAAa,CAAC,EAAC,CAAC;YACvC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACjB,OAAO,EAAE,mBAAmB,aAAa,0FAA0F;gBACnI,QAAQ,EAAE,OAAO;gBACjB,QAAQ,EAAE,aAAa,CAAC,QAAQ;gBAChC,IAAI,EAAE,IAAI,CAAC,QAAQ;aACpB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF;AAED,MAAM,OAAO,4BAA6B,SAAQ,UAAU;IAC1D,IAAI,GAAG,mCAAmC,CAAC;IAE3C,KAAK,CAAC,IAAU,EAAE,OAA8B;QAC9C,MAAM,OAAO,GAAG,IAAI,wBAAwB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACjE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACpB,OAAO,OAAO,CAAC,QAAQ,CAAC;IAC1B,CAAC;CACF"}
|