4 ms·
In the Scala world, HOCON addresses a lot of these (except programmability, which I think is probably a bad idea).
by brianpgordon 8y ago
In the Scala world, HOCON addresses a lot of these (except programmability, which I think is probably a bad idea).
- patsplat 8y agoNot just Scala https://github.com/yellowblood/hocon-js https://github.com/yellowblood/hocon-js
- azernik 8y agoWhole bunch of other ports into different languages too: https://github.com/lightbend/config#other-apis-wrappers-ports-and-utilities https://github.com/lightbend/config#other-apis-wrappers-port... Thanks for pointing me to that - I'm working in Scala on server-side and JS on browser-side for a couple of years now, and sharing config would be nice. Still need object merging and value concatenation, which hocon-js doesn't support, but I'll keep an eye on it!
- femto113 8y agoThe only config system I've worked on that ever felt even vaguely satisfying was built around the excellent Typesafe (now Lightbend) HOCON implementation. The fact that HOCON is a superset of both JSON and properties formats made adoption in a large org feasible since it could "just work" with the many already existing config files in those formats. While generalized programmability has obvious dangers, HOCON's ability to do variable substitution was super useful for the large amounts of config that was supposed to follow a convention, e.g. hostnames based on a template like ${service}.${env}.example.com
- azernik 8y agoIt has a few features that feel like programmability but really aren't, and I think these address most of the use cases that people want a Turing complete language for.