Show HN: Dop, Awk-like processing for JSON/YAML/TOML with Lua
github.comdop reads JSON, YAML, or TOML from stdin, walks the structure field by field, and lets you transform values with Lua. It can also query nested paths and convert between formats.
It weights just 800kb and you don't need Lua installed in your pc.
A few examples:
echo '{"list":[1,2,3]}' | dop -e ' if type(VALUE) == "number" then set(VALUE * 2) end ' # => {"list":[2,4,6]}
echo '{"data":{"some_list":[1,2,3]}}' | dop -q data.some_list # => [1,2,3]
What I wanted was: - something simpler to reason about for non-trivial transforms - one tool for JSON/YAML/TOML - embedded scripting without needing Lua installed separately
Repo: https://github.com/dhuan/dop
Any feedback is welcome. This use case is definitely why I use nushell. It's not 800kb but it does a lot more and the syntax is excellent. Not to take away from you're achievement though. But it'd have to be something very good to budge me from nushell.