Edit: if you aren't married to configuration in a file, you could even do hosted JS or Lua functions kinda like a serverless environment
Edit: if you aren't married to configuration in a file, you could even do hosted JS or Lua functions kinda like a serverless environment
JSON is definitely nice for the time vs. effort balance; you've effectively got the users writing AST directly. And, building tooling to make it easier to write and manage is good.
I've had a couple of projects recently where I was writing a parser. And, there is a lot of tooling to make it easier: lex/flex, yacc/bison, PEG-style tools like Python's Parsimonious [0]. (I'm sure there are similar libraries in JavaScript) Defining the grammar is a bit arcane, but the only other thing you write is the interpreter, which you already have a version of (just with a different AST format).
In any case, the project/service is really cool!
As an example: We worked on something similar for a school project in Python, where you would simply write classes for each things, which would then create a JSON file.
In your case, might not be what you want if you do not want to tie to a single language though.
Edit: redaction
You can take what you've said, replace "JSON" with "XML" and you've got an explanation for Maven and all the other Java tools with a ridiculous amount of logic shoved into some generic markup format that was never intended for it. History has shown that it sucks to deal with. XML was the hot, "obvious", "everybody knows it", format of its day. I agree that JSON is, in most uses, a hell of a lot better, but, like XML it is a terrible place to be defining logic.
It really needs to be something that is actually designed to encode logic, not a data structure format. A custom DSL is a decent, and probably very easy (for users) idea, but if the author was really not interested in the design and debugging of such a thing then you could use LUA or some other embedded language.
I think I even mentioned embedded JS or Lua in some other comment.