All Projects → robertaboukhalil → jqkungfu

robertaboukhalil / jqkungfu

Licence: other
A jq playground, written in WebAssembly

Programming Languages

HTML
75241 projects
shell
77523 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to jqkungfu

Jq Mode
Emacs major mode for editing jq queries.
Stars: ✭ 70 (-35.19%)
Mutual labels:  jq
Json Splora
GUI for editing, visualizing, and manipulating JSON data
Stars: ✭ 1,818 (+1583.33%)
Mutual labels:  jq
jsqry-cli2
Small CLI tool (similar to jq) to query JSON using sane DSL
Stars: ✭ 21 (-80.56%)
Mutual labels:  jq
Live Dl
Download live streams from YouTube
Stars: ✭ 82 (-24.07%)
Mutual labels:  jq
Pyjq
A Python binding for ./jq
Stars: ✭ 133 (+23.15%)
Mutual labels:  jq
Jackson Jq
jq for Jackson Java JSON Processor
Stars: ✭ 178 (+64.81%)
Mutual labels:  jq
Jqaas
jq as a service
Stars: ✭ 22 (-79.63%)
Mutual labels:  jq
jqjs
Pure-JavaScript implementation of the jq JSON query language
Stars: ✭ 39 (-63.89%)
Mutual labels:  jq
Node Jq
Node.js wrapper for jq
Stars: ✭ 147 (+36.11%)
Mutual labels:  jq
jq-tutorial
Interactive exercises for learning jq
Stars: ✭ 109 (+0.93%)
Mutual labels:  jq
Yq
Command-line YAML, XML, TOML processor - jq wrapper for YAML/XML/TOML documents
Stars: ✭ 1,688 (+1462.96%)
Mutual labels:  jq
Oq
A performant, and portable jq wrapper to facilitate the consumption and output of formats other than JSON; using jq filters to transform the data.
Stars: ✭ 132 (+22.22%)
Mutual labels:  jq
Emuto
manipulate JSON files
Stars: ✭ 180 (+66.67%)
Mutual labels:  jq
Okurl
OkHttp Kotlin command line
Stars: ✭ 77 (-28.7%)
Mutual labels:  jq
ycat
Command line processor for YAML/JSON files using Jsonnet
Stars: ✭ 21 (-80.56%)
Mutual labels:  jq
Java Jq
Lightweight Java wrapper around JQ, a flexible JSON processor available for multiple platforms
Stars: ✭ 37 (-65.74%)
Mutual labels:  jq
Tmux 1password
🔑 Access your 1Password login items within tmux!
Stars: ✭ 167 (+54.63%)
Mutual labels:  jq
wildq
Command-line TOML/JSON/INI/YAML/XML/HCL processor using jq c bindings
Stars: ✭ 22 (-79.63%)
Mutual labels:  jq
json to paths
Distill a JSON document into a collection of paths both for 'jq' and 'xpath'
Stars: ✭ 65 (-39.81%)
Mutual labels:  jq
Jq Web
jq in the browser with emscripten.
Stars: ✭ 188 (+74.07%)
Mutual labels:  jq

jq kung fu

A jq playground, powered by WebAssembly.

Links

How?

jqkungfu was built by compiling jq to WebAssembly, so that it runs in the browser.

The advantages of this approach are:

  • Speed: After the initial load time, jq queries are very fast because there are no round trips to a server
  • Security: This approach runs jq within the browser; otherwise, we would need to carefully secure the app so that users can't run arbitrary commands on the server!
  • Convenience: The app is purely front-end and is hosted as static files on a cloud storage provider

Launch locally

To launch jqkungfu locally:

python3 -m http.server 9999

Then open http://localhost:9999 in your browser.

Compile to WebAssembly (optional)

To compile jq to WebAssembly, run the compile.sh code within an environment that includes Emscripten.

To set up your environment:

# Make sure to use "--recursive" so the jq submodule is initialized
$ git clone --recursive https://github.com/robertaboukhalil/jqkungfu.git

# Build the Docker image with needed dependencies
$ docker build -t jqkungfu .

# Compile to WebAssembly
$ docker run --rm -it -v $(pwd):/src --entrypoint ./compile.sh jqkungfu

Learn More

This app is part of an example built for my book Level up with WebAssembly. Check it out if you're interested in more details, or to learn how to create similar applications.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].