max-dependencies.md
1.1 KB
import/max-dependencies
Forbid modules to have too many dependencies (import
or require
statements).
This is a useful rule because a module with too many dependencies is a code smell, and usually indicates the module is doing too much and/or should be broken up into smaller modules.
Importing multiple named exports from a single module will only count once (e.g. import {x, y, z} from './foo'
will only count as a single dependency).
Options
This rule takes the following option:
max
: The maximum number of dependencies allowed. Anything over will trigger the rule. Default is 10 if the rule is enabled and no max
is specified.
You can set the option like this:
"import/max-dependencies": ["error", {"max": 10}]
Example
Given a max value of {"max": 2}
:
Fail
import a from './a'; // 1
const b = require('./b'); // 2
import c from './c'; // 3 - exceeds max!
Pass
import a from './a'; // 1
const anotherA = require('./a'); // still 1
import {x, y, z} from './foo'; // 2
When Not To Use It
If you don't care how many dependencies a module has.