adjacent‑overload‑signatures | | | | 🛑 | | |
array‑type | | | | | | |
await‑thenable | | | | | 🛑 | |
ban‑ts‑comment | | | | 🛑 | | |
ban‑tslint‑comment | ☑️ | | | | | There's still 3m weekly downloads for TSLint - too many users to make this recommended for now. |
ban‑types | | | | 🛑 | | We should removeobject from the default config, because enough people want to use it and disagree with the reasoning. |
brace‑style | | ☑️ | | | | |
class‑literal‑property‑style | | | | | | |
comma‑dangle | ☑️ | ☑️ | | | | Not in ESLint's recommended. |
comma‑spacing | | ☑️ | | | | |
consistent‑indexed‑object‑style | ☑️ | | | | | Stylistic. |
consistent‑type‑assertions | | | | | | |
consistent‑type‑definitions | | | | | | |
consistent‑type‑imports | ☑️ | | | | | Stylistic. |
default‑param‑last | | ☑️ | | | | |
dot‑notation | | ☑️ | | | | |
explicit‑function‑return‑type | | | | | | |
explicit‑member‑accessibility | | | | | | |
explicit‑module‑boundary‑types | | | | 🗑️(new) | | A lot of people are against this style and turn the rule off. It's entirely stylistic so we shouldn't recommend it. |
func‑call‑spacing | | ☑️ | | | | |
indent | | ☑️ | | | | |
init‑declarations | | ☑️ | | | | |
keyword‑spacing | | ☑️ | | | | |
lines‑between‑class‑members | | ☑️ | | | | |
member‑delimiter‑style | | | | | | |
member‑ordering | | | | | | |
method‑signature‑style | | | | | | |
naming‑convention | | | | | | |
no‑array‑constructor | | ☑️ | | 🛑 | | |
no‑base‑to‑string | | | | | | |
no‑confusing‑non‑null‑assertion | ☑️ | | | | | Stylistic. |
no‑confusing‑void‑expression | ☑️ | | | | | It's a good rule, but I think in general the errors it prevents will just be caught by the typechecker. |
no‑dupe‑class‑members | | ☑️ | | | | |
no‑duplicate‑imports | ☑️ | ☑️ | | | | Stylistic. |
no‑dynamic‑delete | | | | | | |
no‑empty‑function | | ☑️ | | 🛑 | | |
no‑empty‑interface | | | | 🛑 | | |
no‑explicit‑any | | | | ⚠️ | | |
no‑extra‑non‑null‑assertion | | | | 🛑 | | |
no‑extra‑parens | | ☑️ | | | | |
no‑extra‑semi | | ☑️ | | 🛑 | | |
no‑extraneous‑class | | | | | | |
no‑floating‑promises | | | | | 🛑 | |
no‑for‑in‑array | | | | | 🛑 | |
no‑implicit‑any‑catch | ☑️ | | ☑️(new) | | | TS 4.4 now has a compiler flag for this. So it's now a rule we don't need! Because 4.4 is still in RC, we'll just deprecate it, and remove it in the next major. |
no‑implied‑eval | | ☑️ | | | 🛑 | |
no‑inferrable‑types | | | | 🛑 | | |
no‑invalid‑this | | ☑️ | | | | |
no‑invalid‑void‑type | | | | | | |
no‑loop‑func | ☑️ | ☑️ | | | | Not in ESLint's recommended. |
no‑loss‑of‑precision | ☑️ | ☑️ | | 🛑(new) | | ESLint added this to their recommended set. |
no‑magic‑numbers | | ☑️ | | | | |
no‑misused‑new | | | | 🛑 | | |
no‑misused‑promises | | | | | 🛑 | |
no‑namespace | | | | 🛑 | | |
no‑non‑null‑asserted‑optional‑chain | | | | 🛑 | | |
no‑non‑null‑assertion | | | | ⚠️ | | |
no‑parameter‑properties | | | | | | |
no‑redeclare | ☑️ | ☑️ | | | | Recommended by ESLint, but we disable it in oureslint-recommended set. |
no‑require‑imports | | | | | | |
no‑shadow | ☑️ | ☑️ | | | | Not in ESLint's recommended. |
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 | ☑️ | | | 🛑(new) | | Helps remove redundant code. |
no‑unsafe‑argument | ☑️ | | | | 🛑(new) | Same reasoning as the otherno‑unsafe-* rules. |
no‑unsafe‑assignment | | | | | 🛑 | |
no‑unsafe‑call | | | | | 🛑 | |
no‑unsafe‑member‑access | | | | | 🛑 | |
no‑unsafe‑return | | | | | 🛑 | |
no‑unused‑expressions | | ☑️ | | | | |
no‑unused‑vars‑experimental | | | 🗑️(new) | | | no‑unused‑vars now completely supports TS - so this rule is no longer required. |
no‑unused‑vars | | ☑️ | | ⚠️ | | |
no‑use‑before‑define | | ☑️ | | | | |
no‑useless‑constructor | | ☑️ | | | | |
no‑var‑requires | | | | 🛑 | | |
non‑nullable‑type‑assertion‑style | | | | | | |
object‑curly‑spacing | ☑️ | ☑️ | | | | Not in ESLint's recommended. |
prefer‑as‑const | | | | 🛑 | | |
prefer‑enum‑initializers | ☑️ | | | | | Stylistic. |
prefer‑for‑of | | | | | | |
prefer‑function‑type | | | | | | |
prefer‑includes | | | | | | |
prefer‑literal‑enum‑member | ☑️ | | | | | Stylistic. |
prefer‑namespace‑keyword | | | | 🛑 | | |
prefer‑nullish‑coalescing | | | | | | |
prefer‑optional‑chain | | | | | | |
prefer‑readonly‑parameter‑types | | | | | | |
prefer‑readonly | | | | | | |
prefer‑reduce‑type‑parameter | | | | | | |
prefer‑regexp‑exec | | | | | 🗑️(new) | This is a stylistic rule and enough people have raised issues about its premise being wrong. |
prefer‑return‑this‑type | ☑️ | | | | | Stylistic. |
prefer‑string‑starts‑ends‑with | | | | | | |
prefer‑ts‑expect‑error | | | | | | |
promise‑function‑async | | | | | | |
quotes | | ☑️ | | | | |
require‑array‑sort‑compare | | | | | | |
require‑await | | ☑️ | | | | |
restrict‑plus‑operands | | | | | 🛑 | |
restrict‑template‑expressions | | | | | 🛑 | |
return‑await | | ☑️ | | | 🛑 | |
semi | | ☑️ | | | | |
sort‑type‑union‑intersection‑members | ☑️ | | | | | Stylistic. |
space‑before‑function‑paren | | ☑️ | | | | |
space‑infix‑ops | ☑️ | ☑️ | | | | Not in ESLint's recommended. |
strict‑boolean‑expressions | | | | | | |
switch‑exhaustiveness‑check | | | | | | |
triple‑slash‑reference | | | | 🛑 | | |
type‑annotation‑spacing | | | | | | |
typedef | | | | | | |
unbound‑method | | | | | 🛑 | |
unified‑signatures | | | | | | |