@redocly/recheck 0.1.0 → 0.3.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 +1023 -56
- package/dist/cli.js +40 -7
- package/dist/cli.js.map +1 -1
- package/dist/commands/markdoc-schema.d.ts +17 -0
- package/dist/commands/markdoc-schema.d.ts.map +1 -0
- package/dist/commands/markdoc-schema.js +127 -0
- package/dist/commands/markdoc-schema.js.map +1 -0
- package/dist/commands/run.d.ts +2 -1
- package/dist/commands/run.d.ts.map +1 -1
- package/dist/commands/run.js +87 -10
- package/dist/commands/run.js.map +1 -1
- package/dist/config/load.d.ts +11 -0
- package/dist/config/load.d.ts.map +1 -1
- package/dist/config/load.js +12 -2
- package/dist/config/load.js.map +1 -1
- package/dist/config/presets/google.d.ts +3 -0
- package/dist/config/presets/google.d.ts.map +1 -0
- package/dist/config/presets/google.js +1671 -0
- package/dist/config/presets/google.js.map +1 -0
- package/dist/config/presets/inclusive-language.d.ts +3 -0
- package/dist/config/presets/inclusive-language.d.ts.map +1 -0
- package/dist/config/presets/inclusive-language.js +321 -0
- package/dist/config/presets/inclusive-language.js.map +1 -0
- package/dist/config/presets/index.d.ts +67 -0
- package/dist/config/presets/index.d.ts.map +1 -0
- package/dist/config/presets/index.js +137 -0
- package/dist/config/presets/index.js.map +1 -0
- package/dist/config/presets/markdoc.d.ts +21 -0
- package/dist/config/presets/markdoc.d.ts.map +1 -0
- package/dist/config/presets/markdoc.js +101 -0
- package/dist/config/presets/markdoc.js.map +1 -0
- package/dist/config/presets/markdown-relaxed.d.ts +3 -0
- package/dist/config/presets/markdown-relaxed.d.ts.map +1 -0
- package/dist/config/presets/markdown-relaxed.js +98 -0
- package/dist/config/presets/markdown-relaxed.js.map +1 -0
- package/dist/config/presets/markdown.d.ts +43 -0
- package/dist/config/presets/markdown.d.ts.map +1 -0
- package/dist/config/presets/markdown.js +132 -0
- package/dist/config/presets/markdown.js.map +1 -0
- package/dist/config/presets/microsoft.d.ts +3 -0
- package/dist/config/presets/microsoft.d.ts.map +1 -0
- package/dist/config/presets/microsoft.js +2268 -0
- package/dist/config/presets/microsoft.js.map +1 -0
- package/dist/config/presets/minimal.d.ts +3 -0
- package/dist/config/presets/minimal.d.ts.map +1 -0
- package/dist/config/presets/minimal.js +21 -0
- package/dist/config/presets/minimal.js.map +1 -0
- package/dist/config/presets/plain-language.d.ts +3 -0
- package/dist/config/presets/plain-language.d.ts.map +1 -0
- package/dist/config/presets/plain-language.js +351 -0
- package/dist/config/presets/plain-language.js.map +1 -0
- package/dist/config/presets/prose.d.ts +52 -0
- package/dist/config/presets/prose.d.ts.map +1 -0
- package/dist/config/presets/prose.js +138 -0
- package/dist/config/presets/prose.js.map +1 -0
- package/dist/config/schema.d.ts +128 -22
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +105 -21
- package/dist/config/schema.js.map +1 -1
- package/dist/config/validate.d.ts +12 -2
- package/dist/config/validate.d.ts.map +1 -1
- package/dist/config/validate.js +1200 -44
- package/dist/config/validate.js.map +1 -1
- package/dist/core/auto-fix.d.ts +8 -13
- package/dist/core/auto-fix.d.ts.map +1 -1
- package/dist/core/auto-fix.js +94 -75
- package/dist/core/auto-fix.js.map +1 -1
- package/dist/core/case-preserve.d.ts +46 -0
- package/dist/core/case-preserve.d.ts.map +1 -0
- package/dist/core/case-preserve.js +57 -0
- package/dist/core/case-preserve.js.map +1 -0
- package/dist/core/directives.d.ts +9 -0
- package/dist/core/directives.d.ts.map +1 -0
- package/dist/core/directives.js +73 -0
- package/dist/core/directives.js.map +1 -0
- package/dist/core/files.d.ts +63 -0
- package/dist/core/files.d.ts.map +1 -1
- package/dist/core/files.js +185 -0
- package/dist/core/files.js.map +1 -1
- package/dist/core/inline-code.d.ts +87 -0
- package/dist/core/inline-code.d.ts.map +1 -0
- package/dist/core/inline-code.js +104 -0
- package/dist/core/inline-code.js.map +1 -0
- package/dist/core/line-endings.d.ts +32 -0
- package/dist/core/line-endings.d.ts.map +1 -0
- package/dist/core/line-endings.js +65 -0
- package/dist/core/line-endings.js.map +1 -0
- package/dist/core/markdoc-tags.d.ts +79 -0
- package/dist/core/markdoc-tags.d.ts.map +1 -0
- package/dist/core/markdoc-tags.js +131 -0
- package/dist/core/markdoc-tags.js.map +1 -0
- package/dist/core/rule-filters.d.ts +17 -0
- package/dist/core/rule-filters.d.ts.map +1 -1
- package/dist/core/rule-filters.js +64 -0
- package/dist/core/rule-filters.js.map +1 -1
- package/dist/core/runner.d.ts +92 -3
- package/dist/core/runner.d.ts.map +1 -1
- package/dist/core/runner.js +348 -110
- package/dist/core/runner.js.map +1 -1
- package/dist/core/timing.d.ts.map +1 -1
- package/dist/data/markdoc-realm-schema.d.ts +3 -0
- package/dist/data/markdoc-realm-schema.d.ts.map +1 -0
- package/dist/data/markdoc-realm-schema.js +760 -0
- package/dist/data/markdoc-realm-schema.js.map +1 -0
- package/dist/data/proper-nouns.d.ts +2 -0
- package/dist/data/proper-nouns.d.ts.map +1 -0
- package/dist/data/proper-nouns.js +47 -0
- package/dist/data/proper-nouns.js.map +1 -0
- package/dist/index.d.ts +90 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +152 -0
- package/dist/index.js.map +1 -0
- package/dist/metrics/formulas.d.ts +17 -0
- package/dist/metrics/formulas.d.ts.map +1 -0
- package/dist/metrics/formulas.js +70 -0
- package/dist/metrics/formulas.js.map +1 -0
- package/dist/metrics/index.d.ts +5 -0
- package/dist/metrics/index.d.ts.map +1 -0
- package/dist/metrics/index.js +3 -0
- package/dist/metrics/index.js.map +1 -0
- package/dist/metrics/statistics.d.ts +27 -0
- package/dist/metrics/statistics.d.ts.map +1 -0
- package/dist/metrics/statistics.js +56 -0
- package/dist/metrics/statistics.js.map +1 -0
- package/dist/parser/index.d.ts +18 -0
- package/dist/parser/index.d.ts.map +1 -0
- package/dist/parser/index.js +168 -0
- package/dist/parser/index.js.map +1 -0
- package/dist/parser/markdoc/extract-statics.d.ts +45 -0
- package/dist/parser/markdoc/extract-statics.d.ts.map +1 -0
- package/dist/parser/markdoc/extract-statics.js +139 -0
- package/dist/parser/markdoc/extract-statics.js.map +1 -0
- package/dist/parser/markdoc/pairing.d.ts +63 -0
- package/dist/parser/markdoc/pairing.d.ts.map +1 -0
- package/dist/parser/markdoc/pairing.js +94 -0
- package/dist/parser/markdoc/pairing.js.map +1 -0
- package/dist/parser/markdoc/schema.d.ts +85 -0
- package/dist/parser/markdoc/schema.d.ts.map +1 -0
- package/dist/parser/markdoc/schema.js +86 -0
- package/dist/parser/markdoc/schema.js.map +1 -0
- package/dist/parser/markdoc/span.d.ts +64 -0
- package/dist/parser/markdoc/span.d.ts.map +1 -0
- package/dist/parser/markdoc/span.js +729 -0
- package/dist/parser/markdoc/span.js.map +1 -0
- package/dist/parser/markdoc/structure.d.ts +28 -0
- package/dist/parser/markdoc/structure.d.ts.map +1 -0
- package/dist/parser/markdoc/structure.js +153 -0
- package/dist/parser/markdoc/structure.js.map +1 -0
- package/dist/parser/markdoc/syntax.d.ts +44 -0
- package/dist/parser/markdoc/syntax.d.ts.map +1 -0
- package/dist/parser/markdoc/syntax.js +317 -0
- package/dist/parser/markdoc/syntax.js.map +1 -0
- package/dist/parser/types.d.ts +18 -0
- package/dist/parser/types.d.ts.map +1 -0
- package/dist/parser/types.js.map +1 -0
- package/dist/reporter/fixes.d.ts.map +1 -1
- package/dist/reporter/fixes.js +22 -1
- package/dist/reporter/fixes.js.map +1 -1
- package/dist/reporter/statistics.d.ts +1 -8
- package/dist/reporter/statistics.d.ts.map +1 -1
- package/dist/reporter/statistics.js.map +1 -1
- package/dist/rules/registry.d.ts +15 -0
- package/dist/rules/registry.d.ts.map +1 -0
- package/dist/rules/registry.js +81 -0
- package/dist/rules/registry.js.map +1 -0
- package/dist/rules/scope/capitalization.d.ts +3 -0
- package/dist/rules/scope/capitalization.d.ts.map +1 -0
- package/dist/rules/scope/capitalization.js +163 -0
- package/dist/rules/scope/capitalization.js.map +1 -0
- package/dist/rules/scope/conditional.d.ts +3 -0
- package/dist/rules/scope/conditional.d.ts.map +1 -0
- package/dist/rules/scope/conditional.js +112 -0
- package/dist/rules/scope/conditional.js.map +1 -0
- package/dist/rules/scope/consistency.d.ts +3 -0
- package/dist/rules/scope/consistency.d.ts.map +1 -0
- package/dist/rules/scope/consistency.js +178 -0
- package/dist/rules/scope/consistency.js.map +1 -0
- package/dist/rules/scope/length.d.ts +3 -0
- package/dist/rules/scope/length.d.ts.map +1 -0
- package/dist/rules/scope/length.js +69 -0
- package/dist/rules/scope/length.js.map +1 -0
- package/dist/rules/scope/max-image-size.d.ts +3 -0
- package/dist/rules/scope/max-image-size.d.ts.map +1 -0
- package/dist/rules/scope/max-image-size.js +65 -0
- package/dist/rules/scope/max-image-size.js.map +1 -0
- package/dist/rules/scope/metric.d.ts +17 -0
- package/dist/rules/scope/metric.d.ts.map +1 -0
- package/dist/rules/scope/metric.js +216 -0
- package/dist/rules/scope/metric.js.map +1 -0
- package/dist/rules/scope/occurrence.d.ts +3 -0
- package/dist/rules/scope/occurrence.d.ts.map +1 -0
- package/dist/rules/scope/occurrence.js +48 -0
- package/dist/rules/scope/occurrence.js.map +1 -0
- package/dist/rules/scope/pattern.d.ts +3 -0
- package/dist/rules/scope/pattern.d.ts.map +1 -0
- package/dist/rules/scope/pattern.js +75 -0
- package/dist/rules/scope/pattern.js.map +1 -0
- package/dist/rules/scope/repetition.d.ts +3 -0
- package/dist/rules/scope/repetition.d.ts.map +1 -0
- package/dist/rules/scope/repetition.js +139 -0
- package/dist/rules/scope/repetition.js.map +1 -0
- package/dist/rules/scope/semantic-line-breaks.d.ts +3 -0
- package/dist/rules/scope/semantic-line-breaks.d.ts.map +1 -0
- package/dist/rules/scope/semantic-line-breaks.js +213 -0
- package/dist/rules/scope/semantic-line-breaks.js.map +1 -0
- package/dist/rules/scope/spelling.d.ts +27 -0
- package/dist/rules/scope/spelling.d.ts.map +1 -0
- package/dist/rules/scope/spelling.js +227 -0
- package/dist/rules/scope/spelling.js.map +1 -0
- package/dist/rules/scope/swap.d.ts +3 -0
- package/dist/rules/scope/swap.d.ts.map +1 -0
- package/dist/rules/scope/swap.js +149 -0
- package/dist/rules/scope/swap.js.map +1 -0
- package/dist/rules/scope/title-case.d.ts +46 -0
- package/dist/rules/scope/title-case.d.ts.map +1 -0
- package/dist/rules/scope/title-case.js +301 -0
- package/dist/rules/scope/title-case.js.map +1 -0
- package/dist/rules/token/blanks-around-fences.d.ts +3 -0
- package/dist/rules/token/blanks-around-fences.d.ts.map +1 -0
- package/dist/rules/token/blanks-around-fences.js +44 -0
- package/dist/rules/token/blanks-around-fences.js.map +1 -0
- package/dist/rules/token/blanks-around-headings.d.ts +3 -0
- package/dist/rules/token/blanks-around-headings.d.ts.map +1 -0
- package/dist/rules/token/blanks-around-headings.js +108 -0
- package/dist/rules/token/blanks-around-headings.js.map +1 -0
- package/dist/rules/token/blanks-around-lists.d.ts +3 -0
- package/dist/rules/token/blanks-around-lists.d.ts.map +1 -0
- package/dist/rules/token/blanks-around-lists.js +56 -0
- package/dist/rules/token/blanks-around-lists.js.map +1 -0
- package/dist/rules/token/blanks-around-tables.d.ts +3 -0
- package/dist/rules/token/blanks-around-tables.d.ts.map +1 -0
- package/dist/rules/token/blanks-around-tables.js +42 -0
- package/dist/rules/token/blanks-around-tables.js.map +1 -0
- package/dist/rules/token/code-block-style.d.ts +3 -0
- package/dist/rules/token/code-block-style.d.ts.map +1 -0
- package/dist/rules/token/code-block-style.js +30 -0
- package/dist/rules/token/code-block-style.js.map +1 -0
- package/dist/rules/token/code-fence-style.d.ts +3 -0
- package/dist/rules/token/code-fence-style.d.ts.map +1 -0
- package/dist/rules/token/code-fence-style.js +35 -0
- package/dist/rules/token/code-fence-style.js.map +1 -0
- package/dist/rules/token/commands-show-output.d.ts +3 -0
- package/dist/rules/token/commands-show-output.d.ts.map +1 -0
- package/dist/rules/token/commands-show-output.js +38 -0
- package/dist/rules/token/commands-show-output.js.map +1 -0
- package/dist/rules/token/descriptive-link-text.d.ts +3 -0
- package/dist/rules/token/descriptive-link-text.d.ts.map +1 -0
- package/dist/rules/token/descriptive-link-text.js +53 -0
- package/dist/rules/token/descriptive-link-text.js.map +1 -0
- package/dist/rules/token/emphasis-style.d.ts +3 -0
- package/dist/rules/token/emphasis-style.d.ts.map +1 -0
- package/dist/rules/token/emphasis-style.js +51 -0
- package/dist/rules/token/emphasis-style.js.map +1 -0
- package/dist/rules/token/fenced-code-language.d.ts +3 -0
- package/dist/rules/token/fenced-code-language.d.ts.map +1 -0
- package/dist/rules/token/fenced-code-language.js +35 -0
- package/dist/rules/token/fenced-code-language.js.map +1 -0
- package/dist/rules/token/first-line-h1.d.ts +3 -0
- package/dist/rules/token/first-line-h1.d.ts.map +1 -0
- package/dist/rules/token/first-line-h1.js +107 -0
- package/dist/rules/token/first-line-h1.js.map +1 -0
- package/dist/rules/token/heading-increment.d.ts +3 -0
- package/dist/rules/token/heading-increment.d.ts.map +1 -0
- package/dist/rules/token/heading-increment.js +27 -0
- package/dist/rules/token/heading-increment.js.map +1 -0
- package/dist/rules/token/heading-start-left.d.ts +3 -0
- package/dist/rules/token/heading-start-left.d.ts.map +1 -0
- package/dist/rules/token/heading-start-left.js +31 -0
- package/dist/rules/token/heading-start-left.js.map +1 -0
- package/dist/rules/token/heading-style.d.ts +3 -0
- package/dist/rules/token/heading-style.d.ts.map +1 -0
- package/dist/rules/token/heading-style.js +41 -0
- package/dist/rules/token/heading-style.js.map +1 -0
- package/dist/rules/token/helpers.d.ts +313 -0
- package/dist/rules/token/helpers.d.ts.map +1 -0
- package/dist/rules/token/helpers.js +746 -0
- package/dist/rules/token/helpers.js.map +1 -0
- package/dist/rules/token/hr-style.d.ts +3 -0
- package/dist/rules/token/hr-style.d.ts.map +1 -0
- package/dist/rules/token/hr-style.js +28 -0
- package/dist/rules/token/hr-style.js.map +1 -0
- package/dist/rules/token/index.d.ts +75 -0
- package/dist/rules/token/index.d.ts.map +1 -0
- package/dist/rules/token/index.js +226 -0
- package/dist/rules/token/index.js.map +1 -0
- package/dist/rules/token/line-length.d.ts +3 -0
- package/dist/rules/token/line-length.d.ts.map +1 -0
- package/dist/rules/token/line-length.js +120 -0
- package/dist/rules/token/line-length.js.map +1 -0
- package/dist/rules/token/link-fragments.d.ts +3 -0
- package/dist/rules/token/link-fragments.d.ts.map +1 -0
- package/dist/rules/token/link-fragments.js +145 -0
- package/dist/rules/token/link-fragments.js.map +1 -0
- package/dist/rules/token/link-image-reference-definitions.d.ts +3 -0
- package/dist/rules/token/link-image-reference-definitions.d.ts.map +1 -0
- package/dist/rules/token/link-image-reference-definitions.js +50 -0
- package/dist/rules/token/link-image-reference-definitions.js.map +1 -0
- package/dist/rules/token/link-image-style.d.ts +3 -0
- package/dist/rules/token/link-image-style.d.ts.map +1 -0
- package/dist/rules/token/link-image-style.js +131 -0
- package/dist/rules/token/link-image-style.js.map +1 -0
- package/dist/rules/token/list-indent.d.ts +3 -0
- package/dist/rules/token/list-indent.d.ts.map +1 -0
- package/dist/rules/token/list-indent.js +60 -0
- package/dist/rules/token/list-indent.js.map +1 -0
- package/dist/rules/token/list-length.d.ts +3 -0
- package/dist/rules/token/list-length.d.ts.map +1 -0
- package/dist/rules/token/list-length.js +55 -0
- package/dist/rules/token/list-length.js.map +1 -0
- package/dist/rules/token/list-marker-space.d.ts +3 -0
- package/dist/rules/token/list-marker-space.d.ts.map +1 -0
- package/dist/rules/token/list-marker-space.js +52 -0
- package/dist/rules/token/list-marker-space.js.map +1 -0
- package/dist/rules/token/markdoc-attributes.d.ts +3 -0
- package/dist/rules/token/markdoc-attributes.d.ts.map +1 -0
- package/dist/rules/token/markdoc-attributes.js +269 -0
- package/dist/rules/token/markdoc-attributes.js.map +1 -0
- package/dist/rules/token/markdoc-pairing.d.ts +3 -0
- package/dist/rules/token/markdoc-pairing.d.ts.map +1 -0
- package/dist/rules/token/markdoc-pairing.js +73 -0
- package/dist/rules/token/markdoc-pairing.js.map +1 -0
- package/dist/rules/token/markdoc-syntax.d.ts +3 -0
- package/dist/rules/token/markdoc-syntax.d.ts.map +1 -0
- package/dist/rules/token/markdoc-syntax.js +119 -0
- package/dist/rules/token/markdoc-syntax.js.map +1 -0
- package/dist/rules/token/markdoc-unknown-tag.d.ts +3 -0
- package/dist/rules/token/markdoc-unknown-tag.d.ts.map +1 -0
- package/dist/rules/token/markdoc-unknown-tag.js +64 -0
- package/dist/rules/token/markdoc-unknown-tag.js.map +1 -0
- package/dist/rules/token/messages.d.ts +4 -0
- package/dist/rules/token/messages.d.ts.map +1 -0
- package/dist/rules/token/messages.js +20 -0
- package/dist/rules/token/messages.js.map +1 -0
- package/dist/rules/token/no-alt-text.d.ts +3 -0
- package/dist/rules/token/no-alt-text.d.ts.map +1 -0
- package/dist/rules/token/no-alt-text.js +47 -0
- package/dist/rules/token/no-alt-text.js.map +1 -0
- package/dist/rules/token/no-bare-urls.d.ts +3 -0
- package/dist/rules/token/no-bare-urls.d.ts.map +1 -0
- package/dist/rules/token/no-bare-urls.js +88 -0
- package/dist/rules/token/no-bare-urls.js.map +1 -0
- package/dist/rules/token/no-blanks-blockquote.d.ts +3 -0
- package/dist/rules/token/no-blanks-blockquote.d.ts.map +1 -0
- package/dist/rules/token/no-blanks-blockquote.js +39 -0
- package/dist/rules/token/no-blanks-blockquote.js.map +1 -0
- package/dist/rules/token/no-duplicate-heading.d.ts +3 -0
- package/dist/rules/token/no-duplicate-heading.d.ts.map +1 -0
- package/dist/rules/token/no-duplicate-heading.js +101 -0
- package/dist/rules/token/no-duplicate-heading.js.map +1 -0
- package/dist/rules/token/no-duplicate-link-destinations.d.ts +3 -0
- package/dist/rules/token/no-duplicate-link-destinations.d.ts.map +1 -0
- package/dist/rules/token/no-duplicate-link-destinations.js +65 -0
- package/dist/rules/token/no-duplicate-link-destinations.js.map +1 -0
- package/dist/rules/token/no-emphasis-as-heading.d.ts +3 -0
- package/dist/rules/token/no-emphasis-as-heading.d.ts.map +1 -0
- package/dist/rules/token/no-emphasis-as-heading.js +44 -0
- package/dist/rules/token/no-emphasis-as-heading.js.map +1 -0
- package/dist/rules/token/no-empty-headings.d.ts +3 -0
- package/dist/rules/token/no-empty-headings.d.ts.map +1 -0
- package/dist/rules/token/no-empty-headings.js +28 -0
- package/dist/rules/token/no-empty-headings.js.map +1 -0
- package/dist/rules/token/no-empty-links.d.ts +3 -0
- package/dist/rules/token/no-empty-links.d.ts.map +1 -0
- package/dist/rules/token/no-empty-links.js +67 -0
- package/dist/rules/token/no-empty-links.js.map +1 -0
- package/dist/rules/token/no-hard-tabs.d.ts +3 -0
- package/dist/rules/token/no-hard-tabs.d.ts.map +1 -0
- package/dist/rules/token/no-hard-tabs.js +76 -0
- package/dist/rules/token/no-hard-tabs.js.map +1 -0
- package/dist/rules/token/no-inline-html.d.ts +3 -0
- package/dist/rules/token/no-inline-html.d.ts.map +1 -0
- package/dist/rules/token/no-inline-html.js +45 -0
- package/dist/rules/token/no-inline-html.js.map +1 -0
- package/dist/rules/token/no-missing-space-atx.d.ts +3 -0
- package/dist/rules/token/no-missing-space-atx.d.ts.map +1 -0
- package/dist/rules/token/no-missing-space-atx.js +36 -0
- package/dist/rules/token/no-missing-space-atx.js.map +1 -0
- package/dist/rules/token/no-missing-space-closed-atx.d.ts +3 -0
- package/dist/rules/token/no-missing-space-closed-atx.d.ts.map +1 -0
- package/dist/rules/token/no-missing-space-closed-atx.js +45 -0
- package/dist/rules/token/no-missing-space-closed-atx.js.map +1 -0
- package/dist/rules/token/no-multiple-blanks.d.ts +3 -0
- package/dist/rules/token/no-multiple-blanks.d.ts.map +1 -0
- package/dist/rules/token/no-multiple-blanks.js +35 -0
- package/dist/rules/token/no-multiple-blanks.js.map +1 -0
- package/dist/rules/token/no-multiple-space-atx.d.ts +13 -0
- package/dist/rules/token/no-multiple-space-atx.d.ts.map +1 -0
- package/dist/rules/token/no-multiple-space-atx.js +50 -0
- package/dist/rules/token/no-multiple-space-atx.js.map +1 -0
- package/dist/rules/token/no-multiple-space-blockquote.d.ts +3 -0
- package/dist/rules/token/no-multiple-space-blockquote.d.ts.map +1 -0
- package/dist/rules/token/no-multiple-space-blockquote.js +43 -0
- package/dist/rules/token/no-multiple-space-blockquote.js.map +1 -0
- package/dist/rules/token/no-multiple-space-closed-atx.d.ts +3 -0
- package/dist/rules/token/no-multiple-space-closed-atx.d.ts.map +1 -0
- package/dist/rules/token/no-multiple-space-closed-atx.js +19 -0
- package/dist/rules/token/no-multiple-space-closed-atx.js.map +1 -0
- package/dist/rules/token/no-reversed-links.d.ts +3 -0
- package/dist/rules/token/no-reversed-links.d.ts.map +1 -0
- package/dist/rules/token/no-reversed-links.js +52 -0
- package/dist/rules/token/no-reversed-links.js.map +1 -0
- package/dist/rules/token/no-space-in-code.d.ts +3 -0
- package/dist/rules/token/no-space-in-code.d.ts.map +1 -0
- package/dist/rules/token/no-space-in-code.js +75 -0
- package/dist/rules/token/no-space-in-code.js.map +1 -0
- package/dist/rules/token/no-space-in-emphasis.d.ts +3 -0
- package/dist/rules/token/no-space-in-emphasis.d.ts.map +1 -0
- package/dist/rules/token/no-space-in-emphasis.js +79 -0
- package/dist/rules/token/no-space-in-emphasis.js.map +1 -0
- package/dist/rules/token/no-space-in-links.d.ts +3 -0
- package/dist/rules/token/no-space-in-links.d.ts.map +1 -0
- package/dist/rules/token/no-space-in-links.js +48 -0
- package/dist/rules/token/no-space-in-links.js.map +1 -0
- package/dist/rules/token/no-trailing-punctuation.d.ts +3 -0
- package/dist/rules/token/no-trailing-punctuation.d.ts.map +1 -0
- package/dist/rules/token/no-trailing-punctuation.js +38 -0
- package/dist/rules/token/no-trailing-punctuation.js.map +1 -0
- package/dist/rules/token/no-trailing-spaces.d.ts +3 -0
- package/dist/rules/token/no-trailing-spaces.d.ts.map +1 -0
- package/dist/rules/token/no-trailing-spaces.js +89 -0
- package/dist/rules/token/no-trailing-spaces.js.map +1 -0
- package/dist/rules/token/ol-prefix.d.ts +3 -0
- package/dist/rules/token/ol-prefix.d.ts.map +1 -0
- package/dist/rules/token/ol-prefix.js +70 -0
- package/dist/rules/token/ol-prefix.js.map +1 -0
- package/dist/rules/token/proper-names.d.ts +3 -0
- package/dist/rules/token/proper-names.d.ts.map +1 -0
- package/dist/rules/token/proper-names.js +93 -0
- package/dist/rules/token/proper-names.js.map +1 -0
- package/dist/rules/token/reference-links-images.d.ts +3 -0
- package/dist/rules/token/reference-links-images.d.ts.map +1 -0
- package/dist/rules/token/reference-links-images.js +36 -0
- package/dist/rules/token/reference-links-images.js.map +1 -0
- package/dist/rules/token/required-headings.d.ts +3 -0
- package/dist/rules/token/required-headings.d.ts.map +1 -0
- package/dist/rules/token/required-headings.js +83 -0
- package/dist/rules/token/required-headings.js.map +1 -0
- package/dist/rules/token/single-h1.d.ts +3 -0
- package/dist/rules/token/single-h1.d.ts.map +1 -0
- package/dist/rules/token/single-h1.js +56 -0
- package/dist/rules/token/single-h1.js.map +1 -0
- package/dist/rules/token/single-trailing-newline.d.ts +3 -0
- package/dist/rules/token/single-trailing-newline.d.ts.map +1 -0
- package/dist/rules/token/single-trailing-newline.js +25 -0
- package/dist/rules/token/single-trailing-newline.js.map +1 -0
- package/dist/rules/token/strong-style.d.ts +3 -0
- package/dist/rules/token/strong-style.d.ts.map +1 -0
- package/dist/rules/token/strong-style.js +51 -0
- package/dist/rules/token/strong-style.js.map +1 -0
- package/dist/rules/token/table-column-count.d.ts +3 -0
- package/dist/rules/token/table-column-count.d.ts.map +1 -0
- package/dist/rules/token/table-column-count.js +44 -0
- package/dist/rules/token/table-column-count.js.map +1 -0
- package/dist/rules/token/table-column-style.d.ts +3 -0
- package/dist/rules/token/table-column-style.d.ts.map +1 -0
- package/dist/rules/token/table-column-style.js +179 -0
- package/dist/rules/token/table-column-style.js.map +1 -0
- package/dist/rules/token/table-pipe-style.d.ts +3 -0
- package/dist/rules/token/table-pipe-style.d.ts.map +1 -0
- package/dist/rules/token/table-pipe-style.js +54 -0
- package/dist/rules/token/table-pipe-style.js.map +1 -0
- package/dist/rules/token/ul-indent.d.ts +3 -0
- package/dist/rules/token/ul-indent.d.ts.map +1 -0
- package/dist/rules/token/ul-indent.js +72 -0
- package/dist/rules/token/ul-indent.js.map +1 -0
- package/dist/rules/token/ul-style.d.ts +3 -0
- package/dist/rules/token/ul-style.d.ts.map +1 -0
- package/dist/rules/token/ul-style.js +80 -0
- package/dist/rules/token/ul-style.js.map +1 -0
- package/dist/rules/types.d.ts +81 -0
- package/dist/rules/types.d.ts.map +1 -0
- package/dist/rules/types.js +2 -0
- package/dist/rules/types.js.map +1 -0
- package/dist/rules/utils.d.ts +29 -0
- package/dist/rules/utils.d.ts.map +1 -0
- package/dist/{assertions → rules}/utils.js +27 -0
- package/dist/rules/utils.js.map +1 -0
- package/dist/scopes/extractor.d.ts +7 -0
- package/dist/scopes/extractor.d.ts.map +1 -0
- package/dist/scopes/extractor.js +475 -0
- package/dist/scopes/extractor.js.map +1 -0
- package/dist/scopes/selector.d.ts +51 -0
- package/dist/scopes/selector.d.ts.map +1 -0
- package/dist/scopes/selector.js +121 -0
- package/dist/scopes/selector.js.map +1 -0
- package/dist/scopes/sentences.d.ts +15 -0
- package/dist/scopes/sentences.d.ts.map +1 -0
- package/dist/scopes/sentences.js +124 -0
- package/dist/scopes/sentences.js.map +1 -0
- package/dist/scopes/types.d.ts +44 -0
- package/dist/scopes/types.d.ts.map +1 -0
- package/dist/scopes/types.js +2 -0
- package/dist/scopes/types.js.map +1 -0
- package/dist/scopes/vocabulary.d.ts +16 -0
- package/dist/scopes/vocabulary.d.ts.map +1 -0
- package/dist/scopes/vocabulary.js +70 -0
- package/dist/scopes/vocabulary.js.map +1 -0
- package/dist/types/assertions.d.ts +95 -32
- package/dist/types/assertions.d.ts.map +1 -1
- package/dist/types/problems.d.ts +4 -5
- package/dist/types/problems.d.ts.map +1 -1
- package/dist/types/rules.d.ts +4 -6
- package/dist/types/rules.d.ts.map +1 -1
- package/examples/appendices/google.appendix.yaml +91 -0
- package/examples/appendices/inclusive-language.appendix.yaml +61 -0
- package/examples/appendices/microsoft.appendix.yaml +99 -0
- package/examples/appendices/plain-language.appendix.yaml +88 -0
- package/examples/google.yaml +1525 -0
- package/examples/inclusive-language.yaml +304 -0
- package/examples/microsoft.yaml +1542 -0
- package/examples/plain-language.yaml +325 -0
- package/package.json +49 -16
- package/presets/google/PROVENANCE.md +1022 -0
- package/presets/google/sources.json +192 -0
- package/presets/inclusive-language/PROVENANCE.md +174 -0
- package/presets/inclusive-language/sources.json +107 -0
- package/presets/microsoft/PROVENANCE.md +1555 -0
- package/presets/microsoft/sources.json +494 -0
- package/presets/plain-language/PROVENANCE.md +364 -0
- package/presets/plain-language/sources.json +108 -0
- package/dist/assertions/bullet-style.d.ts +0 -3
- package/dist/assertions/bullet-style.d.ts.map +0 -1
- package/dist/assertions/bullet-style.js +0 -60
- package/dist/assertions/bullet-style.js.map +0 -1
- package/dist/assertions/index.d.ts +0 -21
- package/dist/assertions/index.d.ts.map +0 -1
- package/dist/assertions/index.js +0 -30
- package/dist/assertions/index.js.map +0 -1
- package/dist/assertions/max-image-size.d.ts +0 -3
- package/dist/assertions/max-image-size.d.ts.map +0 -1
- package/dist/assertions/max-image-size.js +0 -73
- package/dist/assertions/max-image-size.js.map +0 -1
- package/dist/assertions/max-line-length.d.ts +0 -3
- package/dist/assertions/max-line-length.d.ts.map +0 -1
- package/dist/assertions/max-line-length.js +0 -68
- package/dist/assertions/max-line-length.js.map +0 -1
- package/dist/assertions/no-broken-fragment-links.d.ts +0 -3
- package/dist/assertions/no-broken-fragment-links.d.ts.map +0 -1
- package/dist/assertions/no-broken-fragment-links.js +0 -79
- package/dist/assertions/no-broken-fragment-links.js.map +0 -1
- package/dist/assertions/no-duplicate-headings.d.ts +0 -3
- package/dist/assertions/no-duplicate-headings.d.ts.map +0 -1
- package/dist/assertions/no-duplicate-headings.js +0 -66
- package/dist/assertions/no-duplicate-headings.js.map +0 -1
- package/dist/assertions/no-hard-tabs.d.ts +0 -3
- package/dist/assertions/no-hard-tabs.d.ts.map +0 -1
- package/dist/assertions/no-hard-tabs.js +0 -63
- package/dist/assertions/no-hard-tabs.js.map +0 -1
- package/dist/assertions/no-trailing-spaces.d.ts +0 -3
- package/dist/assertions/no-trailing-spaces.d.ts.map +0 -1
- package/dist/assertions/no-trailing-spaces.js +0 -72
- package/dist/assertions/no-trailing-spaces.js.map +0 -1
- package/dist/assertions/pattern.d.ts +0 -3
- package/dist/assertions/pattern.d.ts.map +0 -1
- package/dist/assertions/pattern.js +0 -39
- package/dist/assertions/pattern.js.map +0 -1
- package/dist/assertions/semantic-line-breaks.d.ts +0 -3
- package/dist/assertions/semantic-line-breaks.d.ts.map +0 -1
- package/dist/assertions/semantic-line-breaks.js +0 -152
- package/dist/assertions/semantic-line-breaks.js.map +0 -1
- package/dist/assertions/swap.d.ts +0 -3
- package/dist/assertions/swap.d.ts.map +0 -1
- package/dist/assertions/swap.js +0 -39
- package/dist/assertions/swap.js.map +0 -1
- package/dist/assertions/utils.d.ts +0 -8
- package/dist/assertions/utils.d.ts.map +0 -1
- package/dist/assertions/utils.js.map +0 -1
- package/dist/core/scope-parser.d.ts +0 -26
- package/dist/core/scope-parser.d.ts.map +0 -1
- package/dist/core/scope-parser.js +0 -110
- package/dist/core/scope-parser.js.map +0 -1
- package/dist/files.d.ts +0 -2
- package/dist/files.d.ts.map +0 -1
- package/dist/files.js +0 -39
- package/dist/files.js.map +0 -1
- package/dist/load-config.d.ts +0 -25
- package/dist/load-config.d.ts.map +0 -1
- package/dist/load-config.js +0 -104
- package/dist/load-config.js.map +0 -1
- package/dist/load.d.ts +0 -25
- package/dist/load.d.ts.map +0 -1
- package/dist/load.js +0 -112
- package/dist/load.js.map +0 -1
- package/dist/scope.d.ts +0 -26
- package/dist/scope.d.ts.map +0 -1
- package/dist/scope.js +0 -110
- package/dist/scope.js.map +0 -1
- package/dist/types.d.ts +0 -109
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js.map +0 -1
- package/dist/validate.d.ts +0 -31
- package/dist/validate.d.ts.map +0 -1
- package/dist/validate.js +0 -154
- package/dist/validate.js.map +0 -1
- /package/dist/{types.js → parser/types.js} +0 -0
package/dist/types/rules.d.ts
CHANGED
|
@@ -3,8 +3,7 @@ export type RuleSeverity = 'off' | 'info' | 'warn' | 'error';
|
|
|
3
3
|
export type RuleScope = 'all' | 'heading' | 'sentence' | 'paragraph' | 'code' | 'default' | 'raw' | string | string[];
|
|
4
4
|
export interface BaseRule {
|
|
5
5
|
severity: RuleSeverity;
|
|
6
|
-
message
|
|
7
|
-
enabled?: boolean;
|
|
6
|
+
message?: string;
|
|
8
7
|
tags?: string[];
|
|
9
8
|
description?: string;
|
|
10
9
|
link?: string;
|
|
@@ -15,15 +14,14 @@ export interface BaseRule {
|
|
|
15
14
|
files?: string[];
|
|
16
15
|
lines?: string[];
|
|
17
16
|
};
|
|
18
|
-
|
|
17
|
+
fix?: boolean;
|
|
19
18
|
assertions: Record<string, AssertionConfig>;
|
|
20
19
|
}
|
|
21
20
|
export interface NormalizedRule {
|
|
22
21
|
name: string;
|
|
23
22
|
shortName: string;
|
|
24
23
|
severity: RuleSeverity;
|
|
25
|
-
message
|
|
26
|
-
enabled?: boolean;
|
|
24
|
+
message?: string;
|
|
27
25
|
tags?: string[];
|
|
28
26
|
description?: string;
|
|
29
27
|
link?: string;
|
|
@@ -34,7 +32,7 @@ export interface NormalizedRule {
|
|
|
34
32
|
files?: string[];
|
|
35
33
|
lines?: string[];
|
|
36
34
|
};
|
|
37
|
-
|
|
35
|
+
fix?: boolean;
|
|
38
36
|
assertions: Record<string, AssertionConfig>;
|
|
39
37
|
}
|
|
40
38
|
export interface RecheckConfig {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rules.d.ts","sourceRoot":"","sources":["../../src/types/rules.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAE7D,MAAM,MAAM,SAAS,GACjB,KAAK,GACL,SAAS,GACT,UAAU,GACV,WAAW,GACX,MAAM,GACN,SAAS,GACT,KAAK,GACL,MAAM,GACN,MAAM,EAAE,CAAC;AAEb,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"rules.d.ts","sourceRoot":"","sources":["../../src/types/rules.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAE7D,MAAM,MAAM,SAAS,GACjB,KAAK,GACL,SAAS,GACT,UAAU,GACV,WAAW,GACX,MAAM,GACN,SAAS,GACT,KAAK,GACL,MAAM,GACN,MAAM,EAAE,CAAC;AAEb,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,YAAY,CAAC;IASvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,CAAC,EAAE;QACX,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC;IACF,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;CAC7C;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,YAAY,CAAC;IAEvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,CAAC,EAAE;QACX,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC;IACF,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;CAC7C;AAED,MAAM,WAAW,aAAa;IAC5B,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAC;CACzB"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
# ==============================================================================
|
|
2
|
+
# Appendix — candidates NOT shipped by recheck/google (hand-maintained)
|
|
3
|
+
# ==============================================================================
|
|
4
|
+
# This file is appended verbatim to the generated example above by
|
|
5
|
+
# `pnpm examples:generate` (see scripts/generate-examples.mjs). Editing it
|
|
6
|
+
# makes examples/google.yaml stale until you regenerate — the drift test's
|
|
7
|
+
# failure message says so, so this doesn't read as a generator bug.
|
|
8
|
+
#
|
|
9
|
+
# Full detail, every candidate, and why: packages/recheck/presets/google/PROVENANCE.md
|
|
10
|
+
#
|
|
11
|
+
# ------------------------------------------------------------------------------
|
|
12
|
+
# NOISY — real, guide-confirmed content, judged too broad to enforce
|
|
13
|
+
# mechanically. Shown here as the rule it WOULD be if shipped, commented out,
|
|
14
|
+
# so you can see the shape being avoided rather than just a name.
|
|
15
|
+
# ------------------------------------------------------------------------------
|
|
16
|
+
|
|
17
|
+
# NOISY: a heading starting with an "-ing" word would also flag ordinary
|
|
18
|
+
# tech-noun headings used as topics, not verb-form imperatives (Networking,
|
|
19
|
+
# Logging, Caching, Monitoring, Testing) — Google names only two exceptions
|
|
20
|
+
# (Billing, Pricing), itself evidence this needs more context than a
|
|
21
|
+
# heading's first word.
|
|
22
|
+
# google/no-gerund-headings:
|
|
23
|
+
# severity: warn
|
|
24
|
+
# scope: heading
|
|
25
|
+
# message: 'Avoid starting a heading with a gerund (Google).'
|
|
26
|
+
# assertions:
|
|
27
|
+
# pattern:
|
|
28
|
+
# ignoreCase: true
|
|
29
|
+
# tokens: ['^\w*ing\b']
|
|
30
|
+
|
|
31
|
+
# NOISY: table cells often legitimately contain short labels, proper nouns,
|
|
32
|
+
# or numeric/code values that don't fit sentence-case cleanly.
|
|
33
|
+
# google/table-sentence-case:
|
|
34
|
+
# severity: warn
|
|
35
|
+
# scope: table.cell
|
|
36
|
+
# message: 'Use sentence case for table cells (Google).'
|
|
37
|
+
# assertions:
|
|
38
|
+
# capitalization:
|
|
39
|
+
# match: $sentence
|
|
40
|
+
|
|
41
|
+
# NOISY: slashes appear constantly in dates, paths, fractions, and URLs — a
|
|
42
|
+
# blind "avoid slashes" pattern would flag nearly all of them.
|
|
43
|
+
# google/no-slashes-general:
|
|
44
|
+
# severity: warn
|
|
45
|
+
# message: 'Avoid using slashes, except in code (Google).'
|
|
46
|
+
# assertions:
|
|
47
|
+
# pattern:
|
|
48
|
+
# tokens: ['(?<!\/)\/(?!\/)']
|
|
49
|
+
|
|
50
|
+
# NOISY: confirmed guide content ("don't put code in quotes or angle
|
|
51
|
+
# brackets"), but the draft that fed this preset already flagged both as
|
|
52
|
+
# NOISY and they were never re-litigated — no safe anchor was found that
|
|
53
|
+
# doesn't also match ordinary quoted/angle-bracketed prose unrelated to code.
|
|
54
|
+
# google/no-quotes-around-code:
|
|
55
|
+
# severity: warn
|
|
56
|
+
# message: "Don't wrap code terms in quotation marks (Google)."
|
|
57
|
+
# assertions:
|
|
58
|
+
# pattern:
|
|
59
|
+
# tokens: ['"`[^`]+`"']
|
|
60
|
+
# google/no-angle-brackets-around-code:
|
|
61
|
+
# severity: warn
|
|
62
|
+
# message: "Don't wrap code terms in angle brackets (Google)."
|
|
63
|
+
# assertions:
|
|
64
|
+
# pattern:
|
|
65
|
+
# tokens: ['<`[^`]+`>']
|
|
66
|
+
|
|
67
|
+
# ------------------------------------------------------------------------------
|
|
68
|
+
# NEEDS HUMAN REVIEW — real guide content with no safe mechanical detection
|
|
69
|
+
# (NOT-ENFORCEABLE). Recheck cannot check these; review them yourself:
|
|
70
|
+
# ------------------------------------------------------------------------------
|
|
71
|
+
# [ ] "Optional:" prefix on genuinely optional sections (requires knowing
|
|
72
|
+
# whether a section is actually optional)
|
|
73
|
+
# [ ] Text before a colon must be a complete sentence
|
|
74
|
+
# [ ] Oxford comma (missing-comma detection needs real clause parsing)
|
|
75
|
+
# [ ] Acronyms used as verbs ("ping the server") — needs POS tagging
|
|
76
|
+
# [ ] Spell out an abbreviation on first mention (needs unbounded
|
|
77
|
+
# first-mention tracking across the document)
|
|
78
|
+
# [ ] Avoid linking the same destination from different link text (the
|
|
79
|
+
# guide's own exceptions — different section, long page, multiple
|
|
80
|
+
# entry points — need judgment a token rule can't apply)
|
|
81
|
+
# [ ] External link icon (a rendered visual/CSS concern, not markdown text)
|
|
82
|
+
# [ ] Drop "..." when quoting a UI element name (risks over- and
|
|
83
|
+
# under-firing with a regex)
|
|
84
|
+
# [ ] Directional language (above/below/right-hand side) as a spatial UI
|
|
85
|
+
# reference vs. its equally common non-directional use
|
|
86
|
+
# [ ] "A link isn't a button" — requires knowing what a referenced UI
|
|
87
|
+
# element actually is
|
|
88
|
+
# [ ] Generic he/him/his/she/her — requires knowing whether a pronoun
|
|
89
|
+
# names a specific person or is used generically
|
|
90
|
+
# [ ] Active voice, metaphor avoidance, and the "what belongs in code
|
|
91
|
+
# font" table — all require holistic judgment about content/structure
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# ==============================================================================
|
|
2
|
+
# Appendix — candidates NOT shipped by recheck/inclusive-language (hand-maintained)
|
|
3
|
+
# ==============================================================================
|
|
4
|
+
# This file is appended verbatim to the generated example above by
|
|
5
|
+
# `pnpm examples:generate` (see scripts/generate-examples.mjs). Editing it
|
|
6
|
+
# makes examples/inclusive-language.yaml stale until you regenerate — the
|
|
7
|
+
# drift test's failure message says so, so this doesn't read as a generator bug.
|
|
8
|
+
#
|
|
9
|
+
# Full detail, every candidate, and why:
|
|
10
|
+
# packages/recheck/presets/inclusive-language/PROVENANCE.md
|
|
11
|
+
#
|
|
12
|
+
# This preset ships only terms CONFIRMED independently by both
|
|
13
|
+
# recheck/google and recheck/microsoft (the intersection). Most exclusions
|
|
14
|
+
# here are single-guide coverage, not false-positive risk — listed in the
|
|
15
|
+
# "needs a second source" checklist below rather than as commented rule
|
|
16
|
+
# blocks, since most were never actually rule-shaped candidates.
|
|
17
|
+
#
|
|
18
|
+
# ------------------------------------------------------------------------------
|
|
19
|
+
# NOISY — real content on BOTH guides' broader word lists, still excluded
|
|
20
|
+
# from an inclusive-language framing because of an unrelated-sense collision.
|
|
21
|
+
# ------------------------------------------------------------------------------
|
|
22
|
+
|
|
23
|
+
# NOISY: "hang"/"hung" and "healthy" (of a system) are general word-choice
|
|
24
|
+
# content on both sides, not sourced from either guide's bias-free/
|
|
25
|
+
# accessibility pages — and both collide constantly with unrelated correct
|
|
26
|
+
# senses ("hung the picture", "hung jury", "a healthy amount of caution").
|
|
27
|
+
# inclusive-language/hang-healthy:
|
|
28
|
+
# severity: warn
|
|
29
|
+
# message: 'Avoid "%s" as a system-state metaphor; consider a precise term.'
|
|
30
|
+
# assertions:
|
|
31
|
+
# pattern:
|
|
32
|
+
# ignoreCase: true
|
|
33
|
+
# tokens: ['\bhang(s|ing)?\b', '\bhealthy\b']
|
|
34
|
+
|
|
35
|
+
# NOISY: "disable"/"disabled" (of a broken system) has a narrow ableist-
|
|
36
|
+
# metaphor sense on both guides, but the bare word is core, ubiquitous,
|
|
37
|
+
# entirely correct API-documentation vocabulary ("disable this feature",
|
|
38
|
+
# "the API is disabled") — a bare-word rule would misfire on nearly every
|
|
39
|
+
# document describing a feature flag.
|
|
40
|
+
# inclusive-language/disable-disabled:
|
|
41
|
+
# severity: warn
|
|
42
|
+
# message: 'Avoid "%s" as a system-state metaphor; consider "turn off"/"deactivate".'
|
|
43
|
+
# assertions:
|
|
44
|
+
# pattern:
|
|
45
|
+
# ignoreCase: true
|
|
46
|
+
# tokens: ['\bdisabled?\b']
|
|
47
|
+
|
|
48
|
+
# ------------------------------------------------------------------------------
|
|
49
|
+
# NEEDS A SECOND SOURCE — real content on exactly ONE guide's side. Shipping
|
|
50
|
+
# these here would make this preset silently guide-specific, defeating the
|
|
51
|
+
# point of an intersection. Full term lists are in PROVENANCE.md; a sample:
|
|
52
|
+
# ------------------------------------------------------------------------------
|
|
53
|
+
# [ ] Google-only: blackhat/whitehat, black-box/white-box testing, white
|
|
54
|
+
# label, grandfathered, ninja, guru, man hours, male/female adapter,
|
|
55
|
+
# man-in-the-middle, the disabled, a quadriplegic, wheelchair-bound
|
|
56
|
+
# [ ] Microsoft-only: chairman/chairwoman, mankind, manpower, salesman,
|
|
57
|
+
# screened subnet, dumb, mute, non-verbal, an epileptic, Asperger's,
|
|
58
|
+
# lame (already excluded on Microsoft's own preset for the same reason)
|
|
59
|
+
# [ ] Either term needing a live re-check against the OTHER guide before
|
|
60
|
+
# it could ever be added here — this is the only path to growing this
|
|
61
|
+
# preset beyond its current 11 rules
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
# ==============================================================================
|
|
2
|
+
# Appendix — candidates NOT shipped by recheck/microsoft (hand-maintained)
|
|
3
|
+
# ==============================================================================
|
|
4
|
+
# This file is appended verbatim to the generated example above by
|
|
5
|
+
# `pnpm examples:generate` (see scripts/generate-examples.mjs). Editing it
|
|
6
|
+
# makes examples/microsoft.yaml stale until you regenerate — the drift
|
|
7
|
+
# test's failure message says so, so this doesn't read as a generator bug.
|
|
8
|
+
#
|
|
9
|
+
# Full detail, every candidate, and why: packages/recheck/presets/microsoft/PROVENANCE.md
|
|
10
|
+
#
|
|
11
|
+
# ------------------------------------------------------------------------------
|
|
12
|
+
# TOO-RISKY / NOISY — real, guide-confirmed content, judged too broad or too
|
|
13
|
+
# audience-conditional to enforce mechanically. Shown here as the rule it
|
|
14
|
+
# WOULD be if shipped, commented out, so you can see the shape being avoided.
|
|
15
|
+
# ------------------------------------------------------------------------------
|
|
16
|
+
|
|
17
|
+
# TOO-RISKY: "deprecated" is confirmed guide content ("avoid in content for a
|
|
18
|
+
# technical audience"), but it's itself load-bearing OpenAPI vocabulary (the
|
|
19
|
+
# `deprecated: true` field) — shipping this would misfire on Redocly's own
|
|
20
|
+
# API-documentation domain.
|
|
21
|
+
# microsoft/deprecated-obsolete:
|
|
22
|
+
# severity: warn
|
|
23
|
+
# message: 'Use "%s" instead of "%s" (Microsoft).'
|
|
24
|
+
# assertions:
|
|
25
|
+
# swap:
|
|
26
|
+
# ignoreCase: true
|
|
27
|
+
# wordBoundary: true
|
|
28
|
+
# pairs: { deprecated: obsolete }
|
|
29
|
+
|
|
30
|
+
# TOO-RISKY: Microsoft's own page carves out exactly Redocly's audience —
|
|
31
|
+
# "it's OK to use header as a short form of file header, as in HTML header"
|
|
32
|
+
# — the standard, correct term for an HTTP/API header throughout API docs.
|
|
33
|
+
# microsoft/header-heading:
|
|
34
|
+
# severity: warn
|
|
35
|
+
# message: 'Use "%s" instead of "%s" (Microsoft) — except in developer content.'
|
|
36
|
+
# assertions:
|
|
37
|
+
# swap:
|
|
38
|
+
# ignoreCase: true
|
|
39
|
+
# wordBoundary: true
|
|
40
|
+
# pairs: { header: heading }
|
|
41
|
+
|
|
42
|
+
# TOO-RISKY: "context menu" is developer-audience-conditional per Microsoft's
|
|
43
|
+
# own page ("use context menu only in content for developers") — Redocly's
|
|
44
|
+
# docs ARE developer content, so this would misfire if shipped unconditionally.
|
|
45
|
+
# microsoft/context-menu:
|
|
46
|
+
# severity: warn
|
|
47
|
+
# message: 'Use "%s" instead of "%s" (Microsoft) — except in developer content.'
|
|
48
|
+
# assertions:
|
|
49
|
+
# swap:
|
|
50
|
+
# ignoreCase: true
|
|
51
|
+
# wordBoundary: true
|
|
52
|
+
# pairs: { context menu: shortcut menu }
|
|
53
|
+
|
|
54
|
+
# TOO-RISKY: "that" referring to people is one of the most common words in
|
|
55
|
+
# English; only a small fraction of occurrences refer to people at all, so a
|
|
56
|
+
# literal swap toward "who" would be extraordinarily noisy.
|
|
57
|
+
# microsoft/that-who:
|
|
58
|
+
# severity: warn
|
|
59
|
+
# message: 'Consider "%s" instead of "%s" when referring to a person (Microsoft).'
|
|
60
|
+
# assertions:
|
|
61
|
+
# pattern:
|
|
62
|
+
# tokens: ['\bthat\b']
|
|
63
|
+
|
|
64
|
+
# TOO-RISKY: "star" is an ordinary English word (star rating, star
|
|
65
|
+
# performer) with a narrow, Microsoft-documented exception (OK for a
|
|
66
|
+
# phone-keypad key) a blanket swap would miss in both directions.
|
|
67
|
+
# microsoft/star-asterisk:
|
|
68
|
+
# severity: warn
|
|
69
|
+
# message: 'Use "%s" instead of "%s" (Microsoft), except for the phone-keypad key.'
|
|
70
|
+
# assertions:
|
|
71
|
+
# swap:
|
|
72
|
+
# ignoreCase: true
|
|
73
|
+
# wordBoundary: true
|
|
74
|
+
# pairs: { star: asterisk }
|
|
75
|
+
|
|
76
|
+
# ------------------------------------------------------------------------------
|
|
77
|
+
# NEEDS HUMAN REVIEW — real guide content with no safe mechanical detection
|
|
78
|
+
# (NOT-ENFORCEABLE). Recheck cannot check these; review them yourself:
|
|
79
|
+
# ------------------------------------------------------------------------------
|
|
80
|
+
# [ ] Active voice, subjunctive mood, verb-first sentences, modifier
|
|
81
|
+
# stacks, that/who omission — all require POS tagging or grammatical-
|
|
82
|
+
# role judgment beyond regex/AST primitives
|
|
83
|
+
# [ ] Table cells in sentence case — reference tables are dense with
|
|
84
|
+
# identifiers and proper nouns that don't fit cleanly
|
|
85
|
+
# [ ] "Name" as a column header — genuinely correct in many API reference
|
|
86
|
+
# tables; Microsoft's own objection needs context this preset doesn't have
|
|
87
|
+
# [ ] Second-level headings need at least two siblings; no two headings in
|
|
88
|
+
# a row; list-item parallelism
|
|
89
|
+
# [ ] En dash for a minus sign; "from"/"through" ranges; closing-quote
|
|
90
|
+
# placement; mid-sentence colon rules
|
|
91
|
+
# [ ] Spell out single-digit numbers; no sentence-initial numerals; no
|
|
92
|
+
# K/M/B abbreviations; spell out months
|
|
93
|
+
# [ ] Bare-URL/link-formatting rules (available generically via
|
|
94
|
+
# `recheck/markdown`'s `no-bare-urls` if you want them, just not
|
|
95
|
+
# attributed to Microsoft specifically here)
|
|
96
|
+
# [ ] House-rule structural conventions (link fragments, fenced-code
|
|
97
|
+
# language, single H1, consistent bullet/fence/emphasis style) — real
|
|
98
|
+
# and worth having, but the guide itself never states them, so they
|
|
99
|
+
# don't ship under a Microsoft attribution
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
# ==============================================================================
|
|
2
|
+
# Appendix — candidates NOT shipped by recheck/plain-language (hand-maintained)
|
|
3
|
+
# ==============================================================================
|
|
4
|
+
# This file is appended verbatim to the generated example above by
|
|
5
|
+
# `pnpm examples:generate` (see scripts/generate-examples.mjs). Editing it
|
|
6
|
+
# makes examples/plain-language.yaml stale until you regenerate — the drift
|
|
7
|
+
# test's failure message says so, so this doesn't read as a generator bug.
|
|
8
|
+
#
|
|
9
|
+
# Full detail, every candidate, and why:
|
|
10
|
+
# packages/recheck/presets/plain-language/PROVENANCE.md
|
|
11
|
+
#
|
|
12
|
+
# ------------------------------------------------------------------------------
|
|
13
|
+
# NOISY — live, verbatim guide content, judged too broad or too domain-risky
|
|
14
|
+
# to enforce mechanically. Shown here as the rule it WOULD be if shipped,
|
|
15
|
+
# commented out, so you can see the shape being avoided.
|
|
16
|
+
# ------------------------------------------------------------------------------
|
|
17
|
+
|
|
18
|
+
# NOISY: live on the guide's own table, but this 1:1 substitution misreads
|
|
19
|
+
# ordinary, correct accountability language ("the team is responsible for
|
|
20
|
+
# the migration") as wordiness — no textual signal separates that from padding.
|
|
21
|
+
# plain-language/be-responsible-for:
|
|
22
|
+
# severity: warn
|
|
23
|
+
# message: 'Consider "%s" instead of "%s" (plain language).'
|
|
24
|
+
# assertions:
|
|
25
|
+
# swap:
|
|
26
|
+
# ignoreCase: true
|
|
27
|
+
# wordBoundary: true
|
|
28
|
+
# pairs: { be responsible for: must }
|
|
29
|
+
|
|
30
|
+
# NOISY, HIGH-RISK FOR THIS DOMAIN: "implement" is live guide content, but in
|
|
31
|
+
# software/API documentation "implement an interface", "implement this
|
|
32
|
+
# endpoint", "implement the spec" is ordinary, correct technical vocabulary,
|
|
33
|
+
# not wordiness. Flagging it would misfire across nearly every technical
|
|
34
|
+
# document Recheck targets.
|
|
35
|
+
# plain-language/implement:
|
|
36
|
+
# severity: warn
|
|
37
|
+
# message: 'Consider "%s" instead of "%s" (plain language).'
|
|
38
|
+
# assertions:
|
|
39
|
+
# swap:
|
|
40
|
+
# ignoreCase: true
|
|
41
|
+
# wordBoundary: true
|
|
42
|
+
# pairs: { implement: carry out }
|
|
43
|
+
|
|
44
|
+
# NOISY: this row is itself a garbled pairing on the live page, and
|
|
45
|
+
# separately "command" has a strong, unrelated, extremely common technical
|
|
46
|
+
# sense (CLI command, terminal command) — core developer-docs vocabulary.
|
|
47
|
+
# plain-language/this-activity-command:
|
|
48
|
+
# severity: warn
|
|
49
|
+
# message: 'Consider "%s" instead of "%s" (plain language).'
|
|
50
|
+
# assertions:
|
|
51
|
+
# swap:
|
|
52
|
+
# ignoreCase: true
|
|
53
|
+
# wordBoundary: true
|
|
54
|
+
# pairs: { this activity, command: us, we }
|
|
55
|
+
|
|
56
|
+
# NOT SHIPPED, ANY DIRECTION, EVER: "shall" is live guide content ("use
|
|
57
|
+
# 'must' not 'shall'"), but SHALL is a defined RFC 2119 normative keyword
|
|
58
|
+
# (alongside MUST/SHOULD/MAY/MUST NOT) used throughout specifications and
|
|
59
|
+
# API/interface documentation — exactly Recheck's target content. This is
|
|
60
|
+
# the single highest-risk exclusion in this preset: a rule flagging it would
|
|
61
|
+
# be actively wrong for that whole document class, not an edge case to
|
|
62
|
+
# carve out.
|
|
63
|
+
# plain-language/shall-must:
|
|
64
|
+
# severity: warn
|
|
65
|
+
# message: 'Consider "%s" instead of "%s" (plain language) — never for RFC 2119 usage.'
|
|
66
|
+
# assertions:
|
|
67
|
+
# swap:
|
|
68
|
+
# ignoreCase: true
|
|
69
|
+
# wordBoundary: true
|
|
70
|
+
# pairs: { shall: must }
|
|
71
|
+
|
|
72
|
+
# ------------------------------------------------------------------------------
|
|
73
|
+
# NEEDS HUMAN REVIEW — real guide content with no safe mechanical detection
|
|
74
|
+
# (NOT-ENFORCEABLE). Recheck cannot check these; review them yourself:
|
|
75
|
+
# ------------------------------------------------------------------------------
|
|
76
|
+
# [ ] Nominalizations ("hidden verbs") — the guide's own suffix pattern
|
|
77
|
+
# (-ment/-tion/-sion/-ance + a link verb) false-positives constantly on
|
|
78
|
+
# ordinary correct nouns ("chance", "information", "assurance")
|
|
79
|
+
# [ ] Sentence-length — no word count is stated anywhere on the live site,
|
|
80
|
+
# only "write short sentences"
|
|
81
|
+
# [ ] Grade-level/readability score — no number is stated anywhere on the
|
|
82
|
+
# live site (see PROVENANCE.md "THE NUMBER"); `metric` stays a
|
|
83
|
+
# documented opt-in, not something this preset can source from the guide
|
|
84
|
+
# [ ] Abbreviation count per document ("no more than three, preferably
|
|
85
|
+
# two") — counts DISTINCT abbreviation TYPES, which neither `occurrence`
|
|
86
|
+
# nor `length` can express; an engine gap, not a judgment call
|
|
87
|
+
# [ ] Paraphrase-testing sample size / testing iteration count — user-
|
|
88
|
+
# testing methodology, not document content a linter can ever evaluate
|