Typed Config Languages

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • dhall-lang

    Maintainable configuration files

  • cue

    The home of the CUE language! Validate and define text-based and dynamic configuration

  • As has come up in this thread already, any discussion of typed config languages nowadays that doesn't mention Cue (https://cuelang.org/) seems incomplete. They really seem to be tackling the problem in a thorough way. I hope it catches on.

    For anyone who knows more about Cue: right now you can go from Cue->yaml to integrate with existing systems, but I suppose eventually the goal would be to have direct support in libraries like Serde?

  • SurveyJS

    Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.

    SurveyJS logo
  • zaml

    The Final Form of configuration files

  • Funny enough, I've implemented a config language that fits exactly this bill https://github.com/gilbert/zaml

    An example (also see it in the online editor[0]):

        users {

  • strictyaml

    Type-safe YAML parser and validator.

  • I like the approach of strictyaml. A parser that concentrates on a restricted subset of yaml and allows to use a schema to have a type safe validator.

    https://github.com/crdoconnor/strictyaml

  • gura

    Gura configuration language

  • If we're on the topic of config languages, I'd like to plug Gura (https://github.com/gura-conf/gura). It's not too well-known, but it probably has the best design I've seen, and seems to have a good coverage of languages with an available library.

  • config

    configuration library for JVM languages using HOCON files

  • YAML allows comments, I'll give it that. But what I really want is splitting configuration into multiple files that can be imported to others. And substitutions. Basically HOCON known on the JVM as https://github.com/lightbend/config

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts