|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- # find-root
- recursively find the closest package.json
-
- [](https://travis-ci.org/js-n/find-root)
-
- ## usage
- Say you want to check if the directory name of a project matches its
- module name in package.json:
-
- ```js
- const path = require('path')
- const findRoot = require('find-root')
-
- // from a starting directory, recursively search for the nearest
- // directory containing package.json
- const root = findRoot('/Users/jsdnxx/Code/find-root/tests')
- // => '/Users/jsdnxx/Code/find-root'
-
- const dirname = path.basename(root)
- console.log('is it the same?')
- console.log(dirname === require(path.join(root, 'package.json')).name)
- ```
-
- You can also pass in a custom check function (by default, it checks for the
- existence of `package.json` in a directory). In this example, we traverse up
- to find the root of a git repo:
- ```js
- const fs = require('fs')
-
- const gitRoot = findRoot('/Users/jsdnxx/Code/find-root/tests', function (dir) {
- return fs.existsSync(path.resolve(dir, '.git'))
- })
- ```
-
-
- ## api
-
- ### `findRoot: (startingPath : string, check?: (dir: string) => boolean) => string`
-
- Returns the path for the nearest directory to `startingPath` containing
- a `package.json` file, eg `/foo/module`.
-
- If `check` is provided, returns the path for the closest parent directory
- where `check` returns true.
-
- Throws an error if no `package.json` is found at any level in the
- `startingPath`.
-
-
- ## installation
- ```sh
- > npm install find-root
- ```
-
- ## running the tests
-
- From package root:
- ```sh
- > npm install
- > npm test
- ```
-
- ## contributors
-
- - jsdnxx
-
-
- ## license
- MIT. (c) 2017 jsdnxx
|