vfox 2026.7.21

Interface to vfox plugins
Documentation
[package]
name = "vfox"
version = "2026.7.21"
edition = "2024"
license = "MIT"
description = "Interface to vfox plugins"
documentation = "https://docs.rs/vfox"
homepage = "https://github.com/jdx/mise"
repository = "https://github.com/jdx/mise"
include = [
  "src",
  "lua",
  "embedded-plugins",
  "build.rs",
  "Cargo.toml",
  "Cargo.lock",
  "README.md",
  "LICENSE",
]
build = "build.rs"

[lib]
name = "vfox"
path = "src/lib.rs"

[[bin]]
name = "vfox-cli"
path = "src/bin.rs"

[dependencies]
homedir = "0.3"
indexmap = { version = "2", features = ["serde"] }
itertools = "0.15"
log = "0.4"
mlua = { version = "0.12", features = [
  "async",
  "lua51",
  "macros",
  "serialize",
  "send",
] }
once_cell = "1"
reqwest = { version = "0.13", default-features = false, features = [
  "json",
] } # TODO: replace with xx
serde = "1"
serde_json = "1"
toml = "1.0"
thiserror = "2"
tokio = { version = "1", features = ["macros", "fs", "io-util", "time"] }
url = "2"
xx = { version = "2", default-features = false, features = ["archive", "hash"] }

# cli dependencies
env_logger = { version = "0.11", optional = true }
clap = { version = "4", features = ["derive"], optional = true }
tempfile = "3"
mise-sigstore = { default-features = false, version = "2026.7.1" }

[dev-dependencies]
insta = "1"
wiremock = "0.6"
#pretty_assertions = "1.4.0"

[features]
default = ["vendored-lua", "native-tls"]
cli = ["clap", "tokio/full", "env_logger"]
native-tls = [
  "xx/native-tls",
  "xx/http",
  "reqwest/native-tls",
  "mise-sigstore/native-tls",
]
rustls = ["xx/rustls", "xx/http", "reqwest/rustls", "mise-sigstore/rustls"]
rustls-native-roots = [
  "reqwest/rustls",
  "xx/http",
  "xx/rustls-native-roots",
  "mise-sigstore/rustls",
]
vendored-lua = ["mlua/vendored"]

# [workspace.metadata.release] - removed since this is now part of mise workspace
# pre-release-hook = ["git", "cliff", "-o", "CHANGELOG.md", "--tag", "{{version}}"]