[package]
name = "virtual-fs"
version = "0.20.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]
wasmer-package.workspace = true
dashmap.workspace = true
derive_more.workspace = true
dunce = "1.0.4"
anyhow = { version = "1.0.66", optional = true }
async-trait = { version = "^0.1" }
bytes = "1"
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 = { workspace = true, 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.workspace = true
tempfile = "3.6.0"
tracing-test = "0.2.4"
tokio = { workspace = true, 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 = []
futures = []
[package.metadata.docs.rs]
rustc-args = ["--cfg", "docsrs"]