bashlet 0.1.0

Sandboxed bash execution environment using WebAssembly
Documentation
[workspace]
members = ["."]
resolver = "2"

[package]
name = "bashlet"
version = "0.1.0"
edition = "2021"
description = "Sandboxed bash execution environment using WebAssembly"
license = "MIT"
repository = "https://github.com/user/bashlet"
readme = "README.md"
keywords = ["sandbox", "wasm", "bash", "security"]
categories = ["command-line-utilities", "development-tools"]

[dependencies]
# CLI
clap = { version = "4", features = ["derive", "env"] }

# Async runtime
tokio = { version = "1", features = ["full", "process"] }
async-trait = "0.1"

# HTTP client for downloading WASM
reqwest = { version = "0.12", default-features = false, features = ["json", "rustls-tls"] }

# Configuration
serde = { version = "1", features = ["derive"] }
serde_json = "1"
toml = "0.8"

# Error handling
thiserror = "1"
anyhow = "1"

# Logging
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }

# Utilities
directories = "5"
chrono = "0.4"

# Archive extraction (for downloading wasmer)
flate2 = "1"
tar = "0.4"

# Firecracker support (optional)
hyper = { version = "1", features = ["client", "http1"], optional = true }
hyper-util = { version = "0.1", features = ["tokio", "client-legacy"], optional = true }
http-body-util = { version = "0.1", optional = true }
which = { version = "7", optional = true }

[target.'cfg(target_os = "linux")'.dependencies]
hyperlocal = { version = "0.9", optional = true }

[features]
default = ["wasmer"]
wasmer = []
firecracker = ["hyper", "hyper-util", "http-body-util", "which"]
docker = []
all-backends = ["wasmer", "firecracker", "docker"]

[dev-dependencies]
tempfile = "3"

[profile.release]
lto = true
codegen-units = 1
strip = true

[[bin]]
name = "bashlet"
path = "src/main.rs"