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

npm-interactive-check

v1.0.2

Published

Interactive npm dependency updater with changelog previews and breaking change warnings

Downloads

114

Readme

npm-interactive-check

CI npm version npm downloads License: MIT

Interactive npm dependency updater with changelog previews and breaking change warnings.

Features

  • Interactive Updates: Review and select packages to update one by one or from a list
  • Changelog Preview: Automatically fetches changelogs from GitHub releases or CHANGELOG.md files
  • Breaking Change Detection: Highlights major version updates with clear warnings
  • Semver-Aware: Distinguishes between major, minor, and patch updates
  • Multiple Update Modes: Choose between interactive review, selection list, or update all
  • Beautiful CLI: Clean, colorful output with progress indicators

Installation

# Global installation (recommended)
npm install -g npm-interactive-check

# Or run directly with npx (no installation needed)
npx npm-interactive-check

Note for Windows users: After global installation, you may need to restart your terminal for the command to be recognized. See Troubleshooting if you encounter any issues.

Usage

# Run interactive update check
npm-interactive-check

# Or use the short alias
nic

Options

| Option | Description | |--------|-------------| | -a, --all | Update all packages without prompting | | -d, --dev | Only check devDependenices | | -p, --prod | Only check dependenices (exclude devDependenices) | | -g, --global | Check globally installed packages | | -i, --interactive | Review each package individually (default) | | --json | Output results as JSON | | --depth <n> | Max depth for checking nested dependenices | | --registry <url> | Use a custom npm registry | | --debug | Enable debug logging |

Examples

# Check and interactively update all outdated packages
nic

# Only check dev dependenices
nic --dev

# Check global packages
nic --global

# Update all packages (no prompts)
nic --all

# Output as JSON for scripting
nic --json

Update Modes

When you run npm-interactive-check, you'll be prompted to choose an update mode:

  1. Review each package individually: Go through each outdated package one by one, view changelogs, and decide whether to update
  2. Select from list: View all outdated packages and select which ones to update using checkboxes
  3. Update all: Update all packages to their latest versions (use with caution)

Breaking Change Warnings

Packages with major version updates are highlighted with a red warning badge. When a breaking change is detected:

  • The package is marked with ⚠ BREAKING
  • Changelog is automatically fetched and displayed
  • You'll be prompted to confirm before proceeding

Programmatic Usage

import {
  getOutdatedPackages,
  fetchChangelog,
  updatePackages,
  determineUpdateType,
} from 'npm-interactive-check';

// Get all outdated packages
const packages = await getOutdatedPackages();

// Fetch changelog for a specific package
const changelog = await fetchChangelog(packages[0]);

// Check update type
const updateType = determineUpdateType('1.0.0', '2.0.0'); // 'major'

Requirements

  • Node.js >= 18.0.0
  • npm (any recent version)

Troubleshooting

Windows: Command not recognized

If you see the error 'npm-interactive-check' is not recognized as an internal or external command, try these solutions:

  1. Ensure the package is installed globally:

    npm install -g npm-interactive-check
  2. Restart your terminal/command prompt after installation to refresh PATH variables

  3. Use npx instead:

    npx npm-interactive-check
  4. Check if npm's global bin directory is in your PATH:

    npm config get prefix

    The output directory's bin folder (or on Windows: the directory itself) should be in your system PATH.

    On Windows, this is typically: %APPDATA%\npm

    To add it to PATH:

    • Open System Properties → Advanced → Environment Variables
    • Edit the Path variable under "User variables"
    • Add the npm global directory (e.g., C:\Users\YourName\AppData\Roaming\npm)
    • Restart your terminal
  5. Verify installation:

    npm list -g npm-interactive-check

Permission Issues

If you encounter permission errors during installation on Linux/macOS:

sudo npm install -g npm-interactive-check

Or configure npm to use a different directory:

mkdir ~/.npm-global
npm config set prefix '~/.npm-global'
export PATH=~/.npm-global/bin:$PATH

Development

# Clone the repository
git clone https://github.com/MDevSolutions/npm-interactive-check.git
cd npm-interactive-check

# Install dependenices
npm install

# Run in development mode
npm run dev

# Run tests
npm test

# Run linter
npm run lint

# Build for production
npm run build

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes using conventional commits (git commit -m 'feat: add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Commit Convention

This project uses Conventional Commits for automated versioning and changelog generation:

  • feat: - A new feature (triggers minor release)
  • fix: - A bug fix (triggers patch release)
  • docs: - Documentation changes
  • chore: - Maintenance tasks
  • BREAKING CHANGE: - Breaking changes (triggers major release)

License

MIT