mehcode / config-rs

⚙️ Layered configuration system for Rust applications (with strong support for 12-factor applications).
Apache License 2.0
2.43k stars 206 forks source link

feat: Add Dhall support #466

Open polarathene opened 9 months ago

polarathene commented 9 months ago

Rebased https://github.com/mehcode/config-rs/pull/218 with conflicts resolved. All credit to @sphw for the actual contribution.


This PR adds Dhall support using serde_dhall, a native Rust implementation of Dhall. Dhall is a functional configuration language designed to make composition of configuration files easier.

Closes #123

polarathene commented 9 months ago

@matthiasbeyer since this original PR was stale from about 2 years ago, does anything look like adjustments are needed? In the tests I can see it's missing the enum settings file like all other config types seem to have coverage for. Should that be addressed?

I probably should version bump the new dependencies added too?

polarathene commented 9 months ago

Git Checks / commit-lint fails with:

image

Should I add myself for the sign-off?


MSRV / Check (stable) fails with Run cargo check:

image

I am not familiar with the project and what would have changed since the original PR that needs adjustment here, any pointers?

EDIT: I compared with other implementations and see how to resolve it.

matthiasbeyer commented 9 months ago

The demand for Dhall in config-rs seems low. Perhaps this isn't worth landing into config-rs?

Yes, depending on an unmaintained implementation is definitively something we shouldn't rely on, sorry.

polarathene commented 8 months ago

FWIW, it seems that the yaml support has become unmaintained, no commits since July 2021. The developer doesn't have much activity on Github (last active Sep 2022).