Registry /
testing / eslint-plugin-redux-saga
Install & Compatibility
Where this runs
tested against v? · npm install
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
muslnode 18–226 runs
build_error
glibcnode 18–226 runs
build_error
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
plugin
✓ {
"plugins": ["redux-saga"]
}
✗ {
"plugins": ["eslint-plugin-redux-saga"]
}
When adding to ESLint config, use the short name 'redux-saga' (without the 'eslint-plugin-' prefix). The plugin is automatically resolved by ESLint.
recommended config
✓ {
"extends": ["plugin:redux-saga/recommended"]
}
✗ {
"extends": ["redux-saga/recommended"]
}
Always prefix with 'plugin:' when extending presets from plugins. Without 'plugin:', ESLint will try to find a shareable config named 'redux-saga'.
Individual rules
✓ {
"rules": {
"redux-saga/yield-effects": "error",
"redux-saga/no-yield-in-race": "warn",
"redux-saga/no-unhandled-errors": "error"
}
}
✗ {
"rules": {
"eslint-plugin-redux-saga/yield-effects": "error"
}
}
Rule names are prefixed with the short plugin name 'redux-saga/', not the full package name.
require() in Node scripts
✓ const plugin = require('eslint-plugin-redux-saga');
✗ const plugin = require('redux-saga');
When importing programmatically in Node, use the full package name. The short name is only for ESLint config files.
Installs the plugin and ESLint, then configures ESLint to use the plugin with recommended rules and a custom warning for no-yield-in-race.
npm install --save-dev eslint-plugin-redux-saga eslint
# or yarn add --dev eslint-plugin-redux-saga eslint
# .eslintrc.json
{
"plugins": ["redux-saga"],
"extends": ["plugin:redux-saga/recommended"],
"rules": {
"redux-saga/no-yield-in-race": "warn"
}
}
Errors
Common errors & fixes
ESLint: Failed to load plugin 'redux-saga': Cannot find module 'eslint-plugin-redux-saga'
The plugin is not installed or not resolvable.
fixRun 'npm install eslint-plugin-redux-saga --save-dev' and ensure it's in node_modules.
Configuration for rule 'redux-saga/no-yield-in-race' is invalid: Severity should be one of the following: 0 = off, 1 = warn, 2 = error
Invalid severity value in eslintrc.
fixUse numbers (0,1,2) or strings ('off','warn','error'). Example: "redux-saga/no-yield-in-race": 2 ESLint: Unexpected top-level property 'extends[0]' value 'plugin:redux-saga/recommended' is not valid.
Missing 'plugin:' prefix or incorrect string.
fixUse "plugin:redux-saga/recommended" with the 'plugin:' prefix.
ReferenceError: saga is not defined (when using 'yield-effects' rule)
Saga generator functions not properly declared or used outside a function.
fixEnsure effects are used inside a generator function and that the rule is not mistakenly applied to non-saga code.
Audit
Dependencies
eslintrequiredPeer dependency: required for the plugin to work as an ESLint plugin.
redux-sagaoptionalPeer dependency: rules are designed for redux-saga patterns (version >=0.11.1 <1 or >=1.0.0).