[package]
name = "rustate"
version = "0.2.5"
edition.workspace = true
description = "A Rust implementation of statecharts with model-based testing support"
license.workspace = true
authors.workspace = true
repository.workspace = true
documentation.workspace = true
readme = "README.md"
keywords = ["statecharts", "statemachine", "fsm", "xstate", "model-based-testing"]
categories = ["data-structures", "concurrency", "development-tools::testing"]
[dependencies]
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
thiserror = "1.0"
uuid = { workspace = true }
wasm-bindgen = { workspace = true, optional = true }
js-sys = { workspace = true, optional = true }
web-sys = { workspace = true, optional = true }
console_error_panic_hook = { workspace = true, optional = true }
async-trait = { workspace = true, optional = true }
tokio = { workspace = true, optional = true }
proptest = { workspace = true, optional = true }
[dev-dependencies]
proptest = "1.2"
[features]
default = []
wasm = ["wasm-bindgen", "js-sys", "web-sys", "console_error_panic_hook", "uuid/js"]
mbt = ["property-testing"]
property-testing = ["proptest"]
integration = []
xstate-compat = []
[lib]
crate-type = ["cdylib", "rlib"]
[package.metadata.wasm-pack.profile.release]
wasm-opt = ["-O3"]