[package]
name = "stof"
version = "0.9.21"
authors = ["CJ Cummings <cj@formata.io>"]
description = "Data Runtime. JSON that runs."
license = "Apache-2.0"
repository = "https://github.com/dev-formata-io/stof"
homepage = "https://stof.dev"
keywords = ["format", "runtime", "async", "validation", "embedded"]
categories = ["compilers", "data-structures", "development-tools", "template-engine", "asynchronous"]
exclude = ["content/*", "web/*", "docs/*", "stof/*", ".github/*", ".vscode/*", "*.gif", "*.png"]
edition = "2024"
[lib]
crate-type = ["cdylib", "lib"]
bench = false
doctest = false
[features]
default = ["basic"]
basic = ["stof_std", "system", "pkg", "log"]
full = ["stof_std", "system", "pkg", "log", "image", "docx", "pdf", "http", "tokio", "age_encrypt"]
stof_std = ["dep:regex"]
system = []
pkg = ["dep:zip", "dep:regex", "dep:walkdir"]
log = ["dep:log"]
image = ["dep:image"]
docx = ["dep:docx-rs"]
pdf = ["dep:lopdf", "image"]
http = ["dep:reqwest"]
tokio = ["dep:tokio"]
age_encrypt = ["dep:age"]
py = ["full", "dep:pyo3"]
js = ["stof_std", "age_encrypt", "dep:js-sys", "dep:wasm-bindgen", "dep:serde-wasm-bindgen", "dep:getrandom", "dep:wasm-bindgen-futures", "dep:web-sys", "dep:console_error_panic_hook"]
[dependencies]
base64 = "0.22.1"
bincode = "1.3.3"
colored = "3.0.0"
lazy_static = "1.5.0"
nanoid = "0.4.0"
serde_yaml = "0.9.34"
typetag = "0.2.21"
urlencoding = "2.1.3"
chrono = "0.4.42"
rustc-hash = "2.1.1"
nom = "8.0.0"
[dependencies.indexmap]
version = "2.12.1"
features = ["serde"]
[dependencies.bytes]
version = "1.11.0"
features = ["serde"]
[dependencies.docx-rs]
version = "0.4.18"
optional = true
[dependencies.image]
version = "0.25.6"
features = ["serde"]
optional = true
[dependencies.markdown]
version = "1.0.0"
features = ["serde"]
[dependencies.compact_str]
version = "0.9.0"
features = ["serde"]
[dependencies.lopdf]
version = "0.37.0"
features = ["serde"]
optional = true
[dependencies.regex]
version = "1.12.2"
optional = true
[dependencies.serde]
version = "1.0.228"
features = ["derive", "rc"]
[dependencies.serde_json]
version = "1.0.145"
features = ["preserve_order"]
[dependencies.toml]
version = "0.9.8"
features = ["preserve_order"]
[dependencies.walkdir]
version = "2.5.0"
optional = true
[dependencies.zip]
version = "4.5.0"
optional = true
[dependencies.tokio]
version = "1.48.0"
features = ["full"]
optional = true
[dependencies.reqwest]
version = "0.12.25"
optional = true
features = ["blocking"]
[dependencies.imbl]
version = "6.1.0"
features = ["serde", "triomphe"]
[dependencies.arcstr]
version = "1.2.0"
features = ["serde"]
[dependencies.parking_lot]
version = "0.12.5"
features = ["serde"]
[dependencies.age]
version = "0.11.2"
optional = true
features = ["web-sys"]
[dependencies.log]
version = "0.4.29"
optional = true
[dependencies.web-time]
version = "1.1.0"
features = ["serde"]
[dependencies.pyo3]
version = "0.27.2"
optional = true
features = ["macros", "chrono", "chrono-tz", "hashbrown", "indexmap", "generate-import-lib", "extension-module"]
[dependencies.wasm-bindgen]
version = "0.2.106"
optional = true
[dependencies.wasm-bindgen-futures]
version = "0.4.56"
optional = true
[dependencies.serde-wasm-bindgen]
version = "0.6.5"
optional = true
[dependencies.js-sys]
version = "0.3.83"
optional = true
[dependencies.getrandom]
version = "0.2.15"
optional = true
features = ["js"]
[dependencies.web-sys]
version = "0.3.83"
optional = true
features = ["console", "Window"]
[dependencies.console_error_panic_hook]
version = "0.1.7"
optional = true