@redocly/recheck 0.15.0 → 2.58.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +71 -1886
- package/examples/appendices/google.appendix.yaml +1 -1
- package/examples/appendices/inclusive-language.appendix.yaml +1 -1
- package/examples/appendices/microsoft.appendix.yaml +1 -1
- package/examples/appendices/plain-language.appendix.yaml +1 -1
- package/examples/appendices/technical-english.appendix.yaml +1 -1
- package/examples/google.yaml +7 -7
- package/examples/inclusive-language.yaml +7 -7
- package/examples/microsoft.yaml +7 -7
- package/examples/plain-language.yaml +7 -7
- package/examples/technical-english.yaml +7 -7
- package/lib/actions/baseline.d.ts +15 -0
- package/lib/actions/baseline.d.ts.map +1 -0
- package/lib/actions/baseline.js +51 -0
- package/lib/actions/baseline.js.map +1 -0
- package/lib/actions/lint.d.ts +51 -0
- package/lib/actions/lint.d.ts.map +1 -0
- package/lib/actions/lint.js +123 -0
- package/lib/actions/lint.js.map +1 -0
- package/lib/actions/markdoc-schema.d.ts +34 -0
- package/lib/actions/markdoc-schema.d.ts.map +1 -0
- package/lib/actions/markdoc-schema.js +106 -0
- package/lib/actions/markdoc-schema.js.map +1 -0
- package/lib/actions/readability.d.ts +25 -0
- package/lib/actions/readability.d.ts.map +1 -0
- package/lib/actions/readability.js +47 -0
- package/lib/actions/readability.js.map +1 -0
- package/lib/actions/roots.d.ts +7 -0
- package/lib/actions/roots.d.ts.map +1 -0
- package/lib/actions/roots.js +36 -0
- package/lib/actions/roots.js.map +1 -0
- package/lib/config/presets/api-descriptions.d.ts +8 -0
- package/lib/config/presets/api-descriptions.d.ts.map +1 -0
- package/lib/config/presets/api-descriptions.js +24 -0
- package/lib/config/presets/api-descriptions.js.map +1 -0
- package/lib/config/presets/google.d.ts +3 -0
- package/lib/config/presets/google.d.ts.map +1 -0
- package/lib/config/presets/google.js +1086 -0
- package/lib/config/presets/google.js.map +1 -0
- package/lib/config/presets/inclusive-language.d.ts +3 -0
- package/lib/config/presets/inclusive-language.d.ts.map +1 -0
- package/lib/config/presets/inclusive-language.js +151 -0
- package/lib/config/presets/inclusive-language.js.map +1 -0
- package/lib/config/presets/index.d.ts +16 -0
- package/lib/config/presets/index.d.ts.map +1 -0
- package/lib/config/presets/index.js +38 -0
- package/lib/config/presets/index.js.map +1 -0
- package/lib/config/presets/markdoc.d.ts +3 -0
- package/lib/config/presets/markdoc.d.ts.map +1 -0
- package/lib/config/presets/markdoc.js +45 -0
- package/lib/config/presets/markdoc.js.map +1 -0
- package/lib/config/presets/markdown-relaxed.d.ts +3 -0
- package/lib/config/presets/markdown-relaxed.d.ts.map +1 -0
- package/lib/config/presets/markdown-relaxed.js +34 -0
- package/lib/config/presets/markdown-relaxed.js.map +1 -0
- package/lib/config/presets/markdown.d.ts +11 -0
- package/lib/config/presets/markdown.d.ts.map +1 -0
- package/lib/config/presets/markdown.js +73 -0
- package/lib/config/presets/markdown.js.map +1 -0
- package/lib/config/presets/microsoft.d.ts +3 -0
- package/lib/config/presets/microsoft.d.ts.map +1 -0
- package/lib/config/presets/microsoft.js +1260 -0
- package/lib/config/presets/microsoft.js.map +1 -0
- package/lib/config/presets/minimal.d.ts +3 -0
- package/lib/config/presets/minimal.d.ts.map +1 -0
- package/lib/config/presets/minimal.js +13 -0
- package/lib/config/presets/minimal.js.map +1 -0
- package/lib/config/presets/plain-language.d.ts +3 -0
- package/lib/config/presets/plain-language.d.ts.map +1 -0
- package/lib/config/presets/plain-language.js +175 -0
- package/lib/config/presets/plain-language.js.map +1 -0
- package/lib/config/presets/prose.d.ts +3 -0
- package/lib/config/presets/prose.d.ts.map +1 -0
- package/lib/config/presets/prose.js +60 -0
- package/lib/config/presets/prose.js.map +1 -0
- package/lib/config/presets/technical-english.d.ts +22 -0
- package/lib/config/presets/technical-english.d.ts.map +1 -0
- package/lib/config/presets/technical-english.js +61 -0
- package/lib/config/presets/technical-english.js.map +1 -0
- package/lib/config/resolve.d.ts +36 -0
- package/lib/config/resolve.d.ts.map +1 -0
- package/lib/config/resolve.js +106 -0
- package/lib/config/resolve.js.map +1 -0
- package/lib/config/schema.d.ts +215 -0
- package/lib/config/schema.d.ts.map +1 -0
- package/lib/config/schema.js +152 -0
- package/lib/config/schema.js.map +1 -0
- package/lib/config/validate.d.ts +19 -0
- package/lib/config/validate.d.ts.map +1 -0
- package/lib/config/validate.js +1049 -0
- package/lib/config/validate.js.map +1 -0
- package/lib/core/auto-fix.d.ts.map +1 -0
- package/lib/core/auto-fix.js +94 -0
- package/lib/core/auto-fix.js.map +1 -0
- package/lib/core/baseline.d.ts +43 -0
- package/lib/core/baseline.d.ts.map +1 -0
- package/lib/core/baseline.js +142 -0
- package/lib/core/baseline.js.map +1 -0
- package/lib/core/case-preserve.d.ts +11 -0
- package/lib/core/case-preserve.d.ts.map +1 -0
- package/lib/core/case-preserve.js +22 -0
- package/lib/core/case-preserve.js.map +1 -0
- package/lib/core/directives.d.ts.map +1 -0
- package/lib/core/directives.js +66 -0
- package/lib/core/directives.js.map +1 -0
- package/lib/core/files.d.ts +31 -0
- package/lib/core/files.d.ts.map +1 -0
- package/lib/core/files.js +184 -0
- package/lib/core/files.js.map +1 -0
- package/lib/core/inline-code.d.ts +33 -0
- package/lib/core/inline-code.d.ts.map +1 -0
- package/lib/core/inline-code.js +50 -0
- package/lib/core/inline-code.js.map +1 -0
- package/lib/core/line-endings.d.ts +13 -0
- package/lib/core/line-endings.d.ts.map +1 -0
- package/lib/core/line-endings.js +39 -0
- package/lib/core/line-endings.js.map +1 -0
- package/lib/core/markdoc-tags.d.ts +48 -0
- package/lib/core/markdoc-tags.d.ts.map +1 -0
- package/lib/core/markdoc-tags.js +102 -0
- package/lib/core/markdoc-tags.js.map +1 -0
- package/lib/core/prose-extract.d.ts +6 -0
- package/lib/core/prose-extract.d.ts.map +1 -0
- package/lib/core/prose-extract.js +71 -0
- package/lib/core/prose-extract.js.map +1 -0
- package/lib/core/readability.d.ts +17 -0
- package/lib/core/readability.d.ts.map +1 -0
- package/lib/core/readability.js +34 -0
- package/lib/core/readability.js.map +1 -0
- package/lib/core/rule-filters.d.ts +29 -0
- package/lib/core/rule-filters.d.ts.map +1 -0
- package/lib/core/rule-filters.js +88 -0
- package/lib/core/rule-filters.js.map +1 -0
- package/lib/core/runner.d.ts +60 -0
- package/lib/core/runner.d.ts.map +1 -0
- package/lib/core/runner.js +305 -0
- package/lib/core/runner.js.map +1 -0
- package/lib/core/summary.d.ts +4 -0
- package/lib/core/summary.d.ts.map +1 -0
- package/lib/core/summary.js +37 -0
- package/lib/core/summary.js.map +1 -0
- package/lib/core/timing.d.ts +9 -0
- package/lib/core/timing.d.ts.map +1 -0
- package/lib/core/timing.js +19 -0
- package/lib/core/timing.js.map +1 -0
- package/lib/data/markdoc-realm-schema.d.ts.map +1 -0
- package/lib/data/markdoc-realm-schema.js +782 -0
- package/lib/data/markdoc-realm-schema.js.map +1 -0
- package/lib/data/proper-nouns.d.ts.map +1 -0
- package/lib/data/proper-nouns.js +42 -0
- package/lib/data/proper-nouns.js.map +1 -0
- package/lib/data/realm-front-matter-schema.d.ts +12 -0
- package/lib/data/realm-front-matter-schema.d.ts.map +1 -0
- package/lib/data/realm-front-matter-schema.js +51 -0
- package/lib/data/realm-front-matter-schema.js.map +1 -0
- package/lib/index.d.ts +81 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +114 -0
- package/lib/index.js.map +1 -0
- package/lib/metrics/formulas.d.ts +9 -0
- package/lib/metrics/formulas.d.ts.map +1 -0
- package/lib/metrics/formulas.js +59 -0
- package/lib/metrics/formulas.js.map +1 -0
- package/lib/metrics/statistics.d.ts +14 -0
- package/lib/metrics/statistics.d.ts.map +1 -0
- package/lib/metrics/statistics.js +35 -0
- package/lib/metrics/statistics.js.map +1 -0
- package/lib/parser/index.d.ts +13 -0
- package/lib/parser/index.d.ts.map +1 -0
- package/lib/parser/index.js +123 -0
- package/lib/parser/index.js.map +1 -0
- package/lib/parser/markdoc/extract-statics.d.ts +28 -0
- package/lib/parser/markdoc/extract-statics.d.ts.map +1 -0
- package/lib/parser/markdoc/extract-statics.js +80 -0
- package/lib/parser/markdoc/extract-statics.js.map +1 -0
- package/lib/parser/markdoc/pairing.d.ts +38 -0
- package/lib/parser/markdoc/pairing.d.ts.map +1 -0
- package/lib/parser/markdoc/pairing.js +77 -0
- package/lib/parser/markdoc/pairing.js.map +1 -0
- package/lib/parser/markdoc/schema.d.ts +56 -0
- package/lib/parser/markdoc/schema.d.ts.map +1 -0
- package/lib/parser/markdoc/schema.js +60 -0
- package/lib/parser/markdoc/schema.js.map +1 -0
- package/lib/parser/markdoc/span.d.ts +52 -0
- package/lib/parser/markdoc/span.d.ts.map +1 -0
- package/lib/parser/markdoc/span.js +577 -0
- package/lib/parser/markdoc/span.js.map +1 -0
- package/lib/parser/markdoc/structure.d.ts +17 -0
- package/lib/parser/markdoc/structure.d.ts.map +1 -0
- package/lib/parser/markdoc/structure.js +121 -0
- package/lib/parser/markdoc/structure.js.map +1 -0
- package/lib/parser/markdoc/syntax.d.ts +17 -0
- package/lib/parser/markdoc/syntax.d.ts.map +1 -0
- package/lib/parser/markdoc/syntax.js +262 -0
- package/lib/parser/markdoc/syntax.js.map +1 -0
- package/lib/parser/types.d.ts.map +1 -0
- package/lib/presets.d.ts +6 -0
- package/lib/presets.d.ts.map +1 -0
- package/lib/presets.js +12 -0
- package/lib/presets.js.map +1 -0
- package/lib/rules/registry.d.ts +13 -0
- package/lib/rules/registry.d.ts.map +1 -0
- package/lib/rules/registry.js +54 -0
- package/lib/rules/registry.js.map +1 -0
- package/lib/rules/scope/capitalization.d.ts.map +1 -0
- package/lib/rules/scope/capitalization.js +128 -0
- package/lib/rules/scope/capitalization.js.map +1 -0
- package/lib/rules/scope/conditional.d.ts.map +1 -0
- package/lib/rules/scope/conditional.js +93 -0
- package/lib/rules/scope/conditional.js.map +1 -0
- package/lib/rules/scope/consistency.d.ts.map +1 -0
- package/lib/rules/scope/consistency.js +118 -0
- package/lib/rules/scope/consistency.js.map +1 -0
- package/lib/rules/scope/length.d.ts.map +1 -0
- package/lib/rules/scope/length.js +50 -0
- package/lib/rules/scope/length.js.map +1 -0
- package/lib/rules/scope/max-image-size.d.ts.map +1 -0
- package/lib/rules/scope/max-image-size.js +55 -0
- package/lib/rules/scope/max-image-size.js.map +1 -0
- package/lib/rules/scope/metric.d.ts +3 -0
- package/lib/rules/scope/metric.d.ts.map +1 -0
- package/lib/rules/scope/metric.js +59 -0
- package/lib/rules/scope/metric.js.map +1 -0
- package/lib/rules/scope/occurrence.d.ts.map +1 -0
- package/lib/rules/scope/occurrence.js +41 -0
- package/lib/rules/scope/occurrence.js.map +1 -0
- package/lib/rules/scope/pattern.d.ts.map +1 -0
- package/lib/rules/scope/pattern.js +58 -0
- package/lib/rules/scope/pattern.js.map +1 -0
- package/lib/rules/scope/repetition.d.ts.map +1 -0
- package/lib/rules/scope/repetition.js +134 -0
- package/lib/rules/scope/repetition.js.map +1 -0
- package/lib/rules/scope/semantic-line-breaks.d.ts.map +1 -0
- package/lib/rules/scope/semantic-line-breaks.js +180 -0
- package/lib/rules/scope/semantic-line-breaks.js.map +1 -0
- package/lib/rules/scope/spelling.d.ts +11 -0
- package/lib/rules/scope/spelling.d.ts.map +1 -0
- package/lib/rules/scope/spelling.js +146 -0
- package/lib/rules/scope/spelling.js.map +1 -0
- package/lib/rules/scope/swap.d.ts.map +1 -0
- package/lib/rules/scope/swap.js +111 -0
- package/lib/rules/scope/swap.js.map +1 -0
- package/lib/rules/scope/title-case.d.ts +24 -0
- package/lib/rules/scope/title-case.d.ts.map +1 -0
- package/lib/rules/scope/title-case.js +216 -0
- package/lib/rules/scope/title-case.js.map +1 -0
- package/lib/rules/token/blanks-around-fences.d.ts.map +1 -0
- package/lib/rules/token/blanks-around-fences.js.map +1 -0
- package/lib/rules/token/blanks-around-headings.d.ts.map +1 -0
- package/lib/rules/token/blanks-around-headings.js +96 -0
- package/lib/rules/token/blanks-around-headings.js.map +1 -0
- package/lib/rules/token/blanks-around-lists.d.ts.map +1 -0
- package/lib/rules/token/blanks-around-lists.js +48 -0
- package/lib/rules/token/blanks-around-lists.js.map +1 -0
- package/lib/rules/token/blanks-around-tables.d.ts.map +1 -0
- package/lib/rules/token/blanks-around-tables.js +40 -0
- package/lib/rules/token/blanks-around-tables.js.map +1 -0
- package/lib/rules/token/code-block-style.d.ts.map +1 -0
- package/lib/rules/token/code-block-style.js.map +1 -0
- package/lib/rules/token/code-fence-style.d.ts.map +1 -0
- package/lib/rules/token/code-fence-style.js.map +1 -0
- package/lib/rules/token/commands-show-output.d.ts.map +1 -0
- package/lib/rules/token/commands-show-output.js.map +1 -0
- package/lib/rules/token/descriptive-link-text.d.ts.map +1 -0
- package/lib/rules/token/descriptive-link-text.js +46 -0
- package/lib/rules/token/descriptive-link-text.js.map +1 -0
- package/lib/rules/token/fenced-code-language.d.ts.map +1 -0
- package/lib/rules/token/fenced-code-language.js.map +1 -0
- package/lib/rules/token/first-line-h1.d.ts.map +1 -0
- package/lib/rules/token/first-line-h1.js +83 -0
- package/lib/rules/token/first-line-h1.js.map +1 -0
- package/lib/rules/token/front-matter.d.ts.map +1 -0
- package/lib/rules/token/front-matter.js +169 -0
- package/lib/rules/token/front-matter.js.map +1 -0
- package/lib/rules/token/heading-increment.d.ts.map +1 -0
- package/lib/rules/token/heading-increment.js +26 -0
- package/lib/rules/token/heading-increment.js.map +1 -0
- package/lib/rules/token/heading-start-left.d.ts.map +1 -0
- package/lib/rules/token/heading-start-left.js.map +1 -0
- package/lib/rules/token/heading-style.d.ts.map +1 -0
- package/lib/rules/token/heading-style.js.map +1 -0
- package/lib/rules/token/helpers.d.ts +115 -0
- package/lib/rules/token/helpers.d.ts.map +1 -0
- package/lib/rules/token/helpers.js +502 -0
- package/lib/rules/token/helpers.js.map +1 -0
- package/lib/rules/token/hr-style.d.ts.map +1 -0
- package/lib/rules/token/hr-style.js.map +1 -0
- package/lib/rules/token/index.d.ts +65 -0
- package/lib/rules/token/index.d.ts.map +1 -0
- package/lib/rules/token/index.js +157 -0
- package/lib/rules/token/index.js.map +1 -0
- package/lib/rules/token/line-length.d.ts.map +1 -0
- package/lib/rules/token/line-length.js +96 -0
- package/lib/rules/token/line-length.js.map +1 -0
- package/lib/rules/token/link-fragments.d.ts.map +1 -0
- package/lib/rules/token/link-fragments.js +398 -0
- package/lib/rules/token/link-fragments.js.map +1 -0
- package/lib/rules/token/link-image-reference-definitions.d.ts.map +1 -0
- package/lib/rules/token/link-image-reference-definitions.js.map +1 -0
- package/lib/rules/token/link-image-style.d.ts.map +1 -0
- package/lib/rules/token/link-image-style.js +138 -0
- package/lib/rules/token/link-image-style.js.map +1 -0
- package/lib/rules/token/list-indent.d.ts.map +1 -0
- package/lib/rules/token/list-indent.js.map +1 -0
- package/lib/rules/token/list-length.d.ts.map +1 -0
- package/lib/rules/token/list-length.js +31 -0
- package/lib/rules/token/list-length.js.map +1 -0
- package/lib/rules/token/list-marker-space.d.ts.map +1 -0
- package/lib/rules/token/list-marker-space.js.map +1 -0
- package/lib/rules/token/markdoc-attributes.d.ts.map +1 -0
- package/lib/rules/token/markdoc-attributes.js +198 -0
- package/lib/rules/token/markdoc-attributes.js.map +1 -0
- package/lib/rules/token/markdoc-pairing.d.ts.map +1 -0
- package/lib/rules/token/markdoc-pairing.js +65 -0
- package/lib/rules/token/markdoc-pairing.js.map +1 -0
- package/lib/rules/token/markdoc-syntax.d.ts.map +1 -0
- package/lib/rules/token/markdoc-syntax.js +84 -0
- package/lib/rules/token/markdoc-syntax.js.map +1 -0
- package/lib/rules/token/markdoc-unknown-tag.d.ts.map +1 -0
- package/lib/rules/token/markdoc-unknown-tag.js +44 -0
- package/lib/rules/token/markdoc-unknown-tag.js.map +1 -0
- package/lib/rules/token/no-alt-text.d.ts.map +1 -0
- package/lib/rules/token/no-alt-text.js +43 -0
- package/lib/rules/token/no-alt-text.js.map +1 -0
- package/lib/rules/token/no-bare-urls.d.ts.map +1 -0
- package/lib/rules/token/no-bare-urls.js +74 -0
- package/lib/rules/token/no-bare-urls.js.map +1 -0
- package/lib/rules/token/no-blanks-blockquote.d.ts.map +1 -0
- package/lib/rules/token/no-blanks-blockquote.js.map +1 -0
- package/lib/rules/token/no-duplicate-heading.d.ts.map +1 -0
- package/lib/rules/token/no-duplicate-heading.js +89 -0
- package/lib/rules/token/no-duplicate-heading.js.map +1 -0
- package/lib/rules/token/no-duplicate-link-destinations.d.ts.map +1 -0
- package/lib/rules/token/no-duplicate-link-destinations.js +54 -0
- package/lib/rules/token/no-duplicate-link-destinations.js.map +1 -0
- package/lib/rules/token/no-emphasis-as-heading.d.ts.map +1 -0
- package/lib/rules/token/no-emphasis-as-heading.js +39 -0
- package/lib/rules/token/no-emphasis-as-heading.js.map +1 -0
- package/lib/rules/token/no-empty-headings.d.ts.map +1 -0
- package/lib/rules/token/no-empty-headings.js +21 -0
- package/lib/rules/token/no-empty-headings.js.map +1 -0
- package/lib/rules/token/no-empty-links.d.ts.map +1 -0
- package/lib/rules/token/no-empty-links.js.map +1 -0
- package/lib/rules/token/no-hard-tabs.d.ts.map +1 -0
- package/lib/rules/token/no-hard-tabs.js.map +1 -0
- package/lib/rules/token/no-inline-html.d.ts.map +1 -0
- package/lib/rules/token/no-inline-html.js +41 -0
- package/lib/rules/token/no-inline-html.js.map +1 -0
- package/lib/rules/token/no-multiple-blanks.d.ts.map +1 -0
- package/lib/rules/token/no-multiple-blanks.js.map +1 -0
- package/lib/rules/token/no-multiple-space-atx.d.ts +9 -0
- package/lib/rules/token/no-multiple-space-atx.d.ts.map +1 -0
- package/lib/rules/token/no-multiple-space-atx.js +46 -0
- package/lib/rules/token/no-multiple-space-atx.js.map +1 -0
- package/lib/rules/token/no-multiple-space-closed-atx.d.ts.map +1 -0
- package/lib/rules/token/no-multiple-space-closed-atx.js.map +1 -0
- package/lib/rules/token/no-reversed-links.d.ts.map +1 -0
- package/lib/rules/token/no-reversed-links.js.map +1 -0
- package/lib/rules/token/no-space-in-code.d.ts.map +1 -0
- package/lib/rules/token/no-space-in-code.js.map +1 -0
- package/lib/rules/token/no-space-in-emphasis.d.ts.map +1 -0
- package/lib/rules/token/no-space-in-emphasis.js +72 -0
- package/lib/rules/token/no-space-in-emphasis.js.map +1 -0
- package/lib/rules/token/no-space-in-links.d.ts.map +1 -0
- package/lib/rules/token/no-space-in-links.js.map +1 -0
- package/lib/rules/token/no-trailing-punctuation.d.ts.map +1 -0
- package/lib/rules/token/no-trailing-punctuation.js.map +1 -0
- package/lib/rules/token/no-trailing-spaces.d.ts.map +1 -0
- package/lib/rules/token/no-trailing-spaces.js.map +1 -0
- package/lib/rules/token/ol-prefix.d.ts.map +1 -0
- package/lib/rules/token/ol-prefix.js.map +1 -0
- package/lib/rules/token/proper-names.d.ts.map +1 -0
- package/lib/rules/token/proper-names.js +87 -0
- package/lib/rules/token/proper-names.js.map +1 -0
- package/lib/rules/token/reference-links-images.d.ts.map +1 -0
- package/lib/rules/token/reference-links-images.js.map +1 -0
- package/lib/rules/token/required-headings.d.ts.map +1 -0
- package/lib/rules/token/required-headings.js +73 -0
- package/lib/rules/token/required-headings.js.map +1 -0
- package/lib/rules/token/single-h1.d.ts.map +1 -0
- package/lib/rules/token/single-h1.js +43 -0
- package/lib/rules/token/single-h1.js.map +1 -0
- package/lib/rules/token/table-column-count.d.ts.map +1 -0
- package/lib/rules/token/table-column-count.js.map +1 -0
- package/lib/rules/token/table-column-style.d.ts.map +1 -0
- package/lib/rules/token/table-column-style.js +162 -0
- package/lib/rules/token/table-column-style.js.map +1 -0
- package/lib/rules/token/table-pipe-style.d.ts.map +1 -0
- package/lib/rules/token/table-pipe-style.js.map +1 -0
- package/lib/rules/token/ul-indent.d.ts.map +1 -0
- package/lib/rules/token/ul-indent.js.map +1 -0
- package/lib/rules/token/ul-style.d.ts.map +1 -0
- package/lib/rules/token/ul-style.js +70 -0
- package/lib/rules/token/ul-style.js.map +1 -0
- package/lib/rules/types.d.ts +62 -0
- package/lib/rules/types.d.ts.map +1 -0
- package/lib/rules/utils.d.ts +18 -0
- package/lib/rules/utils.d.ts.map +1 -0
- package/lib/rules/utils.js +75 -0
- package/lib/rules/utils.js.map +1 -0
- package/lib/scopes/extractor.d.ts +6 -0
- package/lib/scopes/extractor.d.ts.map +1 -0
- package/lib/scopes/extractor.js +398 -0
- package/lib/scopes/extractor.js.map +1 -0
- package/lib/scopes/selector.d.ts +26 -0
- package/lib/scopes/selector.d.ts.map +1 -0
- package/lib/scopes/selector.js +78 -0
- package/lib/scopes/selector.js.map +1 -0
- package/lib/scopes/sentences.d.ts +13 -0
- package/lib/scopes/sentences.d.ts.map +1 -0
- package/lib/scopes/sentences.js +237 -0
- package/lib/scopes/sentences.js.map +1 -0
- package/lib/scopes/types.d.ts +35 -0
- package/lib/scopes/types.d.ts.map +1 -0
- package/lib/scopes/vocabulary.d.ts +12 -0
- package/lib/scopes/vocabulary.d.ts.map +1 -0
- package/lib/scopes/vocabulary.js +56 -0
- package/lib/scopes/vocabulary.js.map +1 -0
- package/lib/types/assertions.d.ts +97 -0
- package/lib/types/assertions.d.ts.map +1 -0
- package/lib/types/reporting.d.ts +23 -0
- package/lib/types/reporting.d.ts.map +1 -0
- package/lib/types/rules.d.ts +53 -0
- package/lib/types/rules.d.ts.map +1 -0
- package/lib/types/validation.d.ts +5 -0
- package/lib/types/validation.d.ts.map +1 -0
- package/lib/utils/is-plain-object.d.ts +2 -0
- package/lib/utils/is-plain-object.d.ts.map +1 -0
- package/lib/utils/is-plain-object.js +5 -0
- package/lib/utils/is-plain-object.js.map +1 -0
- package/package.json +58 -61
- package/presets/google/PROVENANCE.md +217 -221
- package/presets/inclusive-language/PROVENANCE.md +20 -19
- package/presets/microsoft/PROVENANCE.md +242 -243
- package/presets/plain-language/PROVENANCE.md +66 -60
- package/presets/technical-english/PROVENANCE.md +5 -5
- package/skills/recheck-config/SKILL.md +70 -20
- package/skills/recheck-lint/SKILL.md +37 -13
- package/dist/cli.d.ts +0 -3
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js +0 -228
- package/dist/cli.js.map +0 -1
- package/dist/commands/baseline.d.ts +0 -10
- package/dist/commands/baseline.d.ts.map +0 -1
- package/dist/commands/baseline.js +0 -59
- package/dist/commands/baseline.js.map +0 -1
- package/dist/commands/markdoc-schema.d.ts +0 -17
- package/dist/commands/markdoc-schema.d.ts.map +0 -1
- package/dist/commands/markdoc-schema.js +0 -127
- package/dist/commands/markdoc-schema.js.map +0 -1
- package/dist/commands/readability.d.ts +0 -10
- package/dist/commands/readability.d.ts.map +0 -1
- package/dist/commands/readability.js +0 -90
- package/dist/commands/readability.js.map +0 -1
- package/dist/commands/run.d.ts +0 -21
- package/dist/commands/run.d.ts.map +0 -1
- package/dist/commands/run.js +0 -236
- package/dist/commands/run.js.map +0 -1
- package/dist/commands/validate.d.ts +0 -8
- package/dist/commands/validate.d.ts.map +0 -1
- package/dist/commands/validate.js +0 -43
- package/dist/commands/validate.js.map +0 -1
- package/dist/config/load.d.ts +0 -33
- package/dist/config/load.d.ts.map +0 -1
- package/dist/config/load.js +0 -98
- package/dist/config/load.js.map +0 -1
- package/dist/config/presets/api-descriptions.d.ts +0 -8
- package/dist/config/presets/api-descriptions.d.ts.map +0 -1
- package/dist/config/presets/api-descriptions.js +0 -24
- package/dist/config/presets/api-descriptions.js.map +0 -1
- package/dist/config/presets/google.d.ts +0 -3
- package/dist/config/presets/google.d.ts.map +0 -1
- package/dist/config/presets/google.js +0 -1671
- package/dist/config/presets/google.js.map +0 -1
- package/dist/config/presets/inclusive-language.d.ts +0 -3
- package/dist/config/presets/inclusive-language.d.ts.map +0 -1
- package/dist/config/presets/inclusive-language.js +0 -321
- package/dist/config/presets/inclusive-language.js.map +0 -1
- package/dist/config/presets/index.d.ts +0 -67
- package/dist/config/presets/index.d.ts.map +0 -1
- package/dist/config/presets/index.js +0 -141
- package/dist/config/presets/index.js.map +0 -1
- package/dist/config/presets/markdoc.d.ts +0 -21
- package/dist/config/presets/markdoc.d.ts.map +0 -1
- package/dist/config/presets/markdoc.js +0 -101
- package/dist/config/presets/markdoc.js.map +0 -1
- package/dist/config/presets/markdown-relaxed.d.ts +0 -3
- package/dist/config/presets/markdown-relaxed.d.ts.map +0 -1
- package/dist/config/presets/markdown-relaxed.js +0 -98
- package/dist/config/presets/markdown-relaxed.js.map +0 -1
- package/dist/config/presets/markdown.d.ts +0 -43
- package/dist/config/presets/markdown.d.ts.map +0 -1
- package/dist/config/presets/markdown.js +0 -132
- package/dist/config/presets/markdown.js.map +0 -1
- package/dist/config/presets/microsoft.d.ts +0 -3
- package/dist/config/presets/microsoft.d.ts.map +0 -1
- package/dist/config/presets/microsoft.js +0 -2268
- package/dist/config/presets/microsoft.js.map +0 -1
- package/dist/config/presets/minimal.d.ts +0 -3
- package/dist/config/presets/minimal.d.ts.map +0 -1
- package/dist/config/presets/minimal.js +0 -21
- package/dist/config/presets/minimal.js.map +0 -1
- package/dist/config/presets/plain-language.d.ts +0 -3
- package/dist/config/presets/plain-language.d.ts.map +0 -1
- package/dist/config/presets/plain-language.js +0 -351
- package/dist/config/presets/plain-language.js.map +0 -1
- package/dist/config/presets/prose.d.ts +0 -52
- package/dist/config/presets/prose.d.ts.map +0 -1
- package/dist/config/presets/prose.js +0 -138
- package/dist/config/presets/prose.js.map +0 -1
- package/dist/config/presets/technical-english.d.ts +0 -34
- package/dist/config/presets/technical-english.d.ts.map +0 -1
- package/dist/config/presets/technical-english.js +0 -79
- package/dist/config/presets/technical-english.js.map +0 -1
- package/dist/config/schema.d.ts +0 -226
- package/dist/config/schema.d.ts.map +0 -1
- package/dist/config/schema.js +0 -196
- package/dist/config/schema.js.map +0 -1
- package/dist/config/validate.d.ts +0 -22
- package/dist/config/validate.d.ts.map +0 -1
- package/dist/config/validate.js +0 -1315
- package/dist/config/validate.js.map +0 -1
- package/dist/core/auto-fix.d.ts.map +0 -1
- package/dist/core/auto-fix.js +0 -101
- package/dist/core/auto-fix.js.map +0 -1
- package/dist/core/baseline.d.ts +0 -49
- package/dist/core/baseline.d.ts.map +0 -1
- package/dist/core/baseline.js +0 -0
- package/dist/core/baseline.js.map +0 -1
- package/dist/core/case-preserve.d.ts +0 -46
- package/dist/core/case-preserve.d.ts.map +0 -1
- package/dist/core/case-preserve.js +0 -57
- package/dist/core/case-preserve.js.map +0 -1
- package/dist/core/directives.d.ts.map +0 -1
- package/dist/core/directives.js +0 -73
- package/dist/core/directives.js.map +0 -1
- package/dist/core/files.d.ts +0 -69
- package/dist/core/files.d.ts.map +0 -1
- package/dist/core/files.js +0 -260
- package/dist/core/files.js.map +0 -1
- package/dist/core/inline-code.d.ts +0 -87
- package/dist/core/inline-code.d.ts.map +0 -1
- package/dist/core/inline-code.js +0 -104
- package/dist/core/inline-code.js.map +0 -1
- package/dist/core/line-endings.d.ts +0 -32
- package/dist/core/line-endings.d.ts.map +0 -1
- package/dist/core/line-endings.js +0 -65
- package/dist/core/line-endings.js.map +0 -1
- package/dist/core/markdoc-tags.d.ts +0 -79
- package/dist/core/markdoc-tags.d.ts.map +0 -1
- package/dist/core/markdoc-tags.js +0 -131
- package/dist/core/markdoc-tags.js.map +0 -1
- package/dist/core/prose-extract.d.ts +0 -6
- package/dist/core/prose-extract.d.ts.map +0 -1
- package/dist/core/prose-extract.js +0 -79
- package/dist/core/prose-extract.js.map +0 -1
- package/dist/core/readability.d.ts +0 -17
- package/dist/core/readability.d.ts.map +0 -1
- package/dist/core/readability.js +0 -37
- package/dist/core/readability.js.map +0 -1
- package/dist/core/rule-filters.d.ts +0 -45
- package/dist/core/rule-filters.d.ts.map +0 -1
- package/dist/core/rule-filters.js +0 -118
- package/dist/core/rule-filters.js.map +0 -1
- package/dist/core/runner.d.ts +0 -98
- package/dist/core/runner.d.ts.map +0 -1
- package/dist/core/runner.js +0 -401
- package/dist/core/runner.js.map +0 -1
- package/dist/core/timing.d.ts +0 -24
- package/dist/core/timing.d.ts.map +0 -1
- package/dist/core/timing.js +0 -39
- package/dist/core/timing.js.map +0 -1
- package/dist/data/markdoc-realm-schema.d.ts.map +0 -1
- package/dist/data/markdoc-realm-schema.js +0 -798
- package/dist/data/markdoc-realm-schema.js.map +0 -1
- package/dist/data/proper-nouns.d.ts.map +0 -1
- package/dist/data/proper-nouns.js +0 -47
- package/dist/data/proper-nouns.js.map +0 -1
- package/dist/data/realm-front-matter-schema.d.ts +0 -28
- package/dist/data/realm-front-matter-schema.d.ts.map +0 -1
- package/dist/data/realm-front-matter-schema.js +0 -73
- package/dist/data/realm-front-matter-schema.js.map +0 -1
- package/dist/index.d.ts +0 -90
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -152
- package/dist/index.js.map +0 -1
- package/dist/metrics/formulas.d.ts +0 -17
- package/dist/metrics/formulas.d.ts.map +0 -1
- package/dist/metrics/formulas.js +0 -70
- package/dist/metrics/formulas.js.map +0 -1
- package/dist/metrics/statistics.d.ts +0 -27
- package/dist/metrics/statistics.d.ts.map +0 -1
- package/dist/metrics/statistics.js +0 -56
- package/dist/metrics/statistics.js.map +0 -1
- package/dist/parser/index.d.ts +0 -19
- package/dist/parser/index.d.ts.map +0 -1
- package/dist/parser/index.js +0 -174
- package/dist/parser/index.js.map +0 -1
- package/dist/parser/markdoc/extract-statics.d.ts +0 -45
- package/dist/parser/markdoc/extract-statics.d.ts.map +0 -1
- package/dist/parser/markdoc/extract-statics.js +0 -139
- package/dist/parser/markdoc/extract-statics.js.map +0 -1
- package/dist/parser/markdoc/pairing.d.ts +0 -63
- package/dist/parser/markdoc/pairing.d.ts.map +0 -1
- package/dist/parser/markdoc/pairing.js +0 -94
- package/dist/parser/markdoc/pairing.js.map +0 -1
- package/dist/parser/markdoc/schema.d.ts +0 -85
- package/dist/parser/markdoc/schema.d.ts.map +0 -1
- package/dist/parser/markdoc/schema.js +0 -86
- package/dist/parser/markdoc/schema.js.map +0 -1
- package/dist/parser/markdoc/span.d.ts +0 -64
- package/dist/parser/markdoc/span.d.ts.map +0 -1
- package/dist/parser/markdoc/span.js +0 -729
- package/dist/parser/markdoc/span.js.map +0 -1
- package/dist/parser/markdoc/structure.d.ts +0 -28
- package/dist/parser/markdoc/structure.d.ts.map +0 -1
- package/dist/parser/markdoc/structure.js +0 -153
- package/dist/parser/markdoc/structure.js.map +0 -1
- package/dist/parser/markdoc/syntax.d.ts +0 -44
- package/dist/parser/markdoc/syntax.d.ts.map +0 -1
- package/dist/parser/markdoc/syntax.js +0 -317
- package/dist/parser/markdoc/syntax.js.map +0 -1
- package/dist/parser/types.d.ts.map +0 -1
- package/dist/reporter/fixes.d.ts +0 -3
- package/dist/reporter/fixes.d.ts.map +0 -1
- package/dist/reporter/fixes.js +0 -41
- package/dist/reporter/fixes.js.map +0 -1
- package/dist/reporter/formats/github-actions.d.ts +0 -6
- package/dist/reporter/formats/github-actions.d.ts.map +0 -1
- package/dist/reporter/formats/github-actions.js +0 -20
- package/dist/reporter/formats/github-actions.js.map +0 -1
- package/dist/reporter/formats/json.d.ts +0 -10
- package/dist/reporter/formats/json.d.ts.map +0 -1
- package/dist/reporter/formats/json.js +0 -25
- package/dist/reporter/formats/json.js.map +0 -1
- package/dist/reporter/formats/sarif.d.ts +0 -10
- package/dist/reporter/formats/sarif.d.ts.map +0 -1
- package/dist/reporter/formats/sarif.js +0 -66
- package/dist/reporter/formats/sarif.js.map +0 -1
- package/dist/reporter/formats/table.d.ts +0 -6
- package/dist/reporter/formats/table.d.ts.map +0 -1
- package/dist/reporter/formats/table.js +0 -43
- package/dist/reporter/formats/table.js.map +0 -1
- package/dist/reporter/index.d.ts +0 -10
- package/dist/reporter/index.d.ts.map +0 -1
- package/dist/reporter/index.js +0 -42
- package/dist/reporter/index.js.map +0 -1
- package/dist/reporter/prioritize-problems.d.ts +0 -7
- package/dist/reporter/prioritize-problems.d.ts.map +0 -1
- package/dist/reporter/prioritize-problems.js +0 -29
- package/dist/reporter/prioritize-problems.js.map +0 -1
- package/dist/reporter/statistics.d.ts +0 -10
- package/dist/reporter/statistics.d.ts.map +0 -1
- package/dist/reporter/statistics.js +0 -52
- package/dist/reporter/statistics.js.map +0 -1
- package/dist/reporter/summary.d.ts +0 -10
- package/dist/reporter/summary.d.ts.map +0 -1
- package/dist/reporter/summary.js +0 -49
- package/dist/reporter/summary.js.map +0 -1
- package/dist/rules/registry.d.ts +0 -15
- package/dist/rules/registry.d.ts.map +0 -1
- package/dist/rules/registry.js +0 -81
- package/dist/rules/registry.js.map +0 -1
- package/dist/rules/scope/capitalization.d.ts.map +0 -1
- package/dist/rules/scope/capitalization.js +0 -164
- package/dist/rules/scope/capitalization.js.map +0 -1
- package/dist/rules/scope/conditional.d.ts.map +0 -1
- package/dist/rules/scope/conditional.js +0 -112
- package/dist/rules/scope/conditional.js.map +0 -1
- package/dist/rules/scope/consistency.d.ts.map +0 -1
- package/dist/rules/scope/consistency.js +0 -179
- package/dist/rules/scope/consistency.js.map +0 -1
- package/dist/rules/scope/length.d.ts.map +0 -1
- package/dist/rules/scope/length.js +0 -73
- package/dist/rules/scope/length.js.map +0 -1
- package/dist/rules/scope/max-image-size.d.ts.map +0 -1
- package/dist/rules/scope/max-image-size.js +0 -65
- package/dist/rules/scope/max-image-size.js.map +0 -1
- package/dist/rules/scope/metric.d.ts +0 -5
- package/dist/rules/scope/metric.d.ts.map +0 -1
- package/dist/rules/scope/metric.js +0 -74
- package/dist/rules/scope/metric.js.map +0 -1
- package/dist/rules/scope/occurrence.d.ts.map +0 -1
- package/dist/rules/scope/occurrence.js +0 -48
- package/dist/rules/scope/occurrence.js.map +0 -1
- package/dist/rules/scope/pattern.d.ts.map +0 -1
- package/dist/rules/scope/pattern.js +0 -75
- package/dist/rules/scope/pattern.js.map +0 -1
- package/dist/rules/scope/repetition.d.ts.map +0 -1
- package/dist/rules/scope/repetition.js +0 -139
- package/dist/rules/scope/repetition.js.map +0 -1
- package/dist/rules/scope/semantic-line-breaks.d.ts.map +0 -1
- package/dist/rules/scope/semantic-line-breaks.js +0 -236
- package/dist/rules/scope/semantic-line-breaks.js.map +0 -1
- package/dist/rules/scope/spelling.d.ts +0 -27
- package/dist/rules/scope/spelling.d.ts.map +0 -1
- package/dist/rules/scope/spelling.js +0 -227
- package/dist/rules/scope/spelling.js.map +0 -1
- package/dist/rules/scope/swap.d.ts.map +0 -1
- package/dist/rules/scope/swap.js +0 -149
- package/dist/rules/scope/swap.js.map +0 -1
- package/dist/rules/scope/title-case.d.ts +0 -46
- package/dist/rules/scope/title-case.d.ts.map +0 -1
- package/dist/rules/scope/title-case.js +0 -301
- package/dist/rules/scope/title-case.js.map +0 -1
- package/dist/rules/token/blanks-around-fences.d.ts.map +0 -1
- package/dist/rules/token/blanks-around-fences.js.map +0 -1
- package/dist/rules/token/blanks-around-headings.d.ts.map +0 -1
- package/dist/rules/token/blanks-around-headings.js +0 -108
- package/dist/rules/token/blanks-around-headings.js.map +0 -1
- package/dist/rules/token/blanks-around-lists.d.ts.map +0 -1
- package/dist/rules/token/blanks-around-lists.js +0 -56
- package/dist/rules/token/blanks-around-lists.js.map +0 -1
- package/dist/rules/token/blanks-around-tables.d.ts.map +0 -1
- package/dist/rules/token/blanks-around-tables.js +0 -42
- package/dist/rules/token/blanks-around-tables.js.map +0 -1
- package/dist/rules/token/code-block-style.d.ts.map +0 -1
- package/dist/rules/token/code-block-style.js.map +0 -1
- package/dist/rules/token/code-fence-style.d.ts.map +0 -1
- package/dist/rules/token/code-fence-style.js.map +0 -1
- package/dist/rules/token/commands-show-output.d.ts.map +0 -1
- package/dist/rules/token/commands-show-output.js.map +0 -1
- package/dist/rules/token/descriptive-link-text.d.ts.map +0 -1
- package/dist/rules/token/descriptive-link-text.js +0 -53
- package/dist/rules/token/descriptive-link-text.js.map +0 -1
- package/dist/rules/token/fenced-code-language.d.ts.map +0 -1
- package/dist/rules/token/fenced-code-language.js.map +0 -1
- package/dist/rules/token/first-line-h1.d.ts.map +0 -1
- package/dist/rules/token/first-line-h1.js +0 -107
- package/dist/rules/token/first-line-h1.js.map +0 -1
- package/dist/rules/token/front-matter.d.ts.map +0 -1
- package/dist/rules/token/front-matter.js +0 -177
- package/dist/rules/token/front-matter.js.map +0 -1
- package/dist/rules/token/heading-increment.d.ts.map +0 -1
- package/dist/rules/token/heading-increment.js +0 -27
- package/dist/rules/token/heading-increment.js.map +0 -1
- package/dist/rules/token/heading-start-left.d.ts.map +0 -1
- package/dist/rules/token/heading-start-left.js.map +0 -1
- package/dist/rules/token/heading-style.d.ts.map +0 -1
- package/dist/rules/token/heading-style.js.map +0 -1
- package/dist/rules/token/helpers.d.ts +0 -313
- package/dist/rules/token/helpers.d.ts.map +0 -1
- package/dist/rules/token/helpers.js +0 -746
- package/dist/rules/token/helpers.js.map +0 -1
- package/dist/rules/token/hr-style.d.ts.map +0 -1
- package/dist/rules/token/hr-style.js.map +0 -1
- package/dist/rules/token/index.d.ts +0 -76
- package/dist/rules/token/index.d.ts.map +0 -1
- package/dist/rules/token/index.js +0 -229
- package/dist/rules/token/index.js.map +0 -1
- package/dist/rules/token/line-length.d.ts.map +0 -1
- package/dist/rules/token/line-length.js +0 -120
- package/dist/rules/token/line-length.js.map +0 -1
- package/dist/rules/token/link-fragments.d.ts.map +0 -1
- package/dist/rules/token/link-fragments.js +0 -393
- package/dist/rules/token/link-fragments.js.map +0 -1
- package/dist/rules/token/link-image-reference-definitions.d.ts.map +0 -1
- package/dist/rules/token/link-image-reference-definitions.js.map +0 -1
- package/dist/rules/token/link-image-style.d.ts.map +0 -1
- package/dist/rules/token/link-image-style.js +0 -131
- package/dist/rules/token/link-image-style.js.map +0 -1
- package/dist/rules/token/list-indent.d.ts.map +0 -1
- package/dist/rules/token/list-indent.js.map +0 -1
- package/dist/rules/token/list-length.d.ts.map +0 -1
- package/dist/rules/token/list-length.js +0 -55
- package/dist/rules/token/list-length.js.map +0 -1
- package/dist/rules/token/list-marker-space.d.ts.map +0 -1
- package/dist/rules/token/list-marker-space.js.map +0 -1
- package/dist/rules/token/markdoc-attributes.d.ts.map +0 -1
- package/dist/rules/token/markdoc-attributes.js +0 -269
- package/dist/rules/token/markdoc-attributes.js.map +0 -1
- package/dist/rules/token/markdoc-pairing.d.ts.map +0 -1
- package/dist/rules/token/markdoc-pairing.js +0 -73
- package/dist/rules/token/markdoc-pairing.js.map +0 -1
- package/dist/rules/token/markdoc-syntax.d.ts.map +0 -1
- package/dist/rules/token/markdoc-syntax.js +0 -119
- package/dist/rules/token/markdoc-syntax.js.map +0 -1
- package/dist/rules/token/markdoc-unknown-tag.d.ts.map +0 -1
- package/dist/rules/token/markdoc-unknown-tag.js +0 -64
- package/dist/rules/token/markdoc-unknown-tag.js.map +0 -1
- package/dist/rules/token/no-alt-text.d.ts.map +0 -1
- package/dist/rules/token/no-alt-text.js +0 -47
- package/dist/rules/token/no-alt-text.js.map +0 -1
- package/dist/rules/token/no-bare-urls.d.ts.map +0 -1
- package/dist/rules/token/no-bare-urls.js +0 -88
- package/dist/rules/token/no-bare-urls.js.map +0 -1
- package/dist/rules/token/no-blanks-blockquote.d.ts.map +0 -1
- package/dist/rules/token/no-blanks-blockquote.js.map +0 -1
- package/dist/rules/token/no-duplicate-heading.d.ts.map +0 -1
- package/dist/rules/token/no-duplicate-heading.js +0 -101
- package/dist/rules/token/no-duplicate-heading.js.map +0 -1
- package/dist/rules/token/no-duplicate-link-destinations.d.ts.map +0 -1
- package/dist/rules/token/no-duplicate-link-destinations.js +0 -65
- package/dist/rules/token/no-duplicate-link-destinations.js.map +0 -1
- package/dist/rules/token/no-emphasis-as-heading.d.ts.map +0 -1
- package/dist/rules/token/no-emphasis-as-heading.js +0 -44
- package/dist/rules/token/no-emphasis-as-heading.js.map +0 -1
- package/dist/rules/token/no-empty-headings.d.ts.map +0 -1
- package/dist/rules/token/no-empty-headings.js +0 -28
- package/dist/rules/token/no-empty-headings.js.map +0 -1
- package/dist/rules/token/no-empty-links.d.ts.map +0 -1
- package/dist/rules/token/no-empty-links.js.map +0 -1
- package/dist/rules/token/no-hard-tabs.d.ts.map +0 -1
- package/dist/rules/token/no-hard-tabs.js.map +0 -1
- package/dist/rules/token/no-inline-html.d.ts.map +0 -1
- package/dist/rules/token/no-inline-html.js +0 -45
- package/dist/rules/token/no-inline-html.js.map +0 -1
- package/dist/rules/token/no-multiple-blanks.d.ts.map +0 -1
- package/dist/rules/token/no-multiple-blanks.js.map +0 -1
- package/dist/rules/token/no-multiple-space-atx.d.ts +0 -13
- package/dist/rules/token/no-multiple-space-atx.d.ts.map +0 -1
- package/dist/rules/token/no-multiple-space-atx.js +0 -50
- package/dist/rules/token/no-multiple-space-atx.js.map +0 -1
- package/dist/rules/token/no-multiple-space-closed-atx.d.ts.map +0 -1
- package/dist/rules/token/no-multiple-space-closed-atx.js.map +0 -1
- package/dist/rules/token/no-reversed-links.d.ts.map +0 -1
- package/dist/rules/token/no-reversed-links.js.map +0 -1
- package/dist/rules/token/no-space-in-code.d.ts.map +0 -1
- package/dist/rules/token/no-space-in-code.js.map +0 -1
- package/dist/rules/token/no-space-in-emphasis.d.ts.map +0 -1
- package/dist/rules/token/no-space-in-emphasis.js +0 -79
- package/dist/rules/token/no-space-in-emphasis.js.map +0 -1
- package/dist/rules/token/no-space-in-links.d.ts.map +0 -1
- package/dist/rules/token/no-space-in-links.js.map +0 -1
- package/dist/rules/token/no-trailing-punctuation.d.ts.map +0 -1
- package/dist/rules/token/no-trailing-punctuation.js.map +0 -1
- package/dist/rules/token/no-trailing-spaces.d.ts.map +0 -1
- package/dist/rules/token/no-trailing-spaces.js.map +0 -1
- package/dist/rules/token/ol-prefix.d.ts.map +0 -1
- package/dist/rules/token/ol-prefix.js.map +0 -1
- package/dist/rules/token/proper-names.d.ts.map +0 -1
- package/dist/rules/token/proper-names.js +0 -93
- package/dist/rules/token/proper-names.js.map +0 -1
- package/dist/rules/token/reference-links-images.d.ts.map +0 -1
- package/dist/rules/token/reference-links-images.js.map +0 -1
- package/dist/rules/token/required-headings.d.ts.map +0 -1
- package/dist/rules/token/required-headings.js +0 -83
- package/dist/rules/token/required-headings.js.map +0 -1
- package/dist/rules/token/single-h1.d.ts.map +0 -1
- package/dist/rules/token/single-h1.js +0 -56
- package/dist/rules/token/single-h1.js.map +0 -1
- package/dist/rules/token/table-column-count.d.ts.map +0 -1
- package/dist/rules/token/table-column-count.js.map +0 -1
- package/dist/rules/token/table-column-style.d.ts.map +0 -1
- package/dist/rules/token/table-column-style.js +0 -179
- package/dist/rules/token/table-column-style.js.map +0 -1
- package/dist/rules/token/table-pipe-style.d.ts.map +0 -1
- package/dist/rules/token/table-pipe-style.js.map +0 -1
- package/dist/rules/token/ul-indent.d.ts.map +0 -1
- package/dist/rules/token/ul-indent.js.map +0 -1
- package/dist/rules/token/ul-style.d.ts.map +0 -1
- package/dist/rules/token/ul-style.js +0 -80
- package/dist/rules/token/ul-style.js.map +0 -1
- package/dist/rules/types.d.ts +0 -83
- package/dist/rules/types.d.ts.map +0 -1
- package/dist/rules/utils.d.ts +0 -31
- package/dist/rules/utils.d.ts.map +0 -1
- package/dist/rules/utils.js +0 -90
- package/dist/rules/utils.js.map +0 -1
- package/dist/scopes/extractor.d.ts +0 -7
- package/dist/scopes/extractor.d.ts.map +0 -1
- package/dist/scopes/extractor.js +0 -536
- package/dist/scopes/extractor.js.map +0 -1
- package/dist/scopes/selector.d.ts +0 -51
- package/dist/scopes/selector.d.ts.map +0 -1
- package/dist/scopes/selector.js +0 -121
- package/dist/scopes/selector.js.map +0 -1
- package/dist/scopes/sentences.d.ts +0 -15
- package/dist/scopes/sentences.d.ts.map +0 -1
- package/dist/scopes/sentences.js +0 -202
- package/dist/scopes/sentences.js.map +0 -1
- package/dist/scopes/types.d.ts +0 -46
- package/dist/scopes/types.d.ts.map +0 -1
- package/dist/scopes/vocabulary.d.ts +0 -16
- package/dist/scopes/vocabulary.d.ts.map +0 -1
- package/dist/scopes/vocabulary.js +0 -70
- package/dist/scopes/vocabulary.js.map +0 -1
- package/dist/types/assertions.d.ts +0 -121
- package/dist/types/assertions.d.ts.map +0 -1
- package/dist/types/reporting.d.ts +0 -32
- package/dist/types/reporting.d.ts.map +0 -1
- package/dist/types/rules.d.ts +0 -41
- package/dist/types/rules.d.ts.map +0 -1
- package/dist/types/validation.d.ts +0 -6
- package/dist/types/validation.d.ts.map +0 -1
- /package/{dist → lib}/core/auto-fix.d.ts +0 -0
- /package/{dist → lib}/core/directives.d.ts +0 -0
- /package/{dist → lib}/data/markdoc-realm-schema.d.ts +0 -0
- /package/{dist → lib}/data/proper-nouns.d.ts +0 -0
- /package/{dist → lib}/metrics/index.d.ts +0 -0
- /package/{dist → lib}/metrics/index.d.ts.map +0 -0
- /package/{dist → lib}/metrics/index.js +0 -0
- /package/{dist → lib}/metrics/index.js.map +0 -0
- /package/{dist → lib}/parser/types.d.ts +0 -0
- /package/{dist → lib}/parser/types.js +0 -0
- /package/{dist → lib}/parser/types.js.map +0 -0
- /package/{dist → lib}/rules/scope/capitalization.d.ts +0 -0
- /package/{dist → lib}/rules/scope/conditional.d.ts +0 -0
- /package/{dist → lib}/rules/scope/consistency.d.ts +0 -0
- /package/{dist → lib}/rules/scope/length.d.ts +0 -0
- /package/{dist → lib}/rules/scope/max-image-size.d.ts +0 -0
- /package/{dist → lib}/rules/scope/occurrence.d.ts +0 -0
- /package/{dist → lib}/rules/scope/pattern.d.ts +0 -0
- /package/{dist → lib}/rules/scope/repetition.d.ts +0 -0
- /package/{dist → lib}/rules/scope/semantic-line-breaks.d.ts +0 -0
- /package/{dist → lib}/rules/scope/swap.d.ts +0 -0
- /package/{dist → lib}/rules/token/blanks-around-fences.d.ts +0 -0
- /package/{dist → lib}/rules/token/blanks-around-fences.js +0 -0
- /package/{dist → lib}/rules/token/blanks-around-headings.d.ts +0 -0
- /package/{dist → lib}/rules/token/blanks-around-lists.d.ts +0 -0
- /package/{dist → lib}/rules/token/blanks-around-tables.d.ts +0 -0
- /package/{dist → lib}/rules/token/code-block-style.d.ts +0 -0
- /package/{dist → lib}/rules/token/code-block-style.js +0 -0
- /package/{dist → lib}/rules/token/code-fence-style.d.ts +0 -0
- /package/{dist → lib}/rules/token/code-fence-style.js +0 -0
- /package/{dist → lib}/rules/token/commands-show-output.d.ts +0 -0
- /package/{dist → lib}/rules/token/commands-show-output.js +0 -0
- /package/{dist → lib}/rules/token/descriptive-link-text.d.ts +0 -0
- /package/{dist → lib}/rules/token/emphasis-style.d.ts +0 -0
- /package/{dist → lib}/rules/token/emphasis-style.d.ts.map +0 -0
- /package/{dist → lib}/rules/token/emphasis-style.js +0 -0
- /package/{dist → lib}/rules/token/emphasis-style.js.map +0 -0
- /package/{dist → lib}/rules/token/fenced-code-language.d.ts +0 -0
- /package/{dist → lib}/rules/token/fenced-code-language.js +0 -0
- /package/{dist → lib}/rules/token/first-line-h1.d.ts +0 -0
- /package/{dist → lib}/rules/token/front-matter.d.ts +0 -0
- /package/{dist → lib}/rules/token/heading-increment.d.ts +0 -0
- /package/{dist → lib}/rules/token/heading-start-left.d.ts +0 -0
- /package/{dist → lib}/rules/token/heading-start-left.js +0 -0
- /package/{dist → lib}/rules/token/heading-style.d.ts +0 -0
- /package/{dist → lib}/rules/token/heading-style.js +0 -0
- /package/{dist → lib}/rules/token/hr-style.d.ts +0 -0
- /package/{dist → lib}/rules/token/hr-style.js +0 -0
- /package/{dist → lib}/rules/token/line-length.d.ts +0 -0
- /package/{dist → lib}/rules/token/link-fragments.d.ts +0 -0
- /package/{dist → lib}/rules/token/link-image-reference-definitions.d.ts +0 -0
- /package/{dist → lib}/rules/token/link-image-reference-definitions.js +0 -0
- /package/{dist → lib}/rules/token/link-image-style.d.ts +0 -0
- /package/{dist → lib}/rules/token/list-indent.d.ts +0 -0
- /package/{dist → lib}/rules/token/list-indent.js +0 -0
- /package/{dist → lib}/rules/token/list-length.d.ts +0 -0
- /package/{dist → lib}/rules/token/list-marker-space.d.ts +0 -0
- /package/{dist → lib}/rules/token/list-marker-space.js +0 -0
- /package/{dist → lib}/rules/token/markdoc-attributes.d.ts +0 -0
- /package/{dist → lib}/rules/token/markdoc-pairing.d.ts +0 -0
- /package/{dist → lib}/rules/token/markdoc-syntax.d.ts +0 -0
- /package/{dist → lib}/rules/token/markdoc-unknown-tag.d.ts +0 -0
- /package/{dist → lib}/rules/token/messages.d.ts +0 -0
- /package/{dist → lib}/rules/token/messages.d.ts.map +0 -0
- /package/{dist → lib}/rules/token/messages.js +0 -0
- /package/{dist → lib}/rules/token/messages.js.map +0 -0
- /package/{dist → lib}/rules/token/no-alt-text.d.ts +0 -0
- /package/{dist → lib}/rules/token/no-bare-urls.d.ts +0 -0
- /package/{dist → lib}/rules/token/no-blanks-blockquote.d.ts +0 -0
- /package/{dist → lib}/rules/token/no-blanks-blockquote.js +0 -0
- /package/{dist → lib}/rules/token/no-duplicate-heading.d.ts +0 -0
- /package/{dist → lib}/rules/token/no-duplicate-link-destinations.d.ts +0 -0
- /package/{dist → lib}/rules/token/no-emphasis-as-heading.d.ts +0 -0
- /package/{dist → lib}/rules/token/no-empty-headings.d.ts +0 -0
- /package/{dist → lib}/rules/token/no-empty-links.d.ts +0 -0
- /package/{dist → lib}/rules/token/no-empty-links.js +0 -0
- /package/{dist → lib}/rules/token/no-hard-tabs.d.ts +0 -0
- /package/{dist → lib}/rules/token/no-hard-tabs.js +0 -0
- /package/{dist → lib}/rules/token/no-inline-html.d.ts +0 -0
- /package/{dist → lib}/rules/token/no-missing-space-atx.d.ts +0 -0
- /package/{dist → lib}/rules/token/no-missing-space-atx.d.ts.map +0 -0
- /package/{dist → lib}/rules/token/no-missing-space-atx.js +0 -0
- /package/{dist → lib}/rules/token/no-missing-space-atx.js.map +0 -0
- /package/{dist → lib}/rules/token/no-missing-space-closed-atx.d.ts +0 -0
- /package/{dist → lib}/rules/token/no-missing-space-closed-atx.d.ts.map +0 -0
- /package/{dist → lib}/rules/token/no-missing-space-closed-atx.js +0 -0
- /package/{dist → lib}/rules/token/no-missing-space-closed-atx.js.map +0 -0
- /package/{dist → lib}/rules/token/no-multiple-blanks.d.ts +0 -0
- /package/{dist → lib}/rules/token/no-multiple-blanks.js +0 -0
- /package/{dist → lib}/rules/token/no-multiple-space-blockquote.d.ts +0 -0
- /package/{dist → lib}/rules/token/no-multiple-space-blockquote.d.ts.map +0 -0
- /package/{dist → lib}/rules/token/no-multiple-space-blockquote.js +0 -0
- /package/{dist → lib}/rules/token/no-multiple-space-blockquote.js.map +0 -0
- /package/{dist → lib}/rules/token/no-multiple-space-closed-atx.d.ts +0 -0
- /package/{dist → lib}/rules/token/no-multiple-space-closed-atx.js +0 -0
- /package/{dist → lib}/rules/token/no-reversed-links.d.ts +0 -0
- /package/{dist → lib}/rules/token/no-reversed-links.js +0 -0
- /package/{dist → lib}/rules/token/no-space-in-code.d.ts +0 -0
- /package/{dist → lib}/rules/token/no-space-in-code.js +0 -0
- /package/{dist → lib}/rules/token/no-space-in-emphasis.d.ts +0 -0
- /package/{dist → lib}/rules/token/no-space-in-links.d.ts +0 -0
- /package/{dist → lib}/rules/token/no-space-in-links.js +0 -0
- /package/{dist → lib}/rules/token/no-trailing-punctuation.d.ts +0 -0
- /package/{dist → lib}/rules/token/no-trailing-punctuation.js +0 -0
- /package/{dist → lib}/rules/token/no-trailing-spaces.d.ts +0 -0
- /package/{dist → lib}/rules/token/no-trailing-spaces.js +0 -0
- /package/{dist → lib}/rules/token/ol-prefix.d.ts +0 -0
- /package/{dist → lib}/rules/token/ol-prefix.js +0 -0
- /package/{dist → lib}/rules/token/proper-names.d.ts +0 -0
- /package/{dist → lib}/rules/token/reference-links-images.d.ts +0 -0
- /package/{dist → lib}/rules/token/reference-links-images.js +0 -0
- /package/{dist → lib}/rules/token/required-headings.d.ts +0 -0
- /package/{dist → lib}/rules/token/single-h1.d.ts +0 -0
- /package/{dist → lib}/rules/token/single-trailing-newline.d.ts +0 -0
- /package/{dist → lib}/rules/token/single-trailing-newline.d.ts.map +0 -0
- /package/{dist → lib}/rules/token/single-trailing-newline.js +0 -0
- /package/{dist → lib}/rules/token/single-trailing-newline.js.map +0 -0
- /package/{dist → lib}/rules/token/strong-style.d.ts +0 -0
- /package/{dist → lib}/rules/token/strong-style.d.ts.map +0 -0
- /package/{dist → lib}/rules/token/strong-style.js +0 -0
- /package/{dist → lib}/rules/token/strong-style.js.map +0 -0
- /package/{dist → lib}/rules/token/table-column-count.d.ts +0 -0
- /package/{dist → lib}/rules/token/table-column-count.js +0 -0
- /package/{dist → lib}/rules/token/table-column-style.d.ts +0 -0
- /package/{dist → lib}/rules/token/table-pipe-style.d.ts +0 -0
- /package/{dist → lib}/rules/token/table-pipe-style.js +0 -0
- /package/{dist → lib}/rules/token/ul-indent.d.ts +0 -0
- /package/{dist → lib}/rules/token/ul-indent.js +0 -0
- /package/{dist → lib}/rules/token/ul-style.d.ts +0 -0
- /package/{dist → lib}/rules/types.js +0 -0
- /package/{dist → lib}/rules/types.js.map +0 -0
- /package/{dist → lib}/scopes/types.js +0 -0
- /package/{dist → lib}/scopes/types.js.map +0 -0
- /package/{dist → lib}/types/assertions.js +0 -0
- /package/{dist → lib}/types/assertions.js.map +0 -0
- /package/{dist → lib}/types/index.d.ts +0 -0
- /package/{dist → lib}/types/index.d.ts.map +0 -0
- /package/{dist → lib}/types/index.js +0 -0
- /package/{dist → lib}/types/index.js.map +0 -0
- /package/{dist → lib}/types/problems.d.ts +0 -0
- /package/{dist → lib}/types/problems.d.ts.map +0 -0
- /package/{dist → lib}/types/problems.js +0 -0
- /package/{dist → lib}/types/problems.js.map +0 -0
- /package/{dist → lib}/types/reporting.js +0 -0
- /package/{dist → lib}/types/reporting.js.map +0 -0
- /package/{dist → lib}/types/rules.js +0 -0
- /package/{dist → lib}/types/rules.js.map +0 -0
- /package/{dist → lib}/types/validation.js +0 -0
- /package/{dist → lib}/types/validation.js.map +0 -0
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
# Appendix — candidates NOT shipped by recheck/google (hand-maintained)
|
|
3
3
|
# ==============================================================================
|
|
4
4
|
# This file is appended verbatim to the generated example above by
|
|
5
|
-
# `
|
|
5
|
+
# `node scripts/generate-examples.mjs`. Editing it
|
|
6
6
|
# makes examples/google.yaml stale until you regenerate — the drift test's
|
|
7
7
|
# failure message says so, so this doesn't read as a generator bug.
|
|
8
8
|
#
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
# Appendix — candidates NOT shipped by recheck/inclusive-language (hand-maintained)
|
|
3
3
|
# ==============================================================================
|
|
4
4
|
# This file is appended verbatim to the generated example above by
|
|
5
|
-
# `
|
|
5
|
+
# `node scripts/generate-examples.mjs`. Editing it
|
|
6
6
|
# makes examples/inclusive-language.yaml stale until you regenerate — the
|
|
7
7
|
# drift test's failure message says so, so this doesn't read as a generator bug.
|
|
8
8
|
#
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
# Appendix — candidates NOT shipped by recheck/microsoft (hand-maintained)
|
|
3
3
|
# ==============================================================================
|
|
4
4
|
# This file is appended verbatim to the generated example above by
|
|
5
|
-
# `
|
|
5
|
+
# `node scripts/generate-examples.mjs`. Editing it
|
|
6
6
|
# makes examples/microsoft.yaml stale until you regenerate — the drift
|
|
7
7
|
# test's failure message says so, so this doesn't read as a generator bug.
|
|
8
8
|
#
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
# Appendix — candidates NOT shipped by recheck/plain-language (hand-maintained)
|
|
3
3
|
# ==============================================================================
|
|
4
4
|
# This file is appended verbatim to the generated example above by
|
|
5
|
-
# `
|
|
5
|
+
# `node scripts/generate-examples.mjs`. Editing it
|
|
6
6
|
# makes examples/plain-language.yaml stale until you regenerate — the drift
|
|
7
7
|
# test's failure message says so, so this doesn't read as a generator bug.
|
|
8
8
|
#
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
# Appendix — candidates NOT shipped by recheck/technical-english (hand-maintained)
|
|
3
3
|
# ==============================================================================
|
|
4
4
|
# This file is appended verbatim to the generated example above by
|
|
5
|
-
# `
|
|
5
|
+
# `node scripts/generate-examples.mjs`.
|
|
6
6
|
#
|
|
7
7
|
# Full detail and reasons: packages/recheck/presets/technical-english/PROVENANCE.md
|
|
8
8
|
#
|
package/examples/google.yaml
CHANGED
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
# capitalization, length); wording is paraphrased in each rule's `message`,
|
|
14
14
|
# never quoted verbatim from the guide.
|
|
15
15
|
#
|
|
16
|
-
# Generated file — do not hand-edit. Regenerate with `
|
|
16
|
+
# Generated file — do not hand-edit. Regenerate with `node scripts/generate-examples.mjs`
|
|
17
17
|
# after changing src/config/presets/google.ts or this file's appendix
|
|
18
18
|
# (examples/appendices/google.appendix.yaml).
|
|
19
19
|
|
|
@@ -101,11 +101,11 @@ extends:
|
|
|
101
101
|
# Full expansion (reference)
|
|
102
102
|
# ------------------------------------------------------------------------------
|
|
103
103
|
# This is what `extends: [recheck/google]` resolves to today: all 99 rules,
|
|
104
|
-
# alphabetized by rule id, generated straight from the live preset (`
|
|
105
|
-
# examples
|
|
106
|
-
# block above already gives you all of this. Read it to see exactly
|
|
107
|
-
# you are adopting, or as a starting point if you would rather pin or
|
|
108
|
-
# specific rules into your own config instead of extending the preset.
|
|
104
|
+
# alphabetized by rule id, generated straight from the live preset (`node
|
|
105
|
+
# scripts/generate-examples.mjs`). You do not need to copy any of it — the
|
|
106
|
+
# extends block above already gives you all of this. Read it to see exactly
|
|
107
|
+
# what you are adopting, or as a starting point if you would rather pin or
|
|
108
|
+
# fork specific rules into your own config instead of extending the preset.
|
|
109
109
|
#
|
|
110
110
|
# `fix: false` on every rule below means what it says: detection-only, no
|
|
111
111
|
# exceptions — see "How to tune it" above and PROVENANCE.md for why.
|
|
@@ -1436,7 +1436,7 @@ google/vs-versus:
|
|
|
1436
1436
|
# Appendix — candidates NOT shipped by recheck/google (hand-maintained)
|
|
1437
1437
|
# ==============================================================================
|
|
1438
1438
|
# This file is appended verbatim to the generated example above by
|
|
1439
|
-
# `
|
|
1439
|
+
# `node scripts/generate-examples.mjs`. Editing it
|
|
1440
1440
|
# makes examples/google.yaml stale until you regenerate — the drift test's
|
|
1441
1441
|
# failure message says so, so this doesn't read as a generator bug.
|
|
1442
1442
|
#
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
# verification reports; see PROVENANCE.md)
|
|
15
15
|
# Provenance: packages/recheck/presets/inclusive-language/PROVENANCE.md
|
|
16
16
|
#
|
|
17
|
-
# Generated file — do not hand-edit. Regenerate with `
|
|
17
|
+
# Generated file — do not hand-edit. Regenerate with `node scripts/generate-examples.mjs`
|
|
18
18
|
# after changing src/config/presets/inclusive-language.ts or this file's
|
|
19
19
|
# appendix (examples/appendices/inclusive-language.appendix.yaml).
|
|
20
20
|
|
|
@@ -96,11 +96,11 @@ extends:
|
|
|
96
96
|
# Full expansion (reference)
|
|
97
97
|
# ------------------------------------------------------------------------------
|
|
98
98
|
# This is what `extends: [recheck/inclusive-language]` resolves to today: all 11 rules,
|
|
99
|
-
# alphabetized by rule id, generated straight from the live preset (`
|
|
100
|
-
# examples
|
|
101
|
-
# block above already gives you all of this. Read it to see exactly
|
|
102
|
-
# you are adopting, or as a starting point if you would rather pin or
|
|
103
|
-
# specific rules into your own config instead of extending the preset.
|
|
99
|
+
# alphabetized by rule id, generated straight from the live preset (`node
|
|
100
|
+
# scripts/generate-examples.mjs`). You do not need to copy any of it — the
|
|
101
|
+
# extends block above already gives you all of this. Read it to see exactly
|
|
102
|
+
# what you are adopting, or as a starting point if you would rather pin or
|
|
103
|
+
# fork specific rules into your own config instead of extending the preset.
|
|
104
104
|
#
|
|
105
105
|
# `fix: false` on every rule below means what it says: detection-only, no
|
|
106
106
|
# exceptions — see "How to tune it" above and PROVENANCE.md for why.
|
|
@@ -245,7 +245,7 @@ inclusive-language/suffering-victim:
|
|
|
245
245
|
# Appendix — candidates NOT shipped by recheck/inclusive-language (hand-maintained)
|
|
246
246
|
# ==============================================================================
|
|
247
247
|
# This file is appended verbatim to the generated example above by
|
|
248
|
-
# `
|
|
248
|
+
# `node scripts/generate-examples.mjs`. Editing it
|
|
249
249
|
# makes examples/inclusive-language.yaml stale until you regenerate — the
|
|
250
250
|
# drift test's failure message says so, so this doesn't read as a generator bug.
|
|
251
251
|
#
|
package/examples/microsoft.yaml
CHANGED
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
# capitalization, length, occurrence); wording is paraphrased in each rule's
|
|
14
14
|
# `message`, never quoted verbatim from the guide.
|
|
15
15
|
#
|
|
16
|
-
# Generated file — do not hand-edit. Regenerate with `
|
|
16
|
+
# Generated file — do not hand-edit. Regenerate with `node scripts/generate-examples.mjs`
|
|
17
17
|
# after changing src/config/presets/microsoft.ts or this file's appendix
|
|
18
18
|
# (examples/appendices/microsoft.appendix.yaml).
|
|
19
19
|
|
|
@@ -102,11 +102,11 @@ extends:
|
|
|
102
102
|
# Full expansion (reference)
|
|
103
103
|
# ------------------------------------------------------------------------------
|
|
104
104
|
# This is what `extends: [recheck/microsoft]` resolves to today: all 93 rules,
|
|
105
|
-
# alphabetized by rule id, generated straight from the live preset (`
|
|
106
|
-
# examples
|
|
107
|
-
# block above already gives you all of this. Read it to see exactly
|
|
108
|
-
# you are adopting, or as a starting point if you would rather pin or
|
|
109
|
-
# specific rules into your own config instead of extending the preset.
|
|
105
|
+
# alphabetized by rule id, generated straight from the live preset (`node
|
|
106
|
+
# scripts/generate-examples.mjs`). You do not need to copy any of it — the
|
|
107
|
+
# extends block above already gives you all of this. Read it to see exactly
|
|
108
|
+
# what you are adopting, or as a starting point if you would rather pin or
|
|
109
|
+
# fork specific rules into your own config instead of extending the preset.
|
|
110
110
|
#
|
|
111
111
|
# `fix: false` on every rule below means what it says: detection-only, no
|
|
112
112
|
# exceptions — see "How to tune it" above and PROVENANCE.md for why.
|
|
@@ -1445,7 +1445,7 @@ microsoft/world-wide-web:
|
|
|
1445
1445
|
# Appendix — candidates NOT shipped by recheck/microsoft (hand-maintained)
|
|
1446
1446
|
# ==============================================================================
|
|
1447
1447
|
# This file is appended verbatim to the generated example above by
|
|
1448
|
-
# `
|
|
1448
|
+
# `node scripts/generate-examples.mjs`. Editing it
|
|
1449
1449
|
# makes examples/microsoft.yaml stale until you regenerate — the drift
|
|
1450
1450
|
# test's failure message says so, so this doesn't read as a generator bug.
|
|
1451
1451
|
#
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
# Synced: 2026-07-30
|
|
9
9
|
# Provenance: packages/recheck/presets/plain-language/PROVENANCE.md
|
|
10
10
|
#
|
|
11
|
-
# Generated file — do not hand-edit. Regenerate with `
|
|
11
|
+
# Generated file — do not hand-edit. Regenerate with `node scripts/generate-examples.mjs`
|
|
12
12
|
# after changing src/config/presets/plain-language.ts or this file's
|
|
13
13
|
# appendix (examples/appendices/plain-language.appendix.yaml).
|
|
14
14
|
|
|
@@ -89,11 +89,11 @@ extends:
|
|
|
89
89
|
# Full expansion (reference)
|
|
90
90
|
# ------------------------------------------------------------------------------
|
|
91
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 (`
|
|
93
|
-
# examples
|
|
94
|
-
# block above already gives you all of this. Read it to see exactly
|
|
95
|
-
# you are adopting, or as a starting point if you would rather pin or
|
|
96
|
-
# specific rules into your own config instead of extending the preset.
|
|
92
|
+
# alphabetized by rule id, generated straight from the live preset (`node
|
|
93
|
+
# scripts/generate-examples.mjs`). You do not need to copy any of it — the
|
|
94
|
+
# extends block above already gives you all of this. Read it to see exactly
|
|
95
|
+
# what you are adopting, or as a starting point if you would rather pin or
|
|
96
|
+
# fork specific rules into your own config instead of extending the preset.
|
|
97
97
|
#
|
|
98
98
|
# `fix: false` on every rule below means what it says: detection-only, no
|
|
99
99
|
# exceptions — see "How to tune it" above and PROVENANCE.md for why.
|
|
@@ -239,7 +239,7 @@ plain-language/redundant-pairs:
|
|
|
239
239
|
# Appendix — candidates NOT shipped by recheck/plain-language (hand-maintained)
|
|
240
240
|
# ==============================================================================
|
|
241
241
|
# This file is appended verbatim to the generated example above by
|
|
242
|
-
# `
|
|
242
|
+
# `node scripts/generate-examples.mjs`. Editing it
|
|
243
243
|
# makes examples/plain-language.yaml stale until you regenerate — the drift
|
|
244
244
|
# test's failure message says so, so this doesn't read as a generator bug.
|
|
245
245
|
#
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
# standard.
|
|
11
11
|
# Provenance: packages/recheck/presets/technical-english/PROVENANCE.md
|
|
12
12
|
#
|
|
13
|
-
# Generated file — do not hand-edit. Regenerate with `
|
|
13
|
+
# Generated file — do not hand-edit. Regenerate with `node scripts/generate-examples.mjs`
|
|
14
14
|
# after changing src/config/presets/technical-english.ts or this file's
|
|
15
15
|
# appendix (examples/appendices/technical-english.appendix.yaml).
|
|
16
16
|
|
|
@@ -58,11 +58,11 @@ extends:
|
|
|
58
58
|
# Full expansion (reference)
|
|
59
59
|
# ------------------------------------------------------------------------------
|
|
60
60
|
# This is what `extends: [recheck/technical-english]` resolves to today: all 3 rules,
|
|
61
|
-
# alphabetized by rule id, generated straight from the live preset (`
|
|
62
|
-
# examples
|
|
63
|
-
# block above already gives you all of this. Read it to see exactly
|
|
64
|
-
# you are adopting, or as a starting point if you would rather pin or
|
|
65
|
-
# specific rules into your own config instead of extending the preset.
|
|
61
|
+
# alphabetized by rule id, generated straight from the live preset (`node
|
|
62
|
+
# scripts/generate-examples.mjs`). You do not need to copy any of it — the
|
|
63
|
+
# extends block above already gives you all of this. Read it to see exactly
|
|
64
|
+
# what you are adopting, or as a starting point if you would rather pin or
|
|
65
|
+
# fork specific rules into your own config instead of extending the preset.
|
|
66
66
|
#
|
|
67
67
|
# `fix: false` on every rule below means what it says: detection-only, no
|
|
68
68
|
# exceptions — see "How to tune it" above and PROVENANCE.md for why.
|
|
@@ -103,7 +103,7 @@ technical-english/sentence-length:
|
|
|
103
103
|
# Appendix — candidates NOT shipped by recheck/technical-english (hand-maintained)
|
|
104
104
|
# ==============================================================================
|
|
105
105
|
# This file is appended verbatim to the generated example above by
|
|
106
|
-
# `
|
|
106
|
+
# `node scripts/generate-examples.mjs`.
|
|
107
107
|
#
|
|
108
108
|
# Full detail and reasons: packages/recheck/presets/technical-english/PROVENANCE.md
|
|
109
109
|
#
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type ResolvedRecheckConfig } from '../config/resolve.js';
|
|
2
|
+
export interface BaselineRunResult {
|
|
3
|
+
roots: string[];
|
|
4
|
+
filesFound: number;
|
|
5
|
+
unreadableFiles: string[];
|
|
6
|
+
outPath: string;
|
|
7
|
+
errorCount: number;
|
|
8
|
+
baselinedFileCount: number;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Runs all configured rules and writes the baseline file: the error count for each
|
|
12
|
+
* file and rule. The format is in core/baseline.ts.
|
|
13
|
+
*/
|
|
14
|
+
export declare function generateBaseline(paths: string | string[] | undefined, config: ResolvedRecheckConfig): Promise<BaselineRunResult>;
|
|
15
|
+
//# sourceMappingURL=baseline.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"baseline.d.ts","sourceRoot":"","sources":["../../src/actions/baseline.ts"],"names":[],"mappings":"AAGA,OAAO,EAAyB,KAAK,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAOzF,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,YAAM,EAC9B,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,iBAAiB,CAAC,CAyC5B"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import * as fs from 'fs/promises';
|
|
2
|
+
import * as pathModule from 'path';
|
|
3
|
+
import { DEFAULT_BASELINE_FILE } from '../config/resolve.js';
|
|
4
|
+
import { buildBaseline, serializeBaseline, baselineKeyMapper } from '../core/baseline.js';
|
|
5
|
+
import { needsImageMetadata, loadImageMetadata } from '../core/files.js';
|
|
6
|
+
import { filterEnabledRules } from '../core/rule-filters.js';
|
|
7
|
+
import { runRules } from '../core/runner.js';
|
|
8
|
+
import { discoverFilesForRoots, rootForFile, toRoots } from './roots.js';
|
|
9
|
+
/**
|
|
10
|
+
* Runs all configured rules and writes the baseline file: the error count for each
|
|
11
|
+
* file and rule. The format is in core/baseline.ts.
|
|
12
|
+
*/
|
|
13
|
+
export async function generateBaseline(paths = '.', config) {
|
|
14
|
+
const roots = toRoots(paths);
|
|
15
|
+
const configDir = config.configDir;
|
|
16
|
+
const { enabled: rulesToRun } = filterEnabledRules(config.rules);
|
|
17
|
+
const files = await discoverFilesForRoots(roots);
|
|
18
|
+
const loadImageMeta = needsImageMetadata(rulesToRun);
|
|
19
|
+
const fileInputs = [];
|
|
20
|
+
const unreadableFiles = [];
|
|
21
|
+
for (const filePath of files) {
|
|
22
|
+
try {
|
|
23
|
+
const content = await fs.readFile(filePath, 'utf8');
|
|
24
|
+
const metadata = loadImageMeta
|
|
25
|
+
? await loadImageMetadata(filePath, content, rootForFile(filePath, roots))
|
|
26
|
+
: undefined;
|
|
27
|
+
fileInputs.push({ path: filePath, content, metadata });
|
|
28
|
+
}
|
|
29
|
+
catch {
|
|
30
|
+
unreadableFiles.push(filePath);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
const { problems } = await runRules(fileInputs, rulesToRun, {
|
|
34
|
+
knownRuleNames: new Set(config.rules.map((rule) => rule.name)),
|
|
35
|
+
markdoc: config.markdoc,
|
|
36
|
+
markdocSchema: config.markdocSchema,
|
|
37
|
+
});
|
|
38
|
+
const errors = problems.filter((problem) => problem.severity === 'error');
|
|
39
|
+
const baseline = buildBaseline(errors, baselineKeyMapper(configDir));
|
|
40
|
+
const outPath = pathModule.resolve(configDir, DEFAULT_BASELINE_FILE);
|
|
41
|
+
await fs.writeFile(outPath, serializeBaseline(baseline), 'utf8');
|
|
42
|
+
return {
|
|
43
|
+
roots,
|
|
44
|
+
filesFound: files.length,
|
|
45
|
+
unreadableFiles,
|
|
46
|
+
outPath,
|
|
47
|
+
errorCount: errors.length,
|
|
48
|
+
baselinedFileCount: Object.keys(baseline.files).length,
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=baseline.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"baseline.js","sourceRoot":"","sources":["../../src/actions/baseline.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import type { ResolvedRecheckConfig } from '../config/resolve.js';
|
|
2
|
+
import type { Fix, Problem } from '../types/index.js';
|
|
3
|
+
export interface LintOptions {
|
|
4
|
+
severity?: 'off' | 'info' | 'warn' | 'warning' | 'error';
|
|
5
|
+
tags?: (string | number)[];
|
|
6
|
+
rules?: string[];
|
|
7
|
+
excludeRules?: string[];
|
|
8
|
+
fix?: boolean;
|
|
9
|
+
changedOnly?: boolean;
|
|
10
|
+
changedListPath?: string;
|
|
11
|
+
}
|
|
12
|
+
export interface LintRunReport {
|
|
13
|
+
roots: string[];
|
|
14
|
+
ruleCount: number;
|
|
15
|
+
disabledRuleCount: number;
|
|
16
|
+
filesFound: number;
|
|
17
|
+
changedFilter?: {
|
|
18
|
+
provided: boolean;
|
|
19
|
+
matched: number;
|
|
20
|
+
};
|
|
21
|
+
unreadableFiles: string[];
|
|
22
|
+
scannedFileCount: number;
|
|
23
|
+
problems: Problem[];
|
|
24
|
+
fixes?: {
|
|
25
|
+
applied: Fix[];
|
|
26
|
+
skippedCount: number;
|
|
27
|
+
};
|
|
28
|
+
baseline?: {
|
|
29
|
+
matched: number;
|
|
30
|
+
new: number;
|
|
31
|
+
stale: number;
|
|
32
|
+
};
|
|
33
|
+
empty: boolean;
|
|
34
|
+
}
|
|
35
|
+
export type LintRunResult = {
|
|
36
|
+
status: 'unknown-rule';
|
|
37
|
+
message: string;
|
|
38
|
+
available: string[];
|
|
39
|
+
} | {
|
|
40
|
+
status: 'baseline-missing';
|
|
41
|
+
baselinePath: string;
|
|
42
|
+
report: LintRunReport;
|
|
43
|
+
} | {
|
|
44
|
+
status: 'failed';
|
|
45
|
+
message: string;
|
|
46
|
+
report: LintRunReport;
|
|
47
|
+
} | ({
|
|
48
|
+
status: 'completed';
|
|
49
|
+
} & LintRunReport);
|
|
50
|
+
export declare function runLint(paths: string | string[] | undefined, config: ResolvedRecheckConfig, options: LintOptions): Promise<LintRunResult>;
|
|
51
|
+
//# sourceMappingURL=lint.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lint.d.ts","sourceRoot":"","sources":["../../src/actions/lint.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAKlE,OAAO,KAAK,EAAE,GAAG,EAAkB,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAGtE,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;IACzD,IAAI,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IAEnB,aAAa,CAAC,EAAE;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IACvD,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE;QAAE,OAAO,EAAE,GAAG,EAAE,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;IACjD,QAAQ,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3D,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,MAAM,aAAa,GACrB;IAAE,MAAM,EAAE,cAAc,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,EAAE,CAAA;CAAE,GAChE;IAAE,MAAM,EAAE,kBAAkB,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,aAAa,CAAA;CAAE,GAC3E;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,aAAa,CAAA;CAAE,GAC5D,CAAC;IAAE,MAAM,EAAE,WAAW,CAAA;CAAE,GAAG,aAAa,CAAC,CAAC;AAE9C,wBAAsB,OAAO,CAC3B,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,YAAM,EAC9B,MAAM,EAAE,qBAAqB,EAC7B,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,aAAa,CAAC,CAgIxB"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import * as fs from 'fs/promises';
|
|
2
|
+
import * as pathModule from 'path';
|
|
3
|
+
import { parseBaseline, compareToBaseline, baselineKeyMapper } from '../core/baseline.js';
|
|
4
|
+
import { loadChangedFiles, needsImageMetadata, loadImageMetadata } from '../core/files.js';
|
|
5
|
+
import { applyFilters, UnknownRuleNameError } from '../core/rule-filters.js';
|
|
6
|
+
import { runRules, runRulesUntilStable } from '../core/runner.js';
|
|
7
|
+
import { discoverFilesForRoots, rootForFile, toRoots } from './roots.js';
|
|
8
|
+
export async function runLint(paths = '.', config, options) {
|
|
9
|
+
const roots = toRoots(paths);
|
|
10
|
+
let rulesToRun;
|
|
11
|
+
let disabledCount;
|
|
12
|
+
try {
|
|
13
|
+
({ filtered: rulesToRun, disabledCount } = applyFilters(config.rules, {
|
|
14
|
+
severity: options.severity,
|
|
15
|
+
tags: options.tags,
|
|
16
|
+
rules: options.rules,
|
|
17
|
+
excludeRules: options.excludeRules,
|
|
18
|
+
}));
|
|
19
|
+
}
|
|
20
|
+
catch (error) {
|
|
21
|
+
if (error instanceof UnknownRuleNameError) {
|
|
22
|
+
return { status: 'unknown-rule', message: error.message, available: error.available };
|
|
23
|
+
}
|
|
24
|
+
throw error;
|
|
25
|
+
}
|
|
26
|
+
const report = {
|
|
27
|
+
roots,
|
|
28
|
+
ruleCount: rulesToRun.length,
|
|
29
|
+
disabledRuleCount: disabledCount,
|
|
30
|
+
filesFound: 0,
|
|
31
|
+
unreadableFiles: [],
|
|
32
|
+
scannedFileCount: 0,
|
|
33
|
+
problems: [],
|
|
34
|
+
empty: true,
|
|
35
|
+
};
|
|
36
|
+
try {
|
|
37
|
+
let files = await discoverFilesForRoots(roots);
|
|
38
|
+
report.filesFound = files.length;
|
|
39
|
+
// With a baseline, still compare when no files are found: deleting the last
|
|
40
|
+
// baselined files makes their entries stale. Changed-only runs skip this.
|
|
41
|
+
if (files.length === 0 && !(config.baselinePath && !options.changedOnly)) {
|
|
42
|
+
return { status: 'completed', ...report };
|
|
43
|
+
}
|
|
44
|
+
if (options.changedOnly) {
|
|
45
|
+
const changedCandidates = await loadChangedFiles(options.changedListPath);
|
|
46
|
+
if (!changedCandidates || changedCandidates.length === 0) {
|
|
47
|
+
report.changedFilter = { provided: false, matched: 0 };
|
|
48
|
+
return { status: 'completed', ...report };
|
|
49
|
+
}
|
|
50
|
+
const changedSet = new Set(changedCandidates.map((candidate) => pathModule.isAbsolute(candidate) ? candidate : pathModule.resolve(candidate)));
|
|
51
|
+
const filtered = files.filter((file) => changedSet.has(pathModule.resolve(file)));
|
|
52
|
+
report.changedFilter = { provided: true, matched: filtered.length };
|
|
53
|
+
if (filtered.length === 0)
|
|
54
|
+
return { status: 'completed', ...report };
|
|
55
|
+
files = filtered;
|
|
56
|
+
}
|
|
57
|
+
const loadImageMeta = needsImageMetadata(rulesToRun);
|
|
58
|
+
const fileInputs = [];
|
|
59
|
+
for (const filePath of files) {
|
|
60
|
+
try {
|
|
61
|
+
const content = await fs.readFile(filePath, 'utf8');
|
|
62
|
+
const metadata = loadImageMeta
|
|
63
|
+
? await loadImageMetadata(filePath, content, rootForFile(filePath, roots))
|
|
64
|
+
: undefined;
|
|
65
|
+
fileInputs.push({ path: filePath, content, metadata });
|
|
66
|
+
}
|
|
67
|
+
catch {
|
|
68
|
+
report.unreadableFiles.push(filePath);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
report.scannedFileCount = fileInputs.length;
|
|
72
|
+
report.empty = false;
|
|
73
|
+
// Includes rules set to `off`, so a directive that turns one off is not reported as unknown.
|
|
74
|
+
const runnerOptions = {
|
|
75
|
+
knownRuleNames: new Set(config.rules.map((rule) => rule.name)),
|
|
76
|
+
markdoc: config.markdoc,
|
|
77
|
+
markdocSchema: config.markdocSchema,
|
|
78
|
+
};
|
|
79
|
+
const { problems: allProblems, fixedFiles, fixes, skippedFixes, } = options.fix
|
|
80
|
+
? await runRulesUntilStable(fileInputs, rulesToRun, runnerOptions)
|
|
81
|
+
: await runRules(fileInputs, rulesToRun, runnerOptions);
|
|
82
|
+
if (options.fix) {
|
|
83
|
+
for (const [filePath, fixedContent] of fixedFiles) {
|
|
84
|
+
await fs.writeFile(filePath, fixedContent, 'utf8');
|
|
85
|
+
}
|
|
86
|
+
report.fixes = { applied: fixes, skippedCount: skippedFixes.length };
|
|
87
|
+
}
|
|
88
|
+
report.problems = allProblems;
|
|
89
|
+
if (config.baselinePath) {
|
|
90
|
+
let baselineText;
|
|
91
|
+
try {
|
|
92
|
+
baselineText = await fs.readFile(config.baselinePath, 'utf8');
|
|
93
|
+
}
|
|
94
|
+
catch {
|
|
95
|
+
return { status: 'baseline-missing', baselinePath: config.baselinePath, report };
|
|
96
|
+
}
|
|
97
|
+
const baseline = parseBaseline(baselineText, config.baselinePath);
|
|
98
|
+
const toKey = baselineKeyMapper(config.configDir);
|
|
99
|
+
const comparison = compareToBaseline(allProblems, baseline, {
|
|
100
|
+
scannedFiles: fileInputs.map((file) => file.path),
|
|
101
|
+
executedRules: new Set(rulesToRun.map((rule) => rule.name)),
|
|
102
|
+
toKey,
|
|
103
|
+
// A changed-only run does not scan every file, so a missing file means nothing there.
|
|
104
|
+
scanRoots: options.changedOnly ? undefined : roots.map(toKey),
|
|
105
|
+
});
|
|
106
|
+
report.problems = comparison.problems;
|
|
107
|
+
report.baseline = {
|
|
108
|
+
matched: comparison.suppressed,
|
|
109
|
+
new: comparison.newFindings,
|
|
110
|
+
stale: comparison.staleEntries,
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
return { status: 'completed', ...report };
|
|
114
|
+
}
|
|
115
|
+
catch (error) {
|
|
116
|
+
return {
|
|
117
|
+
status: 'failed',
|
|
118
|
+
message: error instanceof Error ? error.message : 'Unknown error',
|
|
119
|
+
report,
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
//# sourceMappingURL=lint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lint.js","sourceRoot":"","sources":["../../src/actions/lint.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
export interface MarkdocSchemaOptions {
|
|
2
|
+
from: string[];
|
|
3
|
+
out: string;
|
|
4
|
+
check?: boolean;
|
|
5
|
+
}
|
|
6
|
+
export type MarkdocSchemaResult = {
|
|
7
|
+
status: 'written';
|
|
8
|
+
outPath: string;
|
|
9
|
+
} | {
|
|
10
|
+
status: 'up-to-date';
|
|
11
|
+
outPath: string;
|
|
12
|
+
} | {
|
|
13
|
+
status: 'missing';
|
|
14
|
+
outPath: string;
|
|
15
|
+
} | {
|
|
16
|
+
status: 'stale';
|
|
17
|
+
outPath: string;
|
|
18
|
+
} | {
|
|
19
|
+
status: 'conflicts';
|
|
20
|
+
conflicts: string[];
|
|
21
|
+
} | {
|
|
22
|
+
status: 'load-error';
|
|
23
|
+
message: string;
|
|
24
|
+
} | {
|
|
25
|
+
status: 'write-error';
|
|
26
|
+
outPath: string;
|
|
27
|
+
message: string;
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Generates a `markdoc.extend.tagsFile` YAML file from one or more project schema
|
|
31
|
+
* modules. The file holds only the project's own tags, not the built-in ones.
|
|
32
|
+
*/
|
|
33
|
+
export declare function generateMarkdocSchema(options: MarkdocSchemaOptions): Promise<MarkdocSchemaResult>;
|
|
34
|
+
//# sourceMappingURL=markdoc-schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"markdoc-schema.d.ts","sourceRoot":"","sources":["../../src/actions/markdoc-schema.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,MAAM,mBAAmB,GAC3B;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACtC;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACzC;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACtC;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACpC;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,SAAS,EAAE,MAAM,EAAE,CAAA;CAAE,GAC5C;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACzC;IAAE,MAAM,EAAE,aAAa,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAiFhE;;;GAGG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,mBAAmB,CAAC,CA0C9B"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import * as yaml from 'js-yaml';
|
|
2
|
+
import { readFile, writeFile } from 'node:fs/promises';
|
|
3
|
+
import * as path from 'node:path';
|
|
4
|
+
import { pathToFileURL } from 'node:url';
|
|
5
|
+
import { extractStatics } from '../parser/markdoc/extract-statics.js';
|
|
6
|
+
import { isPlainObject } from '../utils/is-plain-object.js';
|
|
7
|
+
/**
|
|
8
|
+
* Imports one `--from` module and returns its tags. Accepts a named `tags` export
|
|
9
|
+
* or a default export with `tags`. If the import fails, throws a short message:
|
|
10
|
+
* the usual cause is a TypeScript file that Node cannot run.
|
|
11
|
+
*/
|
|
12
|
+
async function loadModuleTags(fromArg, cwd) {
|
|
13
|
+
const resolvedUrl = pathToFileURL(path.resolve(cwd, fromArg)).href;
|
|
14
|
+
let imported;
|
|
15
|
+
try {
|
|
16
|
+
imported = (await import(resolvedUrl));
|
|
17
|
+
}
|
|
18
|
+
catch (error) {
|
|
19
|
+
const detail = error instanceof Error ? error.message : String(error);
|
|
20
|
+
throw new Error(`could not import "${fromArg}". Compile it to JavaScript first, or run the CLI ` +
|
|
21
|
+
`under a TypeScript loader such as tsx. (${detail})`);
|
|
22
|
+
}
|
|
23
|
+
const namedTags = imported.tags;
|
|
24
|
+
const defaultTags = imported.default?.tags;
|
|
25
|
+
const tags = namedTags ?? defaultTags;
|
|
26
|
+
if (!isPlainObject(tags)) {
|
|
27
|
+
throw new Error(`"${fromArg}" has no "tags" export — expected a named "tags" export or a default ` +
|
|
28
|
+
`export with a "tags" property`);
|
|
29
|
+
}
|
|
30
|
+
return tags;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Merges the tags of all modules. A tag defined twice with the same shape is fine.
|
|
34
|
+
* A tag defined twice with different shapes is a conflict, and neither one wins.
|
|
35
|
+
*/
|
|
36
|
+
function mergeExtracted(modules) {
|
|
37
|
+
const merged = {};
|
|
38
|
+
const owner = {};
|
|
39
|
+
const conflicts = [];
|
|
40
|
+
for (const { source, tags } of modules) {
|
|
41
|
+
for (const [tagName, tagSchema] of Object.entries(tags)) {
|
|
42
|
+
if (!(tagName in merged)) {
|
|
43
|
+
merged[tagName] = tagSchema;
|
|
44
|
+
owner[tagName] = source;
|
|
45
|
+
continue;
|
|
46
|
+
}
|
|
47
|
+
if (JSON.stringify(merged[tagName]) !== JSON.stringify(tagSchema)) {
|
|
48
|
+
conflicts.push(`tag "${tagName}" differs between "${owner[tagName]}" and "${source}"`);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
return { merged, conflicts };
|
|
53
|
+
}
|
|
54
|
+
// Renders the YAML for `markdoc.extend.tagsFile`: a flat map of tag name to schema, with no top-level `tags:` key.
|
|
55
|
+
function renderYaml(merged, fromArgs, outArg) {
|
|
56
|
+
const fromFlags = fromArgs.map((fromArg) => `--from ${fromArg}`).join(' ');
|
|
57
|
+
const header = `# Generated file — do not hand-edit.\n` +
|
|
58
|
+
`# Source module(s): ${fromArgs.join(', ')}\n` +
|
|
59
|
+
`# Regenerate: redocly recheck --generate-markdoc-schema ${fromFlags} --output ${outArg}\n`;
|
|
60
|
+
return header + yaml.dump(merged, { sortKeys: true });
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Generates a `markdoc.extend.tagsFile` YAML file from one or more project schema
|
|
64
|
+
* modules. The file holds only the project's own tags, not the built-in ones.
|
|
65
|
+
*/
|
|
66
|
+
export async function generateMarkdocSchema(options) {
|
|
67
|
+
const cwd = process.cwd();
|
|
68
|
+
const modules = [];
|
|
69
|
+
for (const fromArg of options.from) {
|
|
70
|
+
try {
|
|
71
|
+
const rawTags = await loadModuleTags(fromArg, cwd);
|
|
72
|
+
const { tags } = extractStatics(rawTags, {}, {});
|
|
73
|
+
modules.push({ source: fromArg, tags });
|
|
74
|
+
}
|
|
75
|
+
catch (error) {
|
|
76
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
77
|
+
return { status: 'load-error', message };
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
const { merged, conflicts } = mergeExtracted(modules);
|
|
81
|
+
if (conflicts.length > 0) {
|
|
82
|
+
return { status: 'conflicts', conflicts };
|
|
83
|
+
}
|
|
84
|
+
const rendered = renderYaml(merged, options.from, options.out);
|
|
85
|
+
const outPath = path.resolve(cwd, options.out);
|
|
86
|
+
if (options.check) {
|
|
87
|
+
const onDisk = await readFile(outPath, 'utf8').catch(() => null);
|
|
88
|
+
if (onDisk === null) {
|
|
89
|
+
return { status: 'missing', outPath };
|
|
90
|
+
}
|
|
91
|
+
if (onDisk !== rendered) {
|
|
92
|
+
return { status: 'stale', outPath };
|
|
93
|
+
}
|
|
94
|
+
return { status: 'up-to-date', outPath };
|
|
95
|
+
}
|
|
96
|
+
try {
|
|
97
|
+
await writeFile(outPath, rendered, 'utf8');
|
|
98
|
+
}
|
|
99
|
+
catch (error) {
|
|
100
|
+
// Missing directories are not created, so a typo in --output is reported.
|
|
101
|
+
const detail = error instanceof Error ? error.message : String(error);
|
|
102
|
+
return { status: 'write-error', outPath, message: detail };
|
|
103
|
+
}
|
|
104
|
+
return { status: 'written', outPath };
|
|
105
|
+
}
|
|
106
|
+
//# sourceMappingURL=markdoc-schema.js.map
|