eslint-plugin-reselect
v6.6.0
Published
eslint rules to enforce best practices in selectors made with reselect
Downloads
500
Maintainers
Readme
eslint-plugin-reselect
Enforce best practices in selectors written with Reselect
Installation
$ npm i eslint-plugin-reselect
Configuration
Add plugins
section and specify eslint-plugin-reselect as a plugin.
Add rules below in rules section.
{
"plugins": [
"reselect"
],
"rules": {
"reselect/first-param-name": "error",
"reselect/maximum-arity": "error",
"reselect/second-param-destructured": "error",
"reselect/call": "error",
"reselect/prefer-create-selector": "warn"
}
}
List of supported rules
- reselect/first-param-name: First param must be named
state
. Name can be configured. Here is an example withfullState
:
"rules": {
...
"reselect/first-param-name": ["error", "fullState"],
...
- reselect/maximum-arity: Maximum arity of 2. Arity can be modified like this :
"rules": {
...
"reselect/maximum-arity": ["error", 3],
...
- reselect/second-param-destructured: Second argument must be a destructuring object.
- reselect/call: When calling a selector function, second argument must be an object declaration. Selector call is identified like this:
- Called function begins with
get
, unless otherwise configured in eslint settings - Function called with 2 parameters
- First parameter must be
state
, unless otherwise configured in eslint settings
- Called function begins with
- reselect/prefer-create-selector: Instead of use selector in selector, prefer use of createSelector function.
All rules except reselect/call
are triggered when :
reselect
is imported- function name begins with
get
, or is otherwise configured in eslint settings - function at root level (exported or not)
- functions in createSelector calls (not the latest)
If you don't use Reselect in your selector file, you can just import Reselect like this to enable rules
import 'reselect';
All
This plugin also exports an all
configuration that includes every available rule.
{
"plugins": [
"reselect"
],
"extends": ["plugin:reselect/all"]
}
Recommended
This plugin exports a recommended
configuration that enforce React good practices.
To enable this configuration use the extends
property in your .eslintrc
config file:
{
"extends": ["plugin:reselect/recommended"]
}
See ESLint documentation for more information about extending configuration files.
The rules enabled in this configuration are:
- reselect/first-param-name
- reselect/maximum-arity
- reselect/prefer-create-selector
License
eslint-plugin-reselect is licensed under the MIT License.