node package manager


Use globule to filter npm module dependencies by name.


Use micromatch to filter npm module dependencies by name.

var matchdep = require('matchdep');
// Filter dependencies (by autoloading nearest package.json) 
// Filter devDependencies (with config string indicating file to be required) 
matchdep.filterDev('grunt-contrib-*', './package.json');
// Filter peerDependencies (with config string indicating file to be required) 
matchdep.filterPeer('foo-{bar,baz}', './some-other.json');
// Filter all dependencies (with explicit config provided) 
matchdep.filterAll('*', require('./yet-another.json'));
// Filter all dependencies, exclude grunt (multiple matching patterns) 
filter(pattern, config)
filterDev(pattern, config)
filterPeer(pattern, config)
filterAll(pattern, config)

Type: String|Array Default: 'none'

A micromatch compatible match pattern to filter dependencies.

Type: String or Object Default: Path to nearest package.json.

If config is a string, matchdep will attempt to require it. If it is an object, it will be used directly.

  • 2016-02-09 - v1.0.1 - switch to micromatch, remove globule
  • 2015-09-27 - v1.0.0 - throw when no package.json found, update dependencies, remove node 0.8 support
  • 2013-10-09 - v0.3.0 - support multiple pattern matches using globule
  • 2013-10-08 - v0.2.0 - refactor and support filtering peerDependencies
  • 2012-11-27 - v0.1.0 - initial release