@typescript-eslint/eslint-plugin
TypeScript plugin for ESLint
Last updated 2 days ago by jameshenry .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install @typescript-eslint/eslint-plugin 
SYNC missed versions from official npm registry.

ESLint Plugin TypeScript

Azure Pipelines GitHub license NPM Version NPM Downloads Commitizen friendly

Installation

Make sure you have TypeScript and @typescript-eslint/parser installed, then install the plugin:

npm i @typescript-eslint/eslint-plugin --save-dev

It is important that you use the same version number for @typescript-eslint/parser and @typescript-eslint/eslint-plugin.

Note: If you installed ESLint globally (using the -g flag) then you must also install @typescript-eslint/eslint-plugin globally.

Usage

Add @typescript-eslint/parser to the parser field and @typescript-eslint to the plugins section of your .eslintrc configuration file:

{
  "parser": "@typescript-eslint/parser",
  "plugins": ["@typescript-eslint"]
}

Then configure the rules you want to use under the rules section.

{
  "parser": "@typescript-eslint/parser",
  "plugins": ["@typescript-eslint"],
  "rules": {
    "@typescript-eslint/rule-name": "error"
  }
}

You can also enable all the recommended rules for our plugin. Add plugin:@typescript-eslint/recommended in extends:

{
  "extends": ["plugin:@typescript-eslint/recommended"]
}

You can also use eslint:recommended with this plugin. Add both eslint:recommended and plugin:@typescript-eslint/eslint-recommended:

{
  "extends": [
    "eslint:recommended",
    "plugin:@typescript-eslint/eslint-recommended",
    "plugin:@typescript-eslint/recommended"
  ]
}

If you want to use rules which require type information, you will need to specify a path to your tsconfig.json file in the "project" property of "parserOptions".

{
  "parser": "@typescript-eslint/parser",
  "parserOptions": {
    "project": "./tsconfig.json"
  },
  "plugins": ["@typescript-eslint"],
  "rules": {
    "@typescript-eslint/restrict-plus-operands": "error"
  }
}

See @typescript-eslint/parser's README.md for more information on the available "parserOptions".

Note: Make sure to use eslint --ext .js,.ts since by default eslint will only search for .js files.

Usage with Prettier

Install eslint-config-prettier to disable our code formatting related rules:

{
  "extends": [
    "plugin:@typescript-eslint/recommended",
    "prettier",
    "prettier/@typescript-eslint"
  ]
}

Note: Make sure you have eslint-config-prettier@4.0.0 or newer.

Usage with Airbnb

Airbnb has two configs, a base one eslint-config-airbnb-base and one that includes rules for React eslint-config-airbnb.

First you'll need to install the config according to the instructions in one of the links above. npx install-peerdeps --dev eslint-config-airbnb or npx install-peerdeps --dev eslint-config-airbnb-base should work if you are using npm 5+.

Then you should add airbnb (or airbnb-base) to your extends section of .eslintrc. You might also want to turn on plugin:@typescript-eslint/recommended as well to enable all of the recommended rules.

{
  "extends": ["airbnb-base", "plugin:@typescript-eslint/recommended"]
}

Note: You can use Airbnb's rules alongside Prettier, see Usage with Prettier

Supported Rules

Key: :heavy_check_mark: = recommended, :wrench: = fixable, :thought_balloon: = requires type information

Name Description :heavy_check_mark: :wrench: :thought_balloon:
@typescript-eslint/adjacent-overload-signatures Require that member overloads be consecutive :heavy_check_mark:
@typescript-eslint/array-type Requires using either T[] or Array<T> for arrays :heavy_check_mark: :wrench:
@typescript-eslint/await-thenable Disallows awaiting a value that is not a Thenable :thought_balloon:
@typescript-eslint/ban-ts-ignore Bans “// @ts-ignore” comments from being used
@typescript-eslint/ban-types Enforces that types will not to be used :heavy_check_mark: :wrench:
@typescript-eslint/camelcase Enforce camelCase naming convention :heavy_check_mark:
@typescript-eslint/class-name-casing Require PascalCased class and interface names :heavy_check_mark:
@typescript-eslint/consistent-type-definitions Consistent with type definition either interface or type :heavy_check_mark: :wrench:
@typescript-eslint/explicit-function-return-type Require explicit return types on functions and class methods :heavy_check_mark:
@typescript-eslint/explicit-member-accessibility Require explicit accessibility modifiers on class properties and methods :heavy_check_mark:
@typescript-eslint/func-call-spacing Require or disallow spacing between function identifiers and their invocations :wrench:
@typescript-eslint/generic-type-naming Enforces naming of generic type variables
@typescript-eslint/indent Enforce consistent indentation :heavy_check_mark: :wrench:
@typescript-eslint/interface-name-prefix Require that interface names be prefixed with I :heavy_check_mark:
@typescript-eslint/member-delimiter-style Require a specific member delimiter style for interfaces and type literals :heavy_check_mark: :wrench:
@typescript-eslint/member-naming Enforces naming conventions for class members by visibility
@typescript-eslint/member-ordering Require a consistent member declaration order
@typescript-eslint/no-angle-bracket-type-assertion Enforces the use of as Type assertions instead of <Type> assertions :heavy_check_mark:
@typescript-eslint/no-array-constructor Disallow generic Array constructors :heavy_check_mark: :wrench:
@typescript-eslint/no-empty-function Disallow empty functions
@typescript-eslint/no-empty-interface Disallow the declaration of empty interfaces :heavy_check_mark:
@typescript-eslint/no-explicit-any Disallow usage of the any type :heavy_check_mark:
@typescript-eslint/no-extra-parens Disallow unnecessary parentheses :wrench:
@typescript-eslint/no-extraneous-class Forbids the use of classes as namespaces
@typescript-eslint/no-floating-promises Requires Promise-like values to be handled appropriately. :thought_balloon:
@typescript-eslint/no-for-in-array Disallow iterating over an array with a for-in loop :thought_balloon:
@typescript-eslint/no-inferrable-types Disallows explicit type declarations for variables or parameters initialized to a number, string, or boolean :heavy_check_mark: :wrench:
@typescript-eslint/no-magic-numbers Disallows magic numbers
@typescript-eslint/no-misused-new Enforce valid definition of new and constructor :heavy_check_mark:
@typescript-eslint/no-namespace Disallow the use of custom TypeScript modules and namespaces :heavy_check_mark:
@typescript-eslint/no-non-null-assertion Disallows non-null assertions using the ! postfix operator :heavy_check_mark:
@typescript-eslint/no-object-literal-type-assertion Forbids an object literal to appear in a type assertion expression :heavy_check_mark:
@typescript-eslint/no-parameter-properties Disallow the use of parameter properties in class constructors :heavy_check_mark:
@typescript-eslint/no-require-imports Disallows invocation of require()
@typescript-eslint/no-this-alias Disallow aliasing this
@typescript-eslint/no-triple-slash-reference Disallow /// <reference path="" /> comments :heavy_check_mark:
@typescript-eslint/no-type-alias Disallow the use of type aliases
@typescript-eslint/no-unnecessary-qualifier Warns when a namespace qualifier is unnecessary :wrench: :thought_balloon:
@typescript-eslint/no-unnecessary-type-assertion Warns if a type assertion does not change the type of an expression :wrench: :thought_balloon:
@typescript-eslint/no-unused-vars Disallow unused variables :heavy_check_mark:
@typescript-eslint/no-use-before-define Disallow the use of variables before they are defined :heavy_check_mark:
@typescript-eslint/no-useless-constructor Disallow unnecessary constructors
@typescript-eslint/no-var-requires Disallows the use of require statements except in import statements :heavy_check_mark:
@typescript-eslint/prefer-for-of Prefer a ‘for-of’ loop over a standard ‘for’ loop if the index is only used to access the array being iterated
@typescript-eslint/prefer-function-type Use function types instead of interfaces with call signatures :wrench:
@typescript-eslint/prefer-includes Enforce includes method over indexOf method :wrench: :thought_balloon:
@typescript-eslint/prefer-namespace-keyword Require the use of the namespace keyword instead of the module keyword to declare custom TypeScript modules :heavy_check_mark: :wrench:
@typescript-eslint/prefer-regexp-exec Prefer RegExp#exec() over String#match() if no global flag is provided :thought_balloon:
@typescript-eslint/prefer-string-starts-ends-with Enforce the use of String#startsWith and String#endsWith instead of other equivalent methods of checking substrings :wrench: :thought_balloon:
@typescript-eslint/promise-function-async Requires any function or method that returns a Promise to be marked async :thought_balloon:
@typescript-eslint/require-array-sort-compare Enforce giving compare argument to Array#sort :thought_balloon:
@typescript-eslint/restrict-plus-operands When adding two variables, operands must both be of type number or of type string :thought_balloon:
@typescript-eslint/semi Require or disallow semicolons instead of ASI :wrench:
@typescript-eslint/type-annotation-spacing Require consistent spacing around type annotations :heavy_check_mark: :wrench:
@typescript-eslint/unbound-method Enforces unbound methods are called with their expected scope :thought_balloon:
@typescript-eslint/unified-signatures Warns for any two overloads that could be unified into one by using a union or an optional/rest parameter

Current Tags

  • 1.11.1-alpha.0                                ...           canary (2 days ago)
  • 1.11.0                                ...           latest (2 days ago)

226 Versions

  • 1.11.1-alpha.0                                ...           2 days ago
  • 1.11.0                                ...           2 days ago
  • 1.10.3-alpha.14                                ...           2 days ago
  • 1.10.3-alpha.13                                ...           3 days ago
  • 1.10.3-alpha.12                                ...           5 days ago
  • 1.10.3-alpha.11                                ...           5 days ago
  • 1.10.3-alpha.10                                ...           6 days ago
  • 1.10.3-alpha.9                                ...           6 days ago
  • 1.10.3-alpha.8                                ...           6 days ago
  • 1.10.3-alpha.7                                ...           6 days ago
  • 1.10.3-alpha.6                                ...           7 days ago
  • 1.10.3-alpha.5                                ...           8 days ago
  • 1.10.3-alpha.4                                ...           10 days ago
  • 1.10.3-alpha.3                                ...           10 days ago
  • 1.10.3-alpha.2                                ...           12 days ago
  • 1.10.3-alpha.1                                ...           15 days ago
  • 1.10.3-alpha.0                                ...           15 days ago
  • 1.10.2                                ...           16 days ago
  • 1.10.2-alpha.0                                ...           16 days ago
  • 1.10.1                                ...           16 days ago
  • 1.9.1-alpha.27                                ...           16 days ago
  • 1.9.1-alpha.26                                ...           18 days ago
  • 1.9.1-alpha.25                                ...           19 days ago
  • 1.9.1-alpha.24                                ...           19 days ago
  • 1.9.1-alpha.23                                ...           19 days ago
  • 1.9.1-alpha.22                                ...           19 days ago
  • 1.9.1-alpha.21                                ...           20 days ago
  • 1.9.1-alpha.20                                ...           20 days ago
  • 1.9.1-alpha.19                                ...           22 days ago
  • 1.9.1-alpha.18                                ...           22 days ago
  • 1.9.1-alpha.17                                ...           22 days ago
  • 1.9.1-alpha.16                                ...           25 days ago
  • 1.9.1-alpha.15                                ...           a month ago
  • 1.9.1-alpha.14                                ...           a month ago
  • 1.9.1-alpha.13                                ...           a month ago
  • 1.9.1-alpha.12                                ...           a month ago
  • 1.9.1-alpha.10                                ...           a month ago
  • 1.9.1-alpha.9                                ...           a month ago
  • 1.9.1-alpha.8                                ...           a month ago
  • 1.9.1-alpha.7                                ...           a month ago
  • 1.9.1-alpha.6                                ...           a month ago
  • 1.9.1-alpha.5                                ...           a month ago
  • 1.9.1-alpha.4                                ...           a month ago
  • 1.9.1-alpha.3                                ...           a month ago
  • 1.9.1-alpha.2                                ...           a month ago
  • 1.9.1-alpha.1                                ...           a month ago
  • 1.9.1-alpha.0                                ...           a month ago
  • 1.9.0                                ...           a month ago
  • 1.8.1-alpha.2                                ...           a month ago
  • 1.8.1-alpha.1                                ...           a month ago
  • 1.8.1-alpha.0                                ...           a month ago
  • 1.8.0                                ...           a month ago
  • 1.7.1-alpha.31                                ...           2 months ago
  • 1.7.1-alpha.30                                ...           2 months ago
  • 1.7.1-alpha.29                                ...           2 months ago
  • 1.7.1-alpha.28                                ...           2 months ago
  • 1.7.1-alpha.26                                ...           2 months ago
  • 1.7.1-alpha.25                                ...           2 months ago
  • 1.7.1-alpha.24                                ...           2 months ago
  • 1.7.1-alpha.23                                ...           2 months ago
  • 1.7.1-alpha.22                                ...           2 months ago
  • 1.7.1-alpha.21                                ...           2 months ago
  • 1.7.1-alpha.20                                ...           2 months ago
  • 1.7.1-alpha.19                                ...           2 months ago
  • 1.7.1-alpha.18                                ...           2 months ago
  • 1.7.1-alpha.17                                ...           2 months ago
  • 1.7.1-alpha.16                                ...           2 months ago
  • 1.7.1-alpha.15                                ...           2 months ago
  • 1.7.1-alpha.14                                ...           2 months ago
  • 1.7.1-alpha.13                                ...           2 months ago
  • 1.7.1-alpha.12                                ...           2 months ago
  • 1.7.1-alpha.11                                ...           2 months ago
  • 1.7.1-alpha.10                                ...           2 months ago
  • 1.7.1-alpha.9                                ...           2 months ago
  • 1.7.1-alpha.8                                ...           2 months ago
  • 1.7.1-alpha.7                                ...           2 months ago
  • 1.7.1-alpha.6                                ...           2 months ago
  • 1.7.1-alpha.5                                ...           2 months ago
  • 1.7.1-alpha.4                                ...           2 months ago
  • 1.7.1-alpha.3                                ...           2 months ago
  • 1.7.1-alpha.2                                ...           2 months ago
  • 1.7.1-alpha.1                                ...           2 months ago
  • 1.7.1-alpha.0                                ...           2 months ago
  • 1.6.1-alpha.15                                ...           2 months ago
  • 1.7.0                                ...           2 months ago
  • 1.6.1-alpha.14                                ...           2 months ago
  • 1.6.1-alpha.13                                ...           2 months ago
  • 1.6.1-alpha.12                                ...           2 months ago
  • 1.6.1-alpha.11                                ...           2 months ago
  • 1.6.1-alpha.10                                ...           2 months ago
  • 1.6.1-alpha.9                                ...           2 months ago
  • 1.6.1-alpha.8                                ...           2 months ago
  • 1.6.1-alpha.6                                ...           3 months ago
  • 1.6.1-alpha.5                                ...           3 months ago
  • 1.6.1-alpha.4                                ...           3 months ago
  • 1.6.1-alpha.3                                ...           3 months ago
  • 1.6.1-alpha.2                                ...           3 months ago
  • 1.6.1-alpha.1                                ...           3 months ago
  • 1.6.1-alpha.0                                ...           3 months ago
  • 1.6.0                                ...           3 months ago
  • 1.5.1-alpha.10                                ...           3 months ago
  • 1.5.1-alpha.8                                ...           3 months ago
  • 1.5.1-alpha.7                                ...           3 months ago
  • 1.5.1-alpha.6                                ...           3 months ago
  • 1.5.1-alpha.5                                ...           3 months ago
  • 1.5.1-alpha.4                                ...           3 months ago
  • 1.5.1-alpha.3                                ...           3 months ago
  • 1.5.1-alpha.2                                ...           3 months ago
  • 1.5.1-alpha.1                                ...           3 months ago
  • 1.5.1-alpha.0                                ...           3 months ago
  • 1.5.0                                ...           3 months ago
  • 1.4.3-alpha.8                                ...           3 months ago
  • 1.4.3-alpha.7                                ...           3 months ago
  • 1.4.3-alpha.6                                ...           3 months ago
  • 1.4.3-alpha.5                                ...           3 months ago
  • 1.4.3-alpha.4                                ...           3 months ago
  • 1.4.3-alpha.3                                ...           4 months ago
  • 1.4.3-alpha.2                                ...           4 months ago
  • 1.4.3-alpha.1                                ...           4 months ago
  • 1.4.3-alpha.0                                ...           4 months ago
  • 1.4.2                                ...           4 months ago
  • 1.4.2-alpha.0                                ...           4 months ago
  • 1.4.1                                ...           4 months ago
  • 1.4.1-alpha.6                                ...           4 months ago
  • 1.4.1-alpha.5                                ...           4 months ago
  • 1.4.1-alpha.4                                ...           4 months ago
  • 1.4.1-alpha.3                                ...           4 months ago
  • 1.4.1-alpha.2                                ...           4 months ago
  • 1.4.1-alpha.1                                ...           4 months ago
  • 1.4.1-alpha.0                                ...           4 months ago
  • 1.4.0                                ...           4 months ago
  • 1.3.1-alpha.26                                ...           4 months ago
  • 1.3.1-alpha.25                                ...           4 months ago
  • 1.3.1-alpha.24                                ...           4 months ago
  • 1.3.1-alpha.23                                ...           4 months ago
  • 1.3.1-alpha.22                                ...           4 months ago
  • 1.3.1-alpha.21                                ...           4 months ago
  • 1.3.1-alpha.20                                ...           4 months ago
  • 1.3.1-alpha.19                                ...           4 months ago
  • 1.3.1-alpha.18                                ...           4 months ago
  • 1.3.1-alpha.17                                ...           4 months ago
  • 1.3.1-alpha.16                                ...           4 months ago
  • 1.3.1-alpha.15                                ...           4 months ago
  • 1.3.1-alpha.14                                ...           4 months ago
  • 1.3.1-alpha.13                                ...           4 months ago
  • 1.3.1-alpha.12                                ...           4 months ago
  • 1.3.1-alpha.11                                ...           4 months ago
  • 1.3.1-alpha.10                                ...           4 months ago
  • 1.3.1-alpha.9                                ...           4 months ago
  • 1.3.1-alpha.8                                ...           4 months ago
  • 1.3.1-alpha.7                                ...           4 months ago
  • 1.3.1-alpha.6                                ...           4 months ago
  • 1.3.1-alpha.5                                ...           4 months ago
  • 1.3.1-alpha.3                                ...           4 months ago
  • 1.3.1-alpha.2                                ...           5 months ago
  • 1.3.1-alpha.1                                ...           5 months ago
  • 1.3.1-alpha.0                                ...           5 months ago
  • 1.2.1-alpha.24                                ...           5 months ago
  • 1.3.0                                ...           5 months ago
  • 1.2.1-alpha.23                                ...           5 months ago
  • 1.2.1-alpha.22                                ...           5 months ago
  • 1.2.1-alpha.21                                ...           5 months ago
  • 1.2.1-alpha.20                                ...           5 months ago
  • 1.2.1-alpha.19                                ...           5 months ago
  • 1.2.1-alpha.18                                ...           5 months ago
  • 1.2.1-alpha.16                                ...           5 months ago
  • 1.2.1-alpha.15                                ...           5 months ago
  • 1.2.1-alpha.14                                ...           5 months ago
  • 1.2.1-alpha.13                                ...           5 months ago
  • 1.2.1-alpha.12                                ...           5 months ago
  • 1.2.1-alpha.11                                ...           5 months ago
  • 1.2.1-alpha.10                                ...           5 months ago
  • 1.2.1-alpha.9                                ...           5 months ago
  • 1.2.1-alpha.8                                ...           5 months ago
  • 1.2.1-alpha.7                                ...           5 months ago
  • 1.2.1-alpha.6                                ...           5 months ago
  • 1.2.1-alpha.5                                ...           5 months ago
  • 1.2.1-alpha.4                                ...           5 months ago
  • 1.2.1-alpha.3                                ...           5 months ago
  • 1.2.1-alpha.2                                ...           5 months ago
  • 1.2.1-alpha.1                                ...           5 months ago
  • 1.2.1-alpha.0                                ...           5 months ago
  • 1.1.2-alpha.10                                ...           5 months ago
  • 1.2.0                                ...           5 months ago
  • 1.1.2-alpha.9                                ...           5 months ago
  • 1.1.2-alpha.8                                ...           5 months ago
  • 1.1.2-alpha.7                                ...           5 months ago
  • 1.1.2-alpha.6                                ...           5 months ago
  • 1.1.2-alpha.5                                ...           5 months ago
  • 1.1.2-alpha.4                                ...           5 months ago
  • 1.1.2-alpha.3                                ...           5 months ago
  • 1.1.2-alpha.2                                ...           5 months ago
  • 1.1.2-alpha.1                                ...           5 months ago
  • 1.1.2-alpha.0                                ...           5 months ago
  • 1.1.1                                ...           5 months ago
  • 1.1.1-alpha.11                                ...           5 months ago
  • 1.1.1-alpha.10                                ...           5 months ago
  • 1.1.1-alpha.9                                ...           5 months ago
  • 1.1.1-alpha.8                                ...           5 months ago
  • 1.1.1-alpha.7                                ...           5 months ago
  • 1.1.1-alpha.6                                ...           5 months ago
  • 1.1.1-alpha.5                                ...           5 months ago
  • 1.1.1-alpha.4                                ...           5 months ago
  • 1.1.1-alpha.2                                ...           5 months ago
  • 1.1.1-alpha.1                                ...           5 months ago
  • 1.1.1-alpha.0                                ...           5 months ago
  • 1.1.0                                ...           5 months ago
  • 1.0.1-alpha.14                                ...           5 months ago
  • 1.0.1-alpha.13                                ...           5 months ago
  • 1.0.1-alpha.12                                ...           5 months ago
  • 1.0.1-alpha.11                                ...           5 months ago
  • 1.0.1-alpha.10                                ...           5 months ago
  • 1.0.1-alpha.9                                ...           5 months ago
  • 1.0.1-alpha.8                                ...           5 months ago
  • 1.0.1-alpha.6                                ...           5 months ago
  • 1.0.0                                ...           5 months ago
  • 0.2.2-alpha.0                                ...           5 months ago
  • 0.2.1                                ...           5 months ago
  • 0.2.1-alpha.2                                ...           5 months ago
  • 0.2.1-alpha.1                                ...           5 months ago
  • 0.2.0                                ...           5 months ago
  • 0.1.1-alpha.4                                ...           5 months ago
  • 0.1.1-alpha.0                                ...           5 months ago
  • 0.1.0                                ...           5 months ago
  • 0.0.1-alpha.1                                ...           5 months ago
  • 0.0.1-alpha.0                                ...           5 months ago
Maintainers (1)
Downloads
Today 243
This Week 6,220
This Month 54,176
Last Day 2,297
Last Week 17,701
Last Month 45,678
Dev Dependencies (3)
Dependents (764)

Copyright 2014 - 2016 © taobao.org |