This is great. I hope the trend towards self-contained runtime-less tools continues. I was looking at “fx” recently, but I’m always put off by any tools written in Node, Python, Ruby, etc. They inevitably start and/or run slower, often have fragile builds that break, often require a specific version of the interpreter, etc. Just not a great user experience in general.
One thing that’s a bit odd here is that it still requires Node for the reducers. Maybe Goja could be used instead, with fallback to Node for cases where Goja isn’t quite enough (eg. NPM modules)?
Well, now fx supports not only JS, but Python and Ruby. https://github.com/antonmedv/fx/tree/master#reducers
Goja on the way.
I was thinking about using otto or goja for sure. But nodejs + npm offer so much more.
So right now I’m thinking on implementing basic reducers (like .author.commit) in go, which fallback to node. Probably with fallback to goja if node not found.
Or another idea: allow users to choose a language for reducers. Node, deno, python, ruby, closure, etc.
I wish I’d have known of this tool when I was dissecting multi MB json dumps.
I can’t remember if it’s here or the orange site (or both), but this list has been making the rounds recently. Quite pleased with a few of these.