Skip to content

noDuplicateDependencies

¥Summary

¥How to configure

biome.json
{
"linter": {
"rules": {
"nursery": {
"noDuplicateDependencies": "error"
}
}
}
}

¥Description

防止列出重复的依赖。该规则支持以下依赖组:“bundledDependencies”、“bundleDependencies”、“dependencies”、“devDependencies”、“overrides”、“optionalDependencies” 和 “peerDependencies”。

¥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.

¥Examples

¥Invalid

{
"dependencies": {
"foo": "1.0.0",
"foo": "2.0.0"
}
}
{
"bundleDependencies": ["foo", "foo"]
}

¥Valid

{
"dependencies": {
"foo": "2.0.0"
}
}
{
"bundleDependencies": ["foo"]
}

一些依赖组的依赖会与其他依赖组进行比较;

¥Some dependency group dependencies are checked against other dependency groups;

  • 在 “dependencies” 中列出的依赖不能列在 “devDependencies”、“optionalDependencies” 或 “peerDependencies” 下。

    ¥Dependencies listed in “dependencies” cannot be listed under “devDependencies”, “optionalDependencies” or “peerDependencies”.

  • 在 “optionalDependencies” 中列出的依赖不能列在 “peerDependencies” 下(反之亦然)。

    ¥Dependencies listed in “optionalDependencies” cannot be listed under “peerDependencies” (and vice versa).

在 “devDependencies” 中列出的依赖可以列在 “optionalDependencies” 或 “peerDependencies” 中。“overrides” 和 “bundleDependencies” 中列出的依赖不会与其他依赖组进行比对。

¥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.

¥Examples

¥Invalid

{
"dependencies": {
"foo": "1.0.0"
},
"devDependencies": {
"foo": "1.0.0"
}
}

¥Valid

{
"dependencies": {
"foo": "1.0.0"
}
}

¥Related links