node package manager
Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »


NPM Version Build Status


Resolve the file paths to js, css, and html dependencies.


resolve(sourcepath, id, [options]): resolve the path for id from sourcepath.

id can be an absolute filepath, relative filepath, "node_modules" reference, or "node_modules" file reference.

Available options include:

  • fileExtensions: hash of valid file extensions by type, used to resolve ids with missing file extension (default { js: 'js', 'json', css: 'css', html: 'html' })
  • sources: array of source directories (in addition to cwd and "node_modules") in which to search for files (default [])
$ npm install identify-resource


var bar = require('./bar')
  , boo = require('boo')
  , http = require('http');


@import 'bar';


  "name": "boo",
  "version": "1.0.0",
  "main": "index.js"
var resolve = require('identify-resource').resolve;
// Resolve relative path 
console.log(resolve('/projects/myproject/index.js', './bar')); 
//=> '/projects/myproject/bar.js' 
// Resolve node_modules 
console.log(resolve('/projects/myproject/index.js', 'boo')); 
//=> '/projects/myproject/node_modules/boo/index.js' 
// Resolve native node modules 
console.log(resolve('/projects/myproject/index.js', 'http')); 
//=> 'false' 
// Resolve css 
console.log(resolve('/projects/myproject/index.css', 'bar'));
//=> '/projects/myproject/bar.css' 

Configuring the package.json browser field enables overriding default behaviour:


  "name": "myproject",
  "version": "1.0.0",
  "main": "index.js",
  "browser": {
    "http": "./lib/http.js"
// Alias native module 
console.log(resolve('/projects/myproject/index.js', 'http')); 
//=> '/projects/myproject/lib/http.js' 

See here for more details on using the browser field.

identify(filepath, [options]): retrieve the id for filepath. Id's are resolved from the cwd or "node_modules", as appropriate.

var identify = require('identify-resouce').identify;
identify('/projects/myproject/bar.js'); //=> 'bar.js' 
identify('/projects/myproject/boo/index.js'); //=> 'boo/index.js#1.0.0' 
identify('/projects/myproject/bar.css'); //=> 'bar.css' 

hasMultipleVersions(id): determine if more than one version of id exists in resolve cache

clearCache(): clear the resolve cache