@codeperfect/eslint-plugin 1.0.0 → 2.0.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 +26 -4
- package/dist/.tsbuildinfo +1 -1
- package/dist/{custom-rules.d.ts → application/custom-rules.d.ts} +3 -0
- package/dist/application/custom-rules.d.ts.map +1 -0
- package/dist/application/custom-rules.js +74 -0
- package/dist/application/index.d.ts +4 -0
- package/dist/application/index.d.ts.map +1 -0
- package/dist/application/index.js +3 -0
- package/dist/codeperfect-eslint-plugin-1.0.0.tgz +0 -0
- package/dist/domain/architecture/consistent-barrel-files/barrel-file-utilities.d.ts +56 -0
- package/dist/domain/architecture/consistent-barrel-files/barrel-file-utilities.d.ts.map +1 -0
- package/dist/domain/architecture/consistent-barrel-files/barrel-file-utilities.js +149 -0
- package/dist/{architecture → domain/architecture}/consistent-barrel-files/consistent-barrel-files-listeners.d.ts +4 -4
- package/dist/domain/architecture/consistent-barrel-files/consistent-barrel-files-listeners.d.ts.map +1 -0
- package/dist/domain/architecture/consistent-barrel-files/consistent-barrel-files-listeners.js +98 -0
- package/dist/domain/architecture/consistent-barrel-files/consistent-barrel-files-options.d.ts +45 -0
- package/dist/domain/architecture/consistent-barrel-files/consistent-barrel-files-options.d.ts.map +1 -0
- package/dist/domain/architecture/consistent-barrel-files/consistent-barrel-files-options.js +64 -0
- package/dist/{architecture → domain/architecture}/consistent-barrel-files/exports-only-rule-test-utilities.d.ts +5 -4
- package/dist/domain/architecture/consistent-barrel-files/exports-only-rule-test-utilities.d.ts.map +1 -0
- package/dist/domain/architecture/consistent-barrel-files/exports-only-rule-test-utilities.js +87 -0
- package/dist/domain/architecture/consistent-barrel-files/exports-only-rule.d.ts.map +1 -0
- package/dist/domain/architecture/consistent-barrel-files/exports-only-rule.js +140 -0
- package/dist/domain/architecture/consistent-barrel-files/index.d.ts +5 -0
- package/dist/domain/architecture/consistent-barrel-files/index.d.ts.map +1 -0
- package/dist/domain/architecture/consistent-barrel-files/index.js +4 -0
- package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-rule.d.ts.map +1 -0
- package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-rule.js +85 -0
- package/dist/{architecture → domain/architecture}/consistent-barrel-files/no-reexports-outside-barrels-test-utilities.d.ts +1 -1
- package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-test-utilities.d.ts.map +1 -0
- package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-test-utilities.js +91 -0
- package/dist/{architecture → domain/architecture}/consistent-barrel-files/no-reexports-outside-barrels-utilities.d.ts +4 -6
- package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-utilities.d.ts.map +1 -0
- package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-utilities.js +95 -0
- package/dist/domain/architecture/consistent-barrel-files/rule.d.ts.map +1 -0
- package/dist/domain/architecture/consistent-barrel-files/rule.js +43 -0
- package/dist/domain/architecture/consistent-barrel-files/rule.repeat-runs.d.ts +4 -0
- package/dist/domain/architecture/consistent-barrel-files/rule.repeat-runs.d.ts.map +1 -0
- package/dist/domain/architecture/consistent-barrel-files/rule.repeat-runs.js +4 -0
- package/dist/{architecture → domain/architecture}/consistent-barrel-files/test-helpers.d.ts +48 -48
- package/dist/domain/architecture/consistent-barrel-files/test-helpers.d.ts.map +1 -0
- package/dist/domain/architecture/consistent-barrel-files/test-helpers.file-writers.d.ts +20 -0
- package/dist/domain/architecture/consistent-barrel-files/test-helpers.file-writers.d.ts.map +1 -0
- package/dist/domain/architecture/consistent-barrel-files/test-helpers.file-writers.js +25 -0
- package/dist/domain/architecture/consistent-barrel-files/test-helpers.js +235 -0
- package/dist/domain/architecture/consistent-barrel-files/types.d.ts +19 -0
- package/dist/domain/architecture/consistent-barrel-files/types.d.ts.map +1 -0
- package/dist/domain/architecture/consistent-barrel-files/types.js +2 -0
- package/dist/{architecture → domain/architecture}/index.d.ts +1 -1
- package/dist/domain/architecture/index.d.ts.map +1 -0
- package/dist/domain/architecture/index.js +2 -0
- package/dist/{core → domain/core}/index.d.ts +2 -2
- package/dist/domain/core/index.d.ts.map +1 -0
- package/dist/domain/core/index.js +3 -0
- package/dist/domain/core/no-multiple-declarators/index.d.ts +2 -0
- package/dist/domain/core/no-multiple-declarators/index.d.ts.map +1 -0
- package/dist/domain/core/no-multiple-declarators/index.js +2 -0
- package/dist/domain/core/no-multiple-declarators/rule-test-helpers.d.ts +101 -0
- package/dist/domain/core/no-multiple-declarators/rule-test-helpers.d.ts.map +1 -0
- package/dist/domain/core/no-multiple-declarators/rule-test-helpers.js +108 -0
- package/dist/{core → domain/core}/no-multiple-declarators/rule.d.ts +1 -0
- package/dist/domain/core/no-multiple-declarators/rule.d.ts.map +1 -0
- package/dist/domain/core/no-multiple-declarators/rule.fixes.d.ts +35 -0
- package/dist/domain/core/no-multiple-declarators/rule.fixes.d.ts.map +1 -0
- package/dist/domain/core/no-multiple-declarators/rule.fixes.js +95 -0
- package/dist/domain/core/no-multiple-declarators/rule.guardrails.d.ts +4 -0
- package/dist/domain/core/no-multiple-declarators/rule.guardrails.d.ts.map +1 -0
- package/dist/domain/core/no-multiple-declarators/rule.guardrails.js +4 -0
- package/dist/domain/core/no-multiple-declarators/rule.js +219 -0
- package/dist/domain/core/no-multiple-declarators/rule.mocked-types.d.ts +4 -0
- package/dist/domain/core/no-multiple-declarators/rule.mocked-types.d.ts.map +1 -0
- package/dist/domain/core/no-multiple-declarators/rule.mocked-types.js +4 -0
- package/dist/domain/core/no-multiple-declarators/types.d.ts +77 -0
- package/dist/domain/core/no-multiple-declarators/types.d.ts.map +1 -0
- package/dist/domain/core/no-multiple-declarators/types.js +38 -0
- package/dist/domain/core/prefer-interface-types/index.d.ts +2 -0
- package/dist/domain/core/prefer-interface-types/index.d.ts.map +1 -0
- package/dist/domain/core/prefer-interface-types/index.js +2 -0
- package/dist/domain/core/prefer-interface-types/rule.d.ts.map +1 -0
- package/dist/domain/core/prefer-interface-types/rule.js +145 -0
- package/dist/domain/core/prefer-interface-types/test-helpers.d.ts.map +1 -0
- package/dist/domain/core/prefer-interface-types/test-helpers.js +116 -0
- package/dist/{custom-rule-documentation.d.ts → domain/custom-rule-documentation.d.ts} +1 -1
- package/dist/domain/custom-rule-documentation.d.ts.map +1 -0
- package/dist/domain/custom-rule-documentation.js +35 -0
- package/dist/domain/docs/index.d.ts +4 -0
- package/dist/domain/docs/index.d.ts.map +1 -0
- package/dist/domain/docs/index.js +4 -0
- package/dist/domain/docs/no-interface-member-docs/comment-utilities-test-helpers.d.ts.map +1 -0
- package/dist/domain/docs/no-interface-member-docs/comment-utilities-test-helpers.js +129 -0
- package/dist/{docs → domain/docs}/no-interface-member-docs/comment-utilities.d.ts +1 -1
- package/dist/domain/docs/no-interface-member-docs/comment-utilities.d.ts.map +1 -0
- package/dist/domain/docs/no-interface-member-docs/comment-utilities.js +146 -0
- package/dist/domain/docs/no-interface-member-docs/index.d.ts +2 -0
- package/dist/domain/docs/no-interface-member-docs/index.d.ts.map +1 -0
- package/dist/domain/docs/no-interface-member-docs/index.js +2 -0
- package/dist/{docs → domain/docs}/no-interface-member-docs/parameter-tags.d.ts +1 -1
- package/dist/domain/docs/no-interface-member-docs/parameter-tags.d.ts.map +1 -0
- package/dist/domain/docs/no-interface-member-docs/parameter-tags.js +101 -0
- package/dist/{docs → domain/docs}/no-interface-member-docs/parameter-utilities.d.ts +1 -1
- package/dist/domain/docs/no-interface-member-docs/parameter-utilities.d.ts.map +1 -0
- package/dist/domain/docs/no-interface-member-docs/parameter-utilities.js +125 -0
- package/dist/domain/docs/no-interface-member-docs/rule.d.ts.map +1 -0
- package/dist/domain/docs/no-interface-member-docs/rule.js +168 -0
- package/dist/domain/docs/no-interface-member-docs/test-helpers.d.ts.map +1 -0
- package/dist/domain/docs/no-interface-member-docs/test-helpers.js +157 -0
- package/dist/{docs → domain/docs}/no-interface-member-docs/types.d.ts +2 -2
- package/dist/domain/docs/no-interface-member-docs/types.d.ts.map +1 -0
- package/dist/domain/docs/no-interface-member-docs/types.js +2 -0
- package/dist/domain/docs/require-example-language/create-fixer.d.ts +5 -0
- package/dist/domain/docs/require-example-language/create-fixer.d.ts.map +1 -0
- package/dist/domain/docs/require-example-language/create-fixer.js +5 -0
- package/dist/domain/docs/require-example-language/empty-fence-fixes.d.ts.map +1 -0
- package/dist/domain/docs/require-example-language/empty-fence-fixes.js +169 -0
- package/dist/domain/docs/require-example-language/example-utilities.d.ts.map +1 -0
- package/dist/domain/docs/require-example-language/example-utilities.js +76 -0
- package/dist/{docs → domain/docs}/require-example-language/examples.d.ts +1 -1
- package/dist/domain/docs/require-example-language/examples.d.ts.map +1 -0
- package/dist/domain/docs/require-example-language/examples.js +181 -0
- package/dist/{docs → domain/docs}/require-example-language/fixes.d.ts +2 -2
- package/dist/domain/docs/require-example-language/fixes.d.ts.map +1 -0
- package/dist/domain/docs/require-example-language/fixes.js +182 -0
- package/dist/domain/docs/require-example-language/index.d.ts +3 -0
- package/dist/domain/docs/require-example-language/index.d.ts.map +1 -0
- package/dist/domain/docs/require-example-language/index.js +2 -0
- package/dist/{docs → domain/docs}/require-example-language/reporting.d.ts +1 -1
- package/dist/domain/docs/require-example-language/reporting.d.ts.map +1 -0
- package/dist/domain/docs/require-example-language/reporting.js +148 -0
- package/dist/domain/docs/require-example-language/rule.d.ts.map +1 -0
- package/dist/domain/docs/require-example-language/rule.js +34 -0
- package/dist/domain/docs/require-example-language/types.d.ts.map +1 -0
- package/dist/domain/docs/require-example-language/types.js +2 -0
- package/dist/domain/docs/single-line-jsdoc/index.d.ts +2 -0
- package/dist/domain/docs/single-line-jsdoc/index.d.ts.map +1 -0
- package/dist/domain/docs/single-line-jsdoc/index.js +2 -0
- package/dist/domain/docs/single-line-jsdoc/rule.d.ts.map +1 -0
- package/dist/domain/docs/single-line-jsdoc/rule.edge-cases.d.ts +4 -0
- package/dist/domain/docs/single-line-jsdoc/rule.edge-cases.d.ts.map +1 -0
- package/dist/domain/docs/single-line-jsdoc/rule.edge-cases.js +5 -0
- package/dist/domain/docs/single-line-jsdoc/rule.js +196 -0
- package/dist/domain/docs/single-line-jsdoc/rule.node-lookups.d.ts +4 -0
- package/dist/domain/docs/single-line-jsdoc/rule.node-lookups.d.ts.map +1 -0
- package/dist/domain/docs/single-line-jsdoc/rule.node-lookups.js +5 -0
- package/dist/domain/docs/single-line-jsdoc/single-line-jsdoc-content.d.ts.map +1 -0
- package/dist/domain/docs/single-line-jsdoc/single-line-jsdoc-content.js +95 -0
- package/dist/{docs → domain/docs}/single-line-jsdoc/single-line-jsdoc-utilities.d.ts +1 -1
- package/dist/domain/docs/single-line-jsdoc/single-line-jsdoc-utilities.d.ts.map +1 -0
- package/dist/domain/docs/single-line-jsdoc/single-line-jsdoc-utilities.js +140 -0
- package/dist/domain/docs/test-helpers.d.ts.map +1 -0
- package/dist/domain/docs/test-helpers.js +107 -0
- package/dist/domain/index.d.ts +6 -0
- package/dist/domain/index.d.ts.map +1 -0
- package/dist/domain/index.js +6 -0
- package/dist/domain/testing/aaa/analyzer.analysis.d.ts +92 -0
- package/dist/domain/testing/aaa/analyzer.analysis.d.ts.map +1 -0
- package/dist/domain/testing/aaa/analyzer.analysis.helpers.d.ts +4 -0
- package/dist/domain/testing/aaa/analyzer.analysis.helpers.d.ts.map +1 -0
- package/dist/domain/testing/aaa/analyzer.analysis.helpers.js +4 -0
- package/dist/domain/testing/aaa/analyzer.analysis.js +247 -0
- package/dist/domain/testing/aaa/analyzer.assertions.d.ts +93 -0
- package/dist/domain/testing/aaa/analyzer.assertions.d.ts.map +1 -0
- package/dist/domain/testing/aaa/analyzer.assertions.js +283 -0
- package/dist/domain/testing/aaa/analyzer.classification.d.ts +75 -0
- package/dist/domain/testing/aaa/analyzer.classification.d.ts.map +1 -0
- package/dist/domain/testing/aaa/analyzer.classification.js +201 -0
- package/dist/domain/testing/aaa/analyzer.classification.member-patterns.d.ts +9 -0
- package/dist/domain/testing/aaa/analyzer.classification.member-patterns.d.ts.map +1 -0
- package/dist/domain/testing/aaa/analyzer.classification.member-patterns.js +10 -0
- package/dist/domain/testing/aaa/analyzer.d.ts +46 -0
- package/dist/domain/testing/aaa/analyzer.d.ts.map +1 -0
- package/dist/domain/testing/aaa/analyzer.js +59 -0
- package/dist/domain/testing/aaa/analyzer.super.d.ts +107 -0
- package/dist/domain/testing/aaa/analyzer.super.d.ts.map +1 -0
- package/dist/domain/testing/aaa/analyzer.super.js +228 -0
- package/dist/{testing → domain/testing}/aaa/index.d.ts +2 -2
- package/dist/domain/testing/aaa/index.d.ts.map +1 -0
- package/dist/domain/testing/aaa/index.js +2 -0
- package/dist/domain/testing/aaa/types.d.ts +58 -0
- package/dist/domain/testing/aaa/types.d.ts.map +1 -0
- package/dist/domain/testing/aaa/types.js +2 -0
- package/dist/domain/testing/assert-actual-expected-names/index.d.ts +2 -0
- package/dist/domain/testing/assert-actual-expected-names/index.d.ts.map +1 -0
- package/dist/domain/testing/assert-actual-expected-names/index.js +2 -0
- package/dist/{testing → domain/testing}/assert-actual-expected-names/rule.d.ts +1 -0
- package/dist/domain/testing/assert-actual-expected-names/rule.d.ts.map +1 -0
- package/dist/domain/testing/assert-actual-expected-names/rule.js +113 -0
- package/dist/domain/testing/enforce-aaa-phase-purity/index.d.ts +2 -0
- package/dist/domain/testing/enforce-aaa-phase-purity/index.d.ts.map +1 -0
- package/dist/domain/testing/enforce-aaa-phase-purity/index.js +2 -0
- package/dist/domain/testing/enforce-aaa-phase-purity/pattern-identifiers.d.ts +13 -0
- package/dist/domain/testing/enforce-aaa-phase-purity/pattern-identifiers.d.ts.map +1 -0
- package/dist/domain/testing/enforce-aaa-phase-purity/pattern-identifiers.js +134 -0
- package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-identifiers.d.ts +25 -0
- package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-identifiers.d.ts.map +1 -0
- package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-identifiers.js +138 -0
- package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.d.ts +4 -0
- package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.d.ts.map +1 -0
- package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.js +4 -0
- package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.d.ts +14 -0
- package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.d.ts.map +1 -0
- package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.js +180 -0
- package/dist/domain/testing/enforce-aaa-phase-purity/rule-test-helpers.d.ts +42 -0
- package/dist/domain/testing/enforce-aaa-phase-purity/rule-test-helpers.d.ts.map +1 -0
- package/dist/domain/testing/enforce-aaa-phase-purity/rule-test-helpers.js +188 -0
- package/dist/{testing → domain/testing}/enforce-aaa-phase-purity/rule.d.ts +1 -0
- package/dist/domain/testing/enforce-aaa-phase-purity/rule.d.ts.map +1 -0
- package/dist/domain/testing/enforce-aaa-phase-purity/rule.js +34 -0
- package/dist/domain/testing/enforce-aaa-structure/index.d.ts +2 -0
- package/dist/domain/testing/enforce-aaa-structure/index.d.ts.map +1 -0
- package/dist/domain/testing/enforce-aaa-structure/index.js +2 -0
- package/dist/{testing → domain/testing}/enforce-aaa-structure/rule.d.ts +1 -0
- package/dist/domain/testing/enforce-aaa-structure/rule.d.ts.map +1 -0
- package/dist/domain/testing/enforce-aaa-structure/rule.js +85 -0
- package/dist/{testing → domain/testing}/index.d.ts +9 -8
- package/dist/domain/testing/index.d.ts.map +1 -0
- package/dist/domain/testing/index.js +10 -0
- package/dist/domain/testing/prefer-vi-mocked-import/fix-import-statements.d.ts +29 -0
- package/dist/domain/testing/prefer-vi-mocked-import/fix-import-statements.d.ts.map +1 -0
- package/dist/domain/testing/prefer-vi-mocked-import/fix-import-statements.js +90 -0
- package/dist/domain/testing/prefer-vi-mocked-import/fix-import-updates.d.ts +31 -0
- package/dist/domain/testing/prefer-vi-mocked-import/fix-import-updates.d.ts.map +1 -0
- package/dist/domain/testing/prefer-vi-mocked-import/fix-import-updates.js +43 -0
- package/dist/domain/testing/prefer-vi-mocked-import/fix-imports.d.ts +16 -0
- package/dist/domain/testing/prefer-vi-mocked-import/fix-imports.d.ts.map +1 -0
- package/dist/domain/testing/prefer-vi-mocked-import/fix-imports.js +205 -0
- package/dist/domain/testing/prefer-vi-mocked-import/fix.d.ts +28 -0
- package/dist/domain/testing/prefer-vi-mocked-import/fix.d.ts.map +1 -0
- package/dist/domain/testing/prefer-vi-mocked-import/fix.js +171 -0
- package/dist/domain/testing/prefer-vi-mocked-import/index.d.ts +2 -0
- package/dist/domain/testing/prefer-vi-mocked-import/index.d.ts.map +1 -0
- package/dist/domain/testing/prefer-vi-mocked-import/index.js +2 -0
- package/dist/{testing → domain/testing}/prefer-vi-mocked-import/match-bindings.d.ts +1 -1
- package/dist/domain/testing/prefer-vi-mocked-import/match-bindings.d.ts.map +1 -0
- package/dist/domain/testing/prefer-vi-mocked-import/match-bindings.js +52 -0
- package/dist/{testing → domain/testing}/prefer-vi-mocked-import/match-declarations.d.ts +2 -1
- package/dist/domain/testing/prefer-vi-mocked-import/match-declarations.d.ts.map +1 -0
- package/dist/domain/testing/prefer-vi-mocked-import/match-declarations.js +131 -0
- package/dist/domain/testing/prefer-vi-mocked-import/match-helpers.d.ts.map +1 -0
- package/dist/domain/testing/prefer-vi-mocked-import/match-helpers.js +102 -0
- package/dist/{testing → domain/testing}/prefer-vi-mocked-import/match-imports.d.ts +1 -1
- package/dist/domain/testing/prefer-vi-mocked-import/match-imports.d.ts.map +1 -0
- package/dist/domain/testing/prefer-vi-mocked-import/match-imports.js +156 -0
- package/dist/{testing → domain/testing}/prefer-vi-mocked-import/match-rewrites.d.ts +1 -1
- package/dist/domain/testing/prefer-vi-mocked-import/match-rewrites.d.ts.map +1 -0
- package/dist/domain/testing/prefer-vi-mocked-import/match-rewrites.js +119 -0
- package/dist/domain/testing/prefer-vi-mocked-import/match-walk.d.ts.map +1 -0
- package/dist/domain/testing/prefer-vi-mocked-import/match-walk.js +62 -0
- package/dist/domain/testing/prefer-vi-mocked-import/match.d.ts +26 -0
- package/dist/domain/testing/prefer-vi-mocked-import/match.d.ts.map +1 -0
- package/dist/domain/testing/prefer-vi-mocked-import/match.js +198 -0
- package/dist/domain/testing/prefer-vi-mocked-import/rule-test-helpers.d.ts +20 -0
- package/dist/domain/testing/prefer-vi-mocked-import/rule-test-helpers.d.ts.map +1 -0
- package/dist/domain/testing/prefer-vi-mocked-import/rule-test-helpers.js +39 -0
- package/dist/domain/testing/prefer-vi-mocked-import/rule.d.ts.map +1 -0
- package/dist/domain/testing/prefer-vi-mocked-import/rule.js +36 -0
- package/dist/{testing → domain/testing}/prefer-vi-mocked-import/types.d.ts +1 -1
- package/dist/domain/testing/prefer-vi-mocked-import/types.d.ts.map +1 -0
- package/dist/domain/testing/prefer-vi-mocked-import/types.js +2 -0
- package/dist/domain/testing/prefer-vitest-incremental-casts/ast-helpers.d.ts +86 -0
- package/dist/domain/testing/prefer-vitest-incremental-casts/ast-helpers.d.ts.map +1 -0
- package/dist/domain/testing/prefer-vitest-incremental-casts/ast-helpers.js +150 -0
- package/dist/domain/testing/prefer-vitest-incremental-casts/index.d.ts +2 -0
- package/dist/domain/testing/prefer-vitest-incremental-casts/index.d.ts.map +1 -0
- package/dist/domain/testing/prefer-vitest-incremental-casts/index.js +2 -0
- package/dist/domain/testing/prefer-vitest-incremental-casts/match-input.d.ts +14 -0
- package/dist/domain/testing/prefer-vitest-incremental-casts/match-input.d.ts.map +1 -0
- package/dist/domain/testing/prefer-vitest-incremental-casts/match-input.js +81 -0
- package/dist/domain/testing/prefer-vitest-incremental-casts/match.d.ts +13 -0
- package/dist/domain/testing/prefer-vitest-incremental-casts/match.d.ts.map +1 -0
- package/dist/domain/testing/prefer-vitest-incremental-casts/match.js +189 -0
- package/dist/domain/testing/prefer-vitest-incremental-casts/replacement-helpers.d.ts +25 -0
- package/dist/domain/testing/prefer-vitest-incremental-casts/replacement-helpers.d.ts.map +1 -0
- package/dist/domain/testing/prefer-vitest-incremental-casts/replacement-helpers.js +92 -0
- package/dist/domain/testing/prefer-vitest-incremental-casts/rule-test-helpers.d.ts +32 -0
- package/dist/domain/testing/prefer-vitest-incremental-casts/rule-test-helpers.d.ts.map +1 -0
- package/dist/domain/testing/prefer-vitest-incremental-casts/rule-test-helpers.js +164 -0
- package/dist/domain/testing/prefer-vitest-incremental-casts/rule.d.ts +5 -0
- package/dist/domain/testing/prefer-vitest-incremental-casts/rule.d.ts.map +1 -0
- package/dist/domain/testing/prefer-vitest-incremental-casts/rule.guardrails.d.ts +4 -0
- package/dist/domain/testing/prefer-vitest-incremental-casts/rule.guardrails.d.ts.map +1 -0
- package/dist/domain/testing/prefer-vitest-incremental-casts/rule.guardrails.js +4 -0
- package/dist/domain/testing/prefer-vitest-incremental-casts/rule.input-shapes.d.ts +4 -0
- package/dist/domain/testing/prefer-vitest-incremental-casts/rule.input-shapes.d.ts.map +1 -0
- package/dist/domain/testing/prefer-vitest-incremental-casts/rule.input-shapes.js +4 -0
- package/dist/domain/testing/prefer-vitest-incremental-casts/rule.js +62 -0
- package/dist/domain/testing/prefer-vitest-incremental-casts/rule.signature-fallback.d.ts +4 -0
- package/dist/domain/testing/prefer-vitest-incremental-casts/rule.signature-fallback.d.ts.map +1 -0
- package/dist/domain/testing/prefer-vitest-incremental-casts/rule.signature-fallback.js +4 -0
- package/dist/domain/testing/prefer-vitest-incremental-casts/type-helpers.d.ts +24 -0
- package/dist/domain/testing/prefer-vitest-incremental-casts/type-helpers.d.ts.map +1 -0
- package/dist/domain/testing/prefer-vitest-incremental-casts/type-helpers.js +113 -0
- package/dist/domain/testing/prefer-vitest-incremental-casts/type-shape-helpers.d.ts +36 -0
- package/dist/domain/testing/prefer-vitest-incremental-casts/type-shape-helpers.d.ts.map +1 -0
- package/dist/domain/testing/prefer-vitest-incremental-casts/type-shape-helpers.js +138 -0
- package/dist/domain/testing/prefer-vitest-incremental-casts/types.d.ts +203 -0
- package/dist/domain/testing/prefer-vitest-incremental-casts/types.d.ts.map +1 -0
- package/dist/domain/testing/prefer-vitest-incremental-casts/types.js +2 -0
- package/dist/domain/testing/require-aaa-sections/index.d.ts +2 -0
- package/dist/domain/testing/require-aaa-sections/index.d.ts.map +1 -0
- package/dist/domain/testing/require-aaa-sections/index.js +2 -0
- package/dist/domain/testing/require-aaa-sections/missing-section-fixes.d.ts +17 -0
- package/dist/domain/testing/require-aaa-sections/missing-section-fixes.d.ts.map +1 -0
- package/dist/domain/testing/require-aaa-sections/missing-section-fixes.js +150 -0
- package/dist/{testing → domain/testing}/require-aaa-sections/rule.d.ts +1 -0
- package/dist/domain/testing/require-aaa-sections/rule.d.ts.map +1 -0
- package/dist/domain/testing/require-aaa-sections/rule.js +129 -0
- package/dist/domain/testing/require-aaa-sections/rule.reporting.d.ts +104 -0
- package/dist/domain/testing/require-aaa-sections/rule.reporting.d.ts.map +1 -0
- package/dist/domain/testing/require-aaa-sections/rule.reporting.js +217 -0
- package/dist/domain/testing/require-act-result-capture/index.d.ts +2 -0
- package/dist/domain/testing/require-act-result-capture/index.d.ts.map +1 -0
- package/dist/domain/testing/require-act-result-capture/index.js +2 -0
- package/dist/{testing → domain/testing}/require-act-result-capture/rule.d.ts +1 -0
- package/dist/domain/testing/require-act-result-capture/rule.d.ts.map +1 -0
- package/dist/domain/testing/require-act-result-capture/rule.js +106 -0
- package/dist/domain/testing/require-test-companion/index.d.ts +3 -0
- package/dist/domain/testing/require-test-companion/index.d.ts.map +1 -0
- package/dist/domain/testing/require-test-companion/index.js +3 -0
- package/dist/{testing → domain/testing}/require-test-companion/require-test-companion-listeners.d.ts +1 -1
- package/dist/domain/testing/require-test-companion/require-test-companion-listeners.d.ts.map +1 -0
- package/dist/domain/testing/require-test-companion/require-test-companion-listeners.js +145 -0
- package/dist/domain/testing/require-test-companion/require-test-companion-options.d.ts.map +1 -0
- package/dist/domain/testing/require-test-companion/require-test-companion-options.js +113 -0
- package/dist/{testing → domain/testing}/require-test-companion/require-test-companion-test-helpers.d.ts +1 -1
- package/dist/domain/testing/require-test-companion/require-test-companion-test-helpers.d.ts.map +1 -0
- package/dist/domain/testing/require-test-companion/require-test-companion-test-helpers.js +184 -0
- package/dist/{testing → domain/testing}/require-test-companion/require-test-companion-utilities.d.ts +1 -1
- package/dist/domain/testing/require-test-companion/require-test-companion-utilities.d.ts.map +1 -0
- package/dist/domain/testing/require-test-companion/require-test-companion-utilities.js +26 -0
- package/dist/domain/testing/require-test-companion/rule.d.ts.map +1 -0
- package/dist/domain/testing/require-test-companion/rule.js +57 -0
- package/dist/domain/testing/require-test-companion/types.d.ts.map +1 -0
- package/dist/domain/testing/require-test-companion/types.js +2 -0
- package/dist/domain/testing/single-act-statement/index.d.ts +2 -0
- package/dist/domain/testing/single-act-statement/index.d.ts.map +1 -0
- package/dist/domain/testing/single-act-statement/index.js +2 -0
- package/dist/{testing → domain/testing}/single-act-statement/rule.d.ts +1 -0
- package/dist/domain/testing/single-act-statement/rule.d.ts.map +1 -0
- package/dist/domain/testing/single-act-statement/rule.js +34 -0
- package/dist/index.d.ts +4 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -6
- package/dist/{codeperfect-plugin.d.ts → infrastructure/codeperfect-plugin.d.ts} +2 -0
- package/dist/infrastructure/codeperfect-plugin.d.ts.map +1 -0
- package/dist/infrastructure/codeperfect-plugin.js +30 -0
- package/dist/infrastructure/index.d.ts +5 -0
- package/dist/infrastructure/index.d.ts.map +1 -0
- package/dist/infrastructure/index.js +4 -0
- package/dist/infrastructure/presets.d.ts +18 -0
- package/dist/infrastructure/presets.d.ts.map +1 -0
- package/dist/infrastructure/presets.js +81 -0
- package/package.json +54 -27
- package/dist/architecture/consistent-barrel-files/consistent-barrel-files-listeners.d.ts.map +0 -1
- package/dist/architecture/consistent-barrel-files/consistent-barrel-files-listeners.js +0 -131
- package/dist/architecture/consistent-barrel-files/consistent-barrel-files-options.d.ts +0 -48
- package/dist/architecture/consistent-barrel-files/consistent-barrel-files-options.d.ts.map +0 -1
- package/dist/architecture/consistent-barrel-files/consistent-barrel-files-options.js +0 -126
- package/dist/architecture/consistent-barrel-files/exports-only-rule-test-utilities.d.ts.map +0 -1
- package/dist/architecture/consistent-barrel-files/exports-only-rule-test-utilities.js +0 -90
- package/dist/architecture/consistent-barrel-files/exports-only-rule.d.ts.map +0 -1
- package/dist/architecture/consistent-barrel-files/exports-only-rule.js +0 -218
- package/dist/architecture/consistent-barrel-files/index.d.ts +0 -5
- package/dist/architecture/consistent-barrel-files/index.d.ts.map +0 -1
- package/dist/architecture/consistent-barrel-files/index.js +0 -4
- package/dist/architecture/consistent-barrel-files/no-reexports-outside-barrels-rule.d.ts.map +0 -1
- package/dist/architecture/consistent-barrel-files/no-reexports-outside-barrels-rule.js +0 -100
- package/dist/architecture/consistent-barrel-files/no-reexports-outside-barrels-test-utilities.d.ts.map +0 -1
- package/dist/architecture/consistent-barrel-files/no-reexports-outside-barrels-test-utilities.js +0 -90
- package/dist/architecture/consistent-barrel-files/no-reexports-outside-barrels-utilities.d.ts.map +0 -1
- package/dist/architecture/consistent-barrel-files/no-reexports-outside-barrels-utilities.js +0 -154
- package/dist/architecture/consistent-barrel-files/rule.d.ts.map +0 -1
- package/dist/architecture/consistent-barrel-files/rule.js +0 -58
- package/dist/architecture/consistent-barrel-files/test-helpers.d.ts.map +0 -1
- package/dist/architecture/consistent-barrel-files/test-helpers.js +0 -229
- package/dist/architecture/consistent-barrel-files/types.d.ts +0 -25
- package/dist/architecture/consistent-barrel-files/types.d.ts.map +0 -1
- package/dist/architecture/consistent-barrel-files/types.js +0 -2
- package/dist/architecture/index.d.ts.map +0 -1
- package/dist/architecture/index.js +0 -2
- package/dist/benchmark-rules.d.ts +0 -83
- package/dist/benchmark-rules.d.ts.map +0 -1
- package/dist/benchmark-rules.js +0 -175
- package/dist/codeperfect-plugin.d.ts.map +0 -1
- package/dist/codeperfect-plugin.js +0 -29
- package/dist/core/index.d.ts.map +0 -1
- package/dist/core/index.js +0 -3
- package/dist/core/no-multiple-declarators/index.d.ts +0 -2
- package/dist/core/no-multiple-declarators/index.d.ts.map +0 -1
- package/dist/core/no-multiple-declarators/index.js +0 -2
- package/dist/core/no-multiple-declarators/rule.d.ts.map +0 -1
- package/dist/core/no-multiple-declarators/rule.js +0 -100
- package/dist/core/prefer-interface-types/index.d.ts +0 -2
- package/dist/core/prefer-interface-types/index.d.ts.map +0 -1
- package/dist/core/prefer-interface-types/index.js +0 -2
- package/dist/core/prefer-interface-types/rule.d.ts.map +0 -1
- package/dist/core/prefer-interface-types/rule.js +0 -145
- package/dist/core/prefer-interface-types/test-helpers.d.ts.map +0 -1
- package/dist/core/prefer-interface-types/test-helpers.js +0 -116
- package/dist/custom-rule-documentation.d.ts.map +0 -1
- package/dist/custom-rule-documentation.js +0 -35
- package/dist/custom-rules.d.ts.map +0 -1
- package/dist/custom-rules.js +0 -70
- package/dist/docs/index.d.ts +0 -4
- package/dist/docs/index.d.ts.map +0 -1
- package/dist/docs/index.js +0 -4
- package/dist/docs/no-interface-member-docs/comment-utilities-test-helpers.d.ts.map +0 -1
- package/dist/docs/no-interface-member-docs/comment-utilities-test-helpers.js +0 -129
- package/dist/docs/no-interface-member-docs/comment-utilities.d.ts.map +0 -1
- package/dist/docs/no-interface-member-docs/comment-utilities.js +0 -146
- package/dist/docs/no-interface-member-docs/index.d.ts +0 -2
- package/dist/docs/no-interface-member-docs/index.d.ts.map +0 -1
- package/dist/docs/no-interface-member-docs/index.js +0 -2
- package/dist/docs/no-interface-member-docs/parameter-tags.d.ts.map +0 -1
- package/dist/docs/no-interface-member-docs/parameter-tags.js +0 -101
- package/dist/docs/no-interface-member-docs/parameter-utilities.d.ts.map +0 -1
- package/dist/docs/no-interface-member-docs/parameter-utilities.js +0 -125
- package/dist/docs/no-interface-member-docs/rule.d.ts.map +0 -1
- package/dist/docs/no-interface-member-docs/rule.js +0 -168
- package/dist/docs/no-interface-member-docs/test-helpers.d.ts.map +0 -1
- package/dist/docs/no-interface-member-docs/test-helpers.js +0 -157
- package/dist/docs/no-interface-member-docs/types.d.ts.map +0 -1
- package/dist/docs/no-interface-member-docs/types.js +0 -2
- package/dist/docs/require-example-language/empty-fence-fixes.d.ts.map +0 -1
- package/dist/docs/require-example-language/empty-fence-fixes.js +0 -169
- package/dist/docs/require-example-language/example-utilities.d.ts.map +0 -1
- package/dist/docs/require-example-language/example-utilities.js +0 -76
- package/dist/docs/require-example-language/examples.d.ts.map +0 -1
- package/dist/docs/require-example-language/examples.js +0 -181
- package/dist/docs/require-example-language/fixes.d.ts.map +0 -1
- package/dist/docs/require-example-language/fixes.js +0 -182
- package/dist/docs/require-example-language/index.d.ts +0 -3
- package/dist/docs/require-example-language/index.d.ts.map +0 -1
- package/dist/docs/require-example-language/index.js +0 -2
- package/dist/docs/require-example-language/reporting.d.ts.map +0 -1
- package/dist/docs/require-example-language/reporting.js +0 -145
- package/dist/docs/require-example-language/rule.d.ts.map +0 -1
- package/dist/docs/require-example-language/rule.js +0 -34
- package/dist/docs/require-example-language/types.d.ts.map +0 -1
- package/dist/docs/require-example-language/types.js +0 -2
- package/dist/docs/single-line-jsdoc/index.d.ts +0 -2
- package/dist/docs/single-line-jsdoc/index.d.ts.map +0 -1
- package/dist/docs/single-line-jsdoc/index.js +0 -2
- package/dist/docs/single-line-jsdoc/rule.d.ts.map +0 -1
- package/dist/docs/single-line-jsdoc/rule.js +0 -196
- package/dist/docs/single-line-jsdoc/single-line-jsdoc-content.d.ts.map +0 -1
- package/dist/docs/single-line-jsdoc/single-line-jsdoc-content.js +0 -95
- package/dist/docs/single-line-jsdoc/single-line-jsdoc-utilities.d.ts.map +0 -1
- package/dist/docs/single-line-jsdoc/single-line-jsdoc-utilities.js +0 -140
- package/dist/docs/test-helpers.d.ts.map +0 -1
- package/dist/docs/test-helpers.js +0 -107
- package/dist/presets.d.ts +0 -10
- package/dist/presets.d.ts.map +0 -1
- package/dist/presets.js +0 -50
- package/dist/rules/index.d.ts +0 -5
- package/dist/rules/index.d.ts.map +0 -1
- package/dist/rules/index.js +0 -6
- package/dist/testing/aaa/analyzer.d.ts +0 -36
- package/dist/testing/aaa/analyzer.d.ts.map +0 -1
- package/dist/testing/aaa/analyzer.js +0 -490
- package/dist/testing/aaa/index.d.ts.map +0 -1
- package/dist/testing/aaa/index.js +0 -2
- package/dist/testing/aaa/types.d.ts +0 -31
- package/dist/testing/aaa/types.d.ts.map +0 -1
- package/dist/testing/aaa/types.js +0 -2
- package/dist/testing/assert-actual-expected-names/index.d.ts +0 -2
- package/dist/testing/assert-actual-expected-names/index.d.ts.map +0 -1
- package/dist/testing/assert-actual-expected-names/index.js +0 -2
- package/dist/testing/assert-actual-expected-names/rule.d.ts.map +0 -1
- package/dist/testing/assert-actual-expected-names/rule.js +0 -54
- package/dist/testing/enforce-aaa-phase-purity/index.d.ts +0 -2
- package/dist/testing/enforce-aaa-phase-purity/index.d.ts.map +0 -1
- package/dist/testing/enforce-aaa-phase-purity/index.js +0 -2
- package/dist/testing/enforce-aaa-phase-purity/rule.d.ts.map +0 -1
- package/dist/testing/enforce-aaa-phase-purity/rule.js +0 -110
- package/dist/testing/enforce-aaa-structure/index.d.ts +0 -2
- package/dist/testing/enforce-aaa-structure/index.d.ts.map +0 -1
- package/dist/testing/enforce-aaa-structure/index.js +0 -2
- package/dist/testing/enforce-aaa-structure/rule.d.ts.map +0 -1
- package/dist/testing/enforce-aaa-structure/rule.js +0 -48
- package/dist/testing/index.d.ts.map +0 -1
- package/dist/testing/index.js +0 -9
- package/dist/testing/prefer-vi-mocked-import/fix.d.ts +0 -16
- package/dist/testing/prefer-vi-mocked-import/fix.d.ts.map +0 -1
- package/dist/testing/prefer-vi-mocked-import/fix.js +0 -224
- package/dist/testing/prefer-vi-mocked-import/index.d.ts +0 -2
- package/dist/testing/prefer-vi-mocked-import/index.d.ts.map +0 -1
- package/dist/testing/prefer-vi-mocked-import/index.js +0 -2
- package/dist/testing/prefer-vi-mocked-import/match-bindings.d.ts.map +0 -1
- package/dist/testing/prefer-vi-mocked-import/match-bindings.js +0 -52
- package/dist/testing/prefer-vi-mocked-import/match-declarations.d.ts.map +0 -1
- package/dist/testing/prefer-vi-mocked-import/match-declarations.js +0 -99
- package/dist/testing/prefer-vi-mocked-import/match-helpers.d.ts.map +0 -1
- package/dist/testing/prefer-vi-mocked-import/match-helpers.js +0 -102
- package/dist/testing/prefer-vi-mocked-import/match-imports.d.ts.map +0 -1
- package/dist/testing/prefer-vi-mocked-import/match-imports.js +0 -156
- package/dist/testing/prefer-vi-mocked-import/match-rewrites.d.ts.map +0 -1
- package/dist/testing/prefer-vi-mocked-import/match-rewrites.js +0 -119
- package/dist/testing/prefer-vi-mocked-import/match-walk.d.ts.map +0 -1
- package/dist/testing/prefer-vi-mocked-import/match-walk.js +0 -62
- package/dist/testing/prefer-vi-mocked-import/match.d.ts +0 -15
- package/dist/testing/prefer-vi-mocked-import/match.d.ts.map +0 -1
- package/dist/testing/prefer-vi-mocked-import/match.js +0 -193
- package/dist/testing/prefer-vi-mocked-import/rule.d.ts.map +0 -1
- package/dist/testing/prefer-vi-mocked-import/rule.js +0 -32
- package/dist/testing/prefer-vi-mocked-import/types.d.ts.map +0 -1
- package/dist/testing/prefer-vi-mocked-import/types.js +0 -2
- package/dist/testing/require-aaa-sections/index.d.ts +0 -2
- package/dist/testing/require-aaa-sections/index.d.ts.map +0 -1
- package/dist/testing/require-aaa-sections/index.js +0 -2
- package/dist/testing/require-aaa-sections/rule.d.ts.map +0 -1
- package/dist/testing/require-aaa-sections/rule.js +0 -111
- package/dist/testing/require-act-result-capture/index.d.ts +0 -2
- package/dist/testing/require-act-result-capture/index.d.ts.map +0 -1
- package/dist/testing/require-act-result-capture/index.js +0 -2
- package/dist/testing/require-act-result-capture/rule.d.ts.map +0 -1
- package/dist/testing/require-act-result-capture/rule.js +0 -34
- package/dist/testing/require-test-companion/index.d.ts +0 -3
- package/dist/testing/require-test-companion/index.d.ts.map +0 -1
- package/dist/testing/require-test-companion/index.js +0 -3
- package/dist/testing/require-test-companion/require-test-companion-listeners.d.ts.map +0 -1
- package/dist/testing/require-test-companion/require-test-companion-listeners.js +0 -145
- package/dist/testing/require-test-companion/require-test-companion-options.d.ts.map +0 -1
- package/dist/testing/require-test-companion/require-test-companion-options.js +0 -112
- package/dist/testing/require-test-companion/require-test-companion-test-helpers.d.ts.map +0 -1
- package/dist/testing/require-test-companion/require-test-companion-test-helpers.js +0 -183
- package/dist/testing/require-test-companion/require-test-companion-utilities.d.ts.map +0 -1
- package/dist/testing/require-test-companion/require-test-companion-utilities.js +0 -26
- package/dist/testing/require-test-companion/rule.d.ts.map +0 -1
- package/dist/testing/require-test-companion/rule.js +0 -57
- package/dist/testing/require-test-companion/types.d.ts.map +0 -1
- package/dist/testing/require-test-companion/types.js +0 -2
- package/dist/testing/single-act-statement/index.d.ts +0 -2
- package/dist/testing/single-act-statement/index.d.ts.map +0 -1
- package/dist/testing/single-act-statement/index.js +0 -2
- package/dist/testing/single-act-statement/rule.d.ts.map +0 -1
- package/dist/testing/single-act-statement/rule.js +0 -33
- /package/dist/{architecture → domain/architecture}/consistent-barrel-files/exports-only-rule.d.ts +0 -0
- /package/dist/{architecture → domain/architecture}/consistent-barrel-files/no-reexports-outside-barrels-rule.d.ts +0 -0
- /package/dist/{architecture → domain/architecture}/consistent-barrel-files/rule.d.ts +0 -0
- /package/dist/{core → domain/core}/prefer-interface-types/rule.d.ts +0 -0
- /package/dist/{core → domain/core}/prefer-interface-types/test-helpers.d.ts +0 -0
- /package/dist/{docs → domain/docs}/no-interface-member-docs/comment-utilities-test-helpers.d.ts +0 -0
- /package/dist/{docs → domain/docs}/no-interface-member-docs/rule.d.ts +0 -0
- /package/dist/{docs → domain/docs}/no-interface-member-docs/test-helpers.d.ts +0 -0
- /package/dist/{docs → domain/docs}/require-example-language/empty-fence-fixes.d.ts +0 -0
- /package/dist/{docs → domain/docs}/require-example-language/example-utilities.d.ts +0 -0
- /package/dist/{docs → domain/docs}/require-example-language/rule.d.ts +0 -0
- /package/dist/{docs → domain/docs}/require-example-language/types.d.ts +0 -0
- /package/dist/{docs → domain/docs}/single-line-jsdoc/rule.d.ts +0 -0
- /package/dist/{docs → domain/docs}/single-line-jsdoc/single-line-jsdoc-content.d.ts +0 -0
- /package/dist/{docs → domain/docs}/test-helpers.d.ts +0 -0
- /package/dist/{testing → domain/testing}/prefer-vi-mocked-import/match-helpers.d.ts +0 -0
- /package/dist/{testing → domain/testing}/prefer-vi-mocked-import/match-walk.d.ts +0 -0
- /package/dist/{testing → domain/testing}/prefer-vi-mocked-import/rule.d.ts +0 -0
- /package/dist/{testing → domain/testing}/require-test-companion/require-test-companion-options.d.ts +0 -0
- /package/dist/{testing → domain/testing}/require-test-companion/rule.d.ts +0 -0
- /package/dist/{testing → domain/testing}/require-test-companion/types.d.ts +0 -0
|
@@ -1,182 +0,0 @@
|
|
|
1
|
-
import { parseFenceLine, removeEmptyFences } from "./empty-fence-fixes";
|
|
2
|
-
/**
|
|
3
|
-
* Applies a language to a fence line when needed.
|
|
4
|
-
* @param context Fence state and line data.
|
|
5
|
-
* @returns Updated line and fence state.
|
|
6
|
-
* @example
|
|
7
|
-
* ```typescript
|
|
8
|
-
* const result = applyFenceLanguage({ inFence: false, line: " * ```" });
|
|
9
|
-
* ```
|
|
10
|
-
*/
|
|
11
|
-
function applyFenceLanguage(context) {
|
|
12
|
-
const { inFence, line } = context;
|
|
13
|
-
const fenceInfo = parseFenceLine(line);
|
|
14
|
-
if (fenceInfo === void 0) {
|
|
15
|
-
return { inFence, line };
|
|
16
|
-
}
|
|
17
|
-
const shouldAddLanguage = !inFence && fenceInfo.language.length === 0;
|
|
18
|
-
const nextLine = shouldAddLanguage
|
|
19
|
-
? `${fenceInfo.leading}\`\`\`typescript`
|
|
20
|
-
: line;
|
|
21
|
-
return { inFence: !inFence, line: nextLine };
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Builds a full example with a fenced block when missing entirely.
|
|
25
|
-
* @param example Example metadata.
|
|
26
|
-
* @returns Example text with a fenced block.
|
|
27
|
-
* @example
|
|
28
|
-
* ```typescript
|
|
29
|
-
* const text = buildMissingFenceFix(example);
|
|
30
|
-
* ```
|
|
31
|
-
*/
|
|
32
|
-
function buildMissingFenceFix(example) {
|
|
33
|
-
const contentLines = normalizeContentLines({
|
|
34
|
-
content: example.content,
|
|
35
|
-
prefix: example.prefix,
|
|
36
|
-
});
|
|
37
|
-
return [
|
|
38
|
-
`${example.prefix}@example`,
|
|
39
|
-
`${example.prefix}\`\`\`typescript`,
|
|
40
|
-
...contentLines.map((contentLine) => contentLine.length > 0
|
|
41
|
-
? `${example.prefix} ${contentLine}`
|
|
42
|
-
: example.prefix),
|
|
43
|
-
`${example.prefix}\`\`\``,
|
|
44
|
-
].join("\n");
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Adds missing languages to existing fenced blocks.
|
|
48
|
-
* @param original Original comment text.
|
|
49
|
-
* @returns Updated comment text when changes are made.
|
|
50
|
-
* @example
|
|
51
|
-
* ```typescript
|
|
52
|
-
* const updated = buildMissingLanguageFix("* ```\n* ok\n* ```");
|
|
53
|
-
* ```
|
|
54
|
-
*/
|
|
55
|
-
function buildMissingLanguageFix(original) {
|
|
56
|
-
const lineBreak = original.includes("\r\n") ? "\r\n" : "\n";
|
|
57
|
-
const lines = original.split(/\r?\n/u);
|
|
58
|
-
let inFence = false;
|
|
59
|
-
const updatedLines = lines.map((line) => {
|
|
60
|
-
const { inFence: nextInFence, line: nextLine } = applyFenceLanguage({
|
|
61
|
-
inFence,
|
|
62
|
-
line,
|
|
63
|
-
});
|
|
64
|
-
inFence = nextInFence;
|
|
65
|
-
return nextLine;
|
|
66
|
-
});
|
|
67
|
-
const updated = updatedLines.join(lineBreak);
|
|
68
|
-
return updated === original ? void 0 : updated;
|
|
69
|
-
}
|
|
70
|
-
/**
|
|
71
|
-
* Builds a fixer function for the report.
|
|
72
|
-
* @param context Fixer context details.
|
|
73
|
-
* @returns Fixer function for ESLint.
|
|
74
|
-
* @example
|
|
75
|
-
* ```typescript
|
|
76
|
-
* const fixer = createFixer(context);
|
|
77
|
-
* ```
|
|
78
|
-
*/
|
|
79
|
-
function createFixer(context) {
|
|
80
|
-
const { absoluteEnd, absoluteStart } = context;
|
|
81
|
-
return (fixer) => {
|
|
82
|
-
const updated = getUpdatedExampleText(context);
|
|
83
|
-
if (updated === void 0) {
|
|
84
|
-
return null;
|
|
85
|
-
}
|
|
86
|
-
return fixer.replaceTextRange([absoluteStart, absoluteEnd], updated);
|
|
87
|
-
};
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* Extracts trailing whitespace from the original example range.
|
|
91
|
-
* @param original Original example text.
|
|
92
|
-
* @returns Trailing whitespace to preserve.
|
|
93
|
-
* @example
|
|
94
|
-
* ```typescript
|
|
95
|
-
* const suffix = getTrailingWhitespace("* @example ok\n ");
|
|
96
|
-
* ```
|
|
97
|
-
*/
|
|
98
|
-
function getTrailingWhitespace(original) {
|
|
99
|
-
const trailingMatch = /(?:\r?\n[ \t]*)$/u.exec(original);
|
|
100
|
-
return trailingMatch?.[0] ?? "";
|
|
101
|
-
}
|
|
102
|
-
/**
|
|
103
|
-
* Resolves the updated text for an example.
|
|
104
|
-
* @param context Fixer context details.
|
|
105
|
-
* @returns Fixed example text when a change is required.
|
|
106
|
-
* @example
|
|
107
|
-
* ```typescript
|
|
108
|
-
* const text = getUpdatedExampleText(context);
|
|
109
|
-
* ```
|
|
110
|
-
*/
|
|
111
|
-
function getUpdatedExampleText(context) {
|
|
112
|
-
const { absoluteEnd, absoluteStart, example, hasOtherExamples, problem, sourceText, } = context;
|
|
113
|
-
const original = sourceText.slice(absoluteStart, absoluteEnd);
|
|
114
|
-
if (problem === "missingLanguage") {
|
|
115
|
-
return buildMissingLanguageFix(original);
|
|
116
|
-
}
|
|
117
|
-
if (problem === "emptyExample") {
|
|
118
|
-
return resolveEmptyExampleFix({ example, hasOtherExamples, original });
|
|
119
|
-
}
|
|
120
|
-
const fixed = buildMissingFenceFix(example);
|
|
121
|
-
const trailingWhitespace = getTrailingWhitespace(original);
|
|
122
|
-
return trailingWhitespace.length > 0
|
|
123
|
-
? `${fixed}${trailingWhitespace}`
|
|
124
|
-
: fixed;
|
|
125
|
-
}
|
|
126
|
-
/**
|
|
127
|
-
* Normalizes raw example content lines before fence wrapping.
|
|
128
|
-
* @param context Prefix and raw content.
|
|
129
|
-
* @returns Content lines safe to wrap in a fenced block.
|
|
130
|
-
* @example
|
|
131
|
-
* ```typescript
|
|
132
|
-
* const lines = normalizeContentLines({ content: "a\n * b", prefix: " * " });
|
|
133
|
-
* ```
|
|
134
|
-
*/
|
|
135
|
-
function normalizeContentLines(context) {
|
|
136
|
-
const { content, prefix } = context;
|
|
137
|
-
const lines = content.length > 0 ? content.split(/\r?\n/u) : [];
|
|
138
|
-
return lines
|
|
139
|
-
.map((line) => stripContentPrefix({ line, prefix }))
|
|
140
|
-
.map((line) => line.replace(/\s*\*\/[ \t]*$/u, ""));
|
|
141
|
-
}
|
|
142
|
-
/**
|
|
143
|
-
* Resolves the appropriate fix for empty examples.
|
|
144
|
-
* @param context Empty example fix details.
|
|
145
|
-
* @returns Fixed example text when a change is required.
|
|
146
|
-
* @example
|
|
147
|
-
* ```typescript
|
|
148
|
-
* const text = resolveEmptyExampleFix(context);
|
|
149
|
-
* ```
|
|
150
|
-
*/
|
|
151
|
-
function resolveEmptyExampleFix(context) {
|
|
152
|
-
const { example, hasOtherExamples, original } = context;
|
|
153
|
-
const cleaned = removeEmptyFences(original);
|
|
154
|
-
if (cleaned !== void 0) {
|
|
155
|
-
return cleaned;
|
|
156
|
-
}
|
|
157
|
-
if (hasOtherExamples) {
|
|
158
|
-
return "";
|
|
159
|
-
}
|
|
160
|
-
if (original.includes("```")) {
|
|
161
|
-
return void 0;
|
|
162
|
-
}
|
|
163
|
-
return buildMissingFenceFix(example);
|
|
164
|
-
}
|
|
165
|
-
/**
|
|
166
|
-
* Removes JSDoc line prefixes from example content.
|
|
167
|
-
* @param context Prefix and source line.
|
|
168
|
-
* @returns Cleaned content line.
|
|
169
|
-
* @example
|
|
170
|
-
* ```typescript
|
|
171
|
-
* const line = stripContentPrefix({ line: " * value", prefix: " * " });
|
|
172
|
-
* ```
|
|
173
|
-
*/
|
|
174
|
-
function stripContentPrefix(context) {
|
|
175
|
-
const { line, prefix } = context;
|
|
176
|
-
if (line.startsWith(prefix)) {
|
|
177
|
-
return line.slice(prefix.length);
|
|
178
|
-
}
|
|
179
|
-
return line.replace(/^\s*\*\s?/u, "");
|
|
180
|
-
}
|
|
181
|
-
export { buildMissingFenceFix, buildMissingLanguageFix, createFixer };
|
|
182
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4ZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZG9jcy9yZXF1aXJlLWV4YW1wbGUtbGFuZ3VhZ2UvZml4ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBNER4RTs7Ozs7Ozs7R0FRRztBQUNILFNBQVMsa0JBQWtCLENBQUMsT0FBNkI7SUFDdkQsTUFBTSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsR0FBRyxPQUFPLENBQUM7SUFDbEMsTUFBTSxTQUFTLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRXZDLElBQUksU0FBUyxLQUFLLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDekIsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLE9BQU8sSUFBSSxTQUFTLENBQUMsUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUM7SUFDdEUsTUFBTSxRQUFRLEdBQUcsaUJBQWlCO1FBQ2hDLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxPQUFPLGtCQUFrQjtRQUN4QyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBRVQsT0FBTyxFQUFFLE9BQU8sRUFBRSxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUM7QUFDL0MsQ0FBQztBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsU0FBUyxvQkFBb0IsQ0FBQyxPQUFnQjtJQUM1QyxNQUFNLFlBQVksR0FBRyxxQkFBcUIsQ0FBQztRQUN6QyxPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU87UUFDeEIsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNO0tBQ3ZCLENBQUMsQ0FBQztJQUVILE9BQU87UUFDTCxHQUFHLE9BQU8sQ0FBQyxNQUFNLFVBQVU7UUFDM0IsR0FBRyxPQUFPLENBQUMsTUFBTSxrQkFBa0I7UUFDbkMsR0FBRyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FDbEMsV0FBVyxDQUFDLE1BQU0sR0FBRyxDQUFDO1lBQ3BCLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxNQUFNLElBQUksV0FBVyxFQUFFO1lBQ3BDLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUNuQjtRQUNELEdBQUcsT0FBTyxDQUFDLE1BQU0sUUFBUTtLQUMxQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNmLENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILFNBQVMsdUJBQXVCLENBQUMsUUFBZ0I7SUFDL0MsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDNUQsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN2QyxJQUFJLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFFcEIsTUFBTSxZQUFZLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1FBQ3RDLE1BQU0sRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsR0FBRyxrQkFBa0IsQ0FBQztZQUNsRSxPQUFPO1lBQ1AsSUFBSTtTQUNMLENBQUMsQ0FBQztRQUNILE9BQU8sR0FBRyxXQUFXLENBQUM7UUFDdEIsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQyxDQUFDLENBQUM7SUFFSCxNQUFNLE9BQU8sR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBRTdDLE9BQU8sT0FBTyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztBQUNqRCxDQUFDO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFTLFdBQVcsQ0FDbEIsT0FBcUI7SUFFckIsTUFBTSxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsR0FBRyxPQUFPLENBQUM7SUFFL0MsT0FBTyxDQUFDLEtBQXFCLEVBQW1CLEVBQUU7UUFDaEQsTUFBTSxPQUFPLEdBQUcscUJBQXFCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFL0MsSUFBSSxPQUFPLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN2QixPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFFRCxPQUFPLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLGFBQWEsRUFBRSxXQUFXLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN2RSxDQUFDLENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFTLHFCQUFxQixDQUFDLFFBQWdCO0lBQzdDLE1BQU0sYUFBYSxHQUFHLG1CQUFtQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUV6RCxPQUFPLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztBQUNsQyxDQUFDO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFTLHFCQUFxQixDQUFDLE9BQXFCO0lBQ2xELE1BQU0sRUFDSixXQUFXLEVBQ1gsYUFBYSxFQUNiLE9BQU8sRUFDUCxnQkFBZ0IsRUFDaEIsT0FBTyxFQUNQLFVBQVUsR0FDWCxHQUFHLE9BQU8sQ0FBQztJQUNaLE1BQU0sUUFBUSxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBRTlELElBQUksT0FBTyxLQUFLLGlCQUFpQixFQUFFLENBQUM7UUFDbEMsT0FBTyx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQsSUFBSSxPQUFPLEtBQUssY0FBYyxFQUFFLENBQUM7UUFDL0IsT0FBTyxzQkFBc0IsQ0FBQyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFRCxNQUFNLEtBQUssR0FBRyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM1QyxNQUFNLGtCQUFrQixHQUFHLHFCQUFxQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRTNELE9BQU8sa0JBQWtCLENBQUMsTUFBTSxHQUFHLENBQUM7UUFDbEMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxHQUFHLGtCQUFrQixFQUFFO1FBQ2pDLENBQUMsQ0FBQyxLQUFLLENBQUM7QUFDWixDQUFDO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFTLHFCQUFxQixDQUFDLE9BQXFDO0lBQ2xFLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDO0lBQ3BDLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFFaEUsT0FBTyxLQUFLO1NBQ1QsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1NBQ25ELEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ3hELENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILFNBQVMsc0JBQXNCLENBQzdCLE9BQStCO0lBRS9CLE1BQU0sRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLEdBQUcsT0FBTyxDQUFDO0lBQ3hELE1BQU0sT0FBTyxHQUFHLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRTVDLElBQUksT0FBTyxLQUFLLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDdkIsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELElBQUksZ0JBQWdCLEVBQUUsQ0FBQztRQUNyQixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxJQUFJLFFBQVEsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUM3QixPQUFPLEtBQUssQ0FBQyxDQUFDO0lBQ2hCLENBQUM7SUFFRCxPQUFPLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ3ZDLENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILFNBQVMsa0JBQWtCLENBQUMsT0FBa0M7SUFDNUQsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsR0FBRyxPQUFPLENBQUM7SUFFakMsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDNUIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUMsQ0FBQztBQUN4QyxDQUFDO0FBRUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLHVCQUF1QixFQUFFLFdBQVcsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBSdWxlIH0gZnJvbSBcImVzbGludFwiO1xuXG5pbXBvcnQgdHlwZSB7IEV4YW1wbGUsIFByb2JsZW0gfSBmcm9tIFwiLi90eXBlc1wiO1xuXG5pbXBvcnQgeyBwYXJzZUZlbmNlTGluZSwgcmVtb3ZlRW1wdHlGZW5jZXMgfSBmcm9tIFwiLi9lbXB0eS1mZW5jZS1maXhlc1wiO1xuXG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciBydWxlIGRhdGEuICovXG5pbnRlcmZhY2UgRW1wdHlFeGFtcGxlRml4Q29udGV4dCB7XG4gIC8qKiBFeGFtcGxlIGZpZWxkIHZhbHVlLiAqL1xuICBleGFtcGxlOiBFeGFtcGxlO1xuICAvKiogSGFzT3RoZXJFeGFtcGxlcyBmaWVsZCB2YWx1ZS4gKi9cbiAgaGFzT3RoZXJFeGFtcGxlczogYm9vbGVhbjtcbiAgLyoqIE9yaWdpbmFsIGZpZWxkIHZhbHVlLiAqL1xuICBvcmlnaW5hbDogc3RyaW5nO1xufVxuXG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciBydWxlIGRhdGEuICovXG5pbnRlcmZhY2UgRmVuY2VMYW5ndWFnZUNvbnRleHQge1xuICAvKiogSW5GZW5jZSBmaWVsZCB2YWx1ZS4gKi9cbiAgaW5GZW5jZTogYm9vbGVhbjtcbiAgLyoqIExpbmUgZmllbGQgdmFsdWUuICovXG4gIGxpbmU6IHN0cmluZztcbn1cblxuLyoqIFR5cGUgZGVmaW5pdGlvbiBmb3IgcnVsZSBkYXRhLiAqL1xuaW50ZXJmYWNlIEZlbmNlUmVzdWx0IHtcbiAgLyoqIEluRmVuY2UgZmllbGQgdmFsdWUuICovXG4gIGluRmVuY2U6IGJvb2xlYW47XG4gIC8qKiBMaW5lIGZpZWxkIHZhbHVlLiAqL1xuICBsaW5lOiBzdHJpbmc7XG59XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbmludGVyZmFjZSBGaXhlckNvbnRleHQge1xuICAvKiogQWJzb2x1dGVFbmQgZmllbGQgdmFsdWUuICovXG4gIGFic29sdXRlRW5kOiBudW1iZXI7XG4gIC8qKiBBYnNvbHV0ZVN0YXJ0IGZpZWxkIHZhbHVlLiAqL1xuICBhYnNvbHV0ZVN0YXJ0OiBudW1iZXI7XG4gIC8qKiBFeGFtcGxlIGZpZWxkIHZhbHVlLiAqL1xuICBleGFtcGxlOiBFeGFtcGxlO1xuICAvKiogSGFzT3RoZXJFeGFtcGxlcyBmaWVsZCB2YWx1ZS4gKi9cbiAgaGFzT3RoZXJFeGFtcGxlczogYm9vbGVhbjtcbiAgLyoqIFByb2JsZW0gZmllbGQgdmFsdWUuICovXG4gIHByb2JsZW06IFByb2JsZW07XG4gIC8qKiBTb3VyY2VUZXh0IGZpZWxkIHZhbHVlLiAqL1xuICBzb3VyY2VUZXh0OiBzdHJpbmc7XG59XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbmludGVyZmFjZSBOb3JtYWxpemVDb250ZW50TGluZXNDb250ZXh0IHtcbiAgLyoqIENvbnRlbnQgZmllbGQgdmFsdWUuICovXG4gIGNvbnRlbnQ6IHN0cmluZztcbiAgLyoqIFByZWZpeCBmaWVsZCB2YWx1ZS4gKi9cbiAgcHJlZml4OiBzdHJpbmc7XG59XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbmludGVyZmFjZSBTdHJpcENvbnRlbnRQcmVmaXhDb250ZXh0IHtcbiAgLyoqIExpbmUgZmllbGQgdmFsdWUuICovXG4gIGxpbmU6IHN0cmluZztcbiAgLyoqIFByZWZpeCBmaWVsZCB2YWx1ZS4gKi9cbiAgcHJlZml4OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQXBwbGllcyBhIGxhbmd1YWdlIHRvIGEgZmVuY2UgbGluZSB3aGVuIG5lZWRlZC5cbiAqIEBwYXJhbSBjb250ZXh0IEZlbmNlIHN0YXRlIGFuZCBsaW5lIGRhdGEuXG4gKiBAcmV0dXJucyBVcGRhdGVkIGxpbmUgYW5kIGZlbmNlIHN0YXRlLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHJlc3VsdCA9IGFwcGx5RmVuY2VMYW5ndWFnZSh7IGluRmVuY2U6IGZhbHNlLCBsaW5lOiBcIiAqIGBgYFwiIH0pO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGFwcGx5RmVuY2VMYW5ndWFnZShjb250ZXh0OiBGZW5jZUxhbmd1YWdlQ29udGV4dCk6IEZlbmNlUmVzdWx0IHtcbiAgY29uc3QgeyBpbkZlbmNlLCBsaW5lIH0gPSBjb250ZXh0O1xuICBjb25zdCBmZW5jZUluZm8gPSBwYXJzZUZlbmNlTGluZShsaW5lKTtcblxuICBpZiAoZmVuY2VJbmZvID09PSB2b2lkIDApIHtcbiAgICByZXR1cm4geyBpbkZlbmNlLCBsaW5lIH07XG4gIH1cblxuICBjb25zdCBzaG91bGRBZGRMYW5ndWFnZSA9ICFpbkZlbmNlICYmIGZlbmNlSW5mby5sYW5ndWFnZS5sZW5ndGggPT09IDA7XG4gIGNvbnN0IG5leHRMaW5lID0gc2hvdWxkQWRkTGFuZ3VhZ2VcbiAgICA/IGAke2ZlbmNlSW5mby5sZWFkaW5nfVxcYFxcYFxcYHR5cGVzY3JpcHRgXG4gICAgOiBsaW5lO1xuXG4gIHJldHVybiB7IGluRmVuY2U6ICFpbkZlbmNlLCBsaW5lOiBuZXh0TGluZSB9O1xufVxuXG4vKipcbiAqIEJ1aWxkcyBhIGZ1bGwgZXhhbXBsZSB3aXRoIGEgZmVuY2VkIGJsb2NrIHdoZW4gbWlzc2luZyBlbnRpcmVseS5cbiAqIEBwYXJhbSBleGFtcGxlIEV4YW1wbGUgbWV0YWRhdGEuXG4gKiBAcmV0dXJucyBFeGFtcGxlIHRleHQgd2l0aCBhIGZlbmNlZCBibG9jay5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCB0ZXh0ID0gYnVpbGRNaXNzaW5nRmVuY2VGaXgoZXhhbXBsZSk7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gYnVpbGRNaXNzaW5nRmVuY2VGaXgoZXhhbXBsZTogRXhhbXBsZSk6IHN0cmluZyB7XG4gIGNvbnN0IGNvbnRlbnRMaW5lcyA9IG5vcm1hbGl6ZUNvbnRlbnRMaW5lcyh7XG4gICAgY29udGVudDogZXhhbXBsZS5jb250ZW50LFxuICAgIHByZWZpeDogZXhhbXBsZS5wcmVmaXgsXG4gIH0pO1xuXG4gIHJldHVybiBbXG4gICAgYCR7ZXhhbXBsZS5wcmVmaXh9QGV4YW1wbGVgLFxuICAgIGAke2V4YW1wbGUucHJlZml4fVxcYFxcYFxcYHR5cGVzY3JpcHRgLFxuICAgIC4uLmNvbnRlbnRMaW5lcy5tYXAoKGNvbnRlbnRMaW5lKSA9PlxuICAgICAgY29udGVudExpbmUubGVuZ3RoID4gMFxuICAgICAgICA/IGAke2V4YW1wbGUucHJlZml4fSAke2NvbnRlbnRMaW5lfWBcbiAgICAgICAgOiBleGFtcGxlLnByZWZpeCxcbiAgICApLFxuICAgIGAke2V4YW1wbGUucHJlZml4fVxcYFxcYFxcYGAsXG4gIF0uam9pbihcIlxcblwiKTtcbn1cblxuLyoqXG4gKiBBZGRzIG1pc3NpbmcgbGFuZ3VhZ2VzIHRvIGV4aXN0aW5nIGZlbmNlZCBibG9ja3MuXG4gKiBAcGFyYW0gb3JpZ2luYWwgT3JpZ2luYWwgY29tbWVudCB0ZXh0LlxuICogQHJldHVybnMgVXBkYXRlZCBjb21tZW50IHRleHQgd2hlbiBjaGFuZ2VzIGFyZSBtYWRlLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHVwZGF0ZWQgPSBidWlsZE1pc3NpbmdMYW5ndWFnZUZpeChcIiogYGBgXFxuKiBva1xcbiogYGBgXCIpO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGJ1aWxkTWlzc2luZ0xhbmd1YWdlRml4KG9yaWdpbmFsOiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICBjb25zdCBsaW5lQnJlYWsgPSBvcmlnaW5hbC5pbmNsdWRlcyhcIlxcclxcblwiKSA/IFwiXFxyXFxuXCIgOiBcIlxcblwiO1xuICBjb25zdCBsaW5lcyA9IG9yaWdpbmFsLnNwbGl0KC9cXHI/XFxuL3UpO1xuICBsZXQgaW5GZW5jZSA9IGZhbHNlO1xuXG4gIGNvbnN0IHVwZGF0ZWRMaW5lcyA9IGxpbmVzLm1hcCgobGluZSkgPT4ge1xuICAgIGNvbnN0IHsgaW5GZW5jZTogbmV4dEluRmVuY2UsIGxpbmU6IG5leHRMaW5lIH0gPSBhcHBseUZlbmNlTGFuZ3VhZ2Uoe1xuICAgICAgaW5GZW5jZSxcbiAgICAgIGxpbmUsXG4gICAgfSk7XG4gICAgaW5GZW5jZSA9IG5leHRJbkZlbmNlO1xuICAgIHJldHVybiBuZXh0TGluZTtcbiAgfSk7XG5cbiAgY29uc3QgdXBkYXRlZCA9IHVwZGF0ZWRMaW5lcy5qb2luKGxpbmVCcmVhayk7XG5cbiAgcmV0dXJuIHVwZGF0ZWQgPT09IG9yaWdpbmFsID8gdm9pZCAwIDogdXBkYXRlZDtcbn1cblxuLyoqXG4gKiBCdWlsZHMgYSBmaXhlciBmdW5jdGlvbiBmb3IgdGhlIHJlcG9ydC5cbiAqIEBwYXJhbSBjb250ZXh0IEZpeGVyIGNvbnRleHQgZGV0YWlscy5cbiAqIEByZXR1cm5zIEZpeGVyIGZ1bmN0aW9uIGZvciBFU0xpbnQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgZml4ZXIgPSBjcmVhdGVGaXhlcihjb250ZXh0KTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiBjcmVhdGVGaXhlcihcbiAgY29udGV4dDogRml4ZXJDb250ZXh0LFxuKTogKGZpeGVyOiBSdWxlLlJ1bGVGaXhlcikgPT4gbnVsbCB8IFJ1bGUuRml4IHtcbiAgY29uc3QgeyBhYnNvbHV0ZUVuZCwgYWJzb2x1dGVTdGFydCB9ID0gY29udGV4dDtcblxuICByZXR1cm4gKGZpeGVyOiBSdWxlLlJ1bGVGaXhlcik6IG51bGwgfCBSdWxlLkZpeCA9PiB7XG4gICAgY29uc3QgdXBkYXRlZCA9IGdldFVwZGF0ZWRFeGFtcGxlVGV4dChjb250ZXh0KTtcblxuICAgIGlmICh1cGRhdGVkID09PSB2b2lkIDApIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiBmaXhlci5yZXBsYWNlVGV4dFJhbmdlKFthYnNvbHV0ZVN0YXJ0LCBhYnNvbHV0ZUVuZF0sIHVwZGF0ZWQpO1xuICB9O1xufVxuXG4vKipcbiAqIEV4dHJhY3RzIHRyYWlsaW5nIHdoaXRlc3BhY2UgZnJvbSB0aGUgb3JpZ2luYWwgZXhhbXBsZSByYW5nZS5cbiAqIEBwYXJhbSBvcmlnaW5hbCBPcmlnaW5hbCBleGFtcGxlIHRleHQuXG4gKiBAcmV0dXJucyBUcmFpbGluZyB3aGl0ZXNwYWNlIHRvIHByZXNlcnZlLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHN1ZmZpeCA9IGdldFRyYWlsaW5nV2hpdGVzcGFjZShcIiogQGV4YW1wbGUgb2tcXG4gXCIpO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGdldFRyYWlsaW5nV2hpdGVzcGFjZShvcmlnaW5hbDogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgdHJhaWxpbmdNYXRjaCA9IC8oPzpcXHI/XFxuWyBcXHRdKikkL3UuZXhlYyhvcmlnaW5hbCk7XG5cbiAgcmV0dXJuIHRyYWlsaW5nTWF0Y2g/LlswXSA/PyBcIlwiO1xufVxuXG4vKipcbiAqIFJlc29sdmVzIHRoZSB1cGRhdGVkIHRleHQgZm9yIGFuIGV4YW1wbGUuXG4gKiBAcGFyYW0gY29udGV4dCBGaXhlciBjb250ZXh0IGRldGFpbHMuXG4gKiBAcmV0dXJucyBGaXhlZCBleGFtcGxlIHRleHQgd2hlbiBhIGNoYW5nZSBpcyByZXF1aXJlZC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCB0ZXh0ID0gZ2V0VXBkYXRlZEV4YW1wbGVUZXh0KGNvbnRleHQpO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGdldFVwZGF0ZWRFeGFtcGxlVGV4dChjb250ZXh0OiBGaXhlckNvbnRleHQpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICBjb25zdCB7XG4gICAgYWJzb2x1dGVFbmQsXG4gICAgYWJzb2x1dGVTdGFydCxcbiAgICBleGFtcGxlLFxuICAgIGhhc090aGVyRXhhbXBsZXMsXG4gICAgcHJvYmxlbSxcbiAgICBzb3VyY2VUZXh0LFxuICB9ID0gY29udGV4dDtcbiAgY29uc3Qgb3JpZ2luYWwgPSBzb3VyY2VUZXh0LnNsaWNlKGFic29sdXRlU3RhcnQsIGFic29sdXRlRW5kKTtcblxuICBpZiAocHJvYmxlbSA9PT0gXCJtaXNzaW5nTGFuZ3VhZ2VcIikge1xuICAgIHJldHVybiBidWlsZE1pc3NpbmdMYW5ndWFnZUZpeChvcmlnaW5hbCk7XG4gIH1cblxuICBpZiAocHJvYmxlbSA9PT0gXCJlbXB0eUV4YW1wbGVcIikge1xuICAgIHJldHVybiByZXNvbHZlRW1wdHlFeGFtcGxlRml4KHsgZXhhbXBsZSwgaGFzT3RoZXJFeGFtcGxlcywgb3JpZ2luYWwgfSk7XG4gIH1cblxuICBjb25zdCBmaXhlZCA9IGJ1aWxkTWlzc2luZ0ZlbmNlRml4KGV4YW1wbGUpO1xuICBjb25zdCB0cmFpbGluZ1doaXRlc3BhY2UgPSBnZXRUcmFpbGluZ1doaXRlc3BhY2Uob3JpZ2luYWwpO1xuXG4gIHJldHVybiB0cmFpbGluZ1doaXRlc3BhY2UubGVuZ3RoID4gMFxuICAgID8gYCR7Zml4ZWR9JHt0cmFpbGluZ1doaXRlc3BhY2V9YFxuICAgIDogZml4ZWQ7XG59XG5cbi8qKlxuICogTm9ybWFsaXplcyByYXcgZXhhbXBsZSBjb250ZW50IGxpbmVzIGJlZm9yZSBmZW5jZSB3cmFwcGluZy5cbiAqIEBwYXJhbSBjb250ZXh0IFByZWZpeCBhbmQgcmF3IGNvbnRlbnQuXG4gKiBAcmV0dXJucyBDb250ZW50IGxpbmVzIHNhZmUgdG8gd3JhcCBpbiBhIGZlbmNlZCBibG9jay5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBsaW5lcyA9IG5vcm1hbGl6ZUNvbnRlbnRMaW5lcyh7IGNvbnRlbnQ6IFwiYVxcbiAqIGJcIiwgcHJlZml4OiBcIiAqIFwiIH0pO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIG5vcm1hbGl6ZUNvbnRlbnRMaW5lcyhjb250ZXh0OiBOb3JtYWxpemVDb250ZW50TGluZXNDb250ZXh0KTogc3RyaW5nW10ge1xuICBjb25zdCB7IGNvbnRlbnQsIHByZWZpeCB9ID0gY29udGV4dDtcbiAgY29uc3QgbGluZXMgPSBjb250ZW50Lmxlbmd0aCA+IDAgPyBjb250ZW50LnNwbGl0KC9cXHI/XFxuL3UpIDogW107XG5cbiAgcmV0dXJuIGxpbmVzXG4gICAgLm1hcCgobGluZSkgPT4gc3RyaXBDb250ZW50UHJlZml4KHsgbGluZSwgcHJlZml4IH0pKVxuICAgIC5tYXAoKGxpbmUpID0+IGxpbmUucmVwbGFjZSgvXFxzKlxcKlxcL1sgXFx0XSokL3UsIFwiXCIpKTtcbn1cblxuLyoqXG4gKiBSZXNvbHZlcyB0aGUgYXBwcm9wcmlhdGUgZml4IGZvciBlbXB0eSBleGFtcGxlcy5cbiAqIEBwYXJhbSBjb250ZXh0IEVtcHR5IGV4YW1wbGUgZml4IGRldGFpbHMuXG4gKiBAcmV0dXJucyBGaXhlZCBleGFtcGxlIHRleHQgd2hlbiBhIGNoYW5nZSBpcyByZXF1aXJlZC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCB0ZXh0ID0gcmVzb2x2ZUVtcHR5RXhhbXBsZUZpeChjb250ZXh0KTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiByZXNvbHZlRW1wdHlFeGFtcGxlRml4KFxuICBjb250ZXh0OiBFbXB0eUV4YW1wbGVGaXhDb250ZXh0LFxuKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgY29uc3QgeyBleGFtcGxlLCBoYXNPdGhlckV4YW1wbGVzLCBvcmlnaW5hbCB9ID0gY29udGV4dDtcbiAgY29uc3QgY2xlYW5lZCA9IHJlbW92ZUVtcHR5RmVuY2VzKG9yaWdpbmFsKTtcblxuICBpZiAoY2xlYW5lZCAhPT0gdm9pZCAwKSB7XG4gICAgcmV0dXJuIGNsZWFuZWQ7XG4gIH1cblxuICBpZiAoaGFzT3RoZXJFeGFtcGxlcykge1xuICAgIHJldHVybiBcIlwiO1xuICB9XG5cbiAgaWYgKG9yaWdpbmFsLmluY2x1ZGVzKFwiYGBgXCIpKSB7XG4gICAgcmV0dXJuIHZvaWQgMDtcbiAgfVxuXG4gIHJldHVybiBidWlsZE1pc3NpbmdGZW5jZUZpeChleGFtcGxlKTtcbn1cblxuLyoqXG4gKiBSZW1vdmVzIEpTRG9jIGxpbmUgcHJlZml4ZXMgZnJvbSBleGFtcGxlIGNvbnRlbnQuXG4gKiBAcGFyYW0gY29udGV4dCBQcmVmaXggYW5kIHNvdXJjZSBsaW5lLlxuICogQHJldHVybnMgQ2xlYW5lZCBjb250ZW50IGxpbmUuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgbGluZSA9IHN0cmlwQ29udGVudFByZWZpeCh7IGxpbmU6IFwiICogdmFsdWVcIiwgcHJlZml4OiBcIiAqIFwiIH0pO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIHN0cmlwQ29udGVudFByZWZpeChjb250ZXh0OiBTdHJpcENvbnRlbnRQcmVmaXhDb250ZXh0KTogc3RyaW5nIHtcbiAgY29uc3QgeyBsaW5lLCBwcmVmaXggfSA9IGNvbnRleHQ7XG5cbiAgaWYgKGxpbmUuc3RhcnRzV2l0aChwcmVmaXgpKSB7XG4gICAgcmV0dXJuIGxpbmUuc2xpY2UocHJlZml4Lmxlbmd0aCk7XG4gIH1cblxuICByZXR1cm4gbGluZS5yZXBsYWNlKC9eXFxzKlxcKlxccz8vdSwgXCJcIik7XG59XG5cbmV4cG9ydCB7IGJ1aWxkTWlzc2luZ0ZlbmNlRml4LCBidWlsZE1pc3NpbmdMYW5ndWFnZUZpeCwgY3JlYXRlRml4ZXIgfTsiXX0=
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/docs/require-example-language/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,QAAQ,CAAC;AACpD,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export { requireExampleLanguageRule } from "./rule";
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZG9jcy9yZXF1aXJlLWV4YW1wbGUtbGFuZ3VhZ2UvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgcmVxdWlyZUV4YW1wbGVMYW5ndWFnZVJ1bGUgfSBmcm9tIFwiLi9ydWxlXCI7XG5leHBvcnQgdHlwZSB7IENvbW1lbnQsIEV4YW1wbGUsIFByb2JsZW0gfSBmcm9tIFwiLi90eXBlc1wiO1xuIl19
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"reporting.d.ts","sourceRoot":"","sources":["../../../src/docs/require-example-language/reporting.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEnC,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAuBzD,qCAAqC;AACrC,UAAU,uBAAuB;IAC/B,2BAA2B;IAC3B,OAAO,EAAE,OAAO,CAAC;IAEjB,2BAA2B;IAC3B,OAAO,EAAE,OAAO,CAAC;IAEjB,oCAAoC;IACpC,gBAAgB,EAAE,OAAO,CAAC;IAE1B,2BAA2B;IAC3B,OAAO,EAAE,OAAO,CAAC;IAEjB,8BAA8B;IAC9B,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;CAC5C;AAED,qCAAqC;AACrC,UAAU,oBAAoB;IAC5B,2BAA2B;IAC3B,OAAO,EAAE,OAAO,CAAC;IAEjB,2BAA2B;IAC3B,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC;IAE1B,2BAA2B;IAC3B,OAAO,EAAE,OAAO,CAAC;IAEjB,oCAAoC;IACpC,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAuBD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,iBAAS,qBAAqB,CAC5B,OAAO,EAAE,uBAAuB,GAC/B,IAAI,CAAC,gBAAgB,CAwBvB;AA0FD;;;;;;;GAOG;AACH,iBAAS,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAiB1D;AAED,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,CAAC"}
|
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
import { checkExampleContent } from "./examples";
|
|
2
|
-
import { createFixer } from "./fixes";
|
|
3
|
-
/**
|
|
4
|
-
* Build a report descriptor for a single example problem.
|
|
5
|
-
* @param context Input context value.
|
|
6
|
-
* @returns Return value output.
|
|
7
|
-
* @example
|
|
8
|
-
* ```typescript
|
|
9
|
-
* const descriptor = buildReportDescriptor({
|
|
10
|
-
* comment: { type: "Block", value: "*" } as Comment,
|
|
11
|
-
* example: {
|
|
12
|
-
* content: "",
|
|
13
|
-
* endIndex: 0,
|
|
14
|
-
* endOffset: 0,
|
|
15
|
-
* lineIndex: 0,
|
|
16
|
-
* prefix: " * ",
|
|
17
|
-
* startOffset: 0,
|
|
18
|
-
* },
|
|
19
|
-
* hasOtherExamples: false,
|
|
20
|
-
* problem: "missingFence",
|
|
21
|
-
* sourceCode: {} as Rule.SourceCode,
|
|
22
|
-
* });
|
|
23
|
-
* ```
|
|
24
|
-
*/
|
|
25
|
-
function buildReportDescriptor(context) {
|
|
26
|
-
const { comment, example, hasOtherExamples, problem, sourceCode } = context;
|
|
27
|
-
const fix = getFixerForExample({
|
|
28
|
-
comment,
|
|
29
|
-
example,
|
|
30
|
-
hasOtherExamples,
|
|
31
|
-
problem,
|
|
32
|
-
sourceCode,
|
|
33
|
-
});
|
|
34
|
-
const loc = getReportLocation(comment, example);
|
|
35
|
-
if (loc !== void 0) {
|
|
36
|
-
return {
|
|
37
|
-
fix,
|
|
38
|
-
loc,
|
|
39
|
-
messageId: problem,
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
|
-
return {
|
|
43
|
-
fix,
|
|
44
|
-
messageId: problem,
|
|
45
|
-
node: sourceCode.ast,
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Resolve a fixer for the report when ranges are available.
|
|
50
|
-
* @param context Input context value.
|
|
51
|
-
* @returns Return value output.
|
|
52
|
-
* @example
|
|
53
|
-
* ```typescript
|
|
54
|
-
* const fixer = getFixerForExample({
|
|
55
|
-
* comment: { type: "Block", value: "*" } as Comment,
|
|
56
|
-
* example: {
|
|
57
|
-
* content: "",
|
|
58
|
-
* endIndex: 0,
|
|
59
|
-
* endOffset: 0,
|
|
60
|
-
* lineIndex: 0,
|
|
61
|
-
* prefix: " * ",
|
|
62
|
-
* startOffset: 0,
|
|
63
|
-
* },
|
|
64
|
-
* hasOtherExamples: false,
|
|
65
|
-
* problem: "missingLanguage",
|
|
66
|
-
* sourceCode: {} as Rule.SourceCode,
|
|
67
|
-
* });
|
|
68
|
-
* ```
|
|
69
|
-
*/
|
|
70
|
-
function getFixerForExample(context) {
|
|
71
|
-
const { comment, example, hasOtherExamples, problem, sourceCode } = context;
|
|
72
|
-
const commentOffset = comment.range?.[0];
|
|
73
|
-
const commentValueOffset = typeof commentOffset === "number" ? commentOffset + 2 : void 0;
|
|
74
|
-
const absoluteStart = typeof commentValueOffset === "number"
|
|
75
|
-
? commentValueOffset + example.startOffset
|
|
76
|
-
: void 0;
|
|
77
|
-
const absoluteEnd = typeof commentValueOffset === "number"
|
|
78
|
-
? commentValueOffset + example.endOffset
|
|
79
|
-
: void 0;
|
|
80
|
-
if (typeof absoluteStart !== "number" || typeof absoluteEnd !== "number") {
|
|
81
|
-
return void 0;
|
|
82
|
-
}
|
|
83
|
-
return createFixer({
|
|
84
|
-
absoluteEnd,
|
|
85
|
-
absoluteStart,
|
|
86
|
-
example,
|
|
87
|
-
hasOtherExamples,
|
|
88
|
-
problem,
|
|
89
|
-
sourceText: sourceCode.text,
|
|
90
|
-
});
|
|
91
|
-
}
|
|
92
|
-
/**
|
|
93
|
-
* Resolve the report location for a matched example.
|
|
94
|
-
* @param comment Comment node containing the example.
|
|
95
|
-
* @param example Example metadata.
|
|
96
|
-
* @returns Report location when available.
|
|
97
|
-
* @example
|
|
98
|
-
* ```typescript
|
|
99
|
-
* const loc = getReportLocation({} as Comment, {
|
|
100
|
-
* content: "",
|
|
101
|
-
* endIndex: 0,
|
|
102
|
-
* endOffset: 0,
|
|
103
|
-
* lineIndex: 0,
|
|
104
|
-
* prefix: "",
|
|
105
|
-
* startOffset: 0,
|
|
106
|
-
* });
|
|
107
|
-
* ```
|
|
108
|
-
*/
|
|
109
|
-
function getReportLocation(comment, example) {
|
|
110
|
-
const line = typeof comment.loc?.start.line === "number"
|
|
111
|
-
? comment.loc.start.line + example.lineIndex
|
|
112
|
-
: void 0;
|
|
113
|
-
if (line === void 0) {
|
|
114
|
-
return void 0;
|
|
115
|
-
}
|
|
116
|
-
return {
|
|
117
|
-
end: { column: 1, line },
|
|
118
|
-
start: { column: 0, line },
|
|
119
|
-
};
|
|
120
|
-
}
|
|
121
|
-
/**
|
|
122
|
-
* Reports a single example when it violates the rule.
|
|
123
|
-
* @param context Report details for this example.
|
|
124
|
-
* @example
|
|
125
|
-
* ```typescript
|
|
126
|
-
* reportExample(context);
|
|
127
|
-
* ```
|
|
128
|
-
*/
|
|
129
|
-
function reportExample(context) {
|
|
130
|
-
const { comment, context: ruleContext, example, hasOtherExamples } = context;
|
|
131
|
-
const problem = checkExampleContent(example.content);
|
|
132
|
-
if (problem === void 0) {
|
|
133
|
-
return;
|
|
134
|
-
}
|
|
135
|
-
const descriptor = buildReportDescriptor({
|
|
136
|
-
comment,
|
|
137
|
-
example,
|
|
138
|
-
hasOtherExamples,
|
|
139
|
-
problem,
|
|
140
|
-
sourceCode: ruleContext.sourceCode,
|
|
141
|
-
});
|
|
142
|
-
ruleContext.report(descriptor);
|
|
143
|
-
}
|
|
144
|
-
export { buildReportDescriptor, reportExample };
|
|
145
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0aW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2RvY3MvcmVxdWlyZS1leGFtcGxlLWxhbmd1YWdlL3JlcG9ydGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDakQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQTBFdEM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXFCRztBQUNILFNBQVMscUJBQXFCLENBQzVCLE9BQWdDO0lBRWhDLE1BQU0sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxPQUFPLENBQUM7SUFDNUUsTUFBTSxHQUFHLEdBQUcsa0JBQWtCLENBQUM7UUFDN0IsT0FBTztRQUNQLE9BQU87UUFDUCxnQkFBZ0I7UUFDaEIsT0FBTztRQUNQLFVBQVU7S0FDWCxDQUFDLENBQUM7SUFDSCxNQUFNLEdBQUcsR0FBRyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFFaEQsSUFBSSxHQUFHLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNuQixPQUFPO1lBQ0wsR0FBRztZQUNILEdBQUc7WUFDSCxTQUFTLEVBQUUsT0FBTztTQUNuQixDQUFDO0lBQ0osQ0FBQztJQUVELE9BQU87UUFDTCxHQUFHO1FBQ0gsU0FBUyxFQUFFLE9BQU87UUFDbEIsSUFBSSxFQUFFLFVBQVUsQ0FBQyxHQUFnQjtLQUNsQyxDQUFDO0FBQ0osQ0FBQztBQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQkc7QUFDSCxTQUFTLGtCQUFrQixDQUN6QixPQUEyQjtJQUUzQixNQUFNLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsT0FBTyxDQUFDO0lBQzVFLE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN6QyxNQUFNLGtCQUFrQixHQUN0QixPQUFPLGFBQWEsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLGFBQWEsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pFLE1BQU0sYUFBYSxHQUNqQixPQUFPLGtCQUFrQixLQUFLLFFBQVE7UUFDcEMsQ0FBQyxDQUFDLGtCQUFrQixHQUFHLE9BQU8sQ0FBQyxXQUFXO1FBQzFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNiLE1BQU0sV0FBVyxHQUNmLE9BQU8sa0JBQWtCLEtBQUssUUFBUTtRQUNwQyxDQUFDLENBQUMsa0JBQWtCLEdBQUcsT0FBTyxDQUFDLFNBQVM7UUFDeEMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRWIsSUFBSSxPQUFPLGFBQWEsS0FBSyxRQUFRLElBQUksT0FBTyxXQUFXLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDekUsT0FBTyxLQUFLLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBRUQsT0FBTyxXQUFXLENBQUM7UUFDakIsV0FBVztRQUNYLGFBQWE7UUFDYixPQUFPO1FBQ1AsZ0JBQWdCO1FBQ2hCLE9BQU87UUFDUCxVQUFVLEVBQUUsVUFBVSxDQUFDLElBQUk7S0FDNUIsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVEOzs7Ozs7Ozs7Ozs7Ozs7O0dBZ0JHO0FBQ0gsU0FBUyxpQkFBaUIsQ0FDeEIsT0FBZ0IsRUFDaEIsT0FBZ0I7SUFFaEIsTUFBTSxJQUFJLEdBQ1IsT0FBTyxPQUFPLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxJQUFJLEtBQUssUUFBUTtRQUN6QyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxTQUFTO1FBQzVDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUViLElBQUksSUFBSSxLQUFLLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDcEIsT0FBTyxLQUFLLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBRUQsT0FBTztRQUNMLEdBQUcsRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFO1FBQ3hCLEtBQUssRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFO0tBQzNCLENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7Ozs7R0FPRztBQUNILFNBQVMsYUFBYSxDQUFDLE9BQTZCO0lBQ2xELE1BQU0sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsR0FBRyxPQUFPLENBQUM7SUFDN0UsTUFBTSxPQUFPLEdBQUcsbUJBQW1CLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRXJELElBQUksT0FBTyxLQUFLLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDdkIsT0FBTztJQUNULENBQUM7SUFFRCxNQUFNLFVBQVUsR0FBRyxxQkFBcUIsQ0FBQztRQUN2QyxPQUFPO1FBQ1AsT0FBTztRQUNQLGdCQUFnQjtRQUNoQixPQUFPO1FBQ1AsVUFBVSxFQUFFLFdBQVcsQ0FBQyxVQUFVO0tBQ25DLENBQUMsQ0FBQztJQUVILFdBQVcsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7QUFDakMsQ0FBQztBQUVELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxhQUFhLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUnVsZSB9IGZyb20gXCJlc2xpbnRcIjtcblxuaW1wb3J0IHR5cGUgeyBDb21tZW50LCBFeGFtcGxlLCBQcm9ibGVtIH0gZnJvbSBcIi4vdHlwZXNcIjtcblxuaW1wb3J0IHsgY2hlY2tFeGFtcGxlQ29udGVudCB9IGZyb20gXCIuL2V4YW1wbGVzXCI7XG5pbXBvcnQgeyBjcmVhdGVGaXhlciB9IGZyb20gXCIuL2ZpeGVzXCI7XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbmludGVyZmFjZSBGaXhlckxvb2t1cENvbnRleHQge1xuICAvKiogQ29tbWVudCBmaWVsZCB2YWx1ZS4gKi9cbiAgY29tbWVudDogQ29tbWVudDtcblxuICAvKiogRXhhbXBsZSBmaWVsZCB2YWx1ZS4gKi9cbiAgZXhhbXBsZTogRXhhbXBsZTtcblxuICAvKiogSGFzT3RoZXJFeGFtcGxlcyBmaWVsZCB2YWx1ZS4gKi9cbiAgaGFzT3RoZXJFeGFtcGxlczogYm9vbGVhbjtcblxuICAvKiogUHJvYmxlbSBmaWVsZCB2YWx1ZS4gKi9cbiAgcHJvYmxlbTogUHJvYmxlbTtcblxuICAvKiogU291cmNlQ29kZSBmaWVsZCB2YWx1ZS4gKi9cbiAgc291cmNlQ29kZTogUnVsZS5SdWxlQ29udGV4dFtcInNvdXJjZUNvZGVcIl07XG59XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbmludGVyZmFjZSBSZXBvcnREZXNjcmlwdG9yQ29udGV4dCB7XG4gIC8qKiBDb21tZW50IGZpZWxkIHZhbHVlLiAqL1xuICBjb21tZW50OiBDb21tZW50O1xuXG4gIC8qKiBFeGFtcGxlIGZpZWxkIHZhbHVlLiAqL1xuICBleGFtcGxlOiBFeGFtcGxlO1xuXG4gIC8qKiBIYXNPdGhlckV4YW1wbGVzIGZpZWxkIHZhbHVlLiAqL1xuICBoYXNPdGhlckV4YW1wbGVzOiBib29sZWFuO1xuXG4gIC8qKiBQcm9ibGVtIGZpZWxkIHZhbHVlLiAqL1xuICBwcm9ibGVtOiBQcm9ibGVtO1xuXG4gIC8qKiBTb3VyY2VDb2RlIGZpZWxkIHZhbHVlLiAqL1xuICBzb3VyY2VDb2RlOiBSdWxlLlJ1bGVDb250ZXh0W1wic291cmNlQ29kZVwiXTtcbn1cblxuLyoqIFR5cGUgZGVmaW5pdGlvbiBmb3IgcnVsZSBkYXRhLiAqL1xuaW50ZXJmYWNlIFJlcG9ydEV4YW1wbGVDb250ZXh0IHtcbiAgLyoqIENvbW1lbnQgZmllbGQgdmFsdWUuICovXG4gIGNvbW1lbnQ6IENvbW1lbnQ7XG5cbiAgLyoqIENvbnRleHQgZmllbGQgdmFsdWUuICovXG4gIGNvbnRleHQ6IFJ1bGUuUnVsZUNvbnRleHQ7XG5cbiAgLyoqIEV4YW1wbGUgZmllbGQgdmFsdWUuICovXG4gIGV4YW1wbGU6IEV4YW1wbGU7XG5cbiAgLyoqIEhhc090aGVyRXhhbXBsZXMgZmllbGQgdmFsdWUuICovXG4gIGhhc090aGVyRXhhbXBsZXM6IGJvb2xlYW47XG59XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbmludGVyZmFjZSBSZXBvcnRMb2NhdGlvbiB7XG4gIC8qKiBFbmQgZmllbGQgdmFsdWUuICovXG4gIGVuZDoge1xuICAgIC8qKiBDb2x1bW4gZmllbGQgdmFsdWUuICovXG4gICAgY29sdW1uOiBudW1iZXI7XG5cbiAgICAvKiogTGluZSBmaWVsZCB2YWx1ZS4gKi9cbiAgICBsaW5lOiBudW1iZXI7XG4gIH07XG5cbiAgLyoqIFN0YXJ0IGZpZWxkIHZhbHVlLiAqL1xuICBzdGFydDoge1xuICAgIC8qKiBDb2x1bW4gZmllbGQgdmFsdWUuICovXG4gICAgY29sdW1uOiBudW1iZXI7XG5cbiAgICAvKiogTGluZSBmaWVsZCB2YWx1ZS4gKi9cbiAgICBsaW5lOiBudW1iZXI7XG4gIH07XG59XG5cbi8qKlxuICogQnVpbGQgYSByZXBvcnQgZGVzY3JpcHRvciBmb3IgYSBzaW5nbGUgZXhhbXBsZSBwcm9ibGVtLlxuICogQHBhcmFtIGNvbnRleHQgSW5wdXQgY29udGV4dCB2YWx1ZS5cbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgZGVzY3JpcHRvciA9IGJ1aWxkUmVwb3J0RGVzY3JpcHRvcih7XG4gKiAgIGNvbW1lbnQ6IHsgdHlwZTogXCJCbG9ja1wiLCB2YWx1ZTogXCIqXCIgfSBhcyBDb21tZW50LFxuICogICBleGFtcGxlOiB7XG4gKiAgICAgY29udGVudDogXCJcIixcbiAqICAgICBlbmRJbmRleDogMCxcbiAqICAgICBlbmRPZmZzZXQ6IDAsXG4gKiAgICAgbGluZUluZGV4OiAwLFxuICogICAgIHByZWZpeDogXCIgKiBcIixcbiAqICAgICBzdGFydE9mZnNldDogMCxcbiAqICAgfSxcbiAqICAgaGFzT3RoZXJFeGFtcGxlczogZmFsc2UsXG4gKiAgIHByb2JsZW06IFwibWlzc2luZ0ZlbmNlXCIsXG4gKiAgIHNvdXJjZUNvZGU6IHt9IGFzIFJ1bGUuU291cmNlQ29kZSxcbiAqIH0pO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGJ1aWxkUmVwb3J0RGVzY3JpcHRvcihcbiAgY29udGV4dDogUmVwb3J0RGVzY3JpcHRvckNvbnRleHQsXG4pOiBSdWxlLlJlcG9ydERlc2NyaXB0b3Ige1xuICBjb25zdCB7IGNvbW1lbnQsIGV4YW1wbGUsIGhhc090aGVyRXhhbXBsZXMsIHByb2JsZW0sIHNvdXJjZUNvZGUgfSA9IGNvbnRleHQ7XG4gIGNvbnN0IGZpeCA9IGdldEZpeGVyRm9yRXhhbXBsZSh7XG4gICAgY29tbWVudCxcbiAgICBleGFtcGxlLFxuICAgIGhhc090aGVyRXhhbXBsZXMsXG4gICAgcHJvYmxlbSxcbiAgICBzb3VyY2VDb2RlLFxuICB9KTtcbiAgY29uc3QgbG9jID0gZ2V0UmVwb3J0TG9jYXRpb24oY29tbWVudCwgZXhhbXBsZSk7XG5cbiAgaWYgKGxvYyAhPT0gdm9pZCAwKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGZpeCxcbiAgICAgIGxvYyxcbiAgICAgIG1lc3NhZ2VJZDogcHJvYmxlbSxcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBmaXgsXG4gICAgbWVzc2FnZUlkOiBwcm9ibGVtLFxuICAgIG5vZGU6IHNvdXJjZUNvZGUuYXN0IGFzIFJ1bGUuTm9kZSxcbiAgfTtcbn1cblxuLyoqXG4gKiBSZXNvbHZlIGEgZml4ZXIgZm9yIHRoZSByZXBvcnQgd2hlbiByYW5nZXMgYXJlIGF2YWlsYWJsZS5cbiAqIEBwYXJhbSBjb250ZXh0IElucHV0IGNvbnRleHQgdmFsdWUuXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGZpeGVyID0gZ2V0Rml4ZXJGb3JFeGFtcGxlKHtcbiAqICAgY29tbWVudDogeyB0eXBlOiBcIkJsb2NrXCIsIHZhbHVlOiBcIipcIiB9IGFzIENvbW1lbnQsXG4gKiAgIGV4YW1wbGU6IHtcbiAqICAgICBjb250ZW50OiBcIlwiLFxuICogICAgIGVuZEluZGV4OiAwLFxuICogICAgIGVuZE9mZnNldDogMCxcbiAqICAgICBsaW5lSW5kZXg6IDAsXG4gKiAgICAgcHJlZml4OiBcIiAqIFwiLFxuICogICAgIHN0YXJ0T2Zmc2V0OiAwLFxuICogICB9LFxuICogICBoYXNPdGhlckV4YW1wbGVzOiBmYWxzZSxcbiAqICAgcHJvYmxlbTogXCJtaXNzaW5nTGFuZ3VhZ2VcIixcbiAqICAgc291cmNlQ29kZToge30gYXMgUnVsZS5Tb3VyY2VDb2RlLFxuICogfSk7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gZ2V0Rml4ZXJGb3JFeGFtcGxlKFxuICBjb250ZXh0OiBGaXhlckxvb2t1cENvbnRleHQsXG4pOiAoKGZpeGVyOiBSdWxlLlJ1bGVGaXhlcikgPT4gbnVsbCB8IFJ1bGUuRml4KSB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IHsgY29tbWVudCwgZXhhbXBsZSwgaGFzT3RoZXJFeGFtcGxlcywgcHJvYmxlbSwgc291cmNlQ29kZSB9ID0gY29udGV4dDtcbiAgY29uc3QgY29tbWVudE9mZnNldCA9IGNvbW1lbnQucmFuZ2U/LlswXTtcbiAgY29uc3QgY29tbWVudFZhbHVlT2Zmc2V0ID1cbiAgICB0eXBlb2YgY29tbWVudE9mZnNldCA9PT0gXCJudW1iZXJcIiA/IGNvbW1lbnRPZmZzZXQgKyAyIDogdm9pZCAwO1xuICBjb25zdCBhYnNvbHV0ZVN0YXJ0ID1cbiAgICB0eXBlb2YgY29tbWVudFZhbHVlT2Zmc2V0ID09PSBcIm51bWJlclwiXG4gICAgICA/IGNvbW1lbnRWYWx1ZU9mZnNldCArIGV4YW1wbGUuc3RhcnRPZmZzZXRcbiAgICAgIDogdm9pZCAwO1xuICBjb25zdCBhYnNvbHV0ZUVuZCA9XG4gICAgdHlwZW9mIGNvbW1lbnRWYWx1ZU9mZnNldCA9PT0gXCJudW1iZXJcIlxuICAgICAgPyBjb21tZW50VmFsdWVPZmZzZXQgKyBleGFtcGxlLmVuZE9mZnNldFxuICAgICAgOiB2b2lkIDA7XG5cbiAgaWYgKHR5cGVvZiBhYnNvbHV0ZVN0YXJ0ICE9PSBcIm51bWJlclwiIHx8IHR5cGVvZiBhYnNvbHV0ZUVuZCAhPT0gXCJudW1iZXJcIikge1xuICAgIHJldHVybiB2b2lkIDA7XG4gIH1cblxuICByZXR1cm4gY3JlYXRlRml4ZXIoe1xuICAgIGFic29sdXRlRW5kLFxuICAgIGFic29sdXRlU3RhcnQsXG4gICAgZXhhbXBsZSxcbiAgICBoYXNPdGhlckV4YW1wbGVzLFxuICAgIHByb2JsZW0sXG4gICAgc291cmNlVGV4dDogc291cmNlQ29kZS50ZXh0LFxuICB9KTtcbn1cblxuLyoqXG4gKiBSZXNvbHZlIHRoZSByZXBvcnQgbG9jYXRpb24gZm9yIGEgbWF0Y2hlZCBleGFtcGxlLlxuICogQHBhcmFtIGNvbW1lbnQgQ29tbWVudCBub2RlIGNvbnRhaW5pbmcgdGhlIGV4YW1wbGUuXG4gKiBAcGFyYW0gZXhhbXBsZSBFeGFtcGxlIG1ldGFkYXRhLlxuICogQHJldHVybnMgUmVwb3J0IGxvY2F0aW9uIHdoZW4gYXZhaWxhYmxlLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGxvYyA9IGdldFJlcG9ydExvY2F0aW9uKHt9IGFzIENvbW1lbnQsIHtcbiAqICAgIGNvbnRlbnQ6IFwiXCIsXG4gKiAgICBlbmRJbmRleDogMCxcbiAqICAgIGVuZE9mZnNldDogMCxcbiAqICAgIGxpbmVJbmRleDogMCxcbiAqICAgIHByZWZpeDogXCJcIixcbiAqICAgIHN0YXJ0T2Zmc2V0OiAwLFxuICogfSk7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gZ2V0UmVwb3J0TG9jYXRpb24oXG4gIGNvbW1lbnQ6IENvbW1lbnQsXG4gIGV4YW1wbGU6IEV4YW1wbGUsXG4pOiBSZXBvcnRMb2NhdGlvbiB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IGxpbmUgPVxuICAgIHR5cGVvZiBjb21tZW50LmxvYz8uc3RhcnQubGluZSA9PT0gXCJudW1iZXJcIlxuICAgICAgPyBjb21tZW50LmxvYy5zdGFydC5saW5lICsgZXhhbXBsZS5saW5lSW5kZXhcbiAgICAgIDogdm9pZCAwO1xuXG4gIGlmIChsaW5lID09PSB2b2lkIDApIHtcbiAgICByZXR1cm4gdm9pZCAwO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBlbmQ6IHsgY29sdW1uOiAxLCBsaW5lIH0sXG4gICAgc3RhcnQ6IHsgY29sdW1uOiAwLCBsaW5lIH0sXG4gIH07XG59XG5cbi8qKlxuICogUmVwb3J0cyBhIHNpbmdsZSBleGFtcGxlIHdoZW4gaXQgdmlvbGF0ZXMgdGhlIHJ1bGUuXG4gKiBAcGFyYW0gY29udGV4dCBSZXBvcnQgZGV0YWlscyBmb3IgdGhpcyBleGFtcGxlLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIHJlcG9ydEV4YW1wbGUoY29udGV4dCk7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gcmVwb3J0RXhhbXBsZShjb250ZXh0OiBSZXBvcnRFeGFtcGxlQ29udGV4dCk6IHZvaWQge1xuICBjb25zdCB7IGNvbW1lbnQsIGNvbnRleHQ6IHJ1bGVDb250ZXh0LCBleGFtcGxlLCBoYXNPdGhlckV4YW1wbGVzIH0gPSBjb250ZXh0O1xuICBjb25zdCBwcm9ibGVtID0gY2hlY2tFeGFtcGxlQ29udGVudChleGFtcGxlLmNvbnRlbnQpO1xuXG4gIGlmIChwcm9ibGVtID09PSB2b2lkIDApIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBkZXNjcmlwdG9yID0gYnVpbGRSZXBvcnREZXNjcmlwdG9yKHtcbiAgICBjb21tZW50LFxuICAgIGV4YW1wbGUsXG4gICAgaGFzT3RoZXJFeGFtcGxlcyxcbiAgICBwcm9ibGVtLFxuICAgIHNvdXJjZUNvZGU6IHJ1bGVDb250ZXh0LnNvdXJjZUNvZGUsXG4gIH0pO1xuXG4gIHJ1bGVDb250ZXh0LnJlcG9ydChkZXNjcmlwdG9yKTtcbn1cblxuZXhwb3J0IHsgYnVpbGRSZXBvcnREZXNjcmlwdG9yLCByZXBvcnRFeGFtcGxlIH07XG4iXX0=
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rule.d.ts","sourceRoot":"","sources":["../../../src/docs/require-example-language/rule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAMnC;;GAEG;AACH,QAAA,MAAM,0BAA0B,EAAE,IAAI,CAAC,UAkCtC,CAAC;AAEF,OAAO,EAAE,0BAA0B,EAAE,CAAC"}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { createRuleDocumentation } from "../../custom-rule-documentation";
|
|
2
|
-
import { getExamples } from "./examples";
|
|
3
|
-
import { reportExample } from "./reporting";
|
|
4
|
-
/**
|
|
5
|
-
* ESLint rule requiring \@example tags to use fenced code blocks with a language.
|
|
6
|
-
*/
|
|
7
|
-
const requireExampleLanguageRule = {
|
|
8
|
-
create(context) {
|
|
9
|
-
const { sourceCode } = context;
|
|
10
|
-
for (const comment of sourceCode.getAllComments()) {
|
|
11
|
-
if (comment.type === "Block" && comment.value.startsWith("*")) {
|
|
12
|
-
const examples = getExamples(comment.value);
|
|
13
|
-
const hasOtherExamples = examples.length > 1;
|
|
14
|
-
for (const example of examples) {
|
|
15
|
-
reportExample({ comment, context, example, hasOtherExamples });
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
return {};
|
|
20
|
-
},
|
|
21
|
-
meta: {
|
|
22
|
-
docs: createRuleDocumentation("require-example-language", "Require @example tags to use fenced code blocks with a language."),
|
|
23
|
-
fixable: "code",
|
|
24
|
-
messages: {
|
|
25
|
-
emptyExample: "@example must include example content.",
|
|
26
|
-
missingFence: "@example must include a fenced code block with a language (e.g. ```typescript).",
|
|
27
|
-
missingLanguage: "@example fenced code blocks must specify a language (e.g. ```typescript).",
|
|
28
|
-
},
|
|
29
|
-
schema: [],
|
|
30
|
-
type: "problem",
|
|
31
|
-
},
|
|
32
|
-
};
|
|
33
|
-
export { requireExampleLanguageRule };
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kb2NzL3JlcXVpcmUtZXhhbXBsZS1sYW5ndWFnZS9ydWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDekMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU1Qzs7R0FFRztBQUNILE1BQU0sMEJBQTBCLEdBQW9CO0lBQ2xELE1BQU0sQ0FBQyxPQUF5QjtRQUM5QixNQUFNLEVBQUUsVUFBVSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBRS9CLEtBQUssTUFBTSxPQUFPLElBQUksVUFBVSxDQUFDLGNBQWMsRUFBRSxFQUFFLENBQUM7WUFDbEQsSUFBSSxPQUFPLENBQUMsSUFBSSxLQUFLLE9BQU8sSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUM5RCxNQUFNLFFBQVEsR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUU1QyxNQUFNLGdCQUFnQixHQUFHLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO2dCQUU3QyxLQUFLLE1BQU0sT0FBTyxJQUFJLFFBQVEsRUFBRSxDQUFDO29CQUMvQixhQUFhLENBQUMsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7Z0JBQ2pFLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUNELElBQUksRUFBRTtRQUNKLElBQUksRUFBRSx1QkFBdUIsQ0FDM0IsMEJBQTBCLEVBQzFCLGtFQUFrRSxDQUNuRTtRQUNELE9BQU8sRUFBRSxNQUFNO1FBQ2YsUUFBUSxFQUFFO1lBQ1IsWUFBWSxFQUFFLHdDQUF3QztZQUN0RCxZQUFZLEVBQ1YsaUZBQWlGO1lBQ25GLGVBQWUsRUFDYiwyRUFBMkU7U0FDOUU7UUFDRCxNQUFNLEVBQUUsRUFBRTtRQUNWLElBQUksRUFBRSxTQUFTO0tBQ2hCO0NBQ0YsQ0FBQztBQUVGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBSdWxlIH0gZnJvbSBcImVzbGludFwiO1xuXG5pbXBvcnQgeyBjcmVhdGVSdWxlRG9jdW1lbnRhdGlvbiB9IGZyb20gXCIuLi8uLi9jdXN0b20tcnVsZS1kb2N1bWVudGF0aW9uXCI7XG5pbXBvcnQgeyBnZXRFeGFtcGxlcyB9IGZyb20gXCIuL2V4YW1wbGVzXCI7XG5pbXBvcnQgeyByZXBvcnRFeGFtcGxlIH0gZnJvbSBcIi4vcmVwb3J0aW5nXCI7XG5cbi8qKlxuICogRVNMaW50IHJ1bGUgcmVxdWlyaW5nIFxcQGV4YW1wbGUgdGFncyB0byB1c2UgZmVuY2VkIGNvZGUgYmxvY2tzIHdpdGggYSBsYW5ndWFnZS5cbiAqL1xuY29uc3QgcmVxdWlyZUV4YW1wbGVMYW5ndWFnZVJ1bGU6IFJ1bGUuUnVsZU1vZHVsZSA9IHtcbiAgY3JlYXRlKGNvbnRleHQ6IFJ1bGUuUnVsZUNvbnRleHQpOiBSdWxlLlJ1bGVMaXN0ZW5lciB7XG4gICAgY29uc3QgeyBzb3VyY2VDb2RlIH0gPSBjb250ZXh0O1xuXG4gICAgZm9yIChjb25zdCBjb21tZW50IG9mIHNvdXJjZUNvZGUuZ2V0QWxsQ29tbWVudHMoKSkge1xuICAgICAgaWYgKGNvbW1lbnQudHlwZSA9PT0gXCJCbG9ja1wiICYmIGNvbW1lbnQudmFsdWUuc3RhcnRzV2l0aChcIipcIikpIHtcbiAgICAgICAgY29uc3QgZXhhbXBsZXMgPSBnZXRFeGFtcGxlcyhjb21tZW50LnZhbHVlKTtcblxuICAgICAgICBjb25zdCBoYXNPdGhlckV4YW1wbGVzID0gZXhhbXBsZXMubGVuZ3RoID4gMTtcblxuICAgICAgICBmb3IgKGNvbnN0IGV4YW1wbGUgb2YgZXhhbXBsZXMpIHtcbiAgICAgICAgICByZXBvcnRFeGFtcGxlKHsgY29tbWVudCwgY29udGV4dCwgZXhhbXBsZSwgaGFzT3RoZXJFeGFtcGxlcyB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB7fTtcbiAgfSxcbiAgbWV0YToge1xuICAgIGRvY3M6IGNyZWF0ZVJ1bGVEb2N1bWVudGF0aW9uKFxuICAgICAgXCJyZXF1aXJlLWV4YW1wbGUtbGFuZ3VhZ2VcIixcbiAgICAgIFwiUmVxdWlyZSBAZXhhbXBsZSB0YWdzIHRvIHVzZSBmZW5jZWQgY29kZSBibG9ja3Mgd2l0aCBhIGxhbmd1YWdlLlwiLFxuICAgICksXG4gICAgZml4YWJsZTogXCJjb2RlXCIsXG4gICAgbWVzc2FnZXM6IHtcbiAgICAgIGVtcHR5RXhhbXBsZTogXCJAZXhhbXBsZSBtdXN0IGluY2x1ZGUgZXhhbXBsZSBjb250ZW50LlwiLFxuICAgICAgbWlzc2luZ0ZlbmNlOlxuICAgICAgICBcIkBleGFtcGxlIG11c3QgaW5jbHVkZSBhIGZlbmNlZCBjb2RlIGJsb2NrIHdpdGggYSBsYW5ndWFnZSAoZS5nLiBgYGB0eXBlc2NyaXB0KS5cIixcbiAgICAgIG1pc3NpbmdMYW5ndWFnZTpcbiAgICAgICAgXCJAZXhhbXBsZSBmZW5jZWQgY29kZSBibG9ja3MgbXVzdCBzcGVjaWZ5IGEgbGFuZ3VhZ2UgKGUuZy4gYGBgdHlwZXNjcmlwdCkuXCIsXG4gICAgfSxcbiAgICBzY2hlbWE6IFtdLFxuICAgIHR5cGU6IFwicHJvYmxlbVwiLFxuICB9LFxufTtcblxuZXhwb3J0IHsgcmVxdWlyZUV4YW1wbGVMYW5ndWFnZVJ1bGUgfTtcbiJdfQ==
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/docs/require-example-language/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEnC,qCAAqC;AACrC,KAAK,OAAO,GAAG,UAAU,CACvB,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,gBAAgB,CAAC,CACjD,CAAC,MAAM,CAAC,CAAC;AAEV,qCAAqC;AACrC,UAAU,OAAO;IACf,2BAA2B;IAC3B,OAAO,EAAE,MAAM,CAAC;IAEhB,4BAA4B;IAC5B,QAAQ,EAAE,MAAM,CAAC;IAEjB,6BAA6B;IAC7B,SAAS,EAAE,MAAM,CAAC;IAElB,6BAA6B;IAC7B,SAAS,EAAE,MAAM,CAAC;IAElB,0BAA0B;IAC1B,MAAM,EAAE,MAAM,CAAC;IAEf,+BAA+B;IAC/B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,qCAAqC;AACrC,KAAK,OAAO,GAAG,cAAc,GAAG,cAAc,GAAG,iBAAiB,CAAC;AAEnE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZG9jcy9yZXF1aXJlLWV4YW1wbGUtbGFuZ3VhZ2UvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUnVsZSB9IGZyb20gXCJlc2xpbnRcIjtcblxuLyoqIFR5cGUgZGVmaW5pdGlvbiBmb3IgcnVsZSBkYXRhLiAqL1xudHlwZSBDb21tZW50ID0gUmV0dXJuVHlwZTxcbiAgUnVsZS5SdWxlQ29udGV4dFtcInNvdXJjZUNvZGVcIl1bXCJnZXRBbGxDb21tZW50c1wiXVxuPltudW1iZXJdO1xuXG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciBydWxlIGRhdGEuICovXG5pbnRlcmZhY2UgRXhhbXBsZSB7XG4gIC8qKiBDb250ZW50IGZpZWxkIHZhbHVlLiAqL1xuICBjb250ZW50OiBzdHJpbmc7XG5cbiAgLyoqIEVuZEluZGV4IGZpZWxkIHZhbHVlLiAqL1xuICBlbmRJbmRleDogbnVtYmVyO1xuXG4gIC8qKiBFbmRPZmZzZXQgZmllbGQgdmFsdWUuICovXG4gIGVuZE9mZnNldDogbnVtYmVyO1xuXG4gIC8qKiBMaW5lSW5kZXggZmllbGQgdmFsdWUuICovXG4gIGxpbmVJbmRleDogbnVtYmVyO1xuXG4gIC8qKiBQcmVmaXggZmllbGQgdmFsdWUuICovXG4gIHByZWZpeDogc3RyaW5nO1xuXG4gIC8qKiBTdGFydE9mZnNldCBmaWVsZCB2YWx1ZS4gKi9cbiAgc3RhcnRPZmZzZXQ6IG51bWJlcjtcbn1cblxuLyoqIFR5cGUgZGVmaW5pdGlvbiBmb3IgcnVsZSBkYXRhLiAqL1xudHlwZSBQcm9ibGVtID0gXCJlbXB0eUV4YW1wbGVcIiB8IFwibWlzc2luZ0ZlbmNlXCIgfCBcIm1pc3NpbmdMYW5ndWFnZVwiO1xuXG5leHBvcnQgdHlwZSB7IENvbW1lbnQsIEV4YW1wbGUsIFByb2JsZW0gfTtcbiJdfQ==
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/docs/single-line-jsdoc/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export { singleLineJsdocRule } from "./rule";
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZG9jcy9zaW5nbGUtbGluZS1qc2RvYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBzaW5nbGVMaW5lSnNkb2NSdWxlIH0gZnJvbSBcIi4vcnVsZVwiO1xuIl19
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rule.d.ts","sourceRoot":"","sources":["../../../src/docs/single-line-jsdoc/rule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAoQnC,4DAA4D;AAC5D,QAAA,MAAM,mBAAmB,EAAE,IAAI,CAAC,UAmC/B,CAAC;AAEF,OAAO,EAAE,mBAAmB,EAAE,CAAC"}
|