eslint-plugin-etc-misc 1.0.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/CHANGELOG.md +23 -0
- package/LICENSE +21 -0
- package/README.md +259 -0
- package/dist/_internal/casing.d.ts +13 -0
- package/dist/_internal/casing.d.ts.map +1 -0
- package/dist/_internal/casing.js +34 -0
- package/dist/_internal/casing.js.map +1 -0
- package/dist/_internal/create-external-rule.d.ts +12 -0
- package/dist/_internal/create-external-rule.d.ts.map +1 -0
- package/dist/_internal/create-external-rule.js +66 -0
- package/dist/_internal/create-external-rule.js.map +1 -0
- package/dist/_internal/create-import-pattern-rule.d.ts +39 -0
- package/dist/_internal/create-import-pattern-rule.d.ts.map +1 -0
- package/dist/_internal/create-import-pattern-rule.js +67 -0
- package/dist/_internal/create-import-pattern-rule.js.map +1 -0
- package/dist/_internal/create-selector-rule.d.ts +18 -0
- package/dist/_internal/create-selector-rule.d.ts.map +1 -0
- package/dist/_internal/create-selector-rule.js +31 -0
- package/dist/_internal/create-selector-rule.js.map +1 -0
- package/dist/_internal/get-core-rule.d.ts +8 -0
- package/dist/_internal/get-core-rule.d.ts.map +1 -0
- package/dist/_internal/get-core-rule.js +14 -0
- package/dist/_internal/get-core-rule.js.map +1 -0
- package/dist/_internal/identifier-blocks.d.ts +10 -0
- package/dist/_internal/identifier-blocks.d.ts.map +1 -0
- package/dist/_internal/identifier-blocks.js +24 -0
- package/dist/_internal/identifier-blocks.js.map +1 -0
- package/dist/_internal/ignore-patterns.d.ts +26 -0
- package/dist/_internal/ignore-patterns.d.ts.map +1 -0
- package/dist/_internal/ignore-patterns.js +35 -0
- package/dist/_internal/ignore-patterns.js.map +1 -0
- package/dist/_internal/import-patterns.d.ts +30 -0
- package/dist/_internal/import-patterns.d.ts.map +1 -0
- package/dist/_internal/import-patterns.js +52 -0
- package/dist/_internal/import-patterns.js.map +1 -0
- package/dist/_internal/plugin-meta.d.ts +13 -0
- package/dist/_internal/plugin-meta.d.ts.map +1 -0
- package/dist/_internal/plugin-meta.js +9 -0
- package/dist/_internal/plugin-meta.js.map +1 -0
- package/dist/_internal/rule-catalog.d.ts +36 -0
- package/dist/_internal/rule-catalog.d.ts.map +1 -0
- package/dist/_internal/rule-catalog.js +49 -0
- package/dist/_internal/rule-catalog.js.map +1 -0
- package/dist/_internal/rule-creator.d.ts +26 -0
- package/dist/_internal/rule-creator.d.ts.map +1 -0
- package/dist/_internal/rule-creator.js +14 -0
- package/dist/_internal/rule-creator.js.map +1 -0
- package/dist/_internal/rule-deprecation.d.ts +32 -0
- package/dist/_internal/rule-deprecation.d.ts.map +1 -0
- package/dist/_internal/rule-deprecation.js +38 -0
- package/dist/_internal/rule-deprecation.js.map +1 -0
- package/dist/_internal/symbol-usage.d.ts +25 -0
- package/dist/_internal/symbol-usage.d.ts.map +1 -0
- package/dist/_internal/symbol-usage.js +82 -0
- package/dist/_internal/symbol-usage.js.map +1 -0
- package/dist/_internal/syntax-selectors.d.ts +24 -0
- package/dist/_internal/syntax-selectors.d.ts.map +1 -0
- package/dist/_internal/syntax-selectors.js +30 -0
- package/dist/_internal/syntax-selectors.js.map +1 -0
- package/dist/configs/all-strict.d.ts +11 -0
- package/dist/configs/all-strict.d.ts.map +1 -0
- package/dist/configs/all-strict.js +16 -0
- package/dist/configs/all-strict.js.map +1 -0
- package/dist/configs/all.d.ts +10 -0
- package/dist/configs/all.d.ts.map +1 -0
- package/dist/configs/all.js +18 -0
- package/dist/configs/all.js.map +1 -0
- package/dist/configs/recommended.d.ts +29 -0
- package/dist/configs/recommended.d.ts.map +1 -0
- package/dist/configs/recommended.js +29 -0
- package/dist/configs/recommended.js.map +1 -0
- package/dist/configs/strict-type-checked.d.ts +15 -0
- package/dist/configs/strict-type-checked.d.ts.map +1 -0
- package/dist/configs/strict-type-checked.js +38 -0
- package/dist/configs/strict-type-checked.js.map +1 -0
- package/dist/configs/strict.d.ts +13 -0
- package/dist/configs/strict.d.ts.map +1 -0
- package/dist/configs/strict.js +10 -0
- package/dist/configs/strict.js.map +1 -0
- package/dist/configs.d.ts +34 -0
- package/dist/configs.d.ts.map +1 -0
- package/dist/configs.js +33 -0
- package/dist/configs.js.map +1 -0
- package/dist/plugin.cjs +4 -0
- package/dist/plugin.d.cts +2 -0
- package/dist/plugin.d.ts +15 -0
- package/dist/plugin.d.ts.map +1 -0
- package/dist/plugin.js +14 -0
- package/dist/plugin.js.map +1 -0
- package/dist/rules/array-type.d.ts +8 -0
- package/dist/rules/array-type.d.ts.map +1 -0
- package/dist/rules/array-type.js +25 -0
- package/dist/rules/array-type.js.map +1 -0
- package/dist/rules/class-match-filename.d.ts +9 -0
- package/dist/rules/class-match-filename.d.ts.map +1 -0
- package/dist/rules/class-match-filename.js +51 -0
- package/dist/rules/class-match-filename.js.map +1 -0
- package/dist/rules/comment-spacing.d.ts +9 -0
- package/dist/rules/comment-spacing.d.ts.map +1 -0
- package/dist/rules/comment-spacing.js +63 -0
- package/dist/rules/comment-spacing.js.map +1 -0
- package/dist/rules/consistent-empty-lines.d.ts +9 -0
- package/dist/rules/consistent-empty-lines.d.ts.map +1 -0
- package/dist/rules/consistent-empty-lines.js +74 -0
- package/dist/rules/consistent-empty-lines.js.map +1 -0
- package/dist/rules/consistent-enum-members.d.ts +9 -0
- package/dist/rules/consistent-enum-members.d.ts.map +1 -0
- package/dist/rules/consistent-enum-members.js +36 -0
- package/dist/rules/consistent-enum-members.js.map +1 -0
- package/dist/rules/consistent-filename.d.ts +18 -0
- package/dist/rules/consistent-filename.d.ts.map +1 -0
- package/dist/rules/consistent-filename.js +87 -0
- package/dist/rules/consistent-filename.js.map +1 -0
- package/dist/rules/consistent-import.d.ts +14 -0
- package/dist/rules/consistent-import.d.ts.map +1 -0
- package/dist/rules/consistent-import.js +91 -0
- package/dist/rules/consistent-import.js.map +1 -0
- package/dist/rules/consistent-optional-props.d.ts +9 -0
- package/dist/rules/consistent-optional-props.d.ts.map +1 -0
- package/dist/rules/consistent-optional-props.js +68 -0
- package/dist/rules/consistent-optional-props.js.map +1 -0
- package/dist/rules/consistent-source-extension.d.ts +14 -0
- package/dist/rules/consistent-source-extension.d.ts.map +1 -0
- package/dist/rules/consistent-source-extension.js +56 -0
- package/dist/rules/consistent-source-extension.js.map +1 -0
- package/dist/rules/consistent-symbol-description.d.ts +9 -0
- package/dist/rules/consistent-symbol-description.d.ts.map +1 -0
- package/dist/rules/consistent-symbol-description.js +36 -0
- package/dist/rules/consistent-symbol-description.js.map +1 -0
- package/dist/rules/default-case.d.ts +7 -0
- package/dist/rules/default-case.d.ts.map +1 -0
- package/dist/rules/default-case.js +9 -0
- package/dist/rules/default-case.js.map +1 -0
- package/dist/rules/disallow-import.d.ts +7 -0
- package/dist/rules/disallow-import.d.ts.map +1 -0
- package/dist/rules/disallow-import.js +11 -0
- package/dist/rules/disallow-import.js.map +1 -0
- package/dist/rules/export-matching-filename-only.d.ts +14 -0
- package/dist/rules/export-matching-filename-only.d.ts.map +1 -0
- package/dist/rules/export-matching-filename-only.js +102 -0
- package/dist/rules/export-matching-filename-only.js.map +1 -0
- package/dist/rules/match-filename.d.ts +18 -0
- package/dist/rules/match-filename.d.ts.map +1 -0
- package/dist/rules/match-filename.js +119 -0
- package/dist/rules/match-filename.js.map +1 -0
- package/dist/rules/max-identifier-blocks.d.ts +9 -0
- package/dist/rules/max-identifier-blocks.d.ts.map +1 -0
- package/dist/rules/max-identifier-blocks.js +46 -0
- package/dist/rules/max-identifier-blocks.js.map +1 -0
- package/dist/rules/no-assign-mutated-array.d.ts +9 -0
- package/dist/rules/no-assign-mutated-array.d.ts.map +1 -0
- package/dist/rules/no-assign-mutated-array.js +117 -0
- package/dist/rules/no-assign-mutated-array.js.map +1 -0
- package/dist/rules/no-at-sign-import.d.ts +7 -0
- package/dist/rules/no-at-sign-import.d.ts.map +1 -0
- package/dist/rules/no-at-sign-import.js +11 -0
- package/dist/rules/no-at-sign-import.js.map +1 -0
- package/dist/rules/no-at-sign-internal-import.d.ts +7 -0
- package/dist/rules/no-at-sign-internal-import.d.ts.map +1 -0
- package/dist/rules/no-at-sign-internal-import.js +11 -0
- package/dist/rules/no-at-sign-internal-import.js.map +1 -0
- package/dist/rules/no-chain-coalescence-mixture.d.ts +10 -0
- package/dist/rules/no-chain-coalescence-mixture.d.ts.map +1 -0
- package/dist/rules/no-chain-coalescence-mixture.js +36 -0
- package/dist/rules/no-chain-coalescence-mixture.js.map +1 -0
- package/dist/rules/no-commented-out-code.d.ts +13 -0
- package/dist/rules/no-commented-out-code.d.ts.map +1 -0
- package/dist/rules/no-commented-out-code.js +220 -0
- package/dist/rules/no-commented-out-code.js.map +1 -0
- package/dist/rules/no-const-enum.d.ts +13 -0
- package/dist/rules/no-const-enum.d.ts.map +1 -0
- package/dist/rules/no-const-enum.js +90 -0
- package/dist/rules/no-const-enum.js.map +1 -0
- package/dist/rules/no-deprecated.d.ts +18 -0
- package/dist/rules/no-deprecated.d.ts.map +1 -0
- package/dist/rules/no-deprecated.js +133 -0
- package/dist/rules/no-deprecated.js.map +1 -0
- package/dist/rules/no-enum.d.ts +8 -0
- package/dist/rules/no-enum.d.ts.map +1 -0
- package/dist/rules/no-enum.js +34 -0
- package/dist/rules/no-enum.js.map +1 -0
- package/dist/rules/no-expression-empty-lines.d.ts +9 -0
- package/dist/rules/no-expression-empty-lines.d.ts.map +1 -0
- package/dist/rules/no-expression-empty-lines.js +51 -0
- package/dist/rules/no-expression-empty-lines.js.map +1 -0
- package/dist/rules/no-foreach.d.ts +13 -0
- package/dist/rules/no-foreach.d.ts.map +1 -0
- package/dist/rules/no-foreach.js +95 -0
- package/dist/rules/no-foreach.js.map +1 -0
- package/dist/rules/no-implicit-any-catch.d.ts +13 -0
- package/dist/rules/no-implicit-any-catch.d.ts.map +1 -0
- package/dist/rules/no-implicit-any-catch.js +156 -0
- package/dist/rules/no-implicit-any-catch.js.map +1 -0
- package/dist/rules/no-index-import.d.ts +7 -0
- package/dist/rules/no-index-import.d.ts.map +1 -0
- package/dist/rules/no-index-import.js +11 -0
- package/dist/rules/no-index-import.js.map +1 -0
- package/dist/rules/no-internal-modules.d.ts +7 -0
- package/dist/rules/no-internal-modules.d.ts.map +1 -0
- package/dist/rules/no-internal-modules.js +15 -0
- package/dist/rules/no-internal-modules.js.map +1 -0
- package/dist/rules/no-internal.d.ts +14 -0
- package/dist/rules/no-internal.d.ts.map +1 -0
- package/dist/rules/no-internal.js +113 -0
- package/dist/rules/no-internal.js.map +1 -0
- package/dist/rules/no-language-mixing.d.ts +9 -0
- package/dist/rules/no-language-mixing.d.ts.map +1 -0
- package/dist/rules/no-language-mixing.js +40 -0
- package/dist/rules/no-language-mixing.js.map +1 -0
- package/dist/rules/no-misused-generics.d.ts +10 -0
- package/dist/rules/no-misused-generics.d.ts.map +1 -0
- package/dist/rules/no-misused-generics.js +159 -0
- package/dist/rules/no-misused-generics.js.map +1 -0
- package/dist/rules/no-mixed-enums.d.ts +8 -0
- package/dist/rules/no-mixed-enums.d.ts.map +1 -0
- package/dist/rules/no-mixed-enums.js +25 -0
- package/dist/rules/no-mixed-enums.js.map +1 -0
- package/dist/rules/no-negated-conditions.d.ts +9 -0
- package/dist/rules/no-negated-conditions.d.ts.map +1 -0
- package/dist/rules/no-negated-conditions.js +42 -0
- package/dist/rules/no-negated-conditions.js.map +1 -0
- package/dist/rules/no-nodejs-modules.d.ts +7 -0
- package/dist/rules/no-nodejs-modules.d.ts.map +1 -0
- package/dist/rules/no-nodejs-modules.js +11 -0
- package/dist/rules/no-nodejs-modules.js.map +1 -0
- package/dist/rules/no-param-reassign.d.ts +10 -0
- package/dist/rules/no-param-reassign.d.ts.map +1 -0
- package/dist/rules/no-param-reassign.js +102 -0
- package/dist/rules/no-param-reassign.js.map +1 -0
- package/dist/rules/no-relative-parent-import.d.ts +11 -0
- package/dist/rules/no-relative-parent-import.d.ts.map +1 -0
- package/dist/rules/no-relative-parent-import.js +42 -0
- package/dist/rules/no-relative-parent-import.js.map +1 -0
- package/dist/rules/no-restricted-syntax.d.ts +18 -0
- package/dist/rules/no-restricted-syntax.d.ts.map +1 -0
- package/dist/rules/no-restricted-syntax.js +100 -0
- package/dist/rules/no-restricted-syntax.js.map +1 -0
- package/dist/rules/no-secret.d.ts +8 -0
- package/dist/rules/no-secret.d.ts.map +1 -0
- package/dist/rules/no-secret.js +37 -0
- package/dist/rules/no-secret.js.map +1 -0
- package/dist/rules/no-self-import.d.ts +13 -0
- package/dist/rules/no-self-import.d.ts.map +1 -0
- package/dist/rules/no-self-import.js +86 -0
- package/dist/rules/no-self-import.js.map +1 -0
- package/dist/rules/no-shadow.d.ts +14 -0
- package/dist/rules/no-shadow.d.ts.map +1 -0
- package/dist/rules/no-shadow.js +92 -0
- package/dist/rules/no-shadow.js.map +1 -0
- package/dist/rules/no-sibling-import.d.ts +7 -0
- package/dist/rules/no-sibling-import.d.ts.map +1 -0
- package/dist/rules/no-sibling-import.js +11 -0
- package/dist/rules/no-sibling-import.js.map +1 -0
- package/dist/rules/no-single-line-comment.d.ts +13 -0
- package/dist/rules/no-single-line-comment.d.ts.map +1 -0
- package/dist/rules/no-single-line-comment.js +88 -0
- package/dist/rules/no-single-line-comment.js.map +1 -0
- package/dist/rules/no-t.d.ts +16 -0
- package/dist/rules/no-t.d.ts.map +1 -0
- package/dist/rules/no-t.js +67 -0
- package/dist/rules/no-t.js.map +1 -0
- package/dist/rules/no-underscore-export.d.ts +9 -0
- package/dist/rules/no-underscore-export.d.ts.map +1 -0
- package/dist/rules/no-underscore-export.js +39 -0
- package/dist/rules/no-underscore-export.js.map +1 -0
- package/dist/rules/no-unnecessary-as-const.d.ts +9 -0
- package/dist/rules/no-unnecessary-as-const.d.ts.map +1 -0
- package/dist/rules/no-unnecessary-as-const.js +53 -0
- package/dist/rules/no-unnecessary-as-const.js.map +1 -0
- package/dist/rules/no-unnecessary-break.d.ts +9 -0
- package/dist/rules/no-unnecessary-break.d.ts.map +1 -0
- package/dist/rules/no-unnecessary-break.js +66 -0
- package/dist/rules/no-unnecessary-break.js.map +1 -0
- package/dist/rules/no-unnecessary-initialization.d.ts +9 -0
- package/dist/rules/no-unnecessary-initialization.d.ts.map +1 -0
- package/dist/rules/no-unnecessary-initialization.js +63 -0
- package/dist/rules/no-unnecessary-initialization.js.map +1 -0
- package/dist/rules/no-unnecessary-template-literal.d.ts +9 -0
- package/dist/rules/no-unnecessary-template-literal.d.ts.map +1 -0
- package/dist/rules/no-unnecessary-template-literal.js +47 -0
- package/dist/rules/no-unnecessary-template-literal.js.map +1 -0
- package/dist/rules/no-unused-disable.d.ts +11 -0
- package/dist/rules/no-unused-disable.d.ts.map +1 -0
- package/dist/rules/no-unused-disable.js +28 -0
- package/dist/rules/no-unused-disable.js.map +1 -0
- package/dist/rules/no-useless-generics.d.ts +8 -0
- package/dist/rules/no-useless-generics.d.ts.map +1 -0
- package/dist/rules/no-useless-generics.js +25 -0
- package/dist/rules/no-useless-generics.js.map +1 -0
- package/dist/rules/no-value-tostring.d.ts +8 -0
- package/dist/rules/no-value-tostring.d.ts.map +1 -0
- package/dist/rules/no-value-tostring.js +25 -0
- package/dist/rules/no-value-tostring.js.map +1 -0
- package/dist/rules/no-writeonly.d.ts +7 -0
- package/dist/rules/no-writeonly.d.ts.map +1 -0
- package/dist/rules/no-writeonly.js +9 -0
- package/dist/rules/no-writeonly.js.map +1 -0
- package/dist/rules/object-format.d.ts +13 -0
- package/dist/rules/object-format.d.ts.map +1 -0
- package/dist/rules/object-format.js +61 -0
- package/dist/rules/object-format.js.map +1 -0
- package/dist/rules/only-export-name.d.ts +13 -0
- package/dist/rules/only-export-name.d.ts.map +1 -0
- package/dist/rules/only-export-name.js +104 -0
- package/dist/rules/only-export-name.js.map +1 -0
- package/dist/rules/prefer-arrow-function-property.d.ts +9 -0
- package/dist/rules/prefer-arrow-function-property.d.ts.map +1 -0
- package/dist/rules/prefer-arrow-function-property.js +35 -0
- package/dist/rules/prefer-arrow-function-property.js.map +1 -0
- package/dist/rules/prefer-const-require.d.ts +9 -0
- package/dist/rules/prefer-const-require.d.ts.map +1 -0
- package/dist/rules/prefer-const-require.js +35 -0
- package/dist/rules/prefer-const-require.js.map +1 -0
- package/dist/rules/prefer-includes.d.ts +8 -0
- package/dist/rules/prefer-includes.d.ts.map +1 -0
- package/dist/rules/prefer-includes.js +25 -0
- package/dist/rules/prefer-includes.js.map +1 -0
- package/dist/rules/prefer-interface.d.ts +17 -0
- package/dist/rules/prefer-interface.d.ts.map +1 -0
- package/dist/rules/prefer-interface.js +190 -0
- package/dist/rules/prefer-interface.js.map +1 -0
- package/dist/rules/prefer-less-than.d.ts +8 -0
- package/dist/rules/prefer-less-than.d.ts.map +1 -0
- package/dist/rules/prefer-less-than.js +65 -0
- package/dist/rules/prefer-less-than.js.map +1 -0
- package/dist/rules/prefer-object-has-own.d.ts +8 -0
- package/dist/rules/prefer-object-has-own.d.ts.map +1 -0
- package/dist/rules/prefer-object-has-own.js +26 -0
- package/dist/rules/prefer-object-has-own.js.map +1 -0
- package/dist/rules/prefer-only-export.d.ts +9 -0
- package/dist/rules/prefer-only-export.d.ts.map +1 -0
- package/dist/rules/prefer-only-export.js +35 -0
- package/dist/rules/prefer-only-export.js.map +1 -0
- package/dist/rules/require-jsdoc.d.ts +18 -0
- package/dist/rules/require-jsdoc.d.ts.map +1 -0
- package/dist/rules/require-jsdoc.js +129 -0
- package/dist/rules/require-jsdoc.js.map +1 -0
- package/dist/rules/require-syntax.d.ts +14 -0
- package/dist/rules/require-syntax.d.ts.map +1 -0
- package/dist/rules/require-syntax.js +106 -0
- package/dist/rules/require-syntax.js.map +1 -0
- package/dist/rules/restrict-identifier-characters.d.ts +9 -0
- package/dist/rules/restrict-identifier-characters.d.ts.map +1 -0
- package/dist/rules/restrict-identifier-characters.js +36 -0
- package/dist/rules/restrict-identifier-characters.js.map +1 -0
- package/dist/rules/sort-array.d.ts +9 -0
- package/dist/rules/sort-array.d.ts.map +1 -0
- package/dist/rules/sort-array.js +73 -0
- package/dist/rules/sort-array.js.map +1 -0
- package/dist/rules/sort-call-signature.d.ts +9 -0
- package/dist/rules/sort-call-signature.d.ts.map +1 -0
- package/dist/rules/sort-call-signature.js +35 -0
- package/dist/rules/sort-call-signature.js.map +1 -0
- package/dist/rules/sort-class-members.d.ts +13 -0
- package/dist/rules/sort-class-members.d.ts.map +1 -0
- package/dist/rules/sort-class-members.js +90 -0
- package/dist/rules/sort-class-members.js.map +1 -0
- package/dist/rules/sort-construct-signature.d.ts +9 -0
- package/dist/rules/sort-construct-signature.d.ts.map +1 -0
- package/dist/rules/sort-construct-signature.js +35 -0
- package/dist/rules/sort-construct-signature.js.map +1 -0
- package/dist/rules/sort-export-specifiers.d.ts +9 -0
- package/dist/rules/sort-export-specifiers.d.ts.map +1 -0
- package/dist/rules/sort-export-specifiers.js +62 -0
- package/dist/rules/sort-export-specifiers.js.map +1 -0
- package/dist/rules/sort-keys.d.ts +9 -0
- package/dist/rules/sort-keys.d.ts.map +1 -0
- package/dist/rules/sort-keys.js +84 -0
- package/dist/rules/sort-keys.js.map +1 -0
- package/dist/rules/sort-top-comments.d.ts +9 -0
- package/dist/rules/sort-top-comments.d.ts.map +1 -0
- package/dist/rules/sort-top-comments.js +66 -0
- package/dist/rules/sort-top-comments.js.map +1 -0
- package/dist/rules/switch-case-spacing.d.ts +13 -0
- package/dist/rules/switch-case-spacing.d.ts.map +1 -0
- package/dist/rules/switch-case-spacing.js +72 -0
- package/dist/rules/switch-case-spacing.js.map +1 -0
- package/dist/rules/template-literal-format.d.ts +9 -0
- package/dist/rules/template-literal-format.d.ts.map +1 -0
- package/dist/rules/template-literal-format.js +70 -0
- package/dist/rules/template-literal-format.js.map +1 -0
- package/dist/rules/throw-error.d.ts +9 -0
- package/dist/rules/throw-error.d.ts.map +1 -0
- package/dist/rules/throw-error.js +123 -0
- package/dist/rules/throw-error.js.map +1 -0
- package/dist/rules/throw-new-error.d.ts +8 -0
- package/dist/rules/throw-new-error.d.ts.map +1 -0
- package/dist/rules/throw-new-error.js +25 -0
- package/dist/rules/throw-new-error.js.map +1 -0
- package/dist/rules/typescript-array-callback-return-type.d.ts +9 -0
- package/dist/rules/typescript-array-callback-return-type.d.ts.map +1 -0
- package/dist/rules/typescript-array-callback-return-type.js +80 -0
- package/dist/rules/typescript-array-callback-return-type.js.map +1 -0
- package/dist/rules/typescript-class-methods-use-this.d.ts +13 -0
- package/dist/rules/typescript-class-methods-use-this.d.ts.map +1 -0
- package/dist/rules/typescript-class-methods-use-this.js +99 -0
- package/dist/rules/typescript-class-methods-use-this.js.map +1 -0
- package/dist/rules/typescript-consistent-array-type-name.d.ts +9 -0
- package/dist/rules/typescript-consistent-array-type-name.d.ts.map +1 -0
- package/dist/rules/typescript-consistent-array-type-name.js +36 -0
- package/dist/rules/typescript-consistent-array-type-name.js.map +1 -0
- package/dist/rules/typescript-define-function-in-one-statement.d.ts +9 -0
- package/dist/rules/typescript-define-function-in-one-statement.d.ts.map +1 -0
- package/dist/rules/typescript-define-function-in-one-statement.js +35 -0
- package/dist/rules/typescript-define-function-in-one-statement.js.map +1 -0
- package/dist/rules/typescript-exhaustive-switch.d.ts +13 -0
- package/dist/rules/typescript-exhaustive-switch.d.ts.map +1 -0
- package/dist/rules/typescript-exhaustive-switch.js +55 -0
- package/dist/rules/typescript-exhaustive-switch.js.map +1 -0
- package/dist/rules/typescript-no-boolean-literal-type.d.ts +9 -0
- package/dist/rules/typescript-no-boolean-literal-type.d.ts.map +1 -0
- package/dist/rules/typescript-no-boolean-literal-type.js +43 -0
- package/dist/rules/typescript-no-boolean-literal-type.js.map +1 -0
- package/dist/rules/typescript-no-complex-declarator-type.d.ts +9 -0
- package/dist/rules/typescript-no-complex-declarator-type.d.ts.map +1 -0
- package/dist/rules/typescript-no-complex-declarator-type.js +35 -0
- package/dist/rules/typescript-no-complex-declarator-type.js.map +1 -0
- package/dist/rules/typescript-no-complex-return-type.d.ts +9 -0
- package/dist/rules/typescript-no-complex-return-type.d.ts.map +1 -0
- package/dist/rules/typescript-no-complex-return-type.js +35 -0
- package/dist/rules/typescript-no-complex-return-type.js.map +1 -0
- package/dist/rules/typescript-no-empty-interfaces.d.ts +10 -0
- package/dist/rules/typescript-no-empty-interfaces.d.ts.map +1 -0
- package/dist/rules/typescript-no-empty-interfaces.js +55 -0
- package/dist/rules/typescript-no-empty-interfaces.js.map +1 -0
- package/dist/rules/typescript-no-inferrable-types.d.ts +13 -0
- package/dist/rules/typescript-no-inferrable-types.d.ts.map +1 -0
- package/dist/rules/typescript-no-inferrable-types.js +58 -0
- package/dist/rules/typescript-no-inferrable-types.js.map +1 -0
- package/dist/rules/typescript-no-multi-type-tuples.d.ts +9 -0
- package/dist/rules/typescript-no-multi-type-tuples.d.ts.map +1 -0
- package/dist/rules/typescript-no-multi-type-tuples.js +35 -0
- package/dist/rules/typescript-no-multi-type-tuples.js.map +1 -0
- package/dist/rules/typescript-no-never.d.ts +9 -0
- package/dist/rules/typescript-no-never.d.ts.map +1 -0
- package/dist/rules/typescript-no-never.js +50 -0
- package/dist/rules/typescript-no-never.js.map +1 -0
- package/dist/rules/typescript-no-redundant-undefined-const.d.ts +10 -0
- package/dist/rules/typescript-no-redundant-undefined-const.d.ts.map +1 -0
- package/dist/rules/typescript-no-redundant-undefined-const.js +130 -0
- package/dist/rules/typescript-no-redundant-undefined-const.js.map +1 -0
- package/dist/rules/typescript-no-redundant-undefined-default-parameter.d.ts +10 -0
- package/dist/rules/typescript-no-redundant-undefined-default-parameter.d.ts.map +1 -0
- package/dist/rules/typescript-no-redundant-undefined-default-parameter.js +165 -0
- package/dist/rules/typescript-no-redundant-undefined-default-parameter.js.map +1 -0
- package/dist/rules/typescript-no-redundant-undefined-let.d.ts +10 -0
- package/dist/rules/typescript-no-redundant-undefined-let.d.ts.map +1 -0
- package/dist/rules/typescript-no-redundant-undefined-let.js +134 -0
- package/dist/rules/typescript-no-redundant-undefined-let.js.map +1 -0
- package/dist/rules/typescript-no-redundant-undefined-optional.d.ts +10 -0
- package/dist/rules/typescript-no-redundant-undefined-optional.d.ts.map +1 -0
- package/dist/rules/typescript-no-redundant-undefined-optional.js +77 -0
- package/dist/rules/typescript-no-redundant-undefined-optional.js.map +1 -0
- package/dist/rules/typescript-no-redundant-undefined-promise-return-type.d.ts +10 -0
- package/dist/rules/typescript-no-redundant-undefined-promise-return-type.d.ts.map +1 -0
- package/dist/rules/typescript-no-redundant-undefined-promise-return-type.js +179 -0
- package/dist/rules/typescript-no-redundant-undefined-promise-return-type.js.map +1 -0
- package/dist/rules/typescript-no-redundant-undefined-readonly-property.d.ts +10 -0
- package/dist/rules/typescript-no-redundant-undefined-readonly-property.d.ts.map +1 -0
- package/dist/rules/typescript-no-redundant-undefined-readonly-property.js +125 -0
- package/dist/rules/typescript-no-redundant-undefined-readonly-property.js.map +1 -0
- package/dist/rules/typescript-no-redundant-undefined-return-type.d.ts +10 -0
- package/dist/rules/typescript-no-redundant-undefined-return-type.d.ts.map +1 -0
- package/dist/rules/typescript-no-redundant-undefined-return-type.js +154 -0
- package/dist/rules/typescript-no-redundant-undefined-return-type.js.map +1 -0
- package/dist/rules/typescript-no-redundant-undefined-var.d.ts +10 -0
- package/dist/rules/typescript-no-redundant-undefined-var.d.ts.map +1 -0
- package/dist/rules/typescript-no-redundant-undefined-var.js +134 -0
- package/dist/rules/typescript-no-redundant-undefined-var.js.map +1 -0
- package/dist/rules/typescript-no-restricted-syntax.d.ts +11 -0
- package/dist/rules/typescript-no-restricted-syntax.d.ts.map +1 -0
- package/dist/rules/typescript-no-restricted-syntax.js +40 -0
- package/dist/rules/typescript-no-restricted-syntax.js.map +1 -0
- package/dist/rules/typescript-no-unsafe-object-assign.d.ts +9 -0
- package/dist/rules/typescript-no-unsafe-object-assign.d.ts.map +1 -0
- package/dist/rules/typescript-no-unsafe-object-assign.js +53 -0
- package/dist/rules/typescript-no-unsafe-object-assign.js.map +1 -0
- package/dist/rules/typescript-no-unsafe-object-assignment.d.ts +7 -0
- package/dist/rules/typescript-no-unsafe-object-assignment.d.ts.map +1 -0
- package/dist/rules/typescript-no-unsafe-object-assignment.js +20 -0
- package/dist/rules/typescript-no-unsafe-object-assignment.js.map +1 -0
- package/dist/rules/typescript-prefer-array-type-alias.d.ts +9 -0
- package/dist/rules/typescript-prefer-array-type-alias.d.ts.map +1 -0
- package/dist/rules/typescript-prefer-array-type-alias.js +36 -0
- package/dist/rules/typescript-prefer-array-type-alias.js.map +1 -0
- package/dist/rules/typescript-prefer-class-method.d.ts +9 -0
- package/dist/rules/typescript-prefer-class-method.d.ts.map +1 -0
- package/dist/rules/typescript-prefer-class-method.js +35 -0
- package/dist/rules/typescript-prefer-class-method.js.map +1 -0
- package/dist/rules/typescript-prefer-enum.d.ts +9 -0
- package/dist/rules/typescript-prefer-enum.d.ts.map +1 -0
- package/dist/rules/typescript-prefer-enum.js +132 -0
- package/dist/rules/typescript-prefer-enum.js.map +1 -0
- package/dist/rules/typescript-prefer-named-tuple-members.d.ts +9 -0
- package/dist/rules/typescript-prefer-named-tuple-members.d.ts.map +1 -0
- package/dist/rules/typescript-prefer-named-tuple-members.js +108 -0
- package/dist/rules/typescript-prefer-named-tuple-members.js.map +1 -0
- package/dist/rules/typescript-prefer-readonly-array-parameter.d.ts +9 -0
- package/dist/rules/typescript-prefer-readonly-array-parameter.d.ts.map +1 -0
- package/dist/rules/typescript-prefer-readonly-array-parameter.js +123 -0
- package/dist/rules/typescript-prefer-readonly-array-parameter.js.map +1 -0
- package/dist/rules/typescript-prefer-readonly-array.d.ts +9 -0
- package/dist/rules/typescript-prefer-readonly-array.d.ts.map +1 -0
- package/dist/rules/typescript-prefer-readonly-array.js +51 -0
- package/dist/rules/typescript-prefer-readonly-array.js.map +1 -0
- package/dist/rules/typescript-prefer-readonly-index-signature.d.ts +9 -0
- package/dist/rules/typescript-prefer-readonly-index-signature.d.ts.map +1 -0
- package/dist/rules/typescript-prefer-readonly-index-signature.js +40 -0
- package/dist/rules/typescript-prefer-readonly-index-signature.js.map +1 -0
- package/dist/rules/typescript-prefer-readonly-map.d.ts +9 -0
- package/dist/rules/typescript-prefer-readonly-map.d.ts.map +1 -0
- package/dist/rules/typescript-prefer-readonly-map.js +40 -0
- package/dist/rules/typescript-prefer-readonly-map.js.map +1 -0
- package/dist/rules/typescript-prefer-readonly-property.d.ts +9 -0
- package/dist/rules/typescript-prefer-readonly-property.d.ts.map +1 -0
- package/dist/rules/typescript-prefer-readonly-property.js +58 -0
- package/dist/rules/typescript-prefer-readonly-property.js.map +1 -0
- package/dist/rules/typescript-prefer-readonly-record.d.ts +9 -0
- package/dist/rules/typescript-prefer-readonly-record.d.ts.map +1 -0
- package/dist/rules/typescript-prefer-readonly-record.js +60 -0
- package/dist/rules/typescript-prefer-readonly-record.js.map +1 -0
- package/dist/rules/typescript-prefer-readonly-set.d.ts +9 -0
- package/dist/rules/typescript-prefer-readonly-set.d.ts.map +1 -0
- package/dist/rules/typescript-prefer-readonly-set.js +40 -0
- package/dist/rules/typescript-prefer-readonly-set.js.map +1 -0
- package/dist/rules/typescript-require-prop-type-annotation.d.ts +9 -0
- package/dist/rules/typescript-require-prop-type-annotation.d.ts.map +1 -0
- package/dist/rules/typescript-require-prop-type-annotation.js +58 -0
- package/dist/rules/typescript-require-prop-type-annotation.js.map +1 -0
- package/dist/rules/typescript-require-readonly-array-property-type.d.ts +9 -0
- package/dist/rules/typescript-require-readonly-array-property-type.d.ts.map +1 -0
- package/dist/rules/typescript-require-readonly-array-property-type.js +91 -0
- package/dist/rules/typescript-require-readonly-array-property-type.js.map +1 -0
- package/dist/rules/typescript-require-readonly-array-return-type.d.ts +9 -0
- package/dist/rules/typescript-require-readonly-array-return-type.d.ts.map +1 -0
- package/dist/rules/typescript-require-readonly-array-return-type.js +93 -0
- package/dist/rules/typescript-require-readonly-array-return-type.js.map +1 -0
- package/dist/rules/typescript-require-readonly-array-type-alias.d.ts +9 -0
- package/dist/rules/typescript-require-readonly-array-type-alias.d.ts.map +1 -0
- package/dist/rules/typescript-require-readonly-array-type-alias.js +73 -0
- package/dist/rules/typescript-require-readonly-array-type-alias.js.map +1 -0
- package/dist/rules/typescript-require-readonly-map-parameter-type.d.ts +9 -0
- package/dist/rules/typescript-require-readonly-map-parameter-type.d.ts.map +1 -0
- package/dist/rules/typescript-require-readonly-map-parameter-type.js +109 -0
- package/dist/rules/typescript-require-readonly-map-parameter-type.js.map +1 -0
- package/dist/rules/typescript-require-readonly-map-property-type.d.ts +9 -0
- package/dist/rules/typescript-require-readonly-map-property-type.d.ts.map +1 -0
- package/dist/rules/typescript-require-readonly-map-property-type.js +77 -0
- package/dist/rules/typescript-require-readonly-map-property-type.js.map +1 -0
- package/dist/rules/typescript-require-readonly-map-return-type.d.ts +9 -0
- package/dist/rules/typescript-require-readonly-map-return-type.d.ts.map +1 -0
- package/dist/rules/typescript-require-readonly-map-return-type.js +79 -0
- package/dist/rules/typescript-require-readonly-map-return-type.js.map +1 -0
- package/dist/rules/typescript-require-readonly-map-type-alias.d.ts +9 -0
- package/dist/rules/typescript-require-readonly-map-type-alias.d.ts.map +1 -0
- package/dist/rules/typescript-require-readonly-map-type-alias.js +59 -0
- package/dist/rules/typescript-require-readonly-map-type-alias.js.map +1 -0
- package/dist/rules/typescript-require-readonly-record-parameter-type.d.ts +9 -0
- package/dist/rules/typescript-require-readonly-record-parameter-type.d.ts.map +1 -0
- package/dist/rules/typescript-require-readonly-record-parameter-type.js +124 -0
- package/dist/rules/typescript-require-readonly-record-parameter-type.js.map +1 -0
- package/dist/rules/typescript-require-readonly-record-property-type.d.ts +9 -0
- package/dist/rules/typescript-require-readonly-record-property-type.d.ts.map +1 -0
- package/dist/rules/typescript-require-readonly-record-property-type.js +92 -0
- package/dist/rules/typescript-require-readonly-record-property-type.js.map +1 -0
- package/dist/rules/typescript-require-readonly-record-return-type.d.ts +9 -0
- package/dist/rules/typescript-require-readonly-record-return-type.d.ts.map +1 -0
- package/dist/rules/typescript-require-readonly-record-return-type.js +94 -0
- package/dist/rules/typescript-require-readonly-record-return-type.js.map +1 -0
- package/dist/rules/typescript-require-readonly-record-type-alias.d.ts +9 -0
- package/dist/rules/typescript-require-readonly-record-type-alias.d.ts.map +1 -0
- package/dist/rules/typescript-require-readonly-record-type-alias.js +74 -0
- package/dist/rules/typescript-require-readonly-record-type-alias.js.map +1 -0
- package/dist/rules/typescript-require-readonly-set-parameter-type.d.ts +9 -0
- package/dist/rules/typescript-require-readonly-set-parameter-type.d.ts.map +1 -0
- package/dist/rules/typescript-require-readonly-set-parameter-type.js +109 -0
- package/dist/rules/typescript-require-readonly-set-parameter-type.js.map +1 -0
- package/dist/rules/typescript-require-readonly-set-property-type.d.ts +9 -0
- package/dist/rules/typescript-require-readonly-set-property-type.d.ts.map +1 -0
- package/dist/rules/typescript-require-readonly-set-property-type.js +77 -0
- package/dist/rules/typescript-require-readonly-set-property-type.js.map +1 -0
- package/dist/rules/typescript-require-readonly-set-return-type.d.ts +9 -0
- package/dist/rules/typescript-require-readonly-set-return-type.d.ts.map +1 -0
- package/dist/rules/typescript-require-readonly-set-return-type.js +79 -0
- package/dist/rules/typescript-require-readonly-set-return-type.js.map +1 -0
- package/dist/rules/typescript-require-readonly-set-type-alias.d.ts +9 -0
- package/dist/rules/typescript-require-readonly-set-type-alias.d.ts.map +1 -0
- package/dist/rules/typescript-require-readonly-set-type-alias.js +59 -0
- package/dist/rules/typescript-require-readonly-set-type-alias.js.map +1 -0
- package/dist/rules/typescript-require-this-void.d.ts +9 -0
- package/dist/rules/typescript-require-this-void.d.ts.map +1 -0
- package/dist/rules/typescript-require-this-void.js +71 -0
- package/dist/rules/typescript-require-this-void.js.map +1 -0
- package/dist/rules/underscore-internal.d.ts +8 -0
- package/dist/rules/underscore-internal.d.ts.map +1 -0
- package/dist/rules/underscore-internal.js +116 -0
- package/dist/rules/underscore-internal.js.map +1 -0
- package/dist/rules/unused-internal-properties.d.ts +11 -0
- package/dist/rules/unused-internal-properties.d.ts.map +1 -0
- package/dist/rules/unused-internal-properties.js +28 -0
- package/dist/rules/unused-internal-properties.js.map +1 -0
- package/dist/rules/uppercase-iife.d.ts +11 -0
- package/dist/rules/uppercase-iife.d.ts.map +1 -0
- package/dist/rules/uppercase-iife.js +28 -0
- package/dist/rules/uppercase-iife.js.map +1 -0
- package/dist/rules/words.d.ts +11 -0
- package/dist/rules/words.d.ts.map +1 -0
- package/dist/rules/words.js +28 -0
- package/dist/rules/words.js.map +1 -0
- package/dist/rules.d.ts +21 -0
- package/dist/rules.d.ts.map +1 -0
- package/dist/rules.js +355 -0
- package/dist/rules.js.map +1 -0
- package/docs/docusaurus/blog/2026-03-09-docs-site-online.md +19 -0
- package/docs/docusaurus/blog/2026-03-11-adr-driven-docs-roadmap.md +31 -0
- package/docs/docusaurus/blog/authors.yml +18 -0
- package/docs/docusaurus/docusaurus.config.ts +457 -0
- package/docs/docusaurus/package.json +116 -0
- package/docs/docusaurus/sidebars.rules.ts +379 -0
- package/docs/docusaurus/sidebars.ts +136 -0
- package/docs/docusaurus/site-docs/architecture/adr/0001-flat-config-first-plugin-shape.md +41 -0
- package/docs/docusaurus/site-docs/architecture/adr/0002-rule-docs-coverage-enforcement.md +42 -0
- package/docs/docusaurus/site-docs/architecture/adr/0003-unified-etc-misc-curation-strategy.md +55 -0
- package/docs/docusaurus/site-docs/architecture/adr/0004-generated-rule-catalog-source-of-truth.md +50 -0
- package/docs/docusaurus/site-docs/architecture/adr/0005-risk-tiered-recommended-preset-strategy.md +50 -0
- package/docs/docusaurus/site-docs/architecture/adr/index.md +24 -0
- package/docs/docusaurus/site-docs/getting-started.md +48 -0
- package/docs/docusaurus/site-docs/guides/blog-post-backlog.md +28 -0
- package/docs/docusaurus/site-docs/guides/docs-maintenance-playbook.md +49 -0
- package/docs/docusaurus/site-docs/guides/migration-from-etc-and-misc.md +88 -0
- package/docs/docusaurus/site-docs/intro.md +39 -0
- package/docs/docusaurus/site-docs/releasing.md +95 -0
- package/docs/docusaurus/src/components/GitHubStats.jsx +72 -0
- package/docs/docusaurus/src/css/custom.css +570 -0
- package/docs/docusaurus/src/css/custom.css.d.ts +22 -0
- package/docs/docusaurus/src/js/modernEnhancements.ts +219 -0
- package/docs/docusaurus/src/pages/index.jsx +201 -0
- package/docs/docusaurus/src/pages/index.module.css +588 -0
- package/docs/docusaurus/src/pages/index.module.css.d.ts +48 -0
- package/docs/docusaurus/static/img/apple-touch-icon.png +0 -0
- package/docs/docusaurus/static/img/favicon-96x96.png +0 -0
- package/docs/docusaurus/static/img/favicon.ico +0 -0
- package/docs/docusaurus/static/img/favicon.svg +1 -0
- package/docs/docusaurus/static/img/logo-128x128.svg +401 -0
- package/docs/docusaurus/static/img/logo.png +0 -0
- package/docs/docusaurus/static/img/logo.svg +399 -0
- package/docs/docusaurus/static/img/logo_128x128.png +0 -0
- package/docs/docusaurus/static/img/logo_192x192.png +0 -0
- package/docs/docusaurus/static/img/site.webmanifest +21 -0
- package/docs/docusaurus/static/img/web-app-manifest-192x192.png +0 -0
- package/docs/docusaurus/static/img/web-app-manifest-512x512.png +0 -0
- package/docs/docusaurus/static/manifest.json +22 -0
- package/docs/docusaurus/tsconfig.json +30 -0
- package/docs/docusaurus/tsconfig.typedoc.json +20 -0
- package/docs/docusaurus/typedoc-plugins/hashToBangLinks.mjs +61 -0
- package/docs/docusaurus/typedoc-plugins/hashToBangLinksCore.d.mts +31 -0
- package/docs/docusaurus/typedoc-plugins/hashToBangLinksCore.mjs +154 -0
- package/docs/docusaurus/typedoc-plugins/prefixDocLinks.mjs +46 -0
- package/docs/docusaurus/typedoc-plugins/prefixDocLinksCore.d.mts +18 -0
- package/docs/docusaurus/typedoc-plugins/prefixDocLinksCore.mjs +410 -0
- package/docs/docusaurus/typedoc.config.json +610 -0
- package/docs/docusaurus/typedoc.local.config.json +610 -0
- package/docs/rules/array-type.md +82 -0
- package/docs/rules/class-match-filename.md +95 -0
- package/docs/rules/comment-spacing.md +131 -0
- package/docs/rules/consistent-empty-lines.md +104 -0
- package/docs/rules/consistent-enum-members.md +112 -0
- package/docs/rules/consistent-filename.md +116 -0
- package/docs/rules/consistent-import.md +128 -0
- package/docs/rules/consistent-optional-props.md +114 -0
- package/docs/rules/consistent-source-extension.md +106 -0
- package/docs/rules/consistent-symbol-description.md +91 -0
- package/docs/rules/default-case.md +95 -0
- package/docs/rules/disallow-import.md +108 -0
- package/docs/rules/export-matching-filename-only.md +115 -0
- package/docs/rules/getting-started.md +66 -0
- package/docs/rules/guides/adoption-checklist.md +37 -0
- package/docs/rules/guides/rollout-and-fix-safety.md +42 -0
- package/docs/rules/match-filename.md +119 -0
- package/docs/rules/max-identifier-blocks.md +94 -0
- package/docs/rules/no-assign-mutated-array.md +119 -0
- package/docs/rules/no-at-sign-import.md +97 -0
- package/docs/rules/no-at-sign-internal-import.md +98 -0
- package/docs/rules/no-chain-coalescence-mixture.md +93 -0
- package/docs/rules/no-commented-out-code.md +126 -0
- package/docs/rules/no-const-enum.md +109 -0
- package/docs/rules/no-deprecated.md +175 -0
- package/docs/rules/no-enum.md +98 -0
- package/docs/rules/no-expression-empty-lines.md +100 -0
- package/docs/rules/no-foreach.md +108 -0
- package/docs/rules/no-implicit-any-catch.md +159 -0
- package/docs/rules/no-index-import.md +101 -0
- package/docs/rules/no-internal-modules.md +111 -0
- package/docs/rules/no-internal.md +168 -0
- package/docs/rules/no-language-mixing.md +89 -0
- package/docs/rules/no-misused-generics.md +105 -0
- package/docs/rules/no-mixed-enums.md +96 -0
- package/docs/rules/no-negated-conditions.md +98 -0
- package/docs/rules/no-nodejs-modules.md +103 -0
- package/docs/rules/no-param-reassign.md +110 -0
- package/docs/rules/no-relative-parent-import.md +118 -0
- package/docs/rules/no-restricted-syntax.md +140 -0
- package/docs/rules/no-secret.md +86 -0
- package/docs/rules/no-self-import.md +107 -0
- package/docs/rules/no-shadow.md +109 -0
- package/docs/rules/no-sibling-import.md +109 -0
- package/docs/rules/no-single-line-comment.md +109 -0
- package/docs/rules/no-t.md +128 -0
- package/docs/rules/no-underscore-export.md +93 -0
- package/docs/rules/no-unnecessary-as-const.md +96 -0
- package/docs/rules/no-unnecessary-break.md +99 -0
- package/docs/rules/no-unnecessary-initialization.md +93 -0
- package/docs/rules/no-unnecessary-template-literal.md +92 -0
- package/docs/rules/no-unused-disable.md +88 -0
- package/docs/rules/no-useless-generics.md +95 -0
- package/docs/rules/no-value-tostring.md +90 -0
- package/docs/rules/no-writeonly.md +102 -0
- package/docs/rules/object-format.md +118 -0
- package/docs/rules/only-export-name.md +120 -0
- package/docs/rules/overview.md +46 -0
- package/docs/rules/prefer-arrow-function-property.md +108 -0
- package/docs/rules/prefer-const-require.md +91 -0
- package/docs/rules/prefer-includes.md +83 -0
- package/docs/rules/prefer-interface.md +156 -0
- package/docs/rules/prefer-less-than.md +98 -0
- package/docs/rules/prefer-object-has-own.md +82 -0
- package/docs/rules/prefer-only-export.md +89 -0
- package/docs/rules/presets/all-strict.md +160 -0
- package/docs/rules/presets/all.md +177 -0
- package/docs/rules/presets/recommended.md +55 -0
- package/docs/rules/presets/strict-type-checked.md +66 -0
- package/docs/rules/presets/strict.md +51 -0
- package/docs/rules/require-jsdoc.md +151 -0
- package/docs/rules/require-syntax.md +129 -0
- package/docs/rules/restrict-identifier-characters.md +88 -0
- package/docs/rules/rule-catalog-map.json +912 -0
- package/docs/rules/sort-array.md +91 -0
- package/docs/rules/sort-call-signature.md +98 -0
- package/docs/rules/sort-class-members.md +115 -0
- package/docs/rules/sort-construct-signature.md +96 -0
- package/docs/rules/sort-export-specifiers.md +89 -0
- package/docs/rules/sort-keys.md +107 -0
- package/docs/rules/sort-top-comments.md +92 -0
- package/docs/rules/switch-case-spacing.md +110 -0
- package/docs/rules/template-literal-format.md +100 -0
- package/docs/rules/throw-error.md +110 -0
- package/docs/rules/throw-new-error.md +81 -0
- package/docs/rules/typescript-array-callback-return-type.md +127 -0
- package/docs/rules/typescript-class-methods-use-this.md +120 -0
- package/docs/rules/typescript-consistent-array-type-name.md +93 -0
- package/docs/rules/typescript-define-function-in-one-statement.md +90 -0
- package/docs/rules/typescript-exhaustive-switch.md +114 -0
- package/docs/rules/typescript-no-boolean-literal-type.md +94 -0
- package/docs/rules/typescript-no-complex-declarator-type.md +96 -0
- package/docs/rules/typescript-no-complex-return-type.md +90 -0
- package/docs/rules/typescript-no-empty-interfaces.md +99 -0
- package/docs/rules/typescript-no-inferrable-types.md +102 -0
- package/docs/rules/typescript-no-multi-type-tuples.md +87 -0
- package/docs/rules/typescript-no-never.md +93 -0
- package/docs/rules/typescript-no-redundant-undefined-const.md +101 -0
- package/docs/rules/typescript-no-redundant-undefined-default-parameter.md +117 -0
- package/docs/rules/typescript-no-redundant-undefined-let.md +106 -0
- package/docs/rules/typescript-no-redundant-undefined-optional.md +106 -0
- package/docs/rules/typescript-no-redundant-undefined-promise-return-type.md +134 -0
- package/docs/rules/typescript-no-redundant-undefined-readonly-property.md +110 -0
- package/docs/rules/typescript-no-redundant-undefined-return-type.md +131 -0
- package/docs/rules/typescript-no-redundant-undefined-var.md +106 -0
- package/docs/rules/typescript-no-restricted-syntax.md +119 -0
- package/docs/rules/typescript-no-unsafe-object-assign.md +91 -0
- package/docs/rules/typescript-no-unsafe-object-assignment.md +93 -0
- package/docs/rules/typescript-prefer-array-type-alias.md +87 -0
- package/docs/rules/typescript-prefer-class-method.md +87 -0
- package/docs/rules/typescript-prefer-enum.md +99 -0
- package/docs/rules/typescript-prefer-named-tuple-members.md +104 -0
- package/docs/rules/typescript-prefer-readonly-array-parameter.md +106 -0
- package/docs/rules/typescript-prefer-readonly-array.md +86 -0
- package/docs/rules/typescript-prefer-readonly-index-signature.md +94 -0
- package/docs/rules/typescript-prefer-readonly-map.md +83 -0
- package/docs/rules/typescript-prefer-readonly-property.md +91 -0
- package/docs/rules/typescript-prefer-readonly-record.md +84 -0
- package/docs/rules/typescript-prefer-readonly-set.md +82 -0
- package/docs/rules/typescript-require-prop-type-annotation.md +91 -0
- package/docs/rules/typescript-require-readonly-array-property-type.md +111 -0
- package/docs/rules/typescript-require-readonly-array-return-type.md +113 -0
- package/docs/rules/typescript-require-readonly-array-type-alias.md +102 -0
- package/docs/rules/typescript-require-readonly-map-parameter-type.md +99 -0
- package/docs/rules/typescript-require-readonly-map-property-type.md +103 -0
- package/docs/rules/typescript-require-readonly-map-return-type.md +105 -0
- package/docs/rules/typescript-require-readonly-map-type-alias.md +92 -0
- package/docs/rules/typescript-require-readonly-record-parameter-type.md +100 -0
- package/docs/rules/typescript-require-readonly-record-property-type.md +102 -0
- package/docs/rules/typescript-require-readonly-record-return-type.md +108 -0
- package/docs/rules/typescript-require-readonly-record-type-alias.md +93 -0
- package/docs/rules/typescript-require-readonly-set-parameter-type.md +99 -0
- package/docs/rules/typescript-require-readonly-set-property-type.md +103 -0
- package/docs/rules/typescript-require-readonly-set-return-type.md +105 -0
- package/docs/rules/typescript-require-readonly-set-type-alias.md +92 -0
- package/docs/rules/typescript-require-this-void.md +95 -0
- package/docs/rules/underscore-internal.md +112 -0
- package/docs/rules/unused-internal-properties.md +100 -0
- package/docs/rules/uppercase-iife.md +82 -0
- package/docs/rules/words.md +83 -0
- package/package.json +546 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
<!-- markdownlint-disable -->
|
|
2
|
+
|
|
3
|
+
# Changelog
|
|
4
|
+
|
|
5
|
+
All notable changes to this project will be documented in this file.
|
|
6
|
+
|
|
7
|
+
## [Unreleased]
|
|
8
|
+
|
|
9
|
+
### Initial release
|
|
10
|
+
|
|
11
|
+
- Initial public release preparation for `eslint-plugin-etc-misc`.
|
|
12
|
+
- Consolidated rule docs and Docusaurus site configuration.
|
|
13
|
+
- Release automation and package verification workflow updates.
|
|
14
|
+
|
|
15
|
+
## [1.0.0] - 2026-03-09
|
|
16
|
+
|
|
17
|
+
### Added
|
|
18
|
+
|
|
19
|
+
- Initial release of `eslint-plugin-etc-misc`.
|
|
20
|
+
- Flat config presets: `recommended` and `all`.
|
|
21
|
+
- Combined `etc`/`misc`-style rule set with TypeScript-focused linting support.
|
|
22
|
+
|
|
23
|
+
[1.0.0]: https://github.com/Nick2bad4u/eslint-plugin-etc-misc/releases/tag/v1.0.0
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Nick2bad4u
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,259 @@
|
|
|
1
|
+
# eslint-plugin-etc-misc
|
|
2
|
+
|
|
3
|
+
[](https://www.npmjs.com/package/eslint-plugin-etc-misc) [](https://www.npmjs.com/package/eslint-plugin-etc-misc) [](./LICENSE)
|
|
4
|
+
|
|
5
|
+
Opinionated ESLint plugin that combines and curates rules from `etc` and `misc`
|
|
6
|
+
style linting patterns for TypeScript-heavy codebases.
|
|
7
|
+
|
|
8
|
+
## Credits
|
|
9
|
+
|
|
10
|
+
This plugin builds on ideas and rule work from:
|
|
11
|
+
|
|
12
|
+
- [`eslint-plugin-etc`](https://github.com/cartant/eslint-plugin-etc) by [Nicholas Jamieson](https://github.com/cartant)
|
|
13
|
+
- [`eslint-plugin-misc`](https://github.com/iliubinskii/eslint-plugin-misc) by [Ilia Liubinskii](https://github.com/iliubinskii)
|
|
14
|
+
|
|
15
|
+
## Installation
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
npm install --save-dev eslint-plugin-etc-misc eslint typescript
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Usage (Flat Config)
|
|
22
|
+
|
|
23
|
+
```js
|
|
24
|
+
import etcMisc from "eslint-plugin-etc-misc";
|
|
25
|
+
import tsParser from "@typescript-eslint/parser";
|
|
26
|
+
|
|
27
|
+
export default [
|
|
28
|
+
{
|
|
29
|
+
files: ["**/*.{ts,tsx,mts,cts}"],
|
|
30
|
+
languageOptions: {
|
|
31
|
+
parser: tsParser,
|
|
32
|
+
parserOptions: {
|
|
33
|
+
ecmaVersion: "latest",
|
|
34
|
+
sourceType: "module",
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
},
|
|
38
|
+
etcMisc.configs.recommended,
|
|
39
|
+
];
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
If your project uses CommonJS config files, `require()` works too:
|
|
43
|
+
|
|
44
|
+
```js
|
|
45
|
+
// eslint.config.cjs
|
|
46
|
+
const etcMisc = require("eslint-plugin-etc-misc");
|
|
47
|
+
|
|
48
|
+
module.exports = [etcMisc.configs.recommended];
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## Presets
|
|
52
|
+
|
|
53
|
+
| Preset |
|
|
54
|
+
| --- |
|
|
55
|
+
| [🟡](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/recommended) [`etcMisc.configs.recommended`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/recommended) |
|
|
56
|
+
| [🟠](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/strict) [`etcMisc.configs.strict`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/strict) |
|
|
57
|
+
| [🔵](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/strict-type-checked) [`etcMisc.configs.strictTypeChecked`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/strict-type-checked) |
|
|
58
|
+
| [🔴](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all-strict) [`etcMisc.configs.allStrict`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all-strict) |
|
|
59
|
+
| [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) [`etcMisc.configs.all`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) |
|
|
60
|
+
|
|
61
|
+
## Plugin namespace
|
|
62
|
+
|
|
63
|
+
Rules are namespaced as `etc-misc/<rule-name>`, for example:
|
|
64
|
+
|
|
65
|
+
```js
|
|
66
|
+
{
|
|
67
|
+
rules: {
|
|
68
|
+
"etc-misc/no-t": "error",
|
|
69
|
+
},
|
|
70
|
+
}
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
## Rules
|
|
74
|
+
|
|
75
|
+
- `Fix` legend:
|
|
76
|
+
- `🔧` = autofixable
|
|
77
|
+
- `💡` = suggestions available
|
|
78
|
+
- `—` = report only
|
|
79
|
+
- `Preset key` legend:
|
|
80
|
+
- [🟡](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/recommended) — [`etcMisc.configs.recommended`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/recommended)
|
|
81
|
+
- [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) — [`etcMisc.configs.all`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all)
|
|
82
|
+
- `Deprecated` legend: `⚠️` = deprecated
|
|
83
|
+
|
|
84
|
+
| Rule | Fix | Preset key | Deprecated | Recommended replacement |
|
|
85
|
+
| --- | :-: | :-- | :-: | :-- |
|
|
86
|
+
| [`array-type`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/array-type) | 🔧 | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | ⚠️ | [`@typescript-eslint/array-type`](https://typescript-eslint.io/rules/array-type) |
|
|
87
|
+
| [`class-match-filename`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/class-match-filename) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
88
|
+
| [`comment-spacing`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/comment-spacing) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
89
|
+
| [`consistent-empty-lines`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/consistent-empty-lines) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
90
|
+
| [`consistent-enum-members`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/consistent-enum-members) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
91
|
+
| [`consistent-filename`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/consistent-filename) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | ⚠️ | [`unicorn/filename-case`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/filename-case.md) |
|
|
92
|
+
| [`consistent-import`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/consistent-import) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
93
|
+
| [`consistent-optional-props`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/consistent-optional-props) | 🔧 | [🟡](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/recommended) [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
94
|
+
| [`consistent-source-extension`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/consistent-source-extension) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | ⚠️ | [`import/extensions`](https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/extensions.md) |
|
|
95
|
+
| [`consistent-symbol-description`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/consistent-symbol-description) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
96
|
+
| [`default-case`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/default-case) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
97
|
+
| [`disallow-import`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/disallow-import) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
98
|
+
| [`export-matching-filename-only`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/export-matching-filename-only) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
99
|
+
| [`match-filename`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/match-filename) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
100
|
+
| [`max-identifier-blocks`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/max-identifier-blocks) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
101
|
+
| [`no-assign-mutated-array`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/no-assign-mutated-array) | — | [🟡](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/recommended) [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
102
|
+
| [`no-at-sign-import`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/no-at-sign-import) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
103
|
+
| [`no-at-sign-internal-import`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/no-at-sign-internal-import) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
104
|
+
| [`no-chain-coalescence-mixture`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/no-chain-coalescence-mixture) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
105
|
+
| [`no-commented-out-code`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/no-commented-out-code) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | ⚠️ | [`no-commented-code`](https://www.npmjs.com/package/eslint-plugin-no-commented-code) |
|
|
106
|
+
| [`no-const-enum`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/no-const-enum) | 🔧 💡 | [🟡](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/recommended) [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
107
|
+
| [`no-deprecated`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/no-deprecated) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | ⚠️ | [`@typescript-eslint/no-deprecated`](https://typescript-eslint.io/rules/no-deprecated) |
|
|
108
|
+
| [`no-enum`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/no-enum) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
109
|
+
| [`no-expression-empty-lines`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/no-expression-empty-lines) | 🔧 | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
110
|
+
| [`no-foreach`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/no-foreach) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
111
|
+
| [`no-implicit-any-catch`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/no-implicit-any-catch) | 🔧 💡 | [🟡](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/recommended) [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
112
|
+
| [`no-index-import`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/no-index-import) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
113
|
+
| [`no-internal`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/no-internal) | — | [🟡](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/recommended) [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
114
|
+
| [`no-internal-modules`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/no-internal-modules) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
115
|
+
| [`no-language-mixing`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/no-language-mixing) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
116
|
+
| [`no-misused-generics`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/no-misused-generics) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
117
|
+
| [`no-mixed-enums`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/no-mixed-enums) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | ⚠️ | [`@typescript-eslint/no-mixed-enums`](https://typescript-eslint.io/rules/no-mixed-enums) |
|
|
118
|
+
| [`no-negated-conditions`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/no-negated-conditions) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
119
|
+
| [`no-nodejs-modules`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/no-nodejs-modules) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
120
|
+
| [`no-param-reassign`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/no-param-reassign) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
121
|
+
| [`no-relative-parent-import`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/no-relative-parent-import) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | ⚠️ | [`import/no-relative-parent-imports`](https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-relative-parent-imports.md) |
|
|
122
|
+
| [`no-restricted-syntax`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/no-restricted-syntax) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | ⚠️ | [`no-restricted-syntax`](https://eslint.org/docs/latest/rules/no-restricted-syntax) |
|
|
123
|
+
| [`no-secret`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/no-secret) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | ⚠️ | [`secretlint`](https://github.com/secretlint/secretlint) · [`detect-secrets`](https://github.com/Yelp/detect-secrets) · [`no-secrets/no-secrets`](https://github.com/nickdeis/eslint-plugin-no-secrets) |
|
|
124
|
+
| [`no-self-import`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/no-self-import) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | ⚠️ | [`import/no-self-import`](https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-self-import.md) |
|
|
125
|
+
| [`no-shadow`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/no-shadow) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | ⚠️ | [`@typescript-eslint/no-shadow`](https://typescript-eslint.io/rules/no-shadow) |
|
|
126
|
+
| [`no-sibling-import`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/no-sibling-import) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
127
|
+
| [`no-single-line-comment`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/no-single-line-comment) | 🔧 💡 | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
128
|
+
| [`no-t`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/no-t) | — | [🟡](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/recommended) [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
129
|
+
| [`no-underscore-export`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/no-underscore-export) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
130
|
+
| [`no-unnecessary-as-const`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/no-unnecessary-as-const) | 🔧 | [🟡](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/recommended) [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
131
|
+
| [`no-unnecessary-break`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/no-unnecessary-break) | 🔧 💡 | [🟡](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/recommended) [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
132
|
+
| [`no-unnecessary-initialization`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/no-unnecessary-initialization) | 🔧 | [🟡](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/recommended) [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
133
|
+
| [`no-unnecessary-template-literal`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/no-unnecessary-template-literal) | 🔧 | [🟡](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/recommended) [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
134
|
+
| [`no-unused-disable`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/no-unused-disable) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | ⚠️ | [`@eslint-community/eslint-comments/no-unused-disable`](https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/no-unused-disable.html) |
|
|
135
|
+
| [`no-useless-generics`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/no-useless-generics) | 💡 | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | ⚠️ | [`@typescript-eslint/no-unnecessary-type-parameters`](https://typescript-eslint.io/rules/no-unnecessary-type-parameters) |
|
|
136
|
+
| [`no-value-tostring`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/no-value-tostring) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | ⚠️ | [`@typescript-eslint/no-base-to-string`](https://typescript-eslint.io/rules/no-base-to-string) |
|
|
137
|
+
| [`no-writeonly`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/no-writeonly) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
138
|
+
| [`object-format`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/object-format) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
139
|
+
| [`only-export-name`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/only-export-name) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
140
|
+
| [`prefer-arrow-function-property`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/prefer-arrow-function-property) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
141
|
+
| [`prefer-const-require`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/prefer-const-require) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
142
|
+
| [`prefer-includes`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/prefer-includes) | 🔧 💡 | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | ⚠️ | [`unicorn/prefer-includes`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-includes.md) |
|
|
143
|
+
| [`prefer-interface`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/prefer-interface) | 🔧 💡 | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | ⚠️ | [`@typescript-eslint/consistent-type-definitions`](https://typescript-eslint.io/rules/consistent-type-definitions) |
|
|
144
|
+
| [`prefer-less-than`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/prefer-less-than) | 🔧 💡 | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
145
|
+
| [`prefer-object-has-own`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/prefer-object-has-own) | 🔧 | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | ⚠️ | [`eslint/prefer-object-has-own`](https://eslint.org/docs/latest/rules/prefer-object-has-own) |
|
|
146
|
+
| [`prefer-only-export`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/prefer-only-export) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
147
|
+
| [`require-jsdoc`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/require-jsdoc) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | ⚠️ | [`jsdoc/require-jsdoc`](https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-jsdoc.md) |
|
|
148
|
+
| [`require-syntax`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/require-syntax) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
149
|
+
| [`restrict-identifier-characters`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/restrict-identifier-characters) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
150
|
+
| [`sort-array`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/sort-array) | 🔧 | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
151
|
+
| [`sort-call-signature`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/sort-call-signature) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
152
|
+
| [`sort-class-members`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/sort-class-members) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | ⚠️ | [`sort-class-members`](https://www.npmjs.com/package/eslint-plugin-sort-class-members) · [`perfectionist`](https://perfectionist.dev/) |
|
|
153
|
+
| [`sort-construct-signature`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/sort-construct-signature) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
154
|
+
| [`sort-export-specifiers`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/sort-export-specifiers) | 🔧 | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
155
|
+
| [`sort-keys`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/sort-keys) | 🔧 | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
156
|
+
| [`sort-top-comments`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/sort-top-comments) | 🔧 | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
157
|
+
| [`switch-case-spacing`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/switch-case-spacing) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | ⚠️ | [`@stylistic/switch-colon-spacing`](https://eslint.style/rules/switch-colon-spacing) |
|
|
158
|
+
| [`template-literal-format`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/template-literal-format) | 🔧 | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
159
|
+
| [`throw-error`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/throw-error) | 💡 | [🟡](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/recommended) [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
160
|
+
| [`throw-new-error`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/throw-new-error) | 🔧 | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | ⚠️ | [`unicorn/throw-new-error`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/throw-new-error.md) |
|
|
161
|
+
| [`typescript/array-callback-return-type`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-array-callback-return-type) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
162
|
+
| [`typescript/class-methods-use-this`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-class-methods-use-this) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | ⚠️ | [`@typescript-eslint/class-methods-use-this`](https://typescript-eslint.io/rules/class-methods-use-this) |
|
|
163
|
+
| [`typescript/consistent-array-type-name`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-consistent-array-type-name) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
164
|
+
| [`typescript/define-function-in-one-statement`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-define-function-in-one-statement) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
165
|
+
| [`typescript/exhaustive-switch`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-exhaustive-switch) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | ⚠️ | [`@typescript-eslint/switch-exhaustiveness-check`](https://typescript-eslint.io/rules/switch-exhaustiveness-check) |
|
|
166
|
+
| [`typescript/no-boolean-literal-type`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-no-boolean-literal-type) | 🔧 | [🟡](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/recommended) [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
167
|
+
| [`typescript/no-complex-declarator-type`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-no-complex-declarator-type) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
168
|
+
| [`typescript/no-complex-return-type`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-no-complex-return-type) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
169
|
+
| [`typescript/no-empty-interfaces`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-no-empty-interfaces) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | ⚠️ | [`@typescript-eslint/no-empty-object-type`](https://typescript-eslint.io/rules/no-empty-object-type) |
|
|
170
|
+
| [`typescript/no-inferrable-types`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-no-inferrable-types) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | ⚠️ | [`@typescript-eslint/no-inferrable-types`](https://typescript-eslint.io/rules/no-inferrable-types) |
|
|
171
|
+
| [`typescript/no-multi-type-tuples`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-no-multi-type-tuples) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
172
|
+
| [`typescript/no-never`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-no-never) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
173
|
+
| [`typescript/no-redundant-undefined-const`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-no-redundant-undefined-const) | 🔧 💡 | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
174
|
+
| [`typescript/no-redundant-undefined-default-parameter`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-no-redundant-undefined-default-parameter) | 🔧 💡 | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
175
|
+
| [`typescript/no-redundant-undefined-let`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-no-redundant-undefined-let) | 🔧 💡 | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
176
|
+
| [`typescript/no-redundant-undefined-optional`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-no-redundant-undefined-optional) | 🔧 💡 | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
177
|
+
| [`typescript/no-redundant-undefined-promise-return-type`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-no-redundant-undefined-promise-return-type) | 🔧 💡 | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
178
|
+
| [`typescript/no-redundant-undefined-readonly-property`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-no-redundant-undefined-readonly-property) | 🔧 💡 | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
179
|
+
| [`typescript/no-redundant-undefined-return-type`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-no-redundant-undefined-return-type) | 🔧 💡 | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
180
|
+
| [`typescript/no-redundant-undefined-var`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-no-redundant-undefined-var) | 🔧 💡 | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
181
|
+
| [`typescript/no-restricted-syntax`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-no-restricted-syntax) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | ⚠️ | [`@typescript-eslint/no-restricted-syntax`](https://typescript-eslint.io/rules/no-restricted-syntax) |
|
|
182
|
+
| [`typescript/no-unsafe-object-assign`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-no-unsafe-object-assign) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
183
|
+
| [`typescript/no-unsafe-object-assignment`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-no-unsafe-object-assignment) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
184
|
+
| [`typescript/prefer-array-type-alias`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-prefer-array-type-alias) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
185
|
+
| [`typescript/prefer-class-method`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-prefer-class-method) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
186
|
+
| [`typescript/prefer-enum`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-prefer-enum) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
187
|
+
| [`typescript/prefer-named-tuple-members`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-prefer-named-tuple-members) | 🔧 💡 | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
188
|
+
| [`typescript/prefer-readonly-array`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-prefer-readonly-array) | 🔧 | [🟡](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/recommended) [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
189
|
+
| [`typescript/prefer-readonly-array-parameter`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-prefer-readonly-array-parameter) | 🔧 💡 | [🟡](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/recommended) [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
190
|
+
| [`typescript/prefer-readonly-index-signature`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-prefer-readonly-index-signature) | 🔧 | [🟡](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/recommended) [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
191
|
+
| [`typescript/prefer-readonly-map`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-prefer-readonly-map) | 🔧 | [🟡](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/recommended) [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
192
|
+
| [`typescript/prefer-readonly-property`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-prefer-readonly-property) | 🔧 💡 | [🟡](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/recommended) [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
193
|
+
| [`typescript/prefer-readonly-record`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-prefer-readonly-record) | 🔧 | [🟡](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/recommended) [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
194
|
+
| [`typescript/prefer-readonly-set`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-prefer-readonly-set) | 🔧 | [🟡](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/recommended) [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
195
|
+
| [`typescript/require-prop-type-annotation`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-require-prop-type-annotation) | 🔧 💡 | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
196
|
+
| [`typescript/require-readonly-array-property-type`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-require-readonly-array-property-type) | 🔧 💡 | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
197
|
+
| [`typescript/require-readonly-array-return-type`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-require-readonly-array-return-type) | 🔧 💡 | [🟡](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/recommended) [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
198
|
+
| [`typescript/require-readonly-array-type-alias`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-require-readonly-array-type-alias) | 🔧 💡 | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
199
|
+
| [`typescript/require-readonly-map-parameter-type`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-require-readonly-map-parameter-type) | 🔧 💡 | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
200
|
+
| [`typescript/require-readonly-map-property-type`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-require-readonly-map-property-type) | 🔧 💡 | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
201
|
+
| [`typescript/require-readonly-map-return-type`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-require-readonly-map-return-type) | 🔧 💡 | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
202
|
+
| [`typescript/require-readonly-map-type-alias`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-require-readonly-map-type-alias) | 🔧 💡 | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
203
|
+
| [`typescript/require-readonly-record-parameter-type`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-require-readonly-record-parameter-type) | 🔧 💡 | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
204
|
+
| [`typescript/require-readonly-record-property-type`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-require-readonly-record-property-type) | 🔧 💡 | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
205
|
+
| [`typescript/require-readonly-record-return-type`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-require-readonly-record-return-type) | 🔧 💡 | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
206
|
+
| [`typescript/require-readonly-record-type-alias`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-require-readonly-record-type-alias) | 🔧 💡 | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
207
|
+
| [`typescript/require-readonly-set-parameter-type`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-require-readonly-set-parameter-type) | 🔧 💡 | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
208
|
+
| [`typescript/require-readonly-set-property-type`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-require-readonly-set-property-type) | 🔧 💡 | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
209
|
+
| [`typescript/require-readonly-set-return-type`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-require-readonly-set-return-type) | 🔧 💡 | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
210
|
+
| [`typescript/require-readonly-set-type-alias`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-require-readonly-set-type-alias) | 🔧 💡 | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
211
|
+
| [`typescript/require-this-void`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-require-this-void) | 🔧 💡 | [🟡](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/recommended) [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
212
|
+
| [`underscore-internal`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/underscore-internal) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | — | — |
|
|
213
|
+
| [`unused-internal-properties`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/unused-internal-properties) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | ⚠️ | [`unicorn/no-unused-properties`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-unused-properties.md) |
|
|
214
|
+
| [`uppercase-iife`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/uppercase-iife) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | ⚠️ | [`unicorn/no-unreadable-iife`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-unreadable-iife.md) |
|
|
215
|
+
| [`words`](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/words) | — | [🟣](https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/presets/all) | ⚠️ | [`write-good-comments`](https://github.com/kantord/eslint-plugin-write-good-comments) |
|
|
216
|
+
|
|
217
|
+
## Documentation
|
|
218
|
+
|
|
219
|
+
- Rules docs: <https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/>
|
|
220
|
+
- Project docs site: <https://nick2bad4u.github.io/eslint-plugin-etc-misc/>
|
|
221
|
+
|
|
222
|
+
## Contributors
|
|
223
|
+
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
|
|
224
|
+
[](README.md#contributors)
|
|
225
|
+
<!-- ALL-CONTRIBUTORS-BADGE:END -->
|
|
226
|
+
|
|
227
|
+
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
|
|
228
|
+
<!-- prettier-ignore-start -->
|
|
229
|
+
<!-- markdownlint-disable -->
|
|
230
|
+
<table>
|
|
231
|
+
<tbody>
|
|
232
|
+
<tr>
|
|
233
|
+
<td align="center" valign="top" width="25%"><a href="https://github.com/danielnixon"><img src="https://avatars.githubusercontent.com/u/6418489?v=4?s=80" width="80px;" alt="Daniel Nixon"/><br /><sub><b>Daniel Nixon</b></sub></a><br /><a href="https://github.com/Nick2bad4u/eslint-plugin-etc-misc/commits?author=danielnixon" title="Code">💻</a></td>
|
|
234
|
+
<td align="center" valign="top" width="25%"><a href="https://github.com/felixfbecker"><img src="https://avatars.githubusercontent.com/u/10532611?v=4?s=80" width="80px;" alt="Felix Becker"/><br /><sub><b>Felix Becker</b></sub></a><br /><a href="https://github.com/Nick2bad4u/eslint-plugin-etc-misc/commits?author=felixfbecker" title="Code">💻</a></td>
|
|
235
|
+
<td align="center" valign="top" width="25%"><a href="https://upleveled.io/"><img src="https://avatars.githubusercontent.com/u/1935696?v=4?s=80" width="80px;" alt="Karl Horky"/><br /><sub><b>Karl Horky</b></sub></a><br /><a href="https://github.com/Nick2bad4u/eslint-plugin-etc-misc/commits?author=karlhorky" title="Code">💻</a></td>
|
|
236
|
+
<td align="center" valign="top" width="25%"><a href="https://medium.com/@martin_hotell"><img src="https://avatars.githubusercontent.com/u/1223799?v=4?s=80" width="80px;" alt="Martin Hochel"/><br /><sub><b>Martin Hochel</b></sub></a><br /><a href="https://github.com/Nick2bad4u/eslint-plugin-etc-misc/commits?author=Hotell" title="Code">💻</a></td>
|
|
237
|
+
</tr>
|
|
238
|
+
<tr>
|
|
239
|
+
<td align="center" valign="top" width="25%"><a href="https://ncjamieson.com/"><img src="https://avatars.githubusercontent.com/u/3878593?v=4?s=80" width="80px;" alt="Nicholas Jamieson"/><br /><sub><b>Nicholas Jamieson</b></sub></a><br /><a href="https://github.com/Nick2bad4u/eslint-plugin-etc-misc/commits?author=cartant" title="Code">💻</a></td>
|
|
240
|
+
<td align="center" valign="top" width="25%"><a href="https://github.com/Nick2bad4u"><img src="https://avatars.githubusercontent.com/u/20943337?v=4?s=80" width="80px;" alt="Nick2bad4u"/><br /><sub><b>Nick2bad4u</b></sub></a><br /><a href="https://github.com/Nick2bad4u/eslint-plugin-etc-misc/issues?q=author%3ANick2bad4u" title="Bug reports">🐛</a> <a href="https://github.com/Nick2bad4u/eslint-plugin-etc-misc/commits?author=Nick2bad4u" title="Code">💻</a> <a href="#content-Nick2bad4u" title="Content">🖋</a> <a href="https://github.com/Nick2bad4u/eslint-plugin-etc-misc/commits?author=Nick2bad4u" title="Documentation">📖</a> <a href="#ideas-Nick2bad4u" title="Ideas, Planning, & Feedback">🤔</a> <a href="#infra-Nick2bad4u" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="#maintenance-Nick2bad4u" title="Maintenance">🚧</a> <a href="#plugin-Nick2bad4u" title="Plugin/utility libraries">🔌</a> <a href="#research-Nick2bad4u" title="Research">🔬</a> <a href="https://github.com/Nick2bad4u/eslint-plugin-etc-misc/pulls?q=is%3Apr+reviewed-by%3ANick2bad4u" title="Reviewed Pull Requests">👀</a> <a href="https://github.com/Nick2bad4u/eslint-plugin-etc-misc/commits?author=Nick2bad4u" title="Tests">⚠️</a> <a href="#tool-Nick2bad4u" title="Tools">🔧</a></td>
|
|
241
|
+
<td align="center" valign="top" width="25%"><a href="https://snyk.io/"><img src="https://avatars.githubusercontent.com/u/19733683?v=4?s=80" width="80px;" alt="Snyk bot"/><br /><sub><b>Snyk bot</b></sub></a><br /><a href="#security-snyk-bot" title="Security">🛡️</a> <a href="#infra-snyk-bot" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="#maintenance-snyk-bot" title="Maintenance">🚧</a> <a href="https://github.com/Nick2bad4u/eslint-plugin-etc-misc/pulls?q=is%3Apr+reviewed-by%3Asnyk-bot" title="Reviewed Pull Requests">👀</a></td>
|
|
242
|
+
<td align="center" valign="top" width="25%"><a href="https://www.stepsecurity.io/"><img src="https://avatars.githubusercontent.com/u/89328645?v=4?s=80" width="80px;" alt="StepSecurity Bot"/><br /><sub><b>StepSecurity Bot</b></sub></a><br /><a href="#security-step-security-bot" title="Security">🛡️</a> <a href="#infra-step-security-bot" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="#maintenance-step-security-bot" title="Maintenance">🚧</a></td>
|
|
243
|
+
</tr>
|
|
244
|
+
<tr>
|
|
245
|
+
<td align="center" valign="top" width="25%"><a href="https://github.com/apps/dependabot"><img src="https://avatars.githubusercontent.com/in/29110?v=4?s=80" width="80px;" alt="dependabot[bot]"/><br /><sub><b>dependabot[bot]</b></sub></a><br /><a href="#infra-dependabot[bot]" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="#security-dependabot[bot]" title="Security">🛡️</a></td>
|
|
246
|
+
</tr>
|
|
247
|
+
</tbody>
|
|
248
|
+
</table>
|
|
249
|
+
|
|
250
|
+
<!-- markdownlint-restore -->
|
|
251
|
+
<!-- prettier-ignore-end -->
|
|
252
|
+
|
|
253
|
+
<!-- ALL-CONTRIBUTORS-LIST:END -->
|
|
254
|
+
|
|
255
|
+
This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!
|
|
256
|
+
|
|
257
|
+
## License
|
|
258
|
+
|
|
259
|
+
[MIT](./LICENSE)
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Supported casing formats for identifier transformations.
|
|
3
|
+
*/
|
|
4
|
+
export type Casing = "camelCase" | "kebab-case" | "PascalCase";
|
|
5
|
+
/**
|
|
6
|
+
* Convert an input string into the requested casing format.
|
|
7
|
+
*/
|
|
8
|
+
export declare const toCasing: (value: string, format: Casing) => string;
|
|
9
|
+
/**
|
|
10
|
+
* Extract the final filename segment without extension.
|
|
11
|
+
*/
|
|
12
|
+
export declare const filenameStem: (filePath: string) => string;
|
|
13
|
+
//# sourceMappingURL=casing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"casing.d.ts","sourceRoot":"","sources":["../../src/_internal/casing.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG,WAAW,GAAG,YAAY,GAAG,YAAY,CAAC;AAU/D;;GAEG;AACH,eAAO,MAAM,QAAQ,GAAI,OAAO,MAAM,EAAE,QAAQ,MAAM,KAAG,MAmBxD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,GAAI,UAAU,MAAM,KAAG,MAK/C,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { splitIdentifierBlocks } from "./identifier-blocks.js";
|
|
2
|
+
const splitWords = (value) => splitIdentifierBlocks(value).map((word) => word.toLowerCase());
|
|
3
|
+
const toPascal = (value) => splitWords(value)
|
|
4
|
+
.map((word) => `${word[0]?.toUpperCase() ?? ""}${word.slice(1)}`)
|
|
5
|
+
.join("");
|
|
6
|
+
/**
|
|
7
|
+
* Convert an input string into the requested casing format.
|
|
8
|
+
*/
|
|
9
|
+
export const toCasing = (value, format) => {
|
|
10
|
+
switch (format) {
|
|
11
|
+
case "camelCase": {
|
|
12
|
+
const pascal = toPascal(value);
|
|
13
|
+
return `${pascal[0]?.toLowerCase() ?? ""}${pascal.slice(1)}`;
|
|
14
|
+
}
|
|
15
|
+
case "kebab-case": {
|
|
16
|
+
return splitWords(value).join("-");
|
|
17
|
+
}
|
|
18
|
+
case "PascalCase": {
|
|
19
|
+
return toPascal(value);
|
|
20
|
+
}
|
|
21
|
+
default: {
|
|
22
|
+
return value;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* Extract the final filename segment without extension.
|
|
28
|
+
*/
|
|
29
|
+
export const filenameStem = (filePath) => {
|
|
30
|
+
const pathSegments = filePath.split(/[/\\]/u);
|
|
31
|
+
const lastPathSegment = pathSegments.at(-1) ?? filePath;
|
|
32
|
+
return lastPathSegment.replace(/\.[^./\\]+$/u, "");
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=casing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"casing.js","sourceRoot":"","sources":["../../src/_internal/casing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAO/D,MAAM,UAAU,GAAG,CAAC,KAAa,EAAqB,EAAE,CACpD,qBAAqB,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;AAEnE,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAU,EAAE,CACvC,UAAU,CAAC,KAAK,CAAC;KACZ,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;KAChE,IAAI,CAAC,EAAE,CAAC,CAAC;AAElB;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAE,MAAc,EAAU,EAAE;IAC9D,QAAQ,MAAM,EAAE,CAAC;QACb,KAAK,WAAW,CAAC,CAAC,CAAC;YACf,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC/B,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,CAAC;QAED,KAAK,YAAY,CAAC,CAAC,CAAC;YAChB,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACvC,CAAC;QAED,KAAK,YAAY,CAAC,CAAC,CAAC;YAChB,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;QAED,OAAO,CAAC,CAAC,CAAC;YACN,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;AACL,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,QAAgB,EAAU,EAAE;IACrD,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC9C,MAAM,eAAe,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC;IAExD,OAAO,eAAe,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;AACvD,CAAC,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { TSESLint } from "@typescript-eslint/utils";
|
|
2
|
+
type RuleModule = TSESLint.RuleModule<string, readonly unknown[]>;
|
|
3
|
+
/**
|
|
4
|
+
* Resolve a rule module from an external ESLint plugin's `rules` map.
|
|
5
|
+
*/
|
|
6
|
+
export declare const getExternalRuleFromPlugin: (plugin: unknown, ruleName: string, pluginName: string) => unknown;
|
|
7
|
+
/**
|
|
8
|
+
* Adapt an external rule so it points docs to this repository.
|
|
9
|
+
*/
|
|
10
|
+
export declare const adaptExternalRule: (externalRule: unknown, docsUrl: string) => RuleModule;
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=create-external-rule.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-external-rule.d.ts","sourceRoot":"","sources":["../../src/_internal/create-external-rule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAGzD,KAAK,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,OAAO,EAAE,CAAC,CAAC;AAsClE;;GAEG;AACH,eAAO,MAAM,yBAAyB,GAClC,QAAQ,OAAO,EACf,UAAU,MAAM,EAChB,YAAY,MAAM,KACnB,OAeF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAC1B,cAAc,OAAO,EACrB,SAAS,MAAM,KAChB,UA+BF,CAAC"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
const isObjectRecord = (value) => typeof value === "object" && value !== null;
|
|
2
|
+
const hasCreateFunction = (value) => isObjectRecord(value) && typeof value["create"] === "function";
|
|
3
|
+
const createLegacyContextCompat = (context) => {
|
|
4
|
+
const contextRecord = context;
|
|
5
|
+
return new Proxy(contextRecord, {
|
|
6
|
+
get: (target, property, receiver) => {
|
|
7
|
+
if (property === "getSourceCode") {
|
|
8
|
+
return () => target.sourceCode;
|
|
9
|
+
}
|
|
10
|
+
if (property === "getFilename") {
|
|
11
|
+
return () => target.filename;
|
|
12
|
+
}
|
|
13
|
+
if (property === "getPhysicalFilename") {
|
|
14
|
+
return () => target.physicalFilename;
|
|
15
|
+
}
|
|
16
|
+
if (property === "getCwd") {
|
|
17
|
+
return () => target.cwd;
|
|
18
|
+
}
|
|
19
|
+
return Reflect.get(target, property, receiver);
|
|
20
|
+
},
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Resolve a rule module from an external ESLint plugin's `rules` map.
|
|
25
|
+
*/
|
|
26
|
+
export const getExternalRuleFromPlugin = (plugin, ruleName, pluginName) => {
|
|
27
|
+
if (!isObjectRecord(plugin) || !isObjectRecord(plugin["rules"])) {
|
|
28
|
+
throw new TypeError(`Plugin "${pluginName}" does not expose a valid rules map.`);
|
|
29
|
+
}
|
|
30
|
+
const rules = plugin["rules"];
|
|
31
|
+
if (!Object.hasOwn(rules, ruleName)) {
|
|
32
|
+
throw new Error(`Rule "${ruleName}" was not found in plugin "${pluginName}".`);
|
|
33
|
+
}
|
|
34
|
+
return rules[ruleName];
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* Adapt an external rule so it points docs to this repository.
|
|
38
|
+
*/
|
|
39
|
+
export const adaptExternalRule = (externalRule, docsUrl) => {
|
|
40
|
+
if (!hasCreateFunction(externalRule)) {
|
|
41
|
+
throw new TypeError("External rule module does not expose create().");
|
|
42
|
+
}
|
|
43
|
+
const externalRuleRecord = externalRule;
|
|
44
|
+
const externalMeta = isObjectRecord(externalRuleRecord["meta"])
|
|
45
|
+
? externalRuleRecord["meta"]
|
|
46
|
+
: {};
|
|
47
|
+
const externalDocs = isObjectRecord(externalMeta["docs"])
|
|
48
|
+
? externalMeta["docs"]
|
|
49
|
+
: {};
|
|
50
|
+
const create = (context) => externalRule.create(createLegacyContextCompat(context));
|
|
51
|
+
return {
|
|
52
|
+
...externalRuleRecord,
|
|
53
|
+
create,
|
|
54
|
+
defaultOptions: Array.isArray(externalRuleRecord["defaultOptions"])
|
|
55
|
+
? externalRuleRecord["defaultOptions"]
|
|
56
|
+
: [],
|
|
57
|
+
meta: {
|
|
58
|
+
...externalMeta,
|
|
59
|
+
docs: {
|
|
60
|
+
...externalDocs,
|
|
61
|
+
url: docsUrl,
|
|
62
|
+
},
|
|
63
|
+
},
|
|
64
|
+
};
|
|
65
|
+
};
|
|
66
|
+
//# sourceMappingURL=create-external-rule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-external-rule.js","sourceRoot":"","sources":["../../src/_internal/create-external-rule.ts"],"names":[],"mappings":"AAOA,MAAM,cAAc,GAAG,CAAC,KAAc,EAA0B,EAAE,CAC9D,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;AAEhD,MAAM,iBAAiB,GAAG,CACtB,KAAc,EAC8C,EAAE,CAC9D,cAAc,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,QAAQ,CAAC,KAAK,UAAU,CAAC;AAEnE,MAAM,yBAAyB,GAAG,CAAC,OAAoB,EAAe,EAAE;IACpE,MAAM,aAAa,GAAG,OAAsC,CAAC;IAE7D,OAAO,IAAI,KAAK,CAAC,aAAa,EAAE;QAC5B,GAAG,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAW,EAAE;YACzC,IAAI,QAAQ,KAAK,eAAe,EAAE,CAAC;gBAC/B,OAAO,GAAkC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC;YAClE,CAAC;YAED,IAAI,QAAQ,KAAK,aAAa,EAAE,CAAC;gBAC7B,OAAO,GAAW,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC;YACzC,CAAC;YAED,IAAI,QAAQ,KAAK,qBAAqB,EAAE,CAAC;gBACrC,OAAO,GAAW,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC;YACjD,CAAC;YAED,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBACxB,OAAO,GAAW,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC;YACpC,CAAC;YAED,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACnD,CAAC;KACJ,CAA2B,CAAC;AACjC,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACrC,MAAe,EACf,QAAgB,EAChB,UAAkB,EACX,EAAE;IACT,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QAC9D,MAAM,IAAI,SAAS,CACf,WAAW,UAAU,sCAAsC,CAC9D,CAAC;IACN,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAC9B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CACX,SAAS,QAAQ,8BAA8B,UAAU,IAAI,CAChE,CAAC;IACN,CAAC;IAED,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC;AAC3B,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC7B,YAAqB,EACrB,OAAe,EACL,EAAE;IACZ,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,SAAS,CAAC,gDAAgD,CAAC,CAAC;IAC1E,CAAC;IAED,MAAM,kBAAkB,GAAG,YAA6B,CAAC;IACzD,MAAM,YAAY,GAAG,cAAc,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAC3D,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC;QAC5B,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,YAAY,GAAG,cAAc,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QACrD,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC;QACtB,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,MAAM,GAAyB,CAAC,OAAO,EAAE,EAAE,CAC7C,YAAY,CAAC,MAAM,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC,CAAC;IAE5D,OAAO;QACH,GAAI,kBAA4C;QAChD,MAAM;QACN,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;YAC/D,CAAC,CAAE,kBAAkB,CAAC,gBAAgB,CAAwB;YAC9D,CAAC,CAAC,EAAE;QACR,IAAI,EAAE;YACF,GAAI,YAA8C;YAClD,IAAI,EAAE;gBACF,GAAI,YAEM;gBACV,GAAG,EAAE,OAAO;aACf;SACkB;KAC1B,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { ruleCreator } from "./rule-creator.js";
|
|
2
|
+
/**
|
|
3
|
+
* Rule factory options for import source pattern rules.
|
|
4
|
+
*/
|
|
5
|
+
interface CreateImportPatternRuleOptions {
|
|
6
|
+
/**
|
|
7
|
+
* Default disallow patterns applied when options do not override
|
|
8
|
+
* `disallow`.
|
|
9
|
+
*/
|
|
10
|
+
readonly defaultDisallowPatterns: readonly string[];
|
|
11
|
+
/**
|
|
12
|
+
* Human-friendly rule description.
|
|
13
|
+
*/
|
|
14
|
+
readonly description: string;
|
|
15
|
+
/**
|
|
16
|
+
* Rule identifier used for metadata and exported rule map key.
|
|
17
|
+
*/
|
|
18
|
+
readonly name: string;
|
|
19
|
+
}
|
|
20
|
+
type ImportPatternMessageIds = "disallowedSource";
|
|
21
|
+
/**
|
|
22
|
+
* Rule options tuple for import pattern rules.
|
|
23
|
+
*/
|
|
24
|
+
type ImportPatternRuleOptions = readonly [
|
|
25
|
+
{
|
|
26
|
+
readonly allow?: readonly string[];
|
|
27
|
+
readonly disallow?: readonly string[];
|
|
28
|
+
}?
|
|
29
|
+
];
|
|
30
|
+
/**
|
|
31
|
+
* Creates a rule that disallows import/export sources by glob pattern.
|
|
32
|
+
*
|
|
33
|
+
* @param options - Rule creation options.
|
|
34
|
+
*
|
|
35
|
+
* @returns ESLint rule module.
|
|
36
|
+
*/
|
|
37
|
+
export declare const createImportPatternRule: ({ defaultDisallowPatterns, description, name, }: Readonly<CreateImportPatternRuleOptions>) => ReturnType<typeof ruleCreator<ImportPatternRuleOptions, ImportPatternMessageIds>>;
|
|
38
|
+
export type { ImportPatternRuleOptions };
|
|
39
|
+
//# sourceMappingURL=create-import-pattern-rule.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-import-pattern-rule.d.ts","sourceRoot":"","sources":["../../src/_internal/create-import-pattern-rule.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD;;GAEG;AACH,UAAU,8BAA8B;IACpC;;;OAGG;IACH,QAAQ,CAAC,uBAAuB,EAAE,SAAS,MAAM,EAAE,CAAC;IACpD;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACzB;AAED,KAAK,uBAAuB,GAAG,kBAAkB,CAAC;AAElD;;GAEG;AACH,KAAK,wBAAwB,GAAG,SAAS;IACrC;QACI,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;QACnC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;KACzC,CAAC;CACL,CAAC;AAyCF;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB,GAAI,iDAIrC,QAAQ,CAAC,8BAA8B,CAAC,KAAG,UAAU,CACpD,OAAO,WAAW,CAAC,wBAAwB,EAAE,uBAAuB,CAAC,CAyCnE,CAAC;AAEP,YAAY,EAAE,wBAAwB,EAAE,CAAC"}
|