@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
|
@@ -0,0 +1,325 @@
|
|
|
1
|
+
# ==============================================================================
|
|
2
|
+
# recheck/plain-language — US federal plain-language guidance, as a config
|
|
3
|
+
# ==============================================================================
|
|
4
|
+
# Source: US federal plain-language guidance
|
|
5
|
+
# https://digital.gov/guides/plain-language
|
|
6
|
+
# License: Public domain (US government work) — no attribution
|
|
7
|
+
# required; cited here for auditability.
|
|
8
|
+
# Synced: 2026-07-30
|
|
9
|
+
# Provenance: packages/recheck/presets/plain-language/PROVENANCE.md
|
|
10
|
+
#
|
|
11
|
+
# Generated file — do not hand-edit. Regenerate with `pnpm examples:generate`
|
|
12
|
+
# after changing src/config/presets/plain-language.ts or this file's
|
|
13
|
+
# appendix (examples/appendices/plain-language.appendix.yaml).
|
|
14
|
+
|
|
15
|
+
# ------------------------------------------------------------------------------
|
|
16
|
+
# What to paste
|
|
17
|
+
# ------------------------------------------------------------------------------
|
|
18
|
+
# Unlike recheck/inclusive-language, this composes cleanly onto either
|
|
19
|
+
# flagship: after removing the two pairs that duplicated a flagship outright
|
|
20
|
+
# ("in order to" -> "to", "utilize" -> "use"), only 3 duplicate findings
|
|
21
|
+
# remain against either recheck/google or recheck/microsoft — an accepted
|
|
22
|
+
# paragraph-length overlap and a coincidental substring collision with
|
|
23
|
+
# use-contractions, not content duplication (see PROVENANCE.md's
|
|
24
|
+
# "Duplicate-finding audit"). Combine with recheck/markdown for full
|
|
25
|
+
# structural linting too.
|
|
26
|
+
|
|
27
|
+
extends:
|
|
28
|
+
- recheck/markdown
|
|
29
|
+
- recheck/plain-language
|
|
30
|
+
|
|
31
|
+
# ------------------------------------------------------------------------------
|
|
32
|
+
# How to tune it
|
|
33
|
+
# ------------------------------------------------------------------------------
|
|
34
|
+
# Your own rule keys always win over the preset's (`extends` resolves
|
|
35
|
+
# first, then your top-level keys are merged on top, per rule key).
|
|
36
|
+
#
|
|
37
|
+
# Turn a rule off entirely:
|
|
38
|
+
#
|
|
39
|
+
# plain-language/excess-intensifiers:
|
|
40
|
+
# severity: off
|
|
41
|
+
#
|
|
42
|
+
# Downgrade an error to a warning:
|
|
43
|
+
#
|
|
44
|
+
# plain-language/paragraph-max-words:
|
|
45
|
+
# severity: warn
|
|
46
|
+
#
|
|
47
|
+
# Silence one occurrence instead of the whole rule, with an inline HTML
|
|
48
|
+
# comment directive — works on any rule, from any preset:
|
|
49
|
+
#
|
|
50
|
+
# <!-- recheck-disable-next-line plain-language/excess-intensifiers -->
|
|
51
|
+
# This is absolutely, completely the right approach.
|
|
52
|
+
#
|
|
53
|
+
# <!-- recheck-disable plain-language/excess-intensifiers -->
|
|
54
|
+
# ...several occurrences here are all silenced...
|
|
55
|
+
# <!-- recheck-enable plain-language/excess-intensifiers -->
|
|
56
|
+
#
|
|
57
|
+
# <!-- recheck-disable-file -->
|
|
58
|
+
#
|
|
59
|
+
# THE SHARP EDGE — read this before reaching for a per-term override.
|
|
60
|
+
# Merging happens per ASSERTION ID, not per option inside it.
|
|
61
|
+
# Setting:
|
|
62
|
+
#
|
|
63
|
+
# plain-language/complex-words:
|
|
64
|
+
# assertions:
|
|
65
|
+
# swap:
|
|
66
|
+
# ignoreCase: false
|
|
67
|
+
#
|
|
68
|
+
# does not just flip `ignoreCase` — it REPLACES the whole `swap` assertion
|
|
69
|
+
# object, silently dropping the preset's 8-entry `pairs` map along with
|
|
70
|
+
# it, and the config then fails validation outright:
|
|
71
|
+
#
|
|
72
|
+
# Rule "plain-language/complex-words": swap requires a "pairs" object
|
|
73
|
+
# mapping find -> replace strings
|
|
74
|
+
#
|
|
75
|
+
# (verified against this exact rule).
|
|
76
|
+
# So today, to reject one term out of a bundled swap/pattern rule, your
|
|
77
|
+
# options are: turn the whole rule off, restate its entire pairs/tokens
|
|
78
|
+
# yourself, or inline-disable each occurrence as shown above. A per-term
|
|
79
|
+
# opt-out for swap/pattern is a known follow-up, not a promise.
|
|
80
|
+
#
|
|
81
|
+
# This preset ships no `capitalization`/`spelling` rule of its own, so the
|
|
82
|
+
# per-term escape hatch those two assertion types offer doesn't apply here
|
|
83
|
+
# directly — but if you pair this preset with `recheck/prose`, that
|
|
84
|
+
# preset's own `recheck/capitalization` rule already has it. See
|
|
85
|
+
# examples/google.yaml or examples/microsoft.yaml for a worked, verified
|
|
86
|
+
# example of that escape hatch.
|
|
87
|
+
|
|
88
|
+
# ------------------------------------------------------------------------------
|
|
89
|
+
# Full expansion (reference)
|
|
90
|
+
# ------------------------------------------------------------------------------
|
|
91
|
+
# This is what `extends: [recheck/plain-language]` resolves to today: all 10 rules,
|
|
92
|
+
# alphabetized by rule id, generated straight from the live preset (`pnpm
|
|
93
|
+
# examples:generate`). You do not need to copy any of it — the extends
|
|
94
|
+
# block above already gives you all of this. Read it to see exactly what
|
|
95
|
+
# you are adopting, or as a starting point if you would rather pin or fork
|
|
96
|
+
# specific rules into your own config instead of extending the preset.
|
|
97
|
+
#
|
|
98
|
+
# `fix: false` on every rule below means what it says: detection-only, no
|
|
99
|
+
# exceptions — see "How to tune it" above and PROVENANCE.md for why.
|
|
100
|
+
|
|
101
|
+
plain-language/an-amount-of:
|
|
102
|
+
severity: warn
|
|
103
|
+
message: Avoid the padded phrase "%s"; state the amount directly (federal plain-language guidance).
|
|
104
|
+
link: https://digital.gov/guides/plain-language/writing/style
|
|
105
|
+
scope: summary
|
|
106
|
+
fix: false
|
|
107
|
+
assertions:
|
|
108
|
+
pattern:
|
|
109
|
+
tokens:
|
|
110
|
+
- \ban amount of\b
|
|
111
|
+
ignoreCase: true
|
|
112
|
+
plain-language/complex-words:
|
|
113
|
+
severity: warn
|
|
114
|
+
message: Use "%s" instead of "%s" (federal plain-language guidance).
|
|
115
|
+
link: https://digital.gov/guides/writing-understanding/familiar-terms
|
|
116
|
+
scope: summary
|
|
117
|
+
fix: false
|
|
118
|
+
assertions:
|
|
119
|
+
swap:
|
|
120
|
+
pairs:
|
|
121
|
+
addressee: you
|
|
122
|
+
assist: help
|
|
123
|
+
assistance: help
|
|
124
|
+
commence: begin
|
|
125
|
+
in order that: for
|
|
126
|
+
in the amount of: for
|
|
127
|
+
in the event of: if
|
|
128
|
+
promulgate: issue
|
|
129
|
+
ignoreCase: true
|
|
130
|
+
wordBoundary: true
|
|
131
|
+
plain-language/double-negative-patterns:
|
|
132
|
+
severity: warn
|
|
133
|
+
message: Avoid the double-negative construction in "%s"; state it positively (federal plain-language guidance).
|
|
134
|
+
link: https://digital.gov/guides/plain-language/writing/style
|
|
135
|
+
scope: sentence
|
|
136
|
+
fix: false
|
|
137
|
+
assertions:
|
|
138
|
+
pattern:
|
|
139
|
+
tokens:
|
|
140
|
+
- \bmay not\b(?:(?!\buntil\b)[\s\S])*?\buntil\b
|
|
141
|
+
- \bis not\b(?:(?!\bunless\b)[\s\S])*?\bunless\b
|
|
142
|
+
ignoreCase: true
|
|
143
|
+
plain-language/double-negative-phrases:
|
|
144
|
+
severity: warn
|
|
145
|
+
message: Use "%s" instead of the double negative "%s" (federal plain-language guidance).
|
|
146
|
+
link: https://digital.gov/guides/plain-language/writing/style
|
|
147
|
+
scope: summary
|
|
148
|
+
fix: false
|
|
149
|
+
assertions:
|
|
150
|
+
swap:
|
|
151
|
+
pairs:
|
|
152
|
+
has not yet attained: is under
|
|
153
|
+
no fewer than: at least
|
|
154
|
+
ignoreCase: true
|
|
155
|
+
wordBoundary: true
|
|
156
|
+
plain-language/excess-intensifiers:
|
|
157
|
+
severity: warn
|
|
158
|
+
message: Consider cutting the intensifier "%s" (federal plain-language guidance).
|
|
159
|
+
link: https://digital.gov/guides/plain-language/principles/short-simple
|
|
160
|
+
scope: summary
|
|
161
|
+
fix: false
|
|
162
|
+
assertions:
|
|
163
|
+
pattern:
|
|
164
|
+
tokens:
|
|
165
|
+
- \babsolutely\b
|
|
166
|
+
- \bactually\b
|
|
167
|
+
- \bcompletely\b
|
|
168
|
+
- \breally\b
|
|
169
|
+
- \bquite\b
|
|
170
|
+
- \btotally\b
|
|
171
|
+
- \bvery\b
|
|
172
|
+
ignoreCase: true
|
|
173
|
+
plain-language/filler-phrases:
|
|
174
|
+
severity: warn
|
|
175
|
+
message: Prefer "%s" over the padded phrase "%s" (federal plain-language guidance).
|
|
176
|
+
link: https://digital.gov/guides/plain-language/writing/style
|
|
177
|
+
scope: summary
|
|
178
|
+
fix: false
|
|
179
|
+
assertions:
|
|
180
|
+
swap:
|
|
181
|
+
pairs:
|
|
182
|
+
a number of: several, a few, or many
|
|
183
|
+
a sufficient number of: enough
|
|
184
|
+
at this point in time: now
|
|
185
|
+
is able to: can
|
|
186
|
+
on a monthly basis: monthly
|
|
187
|
+
on the ground that: because
|
|
188
|
+
ignoreCase: true
|
|
189
|
+
wordBoundary: true
|
|
190
|
+
plain-language/jargon-terms:
|
|
191
|
+
severity: warn
|
|
192
|
+
message: Use "%s" instead of the jargon term "%s" (federal plain-language guidance).
|
|
193
|
+
link: https://digital.gov/guides/plain-language/principles/avoid-jargon
|
|
194
|
+
scope: summary
|
|
195
|
+
fix: false
|
|
196
|
+
assertions:
|
|
197
|
+
swap:
|
|
198
|
+
pairs:
|
|
199
|
+
Riverine avifauna: River birds
|
|
200
|
+
Involuntarily undomiciled: Unhoused
|
|
201
|
+
ignoreCase: true
|
|
202
|
+
wordBoundary: true
|
|
203
|
+
plain-language/paragraph-max-words:
|
|
204
|
+
severity: error
|
|
205
|
+
message: Paragraph is %s %s long; federal plain-language guidance says paragraphs should never exceed 250 words (max %s).
|
|
206
|
+
link: https://digital.gov/guides/plain-language/writing/clear-short
|
|
207
|
+
scope: paragraph
|
|
208
|
+
fix: false
|
|
209
|
+
assertions:
|
|
210
|
+
length:
|
|
211
|
+
unit: words
|
|
212
|
+
max: 250
|
|
213
|
+
plain-language/paragraph-sentence-count:
|
|
214
|
+
severity: warn
|
|
215
|
+
message: Paragraph is %s %s long; federal plain-language guidance recommends at most 8 (roughly 150 words) (max %s).
|
|
216
|
+
link: https://digital.gov/guides/plain-language/writing/clear-short
|
|
217
|
+
scope: paragraph
|
|
218
|
+
fix: false
|
|
219
|
+
assertions:
|
|
220
|
+
length:
|
|
221
|
+
unit: sentences
|
|
222
|
+
max: 8
|
|
223
|
+
plain-language/redundant-pairs:
|
|
224
|
+
severity: warn
|
|
225
|
+
message: Use "%s" instead of the redundant pair "%s" (federal plain-language guidance).
|
|
226
|
+
link: https://digital.gov/guides/plain-language/principles/short-simple
|
|
227
|
+
scope: summary
|
|
228
|
+
fix: false
|
|
229
|
+
assertions:
|
|
230
|
+
swap:
|
|
231
|
+
pairs:
|
|
232
|
+
due and payable: due
|
|
233
|
+
cease and desist: stop
|
|
234
|
+
knowledge and information: knowledge or information
|
|
235
|
+
ignoreCase: true
|
|
236
|
+
wordBoundary: true
|
|
237
|
+
|
|
238
|
+
# ==============================================================================
|
|
239
|
+
# Appendix — candidates NOT shipped by recheck/plain-language (hand-maintained)
|
|
240
|
+
# ==============================================================================
|
|
241
|
+
# This file is appended verbatim to the generated example above by
|
|
242
|
+
# `pnpm examples:generate` (see scripts/generate-examples.mjs). Editing it
|
|
243
|
+
# makes examples/plain-language.yaml stale until you regenerate — the drift
|
|
244
|
+
# test's failure message says so, so this doesn't read as a generator bug.
|
|
245
|
+
#
|
|
246
|
+
# Full detail, every candidate, and why:
|
|
247
|
+
# packages/recheck/presets/plain-language/PROVENANCE.md
|
|
248
|
+
#
|
|
249
|
+
# ------------------------------------------------------------------------------
|
|
250
|
+
# NOISY — live, verbatim guide content, judged too broad or too domain-risky
|
|
251
|
+
# to enforce mechanically. Shown here as the rule it WOULD be if shipped,
|
|
252
|
+
# commented out, so you can see the shape being avoided.
|
|
253
|
+
# ------------------------------------------------------------------------------
|
|
254
|
+
|
|
255
|
+
# NOISY: live on the guide's own table, but this 1:1 substitution misreads
|
|
256
|
+
# ordinary, correct accountability language ("the team is responsible for
|
|
257
|
+
# the migration") as wordiness — no textual signal separates that from padding.
|
|
258
|
+
# plain-language/be-responsible-for:
|
|
259
|
+
# severity: warn
|
|
260
|
+
# message: 'Consider "%s" instead of "%s" (plain language).'
|
|
261
|
+
# assertions:
|
|
262
|
+
# swap:
|
|
263
|
+
# ignoreCase: true
|
|
264
|
+
# wordBoundary: true
|
|
265
|
+
# pairs: { be responsible for: must }
|
|
266
|
+
|
|
267
|
+
# NOISY, HIGH-RISK FOR THIS DOMAIN: "implement" is live guide content, but in
|
|
268
|
+
# software/API documentation "implement an interface", "implement this
|
|
269
|
+
# endpoint", "implement the spec" is ordinary, correct technical vocabulary,
|
|
270
|
+
# not wordiness. Flagging it would misfire across nearly every technical
|
|
271
|
+
# document Recheck targets.
|
|
272
|
+
# plain-language/implement:
|
|
273
|
+
# severity: warn
|
|
274
|
+
# message: 'Consider "%s" instead of "%s" (plain language).'
|
|
275
|
+
# assertions:
|
|
276
|
+
# swap:
|
|
277
|
+
# ignoreCase: true
|
|
278
|
+
# wordBoundary: true
|
|
279
|
+
# pairs: { implement: carry out }
|
|
280
|
+
|
|
281
|
+
# NOISY: this row is itself a garbled pairing on the live page, and
|
|
282
|
+
# separately "command" has a strong, unrelated, extremely common technical
|
|
283
|
+
# sense (CLI command, terminal command) — core developer-docs vocabulary.
|
|
284
|
+
# plain-language/this-activity-command:
|
|
285
|
+
# severity: warn
|
|
286
|
+
# message: 'Consider "%s" instead of "%s" (plain language).'
|
|
287
|
+
# assertions:
|
|
288
|
+
# swap:
|
|
289
|
+
# ignoreCase: true
|
|
290
|
+
# wordBoundary: true
|
|
291
|
+
# pairs: { this activity, command: us, we }
|
|
292
|
+
|
|
293
|
+
# NOT SHIPPED, ANY DIRECTION, EVER: "shall" is live guide content ("use
|
|
294
|
+
# 'must' not 'shall'"), but SHALL is a defined RFC 2119 normative keyword
|
|
295
|
+
# (alongside MUST/SHOULD/MAY/MUST NOT) used throughout specifications and
|
|
296
|
+
# API/interface documentation — exactly Recheck's target content. This is
|
|
297
|
+
# the single highest-risk exclusion in this preset: a rule flagging it would
|
|
298
|
+
# be actively wrong for that whole document class, not an edge case to
|
|
299
|
+
# carve out.
|
|
300
|
+
# plain-language/shall-must:
|
|
301
|
+
# severity: warn
|
|
302
|
+
# message: 'Consider "%s" instead of "%s" (plain language) — never for RFC 2119 usage.'
|
|
303
|
+
# assertions:
|
|
304
|
+
# swap:
|
|
305
|
+
# ignoreCase: true
|
|
306
|
+
# wordBoundary: true
|
|
307
|
+
# pairs: { shall: must }
|
|
308
|
+
|
|
309
|
+
# ------------------------------------------------------------------------------
|
|
310
|
+
# NEEDS HUMAN REVIEW — real guide content with no safe mechanical detection
|
|
311
|
+
# (NOT-ENFORCEABLE). Recheck cannot check these; review them yourself:
|
|
312
|
+
# ------------------------------------------------------------------------------
|
|
313
|
+
# [ ] Nominalizations ("hidden verbs") — the guide's own suffix pattern
|
|
314
|
+
# (-ment/-tion/-sion/-ance + a link verb) false-positives constantly on
|
|
315
|
+
# ordinary correct nouns ("chance", "information", "assurance")
|
|
316
|
+
# [ ] Sentence-length — no word count is stated anywhere on the live site,
|
|
317
|
+
# only "write short sentences"
|
|
318
|
+
# [ ] Grade-level/readability score — no number is stated anywhere on the
|
|
319
|
+
# live site (see PROVENANCE.md "THE NUMBER"); `metric` stays a
|
|
320
|
+
# documented opt-in, not something this preset can source from the guide
|
|
321
|
+
# [ ] Abbreviation count per document ("no more than three, preferably
|
|
322
|
+
# two") — counts DISTINCT abbreviation TYPES, which neither `occurrence`
|
|
323
|
+
# nor `length` can express; an engine gap, not a judgment call
|
|
324
|
+
# [ ] Paraphrase-testing sample size / testing iteration count — user-
|
|
325
|
+
# testing methodology, not document content a linter can ever evaluate
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@redocly/recheck",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "Content linting (configurable + built-in rules)",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -16,28 +16,61 @@
|
|
|
16
16
|
"author": "Redocly",
|
|
17
17
|
"license": "MIT",
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"@redocly/ajv": "8.
|
|
20
|
-
"ajv-formats": "^
|
|
19
|
+
"@redocly/ajv": "8.18.0",
|
|
20
|
+
"ajv-formats": "^3.0.1",
|
|
21
21
|
"colorette": "2.0.20",
|
|
22
|
-
"js-yaml": "4.
|
|
23
|
-
"
|
|
22
|
+
"js-yaml": "4.3.0",
|
|
23
|
+
"micromark": "4.0.2",
|
|
24
|
+
"micromark-extension-directive": "4.0.0",
|
|
25
|
+
"micromark-extension-frontmatter": "2.0.0",
|
|
26
|
+
"micromark-extension-gfm-autolink-literal": "2.1.0",
|
|
27
|
+
"micromark-extension-gfm-footnote": "2.1.0",
|
|
28
|
+
"micromark-extension-gfm-table": "2.1.1",
|
|
29
|
+
"micromark-extension-math": "3.1.0",
|
|
30
|
+
"micromark-util-symbol": "2.0.0",
|
|
31
|
+
"picomatch": "2.3.2",
|
|
32
|
+
"string-width": "^8.2.1",
|
|
24
33
|
"yargs": "^17.7.2"
|
|
25
34
|
},
|
|
35
|
+
"peerDependencies": {
|
|
36
|
+
"dictionary-en": "^4.0.0",
|
|
37
|
+
"nspell": "^2.1.5"
|
|
38
|
+
},
|
|
39
|
+
"peerDependenciesMeta": {
|
|
40
|
+
"dictionary-en": {
|
|
41
|
+
"optional": true
|
|
42
|
+
},
|
|
43
|
+
"nspell": {
|
|
44
|
+
"optional": true
|
|
45
|
+
}
|
|
46
|
+
},
|
|
26
47
|
"devDependencies": {
|
|
27
|
-
"@
|
|
48
|
+
"@markdoc/markdoc": "0.5.2",
|
|
49
|
+
"@types/js-yaml": "4.0.9",
|
|
50
|
+
"@types/node": "24.1.0",
|
|
28
51
|
"@types/picomatch": "2.3.4",
|
|
29
|
-
"@types/
|
|
30
|
-
"@
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
"
|
|
52
|
+
"@types/yargs": "17.0.32",
|
|
53
|
+
"@vitest/coverage-v8": "4.1.10",
|
|
54
|
+
"dictionary-en": "4.0.0",
|
|
55
|
+
"markdownlint": "0.41.0",
|
|
56
|
+
"micromark-util-types": "2.0.2",
|
|
57
|
+
"nspell": "2.1.5",
|
|
58
|
+
"tsx": "^4.23.1",
|
|
59
|
+
"typescript": "6.0.3",
|
|
60
|
+
"vitest": "4.1.10",
|
|
61
|
+
"@redocly/portal": "0.68.3",
|
|
62
|
+
"@redocly/theme": "0.68.0-next.8"
|
|
34
63
|
},
|
|
35
64
|
"scripts": {
|
|
36
|
-
"build": "
|
|
37
|
-
"dev": "
|
|
65
|
+
"build": "tsgo && tsgo --noEmit -p tsconfig.typecheck.json",
|
|
66
|
+
"dev": "tsgo --watch",
|
|
38
67
|
"start": "node dist/cli.js",
|
|
39
|
-
"
|
|
40
|
-
"test
|
|
41
|
-
"
|
|
68
|
+
"validate": "node dist/cli.js validate",
|
|
69
|
+
"test": "nx run vitest:test",
|
|
70
|
+
"examples:generate": "node scripts/generate-examples.mjs",
|
|
71
|
+
"markdoc-schema:generate": "tsx scripts/generate-markdoc-schema.mjs",
|
|
72
|
+
"bench": "node benchmarks/bench.mjs",
|
|
73
|
+
"parity": "node benchmarks/parity/run-parity.mjs",
|
|
74
|
+
"clone-corpora": "bash benchmarks/clone-corpora.sh"
|
|
42
75
|
}
|
|
43
76
|
}
|