@redocly/recheck 0.14.0 → 2.58.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 +71 -1869
- package/examples/appendices/google.appendix.yaml +1 -1
- package/examples/appendices/inclusive-language.appendix.yaml +1 -1
- package/examples/appendices/microsoft.appendix.yaml +1 -1
- package/examples/appendices/plain-language.appendix.yaml +1 -1
- package/examples/appendices/technical-english.appendix.yaml +1 -1
- package/examples/google.yaml +7 -7
- package/examples/inclusive-language.yaml +7 -7
- package/examples/microsoft.yaml +7 -7
- package/examples/plain-language.yaml +7 -7
- package/examples/technical-english.yaml +7 -7
- package/lib/actions/baseline.d.ts +15 -0
- package/lib/actions/baseline.d.ts.map +1 -0
- package/lib/actions/baseline.js +51 -0
- package/lib/actions/baseline.js.map +1 -0
- package/lib/actions/lint.d.ts +51 -0
- package/lib/actions/lint.d.ts.map +1 -0
- package/lib/actions/lint.js +123 -0
- package/lib/actions/lint.js.map +1 -0
- package/lib/actions/markdoc-schema.d.ts +34 -0
- package/lib/actions/markdoc-schema.d.ts.map +1 -0
- package/lib/actions/markdoc-schema.js +106 -0
- package/lib/actions/markdoc-schema.js.map +1 -0
- package/lib/actions/readability.d.ts +25 -0
- package/lib/actions/readability.d.ts.map +1 -0
- package/lib/actions/readability.js +47 -0
- package/lib/actions/readability.js.map +1 -0
- package/lib/actions/roots.d.ts +7 -0
- package/lib/actions/roots.d.ts.map +1 -0
- package/lib/actions/roots.js +36 -0
- package/lib/actions/roots.js.map +1 -0
- package/lib/config/presets/api-descriptions.d.ts +8 -0
- package/lib/config/presets/api-descriptions.d.ts.map +1 -0
- package/lib/config/presets/api-descriptions.js +24 -0
- package/lib/config/presets/api-descriptions.js.map +1 -0
- package/lib/config/presets/google.d.ts +3 -0
- package/lib/config/presets/google.d.ts.map +1 -0
- package/lib/config/presets/google.js +1086 -0
- package/lib/config/presets/google.js.map +1 -0
- package/lib/config/presets/inclusive-language.d.ts +3 -0
- package/lib/config/presets/inclusive-language.d.ts.map +1 -0
- package/lib/config/presets/inclusive-language.js +151 -0
- package/lib/config/presets/inclusive-language.js.map +1 -0
- package/lib/config/presets/index.d.ts +16 -0
- package/lib/config/presets/index.d.ts.map +1 -0
- package/lib/config/presets/index.js +38 -0
- package/lib/config/presets/index.js.map +1 -0
- package/lib/config/presets/markdoc.d.ts +3 -0
- package/lib/config/presets/markdoc.d.ts.map +1 -0
- package/lib/config/presets/markdoc.js +45 -0
- package/lib/config/presets/markdoc.js.map +1 -0
- package/lib/config/presets/markdown-relaxed.d.ts +3 -0
- package/lib/config/presets/markdown-relaxed.d.ts.map +1 -0
- package/lib/config/presets/markdown-relaxed.js +34 -0
- package/lib/config/presets/markdown-relaxed.js.map +1 -0
- package/lib/config/presets/markdown.d.ts +11 -0
- package/lib/config/presets/markdown.d.ts.map +1 -0
- package/lib/config/presets/markdown.js +73 -0
- package/lib/config/presets/markdown.js.map +1 -0
- package/lib/config/presets/microsoft.d.ts +3 -0
- package/lib/config/presets/microsoft.d.ts.map +1 -0
- package/lib/config/presets/microsoft.js +1260 -0
- package/lib/config/presets/microsoft.js.map +1 -0
- package/lib/config/presets/minimal.d.ts +3 -0
- package/lib/config/presets/minimal.d.ts.map +1 -0
- package/lib/config/presets/minimal.js +13 -0
- package/lib/config/presets/minimal.js.map +1 -0
- package/lib/config/presets/plain-language.d.ts +3 -0
- package/lib/config/presets/plain-language.d.ts.map +1 -0
- package/lib/config/presets/plain-language.js +175 -0
- package/lib/config/presets/plain-language.js.map +1 -0
- package/lib/config/presets/prose.d.ts +3 -0
- package/lib/config/presets/prose.d.ts.map +1 -0
- package/lib/config/presets/prose.js +60 -0
- package/lib/config/presets/prose.js.map +1 -0
- package/lib/config/presets/technical-english.d.ts +22 -0
- package/lib/config/presets/technical-english.d.ts.map +1 -0
- package/lib/config/presets/technical-english.js +61 -0
- package/lib/config/presets/technical-english.js.map +1 -0
- package/lib/config/resolve.d.ts +36 -0
- package/lib/config/resolve.d.ts.map +1 -0
- package/lib/config/resolve.js +106 -0
- package/lib/config/resolve.js.map +1 -0
- package/lib/config/schema.d.ts +215 -0
- package/lib/config/schema.d.ts.map +1 -0
- package/lib/config/schema.js +152 -0
- package/lib/config/schema.js.map +1 -0
- package/lib/config/validate.d.ts +19 -0
- package/lib/config/validate.d.ts.map +1 -0
- package/lib/config/validate.js +1049 -0
- package/lib/config/validate.js.map +1 -0
- package/lib/core/auto-fix.d.ts.map +1 -0
- package/lib/core/auto-fix.js +94 -0
- package/lib/core/auto-fix.js.map +1 -0
- package/lib/core/baseline.d.ts +43 -0
- package/lib/core/baseline.d.ts.map +1 -0
- package/lib/core/baseline.js +142 -0
- package/lib/core/baseline.js.map +1 -0
- package/lib/core/case-preserve.d.ts +11 -0
- package/lib/core/case-preserve.d.ts.map +1 -0
- package/lib/core/case-preserve.js +22 -0
- package/lib/core/case-preserve.js.map +1 -0
- package/lib/core/directives.d.ts.map +1 -0
- package/lib/core/directives.js +66 -0
- package/lib/core/directives.js.map +1 -0
- package/lib/core/files.d.ts +31 -0
- package/lib/core/files.d.ts.map +1 -0
- package/lib/core/files.js +184 -0
- package/lib/core/files.js.map +1 -0
- package/lib/core/inline-code.d.ts +33 -0
- package/lib/core/inline-code.d.ts.map +1 -0
- package/lib/core/inline-code.js +50 -0
- package/lib/core/inline-code.js.map +1 -0
- package/lib/core/line-endings.d.ts +13 -0
- package/lib/core/line-endings.d.ts.map +1 -0
- package/lib/core/line-endings.js +39 -0
- package/lib/core/line-endings.js.map +1 -0
- package/lib/core/markdoc-tags.d.ts +48 -0
- package/lib/core/markdoc-tags.d.ts.map +1 -0
- package/lib/core/markdoc-tags.js +102 -0
- package/lib/core/markdoc-tags.js.map +1 -0
- package/lib/core/prose-extract.d.ts +6 -0
- package/lib/core/prose-extract.d.ts.map +1 -0
- package/lib/core/prose-extract.js +71 -0
- package/lib/core/prose-extract.js.map +1 -0
- package/lib/core/readability.d.ts +17 -0
- package/lib/core/readability.d.ts.map +1 -0
- package/lib/core/readability.js +34 -0
- package/lib/core/readability.js.map +1 -0
- package/lib/core/rule-filters.d.ts +29 -0
- package/lib/core/rule-filters.d.ts.map +1 -0
- package/lib/core/rule-filters.js +88 -0
- package/lib/core/rule-filters.js.map +1 -0
- package/lib/core/runner.d.ts +60 -0
- package/lib/core/runner.d.ts.map +1 -0
- package/lib/core/runner.js +305 -0
- package/lib/core/runner.js.map +1 -0
- package/lib/core/summary.d.ts +4 -0
- package/lib/core/summary.d.ts.map +1 -0
- package/lib/core/summary.js +37 -0
- package/lib/core/summary.js.map +1 -0
- package/lib/core/timing.d.ts +9 -0
- package/lib/core/timing.d.ts.map +1 -0
- package/lib/core/timing.js +19 -0
- package/lib/core/timing.js.map +1 -0
- package/lib/data/markdoc-realm-schema.d.ts.map +1 -0
- package/lib/data/markdoc-realm-schema.js +782 -0
- package/lib/data/markdoc-realm-schema.js.map +1 -0
- package/lib/data/proper-nouns.d.ts.map +1 -0
- package/lib/data/proper-nouns.js +42 -0
- package/lib/data/proper-nouns.js.map +1 -0
- package/lib/data/realm-front-matter-schema.d.ts +12 -0
- package/lib/data/realm-front-matter-schema.d.ts.map +1 -0
- package/lib/data/realm-front-matter-schema.js +51 -0
- package/lib/data/realm-front-matter-schema.js.map +1 -0
- package/lib/index.d.ts +81 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +114 -0
- package/lib/index.js.map +1 -0
- package/lib/metrics/formulas.d.ts +9 -0
- package/lib/metrics/formulas.d.ts.map +1 -0
- package/lib/metrics/formulas.js +59 -0
- package/lib/metrics/formulas.js.map +1 -0
- package/lib/metrics/statistics.d.ts +14 -0
- package/lib/metrics/statistics.d.ts.map +1 -0
- package/lib/metrics/statistics.js +35 -0
- package/lib/metrics/statistics.js.map +1 -0
- package/lib/parser/index.d.ts +13 -0
- package/lib/parser/index.d.ts.map +1 -0
- package/lib/parser/index.js +123 -0
- package/lib/parser/index.js.map +1 -0
- package/lib/parser/markdoc/extract-statics.d.ts +28 -0
- package/lib/parser/markdoc/extract-statics.d.ts.map +1 -0
- package/lib/parser/markdoc/extract-statics.js +80 -0
- package/lib/parser/markdoc/extract-statics.js.map +1 -0
- package/lib/parser/markdoc/pairing.d.ts +38 -0
- package/lib/parser/markdoc/pairing.d.ts.map +1 -0
- package/lib/parser/markdoc/pairing.js +77 -0
- package/lib/parser/markdoc/pairing.js.map +1 -0
- package/lib/parser/markdoc/schema.d.ts +56 -0
- package/lib/parser/markdoc/schema.d.ts.map +1 -0
- package/lib/parser/markdoc/schema.js +60 -0
- package/lib/parser/markdoc/schema.js.map +1 -0
- package/lib/parser/markdoc/span.d.ts +52 -0
- package/lib/parser/markdoc/span.d.ts.map +1 -0
- package/lib/parser/markdoc/span.js +577 -0
- package/lib/parser/markdoc/span.js.map +1 -0
- package/lib/parser/markdoc/structure.d.ts +17 -0
- package/lib/parser/markdoc/structure.d.ts.map +1 -0
- package/lib/parser/markdoc/structure.js +121 -0
- package/lib/parser/markdoc/structure.js.map +1 -0
- package/lib/parser/markdoc/syntax.d.ts +17 -0
- package/lib/parser/markdoc/syntax.d.ts.map +1 -0
- package/lib/parser/markdoc/syntax.js +262 -0
- package/lib/parser/markdoc/syntax.js.map +1 -0
- package/lib/parser/types.d.ts.map +1 -0
- package/lib/presets.d.ts +6 -0
- package/lib/presets.d.ts.map +1 -0
- package/lib/presets.js +12 -0
- package/lib/presets.js.map +1 -0
- package/lib/rules/registry.d.ts +13 -0
- package/lib/rules/registry.d.ts.map +1 -0
- package/lib/rules/registry.js +54 -0
- package/lib/rules/registry.js.map +1 -0
- package/lib/rules/scope/capitalization.d.ts.map +1 -0
- package/lib/rules/scope/capitalization.js +128 -0
- package/lib/rules/scope/capitalization.js.map +1 -0
- package/lib/rules/scope/conditional.d.ts.map +1 -0
- package/lib/rules/scope/conditional.js +93 -0
- package/lib/rules/scope/conditional.js.map +1 -0
- package/lib/rules/scope/consistency.d.ts.map +1 -0
- package/lib/rules/scope/consistency.js +118 -0
- package/lib/rules/scope/consistency.js.map +1 -0
- package/lib/rules/scope/length.d.ts.map +1 -0
- package/lib/rules/scope/length.js +50 -0
- package/lib/rules/scope/length.js.map +1 -0
- package/lib/rules/scope/max-image-size.d.ts.map +1 -0
- package/lib/rules/scope/max-image-size.js +55 -0
- package/lib/rules/scope/max-image-size.js.map +1 -0
- package/lib/rules/scope/metric.d.ts +3 -0
- package/lib/rules/scope/metric.d.ts.map +1 -0
- package/lib/rules/scope/metric.js +59 -0
- package/lib/rules/scope/metric.js.map +1 -0
- package/lib/rules/scope/occurrence.d.ts.map +1 -0
- package/lib/rules/scope/occurrence.js +41 -0
- package/lib/rules/scope/occurrence.js.map +1 -0
- package/lib/rules/scope/pattern.d.ts.map +1 -0
- package/lib/rules/scope/pattern.js +58 -0
- package/lib/rules/scope/pattern.js.map +1 -0
- package/lib/rules/scope/repetition.d.ts.map +1 -0
- package/lib/rules/scope/repetition.js +134 -0
- package/lib/rules/scope/repetition.js.map +1 -0
- package/lib/rules/scope/semantic-line-breaks.d.ts.map +1 -0
- package/lib/rules/scope/semantic-line-breaks.js +180 -0
- package/lib/rules/scope/semantic-line-breaks.js.map +1 -0
- package/lib/rules/scope/spelling.d.ts +11 -0
- package/lib/rules/scope/spelling.d.ts.map +1 -0
- package/lib/rules/scope/spelling.js +146 -0
- package/lib/rules/scope/spelling.js.map +1 -0
- package/lib/rules/scope/swap.d.ts.map +1 -0
- package/lib/rules/scope/swap.js +111 -0
- package/lib/rules/scope/swap.js.map +1 -0
- package/lib/rules/scope/title-case.d.ts +24 -0
- package/lib/rules/scope/title-case.d.ts.map +1 -0
- package/lib/rules/scope/title-case.js +216 -0
- package/lib/rules/scope/title-case.js.map +1 -0
- package/lib/rules/token/blanks-around-fences.d.ts.map +1 -0
- package/lib/rules/token/blanks-around-fences.js.map +1 -0
- package/lib/rules/token/blanks-around-headings.d.ts.map +1 -0
- package/lib/rules/token/blanks-around-headings.js +96 -0
- package/lib/rules/token/blanks-around-headings.js.map +1 -0
- package/lib/rules/token/blanks-around-lists.d.ts.map +1 -0
- package/lib/rules/token/blanks-around-lists.js +48 -0
- package/lib/rules/token/blanks-around-lists.js.map +1 -0
- package/lib/rules/token/blanks-around-tables.d.ts.map +1 -0
- package/lib/rules/token/blanks-around-tables.js +40 -0
- package/lib/rules/token/blanks-around-tables.js.map +1 -0
- package/lib/rules/token/code-block-style.d.ts.map +1 -0
- package/lib/rules/token/code-block-style.js.map +1 -0
- package/lib/rules/token/code-fence-style.d.ts.map +1 -0
- package/lib/rules/token/code-fence-style.js.map +1 -0
- package/lib/rules/token/commands-show-output.d.ts.map +1 -0
- package/lib/rules/token/commands-show-output.js.map +1 -0
- package/lib/rules/token/descriptive-link-text.d.ts.map +1 -0
- package/lib/rules/token/descriptive-link-text.js +46 -0
- package/lib/rules/token/descriptive-link-text.js.map +1 -0
- package/lib/rules/token/fenced-code-language.d.ts.map +1 -0
- package/lib/rules/token/fenced-code-language.js.map +1 -0
- package/lib/rules/token/first-line-h1.d.ts.map +1 -0
- package/lib/rules/token/first-line-h1.js +83 -0
- package/lib/rules/token/first-line-h1.js.map +1 -0
- package/lib/rules/token/front-matter.d.ts.map +1 -0
- package/lib/rules/token/front-matter.js +169 -0
- package/lib/rules/token/front-matter.js.map +1 -0
- package/lib/rules/token/heading-increment.d.ts.map +1 -0
- package/lib/rules/token/heading-increment.js +26 -0
- package/lib/rules/token/heading-increment.js.map +1 -0
- package/lib/rules/token/heading-start-left.d.ts.map +1 -0
- package/lib/rules/token/heading-start-left.js.map +1 -0
- package/lib/rules/token/heading-style.d.ts.map +1 -0
- package/lib/rules/token/heading-style.js.map +1 -0
- package/lib/rules/token/helpers.d.ts +115 -0
- package/lib/rules/token/helpers.d.ts.map +1 -0
- package/lib/rules/token/helpers.js +502 -0
- package/lib/rules/token/helpers.js.map +1 -0
- package/lib/rules/token/hr-style.d.ts.map +1 -0
- package/lib/rules/token/hr-style.js.map +1 -0
- package/lib/rules/token/index.d.ts +65 -0
- package/lib/rules/token/index.d.ts.map +1 -0
- package/lib/rules/token/index.js +157 -0
- package/lib/rules/token/index.js.map +1 -0
- package/lib/rules/token/line-length.d.ts.map +1 -0
- package/lib/rules/token/line-length.js +96 -0
- package/lib/rules/token/line-length.js.map +1 -0
- package/lib/rules/token/link-fragments.d.ts.map +1 -0
- package/lib/rules/token/link-fragments.js +398 -0
- package/lib/rules/token/link-fragments.js.map +1 -0
- package/lib/rules/token/link-image-reference-definitions.d.ts.map +1 -0
- package/lib/rules/token/link-image-reference-definitions.js.map +1 -0
- package/lib/rules/token/link-image-style.d.ts.map +1 -0
- package/lib/rules/token/link-image-style.js +138 -0
- package/lib/rules/token/link-image-style.js.map +1 -0
- package/lib/rules/token/list-indent.d.ts.map +1 -0
- package/lib/rules/token/list-indent.js.map +1 -0
- package/lib/rules/token/list-length.d.ts.map +1 -0
- package/lib/rules/token/list-length.js +31 -0
- package/lib/rules/token/list-length.js.map +1 -0
- package/lib/rules/token/list-marker-space.d.ts.map +1 -0
- package/lib/rules/token/list-marker-space.js.map +1 -0
- package/lib/rules/token/markdoc-attributes.d.ts.map +1 -0
- package/lib/rules/token/markdoc-attributes.js +198 -0
- package/lib/rules/token/markdoc-attributes.js.map +1 -0
- package/lib/rules/token/markdoc-pairing.d.ts.map +1 -0
- package/lib/rules/token/markdoc-pairing.js +65 -0
- package/lib/rules/token/markdoc-pairing.js.map +1 -0
- package/lib/rules/token/markdoc-syntax.d.ts.map +1 -0
- package/lib/rules/token/markdoc-syntax.js +84 -0
- package/lib/rules/token/markdoc-syntax.js.map +1 -0
- package/lib/rules/token/markdoc-unknown-tag.d.ts.map +1 -0
- package/lib/rules/token/markdoc-unknown-tag.js +44 -0
- package/lib/rules/token/markdoc-unknown-tag.js.map +1 -0
- package/lib/rules/token/no-alt-text.d.ts.map +1 -0
- package/lib/rules/token/no-alt-text.js +43 -0
- package/lib/rules/token/no-alt-text.js.map +1 -0
- package/lib/rules/token/no-bare-urls.d.ts.map +1 -0
- package/lib/rules/token/no-bare-urls.js +74 -0
- package/lib/rules/token/no-bare-urls.js.map +1 -0
- package/lib/rules/token/no-blanks-blockquote.d.ts.map +1 -0
- package/lib/rules/token/no-blanks-blockquote.js.map +1 -0
- package/lib/rules/token/no-duplicate-heading.d.ts.map +1 -0
- package/lib/rules/token/no-duplicate-heading.js +89 -0
- package/lib/rules/token/no-duplicate-heading.js.map +1 -0
- package/lib/rules/token/no-duplicate-link-destinations.d.ts.map +1 -0
- package/lib/rules/token/no-duplicate-link-destinations.js +54 -0
- package/lib/rules/token/no-duplicate-link-destinations.js.map +1 -0
- package/lib/rules/token/no-emphasis-as-heading.d.ts.map +1 -0
- package/lib/rules/token/no-emphasis-as-heading.js +39 -0
- package/lib/rules/token/no-emphasis-as-heading.js.map +1 -0
- package/lib/rules/token/no-empty-headings.d.ts.map +1 -0
- package/lib/rules/token/no-empty-headings.js +21 -0
- package/lib/rules/token/no-empty-headings.js.map +1 -0
- package/lib/rules/token/no-empty-links.d.ts.map +1 -0
- package/lib/rules/token/no-empty-links.js.map +1 -0
- package/lib/rules/token/no-hard-tabs.d.ts.map +1 -0
- package/lib/rules/token/no-hard-tabs.js.map +1 -0
- package/lib/rules/token/no-inline-html.d.ts.map +1 -0
- package/lib/rules/token/no-inline-html.js +41 -0
- package/lib/rules/token/no-inline-html.js.map +1 -0
- package/lib/rules/token/no-multiple-blanks.d.ts.map +1 -0
- package/lib/rules/token/no-multiple-blanks.js.map +1 -0
- package/lib/rules/token/no-multiple-space-atx.d.ts +9 -0
- package/lib/rules/token/no-multiple-space-atx.d.ts.map +1 -0
- package/lib/rules/token/no-multiple-space-atx.js +46 -0
- package/lib/rules/token/no-multiple-space-atx.js.map +1 -0
- package/lib/rules/token/no-multiple-space-closed-atx.d.ts.map +1 -0
- package/lib/rules/token/no-multiple-space-closed-atx.js.map +1 -0
- package/lib/rules/token/no-reversed-links.d.ts.map +1 -0
- package/lib/rules/token/no-reversed-links.js.map +1 -0
- package/lib/rules/token/no-space-in-code.d.ts.map +1 -0
- package/lib/rules/token/no-space-in-code.js.map +1 -0
- package/lib/rules/token/no-space-in-emphasis.d.ts.map +1 -0
- package/lib/rules/token/no-space-in-emphasis.js +72 -0
- package/lib/rules/token/no-space-in-emphasis.js.map +1 -0
- package/lib/rules/token/no-space-in-links.d.ts.map +1 -0
- package/lib/rules/token/no-space-in-links.js.map +1 -0
- package/lib/rules/token/no-trailing-punctuation.d.ts.map +1 -0
- package/lib/rules/token/no-trailing-punctuation.js.map +1 -0
- package/lib/rules/token/no-trailing-spaces.d.ts.map +1 -0
- package/lib/rules/token/no-trailing-spaces.js.map +1 -0
- package/lib/rules/token/ol-prefix.d.ts.map +1 -0
- package/lib/rules/token/ol-prefix.js.map +1 -0
- package/lib/rules/token/proper-names.d.ts.map +1 -0
- package/lib/rules/token/proper-names.js +87 -0
- package/lib/rules/token/proper-names.js.map +1 -0
- package/lib/rules/token/reference-links-images.d.ts.map +1 -0
- package/lib/rules/token/reference-links-images.js.map +1 -0
- package/lib/rules/token/required-headings.d.ts.map +1 -0
- package/lib/rules/token/required-headings.js +73 -0
- package/lib/rules/token/required-headings.js.map +1 -0
- package/lib/rules/token/single-h1.d.ts.map +1 -0
- package/lib/rules/token/single-h1.js +43 -0
- package/lib/rules/token/single-h1.js.map +1 -0
- package/lib/rules/token/table-column-count.d.ts.map +1 -0
- package/lib/rules/token/table-column-count.js.map +1 -0
- package/lib/rules/token/table-column-style.d.ts.map +1 -0
- package/lib/rules/token/table-column-style.js +162 -0
- package/lib/rules/token/table-column-style.js.map +1 -0
- package/lib/rules/token/table-pipe-style.d.ts.map +1 -0
- package/lib/rules/token/table-pipe-style.js.map +1 -0
- package/lib/rules/token/ul-indent.d.ts.map +1 -0
- package/lib/rules/token/ul-indent.js.map +1 -0
- package/lib/rules/token/ul-style.d.ts.map +1 -0
- package/lib/rules/token/ul-style.js +70 -0
- package/lib/rules/token/ul-style.js.map +1 -0
- package/lib/rules/types.d.ts +62 -0
- package/lib/rules/types.d.ts.map +1 -0
- package/lib/rules/utils.d.ts +18 -0
- package/lib/rules/utils.d.ts.map +1 -0
- package/lib/rules/utils.js +75 -0
- package/lib/rules/utils.js.map +1 -0
- package/lib/scopes/extractor.d.ts +6 -0
- package/lib/scopes/extractor.d.ts.map +1 -0
- package/lib/scopes/extractor.js +398 -0
- package/lib/scopes/extractor.js.map +1 -0
- package/lib/scopes/selector.d.ts +26 -0
- package/lib/scopes/selector.d.ts.map +1 -0
- package/lib/scopes/selector.js +78 -0
- package/lib/scopes/selector.js.map +1 -0
- package/lib/scopes/sentences.d.ts +13 -0
- package/lib/scopes/sentences.d.ts.map +1 -0
- package/lib/scopes/sentences.js +237 -0
- package/lib/scopes/sentences.js.map +1 -0
- package/lib/scopes/types.d.ts +35 -0
- package/lib/scopes/types.d.ts.map +1 -0
- package/lib/scopes/vocabulary.d.ts +12 -0
- package/lib/scopes/vocabulary.d.ts.map +1 -0
- package/lib/scopes/vocabulary.js +56 -0
- package/lib/scopes/vocabulary.js.map +1 -0
- package/lib/types/assertions.d.ts +97 -0
- package/lib/types/assertions.d.ts.map +1 -0
- package/lib/types/reporting.d.ts +23 -0
- package/lib/types/reporting.d.ts.map +1 -0
- package/lib/types/rules.d.ts +53 -0
- package/lib/types/rules.d.ts.map +1 -0
- package/lib/types/validation.d.ts +5 -0
- package/lib/types/validation.d.ts.map +1 -0
- package/lib/utils/is-plain-object.d.ts +2 -0
- package/lib/utils/is-plain-object.d.ts.map +1 -0
- package/lib/utils/is-plain-object.js +5 -0
- package/lib/utils/is-plain-object.js.map +1 -0
- package/package.json +58 -61
- package/presets/google/PROVENANCE.md +217 -221
- package/presets/inclusive-language/PROVENANCE.md +20 -19
- package/presets/microsoft/PROVENANCE.md +242 -243
- package/presets/plain-language/PROVENANCE.md +66 -60
- package/presets/technical-english/PROVENANCE.md +5 -5
- package/skills/recheck-config/SKILL.md +70 -20
- package/skills/recheck-lint/SKILL.md +37 -13
- package/dist/cli.d.ts +0 -3
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js +0 -228
- package/dist/cli.js.map +0 -1
- package/dist/commands/baseline.d.ts +0 -10
- package/dist/commands/baseline.d.ts.map +0 -1
- package/dist/commands/baseline.js +0 -59
- package/dist/commands/baseline.js.map +0 -1
- package/dist/commands/markdoc-schema.d.ts +0 -17
- package/dist/commands/markdoc-schema.d.ts.map +0 -1
- package/dist/commands/markdoc-schema.js +0 -127
- package/dist/commands/markdoc-schema.js.map +0 -1
- package/dist/commands/readability.d.ts +0 -10
- package/dist/commands/readability.d.ts.map +0 -1
- package/dist/commands/readability.js +0 -90
- package/dist/commands/readability.js.map +0 -1
- package/dist/commands/run.d.ts +0 -21
- package/dist/commands/run.d.ts.map +0 -1
- package/dist/commands/run.js +0 -236
- package/dist/commands/run.js.map +0 -1
- package/dist/commands/validate.d.ts +0 -8
- package/dist/commands/validate.d.ts.map +0 -1
- package/dist/commands/validate.js +0 -43
- package/dist/commands/validate.js.map +0 -1
- package/dist/config/load.d.ts +0 -33
- package/dist/config/load.d.ts.map +0 -1
- package/dist/config/load.js +0 -98
- package/dist/config/load.js.map +0 -1
- package/dist/config/presets/api-descriptions.d.ts +0 -8
- package/dist/config/presets/api-descriptions.d.ts.map +0 -1
- package/dist/config/presets/api-descriptions.js +0 -24
- package/dist/config/presets/api-descriptions.js.map +0 -1
- package/dist/config/presets/google.d.ts +0 -3
- package/dist/config/presets/google.d.ts.map +0 -1
- package/dist/config/presets/google.js +0 -1671
- package/dist/config/presets/google.js.map +0 -1
- package/dist/config/presets/inclusive-language.d.ts +0 -3
- package/dist/config/presets/inclusive-language.d.ts.map +0 -1
- package/dist/config/presets/inclusive-language.js +0 -321
- package/dist/config/presets/inclusive-language.js.map +0 -1
- package/dist/config/presets/index.d.ts +0 -67
- package/dist/config/presets/index.d.ts.map +0 -1
- package/dist/config/presets/index.js +0 -141
- package/dist/config/presets/index.js.map +0 -1
- package/dist/config/presets/markdoc.d.ts +0 -21
- package/dist/config/presets/markdoc.d.ts.map +0 -1
- package/dist/config/presets/markdoc.js +0 -101
- package/dist/config/presets/markdoc.js.map +0 -1
- package/dist/config/presets/markdown-relaxed.d.ts +0 -3
- package/dist/config/presets/markdown-relaxed.d.ts.map +0 -1
- package/dist/config/presets/markdown-relaxed.js +0 -98
- package/dist/config/presets/markdown-relaxed.js.map +0 -1
- package/dist/config/presets/markdown.d.ts +0 -43
- package/dist/config/presets/markdown.d.ts.map +0 -1
- package/dist/config/presets/markdown.js +0 -132
- package/dist/config/presets/markdown.js.map +0 -1
- package/dist/config/presets/microsoft.d.ts +0 -3
- package/dist/config/presets/microsoft.d.ts.map +0 -1
- package/dist/config/presets/microsoft.js +0 -2268
- package/dist/config/presets/microsoft.js.map +0 -1
- package/dist/config/presets/minimal.d.ts +0 -3
- package/dist/config/presets/minimal.d.ts.map +0 -1
- package/dist/config/presets/minimal.js +0 -21
- package/dist/config/presets/minimal.js.map +0 -1
- package/dist/config/presets/plain-language.d.ts +0 -3
- package/dist/config/presets/plain-language.d.ts.map +0 -1
- package/dist/config/presets/plain-language.js +0 -351
- package/dist/config/presets/plain-language.js.map +0 -1
- package/dist/config/presets/prose.d.ts +0 -52
- package/dist/config/presets/prose.d.ts.map +0 -1
- package/dist/config/presets/prose.js +0 -138
- package/dist/config/presets/prose.js.map +0 -1
- package/dist/config/presets/technical-english.d.ts +0 -34
- package/dist/config/presets/technical-english.d.ts.map +0 -1
- package/dist/config/presets/technical-english.js +0 -79
- package/dist/config/presets/technical-english.js.map +0 -1
- package/dist/config/schema.d.ts +0 -226
- package/dist/config/schema.d.ts.map +0 -1
- package/dist/config/schema.js +0 -196
- package/dist/config/schema.js.map +0 -1
- package/dist/config/validate.d.ts +0 -22
- package/dist/config/validate.d.ts.map +0 -1
- package/dist/config/validate.js +0 -1296
- package/dist/config/validate.js.map +0 -1
- package/dist/core/auto-fix.d.ts.map +0 -1
- package/dist/core/auto-fix.js +0 -101
- package/dist/core/auto-fix.js.map +0 -1
- package/dist/core/baseline.d.ts +0 -49
- package/dist/core/baseline.d.ts.map +0 -1
- package/dist/core/baseline.js +0 -0
- package/dist/core/baseline.js.map +0 -1
- package/dist/core/case-preserve.d.ts +0 -46
- package/dist/core/case-preserve.d.ts.map +0 -1
- package/dist/core/case-preserve.js +0 -57
- package/dist/core/case-preserve.js.map +0 -1
- package/dist/core/directives.d.ts.map +0 -1
- package/dist/core/directives.js +0 -73
- package/dist/core/directives.js.map +0 -1
- package/dist/core/files.d.ts +0 -69
- package/dist/core/files.d.ts.map +0 -1
- package/dist/core/files.js +0 -260
- package/dist/core/files.js.map +0 -1
- package/dist/core/inline-code.d.ts +0 -87
- package/dist/core/inline-code.d.ts.map +0 -1
- package/dist/core/inline-code.js +0 -104
- package/dist/core/inline-code.js.map +0 -1
- package/dist/core/line-endings.d.ts +0 -32
- package/dist/core/line-endings.d.ts.map +0 -1
- package/dist/core/line-endings.js +0 -65
- package/dist/core/line-endings.js.map +0 -1
- package/dist/core/markdoc-tags.d.ts +0 -79
- package/dist/core/markdoc-tags.d.ts.map +0 -1
- package/dist/core/markdoc-tags.js +0 -131
- package/dist/core/markdoc-tags.js.map +0 -1
- package/dist/core/prose-extract.d.ts +0 -6
- package/dist/core/prose-extract.d.ts.map +0 -1
- package/dist/core/prose-extract.js +0 -79
- package/dist/core/prose-extract.js.map +0 -1
- package/dist/core/readability.d.ts +0 -17
- package/dist/core/readability.d.ts.map +0 -1
- package/dist/core/readability.js +0 -37
- package/dist/core/readability.js.map +0 -1
- package/dist/core/rule-filters.d.ts +0 -45
- package/dist/core/rule-filters.d.ts.map +0 -1
- package/dist/core/rule-filters.js +0 -118
- package/dist/core/rule-filters.js.map +0 -1
- package/dist/core/runner.d.ts +0 -99
- package/dist/core/runner.d.ts.map +0 -1
- package/dist/core/runner.js +0 -401
- package/dist/core/runner.js.map +0 -1
- package/dist/core/timing.d.ts +0 -24
- package/dist/core/timing.d.ts.map +0 -1
- package/dist/core/timing.js +0 -39
- package/dist/core/timing.js.map +0 -1
- package/dist/data/markdoc-realm-schema.d.ts.map +0 -1
- package/dist/data/markdoc-realm-schema.js +0 -798
- package/dist/data/markdoc-realm-schema.js.map +0 -1
- package/dist/data/proper-nouns.d.ts.map +0 -1
- package/dist/data/proper-nouns.js +0 -47
- package/dist/data/proper-nouns.js.map +0 -1
- package/dist/data/realm-front-matter-schema.d.ts +0 -28
- package/dist/data/realm-front-matter-schema.d.ts.map +0 -1
- package/dist/data/realm-front-matter-schema.js +0 -73
- package/dist/data/realm-front-matter-schema.js.map +0 -1
- package/dist/index.d.ts +0 -90
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -152
- package/dist/index.js.map +0 -1
- package/dist/metrics/formulas.d.ts +0 -17
- package/dist/metrics/formulas.d.ts.map +0 -1
- package/dist/metrics/formulas.js +0 -70
- package/dist/metrics/formulas.js.map +0 -1
- package/dist/metrics/statistics.d.ts +0 -27
- package/dist/metrics/statistics.d.ts.map +0 -1
- package/dist/metrics/statistics.js +0 -56
- package/dist/metrics/statistics.js.map +0 -1
- package/dist/parser/index.d.ts +0 -19
- package/dist/parser/index.d.ts.map +0 -1
- package/dist/parser/index.js +0 -174
- package/dist/parser/index.js.map +0 -1
- package/dist/parser/markdoc/extract-statics.d.ts +0 -45
- package/dist/parser/markdoc/extract-statics.d.ts.map +0 -1
- package/dist/parser/markdoc/extract-statics.js +0 -139
- package/dist/parser/markdoc/extract-statics.js.map +0 -1
- package/dist/parser/markdoc/pairing.d.ts +0 -63
- package/dist/parser/markdoc/pairing.d.ts.map +0 -1
- package/dist/parser/markdoc/pairing.js +0 -94
- package/dist/parser/markdoc/pairing.js.map +0 -1
- package/dist/parser/markdoc/schema.d.ts +0 -85
- package/dist/parser/markdoc/schema.d.ts.map +0 -1
- package/dist/parser/markdoc/schema.js +0 -86
- package/dist/parser/markdoc/schema.js.map +0 -1
- package/dist/parser/markdoc/span.d.ts +0 -64
- package/dist/parser/markdoc/span.d.ts.map +0 -1
- package/dist/parser/markdoc/span.js +0 -729
- package/dist/parser/markdoc/span.js.map +0 -1
- package/dist/parser/markdoc/structure.d.ts +0 -28
- package/dist/parser/markdoc/structure.d.ts.map +0 -1
- package/dist/parser/markdoc/structure.js +0 -153
- package/dist/parser/markdoc/structure.js.map +0 -1
- package/dist/parser/markdoc/syntax.d.ts +0 -44
- package/dist/parser/markdoc/syntax.d.ts.map +0 -1
- package/dist/parser/markdoc/syntax.js +0 -317
- package/dist/parser/markdoc/syntax.js.map +0 -1
- package/dist/parser/types.d.ts.map +0 -1
- package/dist/reporter/fixes.d.ts +0 -3
- package/dist/reporter/fixes.d.ts.map +0 -1
- package/dist/reporter/fixes.js +0 -41
- package/dist/reporter/fixes.js.map +0 -1
- package/dist/reporter/formats/github-actions.d.ts +0 -6
- package/dist/reporter/formats/github-actions.d.ts.map +0 -1
- package/dist/reporter/formats/github-actions.js +0 -20
- package/dist/reporter/formats/github-actions.js.map +0 -1
- package/dist/reporter/formats/json.d.ts +0 -10
- package/dist/reporter/formats/json.d.ts.map +0 -1
- package/dist/reporter/formats/json.js +0 -25
- package/dist/reporter/formats/json.js.map +0 -1
- package/dist/reporter/formats/sarif.d.ts +0 -10
- package/dist/reporter/formats/sarif.d.ts.map +0 -1
- package/dist/reporter/formats/sarif.js +0 -66
- package/dist/reporter/formats/sarif.js.map +0 -1
- package/dist/reporter/formats/table.d.ts +0 -6
- package/dist/reporter/formats/table.d.ts.map +0 -1
- package/dist/reporter/formats/table.js +0 -43
- package/dist/reporter/formats/table.js.map +0 -1
- package/dist/reporter/index.d.ts +0 -10
- package/dist/reporter/index.d.ts.map +0 -1
- package/dist/reporter/index.js +0 -42
- package/dist/reporter/index.js.map +0 -1
- package/dist/reporter/prioritize-problems.d.ts +0 -7
- package/dist/reporter/prioritize-problems.d.ts.map +0 -1
- package/dist/reporter/prioritize-problems.js +0 -29
- package/dist/reporter/prioritize-problems.js.map +0 -1
- package/dist/reporter/statistics.d.ts +0 -10
- package/dist/reporter/statistics.d.ts.map +0 -1
- package/dist/reporter/statistics.js +0 -52
- package/dist/reporter/statistics.js.map +0 -1
- package/dist/reporter/summary.d.ts +0 -10
- package/dist/reporter/summary.d.ts.map +0 -1
- package/dist/reporter/summary.js +0 -49
- package/dist/reporter/summary.js.map +0 -1
- package/dist/rules/registry.d.ts +0 -15
- package/dist/rules/registry.d.ts.map +0 -1
- package/dist/rules/registry.js +0 -81
- package/dist/rules/registry.js.map +0 -1
- package/dist/rules/scope/capitalization.d.ts.map +0 -1
- package/dist/rules/scope/capitalization.js +0 -164
- package/dist/rules/scope/capitalization.js.map +0 -1
- package/dist/rules/scope/conditional.d.ts.map +0 -1
- package/dist/rules/scope/conditional.js +0 -112
- package/dist/rules/scope/conditional.js.map +0 -1
- package/dist/rules/scope/consistency.d.ts.map +0 -1
- package/dist/rules/scope/consistency.js +0 -179
- package/dist/rules/scope/consistency.js.map +0 -1
- package/dist/rules/scope/length.d.ts.map +0 -1
- package/dist/rules/scope/length.js +0 -73
- package/dist/rules/scope/length.js.map +0 -1
- package/dist/rules/scope/max-image-size.d.ts.map +0 -1
- package/dist/rules/scope/max-image-size.js +0 -65
- package/dist/rules/scope/max-image-size.js.map +0 -1
- package/dist/rules/scope/metric.d.ts +0 -5
- package/dist/rules/scope/metric.d.ts.map +0 -1
- package/dist/rules/scope/metric.js +0 -59
- package/dist/rules/scope/metric.js.map +0 -1
- package/dist/rules/scope/occurrence.d.ts.map +0 -1
- package/dist/rules/scope/occurrence.js +0 -48
- package/dist/rules/scope/occurrence.js.map +0 -1
- package/dist/rules/scope/pattern.d.ts.map +0 -1
- package/dist/rules/scope/pattern.js +0 -75
- package/dist/rules/scope/pattern.js.map +0 -1
- package/dist/rules/scope/repetition.d.ts.map +0 -1
- package/dist/rules/scope/repetition.js +0 -139
- package/dist/rules/scope/repetition.js.map +0 -1
- package/dist/rules/scope/semantic-line-breaks.d.ts.map +0 -1
- package/dist/rules/scope/semantic-line-breaks.js +0 -236
- package/dist/rules/scope/semantic-line-breaks.js.map +0 -1
- package/dist/rules/scope/spelling.d.ts +0 -27
- package/dist/rules/scope/spelling.d.ts.map +0 -1
- package/dist/rules/scope/spelling.js +0 -227
- package/dist/rules/scope/spelling.js.map +0 -1
- package/dist/rules/scope/swap.d.ts.map +0 -1
- package/dist/rules/scope/swap.js +0 -149
- package/dist/rules/scope/swap.js.map +0 -1
- package/dist/rules/scope/title-case.d.ts +0 -46
- package/dist/rules/scope/title-case.d.ts.map +0 -1
- package/dist/rules/scope/title-case.js +0 -301
- package/dist/rules/scope/title-case.js.map +0 -1
- package/dist/rules/token/blanks-around-fences.d.ts.map +0 -1
- package/dist/rules/token/blanks-around-fences.js.map +0 -1
- package/dist/rules/token/blanks-around-headings.d.ts.map +0 -1
- package/dist/rules/token/blanks-around-headings.js +0 -108
- package/dist/rules/token/blanks-around-headings.js.map +0 -1
- package/dist/rules/token/blanks-around-lists.d.ts.map +0 -1
- package/dist/rules/token/blanks-around-lists.js +0 -56
- package/dist/rules/token/blanks-around-lists.js.map +0 -1
- package/dist/rules/token/blanks-around-tables.d.ts.map +0 -1
- package/dist/rules/token/blanks-around-tables.js +0 -42
- package/dist/rules/token/blanks-around-tables.js.map +0 -1
- package/dist/rules/token/code-block-style.d.ts.map +0 -1
- package/dist/rules/token/code-block-style.js.map +0 -1
- package/dist/rules/token/code-fence-style.d.ts.map +0 -1
- package/dist/rules/token/code-fence-style.js.map +0 -1
- package/dist/rules/token/commands-show-output.d.ts.map +0 -1
- package/dist/rules/token/commands-show-output.js.map +0 -1
- package/dist/rules/token/descriptive-link-text.d.ts.map +0 -1
- package/dist/rules/token/descriptive-link-text.js +0 -53
- package/dist/rules/token/descriptive-link-text.js.map +0 -1
- package/dist/rules/token/fenced-code-language.d.ts.map +0 -1
- package/dist/rules/token/fenced-code-language.js.map +0 -1
- package/dist/rules/token/first-line-h1.d.ts.map +0 -1
- package/dist/rules/token/first-line-h1.js +0 -107
- package/dist/rules/token/first-line-h1.js.map +0 -1
- package/dist/rules/token/front-matter.d.ts.map +0 -1
- package/dist/rules/token/front-matter.js +0 -177
- package/dist/rules/token/front-matter.js.map +0 -1
- package/dist/rules/token/heading-increment.d.ts.map +0 -1
- package/dist/rules/token/heading-increment.js +0 -27
- package/dist/rules/token/heading-increment.js.map +0 -1
- package/dist/rules/token/heading-start-left.d.ts.map +0 -1
- package/dist/rules/token/heading-start-left.js.map +0 -1
- package/dist/rules/token/heading-style.d.ts.map +0 -1
- package/dist/rules/token/heading-style.js.map +0 -1
- package/dist/rules/token/helpers.d.ts +0 -313
- package/dist/rules/token/helpers.d.ts.map +0 -1
- package/dist/rules/token/helpers.js +0 -746
- package/dist/rules/token/helpers.js.map +0 -1
- package/dist/rules/token/hr-style.d.ts.map +0 -1
- package/dist/rules/token/hr-style.js.map +0 -1
- package/dist/rules/token/index.d.ts +0 -76
- package/dist/rules/token/index.d.ts.map +0 -1
- package/dist/rules/token/index.js +0 -229
- package/dist/rules/token/index.js.map +0 -1
- package/dist/rules/token/line-length.d.ts.map +0 -1
- package/dist/rules/token/line-length.js +0 -120
- package/dist/rules/token/line-length.js.map +0 -1
- package/dist/rules/token/link-fragments.d.ts.map +0 -1
- package/dist/rules/token/link-fragments.js +0 -393
- package/dist/rules/token/link-fragments.js.map +0 -1
- package/dist/rules/token/link-image-reference-definitions.d.ts.map +0 -1
- package/dist/rules/token/link-image-reference-definitions.js.map +0 -1
- package/dist/rules/token/link-image-style.d.ts.map +0 -1
- package/dist/rules/token/link-image-style.js +0 -131
- package/dist/rules/token/link-image-style.js.map +0 -1
- package/dist/rules/token/list-indent.d.ts.map +0 -1
- package/dist/rules/token/list-indent.js.map +0 -1
- package/dist/rules/token/list-length.d.ts.map +0 -1
- package/dist/rules/token/list-length.js +0 -55
- package/dist/rules/token/list-length.js.map +0 -1
- package/dist/rules/token/list-marker-space.d.ts.map +0 -1
- package/dist/rules/token/list-marker-space.js.map +0 -1
- package/dist/rules/token/markdoc-attributes.d.ts.map +0 -1
- package/dist/rules/token/markdoc-attributes.js +0 -269
- package/dist/rules/token/markdoc-attributes.js.map +0 -1
- package/dist/rules/token/markdoc-pairing.d.ts.map +0 -1
- package/dist/rules/token/markdoc-pairing.js +0 -73
- package/dist/rules/token/markdoc-pairing.js.map +0 -1
- package/dist/rules/token/markdoc-syntax.d.ts.map +0 -1
- package/dist/rules/token/markdoc-syntax.js +0 -119
- package/dist/rules/token/markdoc-syntax.js.map +0 -1
- package/dist/rules/token/markdoc-unknown-tag.d.ts.map +0 -1
- package/dist/rules/token/markdoc-unknown-tag.js +0 -64
- package/dist/rules/token/markdoc-unknown-tag.js.map +0 -1
- package/dist/rules/token/no-alt-text.d.ts.map +0 -1
- package/dist/rules/token/no-alt-text.js +0 -47
- package/dist/rules/token/no-alt-text.js.map +0 -1
- package/dist/rules/token/no-bare-urls.d.ts.map +0 -1
- package/dist/rules/token/no-bare-urls.js +0 -88
- package/dist/rules/token/no-bare-urls.js.map +0 -1
- package/dist/rules/token/no-blanks-blockquote.d.ts.map +0 -1
- package/dist/rules/token/no-blanks-blockquote.js.map +0 -1
- package/dist/rules/token/no-duplicate-heading.d.ts.map +0 -1
- package/dist/rules/token/no-duplicate-heading.js +0 -101
- package/dist/rules/token/no-duplicate-heading.js.map +0 -1
- package/dist/rules/token/no-duplicate-link-destinations.d.ts.map +0 -1
- package/dist/rules/token/no-duplicate-link-destinations.js +0 -65
- package/dist/rules/token/no-duplicate-link-destinations.js.map +0 -1
- package/dist/rules/token/no-emphasis-as-heading.d.ts.map +0 -1
- package/dist/rules/token/no-emphasis-as-heading.js +0 -44
- package/dist/rules/token/no-emphasis-as-heading.js.map +0 -1
- package/dist/rules/token/no-empty-headings.d.ts.map +0 -1
- package/dist/rules/token/no-empty-headings.js +0 -28
- package/dist/rules/token/no-empty-headings.js.map +0 -1
- package/dist/rules/token/no-empty-links.d.ts.map +0 -1
- package/dist/rules/token/no-empty-links.js.map +0 -1
- package/dist/rules/token/no-hard-tabs.d.ts.map +0 -1
- package/dist/rules/token/no-hard-tabs.js.map +0 -1
- package/dist/rules/token/no-inline-html.d.ts.map +0 -1
- package/dist/rules/token/no-inline-html.js +0 -45
- package/dist/rules/token/no-inline-html.js.map +0 -1
- package/dist/rules/token/no-multiple-blanks.d.ts.map +0 -1
- package/dist/rules/token/no-multiple-blanks.js.map +0 -1
- package/dist/rules/token/no-multiple-space-atx.d.ts +0 -13
- package/dist/rules/token/no-multiple-space-atx.d.ts.map +0 -1
- package/dist/rules/token/no-multiple-space-atx.js +0 -50
- package/dist/rules/token/no-multiple-space-atx.js.map +0 -1
- package/dist/rules/token/no-multiple-space-closed-atx.d.ts.map +0 -1
- package/dist/rules/token/no-multiple-space-closed-atx.js.map +0 -1
- package/dist/rules/token/no-reversed-links.d.ts.map +0 -1
- package/dist/rules/token/no-reversed-links.js.map +0 -1
- package/dist/rules/token/no-space-in-code.d.ts.map +0 -1
- package/dist/rules/token/no-space-in-code.js.map +0 -1
- package/dist/rules/token/no-space-in-emphasis.d.ts.map +0 -1
- package/dist/rules/token/no-space-in-emphasis.js +0 -79
- package/dist/rules/token/no-space-in-emphasis.js.map +0 -1
- package/dist/rules/token/no-space-in-links.d.ts.map +0 -1
- package/dist/rules/token/no-space-in-links.js.map +0 -1
- package/dist/rules/token/no-trailing-punctuation.d.ts.map +0 -1
- package/dist/rules/token/no-trailing-punctuation.js.map +0 -1
- package/dist/rules/token/no-trailing-spaces.d.ts.map +0 -1
- package/dist/rules/token/no-trailing-spaces.js.map +0 -1
- package/dist/rules/token/ol-prefix.d.ts.map +0 -1
- package/dist/rules/token/ol-prefix.js.map +0 -1
- package/dist/rules/token/proper-names.d.ts.map +0 -1
- package/dist/rules/token/proper-names.js +0 -93
- package/dist/rules/token/proper-names.js.map +0 -1
- package/dist/rules/token/reference-links-images.d.ts.map +0 -1
- package/dist/rules/token/reference-links-images.js.map +0 -1
- package/dist/rules/token/required-headings.d.ts.map +0 -1
- package/dist/rules/token/required-headings.js +0 -83
- package/dist/rules/token/required-headings.js.map +0 -1
- package/dist/rules/token/single-h1.d.ts.map +0 -1
- package/dist/rules/token/single-h1.js +0 -56
- package/dist/rules/token/single-h1.js.map +0 -1
- package/dist/rules/token/table-column-count.d.ts.map +0 -1
- package/dist/rules/token/table-column-count.js.map +0 -1
- package/dist/rules/token/table-column-style.d.ts.map +0 -1
- package/dist/rules/token/table-column-style.js +0 -179
- package/dist/rules/token/table-column-style.js.map +0 -1
- package/dist/rules/token/table-pipe-style.d.ts.map +0 -1
- package/dist/rules/token/table-pipe-style.js.map +0 -1
- package/dist/rules/token/ul-indent.d.ts.map +0 -1
- package/dist/rules/token/ul-indent.js.map +0 -1
- package/dist/rules/token/ul-style.d.ts.map +0 -1
- package/dist/rules/token/ul-style.js +0 -80
- package/dist/rules/token/ul-style.js.map +0 -1
- package/dist/rules/types.d.ts +0 -83
- package/dist/rules/types.d.ts.map +0 -1
- package/dist/rules/utils.d.ts +0 -31
- package/dist/rules/utils.d.ts.map +0 -1
- package/dist/rules/utils.js +0 -90
- package/dist/rules/utils.js.map +0 -1
- package/dist/scopes/extractor.d.ts +0 -7
- package/dist/scopes/extractor.d.ts.map +0 -1
- package/dist/scopes/extractor.js +0 -536
- package/dist/scopes/extractor.js.map +0 -1
- package/dist/scopes/selector.d.ts +0 -51
- package/dist/scopes/selector.d.ts.map +0 -1
- package/dist/scopes/selector.js +0 -121
- package/dist/scopes/selector.js.map +0 -1
- package/dist/scopes/sentences.d.ts +0 -15
- package/dist/scopes/sentences.d.ts.map +0 -1
- package/dist/scopes/sentences.js +0 -202
- package/dist/scopes/sentences.js.map +0 -1
- package/dist/scopes/types.d.ts +0 -46
- package/dist/scopes/types.d.ts.map +0 -1
- package/dist/scopes/vocabulary.d.ts +0 -16
- package/dist/scopes/vocabulary.d.ts.map +0 -1
- package/dist/scopes/vocabulary.js +0 -70
- package/dist/scopes/vocabulary.js.map +0 -1
- package/dist/types/assertions.d.ts +0 -119
- package/dist/types/assertions.d.ts.map +0 -1
- package/dist/types/reporting.d.ts +0 -32
- package/dist/types/reporting.d.ts.map +0 -1
- package/dist/types/rules.d.ts +0 -41
- package/dist/types/rules.d.ts.map +0 -1
- package/dist/types/validation.d.ts +0 -6
- package/dist/types/validation.d.ts.map +0 -1
- /package/{dist → lib}/core/auto-fix.d.ts +0 -0
- /package/{dist → lib}/core/directives.d.ts +0 -0
- /package/{dist → lib}/data/markdoc-realm-schema.d.ts +0 -0
- /package/{dist → lib}/data/proper-nouns.d.ts +0 -0
- /package/{dist → lib}/metrics/index.d.ts +0 -0
- /package/{dist → lib}/metrics/index.d.ts.map +0 -0
- /package/{dist → lib}/metrics/index.js +0 -0
- /package/{dist → lib}/metrics/index.js.map +0 -0
- /package/{dist → lib}/parser/types.d.ts +0 -0
- /package/{dist → lib}/parser/types.js +0 -0
- /package/{dist → lib}/parser/types.js.map +0 -0
- /package/{dist → lib}/rules/scope/capitalization.d.ts +0 -0
- /package/{dist → lib}/rules/scope/conditional.d.ts +0 -0
- /package/{dist → lib}/rules/scope/consistency.d.ts +0 -0
- /package/{dist → lib}/rules/scope/length.d.ts +0 -0
- /package/{dist → lib}/rules/scope/max-image-size.d.ts +0 -0
- /package/{dist → lib}/rules/scope/occurrence.d.ts +0 -0
- /package/{dist → lib}/rules/scope/pattern.d.ts +0 -0
- /package/{dist → lib}/rules/scope/repetition.d.ts +0 -0
- /package/{dist → lib}/rules/scope/semantic-line-breaks.d.ts +0 -0
- /package/{dist → lib}/rules/scope/swap.d.ts +0 -0
- /package/{dist → lib}/rules/token/blanks-around-fences.d.ts +0 -0
- /package/{dist → lib}/rules/token/blanks-around-fences.js +0 -0
- /package/{dist → lib}/rules/token/blanks-around-headings.d.ts +0 -0
- /package/{dist → lib}/rules/token/blanks-around-lists.d.ts +0 -0
- /package/{dist → lib}/rules/token/blanks-around-tables.d.ts +0 -0
- /package/{dist → lib}/rules/token/code-block-style.d.ts +0 -0
- /package/{dist → lib}/rules/token/code-block-style.js +0 -0
- /package/{dist → lib}/rules/token/code-fence-style.d.ts +0 -0
- /package/{dist → lib}/rules/token/code-fence-style.js +0 -0
- /package/{dist → lib}/rules/token/commands-show-output.d.ts +0 -0
- /package/{dist → lib}/rules/token/commands-show-output.js +0 -0
- /package/{dist → lib}/rules/token/descriptive-link-text.d.ts +0 -0
- /package/{dist → lib}/rules/token/emphasis-style.d.ts +0 -0
- /package/{dist → lib}/rules/token/emphasis-style.d.ts.map +0 -0
- /package/{dist → lib}/rules/token/emphasis-style.js +0 -0
- /package/{dist → lib}/rules/token/emphasis-style.js.map +0 -0
- /package/{dist → lib}/rules/token/fenced-code-language.d.ts +0 -0
- /package/{dist → lib}/rules/token/fenced-code-language.js +0 -0
- /package/{dist → lib}/rules/token/first-line-h1.d.ts +0 -0
- /package/{dist → lib}/rules/token/front-matter.d.ts +0 -0
- /package/{dist → lib}/rules/token/heading-increment.d.ts +0 -0
- /package/{dist → lib}/rules/token/heading-start-left.d.ts +0 -0
- /package/{dist → lib}/rules/token/heading-start-left.js +0 -0
- /package/{dist → lib}/rules/token/heading-style.d.ts +0 -0
- /package/{dist → lib}/rules/token/heading-style.js +0 -0
- /package/{dist → lib}/rules/token/hr-style.d.ts +0 -0
- /package/{dist → lib}/rules/token/hr-style.js +0 -0
- /package/{dist → lib}/rules/token/line-length.d.ts +0 -0
- /package/{dist → lib}/rules/token/link-fragments.d.ts +0 -0
- /package/{dist → lib}/rules/token/link-image-reference-definitions.d.ts +0 -0
- /package/{dist → lib}/rules/token/link-image-reference-definitions.js +0 -0
- /package/{dist → lib}/rules/token/link-image-style.d.ts +0 -0
- /package/{dist → lib}/rules/token/list-indent.d.ts +0 -0
- /package/{dist → lib}/rules/token/list-indent.js +0 -0
- /package/{dist → lib}/rules/token/list-length.d.ts +0 -0
- /package/{dist → lib}/rules/token/list-marker-space.d.ts +0 -0
- /package/{dist → lib}/rules/token/list-marker-space.js +0 -0
- /package/{dist → lib}/rules/token/markdoc-attributes.d.ts +0 -0
- /package/{dist → lib}/rules/token/markdoc-pairing.d.ts +0 -0
- /package/{dist → lib}/rules/token/markdoc-syntax.d.ts +0 -0
- /package/{dist → lib}/rules/token/markdoc-unknown-tag.d.ts +0 -0
- /package/{dist → lib}/rules/token/messages.d.ts +0 -0
- /package/{dist → lib}/rules/token/messages.d.ts.map +0 -0
- /package/{dist → lib}/rules/token/messages.js +0 -0
- /package/{dist → lib}/rules/token/messages.js.map +0 -0
- /package/{dist → lib}/rules/token/no-alt-text.d.ts +0 -0
- /package/{dist → lib}/rules/token/no-bare-urls.d.ts +0 -0
- /package/{dist → lib}/rules/token/no-blanks-blockquote.d.ts +0 -0
- /package/{dist → lib}/rules/token/no-blanks-blockquote.js +0 -0
- /package/{dist → lib}/rules/token/no-duplicate-heading.d.ts +0 -0
- /package/{dist → lib}/rules/token/no-duplicate-link-destinations.d.ts +0 -0
- /package/{dist → lib}/rules/token/no-emphasis-as-heading.d.ts +0 -0
- /package/{dist → lib}/rules/token/no-empty-headings.d.ts +0 -0
- /package/{dist → lib}/rules/token/no-empty-links.d.ts +0 -0
- /package/{dist → lib}/rules/token/no-empty-links.js +0 -0
- /package/{dist → lib}/rules/token/no-hard-tabs.d.ts +0 -0
- /package/{dist → lib}/rules/token/no-hard-tabs.js +0 -0
- /package/{dist → lib}/rules/token/no-inline-html.d.ts +0 -0
- /package/{dist → lib}/rules/token/no-missing-space-atx.d.ts +0 -0
- /package/{dist → lib}/rules/token/no-missing-space-atx.d.ts.map +0 -0
- /package/{dist → lib}/rules/token/no-missing-space-atx.js +0 -0
- /package/{dist → lib}/rules/token/no-missing-space-atx.js.map +0 -0
- /package/{dist → lib}/rules/token/no-missing-space-closed-atx.d.ts +0 -0
- /package/{dist → lib}/rules/token/no-missing-space-closed-atx.d.ts.map +0 -0
- /package/{dist → lib}/rules/token/no-missing-space-closed-atx.js +0 -0
- /package/{dist → lib}/rules/token/no-missing-space-closed-atx.js.map +0 -0
- /package/{dist → lib}/rules/token/no-multiple-blanks.d.ts +0 -0
- /package/{dist → lib}/rules/token/no-multiple-blanks.js +0 -0
- /package/{dist → lib}/rules/token/no-multiple-space-blockquote.d.ts +0 -0
- /package/{dist → lib}/rules/token/no-multiple-space-blockquote.d.ts.map +0 -0
- /package/{dist → lib}/rules/token/no-multiple-space-blockquote.js +0 -0
- /package/{dist → lib}/rules/token/no-multiple-space-blockquote.js.map +0 -0
- /package/{dist → lib}/rules/token/no-multiple-space-closed-atx.d.ts +0 -0
- /package/{dist → lib}/rules/token/no-multiple-space-closed-atx.js +0 -0
- /package/{dist → lib}/rules/token/no-reversed-links.d.ts +0 -0
- /package/{dist → lib}/rules/token/no-reversed-links.js +0 -0
- /package/{dist → lib}/rules/token/no-space-in-code.d.ts +0 -0
- /package/{dist → lib}/rules/token/no-space-in-code.js +0 -0
- /package/{dist → lib}/rules/token/no-space-in-emphasis.d.ts +0 -0
- /package/{dist → lib}/rules/token/no-space-in-links.d.ts +0 -0
- /package/{dist → lib}/rules/token/no-space-in-links.js +0 -0
- /package/{dist → lib}/rules/token/no-trailing-punctuation.d.ts +0 -0
- /package/{dist → lib}/rules/token/no-trailing-punctuation.js +0 -0
- /package/{dist → lib}/rules/token/no-trailing-spaces.d.ts +0 -0
- /package/{dist → lib}/rules/token/no-trailing-spaces.js +0 -0
- /package/{dist → lib}/rules/token/ol-prefix.d.ts +0 -0
- /package/{dist → lib}/rules/token/ol-prefix.js +0 -0
- /package/{dist → lib}/rules/token/proper-names.d.ts +0 -0
- /package/{dist → lib}/rules/token/reference-links-images.d.ts +0 -0
- /package/{dist → lib}/rules/token/reference-links-images.js +0 -0
- /package/{dist → lib}/rules/token/required-headings.d.ts +0 -0
- /package/{dist → lib}/rules/token/single-h1.d.ts +0 -0
- /package/{dist → lib}/rules/token/single-trailing-newline.d.ts +0 -0
- /package/{dist → lib}/rules/token/single-trailing-newline.d.ts.map +0 -0
- /package/{dist → lib}/rules/token/single-trailing-newline.js +0 -0
- /package/{dist → lib}/rules/token/single-trailing-newline.js.map +0 -0
- /package/{dist → lib}/rules/token/strong-style.d.ts +0 -0
- /package/{dist → lib}/rules/token/strong-style.d.ts.map +0 -0
- /package/{dist → lib}/rules/token/strong-style.js +0 -0
- /package/{dist → lib}/rules/token/strong-style.js.map +0 -0
- /package/{dist → lib}/rules/token/table-column-count.d.ts +0 -0
- /package/{dist → lib}/rules/token/table-column-count.js +0 -0
- /package/{dist → lib}/rules/token/table-column-style.d.ts +0 -0
- /package/{dist → lib}/rules/token/table-pipe-style.d.ts +0 -0
- /package/{dist → lib}/rules/token/table-pipe-style.js +0 -0
- /package/{dist → lib}/rules/token/ul-indent.d.ts +0 -0
- /package/{dist → lib}/rules/token/ul-indent.js +0 -0
- /package/{dist → lib}/rules/token/ul-style.d.ts +0 -0
- /package/{dist → lib}/rules/types.js +0 -0
- /package/{dist → lib}/rules/types.js.map +0 -0
- /package/{dist → lib}/scopes/types.js +0 -0
- /package/{dist → lib}/scopes/types.js.map +0 -0
- /package/{dist → lib}/types/assertions.js +0 -0
- /package/{dist → lib}/types/assertions.js.map +0 -0
- /package/{dist → lib}/types/index.d.ts +0 -0
- /package/{dist → lib}/types/index.d.ts.map +0 -0
- /package/{dist → lib}/types/index.js +0 -0
- /package/{dist → lib}/types/index.js.map +0 -0
- /package/{dist → lib}/types/problems.d.ts +0 -0
- /package/{dist → lib}/types/problems.d.ts.map +0 -0
- /package/{dist → lib}/types/problems.js +0 -0
- /package/{dist → lib}/types/problems.js.map +0 -0
- /package/{dist → lib}/types/reporting.js +0 -0
- /package/{dist → lib}/types/reporting.js.map +0 -0
- /package/{dist → lib}/types/rules.js +0 -0
- /package/{dist → lib}/types/rules.js.map +0 -0
- /package/{dist → lib}/types/validation.js +0 -0
- /package/{dist → lib}/types/validation.js.map +0 -0
|
@@ -1,236 +0,0 @@
|
|
|
1
|
-
import { filterByTypes } from '../../parser/index.js';
|
|
2
|
-
import { addRangeToSet } from '../token/helpers.js';
|
|
3
|
-
import { newLineRe } from '../../core/line-endings.js';
|
|
4
|
-
import { splitSentences } from '../../scopes/sentences.js';
|
|
5
|
-
// One real CommonMark list marker with its required spacing. The spacing
|
|
6
|
-
// keeps prose starting with emphasis (`*text*`), a non-list dash
|
|
7
|
-
// (`-3 degrees`), or a decimal (`1.5 million`) out of this match. Lettered
|
|
8
|
-
// markers (`a.`) are absent: micromark never parses them as lists.
|
|
9
|
-
const SINGLE_MARKER_RE = /^(?:[-*+]|\d+\.)[ \t]+/;
|
|
10
|
-
// Lettered pseudo-markers (`- a. Text`): splitSentences reads `a.` as a
|
|
11
|
-
// sentence boundary and --fix would sever it from its own text. They are
|
|
12
|
-
// not CommonMark markers, so they cannot be stripped like nested numbered
|
|
13
|
-
// markers; the whole line is skipped instead.
|
|
14
|
-
const PSEUDO_MARKER_RE = /^[a-zA-Z]\.[ \t]/;
|
|
15
|
-
// Length of the whole list-marker prefix: blockquote markers, indent, then
|
|
16
|
-
// every directly nested real marker (`- 1. text` consumes `- 1. `). Nested
|
|
17
|
-
// markers strip iteratively so whole-file runs and scoped runs (which get
|
|
18
|
-
// outer markers pre-stripped by token boundaries) reduce to the same text.
|
|
19
|
-
function listMarkerLength(lineText) {
|
|
20
|
-
const prefix = lineText.match(/^\s*(?:>\s*)*/)?.[0].length ?? 0;
|
|
21
|
-
let length = prefix;
|
|
22
|
-
let marker = lineText.slice(length).match(SINGLE_MARKER_RE);
|
|
23
|
-
if (!marker)
|
|
24
|
-
return 0;
|
|
25
|
-
while (marker) {
|
|
26
|
-
length += marker[0].length;
|
|
27
|
-
marker = lineText.slice(length).match(SINGLE_MARKER_RE);
|
|
28
|
-
}
|
|
29
|
-
return length;
|
|
30
|
-
}
|
|
31
|
-
function isSkippableLine(lineText) {
|
|
32
|
-
if (lineText.trim() === '' || lineText.startsWith('#'))
|
|
33
|
-
return true;
|
|
34
|
-
const markerLength = listMarkerLength(lineText);
|
|
35
|
-
if (markerLength > 0)
|
|
36
|
-
return PSEUDO_MARKER_RE.test(lineText.slice(markerLength));
|
|
37
|
-
return /^\s*[a-zA-Z]\.\s/.test(lineText);
|
|
38
|
-
}
|
|
39
|
-
function calculateContinuationIndent(line) {
|
|
40
|
-
// Peel off the blockquote prefix first: leading whitespace plus one or
|
|
41
|
-
// more '>' markers (each optionally followed by whitespace). It is kept
|
|
42
|
-
// VERBATIM on continuation lines -- unlike list markers below, a
|
|
43
|
-
// blockquote marker replaced by spaces would demote the split-off
|
|
44
|
-
// sentences to lazy continuation lines, which still render inside the
|
|
45
|
-
// blockquote but no longer read as part of it in the source (the whole
|
|
46
|
-
// point of semantic line breaks). Lines without any '>' marker leave
|
|
47
|
-
// `blockquotePrefix` empty and take the exact pre-existing code path
|
|
48
|
-
// below, so non-blockquote continuation output is unchanged byte-for-byte.
|
|
49
|
-
const blockquotePrefix = line.match(/^(\s*(?:>\s*)+)/)?.[1] ?? '';
|
|
50
|
-
const remainder = line.slice(blockquotePrefix.length);
|
|
51
|
-
const leadingWhitespace = remainder.match(/^(\s*)/)?.[1] || '';
|
|
52
|
-
// Markers must not repeat on continuation lines (that would create new
|
|
53
|
-
// list items), so they are replaced by spaces of equal width. They
|
|
54
|
-
// consume iteratively, matching listMarkerLength, so a nested `- 1. text`
|
|
55
|
-
// line aligns its continuation under `text`.
|
|
56
|
-
const listMarkers = [
|
|
57
|
-
/^(\s*[-*+]\s)/, // Bullet points (all three CommonMark markers, matching isSkippableLine)
|
|
58
|
-
/^(\s*\d+\.\s)/, // Numbered lists
|
|
59
|
-
/^(\s*[a-zA-Z]\.\s)/, // Letter lists
|
|
60
|
-
];
|
|
61
|
-
let markerRegionWidth = 0;
|
|
62
|
-
let consumed = true;
|
|
63
|
-
while (consumed) {
|
|
64
|
-
consumed = false;
|
|
65
|
-
for (const pattern of listMarkers) {
|
|
66
|
-
const match = remainder.slice(markerRegionWidth).match(pattern);
|
|
67
|
-
if (match) {
|
|
68
|
-
markerRegionWidth += match[1].length;
|
|
69
|
-
consumed = true;
|
|
70
|
-
break;
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
if (markerRegionWidth > 0) {
|
|
75
|
-
return blockquotePrefix + ' '.repeat(markerRegionWidth);
|
|
76
|
-
}
|
|
77
|
-
return blockquotePrefix + leadingWhitespace;
|
|
78
|
-
}
|
|
79
|
-
// Shared by execute() and fix() so both apply the exact same gate: with
|
|
80
|
-
// mode !== 'sentence' (e.g. 'phrase'), this rule doesn't detect anything
|
|
81
|
-
// today, so fix() must not rewrite lines either -- previously fix() split
|
|
82
|
-
// every multi-sentence line unconditionally regardless of `mode`, letting
|
|
83
|
-
// --fix rewrite lines lint never flagged under a non-'sentence' mode.
|
|
84
|
-
function isSentenceMode(options) {
|
|
85
|
-
return options.mode === 'sentence';
|
|
86
|
-
}
|
|
87
|
-
function formatMessage(template, ...args) {
|
|
88
|
-
let result = template;
|
|
89
|
-
for (let i = 0; i < args.length; i++) {
|
|
90
|
-
result = result.replace('%s', args[i]);
|
|
91
|
-
}
|
|
92
|
-
return result;
|
|
93
|
-
}
|
|
94
|
-
/**
|
|
95
|
-
* Line numbers (1-based) that fall inside a real fenced/indented code block
|
|
96
|
-
* or a real GFM table, derived once from the whole document's token tree --
|
|
97
|
-
* the same whole-file self-derivation pattern `line-length.ts` (MD013) uses
|
|
98
|
-
* for its own `codeBlocks`/`tables` options. Replaces the old per-line
|
|
99
|
-
* ``` ` ``` -toggle and `line.includes('|')` heuristics: those only caught
|
|
100
|
-
* backtick-fenced blocks (never tilde fences or indented code) and treated
|
|
101
|
-
* ANY line containing a literal `|` as a table (a false positive for, e.g.,
|
|
102
|
-
* prose mentioning `true|false` or a shell `foo | bar` pipeline outside any
|
|
103
|
-
* table). Computed over `ctx.tree` regardless of the rule's own scope
|
|
104
|
-
* selector, since a code/table token's true extent doesn't depend on which
|
|
105
|
-
* segments this invocation happens to be scoped to.
|
|
106
|
-
*/
|
|
107
|
-
function deriveIgnoredLineNumbers(ctx) {
|
|
108
|
-
const codeBlockLines = new Set();
|
|
109
|
-
for (const codeBlock of filterByTypes(ctx.tree, ['codeFenced', 'codeIndented'])) {
|
|
110
|
-
addRangeToSet(codeBlockLines, codeBlock.startLine, codeBlock.endLine);
|
|
111
|
-
}
|
|
112
|
-
const tableLines = new Set();
|
|
113
|
-
for (const table of filterByTypes(ctx.tree, ['table'])) {
|
|
114
|
-
addRangeToSet(tableLines, table.startLine, table.endLine);
|
|
115
|
-
}
|
|
116
|
-
return { codeBlockLines, tableLines };
|
|
117
|
-
}
|
|
118
|
-
/**
|
|
119
|
-
* The single skip-decision used by both `execute` and `fix`. `fix()` must
|
|
120
|
-
* never rewrite a line that `execute()` wouldn't have flagged in the first
|
|
121
|
-
* place -- previously `fix()` only checked for blank lines and '#'
|
|
122
|
-
* headings, missing the tree-derived codeBlockLines/tableLines gating (and
|
|
123
|
-
* `isSkippableLine` entirely), so --fix could rewrite lines lint never
|
|
124
|
-
* reported as problems (e.g. an indented code-block line, or a table row).
|
|
125
|
-
*/
|
|
126
|
-
function isIgnoredLine(lineText, lineNumber, options, ignoredLines) {
|
|
127
|
-
if (options.ignoreCodeBlocks && ignoredLines.codeBlockLines.has(lineNumber))
|
|
128
|
-
return true;
|
|
129
|
-
if (options.ignoreTables && ignoredLines.tableLines.has(lineNumber))
|
|
130
|
-
return true;
|
|
131
|
-
return isSkippableLine(lineText);
|
|
132
|
-
}
|
|
133
|
-
const execute = async (rule, file, ctx) => {
|
|
134
|
-
const problems = [];
|
|
135
|
-
const options = rule.assertions['semantic-line-breaks'];
|
|
136
|
-
const ignoredLines = deriveIgnoredLineNumbers(ctx);
|
|
137
|
-
for (const segment of ctx.segments) {
|
|
138
|
-
const lines = segment.content.split(newLineRe);
|
|
139
|
-
for (let lineIndex = 0; lineIndex < lines.length; lineIndex++) {
|
|
140
|
-
const lineText = lines[lineIndex];
|
|
141
|
-
const lineNumber = segment.startLine + lineIndex;
|
|
142
|
-
if (isIgnoredLine(lineText, lineNumber, options, ignoredLines))
|
|
143
|
-
continue;
|
|
144
|
-
if (isSentenceMode(options)) {
|
|
145
|
-
// Count sentences after the marker: an ordered marker's own `1.`
|
|
146
|
-
// would otherwise register as a sentence boundary.
|
|
147
|
-
const sentenceCount = splitSentences(lineText.slice(listMarkerLength(lineText))).length;
|
|
148
|
-
if (sentenceCount > 1) {
|
|
149
|
-
problems.push({
|
|
150
|
-
file,
|
|
151
|
-
line: lineNumber,
|
|
152
|
-
column: 1,
|
|
153
|
-
text: lineText,
|
|
154
|
-
match: lineText,
|
|
155
|
-
ruleName: rule.name,
|
|
156
|
-
severity: rule.severity,
|
|
157
|
-
message: formatMessage(rule.message ?? '', options.mode),
|
|
158
|
-
});
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
return problems;
|
|
164
|
-
};
|
|
165
|
-
const fix = async (rule, file, ctx) => {
|
|
166
|
-
const fixes = [];
|
|
167
|
-
const options = rule.assertions['semantic-line-breaks'];
|
|
168
|
-
if (!isSentenceMode(options))
|
|
169
|
-
return fixes;
|
|
170
|
-
const ignoredLines = deriveIgnoredLineNumbers(ctx);
|
|
171
|
-
const rawLines = ctx.content.split(newLineRe);
|
|
172
|
-
for (const segment of ctx.segments) {
|
|
173
|
-
const lines = segment.content.split(newLineRe);
|
|
174
|
-
for (let lineIndex = 0; lineIndex < lines.length; lineIndex++) {
|
|
175
|
-
const lineText = lines[lineIndex];
|
|
176
|
-
const lineNumber = segment.startLine + lineIndex;
|
|
177
|
-
if (isIgnoredLine(lineText, lineNumber, options, ignoredLines))
|
|
178
|
-
continue;
|
|
179
|
-
// Same marker strip as execute(); markerLength shifts the sentence
|
|
180
|
-
// spans back to line positions.
|
|
181
|
-
const markerLength = listMarkerLength(lineText);
|
|
182
|
-
const sentences = splitSentences(lineText.slice(markerLength));
|
|
183
|
-
if (sentences.length <= 1)
|
|
184
|
-
continue;
|
|
185
|
-
// The replacement is applied with deleteCount: -1 (whole-line
|
|
186
|
-
// replace), so it must be rebuilt from the RAW source line, never
|
|
187
|
-
// from segment.content: under a scoped run (scope: summary /
|
|
188
|
-
// list-item / default) a list item's segment content is the SEMANTIC
|
|
189
|
-
// text with the list marker stripped by the token boundaries (the
|
|
190
|
-
// item's `content` token starts after the `- ` prefix), and
|
|
191
|
-
// rebuilding from it would replace `- First. Second.` with
|
|
192
|
-
// marker-less `First.\nSecond.`, corrupting the list. Sentence
|
|
193
|
-
// DETECTION stays on lineText -- the exact text execute() flags -- so
|
|
194
|
-
// execute()/fix() symmetry is untouched; only the replacement text
|
|
195
|
-
// derives from the raw line. On the segment's first line the token's
|
|
196
|
-
// startColumn locates the segment text within the raw line; later
|
|
197
|
-
// segment lines are verbatim source slices already (token text is
|
|
198
|
-
// content.slice(start.offset, end.offset)), and the whole-file
|
|
199
|
-
// segment has startColumn 1 -- both leave prefixOffset at 0, keeping
|
|
200
|
-
// whole-file (scope: all / unscoped) output byte-identical to before.
|
|
201
|
-
const rawLine = rawLines[lineNumber - 1] ?? lineText;
|
|
202
|
-
const prefixOffset = lineIndex === 0 ? segment.startColumn - 1 : 0;
|
|
203
|
-
const indentation = calculateContinuationIndent(rawLine);
|
|
204
|
-
const [firstSentence, ...continuationSentences] = sentences;
|
|
205
|
-
// Reconstruct the first sentence line from the TRUE original prefix
|
|
206
|
-
// (everything in the raw line before the trimmed sentence content
|
|
207
|
-
// starts -- indentation, blockquote markers, a list marker), not from
|
|
208
|
-
// `firstSentence.text` alone: splitSentences trims each span, so pure
|
|
209
|
-
// leading whitespace on the line is gone from `.text` with nowhere to
|
|
210
|
-
// go back to. Continuation lines are unaffected -- they were never
|
|
211
|
-
// built from the original line's own prefix in the first place.
|
|
212
|
-
const firstLinePrefix = rawLine.slice(0, prefixOffset + markerLength + firstSentence.start);
|
|
213
|
-
const newLinesForThisLine = [
|
|
214
|
-
firstLinePrefix + firstSentence.text,
|
|
215
|
-
...continuationSentences.map((sentence) => indentation + sentence.text),
|
|
216
|
-
];
|
|
217
|
-
const newText = newLinesForThisLine.join('\n');
|
|
218
|
-
fixes.push({
|
|
219
|
-
file,
|
|
220
|
-
ruleName: rule.name,
|
|
221
|
-
lineNumber,
|
|
222
|
-
editColumn: 1,
|
|
223
|
-
deleteCount: -1,
|
|
224
|
-
insertText: newText,
|
|
225
|
-
});
|
|
226
|
-
}
|
|
227
|
-
}
|
|
228
|
-
return fixes;
|
|
229
|
-
};
|
|
230
|
-
export const semanticLineBreaks = {
|
|
231
|
-
id: 'semantic-line-breaks',
|
|
232
|
-
fixable: true,
|
|
233
|
-
execute,
|
|
234
|
-
fix,
|
|
235
|
-
};
|
|
236
|
-
//# sourceMappingURL=semantic-line-breaks.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"semantic-line-breaks.js","sourceRoot":"","sources":["../../../src/rules/scope/semantic-line-breaks.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import type { ScopeRule } from '../types.js';
|
|
2
|
-
/**
|
|
3
|
-
* Resolves a `dictionary` option value (the shared base path WITHOUT the
|
|
4
|
-
* `.aff`/`.dic` extension) to its two file paths. Resolved relative to
|
|
5
|
-
* `process.cwd()`, not the config file's directory — consistent with every
|
|
6
|
-
* other file-shaped config value in this package; an absolute path is used
|
|
7
|
-
* as-is.
|
|
8
|
-
*
|
|
9
|
-
* Exported so `../../config/validate.ts`'s dictionary-file-existence check
|
|
10
|
-
* (see `checkSpellingPeerDependencies` there) shares this EXACT resolution
|
|
11
|
-
* rule instead of re-implementing it — a config that validates cleanly must
|
|
12
|
-
* always name the same files `readCustomDictionary` below actually reads at
|
|
13
|
-
* lint time, or validate() and the runtime could silently disagree about
|
|
14
|
-
* which files a `dictionary` path names.
|
|
15
|
-
*/
|
|
16
|
-
export declare function resolveDictionaryPaths(dictionaryPath: string): {
|
|
17
|
-
aff: string;
|
|
18
|
-
dic: string;
|
|
19
|
-
};
|
|
20
|
-
/**
|
|
21
|
-
* Formats the fallback message's second `%s` slot: `''` for zero
|
|
22
|
-
* suggestions, or `' — did you mean: a, b, c?'` for one to three.
|
|
23
|
-
* Exported for direct unit testing.
|
|
24
|
-
*/
|
|
25
|
-
export declare function formatSuggestionSuffix(suggestions: string[]): string;
|
|
26
|
-
export declare const spelling: ScopeRule;
|
|
27
|
-
//# sourceMappingURL=spelling.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"spelling.d.ts","sourceRoot":"","sources":["../../../src/rules/scope/spelling.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAoB,MAAM,aAAa,CAAC;AAuC/D;;;;;;;;;;;;;GAaG;AACH,wBAAgB,sBAAsB,CAAC,cAAc,EAAE,MAAM,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAK3F;AAuGD;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,MAAM,CAGpE;AAwGD,eAAO,MAAM,QAAQ,EAAE,SAAuD,CAAC"}
|
|
@@ -1,227 +0,0 @@
|
|
|
1
|
-
import * as fs from 'node:fs/promises';
|
|
2
|
-
import * as path from 'node:path';
|
|
3
|
-
import { formatTemplate } from '../token/messages.js';
|
|
4
|
-
import { newLineRe, offsetToLineColumn } from '../../core/line-endings.js';
|
|
5
|
-
import { maskInlineCode } from '../../core/inline-code.js';
|
|
6
|
-
import { isAllCapsWord } from './title-case.js';
|
|
7
|
-
import { TECHNICAL_PROPER_NOUNS } from '../../data/proper-nouns.js';
|
|
8
|
-
// Module-level cache, keyed by dictionary source: parsing a Hunspell
|
|
9
|
-
// dictionary is expensive (the bundled English `.dic` alone is 500+KB), so
|
|
10
|
-
// one speller instance is reused for the lifetime of the process. A cached
|
|
11
|
-
// PROMISE (not a resolved value) so concurrent first callers await the same
|
|
12
|
-
// in-flight load instead of racing separate ones.
|
|
13
|
-
const DEFAULT_DICTIONARY_KEY = '\0default';
|
|
14
|
-
const spellerCache = new Map();
|
|
15
|
-
/**
|
|
16
|
-
* Resolves a `dictionary` option value (the shared base path WITHOUT the
|
|
17
|
-
* `.aff`/`.dic` extension) to its two file paths. Resolved relative to
|
|
18
|
-
* `process.cwd()`, not the config file's directory — consistent with every
|
|
19
|
-
* other file-shaped config value in this package; an absolute path is used
|
|
20
|
-
* as-is.
|
|
21
|
-
*
|
|
22
|
-
* Exported so `../../config/validate.ts`'s dictionary-file-existence check
|
|
23
|
-
* (see `checkSpellingPeerDependencies` there) shares this EXACT resolution
|
|
24
|
-
* rule instead of re-implementing it — a config that validates cleanly must
|
|
25
|
-
* always name the same files `readCustomDictionary` below actually reads at
|
|
26
|
-
* lint time, or validate() and the runtime could silently disagree about
|
|
27
|
-
* which files a `dictionary` path names.
|
|
28
|
-
*/
|
|
29
|
-
export function resolveDictionaryPaths(dictionaryPath) {
|
|
30
|
-
const resolved = path.isAbsolute(dictionaryPath)
|
|
31
|
-
? dictionaryPath
|
|
32
|
-
: path.join(process.cwd(), dictionaryPath);
|
|
33
|
-
return { aff: `${resolved}.aff`, dic: `${resolved}.dic` };
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Reads a custom Hunspell `.aff`/`.dic` pair from disk. `dictionaryPath` is
|
|
37
|
-
* the shared base path WITHOUT the extension (e.g. `'./dict/custom'` reads
|
|
38
|
-
* `./dict/custom.aff` and `./dict/custom.dic`) — see `resolveDictionaryPaths`
|
|
39
|
-
* for the resolution rule.
|
|
40
|
-
*/
|
|
41
|
-
async function readCustomDictionary(dictionaryPath) {
|
|
42
|
-
const { aff: affPath, dic: dicPath } = resolveDictionaryPaths(dictionaryPath);
|
|
43
|
-
const [aff, dic] = await Promise.all([fs.readFile(affPath), fs.readFile(dicPath)]);
|
|
44
|
-
return { aff, dic };
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Loads the `{aff, dic}` pair `nspell` needs: a custom pair from disk when
|
|
48
|
-
* `options.dictionary` is set, otherwise the bundled default English
|
|
49
|
-
* dictionary. `dictionary-en@4` exports a plain `{ aff, dic }` object as
|
|
50
|
-
* its ESM default — NOT the v3 Node-style callback API some nspell examples
|
|
51
|
-
* still show — so there is no callback to bridge, just a destructure.
|
|
52
|
-
*/
|
|
53
|
-
async function loadDictionary(options) {
|
|
54
|
-
if (options.dictionary)
|
|
55
|
-
return readCustomDictionary(options.dictionary);
|
|
56
|
-
const mod = (await import('dictionary-en'));
|
|
57
|
-
return mod.default;
|
|
58
|
-
}
|
|
59
|
-
function loadSpeller(options) {
|
|
60
|
-
const cacheKey = options.dictionary && options.dictionary.length > 0
|
|
61
|
-
? options.dictionary
|
|
62
|
-
: DEFAULT_DICTIONARY_KEY;
|
|
63
|
-
const cached = spellerCache.get(cacheKey);
|
|
64
|
-
if (cached)
|
|
65
|
-
return cached;
|
|
66
|
-
const loading = (async () => {
|
|
67
|
-
const [{ default: nspell }, dictionary] = await Promise.all([
|
|
68
|
-
import('nspell'),
|
|
69
|
-
loadDictionary(options),
|
|
70
|
-
]);
|
|
71
|
-
return nspell(dictionary);
|
|
72
|
-
})();
|
|
73
|
-
spellerCache.set(cacheKey, loading);
|
|
74
|
-
// Evict on rejection: a failed load (missing peer, unreadable/missing
|
|
75
|
-
// custom dictionary file, etc.) must not poison this cache key for the
|
|
76
|
-
// rest of the process — a later call after the failure clears (peer
|
|
77
|
-
// installed, file becomes readable) should retry cleanly instead of
|
|
78
|
-
// forever replaying the same dead rejection (the High-severity finding
|
|
79
|
-
// this fixes). Attached as a SEPARATE `.catch` subscriber on `loading`
|
|
80
|
-
// itself, never reassigning `loading` or the cached map value — every
|
|
81
|
-
// real caller awaiting the SAME cached promise (via this function's own
|
|
82
|
-
// `return loading` below, or a concurrent in-flight caller that read
|
|
83
|
-
// `cached` above) still observes and handles the original rejection
|
|
84
|
-
// themselves; this handler only ever additionally deletes the now-dead
|
|
85
|
-
// cache entry alongside them, so it can never swallow the rejection a
|
|
86
|
-
// consumer sees.
|
|
87
|
-
loading.catch(() => {
|
|
88
|
-
// Only remove the entry if it's STILL this exact rejected promise — a
|
|
89
|
-
// concurrent caller could in principle have already evicted and
|
|
90
|
-
// replaced it with a newer, unrelated load, which this must never clobber.
|
|
91
|
-
if (spellerCache.get(cacheKey) === loading) {
|
|
92
|
-
spellerCache.delete(cacheKey);
|
|
93
|
-
}
|
|
94
|
-
});
|
|
95
|
-
return loading;
|
|
96
|
-
}
|
|
97
|
-
// -- Tokenization -----------------------------------------------------------
|
|
98
|
-
// Letter runs, with an optional apostrophe-joined suffix so contractions
|
|
99
|
-
// ("don't") tokenize as one word. `\p{L}` can never match a digit, so
|
|
100
|
-
// "skip tokens containing digits" is true by construction — but a
|
|
101
|
-
// digit-adjacent identifier like 'sha256' still tokenizes to its letter-only
|
|
102
|
-
// fragments ('sha'), which nspell would flag as misspellings. The
|
|
103
|
-
// `isDigitAdjacent` guard below skips those.
|
|
104
|
-
const WORD_RE = /\p{L}+(?:['’]\p{L}+)?/gu;
|
|
105
|
-
// True when the character immediately before `start` or after `end` is a
|
|
106
|
-
// digit — used to skip a WORD_RE match that is really a truncated fragment
|
|
107
|
-
// of a digit-bearing identifier ('sha256' -> 'sha', 'log4j' -> 'log' and
|
|
108
|
-
// 'j') rather than a standalone word.
|
|
109
|
-
function isDigitAdjacent(text, start, end) {
|
|
110
|
-
const before = text[start - 1];
|
|
111
|
-
const after = text[end];
|
|
112
|
-
return /\d/.test(before ?? '') || /\d/.test(after ?? '');
|
|
113
|
-
}
|
|
114
|
-
// Backtick-delimited inline code spans (extractScopes keeps them as raw
|
|
115
|
-
// text in prose segment content) are masked out with the shared,
|
|
116
|
-
// length-preserving maskInlineCode (core/inline-code.ts) so every remaining
|
|
117
|
-
// token's offset stays aligned with `segment.content` -- see there for the
|
|
118
|
-
// CommonMark span-recognition contract. Fenced/indented CODE BLOCKS need no
|
|
119
|
-
// handling here: they are their own `scope: 'code'` segment, so a
|
|
120
|
-
// prose-scoped rule never sees one (a rule explicitly scoped to `all`/`code`
|
|
121
|
-
// still does -- see the README's `spelling` section).
|
|
122
|
-
// On the segment's first line, segment.content starts mid-source-line (e.g.
|
|
123
|
-
// a heading's content excludes the '## ' marker), so segment.startColumn
|
|
124
|
-
// must be added — see pattern.ts's toSourceColumn.
|
|
125
|
-
function toSourceColumn(segment, lineNumber, column) {
|
|
126
|
-
return lineNumber === 1 ? segment.startColumn + (column - 1) : column;
|
|
127
|
-
}
|
|
128
|
-
/**
|
|
129
|
-
* Formats the fallback message's second `%s` slot: `''` for zero
|
|
130
|
-
* suggestions, or `' — did you mean: a, b, c?'` for one to three.
|
|
131
|
-
* Exported for direct unit testing.
|
|
132
|
-
*/
|
|
133
|
-
export function formatSuggestionSuffix(suggestions) {
|
|
134
|
-
if (suggestions.length === 0)
|
|
135
|
-
return '';
|
|
136
|
-
return ` — did you mean: ${suggestions.join(', ')}?`;
|
|
137
|
-
}
|
|
138
|
-
// Fallback when a programmatically-built rule has no `message` (validate()
|
|
139
|
-
// requires one). %s slots: the unrecognized word, then
|
|
140
|
-
// formatSuggestionSuffix's output.
|
|
141
|
-
const FALLBACK_MESSAGE = 'Unknown word "%s"%s';
|
|
142
|
-
// The built-in vocabulary's multi-token entries ('Node.js', 'VS Code') are
|
|
143
|
-
// split into their individual word-level parts up front: unlike
|
|
144
|
-
// `capitalization`'s whole-phrase matching (title-case.ts's
|
|
145
|
-
// buildExceptionPlan/recaseWords), this rule's WORD_RE (below)
|
|
146
|
-
// tokenizes per word, so a phrase entry must contribute EACH of its parts
|
|
147
|
-
// ('Node', 'js', 'VS', 'Code') to the accepted-word set rather than the
|
|
148
|
-
// phrase as a whole -- the correct behavior for a per-word spell check, and
|
|
149
|
-
// a deliberate, documented asymmetry with `capitalization` (see
|
|
150
|
-
// SpellingAssertion's `builtinVocabulary` doc comment in ../../types/index.js).
|
|
151
|
-
const BUILTIN_VOCAB_WORDS = TECHNICAL_PROPER_NOUNS.flatMap((entry) => entry.split(/[\s.]+/).filter((part) => part.length > 0)).map((word) => word.toLowerCase());
|
|
152
|
-
const execute = async (rule, file, ctx) => {
|
|
153
|
-
const options = (rule.assertions['spelling'] ?? {});
|
|
154
|
-
let speller;
|
|
155
|
-
try {
|
|
156
|
-
speller = await loadSpeller(options);
|
|
157
|
-
}
|
|
158
|
-
catch (error) {
|
|
159
|
-
// The optional peer (or a custom dictionary file) failed to load.
|
|
160
|
-
// validate()'s peer-availability + dictionary-file-existence checks
|
|
161
|
-
// (see checkSpellingPeerDependencies in ../../config/validate.ts)
|
|
162
|
-
// normally catch this ahead of time with an actionable error — but a
|
|
163
|
-
// caller that reaches execute() directly (bypassing validate()), or a
|
|
164
|
-
// TOCTOU where the dictionary file disappears/breaks between validate()
|
|
165
|
-
// and this run, must NOT fail closed with zero problems here: that used
|
|
166
|
-
// to silently disable spelling for the rest of the process (the
|
|
167
|
-
// rejected promise stayed cached — see spellerCache/loadSpeller above —
|
|
168
|
-
// and every later call replayed it). Rethrow instead, so runner.ts's own
|
|
169
|
-
// internalError catch (core/runner.ts) surfaces exactly ONE visible
|
|
170
|
-
// problem for this file/rule rather than a silent [].
|
|
171
|
-
const detail = error instanceof Error ? error.message : String(error);
|
|
172
|
-
throw new Error(`spelling: failed to load dictionary — ${detail}`);
|
|
173
|
-
}
|
|
174
|
-
const vocab = new Set((options.vocab ?? []).map((word) => word.toLowerCase()));
|
|
175
|
-
// Unioned in unless explicitly opted out -- same `builtinVocabulary` flag
|
|
176
|
-
// and union-not-replace reasoning as `capitalization` (see
|
|
177
|
-
// rules/scope/capitalization.ts's `collectSites`), so a config's own
|
|
178
|
-
// `vocab` composes with the built-ins rather than overriding them.
|
|
179
|
-
if (options.builtinVocabulary !== false) {
|
|
180
|
-
for (const word of BUILTIN_VOCAB_WORDS)
|
|
181
|
-
vocab.add(word);
|
|
182
|
-
}
|
|
183
|
-
const ignorePatterns = [];
|
|
184
|
-
for (const pattern of options.ignore ?? []) {
|
|
185
|
-
try {
|
|
186
|
-
ignorePatterns.push(new RegExp(pattern));
|
|
187
|
-
}
|
|
188
|
-
catch {
|
|
189
|
-
// ignore invalid regex
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
const problems = [];
|
|
193
|
-
for (const segment of ctx.segments) {
|
|
194
|
-
const masked = maskInlineCode(segment.content);
|
|
195
|
-
// newLineRe, not '\n': a bare split leaves a trailing '\r' on CRLF content.
|
|
196
|
-
const contentLines = segment.content.split(newLineRe);
|
|
197
|
-
for (const match of masked.matchAll(WORD_RE)) {
|
|
198
|
-
const word = match[0];
|
|
199
|
-
const offset = match.index ?? 0;
|
|
200
|
-
if (vocab.has(word.toLowerCase()))
|
|
201
|
-
continue;
|
|
202
|
-
if (ignorePatterns.some((re) => re.test(word)))
|
|
203
|
-
continue;
|
|
204
|
-
if (isAllCapsWord(word))
|
|
205
|
-
continue;
|
|
206
|
-
if (isDigitAdjacent(masked, offset, offset + word.length))
|
|
207
|
-
continue;
|
|
208
|
-
if (speller.correct(word))
|
|
209
|
-
continue;
|
|
210
|
-
const { line: lineNumber, column } = offsetToLineColumn(segment.content, offset);
|
|
211
|
-
const suggestions = speller.suggest(word).slice(0, 3);
|
|
212
|
-
problems.push({
|
|
213
|
-
file,
|
|
214
|
-
line: segment.startLine + lineNumber - 1,
|
|
215
|
-
column: toSourceColumn(segment, lineNumber, column),
|
|
216
|
-
text: contentLines[lineNumber - 1] ?? '',
|
|
217
|
-
match: word,
|
|
218
|
-
ruleName: rule.name,
|
|
219
|
-
severity: rule.severity,
|
|
220
|
-
message: formatTemplate(rule.message ?? FALLBACK_MESSAGE, word, formatSuggestionSuffix(suggestions)),
|
|
221
|
-
});
|
|
222
|
-
}
|
|
223
|
-
}
|
|
224
|
-
return problems;
|
|
225
|
-
};
|
|
226
|
-
export const spelling = { id: 'spelling', fixable: false, execute };
|
|
227
|
-
//# sourceMappingURL=spelling.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"spelling.js","sourceRoot":"","sources":["../../../src/rules/scope/spelling.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"swap.d.ts","sourceRoot":"","sources":["../../../src/rules/scope/swap.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAoB,MAAM,aAAa,CAAC;AAgL/D,eAAO,MAAM,IAAI,EAAE,SAAuD,CAAC"}
|