npm install eslint-plugin-dependencies
In your .eslintrc
:
{
"plugins": [
"dependencies"
],
"rules": {
"dependencies/case-sensitive": 1,
"dependencies/no-cycles": 1,
"dependencies/no-unresolved": 1,
"dependencies/require-json-ext": 1
}
}
An eslint plugin that ...
Verifies that require("…")
, require.resolve(…)
, import "…"
and export … from "…"
ids match the case that is reported by a directory listing.
{
"plugins": [
"dependencies"
],
"rules": {
"dependencies/case-sensitive": [1, {"paths": ["custom-path-to-search-for-modules"]}]
}
}
Prevents cyclic references between modules. It resolves require("…")
, import "…"
and export … from "…"
references to internal modules (i.e. not node_modules
), to determine whether there is a cycle. If you're using a custom parser, the rule will use that to parse the dependencies. The rule takes a skip
array of strings, that will be treated as regexps to skip checking files.
{
"plugins": [
"dependencies"
],
"rules": {
"dependencies/no-cyles": [1, {"skip": ["/spec/", "/vendor/"]}]
}
}
Checks that require("…")
, require.resolve(…)
, import "…"
and export … from "…"
reference modules that exist. Takes an ignore
array of modules to ignore.
{
"plugins": [
"dependencies"
],
"rules": {
"dependencies/no-unresolved": [1, {"ignore": ["atom"], "paths": ["custom-path-to-search-for-modules"]}]
}
}
Ensures that modules are that are .json
include their extension in the module id. Supports auto fix.