2 var path = require('path');
3 var loadJsonFile = require('load-json-file');
4 var normalizePackageData = require('normalize-package-data');
5 var pathType = require('path-type');
7 module.exports = function (fp, opts) {
8 if (typeof fp !== 'string') {
15 return pathType.dir(fp)
16 .then(function (isDir) {
18 fp = path.join(fp, 'package.json');
21 return loadJsonFile(fp);
24 if (opts.normalize !== false) {
25 normalizePackageData(x);
32 module.exports.sync = function (fp, opts) {
33 if (typeof fp !== 'string') {
39 fp = pathType.dirSync(fp) ? path.join(fp, 'package.json') : fp;
41 var x = loadJsonFile.sync(fp);
43 if (opts.normalize !== false) {
44 normalizePackageData(x);