[package]
license = "MIT"
name = "runmat-filesystem"
version = "0.5.3"
edition = "2021"
description = "Swappable filesystem abstraction for RunMat hosts (native, wasm, remote)."
license-file = "LICENSE"
homepage = "https://runmat.com"
repository = "https://github.com/runmat-org/runmat"

[dependencies]
async-trait = "0.1"
futures = "0.3"
once_cell = { workspace = true }
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
url = "2.5"
uuid = { version = "1", features = ["v4"], default-features = false }
sha2 = "0.10"
log = "0.4"

[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
reqwest = { version = "0.12", default-features = false, features = ["blocking", "json", "rustls-tls"] }
crossbeam-utils = "0.8"
chrono = { version = "0.4", default-features = false, features = ["clock", "std"] }

[target.'cfg(target_arch = "wasm32")'.dependencies]
wasm-bindgen = "0.2"
js-sys = "0.3"
web-sys = { version = "0.3", features = ["XmlHttpRequest", "XmlHttpRequestResponseType"] }
uuid = { version = "1", features = ["v4", "js"], default-features = false }

[target.'cfg(target_arch = "wasm32")'.dev-dependencies]
wasm-bindgen-test = "0.3"

[dev-dependencies]
tempfile = "3.10"

[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies]
tokio = { version = "1.36", features = ["macros", "rt-multi-thread"] }
axum = "0.7"
