awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
nodeca avatar

nodeca/js-yaml

0
View on GitHub↗
6,591 stars·815 forks·JavaScript·MIT·19 viewsnodeca.github.io/js-yaml↗

Js Yaml

js-yaml is a JavaScript library providing a programmatic interface for parsing and dumping YAML data. It functions as a parser and serializer that converts YAML strings into JavaScript objects and transforms JavaScript objects back into YAML format.

The library includes a command-line interface for parsing or dumping YAML data via direct input or data pipes. It also features an abstract syntax tree transformer to modify the structure of data during serialization.

The project provides capabilities for multi-document processing and the definition of custom schemas and tags to handle specialized data types. For security, it incorporates parser safety controls, including document complexity validation and recursion depth limits, to prevent resource exhaustion when processing untrusted input.

Features

  • YAML Parsers - Provides a full-featured library for reading and writing YAML formatted data in JavaScript.
  • YAML Serializers - Provides a comprehensive library for serializing JavaScript objects into structured YAML documents.
  • YAML Type Handlers - Allows external definition of tag handlers to extend the parser and dumper with domain-specific data types.
  • YAML Type Extensions - Supports extending the parser and serializer with custom tags and schemas to handle specialized data types.
  • YAML-to-Object Mapping - Transforms YAML strings into JavaScript objects using configurable schemas and depth limits.
  • YAML Data Serialization - Transforms JavaScript objects into YAML strings for exporting data or generating human-readable configuration files.
  • YAML Libraries - Provides a programmatic interface for parsing and dumping YAML data within JavaScript environments.
  • Parsing Depth Limits - Provides constraints on maximum nesting levels to prevent stack overflow and resource exhaustion during YAML parsing.
  • YAML Tag Customization - Defines how scalars, sequences, or mappings are represented when loading and dumping specialized data types.
  • YAML Configuration Schemas - Provides a system for defining custom YAML schemas to support specialized data types and tags.
  • YAML Type Resolution Rules - Maps YAML tags to JavaScript constructors using a predefined set of rules for scalars, sequences, and mappings.
  • Multi-Document YAML Processing - Extracts and manages multiple separate data documents stored within a single YAML source file.
  • Recursive Descent Parsers - Utilizes a recursive descent parsing engine to translate YAML text into JavaScript objects.
  • YAML AST Transformers - Implements a system for modifying the abstract syntax tree during the serialization of objects into YAML strings.
  • YAML Serialization AST Transformations - Modifies the abstract syntax tree during serialization to alter the output before it is rendered.
  • YAML Serialization ASTs - Implements an intermediate AST structure to transform JavaScript objects before rendering the final YAML string.
  • YAML Command Line Interfaces - Provides a command-line interface for parsing and dumping YAML data via direct input or data pipes.
  • Parser Resource Limits - Implements node counting to reject overly complex documents and prevent resource exhaustion.
  • YAML Configuration Files - Converts YAML configuration files into JavaScript objects for application settings and environment variables.
  • Multi-Document YAML Parsing - Extracts multiple documents from a single source string and returns them as an array of objects.
  • Indentation-Aware Tokenization - Breaks input strings into tokens based on indentation and character-level markers.
  • Parsing Tools - Fast YAML parser.
  • Parsing Utilities - Fast YAML parser.

Star history

Star history chart for nodeca/js-yamlStar history chart for nodeca/js-yaml

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does nodeca/js-yaml do?

js-yaml is a JavaScript library providing a programmatic interface for parsing and dumping YAML data. It functions as a parser and serializer that converts YAML strings into JavaScript objects and transforms JavaScript objects back into YAML format.

What are the main features of nodeca/js-yaml?

The main features of nodeca/js-yaml are: YAML Parsers, YAML Serializers, YAML Type Handlers, YAML Type Extensions, YAML-to-Object Mapping, YAML Data Serialization, YAML Libraries, Parsing Depth Limits.

What are some open-source alternatives to nodeca/js-yaml?

Open-source alternatives to nodeca/js-yaml include: symfony/yaml — This project is a PHP library that serves as a configuration file processor, providing a bridge to translate… jbeder/yaml-cpp — yaml-cpp is a C++ library for parsing and emitting YAML 1.2 documents. It provides a complete YAML processing… aaubry/yamldotnet — YamlDotNet is a YAML serialization library and data mapping tool for .NET. It functions as a parser and generator that… jeremyfa/yaml.js — This library provides a parser and encoder for YAML 1.2 data structures, enabling the transformation of human-readable… dtolnay/serde-yaml — Serde-yaml is a serialization library for the Rust programming language that facilitates the conversion of complex… goccy/go-yaml — This library is a Go-based utility for encoding and decoding YAML data into native language structures. It facilitates…

Open-source alternatives to Js Yaml

Similar open-source projects, ranked by how many features they share with Js Yaml.
  • symfony/yamlsymfony avatar

    symfony/yaml

    3,843View on GitHub↗

    This project is a PHP library that serves as a configuration file processor, providing a bridge to translate human-readable YAML text into native PHP arrays and objects. It functions as both a parser for converting YAML content into application-ready data structures and a serializer for transforming PHP data back into formatted YAML strings. The library includes security protections designed to prevent memory exhaustion and stack overflow attacks when processing untrusted documents. It ensures structural integrity through syntax validation and provides a command-line utility to check files fo

    PHPcomponentphpsymfony
    View on GitHub↗3,843
  • jbeder/yaml-cppjbeder avatar

    jbeder/yaml-cpp

    5,931View on GitHub↗

    yaml-cpp is a C++ library for parsing and emitting YAML 1.2 documents. It provides a complete YAML processing pipeline, from reading YAML content into a traversable node tree to writing in-memory data structures back as YAML text. The library represents parsed YAML as a mutable tree of typed nodes, supporting scalars, sequences, maps, and aliases. It uses a recursive-descent parser to build this node tree, and a stream-based emitter to generate YAML output incrementally. Template-based type conversion enables compile-time serialization between YAML nodes and C++ types, including support for c

    C++
    View on GitHub↗5,931
  • aaubry/yamldotnetaaubry avatar

    aaubry/YamlDotNet

    2,807View on GitHub↗

    YamlDotNet is a YAML serialization library and data mapping tool for .NET. It functions as a parser and generator that converts between .NET objects and YAML formatted text for data storage and configuration. The project provides capabilities for YAML document parsing and data object mapping. It transforms YAML streams into low-level representations or high-level object models for programmatic analysis and converts structured data objects back into valid YAML strings. The library covers general data serialization and configuration file management, allowing application data structures to be m

    C#dotnetparserserialization
    View on GitHub↗2,807
  • jeremyfa/yaml.jsjeremyfa avatar

    jeremyfa/yaml.js

    886View on GitHub↗

    This library provides a parser and encoder for YAML 1.2 data structures, enabling the transformation of human-readable YAML strings into native JavaScript objects and arrays. It is designed to function as a cross-platform utility, ensuring consistent data processing across both server-side runtimes and client-side browser environments. Beyond its core library functionality, the project includes a command-line interface for automating data conversion tasks. This utility supports bidirectional transformation between YAML and JSON formats, allowing for the programmatic manipulation and exchange

    CoffeeScriptjavascriptjsonjson2yaml
    View on GitHub↗886
  • See all 30 alternatives to Js Yaml→