https://github.com/jambit/eslint-plugin-typed-redux-saga
These are eslint rules to help with typed-redux-saga
https://github.com/jambit/eslint-plugin-typed-redux-saga
Last synced: 9 months ago
JSON representation
These are eslint rules to help with typed-redux-saga
- Host: GitHub
- URL: https://github.com/jambit/eslint-plugin-typed-redux-saga
- Owner: jambit
- License: mit
- Created: 2020-04-06T13:14:07.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2023-07-19T06:22:41.000Z (almost 3 years ago)
- Last Synced: 2025-08-04T17:38:51.074Z (10 months ago)
- Language: JavaScript
- Size: 60.5 KB
- Stars: 17
- Watchers: 4
- Forks: 3
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Description
These are eslint rules to help with [typed-redux-saga](https://github.com/agiledigital/typed-redux-saga).
It includes an auto-fix option, so you can use it to easily convert your codebase from redux-saga to typed-redux-saga!
(As always, you should double-check if the auto-fixer did its job correctly before committing the changes!)
## How to Use
Install the plugin via npm:
`npm i -D @jambit/eslint-plugin-typed-redux-saga`
Add it to your eslint configuration as seen below.
Keep in mind, that you don't want to run these rules in your test files, since there you most likely need to use the imports from `redux-saga/effects`.
```json
{
"plugins": ["@jambit/typed-redux-saga"],
"rules": {},
"overrides": [
{
"files": ["./**/*.ts"],
"excludedFiles": ["./**/*.spec.ts"],
"rules": {
"@jambit/typed-redux-saga/use-typed-effects": "error",
"@jambit/typed-redux-saga/delegate-effects": "error"
}
}
]
}
```
## Included-rules
### @jambit/typed-redux-saga/use-typed-effects
This rule ensures, that you import from `typed-redux-saga` instead of `redux-saga/effects`.
If you want to use the [babel macro feature](https://github.com/agiledigital/typed-redux-saga#babel-macro), this rule can be configured to use `typed-redux-saga/macro` instead:
```json
"@jambit/typed-redux-saga/use-typed-effects": ["error", "macro"]
```
The second entry in the options array can be either "default" or "macro".
### @jambit/typed-redux-saga/delegate-effects
This rule ensures, that you use `yield*` on effects from `typed-redux-saga` and `typed-redux-saga/macro`.
## License
Licensed under MIT