A fast and complete YAML 1.2 parser and dumper for JavaScript, supporting multiple schemas and CLI usage.
JS-YAML is a JavaScript library that parses and dumps YAML (YAML Ain't Markup Language) data, fully implementing the YAML 1.2 specification. It enables developers to read, write, and manipulate YAML files in Node.js and browser environments, solving the need for a reliable and fast YAML processor in the JavaScript ecosystem.
JavaScript and Node.js developers who work with YAML for configuration files, data serialization, or interoperability with other systems using YAML.
Developers choose JS-YAML for its high performance, complete YAML 1.2 compliance, and flexibility with multiple schemas and customization options, making it a trusted and efficient alternative to other YAML processors.
JavaScript YAML parser and dumper. Very fast.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Implements the complete YAML 1.2 specification, including multi-document sources and various schemas, ensuring reliable interoperability with other YAML tools.
Optimized from the ground up for speed in both parsing and dumping operations, making it efficient for handling large data sets in Node.js and browsers.
Supports multiple schemas like FAILSAFE, JSON, CORE, and DEFAULT, allowing developers to control type handling based on use cases, such as JSON compatibility or full YAML features.
Includes a global executable for inspecting and validating YAML files from the command line, adding utility beyond library use for debugging and validation tasks.
Offers numerous options for output formatting, sorting, quoting, and style handling, giving fine-grained control over how YAML is serialized, as detailed in the dump() options.
Cannot properly support YAML documents that use arrays or objects as keys, as JavaScript stringifies them, leading to potential data loss or unexpected behavior, as noted in the caveats section.
The JSON schema is not as strictly defined as in the YAML specification, allowing notations like 'Null' for null and numbers in any base, which might cause interoperability issues in strict JSON environments.
Does not support reading properties on implicit block mapping keys, limiting compatibility with certain YAML constructs and requiring workarounds for advanced use cases.