feedsignal/crates/web/Cargo.toml

53 lines
1.9 KiB
TOML
Raw Normal View History

[package]
name = "feedsignal-web"
version.workspace = true
edition.workspace = true
license.workspace = true
[dependencies]
feedsignal-core.workspace = true
serde.workspace = true
dioxus = { version = "0.7", features = ["router", "fullstack"] }
# Server-only dependencies: feed polling, the DB/LLM pipeline, and the
# scheduler only need to exist in the native server binary, never in the
# WASM bundle shipped to the browser.
feedsignal-db = { workspace = true, optional = true }
feedsignal-feeds = { workspace = true, optional = true }
feedsignal-llm = { workspace = true, optional = true }
tokio = { workspace = true, optional = true }
tracing = { workspace = true, optional = true }
tracing-subscriber = { workspace = true, optional = true }
anyhow = { workspace = true, optional = true }
uuid = { workspace = true, optional = true }
chrono = { workspace = true, optional = true }
serde_json = { workspace = true, optional = true }
tokio-cron-scheduler = { version = "0.13", optional = true }
dioxus-primitives = { git = "https://github.com/DioxusLabs/components", version = "0.0.1", default-features = false }
feedsignal-dioxus-components.workspace = true
[features]
default = ["web"]
web = ["dioxus/web"]
server = [
"dioxus/server",
"dep:feedsignal-db",
"dep:feedsignal-feeds",
"dep:feedsignal-llm",
"dep:tokio",
"dep:tracing",
"dep:tracing-subscriber",
"dep:anyhow",
"dep:uuid",
"dep:chrono",
"dep:serde_json",
"dep:tokio-cron-scheduler",
]
# Self-contained native desktop build: a single binary with the webview UI
# and the "server" feature's DB/feed-polling/LLM stack running in the same
# process. `#[server]` functions dispatch on the "server" feature alone
# (see dioxus-fullstack-macro), so enabling it here makes them execute
# in-process instead of generating an HTTP client stub — no separate axum
# server or network hop needed.
desktop = ["dioxus/desktop", "server"]