@stylistic/eslint-plugin-ts 
TypeScript stylistic rules for ESLint, migrated from typescript-eslint.
Credits to all contributors who have committed to the original rules.
WARNING
We recommend using @stylistic/eslint-plugin as it includes the rules for both JavaScript and TypeScript.
This package is deprecated and will be soon removed.
Install 
sh
npm i -D @stylistic/eslint-plugin-tsAdd @stylistic/ts to your plugins list, and change the prefix for stylistic rules from @typescript-eslint/ to @stylistic/ts/:
js
// eslint.config.js
import stylisticTs from '@stylistic/eslint-plugin-ts'
import parserTs from '@typescript-eslint/parser'
export default [
  {
    plugins: {
      '@stylistic/ts': stylisticTs
    },
    languageOptions: {
      parser: parserTs,
    },
    rules: {
      '@typescript-eslint/indent': ['error', 2],
      '@stylistic/ts/indent': ['error', 2],
      // ...
    }
  }
]js
// Legacy config is no longer supported in v4+
// Please use v3.x if you need to use legacy config
// We encourage you to migrate to flat config soon
// .eslintrc.js
module.exports = {
  plugins: [
    '@typescript-eslint',
    '@stylistic/ts',
  ],
  parser: '@typescript-eslint/parser',
  rules: {
    '@typescript-eslint/indent': ['error', 2],
    '@stylistic/ts/indent': ['error', 2],
    // ...
  }
};Note that this package only contains stylistic rules. You still need to install @typescript-eslint/parser and @typescript-eslint/eslint-plugin to parse and lint your TypeScript code.
Check out the migration guide for more details.
Rules 
 Each rule has emojis denoting: 
💼 The rule is part of the shared configuration 
🔧 Some problems reported are fixable by the 
--fix command line option | Rule | Description | ||
| block-spacing | Disallow or enforce spaces inside of blocks after opening block and before closing block | 💼 | 🔧 | 
| brace-style | Enforce consistent brace style for blocks | 💼 | 🔧 | 
| comma-dangle | Require or disallow trailing commas | 💼 | 🔧 | 
| comma-spacing | Enforce consistent spacing before and after commas | 💼 | 🔧 | 
| func-call-spacing | Require or disallow spacing between function identifiers and their invocations | 🔧 | |
| function-call-spacing | Require or disallow spacing between function identifiers and their invocations | 🔧 | |
| indent | Enforce consistent indentation | 💼 | 🔧 | 
| key-spacing | Enforce consistent spacing between property names and type annotations in types and interfaces | 💼 | 🔧 | 
| keyword-spacing | Enforce consistent spacing before and after keywords | 💼 | 🔧 | 
| lines-around-comment | Require empty lines around comments | 🔧 | |
| lines-between-class-members | Require or disallow an empty line between class members | 💼 | 🔧 | 
| member-delimiter-style | Require a specific member delimiter style for interfaces and type literals | 💼 | 🔧 | 
| no-extra-parens | Disallow unnecessary parentheses | 💼 | 🔧 | 
| no-extra-semi | Disallow unnecessary semicolons | 🔧 | |
| object-curly-newline | Enforce consistent line breaks after opening and before closing braces | 🔧 | |
| object-curly-spacing | Enforce consistent spacing inside braces | 💼 | 🔧 | 
| object-property-newline | Enforce placing object properties on separate lines | 🔧 | |
| padding-line-between-statements | Require or disallow padding lines between statements | 🔧 | |
| quote-props | Require quotes around object literal, type literal, interfaces and enums property names | 💼 | 🔧 | 
| quotes | Enforce the consistent use of either backticks, double, or single quotes | 💼 | 🔧 | 
| semi | Require or disallow semicolons instead of ASI | 💼 | 🔧 | 
| semi-spacing | Enforce consistent spacing before and after semicolons | 💼 | 🔧 | 
| space-before-blocks | Enforce consistent spacing before blocks | 💼 | 🔧 | 
| space-before-function-paren | Enforce consistent spacing before function parenthesis | 💼 | 🔧 | 
| space-infix-ops | Require spacing around infix operators | 💼 | 🔧 | 
| type-annotation-spacing | Require consistent spacing around type annotations | 💼 | 🔧 | 
26 rules in total.