Skip to content

Changes to configurations for 6.0.0 #5900

@JoshuaKGoldberg

Description

@JoshuaKGoldberg

Similar to what @bradzacher did for 5.0.0 (in #3746), I'm going to put forward the new recommended set ahead of time.

I'm looking for feedback from the community before we go ahead and make the changes.

Note 11/14: I'm going to turn this into a discussion later this week, then share around more. 😇

Table Key

Column Description Emojis
Status Being added, deprecated, or removed
  • 🆕 = newly added to TypeScript-ESLint
  • 🙅 = deprecated in the next major
  • ➖️ = to be removed from the plugin in the next version
Ext Extension rule?
  • ☑️ = yes
R Recommended
  • ➕ = add to recommended this version
  • ⚠️ = recommended as warning
  • 🛑 = recommended as an error
  • ➖️ = remove from recommended this version
RWT Recommended-requiring-type-checking
  • ➕ = add to recommended-with-typechecking this version
  • ⚠️ = recommended as warning
  • 🛑 = recommended as an error
  • ➖️ = remove from recommended this version
Strict Strict
  • ➕ = add to strict this version
  • ⚠️ = recommended as warning
  • ➖️ = remove from strict this version

Recommendations Table

Hint: search for 🆕 to find newly added rules, and ➕ or ➖ to see config changes.

Rule Status Ext R RWT Strict Comment
adjacent-overload-signatures 🛑
array-type ⚠️ move to stylistic (#5964)?
await-thenable 🛑 #5946
ban-ts-comment 🛑
ban-tslint-comment ⚠️
ban-types 🛑 #5947
brace-style ☑️ layout 💩
class-literal-property-style ⚠️ move to stylistic (#5964)?
comma-dangle ☑️ layout 💩
comma-spacing ☑️ layout 💩
consistent-generic-constructors 🆕 ⚠️ move to stylistic (#5964)?
consistent-indexed-object-style ⚠️ move to stylistic (#5964)?
consistent-type-assertions ➕🛑 ⚠️
consistent-type-definitions ⚠️ move to stylistic (#5964)?
consistent-type-exports 🆕 too opinionated for any config
consistent-type-imports too opinionated for any config
default-param-last ☑️
dot-notation ☑️ ⚠️ move to stylistic (#5964)?
explicit-function-return-type too opinionated for any config
explicit-member-accessibility too opinionated for any config
explicit-module-boundary-types too opinionated for any config
func-call-spacing ☑️ layout 💩
indent ☑️ layout 💩
init-declarations ☑️
keyword-spacing ☑️ layout 💩
lines-between-class-members ☑️ layout 💩
member-delimiter-style layout 💩
member-ordering too opinionated for any config
method-signature-style too opinionated for any config
naming-convention too opinionated for any config
no-array-constructor ☑️ 🛑
no-base-to-string ➕🛑 ⚠️ required #4999
no-confusing-non-null-assertion ⚠️ move to stylistic (#5964)?
no-confusing-void-expression ⚠️
no-dupe-class-members ☑️
no-duplicate-enum-values 🆕 ➕🛑 ⚠️
no-duplicate-imports 🙅 delete (##5973)?
no-dynamic-delete ⚠️ too opinionated for recommended
no-empty-function ☑️ 🛑 move to stylistic (#5964)?
no-empty-interface 🛑 move to stylistic (#5964)?
no-explicit-any 🛑
no-extra-non-null-assertion 🛑
no-extra-parens ☑️ layout 💩
no-extra-semi ☑️ 🛑 is this layout 💩? move to stylistic (#5964)?
no-extraneous-class ⚠️
no-floating-promises 🛑
no-for-in-array 🛑
no-implicit-any-catch 🆕 delete (##5973)?
no-implied-eval ☑️ 🛑
no-inferrable-types 🛑
no-invalid-this ☑️
no-invalid-void-type ⚠️
no-loop-func ☑️
no-loss-of-precision ☑️ 🛑
no-magic-numbers ☑️
no-meaningless-void-operator ⚠️
no-misused-new 🛑
no-misused-promises 🛑
no-namespace 🛑
no-non-null-asserted-nullish-coalescing ⚠️
no-non-null-asserted-optional-chain 🛑
no-non-null-assertion 🛑 move to strict (#5959)?
no-parameter-properties 🙅 delete (##5973)?
no-redeclare ☑️
no-redundant-type-constituents 🆕 ➕🛑
no-require-imports
no-restricted-imports ☑️
no-shadow ☑️
no-this-alias 🛑
no-throw-literal ☑️ ⚠️
no-type-alias
no-unnecessary-boolean-literal-compare ⚠️
no-unnecessary-condition ⚠️
no-unnecessary-qualifier
no-unnecessary-type-arguments ⚠️
no-unnecessary-type-assertion 🛑
no-unnecessary-type-constraint 🛑
no-unsafe-argument 🛑
no-unsafe-assignment 🛑
no-unsafe-call 🛑
no-unsafe-declaration-merging 🆕 ➕🛑 ⚠️
no-unsafe-member-access 🛑
no-unsafe-return 🛑
no-unused-expressions ☑️
no-unused-vars ☑️ 🛑
no-use-before-define ☑️
no-useless-constructor ☑️ ⚠️
no-useless-empty-export 🆕 ➕🛑
no-var-requires 🛑
non-nullable-type-assertion-style ⚠️
object-curly-spacing ☑️ layout 💩
padding-line-between-statements ☑️ layout 💩
parameter-properties 🆕 too opinionated for any config
prefer-as-const 🛑
prefer-enum-initializers
prefer-for-of ⚠️
prefer-function-type ⚠️
prefer-includes ⚠️
prefer-literal-enum-member ⚠️
prefer-namespace-keyword 🛑
prefer-nullish-coalescing ⚠️ Options: set ignoreTernaryTests to false by default
prefer-optional-chain ⚠️
prefer-readonly
prefer-readonly-parameter-types
prefer-reduce-type-parameter ⚠️
prefer-regexp-exec
prefer-return-this-type ⚠️
prefer-string-starts-ends-with ⚠️
prefer-ts-expect-error ⚠️
promise-function-async
quotes ☑️ layout 💩
require-array-sort-compare
require-await ☑️ 🛑
restrict-plus-operands ➖🛑 ⚠️ too opinionated for recommended
restrict-template-expressions 🛑
return-await ☑️
semi ☑️ layout 💩
sort-type-constituents 🆕 move to stylistic (#5964)?
sort-type-union-intersection-members 🙅 delete (##5973)?
space-before-blocks 🆕 ☑️ layout 💩
space-before-function-paren ☑️ layout 💩
space-infix-ops ☑️ layout 💩
strict-boolean-expressions
switch-exhaustiveness-check
triple-slash-reference 🛑
type-annotation-spacing layout 💩
typedef
unbound-method 🛑
unified-signatures ⚠️

Metadata

Metadata

Labels

breaking changeThis change will require a new major version to be releasedpackage: eslint-pluginIssues related to @typescript-eslint/eslint-pluginrecommended-rulesDiscussion about recommended rule setstriageWaiting for team members to take a look

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions

    pFad - Phonifier reborn

    Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

    Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


    Alternative Proxies:

    Alternative Proxy

    pFad Proxy

    pFad v3 Proxy

    pFad v4 Proxy