BetaViberTest is in active development — expect breaking changes.
Overview
#015highDependencies & Config
Duplicate Dependencies
Detects multiple packages serving the same purpose (e.g., axios + fetch, jest + vitest).
Rule ID:
duplicate-depsExamples#
BadMultiple libraries for the same purpose
{
"dependencies": {
"axios": "^1.7.0", // HTTP client
"got": "^14.0.0", // HTTP client (duplicate!)
"node-fetch": "^3.3.0", // HTTP client (duplicate!)
"moment": "^2.30.0", // Date library
"dayjs": "^1.11.0", // Date library (duplicate!)
"date-fns": "^3.6.0", // Date library (duplicate!)
"jest": "^29.0.0", // Testing
"vitest": "^2.0.0" // Testing (duplicate!)
}
}GoodOne library per purpose
{
"dependencies": {
"date-fns": "^3.6.0" // Dates: tree-shakeable, no moment
},
"devDependencies": {
"vitest": "^2.0.0" // Testing: fast, ESM-native
}
}
// HTTP: use native fetch() — no library needed
// Removed: axios, got, node-fetch, moment, dayjs, jestWhat It Detects#
high2+ packages in the same category (HTTP, state, testing, CSS-in-JS, dates, validation, ORM, etc.)
Found {N} {category} libraries: {names}
Fix: Pick ONE and remove the rest. Multiple libraries for the same purpose bloat your bundle.
Configuration#
This rule is enabled by default. To disable it:
.vibertestrc.jsonjson
{
"rules": {
"duplicate-deps": {
"enabled": false
}
}
}Learn more: bundlephobia.com/