67 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			67 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|  | # pkg-dir [](https://travis-ci.org/sindresorhus/pkg-dir)
 | ||
|  | 
 | ||
|  | > Find the root directory of a Node.js project or npm package
 | ||
|  | 
 | ||
|  | 
 | ||
|  | ## Install
 | ||
|  | 
 | ||
|  | ``` | ||
|  | $ npm install pkg-dir | ||
|  | ``` | ||
|  | 
 | ||
|  | 
 | ||
|  | ## Usage
 | ||
|  | 
 | ||
|  | ``` | ||
|  | / | ||
|  | └── Users | ||
|  |     └── sindresorhus | ||
|  |         └── foo | ||
|  |             ├── package.json | ||
|  |             └── bar | ||
|  |                 ├── baz | ||
|  |                 └── example.js | ||
|  | ``` | ||
|  | 
 | ||
|  | ```js | ||
|  | // example.js | ||
|  | const pkgDir = require('pkg-dir'); | ||
|  | 
 | ||
|  | (async () => { | ||
|  | 	const rootDir = await pkgDir(__dirname); | ||
|  | 
 | ||
|  | 	console.log(rootDir); | ||
|  | 	//=> '/Users/sindresorhus/foo' | ||
|  | })(); | ||
|  | ``` | ||
|  | 
 | ||
|  | 
 | ||
|  | ## API
 | ||
|  | 
 | ||
|  | ### pkgDir([cwd])
 | ||
|  | 
 | ||
|  | Returns a `Promise` for either the project root path or `undefined` if it couldn't be found. | ||
|  | 
 | ||
|  | ### pkgDir.sync([cwd])
 | ||
|  | 
 | ||
|  | Returns the project root path or `undefined` if it couldn't be found. | ||
|  | 
 | ||
|  | #### cwd
 | ||
|  | 
 | ||
|  | Type: `string`<br> | ||
|  | Default: `process.cwd()` | ||
|  | 
 | ||
|  | Directory to start from. | ||
|  | 
 | ||
|  | 
 | ||
|  | ## Related
 | ||
|  | 
 | ||
|  | - [pkg-dir-cli](https://github.com/sindresorhus/pkg-dir-cli) - CLI for this module | ||
|  | - [pkg-up](https://github.com/sindresorhus/pkg-up) - Find the closest package.json file | ||
|  | - [find-up](https://github.com/sindresorhus/find-up) - Find a file by walking up parent directories | ||
|  | 
 | ||
|  | 
 | ||
|  | ## License
 | ||
|  | 
 | ||
|  | MIT © [Sindre Sorhus](https://sindresorhus.com) |