[package] name = "dotrain" version = "6.0.1-alpha.21" description = ".rain to rainlang composer" edition.workspace = true license.workspace = true homepage.workspace = true repository.workspace = true [features] cli = ["dep:tracing", "dep:tracing-subscriber", "dep:clap", "dep:tokio"] js-api = ["dep:js-sys", "dep:wasm-bindgen", "dep:serde-wasm-bindgen", "dep:wasm-bindgen-futures", "dep:tsify"] [lib] name = "dotrain" crate-type = ["rlib", "cdylib"] [[bin]] name = "dotrain" path = "src/main.rs" required-features = ["cli"] [dependencies] serde = "1.0.192" serde_json = "1.0.108" serde_repr = "0.1.17" serde_bytes = "0.11.12" futures = "0.3.29" magic_string = "0.3.4" async-recursion = "1.0.5" getrandom = { version = "0.2.11", features = ["js", "js-sys"] } anyhow = { workspace = true } regex = { workspace = true } once_cell = { workspace = true } alloy-primitives = { workspace = true } rain-metadata = { workspace = true } # cli tracing = { version = "0.1.37", optional = true } tracing-subscriber = { version = "0.3.17", optional = true } clap = { version = "4.4.8", features = ["cargo", "derive"], optional = true } tokio = { version = "1.34.0", features = ["full"], optional = true } # js-api js-sys = { version = "0.3.66", optional = true } wasm-bindgen = { version = "0.2.89", optional = true } serde-wasm-bindgen = { version = "0.6.1", optional = true } wasm-bindgen-futures = { version = "0.4.39", optional = true } tsify = { version = "0.4.5", default-features = false, features = ["js", "wasm-bindgen"], optional = true } [lints.clippy] all = "warn" [dev-dependencies] proptest = "1.4.0" [package.metadata.docs.rs] all-features = true