Type-checked ESLint rules
Operators
dot-notation
- Severity: off
- Related:
Never use bracket notation to access properties. In TypeScript, we don't use private or protected, and even in such case, do not access them outside of the class (even in tests). Tests should be for public-facing behavior. We also don't enable the noPropertyAccessFromIndexSignature option, so you should access index signatures with dot notation.
Async operations
await-thenable
- Severity: error
You should only await on values that may be thenable. A value that is definitely not thenable should not be awaited because it makes the code harder to track and also defers all remaining code to the next tick.
Modules
consistent-type-exports
- Severity: error
- Configuration:
- Fix with inline type specifiers (
fixMixedExportsWithInlineTypeSpecifier: true)
- Fix with inline type specifiers (
Types should always be exported with export type for consistency reasons. In fact, you should generally use
tsexport type Type1 = A;export interface Type2 {}
tsexport type Type1 = A;export interface Type2 {}
Instead of a separate export type { Type1, Type2 }; statement.