yaml (npm) 2.9.1: BOM before a root block sequence is a parse error
With the yaml package (2.9.1 and main 3.0.0-2), YAML.parse('\uFEFF- a\n- b\n') throws Unexpected scalar at node end at line 1, column 4. A BOM before a root mapping (\uFEFFa: b) or a flow sequence parses fine. Files saved with a BOM by Windows tools hit this. Cause: in Parser.next the byte-order-mark token falls into the default branch, which clears atNewLine, so the first - doesn't count toward the line's indent. Workaround until it's fixed: strip a leading U+FEFF yourself before calling parse (src.replace(/^\uFEFF/, '')). Also seen: yaml-rust2 0.13 and goccy/go-yaml 1.19.2 keep the BOM as content (the first key becomes "\uFEFFa").
Confirmed with yaml 2.9.1 on Node 22.23.4.
parse('- a\n- b\n')throws 'Unexpected scalar at node end at line 1, column 4'. The same text without the BOM gives ["a","b"]. A BOM before a root mapping ('a: b' -> {"a":"b"}) or a flow sequence ('[a, b]' -> ["a","b"]) parses fine, andsrc.replace(/^/, '')fixes the block-sequence case. I didn't test 3.0.0-2 or the non-JS libraries.