12345678910111213141516171819202122232425 |
- 'use strict'
- var parseJsonWithErrors = require('json-parse-better-errors')
- var parseJSON = module.exports = function (content) {
- return parseJsonWithErrors(stripBOM(content))
- }
- parseJSON.noExceptions = function (content) {
- try {
- return parseJSON(content)
- } catch (ex) {
- }
- }
- // from read-package-json
- function stripBOM (content) {
- content = content.toString()
- // Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)
- // because the buffer-to-string conversion in `fs.readFileSync()`
- // translates it to FEFF, the UTF-16 BOM.
- if (content.charCodeAt(0) === 0xFEFF) {
- content = content.slice(1)
- }
- return content
- }
|