[package]
name = "virtual-fs"
version = "0.15.0"
description = "Wasmer Virtual FileSystem"
authors.workspace = true
edition.workspace = true
homepage.workspace = true
license.workspace = true
repository.workspace = true
rust-version.workspace = true
[dependencies]
dunce = "1.0.4"
anyhow = { version = "1.0.66", optional = true }
async-trait = { version = "^0.1" }
bytes = "1"
derivative = "2.2.0"
filetime = { version = "0.2.18", optional = true }
fs_extra = { version = "1.2.0", optional = true }
futures = { version = "0.3" }
indexmap = "1.9.2"
lazy_static = "1.4"
libc = { workspace = true, optional = true }
pin-project-lite = "0.2.9"
replace_with = "0.1.7"
shared-buffer = { workspace = true }
slab = { version = "0.4" }
thiserror = "1"
tokio = { version = "1", features = ["io-util", "sync", "macros"], default_features = false }
tracing = { version = "0.1" }
typetag = { version = "0.1", optional = true }
webc = { workspace = true, optional = true, features = ["v1"] }
serde = { version = "1.0", default-features = false, features = ["derive"], optional = true }
[target.'cfg(not(all(target_arch = "wasm32", target_os = "unknown")))'.dependencies]
getrandom = { version = "0.2" }
[target.'cfg(all(target_arch = "wasm32", target_os = "unknown"))'.dependencies]
getrandom = { version = "0.2", features = [ "js" ] }
[dev-dependencies]
pretty_assertions = "1.3.0"
tempfile = "3.6.0"
tracing-test = "0.2.4"
tokio = { version = "1", features = ["io-util", "rt"], default_features = false }
[features]
default = ["host-fs", "webc-fs", "static-fs"]
host-fs = ["libc", "fs_extra", "filetime", "tokio/fs", "tokio/io-std", "tokio/rt"]
webc-fs = ["webc", "anyhow"]
static-fs = ["webc", "anyhow"]
enable-serde = ["typetag", "serde"]
no-time = []
tracking = []
[package.metadata.docs.rs]
rustc-args = ["--cfg", "docsrs"]