Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Implements the node.js require.resolve() algorithm
JavaScript

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
example
lib
test
.travis.yml
LICENSE
index.js
package.json
readme.markdown

readme.markdown

resolve

implements the node require.resolve() algorithm such that you can require.resolve() on behalf of a file asynchronously and synchronously

build status

example

asynchronously resolve:

var resolve = require('resolve');
resolve('tap', { basedir: __dirname }, function (err, res) {
    if (err) console.error(err)
    else console.log(res)
});
$ node example/async.js
/home/substack/projects/node-resolve/node_modules/tap/lib/main.js

synchronously resolve:

var resolve = require('resolve');
var res = resolve.sync('tap', { basedir: __dirname });
console.log(res);
$ node example/sync.js
/home/substack/projects/node-resolve/node_modules/tap/lib/main.js

methods

var resolve = require('resolve')

resolve(pkg, opts={}, cb)

Asynchronously resolve the module path string pkg into cb(err, res).

options are:

  • opts.basedir - directory to begin resolving from

  • opts.package - package from which module is being loaded

  • opts.extensions - array of file extensions to search in order

  • opts.readFile - how to read files asynchronously

  • opts.isFile - function to asynchronously test whether a file exists

  • opts.packageFilter - transform the parsed package.json contents before looking at the "main" field

  • opts.paths - require.paths array to use if nothing is found on the normal node_modules recursive walk (probably don't use this)

default opts values:

{
    paths: [],
    basedir: __dirname,
    extensions: [ '.js' ],
    readFile: fs.readFile,
    isFile: function (file, cb) {
        fs.stat(file, function (err, stat) {
            if (err && err.code === 'ENOENT') cb(null, false)
            else if (err) cb(err)
            else cb(null, stat.isFile())
        });
    }
}

resolve.sync(pkg, opts)

Synchronously resolve the module path string pkg, returning the result and throwing an error when pkg can't be resolved.

options are:

  • opts.basedir - directory to begin resolving from

  • opts.extensions - array of file extensions to search in order

  • opts.readFile - how to read files synchronously

  • opts.isFile - function to synchronously test whether a file exists

  • opts.packageFilter - transform the parsed package.json contents before looking at the "main" field

  • opts.paths - require.paths array to use if nothing is found on the normal node_modules recursive walk (probably don't use this)

default opts values:

{
    paths: [],
    basedir: __dirname,
    extensions: [ '.js' ],
    readFileSync: fs.readFileSync,
    isFile: function (file) {
        try { return fs.statSync(file).isFile() }
        catch (e) { return false }
    }
}

resolve.isCore(pkg)

Return whether a package is in core.

install

With npm do:

npm install resolve

license

MIT

Something went wrong with that request. Please try again.