Look through any backend project and you'll find heaps of YAML or JSON files. It might be a verbose Kubernetes manifest. You won't find as many YAML files in a frontend project like a React App. Where's all the configuration then?
- Code reuse – packages and imports aren't possible with YAML.
- For loops, variables, and value references – YAML has anchors, which let you reference another value in the file, but are notoriously difficult and error prone to use.
Of course, YAML does have a few things going for it: it's easy to parse (no language runtime needed), and it's static representation is often close to its parsed representation.
There's projects like CUE to apply schema validation and basic code reuse (through file overlays), but I believe that simple configuration-as-code will win out in the end. It doesn't require users to learn a new format and it is much easier to use than complex configuration languages.