This package lives in the Patch Pulse monorepo at packages/cli.
Check for outdated npm dependencies across your project.
npx patch-pulseThat's it! Patch Pulse scans the current project for package.json files and shows which dependencies are outdated.
Docs: https://barrymichaeldoyle.github.io/patch-pulse/
- Zero runtime dependencies
- Monorepo-aware, including pnpm
catalog:support - Interactive terminal updates for patch, minor, or all outdated packages
Patch Pulse supports configuration files for persistent settings. Prefer patchpulse.json in your project root. These filenames are supported:
patchpulse.jsonpatchpulse.config.json.patchpulserc.json.patchpulserc
{
"skip": ["lodash", "@types/*", "test-*"],
"ignorePaths": ["packages/cli/e2e"],
"packageManager": "npm",
"interactive": true
}The skip array supports exact names and glob wildcards:
- Exact names:
"lodash","chalk" - Glob patterns:
"@types/*","test-*","*-dev"
The ignorePaths array excludes matching directories or package.json paths from workspace scanning:
- Exact paths:
"packages/cli/e2e" - Glob patterns:
"**/fixtures","packages/*/dist"
The packageManager option allows you to override the package manager detection.
npmpnpmyarnbun
The interactive option opts in to the interactive update prompt after the summary.
CLI arguments override file configuration:
# This will override any settings in patchpulse.json
npx patch-pulse --skip "react,react-dom" --package-manager pnpm --no-interactiveFor monorepos, use --expand to print full dependency sections for clean workspaces too.
npx patch-pulse --expandUse --hide-clean to hide clean workspaces entirely.
npx patch-pulse --hide-cleanFocus one project by workspace path or package name:
npx patch-pulse --project packages/appUse --json for scripts, CI, or editor integrations:
npx patch-pulse --jsonUse --fail to exit with code 1 if any outdated packages are found — useful as a CI gate:
npx patch-pulse --fail
# or combine with --json for machine-readable output + non-zero exit
npx patch-pulse --json --failWhen running the local workspace CLI through the root script, use pnpm -s
to suppress pnpm's script banner before JSON output:
pnpm -s pp -- --jsonWhen run from a repository root, Patch Pulse scans every package.json under the current directory except anything inside node_modules.
workspace:*dependencies are ignored- pnpm
catalog:dependencies are resolved frompnpm-workspace.yaml - interactive dependency updates can update both direct dependency ranges and pnpm catalog entries
Get notified in Slack whenever a package you depend on releases a new version.
Help us reach the Slack Marketplace! We need at least 5 active workspace installs before Slack will approve PatchPulse for the official Marketplace. If the bot looks useful to you, installing it now is a huge help — it's free and takes about 30 seconds.
Get notified in Discord whenever a package you depend on releases a new version.
Automate dependency update pull requests on a schedule with the Patch Pulse GitHub Action.
- 🔧 CLI Tool (this repo) - Check dependencies from terminal
- ⚡ VSCode Extension (@PatchPulse/vscode-extension) - Get updates in your editor (Coming soon)
- 🤖 Slack Bot (Add to Workspace) - Get notified in Slack
- 💬 Discord Bot (Add to Server) - Get notified in Discord
- ⚙️ GitHub Action (Docs) - Open dependency update PRs automatically
- "No dependencies found" - Run from a project directory that contains dependency-bearing
package.jsonfiles - "Error reading package.json" - Check JSON syntax and file permissions
- Network errors - Verify internet connection and npm registry access
- Debug registry lookups - Run
PATCH_PULSE_DEBUG=1 npx patch-pulseto log npm lookup failures and HTTP/network errors - Machine-readable output - Run
npx patch-pulse --jsonfor scripts or CI
- Fork and clone
npm install- Make changes
- Submit PR
Guidelines: Add tests, update docs, keep commits atomic.
- 📚 Read the docs at barrymichaeldoyle.github.io/patch-pulse
- ⭐ Star the repo
- 🐛 Report bugs via Issues
- 💬 Join discussions in Discussions
MIT - see LICENSE
🎥 Live Development: Sometimes I stream on Twitch - drop by and say hello!
Made with ❤️ for the Node.js community

