jsonnet

Jsonnet is a domain specific configuration language that helps you define JSON data. Jsonnet lets you compute fragments of JSON within the structure, bringing the same benefit to structured data that templating languages bring to plain text. The example below illustrates a few features -- referring to another part of the structure, overriding object fields, and string operations.


License
Apache-2.0
Install
brew install jsonnet

Documentation

Jsonnet - The data templating language

Build Status

For an introduction to Jsonnet and documentation, visit our website.

Visit our discussion forum.

Building Jsonnet

You can use either GCC or Clang to build Jsonnet. Note that on recent versions of macOS, /usr/bin/gcc and /usr/bin/g++ are actually Clang, so there is no difference.

Makefile

To build Jsonnet with GCC, run:

make

To build Jsonnet with Clang, run:

make CC=clang CXX=clang++

To run the output binary, run:

./jsonnet

Bazel

Bazel builds are also supported. Install Bazel if it is not installed already. Then, run the following command to build with GCC:

bazel build -c opt //cmd:jsonnet

To build with Clang, use one of these two options:

env CC=clang CXX=clang++ bazel build -c opt //cmd:jsonnet

# OR

bazel build -c opt --action_env=CC=clang --action_env=CXX=clang++ //cmd:jsonnet

This builds the jsonnet target defined in cmd/BUILD. To launch the output binary, run:

bazel-bin/cmd/jsonnet

Cmake

cmake . -Bbuild
cmake --build build --target run_tests

Contributing

See the contributing page on our website.

Developing Jsonnet

Running tests

TODO

Locally serving the website

TODO