Skip to content
0347b72305
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

pkg-dir Build Status

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
// 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
Default: process.cwd()

Directory to start from.

Related

  • pkg-dir-cli - CLI for this module
  • pkg-up - Find the closest package.json file
  • find-up - Find a file by walking up parent directories

License

MIT © Sindre Sorhus