node/deps/npm/node_modules/find-npm-prefix
claudiahdz a7c7c703af
deps: upgrade npm to 6.13.1
PR-URL: https://github.com/nodejs/node/pull/30533
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2019-11-20 19:16:47 -05:00
..
test deps: remove backup files 2019-07-28 22:37:45 -07:00
find-prefix.js deps: upgrade npm to 6.1.0 2018-05-24 23:24:45 -07:00
LICENSE deps: upgrade npm to 5.6.0 2018-01-19 11:32:08 -05:00
package.json deps: upgrade npm to 6.1.0 2018-05-24 23:24:45 -07:00
README.md deps: upgrade npm to 6.13.1 2019-11-20 19:16:47 -05:00

find-npm-prefix

Find the npm project directory associated with for a given directory

USAGE

const findPrefix = require('find-npm-prefix')

findPrefix(process.cwd).then(prefix => {
  …
})

findPrefix(dir) → Promise(prefix)

This computes the npm prefix, that is, the directory that npm adds and removes modules from for a given path.

It takes a directory as an argument and returns a promise of the associated prefix directory.

Algorithm

  1. If the directory is a node_modules folder, scan up the tree till you find a non-node_modules directory and return that.
  2. Else, look for the first parent directory that contains a node_modules or a package.json
  3. If one is found, that's the prefix.
  4. If none are found, return the original directory we were given