node/deps/npm/node_modules/find-npm-prefix
Kat Marchán d3b1c971bc
deps: upgrade npm to 5.6.0
PR-URL: https://github.com/nodejs/node/pull/17777
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>
2018-01-19 11:32:08 -05:00
..
test deps: upgrade npm to 5.6.0 2018-01-19 11:32:08 -05:00
find-prefix.js deps: upgrade npm to 5.6.0 2018-01-19 11:32:08 -05:00
LICENSE deps: upgrade npm to 5.6.0 2018-01-19 11:32:08 -05:00
package.json deps: upgrade npm to 5.6.0 2018-01-19 11:32:08 -05:00
README.md deps: upgrade npm to 5.6.0 2018-01-19 11:32:08 -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