Socket
Socket
Sign inDemoInstall

find-root

Package Overview
Dependencies
0
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    find-root

find the closest package.json


Version published
Weekly downloads
9.9M
increased by1.73%
Maintainers
1
Install size
6.05 kB
Created
Weekly downloads
 

Package description

What is find-root?

The find-root npm package is used to find the root directory of a Node.js project or module. This is typically the location where the 'package.json' file is located. It is useful when you have a deeply nested file structure and need to programmatically find the path to the project root.

What are find-root's main functionalities?

Find project root

This feature allows you to find the nearest directory containing a package.json file, which is considered the project's root directory.

const findRoot = require('find-root');
const root = findRoot('/path/to/some/deeply/nested/file');
console.log(root); // prints the path to the nearest directory containing a package.json

Other packages similar to find-root

Readme

Source

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

Keywords

FAQs

Last updated on 29 Jun 2017

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc