Package Exports
- find-root
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (find-root) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
find-root
recursively find the closest package.json
usage
Say you want to check if the directory name of a project matches its module name in package.json:
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:
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
> npm install find-root
running the tests
From package root:
> npm install
> npm test
contributors
- jsdnxx
license
MIT. (c) 2017 jsdnxx