@typescript-eslint/adjacent-overload-signatures 要求函数重载签名连续 | 🎨 | | | | | |
@typescript-eslint/array-type 要求一致地使用 T[] 或 Array<T> 来表示数组 | 🎨 | 🔧 | | | | |
@typescript-eslint/await-thenable 禁止等待非 Thenable 的值 | ✅ | 💡 | 💭 | | | |
@typescript-eslint/ban-ts-comment 禁止 @ts-<directive> 注释或要求在指令后添加描述 | ✅ | 💡 | | | | |
@typescript-eslint/ban-tslint-comment 禁止 // tslint:<rule-flag> 注释 | 🎨 | 🔧 | | | | |
@typescript-eslint/ban-types 禁止某些类型 | ✅ | 🔧 💡 | | | | |
@typescript-eslint/block-spacing 禁止或强制在块的开头和结尾的括号内使用空格 | | 🔧 | | 🧱 | 📐 | 💀 |
@typescript-eslint/brace-style 强制对块使用一致的括号样式 | | 🔧 | | 🧱 | 📐 | 💀 |
@typescript-eslint/class-literal-property-style 强制类上的字面量以一致的样式公开 | 🎨 | 💡 | | | | |
@typescript-eslint/class-methods-use-this 强制类方法使用 this | | | | 🧱 | | |
@typescript-eslint/comma-dangle 要求或禁止尾随逗号 | | 🔧 | | 🧱 | 📐 | 💀 |
@typescript-eslint/comma-spacing 强制在逗号前后保持一致的间距 | | 🔧 | | 🧱 | 📐 | 💀 |
@typescript-eslint/consistent-generic-constructors 强制在类型注解或构造函数调用的构造函数名称上指定泛型类型参数 | 🎨 | 🔧 | | | | |
@typescript-eslint/consistent-indexed-object-style 要求或禁止使用 Record 类型 | 🎨 | 🔧 | | | | |
@typescript-eslint/consistent-return 要求 return 语句始终或从不指定值 | | | 💭 | 🧱 | | |
@typescript-eslint/consistent-type-assertions 强制一致使用类型断言 | 🎨 | 🔧 💡 | | | | |
@typescript-eslint/consistent-type-definitions 强制类型定义始终使用 interface 或 type | 🎨 | 🔧 | | | | |
@typescript-eslint/consistent-type-exports 强制一致使用类型导出 | | 🔧 | 💭 | | | |
@typescript-eslint/consistent-type-imports 强制一致使用类型导入 | | 🔧 | | | | |
@typescript-eslint/default-param-last 强制默认参数位于最后 | | | | 🧱 | | |
@typescript-eslint/dot-notation 尽可能强制使用点表示法 | 🎨 | 🔧 | 💭 | 🧱 | | |
@typescript-eslint/explicit-function-return-type 要求函数和类方法显式返回类型 | | | | | | |
@typescript-eslint/explicit-member-accessibility 要求类属性和方法显式访问修饰符 | | 🔧 💡 | | | | |
@typescript-eslint/explicit-module-boundary-types 要求导出函数和类的公共类方法的显式返回和参数类型 | | | | | | |
@typescript-eslint/func-call-spacing 要求或禁止在函数标识符及其调用之间使用空格 | | 🔧 | | 🧱 | 📐 | 💀 |
@typescript-eslint/indent 强制一致的缩进 | | 🔧 | | 🧱 | 📐 | 💀 |
@typescript-eslint/init-declarations 要求或禁止在变量声明中初始化 | | | | 🧱 | | |
@typescript-eslint/key-spacing 强制在类型和接口中的属性名称和类型注解之间保持一致的间距 | | 🔧 | | 🧱 | 📐 | 💀 |
@typescript-eslint/keyword-spacing 强制在关键字前后保持一致的间距 | | 🔧 | | 🧱 | 📐 | 💀 |
@typescript-eslint/lines-around-comment 要求注释周围有空行 | | 🔧 | | 🧱 | 📐 | 💀 |
@typescript-eslint/lines-between-class-members 要求或禁止类成员之间有空行 | | 🔧 | | 🧱 | 📐 | 💀 |
@typescript-eslint/max-params 强制函数定义中的参数数量上限 | | | | 🧱 | | |
@typescript-eslint/member-delimiter-style 要求接口和类型字面量使用特定的成员分隔符样式 | | 🔧 | | | 📐 | 💀 |
@typescript-eslint/member-ordering 要求一致的成员声明顺序 | | | | | | |
@typescript-eslint/method-signature-style 强制使用特定方法签名语法 | | 🔧 | | | | |
@typescript-eslint/naming-convention 强制整个代码库的命名约定 | | | 💭 | | | |
@typescript-eslint/no-array-constructor 禁止使用泛型Array 构造函数 | ✅ | 🔧 | | 🧱 | | |
@typescript-eslint/no-array-delete 禁止对数组值使用delete 运算符 | 🔒 | 💡 | 💭 | | | |
@typescript-eslint/no-base-to-string 要求.toString() 仅在对对象进行字符串化时提供有用信息的情况下调用 | ✅ | | 💭 | | | |
@typescript-eslint/no-confusing-non-null-assertion 禁止在可能造成混淆的位置使用非空断言 | 🎨 | 💡 | | | | |
@typescript-eslint/no-confusing-void-expression 要求类型为void的表达式出现在语句位置 | 🔒 | 🔧 💡 | 💭 | | | |
@typescript-eslint/no-dupe-class-members 禁止重复的类成员 | | | | 🧱 | | |
@typescript-eslint/no-duplicate-enum-values 禁止重复的枚举成员值 | ✅ | | | | | |
@typescript-eslint/no-duplicate-type-constituents 禁止重复的联合类型或交叉类型组成部分 | ✅ | 🔧 | 💭 | | | |
@typescript-eslint/no-dynamic-delete 禁止对计算键表达式使用delete 运算符 | 🔒 | 🔧 | | | | |
@typescript-eslint/no-empty-function 禁止空函数 | 🎨 | | | 🧱 | | |
@typescript-eslint/no-empty-interface 禁止声明空接口 | 🎨 | 🔧 💡 | | | | |
@typescript-eslint/no-explicit-any 禁止使用any 类型 | ✅ | 🔧 💡 | | | | |
@typescript-eslint/no-extra-non-null-assertion 禁止额外的非空断言 | ✅ | 🔧 | | | | |
@typescript-eslint/no-extra-parens 禁止不必要的括号 | | 🔧 | | 🧱 | 📐 | 💀 |
@typescript-eslint/no-extra-semi 禁止不必要的分号 | | 🔧 | | 🧱 | | 💀 |
@typescript-eslint/no-extraneous-class 禁止将类用作命名空间 | 🔒 | | | | | |
@typescript-eslint/no-floating-promises 要求Promise-like语句得到适当处理 | ✅ | 💡 | 💭 | | | |
@typescript-eslint/no-for-in-array 禁止使用for-in循环遍历数组 | ✅ | | 💭 | | | |
@typescript-eslint/no-implied-eval 禁止使用eval() 类似方法 | ✅ | | 💭 | 🧱 | | |
@typescript-eslint/no-import-type-side-effects 当导入仅包含具有内联类型限定符的说明符时,强制使用顶级导入类型限定符 | | 🔧 | | | | |
@typescript-eslint/no-inferrable-types 禁止为初始化为数字、字符串或布尔值的变量或参数显式声明类型 | 🎨 | 🔧 | | | | |
@typescript-eslint/no-invalid-this 禁止在类或类对象之外使用this 关键字 | | | | 🧱 | | |
@typescript-eslint/no-invalid-void-type 禁止在泛型或返回类型之外使用void 类型 | 🔒 | | | | | |
@typescript-eslint/no-loop-func 禁止在循环语句中包含不安全引用的函数声明 | | | | 🧱 | | |
@typescript-eslint/no-loss-of-precision 禁止使用会丢失精度的字面量数字 | ✅ | | | 🧱 | | |
@typescript-eslint/no-magic-numbers 禁止使用魔数 | | | | 🧱 | | |
@typescript-eslint/no-meaningless-void-operator 禁止使用void 运算符,除非用于丢弃值 | 🔒 | 🔧 💡 | 💭 | | | |
@typescript-eslint/no-misused-new 强制new 和constructor 的有效定义 | ✅ | | | | | |
@typescript-eslint/no-misused-promises 禁止在未设计用于处理 Promise 的地方使用 Promise | ✅ | | 💭 | | | |
@typescript-eslint/no-mixed-enums 禁止枚举同时具有数字和字符串成员 | 🔒 | | 💭 | | | |
@typescript-eslint/no-namespace 禁止使用 TypeScript 命名空间 | ✅ | | | | | |
@typescript-eslint/no-non-null-asserted-nullish-coalescing 禁止在空值合并运算符的左操作数中使用非空断言 | 🔒 | 💡 | | | | |
@typescript-eslint/no-non-null-asserted-optional-chain 禁止在可选链表达式后使用非空断言 | ✅ | 💡 | | | | |
@typescript-eslint/no-non-null-assertion 禁止使用! 后缀运算符进行非空断言 | 🔒 | 💡 | | | | |
@typescript-eslint/no-redeclare 禁止变量重新声明 | | | | 🧱 | | |
@typescript-eslint/no-redundant-type-constituents 禁止联合和交集的成员没有任何作用或覆盖类型信息 | ✅ | | 💭 | | | |
@typescript-eslint/no-require-imports 禁止调用require() | | | | | | |
@typescript-eslint/no-restricted-imports 禁止通过import 加载指定的模块 | | | | 🧱 | | |
@typescript-eslint/no-shadow 禁止变量声明遮蔽外部作用域中声明的变量 | | | | 🧱 | | |
@typescript-eslint/no-this-alias 禁止为this 创建别名 | ✅ | | | | | |
@typescript-eslint/no-throw-literal 禁止将字面量作为异常抛出 | | | 💭 | 🧱 | | 💀 |
@typescript-eslint/no-type-alias 禁止使用类型别名 | | | | | | 💀 |
@typescript-eslint/no-unnecessary-boolean-literal-compare 禁止对布尔字面量进行不必要的相等比较 | 🔒 | 🔧 | 💭 | | | |
@typescript-eslint/no-unnecessary-condition 禁止在类型始终为真或始终为假的情况下使用条件语句 | 🔒 | 🔧 | 💭 | | | |
@typescript-eslint/no-unnecessary-qualifier 禁止使用不必要的命名空间限定符 | | 🔧 | 💭 | | | |
@typescript-eslint/no-unnecessary-template-expression 禁止使用不必要的模板表达式 | 🔒 | 🔧 | 💭 | | | |
@typescript-eslint/no-unnecessary-type-arguments 禁止使用等于默认值的类型参数 | 🔒 | 🔧 | 💭 | | | |
@typescript-eslint/no-unnecessary-type-assertion 禁止使用不改变表达式类型的类型断言 | ✅ | 🔧 | 💭 | | | |
@typescript-eslint/no-unnecessary-type-constraint 禁止对泛型类型进行不必要的约束 | ✅ | 💡 | | | | |
@typescript-eslint/no-unsafe-argument 禁止使用any 类型的参数调用函数 | ✅ | | 💭 | | | |
@typescript-eslint/no-unsafe-assignment 禁止将any 类型的赋值给变量和属性 | ✅ | | 💭 | | | |
@typescript-eslint/no-unsafe-call 禁止调用any 类型的函数 | ✅ | | 💭 | | | |
@typescript-eslint/no-unsafe-declaration-merging 禁止不安全的声明合并 | ✅ | | | | | |
@typescript-eslint/no-unsafe-enum-comparison 禁止将枚举值与非枚举值进行比较 | ✅ | 💡 | 💭 | | | |
@typescript-eslint/no-unsafe-member-access 禁止对类型为 any 的值进行成员访问 | ✅ | | 💭 | | | |
@typescript-eslint/no-unsafe-return 禁止从函数中返回类型为 any 的值 | ✅ | | 💭 | | | |
@typescript-eslint/no-unsafe-unary-minus 要求一元否定运算符接受一个数字 | | | 💭 | | | |
@typescript-eslint/no-unused-expressions 禁止使用未使用的表达式 | | | | 🧱 | | |
@typescript-eslint/no-unused-vars 禁止使用未使用的变量 | ✅ | | | 🧱 | | |
@typescript-eslint/no-use-before-define 禁止在定义之前使用变量 | | | | 🧱 | | |
@typescript-eslint/no-useless-constructor 禁止使用不必要的构造函数 | 🔒 | | | 🧱 | | |
@typescript-eslint/no-useless-empty-export 禁止使用不改变模块文件内容的空导出 | | 🔧 | | | | |
@typescript-eslint/no-useless-template-literals 禁止使用不必要的模板表达式 | | 🔧 | 💭 | | | 💀 |
@typescript-eslint/no-var-requires 禁止使用 require 语句,除非在导入语句中 | ✅ | | | | | |
@typescript-eslint/non-nullable-type-assertion-style 强制使用非空断言而不是显式类型转换 | 🎨 | 🔧 | 💭 | | | |
@typescript-eslint/object-curly-spacing 强制在花括号内保持一致的间距 | | 🔧 | | 🧱 | 📐 | 💀 |
@typescript-eslint/only-throw-error 禁止将非 Error 值作为异常抛出 | 🔒 | | 💭 | 🧱 | | |
@typescript-eslint/padding-line-between-statements 要求或禁止在语句之间添加空行 | | 🔧 | | 🧱 | 📐 | 💀 |
@typescript-eslint/parameter-properties 要求或禁止在类构造函数中使用参数属性 | | | | | | |
@typescript-eslint/prefer-as-const 强制使用 as const 而不是字面量类型 | ✅ | 🔧 💡 | | | | |
@typescript-eslint/prefer-destructuring 要求从数组和/或对象中解构 | | 🔧 | 💭 | 🧱 | | |
@typescript-eslint/prefer-enum-initializers 要求每个枚举成员值都显式初始化 | | 💡 | | | | |
@typescript-eslint/prefer-find 在查找单个结果时,强制使用 Array.prototype.find() 而不是 Array.prototype.filter() 后跟 [0] | | 💡 | 💭 | | | |
@typescript-eslint/prefer-for-of 尽可能强制使用 for-of 循环而不是标准 for 循环 | 🎨 | | | | | |
@typescript-eslint/prefer-function-type 强制使用函数类型而不是带有调用签名的接口 | 🎨 | 🔧 | | | | |
@typescript-eslint/prefer-includes 强制使用 includes 方法而不是 indexOf 方法 | 🔒 | 🔧 | 💭 | | | |
@typescript-eslint/prefer-literal-enum-member 要求所有枚举成员都是字面量值 | 🔒 | | | | | |
@typescript-eslint/prefer-namespace-keyword 要求使用 namespace 关键字而不是 module 关键字来声明自定义 TypeScript 模块 | 🎨 | 🔧 | | | | |
@typescript-eslint/prefer-nullish-coalescing 强制使用空值合并运算符而不是逻辑赋值或链式操作 | 🎨 | 💡 | 💭 | | | |
@typescript-eslint/prefer-optional-chain 强制使用简洁的可选链表达式而不是链式逻辑与、否定逻辑或或空对象 | 🎨 | 🔧 💡 | 💭 | | | |
@typescript-eslint/prefer-promise-reject-errors 要求使用 Error 对象作为 Promise 拒绝的原因 | 🔒 | | 💭 | 🧱 | | |
@typescript-eslint/prefer-readonly 要求私有成员在构造函数之外从未被修改的情况下标记为 readonly | | 🔧 | 💭 | | | |
@typescript-eslint/prefer-readonly-parameter-types 要求函数参数类型为 readonly ,以防止意外修改输入 | | | 💭 | | | |
@typescript-eslint/prefer-reduce-type-parameter 在调用 Array#reduce 时强制使用类型参数,而不是强制转换 | 🔒 | 🔧 | 💭 | | | |
@typescript-eslint/prefer-regexp-exec 如果未提供全局标志,则强制使用 RegExp#exec 而不是 String#match | | 🔧 | 💭 | | | |
@typescript-eslint/prefer-return-this-type 强制在仅返回 this 类型时使用 this | 🔒 | 🔧 | 💭 | | | |
@typescript-eslint/prefer-string-starts-ends-with 强制使用 String#startsWith 和 String#endsWith 而不是其他等效的子字符串检查方法 | 🎨 | 🔧 | 💭 | | | |
@typescript-eslint/prefer-ts-expect-error 强制使用 @ts-expect-error 而不是 @ts-ignore | | 🔧 | | | | 💀 |
@typescript-eslint/promise-function-async 要求任何返回 Promise 的函数或方法都标记为 async | | 🔧 | 💭 | | | |
@typescript-eslint/quotes 强制一致地使用反引号、双引号或单引号 | | 🔧 | | 🧱 | 📐 | 💀 |
@typescript-eslint/require-array-sort-compare 要求 Array#sort 和 Array#toSorted 调用始终提供 compareFunction | | | 💭 | | | |
@typescript-eslint/require-await 禁止不返回 promise 且没有 await 表达式的异步函数 | ✅ | | 💭 | 🧱 | | |
@typescript-eslint/restrict-plus-operands 要求加法的两个操作数类型相同,并且为 bigint 、number 或 string | ✅ | | 💭 | | | |
@typescript-eslint/restrict-template-expressions 强制模板文字表达式为 string 类型 | ✅ | | 💭 | | | |
@typescript-eslint/return-await 强制一致地等待返回的 promise | | 🔧 💡 | 💭 | 🧱 | | |
@typescript-eslint/semi 要求或禁止分号,而不是 ASI | | 🔧 | | 🧱 | 📐 | 💀 |
@typescript-eslint/sort-type-constituents 强制类型联合/交集的组成部分按字母顺序排序 | | 🔧 💡 | | | | 💀 |
@typescript-eslint/space-before-blocks 强制块之前的一致空格 | | 🔧 | | 🧱 | 📐 | 💀 |
@typescript-eslint/space-before-function-paren 强制函数括号之前的一致空格 | | 🔧 | | 🧱 | 📐 | 💀 |
@typescript-eslint/space-infix-ops 要求在中缀运算符周围留出空格 | | 🔧 | | 🧱 | 📐 | 💀 |
@typescript-eslint/strict-boolean-expressions 禁止在布尔表达式中使用某些类型 | | 🔧 💡 | 💭 | | | |
@typescript-eslint/switch-exhaustiveness-check 要求 switch-case 语句是穷尽的 | | 💡 | 💭 | | | |
@typescript-eslint/triple-slash-reference 禁止使用某些三斜杠指令,而推荐使用 ES6 风格的导入声明 | ✅ | | | | | |
@typescript-eslint/type-annotation-spacing 要求类型注解周围的空格一致 | | 🔧 | | | 📐 | 💀 |
@typescript-eslint/typedef 要求在某些地方使用类型注解 | | | | | | |
@typescript-eslint/unbound-method 强制未绑定方法使用其预期作用域调用 | ✅ | | 💭 | | | |
@typescript-eslint/unified-signatures 禁止两个可以合并为一个的重载,可以使用联合类型或可选/剩余参数 | 🔒 | | | | | |
@typescript-eslint/use-unknown-in-catch-callback-variable 强制在 .catch() 回调中将参数类型指定为 unknown | 🔒 | 🔧 💡 | 💭 | | | |