| Leo Repp | 58b9f11 | 2021-11-22 11:57:47 +0100 | [diff] [blame^] | 1 | 'use strict'; |
| 2 | var path = require('path'); |
| 3 | var fs = require('graceful-fs'); |
| 4 | var stripBom = require('strip-bom'); |
| 5 | var parseJson = require('parse-json'); |
| 6 | var Promise = require('pinkie-promise'); |
| 7 | var pify = require('pify'); |
| 8 | |
| 9 | function parse(x, fp) { |
| 10 | return parseJson(stripBom(x), path.relative(process.cwd(), fp)); |
| 11 | } |
| 12 | |
| 13 | module.exports = function (fp) { |
| 14 | return pify(fs.readFile, Promise)(fp, 'utf8').then(function (data) { |
| 15 | return parse(data, fp); |
| 16 | }); |
| 17 | }; |
| 18 | |
| 19 | module.exports.sync = function (fp) { |
| 20 | return parse(fs.readFileSync(fp, 'utf8'), fp); |
| 21 | }; |