- Update ESLint - Update typescript-eslint - Update eslint-plugin-import - Update Stylelint standard config R=jacktfranklin@chromium.org DISABLE_THIRD_PARTY_CHECK=ESLint fix Bug: none Change-Id: Ic1efac8b4f7b085b8f2b792a76b8b99b9f583da3 Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/3158225 Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org> Reviewed-by: Jack Franklin <jacktfranklin@chromium.org>
1.6 KiB
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 has the following options, with these defaults:
"import/max-dependencies": ["error", {
"max": 10,
"ignoreTypeImports": false,
}]
max
This option sets 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.
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
ignoreTypeImports
Ignores type imports. Type imports are a feature released in TypeScript 3.8, you can read more here. Defaults to false.
Given {"max": 2, "ignoreTypeImports": true}:
Fail
import a from './a';
import b from './b';
import c from './c';
Pass
import a from './a';
import b from './b';
import type c from './c'; // Doesn't count against max
When Not To Use It
If you don't care how many dependencies a module has.