React specific linting rules for ESLint
Перейти к файлу
Yannick Croissant 46c800805c Update CHANGELOG and bump version 2016-06-17 20:12:51 +00:00
docs/rules Fix jsx-curly-spacing alternative option 2016-06-16 01:00:42 +02:00
lib Fix jsx-no-bind crash (fixes #641) 2016-06-17 20:04:50 +00:00
tests Fix jsx-no-bind crash (fixes #641) 2016-06-17 20:04:50 +00:00
.editorconfig Update config files 2014-12-29 11:23:15 +01:00
.eslintignore Update config files 2014-12-29 11:23:15 +01:00
.eslintrc Update dependencies 2016-02-08 21:17:42 +00:00
.gitignore Update config files 2014-12-29 11:23:15 +01:00
.travis.yml Update node.js versions in travis config file 2015-11-17 00:24:38 +01:00
CHANGELOG.md Update CHANGELOG and bump version 2016-06-17 20:12:51 +00:00
LICENSE Initial commit 2014-12-16 00:44:14 +01:00
README.md Add missing no-comment-textnodes rule to README 2016-06-16 22:31:15 +00:00
appveyor.yml Add AppVeyor CI 2016-01-01 10:41:02 +00:00
index.js Add no-comment-textnodes rule 2016-06-05 23:40:04 +02:00
package.json Update CHANGELOG and bump version 2016-06-17 20:12:51 +00:00

README.md

ESLint-plugin-React

Maintenance Status NPM version Build Status Build Status Dependency Status Coverage Status Code Climate

React specific linting rules for ESLint

Installation

Install ESLint either locally or globally.

$ npm install eslint

If you installed ESLint globally, you have to install React plugin globally too. Otherwise, install it locally.

$ npm install eslint-plugin-react

Configuration

Add plugins section and specify ESLint-plugin-React as a plugin.

{
  "plugins": [
    "react"
  ]
}

You can also specify some settings that will be shared across all the plugin rules.

{
  "settings": {
    "react": {
      "pragma": "React",  // Pragma to use, default to "React"
      "version": "15.0" // React version, default to the latest React stable release
    }
  }
}

If it is not already the case you must also configure ESLint to support JSX.

With ESLint 1.x.x:

{
  "ecmaFeatures": {
    "jsx": true
  }
}

With ESLint 2.x.x:

{
  "parserOptions": {
    "ecmaFeatures": {
      "jsx": true
    }
  }
}

Finally, enable all of the rules that you would like to use. Use our preset to get reasonable defaults quickly, and/or choose your own:

  "rules": {
    "react/jsx-uses-react": "error",
    "react/jsx-uses-vars": "error",
  }

List of supported rules

JSX-specific rules

React Native rules

If you're searching for React Native specific linting rules, check out eslint-plugin-react-native.

Recommended configuration

This plugin exports a recommended configuration that enforce React good practices.

To enable this configuration use the extends property in your .eslintrc config file:

{
  "plugins": [
    "react"
  ],
  "extends": ["eslint:recommended", "plugin:react/recommended"]
}

See ESLint documentation for more information about extending configuration files.

The rules enabled in this configuration are:

Note: This configuration will also enable JSX in parser options.

License

ESLint-plugin-React is licensed under the MIT License.