7 ms·
Show HN: Jq alternative built on top of JavaScript anonymous functions – fx
- sd8dgf8ds8g8dsg 9y ago> Plain JavaScript I don't agree this is a feature. An Javascript implementation of a command line tool is a terrible idea performance wise. There is good reasons jq is written in C.
- medv 9y agoIt's main feature actually. Zero learning curve. Everybody know JavaScript and when performance not important, "fx" is your choose.
- fiatjaf 9y agoI love jq and I wish I could write full programs using the jq funcional language, but this fx thing is great. Mostly because its lack of learning curve, fx is much better positioned to be used by all people who don't love jq but just use it because there aren't other options.
- medv 9y agoThanks. It was the case.
- stephenr 9y agoThe whole reason for using jq in the first place is to handle json without needing to rely on a high level language runtime being available.
- medv 9y agoNot convinced. I have nodejs on my machine AND I want to manipulate JSON in cli.
- stephenr 9y agoI didn't say your reason. It's the reason the vast majority of people would use it. It's even alluded to on the project homepage: > jq is written in portable C, and it has zero runtime dependencies. You can download a single binary, scp it to a far away machine of the same type, and expect it to work.
- medv 9y agoI think, I can bundle fx with node into single bin for it =)
- medv 9y agoDone. =) Now fx has standalone binary (linux, macos, win): https://github.com/antonmedv/fx/releases https://github.com/antonmedv/fx/releases
- helb 9y agoNow people are going to complain it's 1500x bigger than jq… :) Thanks for this tool, i think i'll use it. Jq is great, but i can't do "advanced" operations without manual and/or Google. I use JS almost every day, so with Fx it's way easier (for me).
- andrvo 9y agoWhile jq is definitely faster, for more complex tasks I love using ramda-cli [1]. It has all the functions from the excellent Ramda [2] AND you can use LiveScript's [3] terser syntax (and pipes!). Here's a quick command to output a list of recent files on Linux: xml2json < ~/.local/share/recently-used.xbel | ramda '.xbel.bookmark |> pluck \href |> map replace /file:\/\//, ""' -o raw 1. https://github.com/raine/ramda-cli https://github.com/raine/ramda-cli 2. http://ramdajs.com/ http://ramdajs.com/ 3. http://livescript.net/ http://livescript.net/
- andrvo 9y agoAnd here's a more interesting example using output from Algolia's search API: curl 'https://<redacted Algolia url>' | ramda '.hits |> map pick <[title url story_url objectID points num_comments]> |> evolve title: take 2 |> sort (.points) |> reverse'