https://github.com/a4-tacks/jqpack
Package a simple jq-lang dependency tree into a single file
https://github.com/a4-tacks/jqpack
jq jq-cli jq-lang
Last synced: 8 months ago
JSON representation
Package a simple jq-lang dependency tree into a single file
- Host: GitHub
- URL: https://github.com/a4-tacks/jqpack
- Owner: A4-Tacks
- License: mit
- Created: 2025-05-20T14:11:34.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-07-01T07:03:41.000Z (11 months ago)
- Last Synced: 2025-07-01T08:23:42.201Z (11 months ago)
- Topics: jq, jq-cli, jq-lang
- Language: Shell
- Homepage:
- Size: 5.86 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Package a simple [jq-lang] dependency tree into a single file
# Example
```
jqpack $ cd example/
example $ ../jqpack main.jq > out.jq
- include share.jq from share.jq
- import data.json as $data from data.json
- include lib.jq from lib.jq
- include sub.jq from sub.jq
- include share.jq from share.jq (cached)
example $ chmod a+x out.jq
example $ ./out.jq
{
"a": 2,
"b": 3,
"c": 4
}
example $ cat out.jq
#!/usr/bin/jq -nf
# share.jq
def share::id: 4;
# data.json
[{"a":{"foo":2},"b":{"foo":1}}] as $data |
# sub.jq
def each: .[];
# lib.jq
def sub::each: each; # re-export
def extract_data: map_values(share::id - .foo);
# main.jq
#!/usr/bin/jq -nf
$data | sub::each | extract_data * {c: share::id}
```
[jq-lang]: https://github.com/jqlang/jq