DEV Community

Cover image for YINI Ecosystem Update: Faster Parsers, Better CLI Tools, and What’s New
Mr Smithnen
Mr Smithnen

Posted on

YINI Ecosystem Update: Faster Parsers, Better CLI Tools, and What’s New

YINI has seen quite a few updates across its ecosystem recently - not only in the format itself, but also in the parsers, CLI, testing, and developer tooling.

Here are some of the more notable changes.

YINI CLI: new get command

The YINI CLI now includes a get command for reading a single value directly from a YINI file.

For example:

yini get config.yini database.host
Enter fullscreen mode Exit fullscreen mode

could return:

localhost
Enter fullscreen mode Exit fullscreen mode

This can be useful in shell scripts, CI workflows, or whenever you only need one configuration value instead of processing the whole document yourself.

TypeScript parser: around 30% faster

The TypeScript/JavaScript parser has received a larger internal refactoring.

Parser results are now built during the parse-tree processing instead of in a separate step.

Local benchmarks on several larger workloads showed approximately 24-33% faster median parsing.

The parser's diagnostic handling has also been improved, making errors and warnings easier to work with both in normal applications and developer tooling.

Python parser improvements

The Python parser has continued to mature as well.

Recent work has focused on better specification compatibility, validation, edge cases, and test coverage.

Having independent parsers in different programming languages is also useful for the YINI project itself: if two implementations interpret the same document differently, that can reveal something in the specification that needs to be clarified.

Shared tests across parsers

The YINI Test Suite is becoming an increasingly important part of the ecosystem.

Different parser implementations can run the same YINI files and compare their results against the same expected output.

That helps keep implementations consistent and makes it easier to test new parsers as the ecosystem grows.

Gradually building an ecosystem

YINI started as an attempt to design a small, readable, and predictable configuration format.

It is gradually becoming more than just the syntax itself.

The ecosystem now includes:

  • Parsers for multiple programming languages.
  • A command-line tool.
  • A shared parser test suite.
  • Syntax highlighting.
  • A browser Playground.
  • Documentation and examples.

There is still work ahead before YINI reaches 1.0, but the different parts are increasingly starting to work together as one ecosystem.

If you want to take a look:

🌐 YINI website

💻 YINI on GitHub

🧪 Try YINI in the Playground

Top comments (0)