Install ESLint either locally or globally.
If you installed ESLint
globally, you have to install React plugin globally too. Otherwise, install it locally.
$ npm install eslint-plugin-jsx-control-statementsConfiguration (Simple)
Add plugins
section and specify ESLint-plugin-JSX-Control-Statements as a plugin and plugin:jsx-control-statements/recommended to "extends"
{ "plugins": [ "jsx-control-statements" ], "extends": ["plugin:jsx-control-statements/recommended"] }
If it is not already the case you must also configure ESLint
to support JSX.
{ "ecmaFeatures": { "jsx": true } }Configuration (Advanced)
The plugin comes with a number of rules and an environment that sets the control statements (<If>
, <For>
etc) as global variables:
{ "rules": { "jsx-control-statements/jsx-choose-not-empty": 1, "jsx-control-statements/jsx-for-require-each": 1, "jsx-control-statements/jsx-for-require-of": 1, "jsx-control-statements/jsx-for-require-body": 1, "jsx-control-statements/jsx-if-require-condition": 1, "jsx-control-statements/jsx-otherwise-once-last": 1, "jsx-control-statements/jsx-use-if-tag": 1, "jsx-control-statements/jsx-when-require-condition": 1, "jsx-control-statements/jsx-jcs-no-undef": 1, "no-undef": 0 // Replace this with jsx-jcs-no-undef }, env: { "jsx-control-statements/jsx-control-statements": true } }Important:
After version 7.0.0 of eslint-plugin-react
the rule react/jsx-no-undef
it's not checking globals by default anymore. So you need to enable this to avoid lint errors telling that "If", "Choose", etc. are not defined. To fix this add to your rules:
{
"rules": {
"react/jsx-no-undef": [2, { "allowGlobals": true }]
}
}
List of supported rules
Choose
tag is empty or does not have at least one When
tag as child.For
tag is missing each
attribute. And also marks the variable as defined.For
tag is missing of
attribute.For
tag is missing body
attribute.If
tag is missing condition
attribute.Otherwise
tag is used more than once inside Choose
and is not last child.If
tag instead of ternary operator.When
tag is missing condition
attribute.no-undef
rule with one that is tolerant of variables expressed in <For>
(each
and index
attributes) and <With>
. Note that to stop getting errors from no-undef
you have to turn it off and this on.Thanks to @yannickcr for his awesome eslint-plugin-react.
LicenseMIT License. Copyright(c) Vivek Kumar Bansal
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4