find-root
find the closest package.json
Last updated 3 years ago by jsdnxx .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install find-root 
SYNC missed versions from official npm registry.

find-root

recursively find the closest package.json

Build Status

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

Current Tags

  • 1.1.0                                ...           latest (3 years ago)

5 Versions

  • 1.1.0                                ...           3 years ago
  • 1.0.0                                ...           4 years ago
  • 0.1.2                                ...           4 years ago
  • 0.1.1                                ...           6 years ago
  • 0.1.0                                ...           6 years ago
Maintainers (1)
Downloads
Today 205
This Week 25,547
This Month 78,898
Last Day 4,742
Last Week 29,331
Last Month 72,963
Dependencies (0)
None
Dev Dependencies (4)
Dependents (451)

Copyright 2014 - 2016 © taobao.org |