'use strict'; const {promisify} = require('util'); const fs = require('fs'); const path = require('path'); const parseJson = require('parse-json'); const readFileAsync = promisify(fs.readFile); module.exports = async options => { options = { cwd: process.cwd(), normalize: true, ...options }; const filePath = path.resolve(options.cwd, 'package.json'); const json = parseJson(await readFileAsync(filePath, 'utf8')); if (options.normalize) { require('normalize-package-data')(json); } return json; }; module.exports.sync = options => { options = { cwd: process.cwd(), normalize: true, ...options }; const filePath = path.resolve(options.cwd, 'package.json'); const json = parseJson(fs.readFileSync(filePath, 'utf8')); if (options.normalize) { require('normalize-package-data')(json); } return json; };