BetaViberTest is in active development — expect breaking changes.
Overview
DocsRulesDuplicate Dependencies
#015highDependencies & Config

Duplicate Dependencies

Detects multiple packages serving the same purpose (e.g., axios + fetch, jest + vitest).

Rule ID:duplicate-deps

Examples#

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, jest

What 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/