@herb-tools/linter 0.8.9 → 0.9.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.
- package/README.md +5 -5
- package/dist/{src/cli → cli}/argument-parser.js +15 -2
- package/dist/cli/argument-parser.js.map +1 -0
- package/dist/{src/cli → cli}/file-processor.js +155 -9
- package/dist/cli/file-processor.js.map +1 -0
- package/dist/cli/file-url.js +6 -0
- package/dist/cli/file-url.js.map +1 -0
- package/dist/cli/formatters/base-formatter.js.map +1 -0
- package/dist/{src/cli → cli}/formatters/detailed-formatter.js +16 -19
- package/dist/cli/formatters/detailed-formatter.js.map +1 -0
- package/dist/cli/formatters/github-actions-formatter.js.map +1 -0
- package/dist/cli/formatters/index.js.map +1 -0
- package/dist/cli/formatters/json-formatter.js.map +1 -0
- package/dist/cli/formatters/simple-formatter.js +54 -0
- package/dist/cli/formatters/simple-formatter.js.map +1 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/lint-worker.js +143 -0
- package/dist/cli/lint-worker.js.map +1 -0
- package/dist/cli/output-manager.js.map +1 -0
- package/dist/{src/cli → cli}/summary-reporter.js +13 -16
- package/dist/cli/summary-reporter.js.map +1 -0
- package/dist/{src/cli.js → cli.js} +5 -3
- package/dist/cli.js.map +1 -0
- package/dist/{src/custom-rule-loader.js → custom-rule-loader.js} +20 -4
- package/dist/custom-rule-loader.js.map +1 -0
- package/dist/herb-disable-comment-utils.js.map +1 -0
- package/dist/herb-lint.js +60648 -17513
- package/dist/herb-lint.js.map +1 -1
- package/dist/index.cjs +2621 -934
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +2554 -873
- package/dist/index.js.map +1 -1
- package/dist/lint-worker.js +71462 -0
- package/dist/lint-worker.js.map +1 -0
- package/dist/linter-ignore.js.map +1 -0
- package/dist/{src/linter.js → linter.js} +89 -74
- package/dist/linter.js.map +1 -0
- package/dist/loader.cjs +31206 -7834
- package/dist/loader.cjs.map +1 -1
- package/dist/loader.js +31168 -7802
- package/dist/loader.js.map +1 -1
- package/dist/parse-cache.js +30 -0
- package/dist/parse-cache.js.map +1 -0
- package/dist/rules/actionview-no-silent-helper.js +45 -0
- package/dist/rules/actionview-no-silent-helper.js.map +1 -0
- package/dist/{src/rules → rules}/erb-comment-syntax.js +2 -2
- package/dist/rules/erb-comment-syntax.js.map +1 -0
- package/dist/{src/rules → rules}/erb-no-case-node-children.js +2 -2
- package/dist/rules/erb-no-case-node-children.js.map +1 -0
- package/dist/rules/erb-no-conditional-html-element.js +38 -0
- package/dist/rules/erb-no-conditional-html-element.js.map +1 -0
- package/dist/rules/erb-no-conditional-open-tag.js +24 -0
- package/dist/rules/erb-no-conditional-open-tag.js.map +1 -0
- package/dist/rules/erb-no-duplicate-branch-elements.js +245 -0
- package/dist/rules/erb-no-duplicate-branch-elements.js.map +1 -0
- package/dist/{src/rules → rules}/erb-no-empty-tags.js +2 -2
- package/dist/rules/erb-no-empty-tags.js.map +1 -0
- package/dist/{src/rules → rules}/erb-no-extra-newline.js +4 -21
- package/dist/rules/erb-no-extra-newline.js.map +1 -0
- package/dist/{src/rules → rules}/erb-no-extra-whitespace-inside-tags.js +39 -13
- package/dist/rules/erb-no-extra-whitespace-inside-tags.js.map +1 -0
- package/dist/rules/erb-no-inline-case-conditions.js +40 -0
- package/dist/rules/erb-no-inline-case-conditions.js.map +1 -0
- package/dist/rules/erb-no-instance-variables-in-partials.js +67 -0
- package/dist/rules/erb-no-instance-variables-in-partials.js.map +1 -0
- package/dist/rules/erb-no-interpolated-class-names.js +47 -0
- package/dist/rules/erb-no-interpolated-class-names.js.map +1 -0
- package/dist/rules/erb-no-javascript-tag-helper.js +34 -0
- package/dist/rules/erb-no-javascript-tag-helper.js.map +1 -0
- package/dist/{src/rules → rules}/erb-no-output-control-flow.js +9 -12
- package/dist/rules/erb-no-output-control-flow.js.map +1 -0
- package/dist/rules/erb-no-output-in-attribute-name.js +30 -0
- package/dist/rules/erb-no-output-in-attribute-name.js.map +1 -0
- package/dist/rules/erb-no-output-in-attribute-position.js +30 -0
- package/dist/rules/erb-no-output-in-attribute-position.js.map +1 -0
- package/dist/rules/erb-no-raw-output-in-attribute-value.js +35 -0
- package/dist/rules/erb-no-raw-output-in-attribute-value.js.map +1 -0
- package/dist/{src/rules → rules}/erb-no-silent-tag-in-attribute-name.js +2 -2
- package/dist/rules/erb-no-silent-tag-in-attribute-name.js.map +1 -0
- package/dist/rules/erb-no-statement-in-script.js +58 -0
- package/dist/rules/erb-no-statement-in-script.js.map +1 -0
- package/dist/rules/erb-no-then-in-control-flow.js +45 -0
- package/dist/rules/erb-no-then-in-control-flow.js.map +1 -0
- package/dist/rules/erb-no-trailing-whitespace.js +138 -0
- package/dist/rules/erb-no-trailing-whitespace.js.map +1 -0
- package/dist/rules/erb-no-unsafe-js-attribute.js +36 -0
- package/dist/rules/erb-no-unsafe-js-attribute.js.map +1 -0
- package/dist/rules/erb-no-unsafe-raw.js +63 -0
- package/dist/rules/erb-no-unsafe-raw.js.map +1 -0
- package/dist/rules/erb-no-unsafe-script-interpolation.js +54 -0
- package/dist/rules/erb-no-unsafe-script-interpolation.js.map +1 -0
- package/dist/{src/rules → rules}/erb-prefer-image-tag-helper.js +5 -4
- package/dist/rules/erb-prefer-image-tag-helper.js.map +1 -0
- package/dist/{src/rules → rules}/erb-require-trailing-newline.js +2 -2
- package/dist/rules/erb-require-trailing-newline.js.map +1 -0
- package/dist/{src/rules → rules}/erb-require-whitespace-inside-tags.js +39 -15
- package/dist/rules/erb-require-whitespace-inside-tags.js.map +1 -0
- package/dist/{src/rules → rules}/erb-right-trim.js +2 -2
- package/dist/rules/erb-right-trim.js.map +1 -0
- package/dist/{src/rules → rules}/erb-strict-locals-comment-syntax.js +5 -5
- package/dist/rules/erb-strict-locals-comment-syntax.js.map +1 -0
- package/dist/{src/rules → rules}/erb-strict-locals-required.js +2 -2
- package/dist/rules/erb-strict-locals-required.js.map +1 -0
- package/dist/rules/file-utils.js.map +1 -0
- package/dist/rules/herb-disable-comment-base.js.map +1 -0
- package/dist/{src/rules → rules}/herb-disable-comment-malformed.js +2 -2
- package/dist/rules/herb-disable-comment-malformed.js.map +1 -0
- package/dist/{src/rules → rules}/herb-disable-comment-missing-rules.js +2 -2
- package/dist/rules/herb-disable-comment-missing-rules.js.map +1 -0
- package/dist/{src/rules → rules}/herb-disable-comment-no-duplicate-rules.js +2 -2
- package/dist/rules/herb-disable-comment-no-duplicate-rules.js.map +1 -0
- package/dist/{src/rules → rules}/herb-disable-comment-no-redundant-all.js +2 -2
- package/dist/rules/herb-disable-comment-no-redundant-all.js.map +1 -0
- package/dist/{src/rules → rules}/herb-disable-comment-unnecessary.js +2 -2
- package/dist/rules/herb-disable-comment-unnecessary.js.map +1 -0
- package/dist/{src/rules → rules}/herb-disable-comment-valid-rule-name.js +2 -2
- package/dist/rules/herb-disable-comment-valid-rule-name.js.map +1 -0
- package/dist/rules/html-allowed-script-type.js +57 -0
- package/dist/rules/html-allowed-script-type.js.map +1 -0
- package/dist/rules/html-anchor-require-href.js +68 -0
- package/dist/rules/html-anchor-require-href.js.map +1 -0
- package/dist/{src/rules → rules}/html-aria-attribute-must-be-valid.js +3 -3
- package/dist/rules/html-aria-attribute-must-be-valid.js.map +1 -0
- package/dist/{src/rules → rules}/html-aria-label-is-well-formatted.js +3 -3
- package/dist/rules/html-aria-label-is-well-formatted.js.map +1 -0
- package/dist/{src/rules → rules}/html-aria-level-must-be-valid.js +3 -3
- package/dist/rules/html-aria-level-must-be-valid.js.map +1 -0
- package/dist/{src/rules → rules}/html-aria-role-heading-requires-level.js +5 -4
- package/dist/rules/html-aria-role-heading-requires-level.js.map +1 -0
- package/dist/{src/rules → rules}/html-aria-role-must-be-valid.js +3 -3
- package/dist/rules/html-aria-role-must-be-valid.js.map +1 -0
- package/dist/{src/rules → rules}/html-attribute-double-quotes.js +4 -4
- package/dist/rules/html-attribute-double-quotes.js.map +1 -0
- package/dist/{src/rules → rules}/html-attribute-equals-spacing.js +2 -2
- package/dist/rules/html-attribute-equals-spacing.js.map +1 -0
- package/dist/{src/rules → rules}/html-attribute-values-require-quotes.js +2 -2
- package/dist/rules/html-attribute-values-require-quotes.js.map +1 -0
- package/dist/{src/rules → rules}/html-avoid-both-disabled-and-aria-disabled.js +9 -9
- package/dist/rules/html-avoid-both-disabled-and-aria-disabled.js.map +1 -0
- package/dist/{src/rules → rules}/html-body-only-elements.js +5 -4
- package/dist/rules/html-body-only-elements.js.map +1 -0
- package/dist/{src/rules → rules}/html-boolean-attributes-no-value.js +4 -3
- package/dist/rules/html-boolean-attributes-no-value.js.map +1 -0
- package/dist/rules/html-details-has-summary.js +52 -0
- package/dist/rules/html-details-has-summary.js.map +1 -0
- package/dist/{src/rules → rules}/html-head-only-elements.js +6 -5
- package/dist/rules/html-head-only-elements.js.map +1 -0
- package/dist/{src/rules → rules}/html-iframe-has-title.js +8 -11
- package/dist/rules/html-iframe-has-title.js.map +1 -0
- package/dist/{src/rules → rules}/html-img-require-alt.js +11 -5
- package/dist/rules/html-img-require-alt.js.map +1 -0
- package/dist/{src/rules → rules}/html-input-require-autocomplete.js +7 -10
- package/dist/rules/html-input-require-autocomplete.js.map +1 -0
- package/dist/{src/rules → rules}/html-navigation-has-label.js +6 -5
- package/dist/rules/html-navigation-has-label.js.map +1 -0
- package/dist/rules/html-no-abstract-roles.js +29 -0
- package/dist/rules/html-no-abstract-roles.js.map +1 -0
- package/dist/rules/html-no-aria-hidden-on-body.js +42 -0
- package/dist/rules/html-no-aria-hidden-on-body.js.map +1 -0
- package/dist/{src/rules → rules}/html-no-aria-hidden-on-focusable.js +6 -5
- package/dist/rules/html-no-aria-hidden-on-focusable.js.map +1 -0
- package/dist/{src/rules → rules}/html-no-block-inside-inline.js +6 -9
- package/dist/rules/html-no-block-inside-inline.js.map +1 -0
- package/dist/{src/rules → rules}/html-no-duplicate-attributes.js +4 -3
- package/dist/rules/html-no-duplicate-attributes.js.map +1 -0
- package/dist/{src/rules → rules}/html-no-duplicate-ids.js +14 -11
- package/dist/rules/html-no-duplicate-ids.js.map +1 -0
- package/dist/{src/rules → rules}/html-no-duplicate-meta-names.js +22 -20
- package/dist/rules/html-no-duplicate-meta-names.js.map +1 -0
- package/dist/{src/rules → rules}/html-no-empty-attributes.js +2 -2
- package/dist/rules/html-no-empty-attributes.js.map +1 -0
- package/dist/rules/html-no-empty-headings.js +98 -0
- package/dist/rules/html-no-empty-headings.js.map +1 -0
- package/dist/{src/rules → rules}/html-no-nested-links.js +23 -15
- package/dist/rules/html-no-nested-links.js.map +1 -0
- package/dist/{src/rules → rules}/html-no-positive-tab-index.js +3 -3
- package/dist/rules/html-no-positive-tab-index.js.map +1 -0
- package/dist/{src/rules → rules}/html-no-self-closing.js +4 -4
- package/dist/rules/html-no-self-closing.js.map +1 -0
- package/dist/{src/rules → rules}/html-no-space-in-tag.js +4 -6
- package/dist/rules/html-no-space-in-tag.js.map +1 -0
- package/dist/{src/rules → rules}/html-no-title-attribute.js +6 -5
- package/dist/rules/html-no-title-attribute.js.map +1 -0
- package/dist/{src/rules → rules}/html-no-underscores-in-attribute-names.js +2 -2
- package/dist/rules/html-no-underscores-in-attribute-names.js.map +1 -0
- package/dist/rules/html-require-closing-tags.js +29 -0
- package/dist/rules/html-require-closing-tags.js.map +1 -0
- package/dist/{src/rules → rules}/html-tag-name-lowercase.js +13 -9
- package/dist/rules/html-tag-name-lowercase.js.map +1 -0
- package/dist/{src/rules → rules}/index.js +19 -0
- package/dist/rules/index.js.map +1 -0
- package/dist/{src/rules → rules}/parser-no-errors.js +3 -3
- package/dist/rules/parser-no-errors.js.map +1 -0
- package/dist/{src/rules → rules}/rule-utils.js +141 -219
- package/dist/rules/rule-utils.js.map +1 -0
- package/dist/rules/string-utils.js.map +1 -0
- package/dist/{src/rules → rules}/svg-tag-name-capitalization.js +7 -6
- package/dist/rules/svg-tag-name-capitalization.js.map +1 -0
- package/dist/rules/turbo-permanent-require-id.js +34 -0
- package/dist/rules/turbo-permanent-require-id.js.map +1 -0
- package/dist/{src/rules.js → rules.js} +56 -10
- package/dist/rules.js.map +1 -0
- package/dist/types/cli/argument-parser.d.ts +1 -0
- package/dist/types/cli/file-processor.d.ts +13 -0
- package/dist/types/cli/file-url.d.ts +1 -0
- package/dist/types/cli/index.d.ts +1 -0
- package/dist/types/cli/lint-worker.d.ts +34 -0
- package/dist/types/custom-rule-loader.d.ts +4 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/linter.d.ts +13 -6
- package/dist/types/parse-cache.d.ts +9 -0
- package/dist/types/{src/rules/html-aria-level-must-be-valid.d.ts → rules/actionview-no-silent-helper.d.ts} +4 -3
- package/dist/types/rules/erb-comment-syntax.d.ts +1 -1
- package/dist/types/rules/erb-no-case-node-children.d.ts +1 -1
- package/dist/types/{src/rules/herb-disable-comment-malformed.d.ts → rules/erb-no-conditional-html-element.d.ts} +3 -3
- package/dist/types/{src/rules/erb-prefer-image-tag-helper.d.ts → rules/erb-no-conditional-open-tag.d.ts} +3 -3
- package/dist/types/rules/erb-no-duplicate-branch-elements.d.ts +17 -0
- package/dist/types/rules/erb-no-empty-tags.d.ts +1 -1
- package/dist/types/rules/erb-no-extra-newline.d.ts +1 -1
- package/dist/types/rules/erb-no-extra-whitespace-inside-tags.d.ts +1 -1
- package/dist/types/{src/rules/html-no-duplicate-attributes.d.ts → rules/erb-no-inline-case-conditions.d.ts} +4 -3
- package/dist/types/rules/erb-no-instance-variables-in-partials.d.ts +10 -0
- package/dist/types/{src/rules/html-no-aria-hidden-on-focusable.d.ts → rules/erb-no-interpolated-class-names.d.ts} +2 -2
- package/dist/types/{src/rules/html-aria-attribute-must-be-valid.d.ts → rules/erb-no-javascript-tag-helper.d.ts} +2 -2
- package/dist/types/rules/erb-no-output-control-flow.d.ts +1 -1
- package/dist/types/{src/rules/erb-no-silent-tag-in-attribute-name.d.ts → rules/erb-no-output-in-attribute-name.d.ts} +2 -2
- package/dist/types/{src/rules/herb-disable-comment-missing-rules.d.ts → rules/erb-no-output-in-attribute-position.d.ts} +2 -2
- package/dist/types/{src/rules/erb-no-empty-tags.d.ts → rules/erb-no-raw-output-in-attribute-value.d.ts} +2 -2
- package/dist/types/rules/erb-no-silent-tag-in-attribute-name.d.ts +1 -1
- package/dist/types/{src/rules/html-navigation-has-label.d.ts → rules/erb-no-statement-in-script.d.ts} +2 -2
- package/dist/types/rules/erb-no-then-in-control-flow.d.ts +9 -0
- package/dist/types/rules/erb-no-trailing-whitespace.d.ts +19 -0
- package/dist/types/{src/rules/html-no-positive-tab-index.d.ts → rules/erb-no-unsafe-js-attribute.d.ts} +2 -2
- package/dist/types/{src/rules/erb-no-case-node-children.d.ts → rules/erb-no-unsafe-raw.d.ts} +2 -2
- package/dist/types/rules/erb-no-unsafe-script-interpolation.d.ts +8 -0
- package/dist/types/rules/erb-prefer-image-tag-helper.d.ts +1 -1
- package/dist/types/rules/erb-require-trailing-newline.d.ts +1 -1
- package/dist/types/rules/erb-require-whitespace-inside-tags.d.ts +1 -1
- package/dist/types/rules/erb-right-trim.d.ts +1 -1
- package/dist/types/rules/erb-strict-locals-comment-syntax.d.ts +1 -1
- package/dist/types/rules/erb-strict-locals-required.d.ts +1 -1
- package/dist/types/rules/herb-disable-comment-malformed.d.ts +1 -1
- package/dist/types/rules/herb-disable-comment-missing-rules.d.ts +1 -1
- package/dist/types/rules/herb-disable-comment-no-duplicate-rules.d.ts +1 -1
- package/dist/types/rules/herb-disable-comment-no-redundant-all.d.ts +1 -1
- package/dist/types/rules/herb-disable-comment-unnecessary.d.ts +1 -1
- package/dist/types/rules/herb-disable-comment-valid-rule-name.d.ts +1 -1
- package/dist/types/{src/rules/html-anchor-require-href.d.ts → rules/html-allowed-script-type.d.ts} +2 -2
- package/dist/types/rules/html-anchor-require-href.d.ts +3 -2
- package/dist/types/rules/html-aria-attribute-must-be-valid.d.ts +1 -1
- package/dist/types/rules/html-aria-label-is-well-formatted.d.ts +1 -1
- package/dist/types/rules/html-aria-level-must-be-valid.d.ts +1 -1
- package/dist/types/rules/html-aria-role-heading-requires-level.d.ts +1 -1
- package/dist/types/rules/html-aria-role-must-be-valid.d.ts +1 -1
- package/dist/types/rules/html-attribute-double-quotes.d.ts +1 -1
- package/dist/types/rules/html-attribute-equals-spacing.d.ts +1 -1
- package/dist/types/rules/html-attribute-values-require-quotes.d.ts +1 -1
- package/dist/types/rules/html-avoid-both-disabled-and-aria-disabled.d.ts +1 -1
- package/dist/types/rules/html-body-only-elements.d.ts +1 -1
- package/dist/types/rules/html-boolean-attributes-no-value.d.ts +1 -1
- package/dist/types/{src/rules/html-no-empty-attributes.d.ts → rules/html-details-has-summary.d.ts} +4 -3
- package/dist/types/rules/html-head-only-elements.d.ts +1 -1
- package/dist/types/rules/html-iframe-has-title.d.ts +1 -1
- package/dist/types/rules/html-img-require-alt.d.ts +1 -1
- package/dist/types/rules/html-input-require-autocomplete.d.ts +1 -1
- package/dist/types/rules/html-navigation-has-label.d.ts +1 -1
- package/dist/types/{src/rules/html-no-empty-headings.d.ts → rules/html-no-abstract-roles.d.ts} +2 -2
- package/dist/types/{src/rules/erb-no-output-control-flow.d.ts → rules/html-no-aria-hidden-on-body.d.ts} +3 -3
- package/dist/types/rules/html-no-aria-hidden-on-focusable.d.ts +1 -1
- package/dist/types/rules/html-no-block-inside-inline.d.ts +1 -1
- package/dist/types/rules/html-no-duplicate-attributes.d.ts +1 -1
- package/dist/types/rules/html-no-duplicate-ids.d.ts +1 -1
- package/dist/types/rules/html-no-duplicate-meta-names.d.ts +1 -1
- package/dist/types/rules/html-no-empty-attributes.d.ts +1 -1
- package/dist/types/rules/html-no-empty-headings.d.ts +1 -1
- package/dist/types/rules/html-no-nested-links.d.ts +1 -1
- package/dist/types/rules/html-no-positive-tab-index.d.ts +1 -1
- package/dist/types/rules/html-no-self-closing.d.ts +1 -1
- package/dist/types/rules/html-no-space-in-tag.d.ts +1 -1
- package/dist/types/rules/html-no-title-attribute.d.ts +1 -1
- package/dist/types/rules/html-no-underscores-in-attribute-names.d.ts +1 -1
- package/dist/types/{src/rules/html-body-only-elements.d.ts → rules/html-require-closing-tags.d.ts} +4 -3
- package/dist/types/rules/html-tag-name-lowercase.d.ts +1 -1
- package/dist/types/rules/index.d.ts +19 -0
- package/dist/types/rules/parser-no-errors.d.ts +1 -1
- package/dist/types/rules/rule-utils.d.ts +35 -88
- package/dist/types/rules/svg-tag-name-capitalization.d.ts +1 -1
- package/dist/types/{src/rules/html-aria-role-must-be-valid.d.ts → rules/turbo-permanent-require-id.d.ts} +2 -2
- package/dist/types/types.d.ts +25 -7
- package/dist/types/urls.d.ts +1 -0
- package/dist/{src/types.js → types.js} +53 -0
- package/dist/types.js.map +1 -0
- package/dist/urls.js +5 -0
- package/dist/urls.js.map +1 -0
- package/docs/rules/README.md +23 -2
- package/docs/rules/actionview-no-silent-helper.md +57 -0
- package/docs/rules/erb-no-conditional-html-element.md +90 -0
- package/docs/rules/erb-no-conditional-open-tag.md +130 -0
- package/docs/rules/erb-no-duplicate-branch-elements.md +98 -0
- package/docs/rules/erb-no-inline-case-conditions.md +85 -0
- package/docs/rules/erb-no-instance-variables-in-partials.md +43 -0
- package/docs/rules/erb-no-interpolated-class-names.md +57 -0
- package/docs/rules/erb-no-javascript-tag-helper.md +33 -0
- package/docs/rules/erb-no-output-in-attribute-name.md +38 -0
- package/docs/rules/erb-no-output-in-attribute-position.md +60 -0
- package/docs/rules/erb-no-raw-output-in-attribute-value.md +37 -0
- package/docs/rules/erb-no-statement-in-script.md +68 -0
- package/docs/rules/erb-no-then-in-control-flow.md +86 -0
- package/docs/rules/erb-no-trailing-whitespace.md +69 -0
- package/docs/rules/erb-no-unsafe-js-attribute.md +41 -0
- package/docs/rules/erb-no-unsafe-raw.md +47 -0
- package/docs/rules/erb-no-unsafe-script-interpolation.md +73 -0
- package/docs/rules/html-allowed-script-type.md +59 -0
- package/docs/rules/html-anchor-require-href.md +19 -6
- package/docs/rules/html-details-has-summary.md +46 -0
- package/docs/rules/html-img-require-alt.md +5 -3
- package/docs/rules/html-no-abstract-roles.md +74 -0
- package/docs/rules/html-no-aria-hidden-on-body.md +44 -0
- package/docs/rules/html-require-closing-tags.md +142 -0
- package/docs/rules/parser-no-errors.md +4 -17
- package/docs/rules/turbo-permanent-require-id.md +41 -0
- package/package.json +12 -11
- package/src/cli/argument-parser.ts +20 -2
- package/src/cli/file-processor.ts +189 -10
- package/src/cli/file-url.ts +6 -0
- package/src/cli/formatters/detailed-formatter.ts +19 -21
- package/src/cli/formatters/simple-formatter.ts +23 -13
- package/src/cli/index.ts +2 -0
- package/src/cli/lint-worker.ts +208 -0
- package/src/cli/summary-reporter.ts +14 -15
- package/src/cli.ts +5 -3
- package/src/custom-rule-loader.ts +20 -5
- package/src/herb-disable-comment-utils.ts +0 -3
- package/src/index.ts +1 -0
- package/src/linter.ts +98 -79
- package/src/parse-cache.ts +39 -0
- package/src/rules/actionview-no-silent-helper.ts +58 -0
- package/src/rules/erb-comment-syntax.ts +2 -2
- package/src/rules/erb-no-case-node-children.ts +2 -2
- package/src/rules/erb-no-conditional-html-element.ts +53 -0
- package/src/rules/erb-no-conditional-open-tag.ts +37 -0
- package/src/rules/erb-no-duplicate-branch-elements.ts +320 -0
- package/src/rules/erb-no-empty-tags.ts +2 -2
- package/src/rules/erb-no-extra-newline.ts +5 -25
- package/src/rules/erb-no-extra-whitespace-inside-tags.ts +45 -15
- package/src/rules/erb-no-inline-case-conditions.ts +54 -0
- package/src/rules/erb-no-instance-variables-in-partials.ts +101 -0
- package/src/rules/erb-no-interpolated-class-names.ts +65 -0
- package/src/rules/erb-no-javascript-tag-helper.ts +47 -0
- package/src/rules/erb-no-output-control-flow.ts +10 -10
- package/src/rules/erb-no-output-in-attribute-name.ts +39 -0
- package/src/rules/erb-no-output-in-attribute-position.ts +39 -0
- package/src/rules/erb-no-raw-output-in-attribute-value.ts +47 -0
- package/src/rules/erb-no-silent-tag-in-attribute-name.ts +2 -2
- package/src/rules/erb-no-statement-in-script.ts +82 -0
- package/src/rules/erb-no-then-in-control-flow.ts +62 -0
- package/src/rules/erb-no-trailing-whitespace.ts +187 -0
- package/src/rules/erb-no-unsafe-js-attribute.ts +47 -0
- package/src/rules/erb-no-unsafe-raw.ts +83 -0
- package/src/rules/erb-no-unsafe-script-interpolation.ts +76 -0
- package/src/rules/erb-prefer-image-tag-helper.ts +5 -4
- package/src/rules/erb-require-trailing-newline.ts +2 -2
- package/src/rules/erb-require-whitespace-inside-tags.ts +42 -18
- package/src/rules/erb-right-trim.ts +2 -2
- package/src/rules/erb-strict-locals-comment-syntax.ts +5 -5
- package/src/rules/erb-strict-locals-required.ts +2 -2
- package/src/rules/herb-disable-comment-malformed.ts +2 -2
- package/src/rules/herb-disable-comment-missing-rules.ts +2 -2
- package/src/rules/herb-disable-comment-no-duplicate-rules.ts +2 -2
- package/src/rules/herb-disable-comment-no-redundant-all.ts +2 -2
- package/src/rules/herb-disable-comment-unnecessary.ts +2 -2
- package/src/rules/herb-disable-comment-valid-rule-name.ts +2 -2
- package/src/rules/html-allowed-script-type.ts +84 -0
- package/src/rules/html-anchor-require-href.ts +73 -11
- package/src/rules/html-aria-attribute-must-be-valid.ts +3 -3
- package/src/rules/html-aria-label-is-well-formatted.ts +3 -3
- package/src/rules/html-aria-level-must-be-valid.ts +3 -3
- package/src/rules/html-aria-role-heading-requires-level.ts +5 -4
- package/src/rules/html-aria-role-must-be-valid.ts +3 -3
- package/src/rules/html-attribute-double-quotes.ts +4 -4
- package/src/rules/html-attribute-equals-spacing.ts +2 -2
- package/src/rules/html-attribute-values-require-quotes.ts +2 -2
- package/src/rules/html-avoid-both-disabled-and-aria-disabled.ts +10 -11
- package/src/rules/html-body-only-elements.ts +5 -4
- package/src/rules/html-boolean-attributes-no-value.ts +4 -3
- package/src/rules/html-details-has-summary.ts +69 -0
- package/src/rules/html-head-only-elements.ts +6 -5
- package/src/rules/html-iframe-has-title.ts +8 -11
- package/src/rules/html-img-require-alt.ts +16 -5
- package/src/rules/html-input-require-autocomplete.ts +7 -10
- package/src/rules/html-navigation-has-label.ts +6 -5
- package/src/rules/html-no-abstract-roles.ts +40 -0
- package/src/rules/html-no-aria-hidden-on-body.ts +58 -0
- package/src/rules/html-no-aria-hidden-on-focusable.ts +6 -5
- package/src/rules/html-no-block-inside-inline.ts +7 -13
- package/src/rules/html-no-duplicate-attributes.ts +4 -3
- package/src/rules/html-no-duplicate-ids.ts +16 -13
- package/src/rules/html-no-duplicate-meta-names.ts +20 -19
- package/src/rules/html-no-empty-attributes.ts +2 -2
- package/src/rules/html-no-empty-headings.ts +44 -58
- package/src/rules/html-no-nested-links.ts +25 -16
- package/src/rules/html-no-positive-tab-index.ts +3 -3
- package/src/rules/html-no-self-closing.ts +5 -5
- package/src/rules/html-no-space-in-tag.ts +5 -8
- package/src/rules/html-no-title-attribute.ts +6 -5
- package/src/rules/html-no-underscores-in-attribute-names.ts +2 -2
- package/src/rules/html-require-closing-tags.ts +41 -0
- package/src/rules/html-tag-name-lowercase.ts +14 -9
- package/src/rules/index.ts +19 -0
- package/src/rules/parser-no-errors.ts +3 -3
- package/src/rules/rule-utils.ts +162 -279
- package/src/rules/svg-tag-name-capitalization.ts +10 -10
- package/src/rules/turbo-permanent-require-id.ts +49 -0
- package/src/rules.ts +60 -10
- package/src/types.ts +76 -7
- package/src/urls.ts +5 -0
- package/dist/package.json +0 -65
- package/dist/src/cli/argument-parser.js.map +0 -1
- package/dist/src/cli/file-processor.js.map +0 -1
- package/dist/src/cli/formatters/base-formatter.js.map +0 -1
- package/dist/src/cli/formatters/detailed-formatter.js.map +0 -1
- package/dist/src/cli/formatters/github-actions-formatter.js.map +0 -1
- package/dist/src/cli/formatters/index.js.map +0 -1
- package/dist/src/cli/formatters/json-formatter.js.map +0 -1
- package/dist/src/cli/formatters/simple-formatter.js +0 -44
- package/dist/src/cli/formatters/simple-formatter.js.map +0 -1
- package/dist/src/cli/index.js.map +0 -1
- package/dist/src/cli/output-manager.js.map +0 -1
- package/dist/src/cli/summary-reporter.js.map +0 -1
- package/dist/src/cli.js.map +0 -1
- package/dist/src/custom-rule-loader.js.map +0 -1
- package/dist/src/herb-disable-comment-utils.js.map +0 -1
- package/dist/src/herb-lint.js +0 -5
- package/dist/src/herb-lint.js.map +0 -1
- package/dist/src/index.js +0 -5
- package/dist/src/index.js.map +0 -1
- package/dist/src/linter-ignore.js.map +0 -1
- package/dist/src/linter.js.map +0 -1
- package/dist/src/loader.js +0 -17
- package/dist/src/loader.js.map +0 -1
- package/dist/src/rules/erb-comment-syntax.js.map +0 -1
- package/dist/src/rules/erb-no-case-node-children.js.map +0 -1
- package/dist/src/rules/erb-no-empty-tags.js.map +0 -1
- package/dist/src/rules/erb-no-extra-newline.js.map +0 -1
- package/dist/src/rules/erb-no-extra-whitespace-inside-tags.js.map +0 -1
- package/dist/src/rules/erb-no-output-control-flow.js.map +0 -1
- package/dist/src/rules/erb-no-silent-tag-in-attribute-name.js.map +0 -1
- package/dist/src/rules/erb-prefer-image-tag-helper.js.map +0 -1
- package/dist/src/rules/erb-require-trailing-newline.js.map +0 -1
- package/dist/src/rules/erb-require-whitespace-inside-tags.js.map +0 -1
- package/dist/src/rules/erb-right-trim.js.map +0 -1
- package/dist/src/rules/erb-strict-locals-comment-syntax.js.map +0 -1
- package/dist/src/rules/erb-strict-locals-required.js.map +0 -1
- package/dist/src/rules/file-utils.js.map +0 -1
- package/dist/src/rules/herb-disable-comment-base.js.map +0 -1
- package/dist/src/rules/herb-disable-comment-malformed.js.map +0 -1
- package/dist/src/rules/herb-disable-comment-missing-rules.js.map +0 -1
- package/dist/src/rules/herb-disable-comment-no-duplicate-rules.js.map +0 -1
- package/dist/src/rules/herb-disable-comment-no-redundant-all.js.map +0 -1
- package/dist/src/rules/herb-disable-comment-unnecessary.js.map +0 -1
- package/dist/src/rules/herb-disable-comment-valid-rule-name.js.map +0 -1
- package/dist/src/rules/html-anchor-require-href.js +0 -32
- package/dist/src/rules/html-anchor-require-href.js.map +0 -1
- package/dist/src/rules/html-aria-attribute-must-be-valid.js.map +0 -1
- package/dist/src/rules/html-aria-label-is-well-formatted.js.map +0 -1
- package/dist/src/rules/html-aria-level-must-be-valid.js.map +0 -1
- package/dist/src/rules/html-aria-role-heading-requires-level.js.map +0 -1
- package/dist/src/rules/html-aria-role-must-be-valid.js.map +0 -1
- package/dist/src/rules/html-attribute-double-quotes.js.map +0 -1
- package/dist/src/rules/html-attribute-equals-spacing.js.map +0 -1
- package/dist/src/rules/html-attribute-values-require-quotes.js.map +0 -1
- package/dist/src/rules/html-avoid-both-disabled-and-aria-disabled.js.map +0 -1
- package/dist/src/rules/html-body-only-elements.js.map +0 -1
- package/dist/src/rules/html-boolean-attributes-no-value.js.map +0 -1
- package/dist/src/rules/html-head-only-elements.js.map +0 -1
- package/dist/src/rules/html-iframe-has-title.js.map +0 -1
- package/dist/src/rules/html-img-require-alt.js.map +0 -1
- package/dist/src/rules/html-input-require-autocomplete.js.map +0 -1
- package/dist/src/rules/html-navigation-has-label.js.map +0 -1
- package/dist/src/rules/html-no-aria-hidden-on-focusable.js.map +0 -1
- package/dist/src/rules/html-no-block-inside-inline.js.map +0 -1
- package/dist/src/rules/html-no-duplicate-attributes.js.map +0 -1
- package/dist/src/rules/html-no-duplicate-ids.js.map +0 -1
- package/dist/src/rules/html-no-duplicate-meta-names.js.map +0 -1
- package/dist/src/rules/html-no-empty-attributes.js.map +0 -1
- package/dist/src/rules/html-no-empty-headings.js +0 -115
- package/dist/src/rules/html-no-empty-headings.js.map +0 -1
- package/dist/src/rules/html-no-nested-links.js.map +0 -1
- package/dist/src/rules/html-no-positive-tab-index.js.map +0 -1
- package/dist/src/rules/html-no-self-closing.js.map +0 -1
- package/dist/src/rules/html-no-space-in-tag.js.map +0 -1
- package/dist/src/rules/html-no-title-attribute.js.map +0 -1
- package/dist/src/rules/html-no-underscores-in-attribute-names.js.map +0 -1
- package/dist/src/rules/html-tag-name-lowercase.js.map +0 -1
- package/dist/src/rules/index.js.map +0 -1
- package/dist/src/rules/parser-no-errors.js.map +0 -1
- package/dist/src/rules/rule-utils.js.map +0 -1
- package/dist/src/rules/string-utils.js.map +0 -1
- package/dist/src/rules/svg-tag-name-capitalization.js.map +0 -1
- package/dist/src/rules.js.map +0 -1
- package/dist/src/types.js.map +0 -1
- package/dist/tsconfig.tsbuildinfo +0 -1
- package/dist/types/src/cli/argument-parser.d.ts +0 -25
- package/dist/types/src/cli/file-processor.d.ts +0 -43
- package/dist/types/src/cli/formatters/base-formatter.d.ts +0 -6
- package/dist/types/src/cli/formatters/detailed-formatter.d.ts +0 -13
- package/dist/types/src/cli/formatters/github-actions-formatter.d.ts +0 -17
- package/dist/types/src/cli/formatters/index.d.ts +0 -5
- package/dist/types/src/cli/formatters/json-formatter.d.ts +0 -48
- package/dist/types/src/cli/formatters/simple-formatter.d.ts +0 -8
- package/dist/types/src/cli/index.d.ts +0 -5
- package/dist/types/src/cli/output-manager.d.ts +0 -32
- package/dist/types/src/cli/summary-reporter.d.ts +0 -28
- package/dist/types/src/cli.d.ts +0 -28
- package/dist/types/src/custom-rule-loader.d.ts +0 -62
- package/dist/types/src/herb-disable-comment-utils.d.ts +0 -69
- package/dist/types/src/herb-lint.d.ts +0 -2
- package/dist/types/src/index.d.ts +0 -4
- package/dist/types/src/linter-ignore.d.ts +0 -12
- package/dist/types/src/linter.d.ts +0 -133
- package/dist/types/src/loader.d.ts +0 -20
- package/dist/types/src/rules/erb-comment-syntax.d.ts +0 -14
- package/dist/types/src/rules/erb-no-extra-newline.d.ts +0 -14
- package/dist/types/src/rules/erb-no-extra-whitespace-inside-tags.d.ts +0 -18
- package/dist/types/src/rules/erb-require-trailing-newline.d.ts +0 -9
- package/dist/types/src/rules/erb-require-whitespace-inside-tags.d.ts +0 -18
- package/dist/types/src/rules/erb-right-trim.d.ts +0 -14
- package/dist/types/src/rules/erb-strict-locals-comment-syntax.d.ts +0 -9
- package/dist/types/src/rules/erb-strict-locals-required.d.ts +0 -9
- package/dist/types/src/rules/file-utils.d.ts +0 -13
- package/dist/types/src/rules/herb-disable-comment-base.d.ts +0 -37
- package/dist/types/src/rules/herb-disable-comment-no-duplicate-rules.d.ts +0 -8
- package/dist/types/src/rules/herb-disable-comment-no-redundant-all.d.ts +0 -8
- package/dist/types/src/rules/herb-disable-comment-unnecessary.d.ts +0 -8
- package/dist/types/src/rules/herb-disable-comment-valid-rule-name.d.ts +0 -8
- package/dist/types/src/rules/html-aria-label-is-well-formatted.d.ts +0 -8
- package/dist/types/src/rules/html-aria-role-heading-requires-level.d.ts +0 -8
- package/dist/types/src/rules/html-attribute-double-quotes.d.ts +0 -15
- package/dist/types/src/rules/html-attribute-equals-spacing.d.ts +0 -14
- package/dist/types/src/rules/html-attribute-values-require-quotes.d.ts +0 -15
- package/dist/types/src/rules/html-avoid-both-disabled-and-aria-disabled.d.ts +0 -8
- package/dist/types/src/rules/html-boolean-attributes-no-value.d.ts +0 -14
- package/dist/types/src/rules/html-head-only-elements.d.ts +0 -9
- package/dist/types/src/rules/html-iframe-has-title.d.ts +0 -8
- package/dist/types/src/rules/html-img-require-alt.d.ts +0 -8
- package/dist/types/src/rules/html-input-require-autocomplete.d.ts +0 -8
- package/dist/types/src/rules/html-no-block-inside-inline.d.ts +0 -8
- package/dist/types/src/rules/html-no-duplicate-ids.d.ts +0 -8
- package/dist/types/src/rules/html-no-duplicate-meta-names.d.ts +0 -9
- package/dist/types/src/rules/html-no-nested-links.d.ts +0 -8
- package/dist/types/src/rules/html-no-self-closing.d.ts +0 -16
- package/dist/types/src/rules/html-no-space-in-tag.d.ts +0 -16
- package/dist/types/src/rules/html-no-title-attribute.d.ts +0 -8
- package/dist/types/src/rules/html-no-underscores-in-attribute-names.d.ts +0 -8
- package/dist/types/src/rules/html-tag-name-lowercase.d.ts +0 -18
- package/dist/types/src/rules/index.d.ts +0 -54
- package/dist/types/src/rules/parser-no-errors.d.ts +0 -9
- package/dist/types/src/rules/rule-utils.d.ts +0 -351
- package/dist/types/src/rules/string-utils.d.ts +0 -15
- package/dist/types/src/rules/svg-tag-name-capitalization.d.ts +0 -16
- package/dist/types/src/rules.d.ts +0 -2
- package/dist/types/src/types.d.ts +0 -190
- /package/dist/{src/cli → cli}/formatters/base-formatter.js +0 -0
- /package/dist/{src/cli → cli}/formatters/github-actions-formatter.js +0 -0
- /package/dist/{src/cli → cli}/formatters/index.js +0 -0
- /package/dist/{src/cli → cli}/formatters/json-formatter.js +0 -0
- /package/dist/{src/cli → cli}/index.js +0 -0
- /package/dist/{src/cli → cli}/output-manager.js +0 -0
- /package/dist/{src/herb-disable-comment-utils.js → herb-disable-comment-utils.js} +0 -0
- /package/dist/{src/linter-ignore.js → linter-ignore.js} +0 -0
- /package/dist/{src/rules → rules}/file-utils.js +0 -0
- /package/dist/{src/rules → rules}/herb-disable-comment-base.js +0 -0
- /package/dist/{src/rules → rules}/string-utils.js +0 -0
package/dist/types/{src/rules/erb-no-case-node-children.d.ts → rules/erb-no-unsafe-raw.d.ts}
RENAMED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { ParserRule } from "../types.js";
|
|
2
2
|
import type { UnboundLintOffense, LintContext, FullRuleConfig } from "../types.js";
|
|
3
3
|
import type { ParseResult } from "@herb-tools/core";
|
|
4
|
-
export declare class
|
|
5
|
-
|
|
4
|
+
export declare class ERBNoUnsafeRawRule extends ParserRule {
|
|
5
|
+
static ruleName: string;
|
|
6
6
|
get defaultConfig(): FullRuleConfig;
|
|
7
7
|
check(result: ParseResult, context?: Partial<LintContext>): UnboundLintOffense[];
|
|
8
8
|
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ParserRule } from "../types.js";
|
|
2
|
+
import type { UnboundLintOffense, LintContext, FullRuleConfig } from "../types.js";
|
|
3
|
+
import type { ParseResult } from "@herb-tools/core";
|
|
4
|
+
export declare class ERBNoUnsafeScriptInterpolationRule extends ParserRule {
|
|
5
|
+
static ruleName: string;
|
|
6
|
+
get defaultConfig(): FullRuleConfig;
|
|
7
|
+
check(result: ParseResult, context?: Partial<LintContext>): UnboundLintOffense[];
|
|
8
|
+
}
|
|
@@ -2,7 +2,7 @@ import { ParserRule } from "../types.js";
|
|
|
2
2
|
import type { UnboundLintOffense, LintContext, FullRuleConfig } from "../types.js";
|
|
3
3
|
import type { ParseResult } from "@herb-tools/core";
|
|
4
4
|
export declare class ERBPreferImageTagHelperRule extends ParserRule {
|
|
5
|
-
|
|
5
|
+
static ruleName: string;
|
|
6
6
|
get defaultConfig(): FullRuleConfig;
|
|
7
7
|
check(result: ParseResult, context?: Partial<LintContext>): UnboundLintOffense[];
|
|
8
8
|
}
|
|
@@ -2,7 +2,7 @@ import { SourceRule } from "../types.js";
|
|
|
2
2
|
import type { UnboundLintOffense, LintOffense, LintContext, FullRuleConfig } from "../types.js";
|
|
3
3
|
export declare class ERBRequireTrailingNewlineRule extends SourceRule {
|
|
4
4
|
static autocorrectable: boolean;
|
|
5
|
-
|
|
5
|
+
static ruleName: string;
|
|
6
6
|
get defaultConfig(): FullRuleConfig;
|
|
7
7
|
check(source: string, context?: Partial<LintContext>): UnboundLintOffense[];
|
|
8
8
|
autofix(_offense: LintOffense, source: string, _context?: Partial<LintContext>): string | null;
|
|
@@ -10,7 +10,7 @@ interface ERBRequireWhitespaceAutofixContext extends BaseAutofixContext {
|
|
|
10
10
|
}
|
|
11
11
|
export declare class ERBRequireWhitespaceRule extends ParserRule<ERBRequireWhitespaceAutofixContext> {
|
|
12
12
|
static autocorrectable: boolean;
|
|
13
|
-
|
|
13
|
+
static ruleName: string;
|
|
14
14
|
get defaultConfig(): FullRuleConfig;
|
|
15
15
|
check(result: ParseResult, context?: Partial<LintContext>): UnboundLintOffense<ERBRequireWhitespaceAutofixContext>[];
|
|
16
16
|
autofix(offense: LintOffense<ERBRequireWhitespaceAutofixContext>, result: ParseResult, _context?: Partial<LintContext>): ParseResult | null;
|
|
@@ -6,7 +6,7 @@ interface ERBRightTrimAutofixContext extends BaseAutofixContext {
|
|
|
6
6
|
}
|
|
7
7
|
export declare class ERBRightTrimRule extends ParserRule<ERBRightTrimAutofixContext> {
|
|
8
8
|
static autocorrectable: boolean;
|
|
9
|
-
|
|
9
|
+
static ruleName: string;
|
|
10
10
|
get defaultConfig(): FullRuleConfig;
|
|
11
11
|
check(result: ParseResult, context?: Partial<LintContext>): UnboundLintOffense<ERBRightTrimAutofixContext>[];
|
|
12
12
|
autofix(offense: LintOffense<ERBRightTrimAutofixContext>, result: ParseResult, _context?: Partial<LintContext>): ParseResult | null;
|
|
@@ -3,7 +3,7 @@ import type { UnboundLintOffense, LintContext, FullRuleConfig } from "../types.j
|
|
|
3
3
|
import type { ParseResult } from "@herb-tools/core";
|
|
4
4
|
export declare const STRICT_LOCALS_PATTERN: RegExp;
|
|
5
5
|
export declare class ERBStrictLocalsCommentSyntaxRule extends ParserRule {
|
|
6
|
-
|
|
6
|
+
static ruleName: string;
|
|
7
7
|
get defaultConfig(): FullRuleConfig;
|
|
8
8
|
check(result: ParseResult, context?: Partial<LintContext>): UnboundLintOffense[];
|
|
9
9
|
}
|
|
@@ -2,7 +2,7 @@ import { SourceRule } from "../types.js";
|
|
|
2
2
|
import type { UnboundLintOffense, LintOffense, LintContext, FullRuleConfig } from "../types.js";
|
|
3
3
|
export declare class ERBStrictLocalsRequiredRule extends SourceRule {
|
|
4
4
|
static unsafeAutocorrectable: boolean;
|
|
5
|
-
|
|
5
|
+
static ruleName: string;
|
|
6
6
|
get defaultConfig(): FullRuleConfig;
|
|
7
7
|
check(source: string, context?: Partial<LintContext>): UnboundLintOffense[];
|
|
8
8
|
autofix(_offense: LintOffense, source: string, _context?: Partial<LintContext>): string | null;
|
|
@@ -2,7 +2,7 @@ import { ParserRule } from "../types.js";
|
|
|
2
2
|
import type { UnboundLintOffense, LintContext, FullRuleConfig } from "../types.js";
|
|
3
3
|
import type { ParseResult } from "@herb-tools/core";
|
|
4
4
|
export declare class HerbDisableCommentMalformedRule extends ParserRule {
|
|
5
|
-
|
|
5
|
+
static ruleName: string;
|
|
6
6
|
get defaultConfig(): FullRuleConfig;
|
|
7
7
|
check(result: ParseResult, context?: Partial<LintContext>): UnboundLintOffense[];
|
|
8
8
|
}
|
|
@@ -2,7 +2,7 @@ import { ParserRule } from "../types.js";
|
|
|
2
2
|
import type { UnboundLintOffense, LintContext, FullRuleConfig } from "../types.js";
|
|
3
3
|
import type { ParseResult } from "@herb-tools/core";
|
|
4
4
|
export declare class HerbDisableCommentMissingRulesRule extends ParserRule {
|
|
5
|
-
|
|
5
|
+
static ruleName: string;
|
|
6
6
|
get defaultConfig(): FullRuleConfig;
|
|
7
7
|
check(result: ParseResult, context?: Partial<LintContext>): UnboundLintOffense[];
|
|
8
8
|
}
|
|
@@ -2,7 +2,7 @@ import { ParserRule } from "../types.js";
|
|
|
2
2
|
import type { UnboundLintOffense, LintContext, FullRuleConfig } from "../types.js";
|
|
3
3
|
import type { ParseResult } from "@herb-tools/core";
|
|
4
4
|
export declare class HerbDisableCommentNoDuplicateRulesRule extends ParserRule {
|
|
5
|
-
|
|
5
|
+
static ruleName: string;
|
|
6
6
|
get defaultConfig(): FullRuleConfig;
|
|
7
7
|
check(result: ParseResult, context?: Partial<LintContext>): UnboundLintOffense[];
|
|
8
8
|
}
|
|
@@ -2,7 +2,7 @@ import { ParserRule } from "../types.js";
|
|
|
2
2
|
import type { UnboundLintOffense, LintContext, FullRuleConfig } from "../types.js";
|
|
3
3
|
import type { ParseResult } from "@herb-tools/core";
|
|
4
4
|
export declare class HerbDisableCommentNoRedundantAllRule extends ParserRule {
|
|
5
|
-
|
|
5
|
+
static ruleName: string;
|
|
6
6
|
get defaultConfig(): FullRuleConfig;
|
|
7
7
|
check(result: ParseResult, context?: Partial<LintContext>): UnboundLintOffense[];
|
|
8
8
|
}
|
|
@@ -2,7 +2,7 @@ import { ParserRule } from "../types.js";
|
|
|
2
2
|
import type { UnboundLintOffense, LintContext, FullRuleConfig } from "../types.js";
|
|
3
3
|
import type { ParseResult } from "@herb-tools/core";
|
|
4
4
|
export declare class HerbDisableCommentUnnecessaryRule extends ParserRule {
|
|
5
|
-
|
|
5
|
+
static ruleName: string;
|
|
6
6
|
get defaultConfig(): FullRuleConfig;
|
|
7
7
|
check(result: ParseResult, context?: Partial<LintContext>): UnboundLintOffense[];
|
|
8
8
|
}
|
|
@@ -2,7 +2,7 @@ import { ParserRule } from "../types.js";
|
|
|
2
2
|
import type { UnboundLintOffense, LintContext, FullRuleConfig } from "../types.js";
|
|
3
3
|
import type { ParseResult } from "@herb-tools/core";
|
|
4
4
|
export declare class HerbDisableCommentValidRuleNameRule extends ParserRule {
|
|
5
|
-
|
|
5
|
+
static ruleName: string;
|
|
6
6
|
get defaultConfig(): FullRuleConfig;
|
|
7
7
|
check(result: ParseResult, context?: Partial<LintContext>): UnboundLintOffense[];
|
|
8
8
|
}
|
package/dist/types/{src/rules/html-anchor-require-href.d.ts → rules/html-allowed-script-type.d.ts}
RENAMED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { ParserRule } from "../types.js";
|
|
2
2
|
import type { UnboundLintOffense, LintContext, FullRuleConfig } from "../types.js";
|
|
3
3
|
import type { ParseResult } from "@herb-tools/core";
|
|
4
|
-
export declare class
|
|
5
|
-
|
|
4
|
+
export declare class HTMLAllowedScriptTypeRule extends ParserRule {
|
|
5
|
+
static ruleName: string;
|
|
6
6
|
get defaultConfig(): FullRuleConfig;
|
|
7
7
|
check(result: ParseResult, context?: Partial<LintContext>): UnboundLintOffense[];
|
|
8
8
|
}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { ParserRule } from "../types.js";
|
|
2
2
|
import type { UnboundLintOffense, LintContext, FullRuleConfig } from "../types.js";
|
|
3
|
-
import type { ParseResult } from "@herb-tools/core";
|
|
3
|
+
import type { ParseResult, ParserOptions } from "@herb-tools/core";
|
|
4
4
|
export declare class HTMLAnchorRequireHrefRule extends ParserRule {
|
|
5
|
-
|
|
5
|
+
static ruleName: string;
|
|
6
6
|
get defaultConfig(): FullRuleConfig;
|
|
7
|
+
get parserOptions(): Partial<ParserOptions>;
|
|
7
8
|
check(result: ParseResult, context?: Partial<LintContext>): UnboundLintOffense[];
|
|
8
9
|
}
|
|
@@ -2,7 +2,7 @@ import { ParserRule } from "../types.js";
|
|
|
2
2
|
import type { UnboundLintOffense, LintContext, FullRuleConfig } from "../types.js";
|
|
3
3
|
import type { ParseResult } from "@herb-tools/core";
|
|
4
4
|
export declare class HTMLAriaAttributeMustBeValid extends ParserRule {
|
|
5
|
-
|
|
5
|
+
static ruleName: string;
|
|
6
6
|
get defaultConfig(): FullRuleConfig;
|
|
7
7
|
check(result: ParseResult, context?: Partial<LintContext>): UnboundLintOffense[];
|
|
8
8
|
}
|
|
@@ -2,7 +2,7 @@ import { ParserRule } from "../types.js";
|
|
|
2
2
|
import type { UnboundLintOffense, LintContext, FullRuleConfig } from "../types.js";
|
|
3
3
|
import type { ParseResult } from "@herb-tools/core";
|
|
4
4
|
export declare class HTMLAriaLabelIsWellFormattedRule extends ParserRule {
|
|
5
|
-
|
|
5
|
+
static ruleName: string;
|
|
6
6
|
get defaultConfig(): FullRuleConfig;
|
|
7
7
|
check(result: ParseResult, context?: Partial<LintContext>): UnboundLintOffense[];
|
|
8
8
|
}
|
|
@@ -2,7 +2,7 @@ import { ParserRule } from "../types.js";
|
|
|
2
2
|
import type { UnboundLintOffense, LintContext, FullRuleConfig } from "../types.js";
|
|
3
3
|
import type { ParseResult } from "@herb-tools/core";
|
|
4
4
|
export declare class HTMLAriaLevelMustBeValidRule extends ParserRule {
|
|
5
|
-
|
|
5
|
+
static ruleName: string;
|
|
6
6
|
get defaultConfig(): FullRuleConfig;
|
|
7
7
|
check(result: ParseResult, context?: Partial<LintContext>): UnboundLintOffense[];
|
|
8
8
|
}
|
|
@@ -2,7 +2,7 @@ import { ParserRule } from "../types.js";
|
|
|
2
2
|
import type { UnboundLintOffense, LintContext, FullRuleConfig } from "../types.js";
|
|
3
3
|
import type { ParseResult } from "@herb-tools/core";
|
|
4
4
|
export declare class HTMLAriaRoleHeadingRequiresLevelRule extends ParserRule {
|
|
5
|
-
|
|
5
|
+
static ruleName: string;
|
|
6
6
|
get defaultConfig(): FullRuleConfig;
|
|
7
7
|
check(result: ParseResult, context?: Partial<LintContext>): UnboundLintOffense[];
|
|
8
8
|
}
|
|
@@ -2,7 +2,7 @@ import { ParserRule } from "../types.js";
|
|
|
2
2
|
import type { UnboundLintOffense, LintContext, FullRuleConfig } from "../types.js";
|
|
3
3
|
import type { ParseResult } from "@herb-tools/core";
|
|
4
4
|
export declare class HTMLAriaRoleMustBeValidRule extends ParserRule {
|
|
5
|
-
|
|
5
|
+
static ruleName: string;
|
|
6
6
|
get defaultConfig(): FullRuleConfig;
|
|
7
7
|
check(result: ParseResult, context?: Partial<LintContext>): UnboundLintOffense[];
|
|
8
8
|
}
|
|
@@ -7,7 +7,7 @@ interface AttributeDoubleQuotesAutofixContext extends BaseAutofixContext {
|
|
|
7
7
|
}
|
|
8
8
|
export declare class HTMLAttributeDoubleQuotesRule extends ParserRule<AttributeDoubleQuotesAutofixContext> {
|
|
9
9
|
static autocorrectable: boolean;
|
|
10
|
-
|
|
10
|
+
static ruleName: string;
|
|
11
11
|
get defaultConfig(): FullRuleConfig;
|
|
12
12
|
check(result: ParseResult, context?: Partial<LintContext>): UnboundLintOffense<AttributeDoubleQuotesAutofixContext>[];
|
|
13
13
|
autofix(offense: LintOffense<AttributeDoubleQuotesAutofixContext>, result: ParseResult, _context?: Partial<LintContext>): ParseResult | null;
|
|
@@ -6,7 +6,7 @@ interface AttributeEqualsSpacingAutofixContext extends BaseAutofixContext {
|
|
|
6
6
|
}
|
|
7
7
|
export declare class HTMLAttributeEqualsSpacingRule extends ParserRule<AttributeEqualsSpacingAutofixContext> {
|
|
8
8
|
static autocorrectable: boolean;
|
|
9
|
-
|
|
9
|
+
static ruleName: string;
|
|
10
10
|
get defaultConfig(): FullRuleConfig;
|
|
11
11
|
check(result: ParseResult, context?: Partial<LintContext>): UnboundLintOffense<AttributeEqualsSpacingAutofixContext>[];
|
|
12
12
|
autofix(offense: LintOffense<AttributeEqualsSpacingAutofixContext>, result: ParseResult, _context?: Partial<LintContext>): ParseResult | null;
|
|
@@ -7,7 +7,7 @@ interface AttributeValuesRequireQuotesAutofixContext extends BaseAutofixContext
|
|
|
7
7
|
}
|
|
8
8
|
export declare class HTMLAttributeValuesRequireQuotesRule extends ParserRule<AttributeValuesRequireQuotesAutofixContext> {
|
|
9
9
|
static autocorrectable: boolean;
|
|
10
|
-
|
|
10
|
+
static ruleName: string;
|
|
11
11
|
get defaultConfig(): FullRuleConfig;
|
|
12
12
|
check(result: ParseResult, context?: Partial<LintContext>): UnboundLintOffense<AttributeValuesRequireQuotesAutofixContext>[];
|
|
13
13
|
autofix(offense: LintOffense<AttributeValuesRequireQuotesAutofixContext>, result: ParseResult, _context?: Partial<LintContext>): ParseResult | null;
|
|
@@ -2,7 +2,7 @@ import { ParserRule } from "../types.js";
|
|
|
2
2
|
import type { UnboundLintOffense, LintContext, FullRuleConfig } from "../types.js";
|
|
3
3
|
import type { ParseResult } from "@herb-tools/core";
|
|
4
4
|
export declare class HTMLAvoidBothDisabledAndAriaDisabledRule extends ParserRule {
|
|
5
|
-
|
|
5
|
+
static ruleName: string;
|
|
6
6
|
get defaultConfig(): FullRuleConfig;
|
|
7
7
|
check(result: ParseResult, context?: Partial<LintContext>): UnboundLintOffense[];
|
|
8
8
|
}
|
|
@@ -3,7 +3,7 @@ import type { UnboundLintOffense, LintContext, FullRuleConfig } from "../types.j
|
|
|
3
3
|
import type { ParseResult } from "@herb-tools/core";
|
|
4
4
|
export declare class HTMLBodyOnlyElementsRule extends ParserRule {
|
|
5
5
|
static autocorrectable: boolean;
|
|
6
|
-
|
|
6
|
+
static ruleName: string;
|
|
7
7
|
get defaultConfig(): FullRuleConfig;
|
|
8
8
|
check(result: ParseResult, context?: Partial<LintContext>): UnboundLintOffense[];
|
|
9
9
|
}
|
|
@@ -6,7 +6,7 @@ interface BooleanAttributeAutofixContext extends BaseAutofixContext {
|
|
|
6
6
|
}
|
|
7
7
|
export declare class HTMLBooleanAttributesNoValueRule extends ParserRule<BooleanAttributeAutofixContext> {
|
|
8
8
|
static autocorrectable: boolean;
|
|
9
|
-
|
|
9
|
+
static ruleName: string;
|
|
10
10
|
get defaultConfig(): FullRuleConfig;
|
|
11
11
|
check(result: ParseResult, context?: Partial<LintContext>): UnboundLintOffense<BooleanAttributeAutofixContext>[];
|
|
12
12
|
autofix(offense: LintOffense<BooleanAttributeAutofixContext>, result: ParseResult, _context?: Partial<LintContext>): ParseResult | null;
|
package/dist/types/{src/rules/html-no-empty-attributes.d.ts → rules/html-details-has-summary.d.ts}
RENAMED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { ParserRule } from "../types.js";
|
|
2
2
|
import type { UnboundLintOffense, LintContext, FullRuleConfig } from "../types.js";
|
|
3
|
-
import type { ParseResult } from "@herb-tools/core";
|
|
4
|
-
export declare class
|
|
5
|
-
|
|
3
|
+
import type { ParseResult, ParserOptions } from "@herb-tools/core";
|
|
4
|
+
export declare class HTMLDetailsHasSummaryRule extends ParserRule {
|
|
5
|
+
static ruleName: string;
|
|
6
6
|
get defaultConfig(): FullRuleConfig;
|
|
7
|
+
get parserOptions(): Partial<ParserOptions>;
|
|
7
8
|
check(result: ParseResult, context?: Partial<LintContext>): UnboundLintOffense[];
|
|
8
9
|
}
|
|
@@ -3,7 +3,7 @@ import type { ParseResult } from "@herb-tools/core";
|
|
|
3
3
|
import type { UnboundLintOffense, LintContext, FullRuleConfig } from "../types";
|
|
4
4
|
export declare class HTMLHeadOnlyElementsRule extends ParserRule {
|
|
5
5
|
static autocorrectable: boolean;
|
|
6
|
-
|
|
6
|
+
static ruleName: string;
|
|
7
7
|
get defaultConfig(): FullRuleConfig;
|
|
8
8
|
check(result: ParseResult, context?: Partial<LintContext>): UnboundLintOffense[];
|
|
9
9
|
}
|
|
@@ -2,7 +2,7 @@ import { ParserRule } from "../types.js";
|
|
|
2
2
|
import type { UnboundLintOffense, LintContext, FullRuleConfig } from "../types.js";
|
|
3
3
|
import type { ParseResult } from "@herb-tools/core";
|
|
4
4
|
export declare class HTMLIframeHasTitleRule extends ParserRule {
|
|
5
|
-
|
|
5
|
+
static ruleName: string;
|
|
6
6
|
get defaultConfig(): FullRuleConfig;
|
|
7
7
|
check(result: ParseResult, context?: Partial<LintContext>): UnboundLintOffense[];
|
|
8
8
|
}
|
|
@@ -2,7 +2,7 @@ import { ParserRule } from "../types.js";
|
|
|
2
2
|
import type { UnboundLintOffense, LintContext, FullRuleConfig } from "../types.js";
|
|
3
3
|
import type { ParseResult } from "@herb-tools/core";
|
|
4
4
|
export declare class HTMLImgRequireAltRule extends ParserRule {
|
|
5
|
-
|
|
5
|
+
static ruleName: string;
|
|
6
6
|
get defaultConfig(): FullRuleConfig;
|
|
7
7
|
check(result: ParseResult, context?: Partial<LintContext>): UnboundLintOffense[];
|
|
8
8
|
}
|
|
@@ -2,7 +2,7 @@ import { ParserRule } from "../types.js";
|
|
|
2
2
|
import type { UnboundLintOffense, LintContext, FullRuleConfig } from "../types.js";
|
|
3
3
|
import type { ParseResult } from "@herb-tools/core";
|
|
4
4
|
export declare class HTMLInputRequireAutocompleteRule extends ParserRule {
|
|
5
|
-
|
|
5
|
+
static ruleName: string;
|
|
6
6
|
get defaultConfig(): FullRuleConfig;
|
|
7
7
|
check(result: ParseResult, context?: Partial<LintContext>): UnboundLintOffense[];
|
|
8
8
|
}
|
|
@@ -2,7 +2,7 @@ import { ParserRule } from "../types.js";
|
|
|
2
2
|
import type { UnboundLintOffense, LintContext, FullRuleConfig } from "../types.js";
|
|
3
3
|
import type { ParseResult } from "@herb-tools/core";
|
|
4
4
|
export declare class HTMLNavigationHasLabelRule extends ParserRule {
|
|
5
|
-
|
|
5
|
+
static ruleName: string;
|
|
6
6
|
get defaultConfig(): FullRuleConfig;
|
|
7
7
|
check(result: ParseResult, context?: Partial<LintContext>): UnboundLintOffense[];
|
|
8
8
|
}
|
package/dist/types/{src/rules/html-no-empty-headings.d.ts → rules/html-no-abstract-roles.d.ts}
RENAMED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { ParserRule } from "../types.js";
|
|
2
2
|
import type { UnboundLintOffense, LintContext, FullRuleConfig } from "../types.js";
|
|
3
3
|
import type { ParseResult } from "@herb-tools/core";
|
|
4
|
-
export declare class
|
|
5
|
-
|
|
4
|
+
export declare class HTMLNoAbstractRolesRule extends ParserRule {
|
|
5
|
+
static ruleName: string;
|
|
6
6
|
get defaultConfig(): FullRuleConfig;
|
|
7
7
|
check(result: ParseResult, context?: Partial<LintContext>): UnboundLintOffense[];
|
|
8
8
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type { ParseResult } from "@herb-tools/core";
|
|
2
1
|
import { ParserRule } from "../types.js";
|
|
3
2
|
import type { UnboundLintOffense, LintContext, FullRuleConfig } from "../types.js";
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
import type { ParseResult } from "@herb-tools/core";
|
|
4
|
+
export declare class HTMLNoAriaHiddenOnBodyRule extends ParserRule {
|
|
5
|
+
static ruleName: string;
|
|
6
6
|
get defaultConfig(): FullRuleConfig;
|
|
7
7
|
check(result: ParseResult, context?: Partial<LintContext>): UnboundLintOffense[];
|
|
8
8
|
}
|
|
@@ -2,7 +2,7 @@ import { ParserRule } from "../types.js";
|
|
|
2
2
|
import type { UnboundLintOffense, LintContext, FullRuleConfig } from "../types.js";
|
|
3
3
|
import type { ParseResult } from "@herb-tools/core";
|
|
4
4
|
export declare class HTMLNoAriaHiddenOnFocusableRule extends ParserRule {
|
|
5
|
-
|
|
5
|
+
static ruleName: string;
|
|
6
6
|
get defaultConfig(): FullRuleConfig;
|
|
7
7
|
check(result: ParseResult, context?: Partial<LintContext>): UnboundLintOffense[];
|
|
8
8
|
}
|
|
@@ -2,7 +2,7 @@ import { ParserRule } from "../types.js";
|
|
|
2
2
|
import type { UnboundLintOffense, LintContext, FullRuleConfig } from "../types.js";
|
|
3
3
|
import type { ParseResult } from "@herb-tools/core";
|
|
4
4
|
export declare class HTMLNoBlockInsideInlineRule extends ParserRule {
|
|
5
|
-
|
|
5
|
+
static ruleName: string;
|
|
6
6
|
get defaultConfig(): FullRuleConfig;
|
|
7
7
|
check(result: ParseResult, context?: Partial<LintContext>): UnboundLintOffense[];
|
|
8
8
|
}
|
|
@@ -2,7 +2,7 @@ import { ParserRule } from "../types.js";
|
|
|
2
2
|
import type { UnboundLintOffense, LintContext, FullRuleConfig } from "../types.js";
|
|
3
3
|
import type { ParseResult } from "@herb-tools/core";
|
|
4
4
|
export declare class HTMLNoDuplicateAttributesRule extends ParserRule {
|
|
5
|
-
|
|
5
|
+
static ruleName: string;
|
|
6
6
|
get defaultConfig(): FullRuleConfig;
|
|
7
7
|
check(result: ParseResult, context?: Partial<LintContext>): UnboundLintOffense[];
|
|
8
8
|
}
|
|
@@ -2,7 +2,7 @@ import { ParserRule } from "../types";
|
|
|
2
2
|
import type { ParseResult } from "@herb-tools/core";
|
|
3
3
|
import type { UnboundLintOffense, LintContext, FullRuleConfig } from "../types";
|
|
4
4
|
export declare class HTMLNoDuplicateIdsRule extends ParserRule {
|
|
5
|
-
|
|
5
|
+
static ruleName: string;
|
|
6
6
|
get defaultConfig(): FullRuleConfig;
|
|
7
7
|
check(result: ParseResult, context?: Partial<LintContext>): UnboundLintOffense[];
|
|
8
8
|
}
|
|
@@ -3,7 +3,7 @@ import type { ParseResult } from "@herb-tools/core";
|
|
|
3
3
|
import type { UnboundLintOffense, LintContext, FullRuleConfig } from "../types";
|
|
4
4
|
export declare class HTMLNoDuplicateMetaNamesRule extends ParserRule {
|
|
5
5
|
static autocorrectable: boolean;
|
|
6
|
-
|
|
6
|
+
static ruleName: string;
|
|
7
7
|
get defaultConfig(): FullRuleConfig;
|
|
8
8
|
check(result: ParseResult, context?: Partial<LintContext>): UnboundLintOffense[];
|
|
9
9
|
}
|
|
@@ -2,7 +2,7 @@ import { ParserRule } from "../types.js";
|
|
|
2
2
|
import type { UnboundLintOffense, LintContext, FullRuleConfig } from "../types.js";
|
|
3
3
|
import type { ParseResult } from "@herb-tools/core";
|
|
4
4
|
export declare class HTMLNoEmptyAttributesRule extends ParserRule {
|
|
5
|
-
|
|
5
|
+
static ruleName: string;
|
|
6
6
|
get defaultConfig(): FullRuleConfig;
|
|
7
7
|
check(result: ParseResult, context?: Partial<LintContext>): UnboundLintOffense[];
|
|
8
8
|
}
|
|
@@ -2,7 +2,7 @@ import { ParserRule } from "../types.js";
|
|
|
2
2
|
import type { UnboundLintOffense, LintContext, FullRuleConfig } from "../types.js";
|
|
3
3
|
import type { ParseResult } from "@herb-tools/core";
|
|
4
4
|
export declare class HTMLNoEmptyHeadingsRule extends ParserRule {
|
|
5
|
-
|
|
5
|
+
static ruleName: string;
|
|
6
6
|
get defaultConfig(): FullRuleConfig;
|
|
7
7
|
check(result: ParseResult, context?: Partial<LintContext>): UnboundLintOffense[];
|
|
8
8
|
}
|
|
@@ -2,7 +2,7 @@ import { ParserRule } from "../types.js";
|
|
|
2
2
|
import type { UnboundLintOffense, LintContext, FullRuleConfig } from "../types.js";
|
|
3
3
|
import type { ParseResult } from "@herb-tools/core";
|
|
4
4
|
export declare class HTMLNoNestedLinksRule extends ParserRule {
|
|
5
|
-
|
|
5
|
+
static ruleName: string;
|
|
6
6
|
get defaultConfig(): FullRuleConfig;
|
|
7
7
|
check(result: ParseResult, context?: Partial<LintContext>): UnboundLintOffense[];
|
|
8
8
|
}
|
|
@@ -2,7 +2,7 @@ import { ParserRule } from "../types.js";
|
|
|
2
2
|
import type { UnboundLintOffense, LintContext, FullRuleConfig } from "../types.js";
|
|
3
3
|
import type { ParseResult } from "@herb-tools/core";
|
|
4
4
|
export declare class HTMLNoPositiveTabIndexRule extends ParserRule {
|
|
5
|
-
|
|
5
|
+
static ruleName: string;
|
|
6
6
|
get defaultConfig(): FullRuleConfig;
|
|
7
7
|
check(result: ParseResult, context?: Partial<LintContext>): UnboundLintOffense[];
|
|
8
8
|
}
|
|
@@ -8,7 +8,7 @@ interface NoSelfClosingAutofixContext extends BaseAutofixContext {
|
|
|
8
8
|
}
|
|
9
9
|
export declare class HTMLNoSelfClosingRule extends ParserRule<NoSelfClosingAutofixContext> {
|
|
10
10
|
static autocorrectable: boolean;
|
|
11
|
-
|
|
11
|
+
static ruleName: string;
|
|
12
12
|
get defaultConfig(): FullRuleConfig;
|
|
13
13
|
check(result: ParseResult, context?: Partial<LintContext>): UnboundLintOffense<NoSelfClosingAutofixContext>[];
|
|
14
14
|
autofix(offense: LintOffense<NoSelfClosingAutofixContext>, result: ParseResult, _context?: Partial<LintContext>): ParseResult | null;
|
|
@@ -8,7 +8,7 @@ interface HTMLNoSpaceInTagAutofixContext extends BaseAutofixContext {
|
|
|
8
8
|
}
|
|
9
9
|
export declare class HTMLNoSpaceInTagRule extends ParserRule<HTMLNoSpaceInTagAutofixContext> {
|
|
10
10
|
static autocorrectable: boolean;
|
|
11
|
-
|
|
11
|
+
static ruleName: string;
|
|
12
12
|
get defaultConfig(): FullRuleConfig;
|
|
13
13
|
check(result: ParseResult, context?: Partial<LintContext>): UnboundLintOffense<HTMLNoSpaceInTagAutofixContext>[];
|
|
14
14
|
autofix(offense: LintOffense<HTMLNoSpaceInTagAutofixContext>, result: ParseResult, _context?: Partial<LintContext>): ParseResult | null;
|
|
@@ -2,7 +2,7 @@ import { ParserRule } from "../types.js";
|
|
|
2
2
|
import type { UnboundLintOffense, LintContext, FullRuleConfig } from "../types.js";
|
|
3
3
|
import type { ParseResult } from "@herb-tools/core";
|
|
4
4
|
export declare class HTMLNoTitleAttributeRule extends ParserRule {
|
|
5
|
-
|
|
5
|
+
static ruleName: string;
|
|
6
6
|
get defaultConfig(): FullRuleConfig;
|
|
7
7
|
check(result: ParseResult, context?: Partial<LintContext>): UnboundLintOffense[];
|
|
8
8
|
}
|
|
@@ -2,7 +2,7 @@ import { ParserRule } from "../types.js";
|
|
|
2
2
|
import type { UnboundLintOffense, LintContext, FullRuleConfig } from "../types.js";
|
|
3
3
|
import type { ParseResult } from "@herb-tools/core";
|
|
4
4
|
export declare class HTMLNoUnderscoresInAttributeNamesRule extends ParserRule {
|
|
5
|
-
|
|
5
|
+
static ruleName: string;
|
|
6
6
|
get defaultConfig(): FullRuleConfig;
|
|
7
7
|
check(result: ParseResult, context?: Partial<LintContext>): UnboundLintOffense[];
|
|
8
8
|
}
|
package/dist/types/{src/rules/html-body-only-elements.d.ts → rules/html-require-closing-tags.d.ts}
RENAMED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { ParserRule } from "../types.js";
|
|
2
2
|
import type { UnboundLintOffense, LintContext, FullRuleConfig } from "../types.js";
|
|
3
|
-
import type { ParseResult } from "@herb-tools/core";
|
|
4
|
-
export declare class
|
|
3
|
+
import type { ParseResult, ParserOptions } from "@herb-tools/core";
|
|
4
|
+
export declare class HTMLRequireClosingTagsRule extends ParserRule {
|
|
5
5
|
static autocorrectable: boolean;
|
|
6
|
-
|
|
6
|
+
static ruleName: string;
|
|
7
7
|
get defaultConfig(): FullRuleConfig;
|
|
8
|
+
get parserOptions(): Partial<ParserOptions>;
|
|
8
9
|
check(result: ParseResult, context?: Partial<LintContext>): UnboundLintOffense[];
|
|
9
10
|
}
|
|
@@ -9,7 +9,7 @@ interface TagNameAutofixContext extends BaseAutofixContext {
|
|
|
9
9
|
}
|
|
10
10
|
export declare class HTMLTagNameLowercaseRule extends ParserRule<TagNameAutofixContext> {
|
|
11
11
|
static autocorrectable: boolean;
|
|
12
|
-
|
|
12
|
+
static ruleName: string;
|
|
13
13
|
get defaultConfig(): FullRuleConfig;
|
|
14
14
|
isEnabled(result: ParseResult, _context?: Partial<LintContext>): boolean;
|
|
15
15
|
check(result: ParseResult, context?: Partial<LintContext>): UnboundLintOffense<TagNameAutofixContext>[];
|
|
@@ -4,15 +4,29 @@ export * from "./string-utils.js";
|
|
|
4
4
|
export * from "./herb-disable-comment-base.js";
|
|
5
5
|
export * from "./erb-comment-syntax.js";
|
|
6
6
|
export * from "./erb-no-case-node-children.js";
|
|
7
|
+
export * from "./erb-no-inline-case-conditions.js";
|
|
8
|
+
export * from "./erb-no-conditional-open-tag.js";
|
|
9
|
+
export * from "./erb-no-duplicate-branch-elements.js";
|
|
7
10
|
export * from "./erb-no-empty-tags.js";
|
|
8
11
|
export * from "./erb-no-extra-newline.js";
|
|
9
12
|
export * from "./erb-no-extra-whitespace-inside-tags.js";
|
|
10
13
|
export * from "./erb-no-output-control-flow.js";
|
|
14
|
+
export * from "./erb-no-then-in-control-flow.js";
|
|
11
15
|
export * from "./erb-no-silent-tag-in-attribute-name.js";
|
|
16
|
+
export * from "./erb-no-trailing-whitespace.js";
|
|
12
17
|
export * from "./erb-prefer-image-tag-helper.js";
|
|
13
18
|
export * from "./erb-require-trailing-newline.js";
|
|
14
19
|
export * from "./erb-require-whitespace-inside-tags.js";
|
|
20
|
+
export * from "./erb-no-javascript-tag-helper.js";
|
|
21
|
+
export * from "./erb-no-raw-output-in-attribute-value.js";
|
|
22
|
+
export * from "./erb-no-statement-in-script.js";
|
|
23
|
+
export * from "./erb-no-unsafe-js-attribute.js";
|
|
24
|
+
export * from "./erb-no-unsafe-raw.js";
|
|
25
|
+
export * from "./erb-no-unsafe-script-interpolation.js";
|
|
15
26
|
export * from "./erb-right-trim.js";
|
|
27
|
+
export * from "./erb-no-output-in-attribute-position.js";
|
|
28
|
+
export * from "./erb-no-output-in-attribute-name.js";
|
|
29
|
+
export * from "./erb-no-instance-variables-in-partials.js";
|
|
16
30
|
export * from "./erb-strict-locals-comment-syntax.js";
|
|
17
31
|
export * from "./erb-strict-locals-required.js";
|
|
18
32
|
export * from "./herb-disable-comment-valid-rule-name.js";
|
|
@@ -21,6 +35,7 @@ export * from "./herb-disable-comment-no-duplicate-rules.js";
|
|
|
21
35
|
export * from "./herb-disable-comment-missing-rules.js";
|
|
22
36
|
export * from "./herb-disable-comment-malformed.js";
|
|
23
37
|
export * from "./herb-disable-comment-unnecessary.js";
|
|
38
|
+
export * from "./html-allowed-script-type.js";
|
|
24
39
|
export * from "./html-anchor-require-href.js";
|
|
25
40
|
export * from "./html-aria-label-is-well-formatted.js";
|
|
26
41
|
export * from "./html-aria-level-must-be-valid.js";
|
|
@@ -31,12 +46,15 @@ export * from "./html-attribute-equals-spacing.js";
|
|
|
31
46
|
export * from "./html-attribute-values-require-quotes.js";
|
|
32
47
|
export * from "./html-avoid-both-disabled-and-aria-disabled.js";
|
|
33
48
|
export * from "./html-body-only-elements.js";
|
|
49
|
+
export * from "./html-details-has-summary.js";
|
|
34
50
|
export * from "./html-boolean-attributes-no-value.js";
|
|
35
51
|
export * from "./html-head-only-elements.js";
|
|
36
52
|
export * from "./html-iframe-has-title.js";
|
|
37
53
|
export * from "./html-img-require-alt.js";
|
|
38
54
|
export * from "./html-input-require-autocomplete.js";
|
|
39
55
|
export * from "./html-navigation-has-label.js";
|
|
56
|
+
export * from "./html-no-abstract-roles.js";
|
|
57
|
+
export * from "./html-no-aria-hidden-on-body.js";
|
|
40
58
|
export * from "./html-no-aria-hidden-on-focusable.js";
|
|
41
59
|
export * from "./html-no-block-inside-inline.js";
|
|
42
60
|
export * from "./html-no-duplicate-attributes.js";
|
|
@@ -50,5 +68,6 @@ export * from "./html-no-self-closing.js";
|
|
|
50
68
|
export * from "./html-no-space-in-tag.js";
|
|
51
69
|
export * from "./html-no-title-attribute.js";
|
|
52
70
|
export * from "./html-no-underscores-in-attribute-names.js";
|
|
71
|
+
export * from "./html-require-closing-tags.js";
|
|
53
72
|
export * from "./html-tag-name-lowercase.js";
|
|
54
73
|
export * from "./svg-tag-name-capitalization.js";
|
|
@@ -2,7 +2,7 @@ import { ParserRule } from "../types.js";
|
|
|
2
2
|
import type { LintOffense, FullRuleConfig } from "../types.js";
|
|
3
3
|
import type { ParseResult } from "@herb-tools/core";
|
|
4
4
|
export declare class ParserNoErrorsRule extends ParserRule {
|
|
5
|
-
|
|
5
|
+
static ruleName: string;
|
|
6
6
|
get defaultConfig(): FullRuleConfig;
|
|
7
7
|
check(result: ParseResult): LintOffense[];
|
|
8
8
|
private herbErrorToLintOffense;
|