πŸŽ‰ YINI Parser v1.2.0-beta Released

Hi folks!

I just published YINI Parser v1.2.0-beta 🎊 β€” the latest beta release of the TypeScript/Node.js parser for the YINI configuration format.

This release comes with a mix of fixes, refactors, and quality-of-life improvements, especially around …


This content originally appeared on DEV Community and was authored by Mr Smithnen

Hi folks!

I just published YINI Parser v1.2.0-beta 🎊 β€” the latest beta release of the TypeScript/Node.js parser for the YINI configuration format.

This release comes with a mix of fixes, refactors, and quality-of-life improvements, especially around runtime safety and metadata handling.

✨ What's New

πŸ› οΈ Fixes

  • parseFile() now correctly passes through all options (e.g. includeDiagnostics), so behavior now matches parse(..).
  • Fixed a small typo (in in) in file parsing error messages.

πŸ“Š Metadata Improvements

The result metadata structure has been bumped to version 1.1.0.

preservesOrder: true // Member/section order is implementation-defined, not mandated by the spec.
orderGuarantee: 'implementation-defined'
orderNotes?: string

These fields make it easier for tooling to reason about how order is preserved.

πŸ”’ Safer Runtime

The public YINI class was refactored to use per-invocation runtime state.
This prevents race conditions when multiple parse(..) / parseFile(..) calls run in parallel.

πŸ—‚οΈ File Layout & Naming

To keep things consistent and tidy:

  • src/parseEntry.ts β†’ src/pipeline.ts (and _parseEntry(..) β†’ runPipeline(..)).
  • core/types.ts β†’ core/internalTypes.ts.
  • Public-facing types/interfaces moved to src/types/index.ts.
  • src/yiniHelpers.ts β†’ src/utils/yiniHelpers.ts.

🧹 Naming Consistency

  • Renamed includeMetaData β†’ includeMetadata.
  • Replaced old TJSObject type with the clearer ParsedObject type throughout the codebase.

πŸ“š Documentation & Tests

  • Expanded and improved TSDoc comments across the public API.
  • Unit tests are now colocated with source files (src/**), ensuring 1:1 visibility between code and its tests. This reduces the chance of missing coverage when refactoring.

πŸš€ Why This Matters

This release is all about stability and clarity:

  • You get more accurate metadata out of the box.
  • Safer runtime behavior when parsing concurrently.
  • Cleaner project layout that makes contributing and navigating the repo easier.
  • Better docs for anyone building on top of YINI Parser.

Code Example:

import { ParsedObject, YiniParseResult } from '../types'
import YINI from '../YINI'

const result: YiniParseResult = YINI.parseFile(
    'myConfigFile.yini',
    { includeMetadata: true },
)

πŸ”— Links

πŸ™ Feedback

As always, feedback and contributions are super welcome! Try it out and let me know if you hit any edge cases.


This content originally appeared on DEV Community and was authored by Mr Smithnen


Print Share Comment Cite Upload Translate Updates
APA

Mr Smithnen | Sciencx (2025-09-13T22:36:32+00:00) πŸŽ‰ YINI Parser v1.2.0-beta Released. Retrieved from https://www.scien.cx/2025/09/13/%f0%9f%8e%89-yini-parser-v1-2-0-beta-released/

MLA
" » πŸŽ‰ YINI Parser v1.2.0-beta Released." Mr Smithnen | Sciencx - Saturday September 13, 2025, https://www.scien.cx/2025/09/13/%f0%9f%8e%89-yini-parser-v1-2-0-beta-released/
HARVARD
Mr Smithnen | Sciencx Saturday September 13, 2025 » πŸŽ‰ YINI Parser v1.2.0-beta Released., viewed ,<https://www.scien.cx/2025/09/13/%f0%9f%8e%89-yini-parser-v1-2-0-beta-released/>
VANCOUVER
Mr Smithnen | Sciencx - » πŸŽ‰ YINI Parser v1.2.0-beta Released. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2025/09/13/%f0%9f%8e%89-yini-parser-v1-2-0-beta-released/
CHICAGO
" » πŸŽ‰ YINI Parser v1.2.0-beta Released." Mr Smithnen | Sciencx - Accessed . https://www.scien.cx/2025/09/13/%f0%9f%8e%89-yini-parser-v1-2-0-beta-released/
IEEE
" » πŸŽ‰ YINI Parser v1.2.0-beta Released." Mr Smithnen | Sciencx [Online]. Available: https://www.scien.cx/2025/09/13/%f0%9f%8e%89-yini-parser-v1-2-0-beta-released/. [Accessed: ]
rf:citation
» πŸŽ‰ YINI Parser v1.2.0-beta Released | Mr Smithnen | Sciencx | https://www.scien.cx/2025/09/13/%f0%9f%8e%89-yini-parser-v1-2-0-beta-released/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.