I've found that a few of the rules I've implemented or want to implement may already exist in ESLint or are available as ESLint plugins. While this has been a fun project and experiment so far (and has made the beets codebase more consistent overall), I'd rather not reinvent the wheel entirely - if existing rules exist & can be configured to act as replacements for the ones I've written so far, that would be awesome. This package would then essentially ship as a set of preferred ESLint rules.
I've found that a few of the rules I've implemented or want to implement may already exist in ESLint or are available as ESLint plugins. While this has been a fun project and experiment so far (and has made the
beets
codebase more consistent overall), I'd rather not reinvent the wheel entirely - if existing rules exist & can be configured to act as replacements for the ones I've written so far, that would be awesome. This package would then essentially ship as a set of preferred ESLint rules.alphabetize-dependency-lists
alphabetize-enums
typescript-sort-keys/string-enum
🔧alphabetize-interfaces
typescript-sort-keys/interface
🔧alphabetize-jsx-props
react/jsx-sort-props
🔧exports-at-eof
import/exports-last
, but it doesn't enforce separateexport
statements, just that they appear at the eofnamed-exports-only
import/no-default-export
, but not auto-fixableProposed
react/destructuring-assignment
set tonever
to disallow prop destructuring in function definition@typescript-eslint/consistent-type-exports
sort-exports/sort-exports
Not yet proposed, but good candidates
React
react/no-multi-comp
react/self-closing-comp
🔧react/jsx-boolean-value
🔧always
to require boolean props have an explicit valueTypeScript
@typescript-eslint/consistent-type-definitions
🔧interface
unless truly defining a type alias@typescript-eslint/consistent-type-imports
🔧import type
for types/interfaces which are non-runtime code@typescript-eslint/no-extra-non-null-assertion
🔧@typescript-eslint/non-nullable-type-assertion-style.
🔧@typescript-eslint/sort-type-union-intersection-members
🔧@typescript-eslint/strict-boolean-expressions
🔧General
eqeqeq
sort-keys-fix/sort-keys-fix
🔧prefer-arrow-functions/prefer-arrow-functions
🔧