| # read-pkg-up [](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) |