2.0.1 • Published 4 months ago
jora-cli v2.0.1
jora-cli
Command line interface for Jora (a JSON query language)
Install
npm i -g jora-cli
Usage
> jora -h
Usage:
jora [query] [options]
Options:
--no-color Suppress color output
--dry-run Don't output result, only report what it would have done
-e, --encoding <encoding> Output encoding: json (default), jsonxl (snapshot9)
-f, --force Force overwriting output file
-h, --help Output usage information
-i, --input <filename> Input file
-o, --output <filename> Output file (outputs to stdout if not set)
-p, --pretty [indent] Pretty print with optionally specified indentation (4 spaces by default)
-q, --query <query> Jora query
--verbose Output debug info about actions
-v, --version Output version
Examples
Then you can do this wonderful requests in terminal
# get a single field, e.g. version
jora version <package.json
# get all top level dependencies count
jora -i package.json -q '(dependencies.keys() + devDependencies.keys()).size()'
# find packages with more than a single version (run query from a file)
npm ls --json | jora find-multi-version-packages.jora
The content of
find-multi-version-packages.jora
may be as follows:..(dependencies.entries().({ name: key, ...value })) .group(=>name, =>version) .({ name: key, versions: value }) .[versions.size() > 1]
Caveats
jora-cli
takes a valid JSON and produce a valid JSON as a result. However, jora
language could produce some values that incompatable with JSON, such values are transforming:
NaN
,Infinity
and-Infinity
are converting tonull
, that's a behaviour ofJSON.stringify()
undefined
- is convering to
null
when a result of query (top level) or an element of an array - object entries with
undefined
as a value are eliminating
- is convering to
License
MIT