When reading the file, we read it as UTF-8. I just verified that the file in question actually starts with EFBBBF. Once we've read it, what's left is \uFEFF. If the source file is not UTF-8, we'll get an error when we try to read it.

Actually, upon further reflection I'm a bit concerned about taking this change at all... if we strip out the BOM when reading here, we'd have to either save it without the BOM or strip it out anywhere else we read package.json files. An alternative solution would be to specifically flag the presence of a BOM as an error.

Any opinion on that?