You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
67 lines
1.3 KiB
Markdown
67 lines
1.3 KiB
Markdown
12 months ago
|
# pkg-dir [![Build Status](https://travis-ci.org/sindresorhus/pkg-dir.svg?branch=master)](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)
|