Sha256: 9ee2530ec2cde49d13736c6083cf6caebdb8f23c4fd146c027b4daf4ffe758f6

Contents?: true

Size: 1.25 KB

Versions: 29

Compression:

Stored size: 1.25 KB

Contents

# 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)

Version data entries

29 entries across 22 versions & 7 rubygems

Version Path
optimacms-0.1.61 spec/dummy/node_modules/@rails/webpacker/node_modules/pkg-dir/readme.md
optimacms-0.1.61 spec/dummy/node_modules/compression-webpack-plugin/node_modules/pkg-dir/readme.md
disco_app-0.16.1 test/dummy/node_modules/find-cache-dir/node_modules/pkg-dir/readme.md
isomorfeus-puppetmaster-0.5.5 node_modules/pkg-dir/readme.md
isomorfeus-puppetmaster-0.5.4 node_modules/pkg-dir/readme.md
disco_app-0.15.2 test/dummy/node_modules/find-cache-dir/node_modules/pkg-dir/readme.md
isomorfeus-puppetmaster-0.5.3 node_modules/pkg-dir/readme.md
disco_app-0.18.4 test/dummy/node_modules/find-cache-dir/node_modules/pkg-dir/readme.md
disco_app-0.18.1 test/dummy/node_modules/find-cache-dir/node_modules/pkg-dir/readme.md
disco_app-0.12.7.pre.puma.pre.3 test/dummy/node_modules/find-cache-dir/node_modules/pkg-dir/readme.md
disco_app-0.14.0 test/dummy/node_modules/find-cache-dir/node_modules/pkg-dir/readme.md
disco_app-0.13.6.pre.puma.pre.3 test/dummy/node_modules/find-cache-dir/node_modules/pkg-dir/readme.md
isomorfeus-puppetmaster-0.5.2 node_modules/pkg-dir/readme.md
isomorfeus-puppetmaster-0.5.1 node_modules/pkg-dir/readme.md
isomorfeus-puppetmaster-0.5.0 node_modules/pkg-dir/readme.md
tang-0.2.1 spec/tang_app/node_modules/terser-webpack-plugin/node_modules/pkg-dir/readme.md
tang-0.2.1 spec/tang_app/node_modules/compression-webpack-plugin/node_modules/pkg-dir/readme.md
groonga-client-model-6.0.0 test/apps/rails6.0.3.5/node_modules/find-cache-dir/node_modules/pkg-dir/readme.md
groonga-client-model-6.0.0 test/apps/rails6.1.3/node_modules/find-cache-dir/node_modules/pkg-dir/readme.md
ruby2js-4.0.4 lib/tasks/testrails/node_modules/find-cache-dir/node_modules/pkg-dir/readme.md