find-modules-in v2.0.2
find-modules-in
Install
npm install --save find-modules-in
Usage
var find_modules = require('find-modules-in');
find_modules('some_directory').then(function(modules){
console.log('modules =');
console.log(modules);
}).catch(function(e){
console.log('failed!');
console.log(e);
});
Search in the node_modules:
var find_modules = require('find-modules-in');
find_modules('project/node_modules').then(function(modules){
console.log('modules =');
console.log(modules);
}).catch(function(e){
console.log('failed!');
console.log(e);
});
About
This modules finds modules just inside a directory. It only searches in the directory specified.
Modules that find-modules-in
looks for are ones that are contained in there own directory. Some modules that people create are just a file. find-modules-in
doesn't look for those kinds of modules that aren't contained in their own directory.
find-modules-in
also does not check if found modules contain valid code. Once modules are found you can of course run the index.js
files through a linter, but their's no guaruntee sub-modules will be valid. Which you probably knew already. :)
API
find_modules(directory, indexes) -> promise
Look for modules under directory
.
indexes
is optional, and default false
.
If indexes
is passed false
modules only with package.json
files will be searched for.
If indexes
is passed true
modules that contain index.js
, or index.node
files will also be searched for.
If indexes
is passed an array of file name strings those are the indexed files that will be searched for when there's no package.json
file.
modules
The array returned from the promise has these properties:
modulesindex.directory
The directory is the one installed with npm install
.
modulesindex.package
If there is a package.json
file this is the JSON object from that file.
package.readme
In order to keep memory size down the readme field is truncated. Some readmes are huge. If you want the full readme text you'll have to obtain it in your own code.
modulesindex.index
modulesindex.main
If the module doesn't have a package.json
, and the indexes options is used in the find-modules-in
function then the modules[index].index
, and modulesindex.main properties will be the main javascript file.
modulesindex.packageError
If there was a JSON.parse
error on the package.json contents packageError
will have error text assigned to it. If no parse error happened packageError
is set to null.