'use strict'; | |
var path = require('path'); | |
var fs = require('graceful-fs'); | |
var stripBom = require('strip-bom'); | |
var parseJson = require('parse-json'); | |
var Promise = require('pinkie-promise'); | |
var pify = require('pify'); | |
function parse(x, fp) { | |
return parseJson(stripBom(x), path.relative(process.cwd(), fp)); | |
} | |
module.exports = function (fp) { | |
return pify(fs.readFile, Promise)(fp, 'utf8').then(function (data) { | |
return parse(data, fp); | |
}); | |
}; | |
module.exports.sync = function (fp) { | |
return parse(fs.readFileSync(fp, 'utf8'), fp); | |
}; |