Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including pkg-dir with all npm packages installed. Try it out:

var pkgDir = require("pkg-dir")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

pkg-dir v4.2.0

Find the root directory of a Node.js project or npm package

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

Metadata

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free