eslint plugin to detect implicit dependencies
npm install @fable/eslint-plugin-implicit-dependencieseslint plugin to detect implicit dependencies
Detects when a module has been 'require'd or 'import'ed that is not listed as a dependency in the project's package.json.
This helps prevent accidentally depending on a module that is present in node_modules as a result of being installed further down your dependency tree, but is not listed as an explicit dependency of your project.
Add implicit-dependencies to the plugins section of your ESLint configuration file. You can omit the eslint-plugin- prefix:
``yaml`
plugins:
- implicit-dependencies
Then configure the plugin under the rules section.
`yaml`
rules:
- implicit-dependencies/no-implicit: error
By default implicit-dependencies will only look for dependencies in the dependencies section of your package.json. You can include dev, peer and optional dependencies by configuring the rule to include those sections as follows:
`yaml`
rules:
- implicit-dependencies/no-implicit:
- error
- dev: true
peer: true
optional: true
Or if configuring with javascript:
`javascript`
rules: {
'implicit-dependencies/no-implicit': [
'error',
{ peer: true, dev: true, optional: true }
]
}
To suppress no-implicit errors for a particular package, add ignore to the rule’s configuration. This can be useful when import aliases are in use, and an import that looks like an npm package is actually local to the source tree:
`yaml`
rules:
- implicit-dependencies/no-implicit:
- error
- ignore: ['src', '@/components']
Or if configuring with javascript:
`javascript``
rules: {
'implicit-dependencies/no-implicit': [
'error',
{ ignore: ['src', '@/components'] }
]
}