[workspace]

[package]
name = "regorusjs"
version = "0.10.1"
edition = "2021"
repository = "https://github.com/microsoft/regorus/bindings/wasm"
description = "WASM bindings for Regorus - a fast, lightweight Rego interpreter written in Rust"
license = "MIT AND Apache-2.0 AND BSD-3-Clause"
keywords = ["interpreter", "opa", "policy-as-code", "rego"]

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[lib]
crate-type = ["cdylib"]

[features]
default = [
	"ast",
	"coverage",
	"regorus/std",
	"regorus/base64",
	"regorus/base64url",
	"regorus/glob",
	"regorus/graph",
	"regorus/hex",
	"regorus/http",
	"regorus/jsonschema",
	"regorus/net",
	"regorus/opa-runtime",
	"regorus/regex",
	"regorus/semver",
	"regorus/time",
	"regorus/uuid",
	"regorus/urlquery",
	"regorus/yaml",
	"cache"
]
ast = ["regorus/ast"]
cache = ["regorus/cache"]
coverage = ["regorus/coverage"]

[dependencies]
regorus = { path  = "../..", default-features = false, features = ["arc", "rvm"] }
serde = { version = "1.0.219", features = ["derive"] }
serde_json = "1.0.150"
wasm-bindgen = "0.2.100"
serde-wasm-bindgen = "0.6"
# Specify uuid as a mandatory dependency so as to enable `js` feature which is now required
# when targeting wasm32-unknown-unknown.
uuid = { version = "1.22.0", default-features = false, features = ["v4", "fast-rng", "js"]}
# Configure getrandom for WebAssembly: 0.2 uses the `js` feature, while 0.3+ use `wasm_js`.
# See https://docs.rs/getrandom/latest/getrandom/#webassembly-support
getrandom02 = { package = "getrandom", version = "0.2.15", features = ["std", "js"] }
getrandom03 = { package = "getrandom", version = "0.3.1", features = ["std", "wasm_js"] }
getrandom = { version = "0.4.2", features = ["wasm_js"] }

[dev-dependencies]
wasm-bindgen-test = "0.3.72"

[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(wasm_bindgen_unstable_test_coverage)'] }
