Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
find a module from a require path asyncronously
JavaScript
Branch: master
Failed to load latest commit information.
tests added sync version
README.md README for sync version
index.js fixed windows issue
package.json fixed windows issue

README.md

find-module

Find a module specified by a require path using Node's module resolution.

npm install find-module

Usage

var findModule = require('find-module');

findModule('./some-path', {
    dirname: 'some-parent-dir' // the directory from which ./some-path should be resolved
}, function(err, filename) {
    console.log('some-path resolved to '+filename+' from some-parent-dir');
});

// or dont provide a callback to use the sync version

var filename = findModule('./some-path', {
    dirname: 'some-parent-dir' // the directory from which ./some-path should be resolved
});

console.log('some-path resolved to '+filename+' from some-parent-dir');

If you pass a module path ('my-module') find-module by default will look for a node_modules folder to find my-module. If you want to use a different module folder you can set the modules option

findModule('my-module', {
    modules: 'custom_modules',
    dirname: 'some-parent-dir'
}, ...);

When you resolve a path find-module by default will look for path+'.js' and path+'.json' if the path does not exist. If you want to look for other kind of extensions set the extensions option

findModule('my-module', {
    dirname: 'some-parent-dir',
    extensions: ['txt']
}, ...);

Combine the modules and extensions settings to roll out your own module finder. A template module finder could look like this

findModule('my-template', {
    dirname: 'some-parent-dir',
    modules: 'templates',
    extensions: ['html']
}, ...);

License

MIT

Something went wrong with that request. Please try again.