src/content/docs/linter/rules/no-duplicate-dependencies.mdx
import { Tabs, TabItem } from '@astrojs/starlight/components';
<Tabs> <TabItem label="JSON (and super languages)" icon="seti:json"> ## Summary - Rule available since: `v2.2.4` - Diagnostic Category: [`lint/suspicious/noDuplicateDependencies`](/reference/diagnostics#diagnostic-category) - This rule isn't recommended, so you need to enable it. - This rule doesn't have a fix. - The default severity of this rule is [**warning**](/reference/diagnostics#warning). - Sources: - Same as [`package-json/unique-dependencies`](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/blob/main/docs/rules/unique-dependencies.md) - Same as [`package-json-dependencies/duplicate-dependencies`](https://github.com/idan-at/eslint-plugin-package-json-dependencies/blob/master/docs/rules/duplicate-dependencies.md){
"linter": {
"rules": {
"suspicious": {
"noDuplicateDependencies": "error"
}
}
}
}
Prevent the listing of duplicate dependencies. The rule supports the following dependency groups: "bundledDependencies", "bundleDependencies", "dependencies", "devDependencies", "overrides", "optionalDependencies", and "peerDependencies".
Dependencies are not allowed to be listed twice under the same dependency group.
{
"dependencies": {
"foo": "1.0.0",
"foo": "2.0.0"
}
}
{
"bundleDependencies": ["foo", "foo"]
}
{
"dependencies": {
"foo": "2.0.0"
}
}
{
"bundleDependencies": ["foo"]
}
Some dependency group dependencies are checked against other dependency groups;
Dependencies listed in "devDependencies" are allowed to be listed in "optionalDependencies" or "peerDependencies". And dependencies listed in "overrides" & "bundleDependencies" are not checked against other dependency groups.
{
"dependencies": {
"foo": "1.0.0"
},
"devDependencies": {
"foo": "1.0.0"
}
}
{
"dependencies": {
"foo": "1.0.0"
}
}