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 🙏

© 2025 – Pkg Stats / Ryan Hefner

outdated-plus

v1.3.0

Published

CLI tool to check npm outdated packages with dates, colors, and markdown support

Readme

outdated-plus

Time information for outdated npm packages - displayed compactly in the CLI with trusted sources.

Extends npm outdated with publication dates and age information. Shows when packages were published and how old they are - directly in the command line, based on data from the official npm Registry API.

🔒 Zero Dependencies - No runtime dependencies, only Node.js built-in modules for maximum security and independence.

Core Features

Standard Mode (Default)

outdated-plus

Uses npm outdated to detect outdated packages and enriches them with time information from the npm Registry API. Fast and efficient.

Full Check

outdated-plus --check-all

Bypasses npm outdated and checks all packages directly via the npm Registry API. Slower, but also shows packages that npm outdated might miss.

Requirements

  • Node.js: >= 20.0.0 (>= 20.19.0 recommended for development due to vite requirements)
  • npm: >= 9.0.0

This tool requires access to:

  • Filesystem (reads package.json, package-lock.json, .outdated-plus-skip)
  • Network (fetches package metadata from npm Registry API)
  • npm CLI (for npm outdated in standard mode)

Installation

npm install -g outdated-plus
# or locally
npm install --save-dev outdated-plus

Output

Standard (7 columns)

Package     Current  Latest  To Latest  Published         Age(d)  #
----------  -------  ------  ---------  ----------------  ------  -
package-a   1.0.0    2.0.0   major      2023-11-15 10:00      16  1
package-b   2.0.0    2.1.0   minor      2023-11-20 10:00      11  2

With --wanted (11 columns)

Additionally shows the "Wanted" version and its publication date.

Options

| Option | Description | Default | |--------|-------------|---------| | --check-all | Check all packages via HTTP (not just npm outdated) | false | | --older-than N | Only show packages older than N days | 0 | | --show-all | Show all outdated packages (ignores --older-than) | false | | --wanted | Show Wanted version columns | false | | --format FORMAT | Output format: plain or md | plain | | --sort-by FIELD | Sort by: name, age (alias: age_latest), age_latest, age_wanted, published (alias: published_latest), published_latest, published_wanted, current, wanted, latest | published_latest | | --order ORDER | Sort order: asc or desc | desc | | --iso | Use ISO date format | false | | --concurrency N | Number of concurrent requests | 12 | | --skip PACKAGES | Comma-separated list of packages to skip | none | | --quiet | Suppress progress bar and info messages | false |

Skip Packages

Skip packages via --skip flag or .outdated-plus-skip file:

{
  "packages": ["react", "[email protected]"],
  "autoCleanup": true
}

Syntax: package-name (skips all versions) or package-name@version (only that version).

Auto-Cleanup: When autoCleanup: true (default), skip entries are automatically removed from .outdated-plus-skip if packages are no longer outdated or have been updated past the skip version.

Examples

# Standard: Fast, uses npm outdated
outdated-plus

# Check all packages (slower, but complete)
outdated-plus --check-all

# Only packages older than 30 days, as Markdown
outdated-plus --older-than 30 --format md

# Sort by age
outdated-plus --sort-by age_latest

# Show Wanted versions
outdated-plus --wanted

# Skip specific packages
outdated-plus --skip react,[email protected]

# Combine options: older packages, ISO dates, sorted by age
outdated-plus --older-than 90 --iso --sort-by age_latest --order asc

# High concurrency for faster checks
outdated-plus --check-all --concurrency 20

Data Sources

  • Standard mode: npm outdated --json for outdated packages + npm Registry API (https://registry.npmjs.org) for publication dates
  • --check-all mode: Direct HTTP requests to npm Registry API for all packages from package.json
  • Publication dates: Come directly from the official npm Registry API, no caches

All data is fetched at runtime - no cached data.

Exit Codes

  • 0 - Success (packages checked, may or may not have outdated packages)
  • 1 - Error (network failure, parsing error, or other issues)

Zero Dependencies

No runtime dependencies - only Node.js built-in modules (node:child_process, node:fs, node:path, native fetch). All dependencies in package.json are development dependencies only (TypeScript, ESLint, etc.) and are not included in the published package.

Benefits:

  • ✅ No dependency vulnerabilities
  • ✅ No supply chain attacks
  • ✅ Independence from external packages
  • ✅ Fully auditable code

Development

npm install
npm run build
npm run start

Debugging

Source maps (.map files) are excluded from the npm package for production use. For debugging purposes, build the project locally:

git clone <repository-url>
cd outdated-plus
npm install
npm run build
# Source maps are now available in dist/ for debugging

License

Proprietary License

This software is provided for use only. Modification, forking, and integration into other projects is prohibited. See LICENSE file for details.

For feature requests or bug reports, please open an issue on the repository.

Troubleshooting

No packages found: Ensure you're in a directory with package.json and run npm install first.

Network errors: Check your internet connection and npm registry access. The tool uses https://registry.npmjs.org.

Invalid skip file: If .outdated-plus-skip has invalid JSON, it will be ignored. Fix the JSON syntax to re-enable skip functionality.

Concurrency limits: --concurrency is automatically clamped between 1-100. Values outside this range are adjusted automatically.