A Scala configuration library supporting HOCON for Scala, Java, Scala.js, and Scala Native.
sconfig is a Scala configuration library that supports the HOCON format, directly translated from the popular Java library `lightbend/config`. It solves the problem of managing configuration files consistently across Scala JVM, Scala.js, and Scala Native platforms, enabling tools like scalafmt to compile into native applications.
Scala developers building applications on JVM, Scala.js, or Scala Native who need a robust, cross-platform configuration solution using HOCON.
Developers choose sconfig for its direct port of the battle-tested `lightbend/config` API to Scala, multi-platform support, and seamless migration tools, making it the go-to for Scala projects requiring HOCON configuration.
Scala configuration library supporting HOCON for Scala, Java, Scala.js, and Scala Native
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Works on Scala JVM, Scala.js, and Scala Native, enabling consistent configuration across all Scala platforms, with JVM fully supported and subsets for others.
Directly translates the widely used HOCON format from lightbend/config, offering human-readable configuration with features like substitution and merging.
Includes a scalafix rule to automate migration from com.typesafe.config, reducing manual effort for existing Scala projects.
Adapts the Java API to Scala idioms while maintaining compatibility, providing a native experience with changes like removing trailing parentheses on methods.
Only a subset of the full API is available on Scala.js and Scala Native, which may limit functionality for complex configuration needs on those platforms.
Requires additional java.time libraries for Scala Native and Scala.js, complicating build setup compared to the JVM version.
Relies on the original library's documentation, which might describe features not yet implemented in sconfig, leading to potential confusion during development.
sconfig is an open-source alternative to the following products: