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
could return:
localhost
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:
Top comments (0)