jrsonnet-evaluator 0.5.0-pre6

jsonnet interpreter
Documentation
[package]
name = "jrsonnet-evaluator"
description = "jsonnet interpreter"
version.workspace = true
authors = ["Yaroslav Bolyukin <iam@lach.pw>"]
license = "MIT"
edition = "2021"

[features]
default = ["explaining-traces", "friendly-errors"]
# Rustc-like trace visualization
explaining-traces = ["annotate-snippets"]
# Allows library authors to throw custom errors
anyhow-error = ["anyhow"]
# Provides helpful explaintations to errors, at cost of adding
# more dependencies and slowing down error path
friendly-errors = ["strsim"]
# Adds ability to build import closure in async
async-import = ["async-trait"]

# Allows to preserve field order in objects
exp-preserve-order = []
# Implements field destructuring
exp-destruct = ["jrsonnet-parser/exp-destruct"]
# Iteration over objects yields [key, value] elements
exp-object-iteration = []

# Improves performance, and implements some useful things using nightly-only features
nightly = ["hashbrown/nightly"]

[dependencies]
jrsonnet-interner.workspace = true
jrsonnet-parser.workspace = true
jrsonnet-types.workspace = true
jrsonnet-macros.workspace = true
jrsonnet-gcmodule = { version = "0.3.4" }

pathdiff = "0.2.1"
hashbrown = "0.13.1"
static_assertions = "1.1"

rustc-hash = "1.1"

thiserror = "1.0"

serde = "1.0"

anyhow = { version = "1.0", optional = true }
# Friendly errors
strsim = { version = "0.10.0", optional = true }
# Serialized stdlib
bincode = { version = "1.3", optional = true }
# Explaining traces
annotate-snippets = { version = "0.9.1", features = ["color"], optional = true }
# Async imports
async-trait = { version = "0.1.60", optional = true }