npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@asdsadw12312dwd2112xz/dep-check-cli

v1.0.0

Published

Check project dependencies for unused, missing, duplicate, and deprecated packages

Downloads

67

Readme

dep-check-cli

A fast CLI tool to check your Node.js project dependencies for common issues.

Features

  • Find unused dependencies declared in package.json but never imported
  • Find missing dependencies imported in source files but not declared
  • Detect duplicate packages installed at multiple levels of node_modules
  • Show dependency sizes ranked by disk usage
  • Check for deprecated packages via the npm registry
  • Monorepo support with automatic workspace detection
  • JSON output for CI/CD integration
  • Color-coded output (red = unused, yellow = missing, green = ok)

Installation

npm install -g dep-check-cli

Or run without installing:

npx dep-check-cli

Usage

dep-check-cli [path] [options]

Options

| Flag | Description | |------|-------------| | [path] | Project directory to check (default: .) | | --sizes | Show installed package sizes ranked by disk usage | | --deprecated | Check for deprecated packages (makes npm network calls) | | --recursive | Scan all workspace packages in a monorepo | | --json | Output results as JSON (useful for CI) | | -v, --verbose | Show extra details (e.g. duplicate package locations) | | --version | Print version number | | --help | Show help |

Examples

Check current project:

dep-check-cli

Check a specific project:

dep-check-cli ./my-project

Show package sizes:

dep-check-cli --sizes

Monorepo scan with sizes:

dep-check-cli --recursive --sizes

Check for deprecated packages:

dep-check-cli --deprecated

JSON output for CI:

dep-check-cli --json | jq '.summary'

Output

 Project: /path/to/my-project
────────────────────────────────────────────────────────────
  Unused deps (2):
    ✗ lodash
    ✗ moment
  Missing deps (1):
    ! axios
  Duplicates:    none

 Summary
────────────────────────────────────────────────────────────
  2 unused  1 missing  0 duplicates

JSON Output Schema

{
  "results": [
    {
      "projectPath": "/absolute/path",
      "unused": ["lodash", "moment"],
      "missing": ["axios"],
      "duplicates": [
        { "name": "semver", "locations": ["node_modules/semver", "node_modules/npm/node_modules/semver"] }
      ],
      "sizes": [
        { "name": "typescript", "size": "62.3MB", "sizeBytes": 65323008 }
      ],
      "deprecated": [
        { "name": "request", "version": "2.88.2", "message": "request has been deprecated..." }
      ]
    }
  ],
  "summary": {
    "totalUnused": 2,
    "totalMissing": 1,
    "totalDuplicates": 0
  }
}

Exit Codes

| Code | Meaning | |------|---------| | 0 | No unused or missing dependencies found | | 1 | Issues found, or fatal error |

How It Works

  1. Reads package.json to collect all declared dependencies
  2. Scans all source files (.ts, .tsx, .js, .jsx, .mjs, .cjs) for import/require statements
  3. Compares declared vs imported sets to find unused and missing packages
  4. Walks node_modules tree to detect packages installed at multiple depths (duplicates)
  5. Optionally queries npm info for deprecation notices

Node.js built-in modules (fs, path, node:fs, etc.) are automatically excluded from the missing check.

License

MIT