[workspace]
resolver = "2"
members = [
    "sable",
    "sable-bases",
    "sable-canvas",
    "sable-core",
    "sable-frontmatter",
    "sable-markdown",
    "sable-renderer",
    "sable-vault",
]

[workspace.dependencies]
askama_escape = "0.15.1"
axum = { version = "0.8.4", features = ["ws"] }
axum-extra = { version = "0.10.1", features = ["typed-header"] }
camino = { version = "1.1.10", features = ["serde1"] }
caseless = "0.2.1"
chumsky = { version = "0.12.0", features = ["pratt"] }
clap = { version = "4.5.39", features = [
    "derive",
    "string",
    "unicode",
    "wrap_help",
] }
comrak = { version = "0.39.0", default-features = false, features = [
    "bon",
    "syntect",
] }
convert_case = "0.11.0"
data-encoding = "2.9.0"
derive_more = { version = "2.0.1", features = ["deref", "deref_mut"] }
educe = "0.6.0"
emojis = "0.6.2"
entities = "1.0.1"
fjadra = "0.2.1"
futures = "0.3.31"
glob = "0.3.2"
heck = "0.5.0"
http-body-util = "0.1.3"
humantime = "2.2.0"
indenter = { version = "0.3.3", features = ["std"] }
inkjet = "0.11.1"
itertools = "0.14.0"
jiff = { version = "0.2.15", features = ["serde"] }
jsoncanvas = "0.1.6" # TODO: fork to clean up dependency situation
linkify = "0.10.0"
markdown-it-footnotes = "0.1.0"
memchr = "2.7.5"
miette = { version = "7.6.0", features = ["fancy"] }
nom = "8.0.0"
notify-debouncer-full = "0.7.0"
owo-colors = "4.2.3"
parking_lot = "0.12.4"
petgraph = { version = "0.8.2", features = ["serde-1"] }
pretty = "0.12.4"
rayon = "1.10.0"
regex = "1.11.1"
rquickjs = { version = "0.11.0", features = ["macro"] }
rstest = "0.26.1"
rustc-hash = "2.1.1"
serde = { version = "1.0.219", features = ["derive"] }
serde_json = "1.0.140"
serde_toml = { package = "toml", version = "0.9.4" }
serde_yaml = { package = "serde_yml", version = "0.0.12" }
slug = "0.1.6"
svg = "0.18.0"
syntect = { version = "5.0", default-features = false, features = [
    "default-themes",
    "default-syntaxes",
    "html",
    "regex-onig",
] }
tempfile = "3.20.0"
tera = "1.20.0"
thiserror = "2.0.12"
tokio = { version = "1.45.1", features = [
    "macros",
    "rt-multi-thread",
    "signal",
] }
tokio-tungstenite = "0.26.2"
tower = "0.5.2"
tower-http = { version = "0.6.6", features = ["fs", "timeout"] }
tracing = "0.1.41"
tracing-subscriber = { version = "0.3.19", features = ["env-filter"] }
typed-arena = "2.0.2"
unicode_categories = "0.1.1"
unicode-segmentation = "1.12.0"
url-escape = "0.1.1"
vergen-gitcl = "9.1.0"
walkdir = "2.5.0"
which = "8.0.0"

[profile.release]
debug = "full"
lto = true
codegen-units = 1
