Replacements for js-yaml
js-yaml
appears to be unmaintained and has known spec-compliance issues.
yaml
yaml
is a well maintained YAML 1.2/1.1 parser/stringifier with better spec compliance, comment/AST support, and no deps.
Parse (load):
ts
import yaml from 'js-yaml'
import { parse } from 'yaml'
const obj = yaml.load(src)
const obj = parse(src)
Stringify (dump):
ts
import yaml from 'js-yaml'
import { stringify } from 'yaml'
const text = yaml.dump(obj)
const text = stringify(obj)
Multi-document:
ts
import yaml from 'js-yaml'
import { parseAllDocuments } from 'yaml'
const out: any[] = []
yaml.loadAll(src, d => out.push(d))
const out = parseAllDocuments(src).map(d => d.toJSON())
Bun YAML
API
Native YAML parsing is supported in Bun since v1.2.21.
Example:
ts
import yaml from 'js-yaml'
import { YAML } from 'bun'
yaml.load(src)
YAML.parse(src)