opa-wasm 0.2.0

A crate to use OPA policies compiled to WASM.
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
rust-version = "1.91"
name = "opa-wasm"
version = "0.2.0"
authors = ["Quentin Gliech <quenting@element.io>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
default-run = "opa-eval"
description = "A crate to use OPA policies compiled to WASM."
readme = "README.md"
license = "Apache-2.0"
repository = "https://github.com/matrix-org/rust-opa-wasm"

[features]
all-builtins = [
    "all-crypto-builtins",
    "base64url-builtins",
    "hex-builtins",
    "json-builtins",
    "rand-builtins",
    "semver-builtins",
    "sprintf-builtins",
    "units-builtins",
    "yaml-builtins",
    "urlquery-builtins",
    "time-builtins",
]
all-crypto-builtins = [
    "crypto-digest-builtins",
    "crypto-hmac-builtins",
    "crypto-md5-builtins",
    "crypto-sha1-builtins",
    "crypto-sha2-builtins",
]
base64url-builtins = [
    "dep:base64",
    "dep:hex",
]
cli = [
    "loader",
    "fast",
    "dep:camino",
    "dep:clap",
    "dep:tracing-forest",
    "dep:tracing-subscriber",
    "tokio/fs",
    "tokio/rt-multi-thread",
]
crypto-digest-builtins = [
    "dep:digest",
    "dep:hex",
]
crypto-hmac-builtins = [
    "dep:hmac",
    "dep:hex",
]
crypto-md5-builtins = ["dep:md-5"]
crypto-sha1-builtins = ["dep:sha1"]
crypto-sha2-builtins = ["dep:sha2"]
default = [
    "all-builtins",
    "fast",
]
fast = [
    "wasmtime/cranelift",
    "wasmtime/parallel-compilation",
]
hex-builtins = ["dep:hex"]
json-builtins = ["dep:json-patch"]
loader = [
    "dep:tokio-tar",
    "dep:async-compression",
    "dep:futures-util",
    "tokio/fs",
    "tokio/io-util",
]
rand-builtins = ["rng"]
rng = ["dep:rand"]
semver-builtins = ["dep:semver"]
sprintf-builtins = ["dep:sprintf"]
time = ["dep:chrono"]
time-builtins = [
    "time",
    "dep:chrono-tz",
    "dep:duration-str",
    "dep:chronoutil",
]
units-builtins = ["dep:parse-size"]
urlquery-builtins = [
    "dep:form_urlencoded",
    "dep:urlencoding",
]
yaml-builtins = ["dep:serde_yaml"]

[lib]
name = "opa_wasm"
path = "src/lib.rs"

[[bin]]
name = "opa-eval"
path = "src/bin/opa-eval.rs"
required-features = ["cli"]

[[bin]]
name = "simple"
path = "src/bin/simple.rs"
required-features = ["cli"]

[[test]]
name = "smoke_test"
path = "tests/smoke_test.rs"
required-features = ["loader"]

[dependencies.anyhow]
version = "1"

[dependencies.async-compression]
version = "0.4"
features = [
    "tokio",
    "gzip",
]
optional = true

[dependencies.base64]
version = "0.22"
optional = true

[dependencies.camino]
version = "1"
optional = true

[dependencies.chrono]
version = "0.4.31"
features = [
    "std",
    "clock",
]
optional = true
default-features = false

[dependencies.chrono-tz]
version = ">=0.6, <0.11.0"
optional = true

[dependencies.chronoutil]
version = "0.2"
optional = true

[dependencies.clap]
version = "4"
features = ["derive"]
optional = true

[dependencies.digest]
version = "0.10"
optional = true

[dependencies.duration-str]
version = ">=0.11, <0.16"
optional = true
default-features = false

[dependencies.form_urlencoded]
version = "1"
optional = true

[dependencies.futures-util]
version = "0.3"
optional = true

[dependencies.hex]
version = "0.4"
optional = true

[dependencies.hmac]
version = "0.12"
optional = true

[dependencies.json-patch]
version = ">=0.2.3, <4.2.0"
optional = true
default-features = false

[dependencies.md-5]
version = "0.10"
optional = true

[dependencies.parse-size]
version = "1"
features = ["std"]
optional = true

[dependencies.rand]
version = "0.8"
optional = true

[dependencies.semver]
version = "1"
optional = true

[dependencies.serde]
version = "1"
features = ["derive"]

[dependencies.serde_json]
version = "1.0.18"

[dependencies.serde_yaml]
version = "0.9.1"
optional = true

[dependencies.sha1]
version = "0.10"
optional = true

[dependencies.sha2]
version = "0.10"
optional = true

[dependencies.sprintf]
version = ">=0.3, <0.5"
optional = true

[dependencies.thiserror]
version = ">=1, <3"

[dependencies.tokio]
version = "1.5"
features = [
    "sync",
    "macros",
]

[dependencies.tokio-tar]
version = "0.3"
optional = true

[dependencies.tracing]
version = "0.1.27"

[dependencies.tracing-forest]
version = "0.3.0"
optional = true

[dependencies.tracing-subscriber]
version = "0.3"
features = ["env-filter"]
optional = true

[dependencies.urlencoding]
version = "2"
optional = true

[dependencies.wasmtime]
version = ">=42, <44"
features = [
    "async",
    "anyhow",
]
default-features = false

[dev-dependencies.insta]
version = "1"
features = ["yaml"]

[dev-dependencies.tokio]
version = "1.5"
features = [
    "macros",
    "fs",
    "rt",
    "rt-multi-thread",
]

[dev-dependencies.wasmtime]
version = ">=42, <44"
features = [
    "cranelift",
    "anyhow",
]
default-features = false

[build-dependencies.rayon]
version = "^1.6"

[build-dependencies.version_check]
version = "^0.9.4"