moddy
a elegant way for searching modules(not just node module)
Conceptly, module
and package
are the same thing.
Install
$ npm install moddy
Quick start
var Moddy = ; var options = searchPaths: '.' ; ;
API
Moddy([options,] callback)
options
optional
- options.searchPaths
{Array} specify search path to find node modules, default to
process.cwd()
- options.rules
{Object} Each key-value
pair stands for a certain rule for field validation of module's package.json
. e.g. { name: 'koa' }
matches module with a name koa
which as we all know and { name: /^koa-.*/ }
matches all the modules that have a name prefixed with koa-
and { name: function(val) { return val !== 'koa'} }
matches any module whose name is not koa
(in this case, param val
is the value of that field in package.json
). So value
can be RegExp
, function
or any primative value.
- options.packageDir
{String} Directory that modules locate. Default to
node_modules
. If you want to search bower components, set it to
bower_components
.
- options.packageFile
{String} Package file. Defaults to package.json
.
- options.scopeDir
{String} Scope of module. A module's name may be prefixed with a scope name. e.g. a module named with xxx/yy
has scope xxx
and it locates at node_modules/xxx/yy
when installed. Defaults to ''.
callback
node-style callback that takes in two params: err
, mods
.
mods
is a collection of modules. Each module includes all the fields of its package.json
and with extra path
, deps
fields.path
is the absolute path of the module and deps
is a collection of modules that it depends on.
LISENCE
MIT