eslint-plugin-effector
Enforcing best practices for Effector
This plugin uses TypeScript for more precise results, but JavaScript is supported too.
Installation
First, install ESLint:
$ yarn add -D eslint
Next, install eslint-plugin-effector
:
$ yarn add -D eslint-plugin-effector
Usage
Add effector
to the plugins section of your .eslintrc
configuration file. You can omit the eslint-plugin-
prefix:
{
"plugins": ["effector"],
"extends": ["plugin:effector/recommended", "plugin:effector/scope"]
}
To configure individual rules:
{
"rules": {
"effector/enforce-store-naming-convention": "off"
}
}
Available presets
plugin:effector/recommended
This preset is recommended for most projects.
plugin:effector/scope
This preset is recommended for projects that use Fork API. You can read more about Fork API in an article.
plugin:effector/react
This preset is recommended for projects that use React with Effector.
plugin:effector/future
This preset contains rules wich enforce future-effector code-style.
Supported rules
- effector/enforce-store-naming-convention
- effector/enforce-effect-naming-convention
- effector/enforce-gate-naming-convention
- effector/no-unnecessary-duplication
- effector/no-unnecessary-combination
- effector/no-useless-methods
- effector/no-forward
- effector/no-guard
- effector/no-ambiguity-target
- effector/no-duplicate-on
- effector/no-getState
- effector/no-watch
- effector/prefer-sample-over-forward-with-mapping
- effector/strict-effect-handlers
- effector/keep-options-order
Maintenance
Release flow
- Bump
version
in package.json - Fill CHANGELOG.md
- Commit changes by
git commit -m "Release X.X.X"
- Create git tag for release by
git tag -a vX.X.X -m "vX.X.X"
- Push changes to remote by
git push --follow-tags
- Release package to registry by
yarn clean-publish
- Fill release page with changelog on GitHub