find-dependency
TypeScript icon, indicating that this package has built-in type declarations

1.3.3 • Public • Published

find-dependency

Find the path to the package that will be used by require.

const findDependency = require('find-dependency');

// Search current directory, all parent directories, and all $NODE_PATH directories.
const packagePath = findDependency('foo', process.cwd());

If only the import path is given, process.cwd() is used.

You can also skip looking for a global installation.

findDependency('foo', {
  // Both are optional.
  skipGlobal: true,
  cwd: process.cwd(),
})

How it works

When you call findDependency('foo', __dirname):

  • Check if __dirname/node_modules/foo is a directory
  • Check if __dirname/../node_modules/foo is a directory
  • Continue adding .. until the home directory is checked
  • Check every directory in process.env.NODE_PATH (eg: global_path/foo)
  • At any point, if the checked path exists, return it

This simulates how require resolves the package path, before checking the main field of its package.json file.

New in v1.1.0: No dependencies, and symlinks are followed.

Readme

Keywords

none

Package Sidebar

Install

npm i find-dependency

Weekly Downloads

78

Version

1.3.3

License

none

Unpacked Size

3.91 kB

Total Files

5

Last publish

Collaborators

  • aleclarson