starbase_utils 0.13.2

General fs, io, serde, net, etc, utilities.
Documentation
[package]
name = "starbase_utils"
version = "0.13.2"
edition = "2024"
license = "MIT"
description = "General fs, io, serde, net, etc, utilities."
repository = "https://github.com/moonrepo/starbase"
rust-version = "1.89.0"

[package.metadata.docs.rs]
all-features = true

[[bench]]
name = "glob"
harness = false

[dependencies]
starbase_styles = { version = "0.6.7", path = "../styles" }
dirs = { workspace = true }
miette = { workspace = true, optional = true }
regex = { workspace = true, optional = true }
serde = { workspace = true, optional = true }
thiserror = { workspace = true }
tracing = { workspace = true }


# editor-config
ec4rs = { version = "1.2.0", optional = true }

# fs-lock
tokio = { workspace = true, optional = true, features = ["time"] }

# glob
jwalk = { version = "0.8.1", optional = true }
scc = { workspace = true, optional = true }
wax = { version = "0.7.0", optional = true, features = ["walk"] }

# json
json-strip-comments = { version = "3.1.1", optional = true }
serde_json = { workspace = true, optional = true }

# toml
toml = { version = "1.1.2", optional = true }

# yaml
serde_norway = { workspace = true, optional = true }

# net
async-trait = { workspace = true, optional = true }
reqwest = { workspace = true, optional = true }
url = { version = "2.5.8", optional = true }

[features]
default = []
editor-config = ["dep:ec4rs"]
fs-lock = ["dep:tokio"]
glob = ["dep:wax", "dep:jwalk"]
glob-cache = ["dep:scc"]
# glob-miette = ["glob", "miette", "wax/miette"]
miette = ["dep:miette"]
net = ["dep:reqwest", "dep:url", "dep:async-trait"]
json = ["dep:json-strip-comments", "dep:serde", "dep:serde_json"]
toml = ["dep:toml", "dep:serde"]
yaml = ["dep:regex", "dep:serde", "dep:serde_norway"]

[dev-dependencies]
criterion2 = { version = "3.0.3", default-features = false }
reqwest = { workspace = true, features = ["rustls"] }
starbase_sandbox = { path = "../sandbox" }
starbase_utils = { path = ".", features = [
    "editor-config",
    "fs-lock",
    "glob",
    "glob-cache",
    # "glob-miette",
    "miette",
    "net",
    "json",
    "toml",
    "yaml",
] }
tokio = { workspace = true }