eslint-plugin-etc-misc 1.0.2 → 1.0.3
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 +2 -4
- package/README.md +197 -151
- package/dist/_internal/casing.d.ts.map +1 -1
- package/dist/_internal/casing.js +6 -6
- package/dist/_internal/casing.js.map +1 -1
- package/dist/_internal/create-external-rule.d.ts +2 -1
- package/dist/_internal/create-external-rule.d.ts.map +1 -1
- package/dist/_internal/create-external-rule.js +20 -22
- package/dist/_internal/create-external-rule.js.map +1 -1
- package/dist/_internal/create-import-pattern-rule.d.ts.map +1 -1
- package/dist/_internal/create-import-pattern-rule.js +2 -1
- package/dist/_internal/create-import-pattern-rule.js.map +1 -1
- package/dist/_internal/get-core-rule.d.ts +2 -1
- package/dist/_internal/get-core-rule.d.ts.map +1 -1
- package/dist/_internal/get-core-rule.js +2 -1
- package/dist/_internal/get-core-rule.js.map +1 -1
- package/dist/_internal/identifier-blocks.d.ts.map +1 -1
- package/dist/_internal/identifier-blocks.js +4 -4
- package/dist/_internal/identifier-blocks.js.map +1 -1
- package/dist/_internal/ignore-patterns.d.ts.map +1 -1
- package/dist/_internal/ignore-patterns.js +2 -1
- package/dist/_internal/ignore-patterns.js.map +1 -1
- package/dist/_internal/rule-creator.d.ts +2 -1
- package/dist/_internal/rule-creator.d.ts.map +1 -1
- package/dist/_internal/rule-creator.js.map +1 -1
- package/dist/_internal/rule-deprecation.d.ts +2 -1
- package/dist/_internal/rule-deprecation.d.ts.map +1 -1
- package/dist/_internal/rule-deprecation.js +3 -2
- package/dist/_internal/rule-deprecation.js.map +1 -1
- package/dist/_internal/symbol-usage.d.ts.map +1 -1
- package/dist/_internal/symbol-usage.js +11 -10
- package/dist/_internal/symbol-usage.js.map +1 -1
- package/dist/_internal/syntax-selectors.d.ts.map +1 -1
- package/dist/_internal/syntax-selectors.js +13 -8
- package/dist/_internal/syntax-selectors.js.map +1 -1
- package/dist/configs/all-strict.d.ts.map +1 -1
- package/dist/configs/all-strict.js +3 -2
- package/dist/configs/all-strict.js.map +1 -1
- package/dist/configs/all.d.ts.map +1 -1
- package/dist/configs/all.js +3 -2
- package/dist/configs/all.js.map +1 -1
- package/dist/configs/minimal.d.ts +22 -0
- package/dist/configs/minimal.d.ts.map +1 -0
- package/dist/configs/minimal.js +22 -0
- package/dist/configs/minimal.js.map +1 -0
- package/dist/configs/strict-type-checked.d.ts.map +1 -1
- package/dist/configs/strict-type-checked.js +8 -10
- package/dist/configs/strict-type-checked.js.map +1 -1
- package/dist/configs/strict.d.ts.map +1 -1
- package/dist/configs/strict.js +3 -2
- package/dist/configs/strict.js.map +1 -1
- package/dist/configs.d.ts +2 -0
- package/dist/configs.d.ts.map +1 -1
- package/dist/configs.js +2 -0
- package/dist/configs.js.map +1 -1
- package/dist/rules/comment-spacing.d.ts.map +1 -1
- package/dist/rules/comment-spacing.js +3 -2
- package/dist/rules/comment-spacing.js.map +1 -1
- package/dist/rules/consistent-empty-lines.d.ts.map +1 -1
- package/dist/rules/consistent-empty-lines.js +3 -2
- package/dist/rules/consistent-empty-lines.js.map +1 -1
- package/dist/rules/consistent-filename.d.ts.map +1 -1
- package/dist/rules/consistent-filename.js +2 -1
- package/dist/rules/consistent-filename.js.map +1 -1
- package/dist/rules/consistent-import.d.ts.map +1 -1
- package/dist/rules/consistent-import.js +2 -1
- package/dist/rules/consistent-import.js.map +1 -1
- package/dist/rules/consistent-optional-props.d.ts.map +1 -1
- package/dist/rules/consistent-optional-props.js +6 -5
- package/dist/rules/consistent-optional-props.js.map +1 -1
- package/dist/rules/export-matching-filename-only.d.ts.map +1 -1
- package/dist/rules/export-matching-filename-only.js +2 -1
- package/dist/rules/export-matching-filename-only.js.map +1 -1
- package/dist/rules/match-filename.d.ts.map +1 -1
- package/dist/rules/match-filename.js +2 -1
- package/dist/rules/match-filename.js.map +1 -1
- package/dist/rules/max-identifier-blocks.d.ts.map +1 -1
- package/dist/rules/max-identifier-blocks.js +2 -4
- package/dist/rules/max-identifier-blocks.js.map +1 -1
- package/dist/rules/no-assign-mutated-array.d.ts.map +1 -1
- package/dist/rules/no-assign-mutated-array.js +2 -1
- package/dist/rules/no-assign-mutated-array.js.map +1 -1
- package/dist/rules/no-commented-out-code.d.ts.map +1 -1
- package/dist/rules/no-commented-out-code.js +22 -25
- package/dist/rules/no-commented-out-code.js.map +1 -1
- package/dist/rules/no-const-enum.d.ts.map +1 -1
- package/dist/rules/no-const-enum.js +2 -1
- package/dist/rules/no-const-enum.js.map +1 -1
- package/dist/rules/no-deprecated.d.ts.map +1 -1
- package/dist/rules/no-deprecated.js +4 -3
- package/dist/rules/no-deprecated.js.map +1 -1
- package/dist/rules/no-expression-empty-lines.d.ts.map +1 -1
- package/dist/rules/no-expression-empty-lines.js +3 -2
- package/dist/rules/no-expression-empty-lines.js.map +1 -1
- package/dist/rules/no-foreach.d.ts.map +1 -1
- package/dist/rules/no-foreach.js +2 -1
- package/dist/rules/no-foreach.js.map +1 -1
- package/dist/rules/no-implicit-any-catch.d.ts.map +1 -1
- package/dist/rules/no-implicit-any-catch.js +3 -2
- package/dist/rules/no-implicit-any-catch.js.map +1 -1
- package/dist/rules/no-internal.d.ts.map +1 -1
- package/dist/rules/no-internal.js +4 -3
- package/dist/rules/no-internal.js.map +1 -1
- package/dist/rules/no-language-mixing.d.ts.map +1 -1
- package/dist/rules/no-language-mixing.js +3 -2
- package/dist/rules/no-language-mixing.js.map +1 -1
- package/dist/rules/no-misused-generics.d.ts.map +1 -1
- package/dist/rules/no-misused-generics.js +5 -4
- package/dist/rules/no-misused-generics.js.map +1 -1
- package/dist/rules/no-negated-conditions.d.ts.map +1 -1
- package/dist/rules/no-negated-conditions.js +2 -1
- package/dist/rules/no-negated-conditions.js.map +1 -1
- package/dist/rules/no-param-reassign.d.ts.map +1 -1
- package/dist/rules/no-param-reassign.js +2 -1
- package/dist/rules/no-param-reassign.js.map +1 -1
- package/dist/rules/no-restricted-syntax.d.ts.map +1 -1
- package/dist/rules/no-restricted-syntax.js +2 -1
- package/dist/rules/no-restricted-syntax.js.map +1 -1
- package/dist/rules/no-self-import.d.ts.map +1 -1
- package/dist/rules/no-self-import.js +2 -1
- package/dist/rules/no-self-import.js.map +1 -1
- package/dist/rules/no-underscore-export.d.ts.map +1 -1
- package/dist/rules/no-underscore-export.js +3 -2
- package/dist/rules/no-underscore-export.js.map +1 -1
- package/dist/rules/no-unnecessary-break.d.ts.map +1 -1
- package/dist/rules/no-unnecessary-break.js +4 -3
- package/dist/rules/no-unnecessary-break.js.map +1 -1
- package/dist/rules/no-unnecessary-initialization.d.ts.map +1 -1
- package/dist/rules/no-unnecessary-initialization.js +3 -2
- package/dist/rules/no-unnecessary-initialization.js.map +1 -1
- package/dist/rules/no-unnecessary-template-literal.d.ts.map +1 -1
- package/dist/rules/no-unnecessary-template-literal.js +3 -2
- package/dist/rules/no-unnecessary-template-literal.js.map +1 -1
- package/dist/rules/only-export-name.d.ts.map +1 -1
- package/dist/rules/only-export-name.js +13 -10
- package/dist/rules/only-export-name.js.map +1 -1
- package/dist/rules/prefer-interface.d.ts.map +1 -1
- package/dist/rules/prefer-interface.js +5 -8
- package/dist/rules/prefer-interface.js.map +1 -1
- package/dist/rules/require-jsdoc.d.ts.map +1 -1
- package/dist/rules/require-jsdoc.js +7 -7
- package/dist/rules/require-jsdoc.js.map +1 -1
- package/dist/rules/require-syntax.d.ts.map +1 -1
- package/dist/rules/require-syntax.js +2 -1
- package/dist/rules/require-syntax.js.map +1 -1
- package/dist/rules/sort-array.d.ts.map +1 -1
- package/dist/rules/sort-array.js +8 -7
- package/dist/rules/sort-array.js.map +1 -1
- package/dist/rules/sort-class-members.d.ts.map +1 -1
- package/dist/rules/sort-class-members.js +2 -1
- package/dist/rules/sort-class-members.js.map +1 -1
- package/dist/rules/sort-export-specifiers.d.ts.map +1 -1
- package/dist/rules/sort-export-specifiers.js +6 -6
- package/dist/rules/sort-export-specifiers.js.map +1 -1
- package/dist/rules/sort-keys.d.ts.map +1 -1
- package/dist/rules/sort-keys.js +5 -5
- package/dist/rules/sort-keys.js.map +1 -1
- package/dist/rules/sort-top-comments.d.ts.map +1 -1
- package/dist/rules/sort-top-comments.js +7 -8
- package/dist/rules/sort-top-comments.js.map +1 -1
- package/dist/rules/switch-case-spacing.d.ts.map +1 -1
- package/dist/rules/switch-case-spacing.js +2 -2
- package/dist/rules/switch-case-spacing.js.map +1 -1
- package/dist/rules/template-literal-format.d.ts.map +1 -1
- package/dist/rules/template-literal-format.js +11 -13
- package/dist/rules/template-literal-format.js.map +1 -1
- package/dist/rules/throw-error.d.ts.map +1 -1
- package/dist/rules/throw-error.js +6 -4
- package/dist/rules/throw-error.js.map +1 -1
- package/dist/rules/typescript-array-callback-return-type.d.ts.map +1 -1
- package/dist/rules/typescript-array-callback-return-type.js +3 -2
- package/dist/rules/typescript-array-callback-return-type.js.map +1 -1
- package/dist/rules/typescript-class-methods-use-this.d.ts.map +1 -1
- package/dist/rules/typescript-class-methods-use-this.js +4 -3
- package/dist/rules/typescript-class-methods-use-this.js.map +1 -1
- package/dist/rules/typescript-no-boolean-literal-type.d.ts.map +1 -1
- package/dist/rules/typescript-no-boolean-literal-type.js +3 -2
- package/dist/rules/typescript-no-boolean-literal-type.js.map +1 -1
- package/dist/rules/typescript-no-inferrable-types.d.ts.map +1 -1
- package/dist/rules/typescript-no-inferrable-types.js +3 -2
- package/dist/rules/typescript-no-inferrable-types.js.map +1 -1
- package/dist/rules/typescript-no-redundant-undefined-const.d.ts.map +1 -1
- package/dist/rules/typescript-no-redundant-undefined-const.js +4 -3
- package/dist/rules/typescript-no-redundant-undefined-const.js.map +1 -1
- package/dist/rules/typescript-no-redundant-undefined-default-parameter.d.ts.map +1 -1
- package/dist/rules/typescript-no-redundant-undefined-default-parameter.js +4 -3
- package/dist/rules/typescript-no-redundant-undefined-default-parameter.js.map +1 -1
- package/dist/rules/typescript-no-redundant-undefined-let.d.ts.map +1 -1
- package/dist/rules/typescript-no-redundant-undefined-let.js +4 -3
- package/dist/rules/typescript-no-redundant-undefined-let.js.map +1 -1
- package/dist/rules/typescript-no-redundant-undefined-optional.d.ts.map +1 -1
- package/dist/rules/typescript-no-redundant-undefined-optional.js +6 -5
- package/dist/rules/typescript-no-redundant-undefined-optional.js.map +1 -1
- package/dist/rules/typescript-no-redundant-undefined-promise-return-type.d.ts.map +1 -1
- package/dist/rules/typescript-no-redundant-undefined-promise-return-type.js +6 -5
- package/dist/rules/typescript-no-redundant-undefined-promise-return-type.js.map +1 -1
- package/dist/rules/typescript-no-redundant-undefined-readonly-property.d.ts.map +1 -1
- package/dist/rules/typescript-no-redundant-undefined-readonly-property.js +4 -3
- package/dist/rules/typescript-no-redundant-undefined-readonly-property.js.map +1 -1
- package/dist/rules/typescript-no-redundant-undefined-return-type.d.ts.map +1 -1
- package/dist/rules/typescript-no-redundant-undefined-return-type.js +6 -5
- package/dist/rules/typescript-no-redundant-undefined-return-type.js.map +1 -1
- package/dist/rules/typescript-no-redundant-undefined-var.d.ts.map +1 -1
- package/dist/rules/typescript-no-redundant-undefined-var.js +4 -3
- package/dist/rules/typescript-no-redundant-undefined-var.js.map +1 -1
- package/dist/rules/typescript-prefer-enum.d.ts.map +1 -1
- package/dist/rules/typescript-prefer-enum.js +6 -5
- package/dist/rules/typescript-prefer-enum.js.map +1 -1
- package/dist/rules/typescript-prefer-readonly-array.d.ts.map +1 -1
- package/dist/rules/typescript-prefer-readonly-array.js +3 -2
- package/dist/rules/typescript-prefer-readonly-array.js.map +1 -1
- package/dist/rules/typescript-prefer-readonly-property.d.ts.map +1 -1
- package/dist/rules/typescript-prefer-readonly-property.js +5 -4
- package/dist/rules/typescript-prefer-readonly-property.js.map +1 -1
- package/dist/rules/typescript-require-prop-type-annotation.d.ts.map +1 -1
- package/dist/rules/typescript-require-prop-type-annotation.js +5 -4
- package/dist/rules/typescript-require-prop-type-annotation.js.map +1 -1
- package/dist/rules/typescript-require-this-void.d.ts.map +1 -1
- package/dist/rules/typescript-require-this-void.js +2 -1
- package/dist/rules/typescript-require-this-void.js.map +1 -1
- package/dist/rules.d.ts +2 -1
- package/dist/rules.d.ts.map +1 -1
- package/dist/rules.js +14 -7
- package/dist/rules.js.map +1 -1
- package/docs/docusaurus/blog/2026-03-09-docs-site-online.md +3 -3
- package/docs/docusaurus/blog/2026-03-11-adr-driven-docs-roadmap.md +3 -3
- package/docs/docusaurus/docusaurus.config.ts +2 -3
- package/docs/docusaurus/sidebars.rules.ts +8 -0
- package/docs/docusaurus/site-docs/getting-started.md +2 -3
- package/docs/docusaurus/site-docs/guides/blog-post-backlog.md +12 -12
- package/docs/docusaurus/site-docs/guides/migration-from-etc-and-misc.md +7 -7
- package/docs/docusaurus/site-docs/intro.md +1 -1
- package/docs/rules/array-type.md +6 -6
- package/docs/rules/class-match-filename.md +6 -6
- package/docs/rules/comment-spacing.md +9 -9
- package/docs/rules/consistent-empty-lines.md +8 -9
- package/docs/rules/consistent-enum-members.md +17 -16
- package/docs/rules/consistent-filename.md +12 -10
- package/docs/rules/consistent-import.md +11 -11
- package/docs/rules/consistent-optional-props.md +12 -12
- package/docs/rules/consistent-source-extension.md +6 -6
- package/docs/rules/consistent-symbol-description.md +6 -6
- package/docs/rules/default-case.md +20 -20
- package/docs/rules/disallow-import.md +11 -9
- package/docs/rules/export-matching-filename-only.md +12 -10
- package/docs/rules/getting-started.md +7 -6
- package/docs/rules/match-filename.md +13 -13
- package/docs/rules/max-identifier-blocks.md +7 -7
- package/docs/rules/no-assign-mutated-array.md +31 -11
- package/docs/rules/no-at-sign-import.md +9 -9
- package/docs/rules/no-at-sign-internal-import.md +9 -9
- package/docs/rules/no-chain-coalescence-mixture.md +6 -6
- package/docs/rules/no-commented-out-code.md +12 -12
- package/docs/rules/no-const-enum.md +13 -13
- package/docs/rules/no-deprecated.md +26 -26
- package/docs/rules/no-enum.md +14 -14
- package/docs/rules/no-expression-empty-lines.md +12 -20
- package/docs/rules/no-foreach.md +14 -10
- package/docs/rules/no-implicit-any-catch.md +31 -31
- package/docs/rules/no-index-import.md +9 -9
- package/docs/rules/no-internal-modules.md +9 -9
- package/docs/rules/no-internal.md +26 -26
- package/docs/rules/no-language-mixing.md +6 -6
- package/docs/rules/no-misused-generics.md +8 -8
- package/docs/rules/no-mixed-enums.md +14 -14
- package/docs/rules/no-negated-conditions.md +16 -12
- package/docs/rules/no-nodejs-modules.md +9 -9
- package/docs/rules/no-param-reassign.md +19 -19
- package/docs/rules/no-relative-parent-import.md +12 -12
- package/docs/rules/no-restricted-syntax.md +24 -23
- package/docs/rules/no-secret.md +6 -6
- package/docs/rules/no-self-import.md +6 -6
- package/docs/rules/no-shadow.md +12 -12
- package/docs/rules/no-sibling-import.md +8 -8
- package/docs/rules/no-single-line-comment.md +10 -10
- package/docs/rules/no-t.md +15 -15
- package/docs/rules/no-underscore-export.md +6 -6
- package/docs/rules/no-unnecessary-as-const.md +8 -8
- package/docs/rules/no-unnecessary-break.md +19 -19
- package/docs/rules/no-unnecessary-initialization.md +8 -8
- package/docs/rules/no-unnecessary-template-literal.md +7 -7
- package/docs/rules/no-unused-disable.md +6 -6
- package/docs/rules/no-useless-generics.md +10 -10
- package/docs/rules/no-value-tostring.md +6 -6
- package/docs/rules/no-writeonly.md +26 -26
- package/docs/rules/object-format.md +16 -16
- package/docs/rules/only-export-name.md +10 -8
- package/docs/rules/overview.md +8 -7
- package/docs/rules/prefer-arrow-function-property.md +24 -24
- package/docs/rules/prefer-const-require.md +8 -8
- package/docs/rules/prefer-includes.md +17 -8
- package/docs/rules/prefer-interface.md +24 -24
- package/docs/rules/prefer-less-than.md +10 -10
- package/docs/rules/prefer-object-has-own.md +6 -6
- package/docs/rules/prefer-only-export.md +6 -6
- package/docs/rules/presets/all-strict.md +1 -1
- package/docs/rules/presets/minimal.md +44 -0
- package/docs/rules/presets/recommended.md +3 -1
- package/docs/rules/presets/strict-type-checked.md +1 -1
- package/docs/rules/presets/strict.md +1 -1
- package/docs/rules/require-jsdoc.md +29 -17
- package/docs/rules/require-syntax.md +23 -19
- package/docs/rules/restrict-identifier-characters.md +6 -6
- package/docs/rules/sort-array.md +16 -8
- package/docs/rules/sort-call-signature.md +16 -16
- package/docs/rules/sort-class-members.md +14 -14
- package/docs/rules/sort-construct-signature.md +14 -14
- package/docs/rules/sort-export-specifiers.md +6 -6
- package/docs/rules/sort-keys.md +15 -15
- package/docs/rules/sort-top-comments.md +6 -6
- package/docs/rules/switch-case-spacing.md +20 -18
- package/docs/rules/template-literal-format.md +6 -6
- package/docs/rules/throw-error.md +6 -6
- package/docs/rules/throw-new-error.md +6 -6
- package/docs/rules/typescript-array-callback-return-type.md +22 -10
- package/docs/rules/typescript-class-methods-use-this.md +21 -21
- package/docs/rules/typescript-consistent-array-type-name.md +6 -6
- package/docs/rules/typescript-define-function-in-one-statement.md +6 -6
- package/docs/rules/typescript-exhaustive-switch.md +20 -20
- package/docs/rules/typescript-no-boolean-literal-type.md +10 -10
- package/docs/rules/typescript-no-complex-declarator-type.md +15 -15
- package/docs/rules/typescript-no-complex-return-type.md +9 -9
- package/docs/rules/typescript-no-empty-interfaces.md +7 -7
- package/docs/rules/typescript-no-inferrable-types.md +10 -10
- package/docs/rules/typescript-no-multi-type-tuples.md +6 -6
- package/docs/rules/typescript-no-never.md +8 -8
- package/docs/rules/typescript-no-redundant-undefined-const.md +6 -6
- package/docs/rules/typescript-no-redundant-undefined-default-parameter.md +11 -11
- package/docs/rules/typescript-no-redundant-undefined-let.md +6 -6
- package/docs/rules/typescript-no-redundant-undefined-optional.md +9 -9
- package/docs/rules/typescript-no-redundant-undefined-promise-return-type.md +17 -17
- package/docs/rules/typescript-no-redundant-undefined-readonly-property.md +14 -14
- package/docs/rules/typescript-no-redundant-undefined-return-type.md +16 -16
- package/docs/rules/typescript-no-redundant-undefined-var.md +6 -6
- package/docs/rules/typescript-no-restricted-syntax.md +10 -10
- package/docs/rules/typescript-no-unsafe-object-assign.md +6 -6
- package/docs/rules/typescript-no-unsafe-object-assignment.md +6 -6
- package/docs/rules/typescript-prefer-array-type-alias.md +6 -6
- package/docs/rules/typescript-prefer-class-method.md +9 -9
- package/docs/rules/typescript-prefer-enum.md +11 -11
- package/docs/rules/typescript-prefer-named-tuple-members.md +6 -6
- package/docs/rules/typescript-prefer-readonly-array-parameter.md +8 -8
- package/docs/rules/typescript-prefer-readonly-array.md +6 -6
- package/docs/rules/typescript-prefer-readonly-index-signature.md +12 -12
- package/docs/rules/typescript-prefer-readonly-map.md +6 -6
- package/docs/rules/typescript-prefer-readonly-property.md +10 -10
- package/docs/rules/typescript-prefer-readonly-record.md +9 -7
- package/docs/rules/typescript-prefer-readonly-set.md +6 -6
- package/docs/rules/typescript-require-prop-type-annotation.md +12 -12
- package/docs/rules/typescript-require-readonly-array-property-type.md +12 -12
- package/docs/rules/typescript-require-readonly-array-return-type.md +11 -11
- package/docs/rules/typescript-require-readonly-array-type-alias.md +6 -6
- package/docs/rules/typescript-require-readonly-map-parameter-type.md +9 -9
- package/docs/rules/typescript-require-readonly-map-property-type.md +13 -13
- package/docs/rules/typescript-require-readonly-map-return-type.md +13 -13
- package/docs/rules/typescript-require-readonly-map-type-alias.md +7 -7
- package/docs/rules/typescript-require-readonly-record-parameter-type.md +8 -8
- package/docs/rules/typescript-require-readonly-record-property-type.md +12 -12
- package/docs/rules/typescript-require-readonly-record-return-type.md +12 -12
- package/docs/rules/typescript-require-readonly-record-type-alias.md +6 -6
- package/docs/rules/typescript-require-readonly-set-parameter-type.md +8 -8
- package/docs/rules/typescript-require-readonly-set-property-type.md +12 -12
- package/docs/rules/typescript-require-readonly-set-return-type.md +12 -12
- package/docs/rules/typescript-require-readonly-set-type-alias.md +6 -6
- package/docs/rules/typescript-require-this-void.md +14 -14
- package/docs/rules/underscore-internal.md +10 -10
- package/docs/rules/unused-internal-properties.md +14 -14
- package/docs/rules/uppercase-iife.md +8 -8
- package/docs/rules/words.md +6 -6
- package/package.json +19 -13
|
@@ -1,17 +1,18 @@
|
|
|
1
|
+
import { arrayFirst, isDefined } from "ts-extras";
|
|
1
2
|
import { ruleCreator } from "../_internal/rule-creator.js";
|
|
2
3
|
const disallowedSelector = "SwitchCase:last-child > BreakStatement.consequent";
|
|
3
4
|
const createTrailingBreakRemovalFix = (sourceCode, node) => {
|
|
4
5
|
const previousToken = sourceCode.getTokenBefore(node);
|
|
5
6
|
const previousTokenLine = previousToken?.loc.end.line;
|
|
6
7
|
const breakLine = node.loc.start.line;
|
|
7
|
-
const shouldRemoveLeadingWhitespace = previousTokenLine
|
|
8
|
+
const shouldRemoveLeadingWhitespace = isDefined(previousTokenLine) && previousTokenLine === breakLine;
|
|
8
9
|
if (previousToken === null || !shouldRemoveLeadingWhitespace) {
|
|
9
10
|
return (fixer) => fixer.remove(node);
|
|
10
11
|
}
|
|
11
|
-
const leadingText = sourceCode.text.slice(previousToken.range[1], node.range
|
|
12
|
+
const leadingText = sourceCode.text.slice(previousToken.range[1], arrayFirst(node.range));
|
|
12
13
|
const leadingWhitespaceLength = /^[\t ]*/u.exec(leadingText)?.[0].length ?? 0;
|
|
13
14
|
return (fixer) => fixer.removeRange([
|
|
14
|
-
node.range
|
|
15
|
+
arrayFirst(node.range) - leadingWhitespaceLength,
|
|
15
16
|
node.range[1],
|
|
16
17
|
]);
|
|
17
18
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"no-unnecessary-break.js","sourceRoot":"","sources":["../../src/rules/no-unnecessary-break.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAM3D,MAAM,kBAAkB,GAAG,mDAAmD,CAAC;AAE/E,MAAM,6BAA6B,GAAG,CAClC,UAAyC,EACzC,IAAiC,EACP,EAAE;IAC5B,MAAM,aAAa,GAAG,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IACtD,MAAM,iBAAiB,GAAG,aAAa,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;IACtD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;IACtC,MAAM,6BAA6B,GAC/B,iBAAiB,
|
|
1
|
+
{"version":3,"file":"no-unnecessary-break.js","sourceRoot":"","sources":["../../src/rules/no-unnecessary-break.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAElD,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAM3D,MAAM,kBAAkB,GAAG,mDAAmD,CAAC;AAE/E,MAAM,6BAA6B,GAAG,CAClC,UAAyC,EACzC,IAAiC,EACP,EAAE;IAC5B,MAAM,aAAa,GAAG,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IACtD,MAAM,iBAAiB,GAAG,aAAa,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;IACtD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;IACtC,MAAM,6BAA6B,GAC/B,SAAS,CAAC,iBAAiB,CAAC,IAAI,iBAAiB,KAAK,SAAS,CAAC;IAEpE,IAAI,aAAa,KAAK,IAAI,IAAI,CAAC,6BAA6B,EAAE,CAAC;QAC3D,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CACrC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,EACtB,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CACzB,CAAC;IACF,MAAM,uBAAuB,GACzB,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC;IAElD,OAAO,CAAC,KAAK,EAAE,EAAE,CACb,KAAK,CAAC,WAAW,CAAC;QACd,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,uBAAuB;QAChD,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;KAChB,CAAC,CAAC;AACX,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,IAAI,GAAwD,WAAW,CAG3E;IACE,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE;QAChB,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QAEtC,OAAO;YACH,CAAC,kBAAkB,CAAC,EAAE,CAAC,IAAuB,EAAQ,EAAE;gBACpD,IAAI,IAAI,CAAC,IAAI,KAAK,gBAAgB,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;oBACxD,OAAO;gBACX,CAAC;gBAED,MAAM,GAAG,GAAG,6BAA6B,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;gBAE5D,OAAO,CAAC,MAAM,CAAC;oBACX,GAAG;oBACH,SAAS,EAAE,WAAW;oBACtB,IAAI;oBACJ,OAAO,EAAE;wBACL;4BACI,GAAG;4BACH,SAAS,EAAE,eAAe;yBAC7B;qBACJ;iBACJ,CAAC,CAAC;YACP,CAAC;SACJ,CAAC;IACN,CAAC;IACD,cAAc,EAAE,EAAE;IAClB,IAAI,EAAE;QACF,UAAU,EAAE,KAAK;QACjB,IAAI,EAAE;YACF,UAAU,EAAE,KAAK;YACjB,WAAW,EAAE,iDAAiD;YAC9D,MAAM,EAAE,KAAK;YACb,WAAW,EAAE,KAAK;YAClB,GAAG,EAAE,qFAAqF;SAC7F;QACD,OAAO,EAAE,MAAM;QACf,cAAc,EAAE,IAAI;QACpB,QAAQ,EAAE;YACN,SAAS,EACL,yDAAyD;YAC7D,aAAa,EACT,gEAAgE;SACvE;QACD,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,YAAY;KACrB;IACD,IAAI,EAAE,sBAAsB;CAC/B,CAAC,CAAC;AAEH,eAAe,IAAI,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"no-unnecessary-initialization.d.ts","sourceRoot":"","sources":["../../src/rules/no-unnecessary-initialization.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"no-unnecessary-initialization.d.ts","sourceRoot":"","sources":["../../src/rules/no-unnecessary-initialization.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,KAAK,UAAU,GAAG,WAAW,CAAC;AAE9B,KAAK,OAAO,GAAG,SAAS,EAAE,CAAC;AAgC3B;;GAEG;AACH,QAAA,MAAM,IAAI,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC,CAgD5D,CAAC;AAEH,eAAe,IAAI,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { arrayFirst, isDefined } from "ts-extras";
|
|
1
2
|
import { ruleCreator } from "../_internal/rule-creator.js";
|
|
2
3
|
const disallowedSelector = "PropertyDefinition > Identifier.value[name='undefined'], VariableDeclarator > Identifier.init[name='undefined']";
|
|
3
4
|
const getUndefinedInitializationRemovalRange = (sourceCode, node) => {
|
|
@@ -7,7 +8,7 @@ const getUndefinedInitializationRemovalRange = (sourceCode, node) => {
|
|
|
7
8
|
if (equalsToken === null) {
|
|
8
9
|
return undefined;
|
|
9
10
|
}
|
|
10
|
-
let fixStartIndex = equalsToken.range
|
|
11
|
+
let fixStartIndex = arrayFirst(equalsToken.range);
|
|
11
12
|
const sourceText = sourceCode.text;
|
|
12
13
|
while (fixStartIndex > 0) {
|
|
13
14
|
const previousCharacter = sourceText.at(fixStartIndex - 1);
|
|
@@ -27,7 +28,7 @@ const rule = ruleCreator({
|
|
|
27
28
|
return {
|
|
28
29
|
[disallowedSelector]: (node) => {
|
|
29
30
|
const removalRange = getUndefinedInitializationRemovalRange(sourceCode, node);
|
|
30
|
-
if (removalRange
|
|
31
|
+
if (!isDefined(removalRange)) {
|
|
31
32
|
return;
|
|
32
33
|
}
|
|
33
34
|
const fix = (fixer) => fixer.removeRange(removalRange);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"no-unnecessary-initialization.js","sourceRoot":"","sources":["../../src/rules/no-unnecessary-initialization.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAM3D,MAAM,kBAAkB,GACpB,iHAAiH,CAAC;AAEtH,MAAM,sCAAsC,GAAG,CAC3C,UAAyC,EACzC,IAAuB,EACc,EAAE;IACvC,MAAM,WAAW,GAAG,UAAU,CAAC,cAAc,CAAC,IAAI,EAAE;QAChD,MAAM,EAAE,CAAC,KAAK,EAAW,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,GAAG;KAClD,CAAC,CAAC;IAEH,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;QACvB,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,IAAI,aAAa,GAAG,
|
|
1
|
+
{"version":3,"file":"no-unnecessary-initialization.js","sourceRoot":"","sources":["../../src/rules/no-unnecessary-initialization.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAElD,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAM3D,MAAM,kBAAkB,GACpB,iHAAiH,CAAC;AAEtH,MAAM,sCAAsC,GAAG,CAC3C,UAAyC,EACzC,IAAuB,EACc,EAAE;IACvC,MAAM,WAAW,GAAG,UAAU,CAAC,cAAc,CAAC,IAAI,EAAE;QAChD,MAAM,EAAE,CAAC,KAAK,EAAW,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,GAAG;KAClD,CAAC,CAAC;IAEH,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;QACvB,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,IAAI,aAAa,GAAG,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC;IAEnC,OAAO,aAAa,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,iBAAiB,GAAG,UAAU,CAAC,EAAE,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC;QAC3D,IAAI,iBAAiB,KAAK,GAAG,IAAI,iBAAiB,KAAK,IAAI,EAAE,CAAC;YAC1D,MAAM;QACV,CAAC;QAED,aAAa,IAAI,CAAC,CAAC;IACvB,CAAC;IAED,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1C,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,IAAI,GAAwD,WAAW,CAG3E;IACE,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE;QAChB,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QAEtC,OAAO;YACH,CAAC,kBAAkB,CAAC,EAAE,CAAC,IAAuB,EAAQ,EAAE;gBACpD,MAAM,YAAY,GAAG,sCAAsC,CACvD,UAAU,EACV,IAAI,CACP,CAAC;gBAEF,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC;oBAC3B,OAAO;gBACX,CAAC;gBAED,MAAM,GAAG,GAA+B,CAAC,KAAK,EAAE,EAAE,CAC9C,KAAK,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;gBAEpC,OAAO,CAAC,MAAM,CAAC;oBACX,GAAG;oBACH,SAAS,EAAE,WAAW;oBACtB,IAAI;iBACP,CAAC,CAAC;YACP,CAAC;SACJ,CAAC;IACN,CAAC;IACD,cAAc,EAAE,EAAE;IAClB,IAAI,EAAE;QACF,UAAU,EAAE,KAAK;QACjB,IAAI,EAAE;YACF,UAAU,EAAE,KAAK;YACjB,WAAW,EAAE,mDAAmD;YAChE,MAAM,EAAE,KAAK;YACb,WAAW,EAAE,KAAK;YAClB,GAAG,EAAE,8FAA8F;SACtG;QACD,OAAO,EAAE,MAAM;QACf,cAAc,EAAE,KAAK;QACrB,QAAQ,EAAE;YACN,SAAS,EAAE,0CAA0C;SACxD;QACD,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,YAAY;KACrB;IACD,IAAI,EAAE,+BAA+B;CACxC,CAAC,CAAC;AAEH,eAAe,IAAI,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"no-unnecessary-template-literal.d.ts","sourceRoot":"","sources":["../../src/rules/no-unnecessary-template-literal.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"no-unnecessary-template-literal.d.ts","sourceRoot":"","sources":["../../src/rules/no-unnecessary-template-literal.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,KAAK,UAAU,GAAG,WAAW,CAAC;AAE9B,KAAK,OAAO,GAAG,SAAS,EAAE,CAAC;AAa3B;;GAEG;AACH,QAAA,MAAM,IAAI,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC,CAgD5D,CAAC;AAEH,eAAe,IAAI,CAAC"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import { arrayFirst } from "ts-extras";
|
|
1
2
|
import { ruleCreator } from "../_internal/rule-creator.js";
|
|
2
3
|
const selector = "TemplateLiteral[expressions.length=0] > TemplateElement";
|
|
3
|
-
const toSafeStringLiteralText = (templateLiteral) => JSON.stringify(templateLiteral.quasis
|
|
4
|
-
templateLiteral.quasis
|
|
4
|
+
const toSafeStringLiteralText = (templateLiteral) => JSON.stringify(arrayFirst(templateLiteral.quasis)?.value.cooked ??
|
|
5
|
+
arrayFirst(templateLiteral.quasis)?.value.raw ??
|
|
5
6
|
"");
|
|
6
7
|
/**
|
|
7
8
|
* Disallow template literals with no expressions.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"no-unnecessary-template-literal.js","sourceRoot":"","sources":["../../src/rules/no-unnecessary-template-literal.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAM3D,MAAM,QAAQ,GAAG,yDAAyD,CAAC;AAE3E,MAAM,uBAAuB,GAAG,CAC5B,eAA6C,EACvC,EAAE,CACR,IAAI,CAAC,SAAS,CACV,
|
|
1
|
+
{"version":3,"file":"no-unnecessary-template-literal.js","sourceRoot":"","sources":["../../src/rules/no-unnecessary-template-literal.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAM3D,MAAM,QAAQ,GAAG,yDAAyD,CAAC;AAE3E,MAAM,uBAAuB,GAAG,CAC5B,eAA6C,EACvC,EAAE,CACR,IAAI,CAAC,SAAS,CACV,UAAU,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM;IAC5C,UAAU,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG;IAC7C,EAAE,CACT,CAAC;AAEN;;GAEG;AACH,MAAM,IAAI,GAAwD,WAAW,CAG3E;IACE,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAClB,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAuB,EAAQ,EAAE;YAC1C,MAAM,eAAe,GACjB,IAAI,CAAC,IAAI,KAAK,iBAAiB;gBAC/B,IAAI,CAAC,MAAM,EAAE,IAAI,KAAK,iBAAiB;gBACnC,CAAC,CAAC,IAAI,CAAC,MAAM;gBACb,CAAC,CAAC,SAAS,CAAC;YAEpB,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;gBAChC,OAAO;YACX,CAAC;YAED,OAAO,CAAC,MAAM,CAAC;gBACX,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,CACX,KAAK,CAAC,WAAW,CACb,eAAe,EACf,uBAAuB,CAAC,eAAe,CAAC,CAC3C;gBACL,SAAS,EAAE,WAAW;gBACtB,IAAI;aACP,CAAC,CAAC;QACP,CAAC;KACJ,CAAC;IACF,cAAc,EAAE,EAAE;IAClB,IAAI,EAAE;QACF,UAAU,EAAE,KAAK;QACjB,IAAI,EAAE;YACF,UAAU,EAAE,KAAK;YACjB,WAAW,EACP,mEAAmE;YACvE,MAAM,EAAE,KAAK;YACb,WAAW,EAAE,KAAK;YAClB,GAAG,EAAE,gGAAgG;SACxG;QACD,OAAO,EAAE,MAAM;QACf,cAAc,EAAE,KAAK;QACrB,QAAQ,EAAE;YACN,SAAS,EACL,sEAAsE;SAC7E;QACD,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,YAAY;KACrB;IACD,IAAI,EAAE,iCAAiC;CAC1C,CAAC,CAAC;AAEH,eAAe,IAAI,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"only-export-name.d.ts","sourceRoot":"","sources":["../../src/rules/only-export-name.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"only-export-name.d.ts","sourceRoot":"","sources":["../../src/rules/only-export-name.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,KAAK,UAAU,GAAG,WAAW,CAAC;AAE9B,KAAK,OAAO,GAAG,SAAS;IACpB,QAAQ,CAAC;QACL,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;KACtC,CAAC;CACL,CAAC;AA+CF;;GAEG;AACH,QAAA,MAAM,IAAI,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC,CAkF5D,CAAC;AAEH,eAAe,IAAI,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { setHas } from "ts-extras";
|
|
1
2
|
import { ruleCreator } from "../_internal/rule-creator.js";
|
|
2
3
|
const getExportedNames = (node) => {
|
|
3
4
|
if (node.specifiers.length > 0) {
|
|
@@ -37,7 +38,7 @@ const rule = ruleCreator({
|
|
|
37
38
|
const allowedNames = new Set(options.names ?? ["default"]);
|
|
38
39
|
return {
|
|
39
40
|
ExportDefaultDeclaration: (node) => {
|
|
40
|
-
if (allowedNames
|
|
41
|
+
if (setHas(allowedNames, "default")) {
|
|
41
42
|
return;
|
|
42
43
|
}
|
|
43
44
|
context.report({
|
|
@@ -50,17 +51,19 @@ const rule = ruleCreator({
|
|
|
50
51
|
},
|
|
51
52
|
ExportNamedDeclaration: (node) => {
|
|
52
53
|
const exportedNames = getExportedNames(node);
|
|
53
|
-
|
|
54
|
+
for (const name of exportedNames) {
|
|
55
|
+
if (setHas(allowedNames, name)) {
|
|
56
|
+
continue;
|
|
57
|
+
}
|
|
58
|
+
context.report({
|
|
59
|
+
data: {
|
|
60
|
+
name,
|
|
61
|
+
},
|
|
62
|
+
messageId: "forbidden",
|
|
63
|
+
node,
|
|
64
|
+
});
|
|
54
65
|
return;
|
|
55
66
|
}
|
|
56
|
-
const disallowedName = exportedNames.find((name) => !allowedNames.has(name));
|
|
57
|
-
context.report({
|
|
58
|
-
data: {
|
|
59
|
-
name: disallowedName ?? "<unknown>",
|
|
60
|
-
},
|
|
61
|
-
messageId: "forbidden",
|
|
62
|
-
node,
|
|
63
|
-
});
|
|
64
67
|
},
|
|
65
68
|
};
|
|
66
69
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"only-export-name.js","sourceRoot":"","sources":["../../src/rules/only-export-name.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAU3D,MAAM,gBAAgB,GAAG,CACrB,IAAyC,EACxB,EAAE;IACnB,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC,UAAU;aACjB,MAAM,CACH,CAAC,SAAS,EAAmC,EAAE,CAC3C,SAAS,CAAC,IAAI,KAAK,iBAAiB,CAC3C;aACA,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;YACnB,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBAC3C,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACrC,CAAC;YAED,OAAO,EAAE,CAAC;QACd,CAAC,CAAC,CAAC;IACX,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;IACrC,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;QACvB,OAAO,EAAE,CAAC;IACd,CAAC;IAED,IACI,WAAW,CAAC,IAAI,KAAK,qBAAqB;QAC1C,WAAW,CAAC,IAAI,KAAK,kBAAkB,EACzC,CAAC;QACC,OAAO,WAAW,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IAChE,CAAC;IAED,IAAI,WAAW,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;QAC7C,IAAI,KAAK,GAAsB,EAAE,CAAC;QAElC,KAAK,MAAM,UAAU,IAAI,WAAW,CAAC,YAAY,EAAE,CAAC;YAChD,IAAI,UAAU,CAAC,EAAE,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBACtC,KAAK,GAAG,CAAC,GAAG,KAAK,EAAE,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;YAC3C,CAAC;QACL,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,OAAO,EAAE,CAAC;AACd,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,IAAI,GAAwD,WAAW,CAG3E;IACE,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE;QAC3B,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;QAE3D,OAAO;YACH,wBAAwB,EAAE,CACtB,IAA2C,EACvC,EAAE;gBACN,IAAI,
|
|
1
|
+
{"version":3,"file":"only-export-name.js","sourceRoot":"","sources":["../../src/rules/only-export-name.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAU3D,MAAM,gBAAgB,GAAG,CACrB,IAAyC,EACxB,EAAE;IACnB,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC,UAAU;aACjB,MAAM,CACH,CAAC,SAAS,EAAmC,EAAE,CAC3C,SAAS,CAAC,IAAI,KAAK,iBAAiB,CAC3C;aACA,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;YACnB,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBAC3C,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACrC,CAAC;YAED,OAAO,EAAE,CAAC;QACd,CAAC,CAAC,CAAC;IACX,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;IACrC,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;QACvB,OAAO,EAAE,CAAC;IACd,CAAC;IAED,IACI,WAAW,CAAC,IAAI,KAAK,qBAAqB;QAC1C,WAAW,CAAC,IAAI,KAAK,kBAAkB,EACzC,CAAC;QACC,OAAO,WAAW,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IAChE,CAAC;IAED,IAAI,WAAW,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;QAC7C,IAAI,KAAK,GAAsB,EAAE,CAAC;QAElC,KAAK,MAAM,UAAU,IAAI,WAAW,CAAC,YAAY,EAAE,CAAC;YAChD,IAAI,UAAU,CAAC,EAAE,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBACtC,KAAK,GAAG,CAAC,GAAG,KAAK,EAAE,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;YAC3C,CAAC;QACL,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,OAAO,EAAE,CAAC;AACd,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,IAAI,GAAwD,WAAW,CAG3E;IACE,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE;QAC3B,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;QAE3D,OAAO;YACH,wBAAwB,EAAE,CACtB,IAA2C,EACvC,EAAE;gBACN,IAAI,MAAM,CAAC,YAAY,EAAE,SAAS,CAAC,EAAE,CAAC;oBAClC,OAAO;gBACX,CAAC;gBAED,OAAO,CAAC,MAAM,CAAC;oBACX,IAAI,EAAE;wBACF,IAAI,EAAE,SAAS;qBAClB;oBACD,SAAS,EAAE,WAAW;oBACtB,IAAI;iBACP,CAAC,CAAC;YACP,CAAC;YACD,sBAAsB,EAAE,CACpB,IAAyC,EACrC,EAAE;gBACN,MAAM,aAAa,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;gBAC7C,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;oBAC/B,IAAI,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,EAAE,CAAC;wBAC7B,SAAS;oBACb,CAAC;oBAED,OAAO,CAAC,MAAM,CAAC;wBACX,IAAI,EAAE;4BACF,IAAI;yBACP;wBACD,SAAS,EAAE,WAAW;wBACtB,IAAI;qBACP,CAAC,CAAC;oBAEH,OAAO;gBACX,CAAC;YACL,CAAC;SACJ,CAAC;IACN,CAAC;IACD,cAAc,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC;IACxC,IAAI,EAAE;QACF,cAAc,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC;QACxC,UAAU,EAAE,KAAK;QACjB,IAAI,EAAE;YACF,UAAU,EAAE,KAAK;YACjB,WAAW,EACP,kEAAkE;YACtE,MAAM,EAAE,KAAK;YACb,WAAW,EAAE,KAAK;YAClB,GAAG,EAAE,iFAAiF;SACzF;QACD,cAAc,EAAE,KAAK;QACrB,QAAQ,EAAE;YACN,SAAS,EAAE,uDAAuD;SACrE;QACD,MAAM,EAAE;YACJ;gBACI,oBAAoB,EAAE,KAAK;gBAC3B,WAAW,EAAE,+CAA+C;gBAC5D,UAAU,EAAE;oBACR,KAAK,EAAE;wBACH,WAAW,EACP,+CAA+C;wBACnD,KAAK,EAAE;4BACH,SAAS,EAAE,CAAC;4BACZ,IAAI,EAAE,QAAQ;yBACjB;wBACD,IAAI,EAAE,OAAO;qBAChB;iBACJ;gBACD,IAAI,EAAE,QAAQ;aACjB;SACJ;QACD,IAAI,EAAE,YAAY;KACrB;IACD,IAAI,EAAE,kBAAkB;CAC3B,CAAC,CAAC;AAEH,eAAe,IAAI,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prefer-interface.d.ts","sourceRoot":"","sources":["../../src/rules/prefer-interface.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"prefer-interface.d.ts","sourceRoot":"","sources":["../../src/rules/prefer-interface.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAM3D,KAAK,UAAU,GAAG,WAAW,GAAG,SAAS,CAAC;AAE1C,KAAK,OAAO,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;AAEvC,KAAK,WAAW,GAAG,QAAQ,CAAC;IACxB,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IACrC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;CACjC,CAAC,CAAC;AAiKH;;GAEG;AACH,QAAA,MAAM,IAAI,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC,CAmJ5D,CAAC;AAEH;;GAEG;AACH,QAAA,MAAM,cAAc,EAAE,OAAO,IAgB3B,CAAC;AAEH,eAAe,cAAc,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { getConstrainedTypeAtLocation } from "@typescript-eslint/type-utils";
|
|
2
2
|
import { ESLintUtils } from "@typescript-eslint/utils";
|
|
3
|
+
import { arrayFirst, arrayJoin, isDefined } from "ts-extras";
|
|
3
4
|
import * as tsutils from "tsutils";
|
|
4
5
|
import { ruleCreator } from "../_internal/rule-creator.js";
|
|
5
6
|
import { createReplacementRuleInfo, withDeprecatedRuleLifecycle, } from "../_internal/rule-deprecation.js";
|
|
@@ -16,9 +17,7 @@ const createTypeLiteralFixText = (sourceCode, typeAliasDeclaration, typeLiteralN
|
|
|
16
17
|
const createFunctionTypeFixText = (sourceCode, typeAliasDeclaration, functionTypeNode) => {
|
|
17
18
|
const aliasTypeParameters = formatTypeParameters(sourceCode, typeAliasDeclaration.typeParameters);
|
|
18
19
|
const functionTypeParameters = formatTypeParameters(sourceCode, functionTypeNode.typeParameters);
|
|
19
|
-
const parametersText = functionTypeNode.params
|
|
20
|
-
.map((parameter) => sourceCode.getText(parameter))
|
|
21
|
-
.join(", ");
|
|
20
|
+
const parametersText = arrayJoin(functionTypeNode.params.map((parameter) => sourceCode.getText(parameter)), ", ");
|
|
22
21
|
const returnTypeText = functionTypeNode.returnType === undefined
|
|
23
22
|
? "void"
|
|
24
23
|
: sourceCode.getText(functionTypeNode.returnType.typeAnnotation);
|
|
@@ -26,9 +25,7 @@ const createFunctionTypeFixText = (sourceCode, typeAliasDeclaration, functionTyp
|
|
|
26
25
|
};
|
|
27
26
|
const createIntersectionFixText = (sourceCode, typeAliasDeclaration, literalNode, referenceNodes) => {
|
|
28
27
|
const aliasTypeParameters = formatTypeParameters(sourceCode, typeAliasDeclaration.typeParameters);
|
|
29
|
-
const baseTypesText = referenceNodes
|
|
30
|
-
.map((referenceNode) => sourceCode.getText(referenceNode))
|
|
31
|
-
.join(", ");
|
|
28
|
+
const baseTypesText = arrayJoin(referenceNodes.map((referenceNode) => sourceCode.getText(referenceNode)), ", ");
|
|
32
29
|
const extendsClause = baseTypesText.length > 0 ? ` extends ${baseTypesText}` : "";
|
|
33
30
|
const bodyText = literalNode === undefined ? "{}" : sourceCode.getText(literalNode);
|
|
34
31
|
return `interface ${typeAliasDeclaration.id.name}${aliasTypeParameters}${extendsClause} ${bodyText}`;
|
|
@@ -111,10 +108,10 @@ const rule = ruleCreator({
|
|
|
111
108
|
return;
|
|
112
109
|
}
|
|
113
110
|
const conversion = canSafelyConvertIntersection(intersectionTypeNode, typedParserServices);
|
|
114
|
-
if (conversion
|
|
111
|
+
if (!isDefined(conversion)) {
|
|
115
112
|
return;
|
|
116
113
|
}
|
|
117
|
-
reportTypeAlias(context, typeAliasDeclaration, createIntersectionFixText(sourceCode, typeAliasDeclaration, conversion.literals
|
|
114
|
+
reportTypeAlias(context, typeAliasDeclaration, createIntersectionFixText(sourceCode, typeAliasDeclaration, arrayFirst(conversion.literals), conversion.references));
|
|
118
115
|
},
|
|
119
116
|
"TSTypeAliasDeclaration > TSTypeLiteral": (typeLiteralNode) => {
|
|
120
117
|
const typeAliasDeclaration = getTypeAliasDeclarationParent(typeLiteralNode.parent);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prefer-interface.js","sourceRoot":"","sources":["../../src/rules/prefer-interface.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAEnC,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EACH,yBAAyB,EACzB,2BAA2B,GAC9B,MAAM,kCAAkC,CAAC;AAW1C,MAAM,cAAc,GAAY,CAAC,EAAE,CAAC,CAAC;AAErC,MAAM,mBAAmB,GAAG,CACxB,oBAAyD,EAClD,EAAE,CACT,oBAAoB,CAAC,MAAM,EAAE,IAAI,KAAK,wBAAwB;IAC9D,oBAAoB,CAAC,MAAM,CAAC,WAAW,KAAK,oBAAoB,CAAC;AAErE,MAAM,6BAA6B,GAAG,CAClC,IAAmC,EACY,EAAE,CACjD,IAAI,EAAE,IAAI,KAAK,wBAAwB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AAE/D,MAAM,oBAAoB,GAAG,CACzB,UAAyC,EACzC,cAGe,EACT,EAAE,CACR,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;AAE3E,MAAM,wBAAwB,GAAG,CAC7B,UAAyC,EACzC,oBAAyD,EACzD,eAA2C,EACrC,EAAE;IACR,MAAM,mBAAmB,GAAG,oBAAoB,CAC5C,UAAU,EACV,oBAAoB,CAAC,cAAc,CACtC,CAAC;IACF,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IAExD,OAAO,aAAa,oBAAoB,CAAC,EAAE,CAAC,IAAI,GAAG,mBAAmB,IAAI,WAAW,EAAE,CAAC;AAC5F,CAAC,CAAC;AAEF,MAAM,yBAAyB,GAAG,CAC9B,UAAyC,EACzC,oBAAyD,EACzD,gBAA6C,EACvC,EAAE;IACR,MAAM,mBAAmB,GAAG,oBAAoB,CAC5C,UAAU,EACV,oBAAoB,CAAC,cAAc,CACtC,CAAC;IACF,MAAM,sBAAsB,GAAG,oBAAoB,CAC/C,UAAU,EACV,gBAAgB,CAAC,cAAc,CAClC,CAAC;IACF,MAAM,cAAc,GAAG,gBAAgB,CAAC,MAAM
|
|
1
|
+
{"version":3,"file":"prefer-interface.js","sourceRoot":"","sources":["../../src/rules/prefer-interface.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"require-jsdoc.d.ts","sourceRoot":"","sources":["../../src/rules/require-jsdoc.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"require-jsdoc.d.ts","sourceRoot":"","sources":["../../src/rules/require-jsdoc.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAM3D,KAAK,SAAS,GAAG,gBAAgB,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE7E,KAAK,UAAU,GAAG,SAAS,CAAC;AAE5B,KAAK,OAAO,GAAG,SAAS;IACpB,QAAQ,CAAC;QACL,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,SAAS,EAAE,CAAC;KACzC,CAAC;CACL,CAAC;AAuCF;;GAEG;AACH,QAAA,MAAM,IAAI,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC,CAwG5D,CAAC;AAEH;;GAEG;AACH,QAAA,MAAM,cAAc,EAAE,OAAO,IAe3B,CAAC;AAEH,eAAe,cAAc,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { arrayLast, setHas } from "ts-extras";
|
|
1
2
|
import { ruleCreator } from "../_internal/rule-creator.js";
|
|
2
3
|
import { createReplacementRuleInfo, withDeprecatedRuleLifecycle, } from "../_internal/rule-deprecation.js";
|
|
3
4
|
const defaultKinds = [
|
|
@@ -9,8 +10,7 @@ const defaultKinds = [
|
|
|
9
10
|
];
|
|
10
11
|
const hasJSDocComment = (sourceCode, node) => {
|
|
11
12
|
const comments = sourceCode.getCommentsBefore(node);
|
|
12
|
-
|
|
13
|
-
const comment = comments[comments.length - 1];
|
|
13
|
+
const comment = arrayLast(comments);
|
|
14
14
|
return comment?.type === "Block" && comment.value.startsWith("*");
|
|
15
15
|
};
|
|
16
16
|
const reportMissingJSDoc = (context, node) => {
|
|
@@ -30,19 +30,19 @@ const rule = ruleCreator({
|
|
|
30
30
|
const kinds = new Set(options.kinds ?? defaultKinds);
|
|
31
31
|
return {
|
|
32
32
|
ClassDeclaration: (node) => {
|
|
33
|
-
if (!kinds
|
|
33
|
+
if (!setHas(kinds, "class") || node.id === null) {
|
|
34
34
|
return;
|
|
35
35
|
}
|
|
36
36
|
reportMissingJSDoc(context, node);
|
|
37
37
|
},
|
|
38
38
|
FunctionDeclaration: (node) => {
|
|
39
|
-
if (!kinds
|
|
39
|
+
if (!setHas(kinds, "function") || node.id === null) {
|
|
40
40
|
return;
|
|
41
41
|
}
|
|
42
42
|
reportMissingJSDoc(context, node);
|
|
43
43
|
},
|
|
44
44
|
MethodDefinition: (node) => {
|
|
45
|
-
if (!kinds
|
|
45
|
+
if (!setHas(kinds, "method") ||
|
|
46
46
|
node.kind === "constructor" ||
|
|
47
47
|
node.key.type !== "Identifier") {
|
|
48
48
|
return;
|
|
@@ -50,7 +50,7 @@ const rule = ruleCreator({
|
|
|
50
50
|
reportMissingJSDoc(context, node);
|
|
51
51
|
},
|
|
52
52
|
"TSTypeAliasDeclaration, TSInterfaceDeclaration": (node) => {
|
|
53
|
-
if (!kinds
|
|
53
|
+
if (!setHas(kinds, "type")) {
|
|
54
54
|
return;
|
|
55
55
|
}
|
|
56
56
|
if (node.type === "TSInterfaceDeclaration" ||
|
|
@@ -59,7 +59,7 @@ const rule = ruleCreator({
|
|
|
59
59
|
}
|
|
60
60
|
},
|
|
61
61
|
VariableDeclarator: (node) => {
|
|
62
|
-
if (!kinds
|
|
62
|
+
if (!setHas(kinds, "arrow-function") ||
|
|
63
63
|
node.id.type !== "Identifier" ||
|
|
64
64
|
node.init?.type !== "ArrowFunctionExpression" ||
|
|
65
65
|
node.parent.type !== "VariableDeclaration" ||
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"require-jsdoc.js","sourceRoot":"","sources":["../../src/rules/require-jsdoc.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EACH,yBAAyB,EACzB,2BAA2B,GAC9B,MAAM,kCAAkC,CAAC;AAY1C,MAAM,YAAY,GAAyB;IACvC,gBAAgB;IAChB,OAAO;IACP,UAAU;IACV,QAAQ;IACR,MAAM;CACT,CAAC;AAMF,MAAM,eAAe,GAAG,CACpB,UAAgC,EAChC,IAAuB,EAChB,EAAE;IACT,MAAM,QAAQ,GAAG,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"require-jsdoc.js","sourceRoot":"","sources":["../../src/rules/require-jsdoc.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"require-syntax.d.ts","sourceRoot":"","sources":["../../src/rules/require-syntax.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"require-syntax.d.ts","sourceRoot":"","sources":["../../src/rules/require-syntax.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAEH,KAAK,oBAAoB,EAC5B,MAAM,kCAAkC,CAAC;AAE1C,KAAK,UAAU,GAAG,eAAe,GAAG,SAAS,CAAC;AAE9C,KAAK,OAAO,GAAG,SAAS;IACpB,QAAQ,CAAC;QACL,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,oBAAoB,EAAE,CAAC;KACxD,CAAC;CACL,CAAC;AAEF;;GAEG;AACH,QAAA,MAAM,IAAI,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC,CAiH5D,CAAC;AAEH,eAAe,IAAI,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { isDefined } from "ts-extras";
|
|
1
2
|
import { ruleCreator } from "../_internal/rule-creator.js";
|
|
2
3
|
import { normalizeSyntaxSelector, } from "../_internal/syntax-selectors.js";
|
|
3
4
|
/**
|
|
@@ -25,7 +26,7 @@ const rule = ruleCreator({
|
|
|
25
26
|
if (count > 0) {
|
|
26
27
|
continue;
|
|
27
28
|
}
|
|
28
|
-
if (entry.message
|
|
29
|
+
if (isDefined(entry.message)) {
|
|
29
30
|
context.report({
|
|
30
31
|
data: {
|
|
31
32
|
message: entry.message,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"require-syntax.js","sourceRoot":"","sources":["../../src/rules/require-syntax.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EACH,uBAAuB,GAE1B,MAAM,kCAAkC,CAAC;AAU1C;;GAEG;AACH,MAAM,IAAI,GAAwD,WAAW,CAG3E;IACE,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE;QAC3B,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CACvD,uBAAuB,CAAC,QAAQ,CAAC,CACpC,CAAC;QACF,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;QAEtC,IAAI,iBAAiB,GAEjB,EAAE,CAAC;QAEP,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;YAC7C,iBAAiB,GAAG;gBAChB,GAAG,iBAAiB;gBACpB,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,GAAS,EAAE;oBACzB,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBACnC,QAAQ,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;gBAChC,CAAC;aACJ,CAAC;QACN,CAAC;QAED,OAAO;YACH,GAAG,iBAAiB;YACpB,cAAc,EAAE,CAAC,IAA0B,EAAQ,EAAE;gBACjD,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;oBAC7C,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBACnC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;wBACZ,SAAS;oBACb,CAAC;oBAED,IAAI,KAAK,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"require-syntax.js","sourceRoot":"","sources":["../../src/rules/require-syntax.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sort-array.d.ts","sourceRoot":"","sources":["../../src/rules/sort-array.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sort-array.d.ts","sourceRoot":"","sources":["../../src/rules/sort-array.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,KAAK,UAAU,GAAG,kBAAkB,CAAC;AAErC,KAAK,OAAO,GAAG,SAAS,EAAE,CAAC;AAoC3B;;GAEG;AACH,QAAA,MAAM,IAAI,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC,CAgE5D,CAAC;AAEH,eAAe,IAAI,CAAC"}
|
package/dist/rules/sort-array.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/prefer-readonly-parameter-types -- ESLint fixer API callback signatures. */
|
|
2
|
+
import { arrayAt, arrayFirst, arrayJoin, isDefined, isPresent, } from "ts-extras";
|
|
2
3
|
import { ruleCreator } from "../_internal/rule-creator.js";
|
|
3
4
|
const getSortableValue = (element) => {
|
|
4
5
|
if (element.type === "Literal") {
|
|
@@ -7,14 +8,14 @@ const getSortableValue = (element) => {
|
|
|
7
8
|
return undefined;
|
|
8
9
|
};
|
|
9
10
|
const buildFix = (sourceCode, node, sorted) => (fixer) => {
|
|
10
|
-
const [first, last] = [
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
11
|
+
const [first, last] = [
|
|
12
|
+
arrayFirst(node.elements),
|
|
13
|
+
arrayAt(node.elements, -1),
|
|
14
|
+
];
|
|
15
|
+
if (!isPresent(first) || !isPresent(last)) {
|
|
15
16
|
return fixer.replaceText(node, sourceCode.getText(node));
|
|
16
17
|
}
|
|
17
|
-
return fixer.replaceTextRange([first.range
|
|
18
|
+
return fixer.replaceTextRange([arrayFirst(first.range), last.range[1]], arrayJoin(sorted.map((element) => sourceCode.getText(element)), ", "));
|
|
18
19
|
};
|
|
19
20
|
/**
|
|
20
21
|
* Enforce alphabetical sorting for literal array elements.
|
|
@@ -32,7 +33,7 @@ const rule = ruleCreator({
|
|
|
32
33
|
return;
|
|
33
34
|
}
|
|
34
35
|
const sortKeys = elements.map((element) => getSortableValue(element));
|
|
35
|
-
if (sortKeys.
|
|
36
|
+
if (sortKeys.some((sortKey) => !isDefined(sortKey))) {
|
|
36
37
|
return;
|
|
37
38
|
}
|
|
38
39
|
// eslint-disable-next-line unicorn/no-array-sort -- Node >=16.0 support baseline
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sort-array.js","sourceRoot":"","sources":["../../src/rules/sort-array.ts"],"names":[],"mappings":"AAAA,gHAAgH;AAIhH,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAM3D,MAAM,gBAAgB,GAAG,CACrB,OAAmD,EACjC,EAAE;IACpB,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC,CAAC;AAEF,MAAM,QAAQ,GACV,CACI,UAAyC,EACzC,IAAkC,EAClC,MAAqD,EAC3B,EAAE,CAChC,CAAC,KAAK,EAAoB,EAAE;IACxB,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"sort-array.js","sourceRoot":"","sources":["../../src/rules/sort-array.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sort-class-members.d.ts","sourceRoot":"","sources":["../../src/rules/sort-class-members.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sort-class-members.d.ts","sourceRoot":"","sources":["../../src/rules/sort-class-members.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAM3D,KAAK,UAAU,GAAG,uBAAuB,CAAC;AAE1C,KAAK,OAAO,GAAG,SAAS,EAAE,CAAC;AAgB3B;;GAEG;AACH,QAAA,MAAM,IAAI,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC,CA8D5D,CAAC;AAEH;;GAEG;AACH,QAAA,MAAM,cAAc,EAAE,OAAO,IAsB3B,CAAC;AAEH,eAAe,cAAc,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { isDefined } from "ts-extras";
|
|
1
2
|
import { ruleCreator } from "../_internal/rule-creator.js";
|
|
2
3
|
import { createReplacementRuleInfo, withDeprecatedRuleLifecycle, } from "../_internal/rule-deprecation.js";
|
|
3
4
|
const memberName = (member) => {
|
|
@@ -26,7 +27,7 @@ const rule = ruleCreator({
|
|
|
26
27
|
let hasPreviousName = false;
|
|
27
28
|
for (const member of members) {
|
|
28
29
|
const currentName = memberName(member);
|
|
29
|
-
if (currentName
|
|
30
|
+
if (!isDefined(currentName)) {
|
|
30
31
|
continue;
|
|
31
32
|
}
|
|
32
33
|
if (hasPreviousName &&
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sort-class-members.js","sourceRoot":"","sources":["../../src/rules/sort-class-members.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EACH,yBAAyB,EACzB,2BAA2B,GAC9B,MAAM,kCAAkC,CAAC;AAM1C,MAAM,UAAU,GAAG,CACf,MAA6D,EAC3C,EAAE;IACpB,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QACnC,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;IAC3B,CAAC;IAED,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxE,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;IAC5B,CAAC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,IAAI,GAAwD,WAAW,CAG3E;IACE,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAClB,SAAS,EAAE,CAAC,IAA4B,EAAQ,EAAE;YAC9C,IAAI,OAAO,GAGL,EAAE,CAAC;YACT,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC7B,IACI,MAAM,CAAC,IAAI,KAAK,oBAAoB;oBACpC,MAAM,CAAC,IAAI,KAAK,kBAAkB,EACpC,CAAC;oBACC,OAAO,GAAG,CAAC,GAAG,OAAO,EAAE,MAAM,CAAC,CAAC;gBACnC,CAAC;YACL,CAAC;YAED,IAAI,YAAY,GAAG,EAAE,CAAC;YACtB,IAAI,eAAe,GAAG,KAAK,CAAC;YAC5B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC3B,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;gBACvC,IAAI,WAAW,
|
|
1
|
+
{"version":3,"file":"sort-class-members.js","sourceRoot":"","sources":["../../src/rules/sort-class-members.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sort-export-specifiers.d.ts","sourceRoot":"","sources":["../../src/rules/sort-export-specifiers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sort-export-specifiers.d.ts","sourceRoot":"","sources":["../../src/rules/sort-export-specifiers.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,KAAK,UAAU,GAAG,uBAAuB,CAAC;AAE1C,KAAK,OAAO,GAAG,SAAS,EAAE,CAAC;AAyB3B;;GAEG;AACH,QAAA,MAAM,IAAI,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC,CA0D5D,CAAC;AAEH,eAAe,IAAI,CAAC"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/prefer-readonly-parameter-types -- ESLint fixer API callback signatures. */
|
|
2
|
+
import { arrayFirst, arrayJoin, arrayLast } from "ts-extras";
|
|
2
3
|
import { ruleCreator } from "../_internal/rule-creator.js";
|
|
3
4
|
const toName = (specifier) => specifier.exported.type === "Identifier"
|
|
4
5
|
? specifier.exported.name
|
|
5
6
|
: specifier.exported.value;
|
|
6
|
-
const buildFix = (fixer, node, sourceCode, sorted) =>
|
|
7
|
-
node.specifiers
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
], sorted.map((specifier) => sourceCode.getText(specifier)).join(", "));
|
|
7
|
+
const buildFix = (fixer, node, sourceCode, sorted) => {
|
|
8
|
+
const startRange = arrayFirst(node.specifiers)?.range ?? node.range;
|
|
9
|
+
const endRange = arrayLast(node.specifiers)?.range ?? node.range;
|
|
10
|
+
return fixer.replaceTextRange([arrayFirst(startRange), arrayLast(endRange)], arrayJoin(sorted.map((specifier) => sourceCode.getText(specifier)), ", "));
|
|
11
|
+
};
|
|
12
12
|
/**
|
|
13
13
|
* Enforce alphabetical sorting of named export specifiers.
|
|
14
14
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sort-export-specifiers.js","sourceRoot":"","sources":["../../src/rules/sort-export-specifiers.ts"],"names":[],"mappings":"AAAA,gHAAgH;AAIhH,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAM3D,MAAM,MAAM,GAAG,CAAC,SAAuC,EAAU,EAAE,CAC/D,SAAS,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY;IACpC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI;IACzB,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC;AAEnC,MAAM,QAAQ,GAAG,CACb,KAAyB,EACzB,IAAyC,EACzC,UAAyC,EACzC,MAAqC,EACrB,EAAE,
|
|
1
|
+
{"version":3,"file":"sort-export-specifiers.js","sourceRoot":"","sources":["../../src/rules/sort-export-specifiers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sort-keys.d.ts","sourceRoot":"","sources":["../../src/rules/sort-keys.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sort-keys.d.ts","sourceRoot":"","sources":["../../src/rules/sort-keys.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,KAAK,UAAU,GAAG,kBAAkB,CAAC;AAErC,KAAK,OAAO,GAAG,SAAS,EAAE,CAAC;AA4C3B;;GAEG;AACH,QAAA,MAAM,IAAI,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC,CAiE5D,CAAC;AAEH,eAAe,IAAI,CAAC"}
|
package/dist/rules/sort-keys.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/prefer-readonly-parameter-types -- ESLint fixer API callback signatures. */
|
|
2
|
+
import { arrayFirst, arrayJoin, arrayLast, isDefined } from "ts-extras";
|
|
2
3
|
import { ruleCreator } from "../_internal/rule-creator.js";
|
|
3
4
|
const keyName = (property) => {
|
|
4
5
|
if (property.key.type === "Identifier") {
|
|
@@ -11,15 +12,14 @@ const keyName = (property) => {
|
|
|
11
12
|
return undefined;
|
|
12
13
|
};
|
|
13
14
|
const buildFix = (sourceCode, properties) => (fixer) => {
|
|
14
|
-
const first = properties
|
|
15
|
-
|
|
16
|
-
const last = properties[properties.length - 1];
|
|
15
|
+
const first = arrayFirst(properties);
|
|
16
|
+
const last = arrayLast(properties);
|
|
17
17
|
if (first === undefined || last === undefined) {
|
|
18
18
|
return fixer.insertTextAfterRange([0, 0], "");
|
|
19
19
|
}
|
|
20
20
|
// eslint-disable-next-line unicorn/no-array-sort -- Node >=16.0 support baseline
|
|
21
21
|
const sorted = [...properties].sort((a, b) => (keyName(a) ?? "").localeCompare(keyName(b) ?? ""));
|
|
22
|
-
return fixer.replaceTextRange([first.range
|
|
22
|
+
return fixer.replaceTextRange([arrayFirst(first.range), last.range[1]], arrayJoin(sorted.map((property) => sourceCode.getText(property)), ", "));
|
|
23
23
|
};
|
|
24
24
|
/**
|
|
25
25
|
* Enforce alphabetical sorting of object literal keys.
|
|
@@ -42,7 +42,7 @@ const rule = ruleCreator({
|
|
|
42
42
|
let hasPreviousName = false;
|
|
43
43
|
for (const property of properties) {
|
|
44
44
|
const currentName = keyName(property);
|
|
45
|
-
if (currentName
|
|
45
|
+
if (!isDefined(currentName)) {
|
|
46
46
|
return;
|
|
47
47
|
}
|
|
48
48
|
if (hasPreviousName &&
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sort-keys.js","sourceRoot":"","sources":["../../src/rules/sort-keys.ts"],"names":[],"mappings":"AAAA,gHAAgH;AAIhH,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAM3D,MAAM,OAAO,GAAG,CAAC,QAA+B,EAAsB,EAAE;IACpE,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QACrC,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;IAC7B,CAAC;IAED,IACI,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,SAAS;QAC/B,OAAO,QAAQ,CAAC,GAAG,CAAC,KAAK,KAAK,QAAQ,EACxC,CAAC;QACC,OAAO,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC;IAC9B,CAAC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC,CAAC;AAEF,MAAM,QAAQ,GACV,CACI,UAAyC,EACzC,UAAkC,EACR,EAAE,CAChC,CAAC,KAAK,EAAoB,EAAE;IACxB,MAAM,KAAK,GAAG,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"sort-keys.js","sourceRoot":"","sources":["../../src/rules/sort-keys.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sort-top-comments.d.ts","sourceRoot":"","sources":["../../src/rules/sort-top-comments.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sort-top-comments.d.ts","sourceRoot":"","sources":["../../src/rules/sort-top-comments.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,KAAK,UAAU,GAAG,kBAAkB,CAAC;AAErC,KAAK,OAAO,GAAG,SAAS,EAAE,CAAC;AAiB3B;;GAEG;AACH,QAAA,MAAM,IAAI,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC,CAsE5D,CAAC;AAEH,eAAe,IAAI,CAAC"}
|