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.

80 lines
1.7 KiB
Markdown

6 years ago
# read-pkg-up [![Build Status](https://travis-ci.org/sindresorhus/read-pkg-up.svg?branch=master)](https://travis-ci.org/sindresorhus/read-pkg-up)
> Read the closest package.json file
## Why
- [Finds the closest package.json](https://github.com/sindresorhus/find-up)
- [Gracefully handles filesystem issues](https://github.com/isaacs/node-graceful-fs)
- [Strips UTF-8 BOM](https://github.com/sindresorhus/strip-bom)
- [Throws more helpful JSON errors](https://github.com/sindresorhus/parse-json)
- [Normalizes the data](https://github.com/npm/normalize-package-data#what-normalization-currently-entails)
## Install
```
$ npm install --save read-pkg-up
```
## Usage
```js
var readPkgUp = require('read-pkg-up');
readPkgUp().then(function (result) {
console.log(result);
/*
{
pkg: {
name: 'awesome-package',
version: '1.0.0',
...
},
path: '/Users/sindresorhus/dev/awesome-package'
}
*/
});
```
## API
### readPkgUp([options])
Returns a promise that resolves to a result object.
### readPkgUp.sync([options])
Returns a result object.
#### options
##### cwd
Type: `string`
Default: `.`
Directory to start looking for a package.json file.
##### normalize
Type: `boolean`
Default: `true`
[Normalize](https://github.com/npm/normalize-package-data#what-normalization-currently-entails) the package data.
## Related
- [read-pkg](https://github.com/sindresorhus/read-pkg) - Read a package.json file
- [find-up](https://github.com/sindresorhus/find-up) - Find a file by walking up parent directories
- [pkg-conf](https://github.com/sindresorhus/pkg-conf) - Get namespaced config from the closest package.json
## License
MIT © [Sindre Sorhus](http://sindresorhus.com)