[package]
edition = "2024"
rust-version = "1.99"
name = "hearth-runtime"
version = "0.1.0"
authors = [
"Will Bunting",
"Julien Scholz <hello@julien-scholz.dev>",
]
build = false
include = [
"/src/**",
"/docs/**",
"/README.md",
"/Cargo.toml",
"/LICENSE",
"/NOTICE",
"/build.rs",
"/browser/src/**",
"/browser/dist/*.js",
"/browser/package.json",
"/browser/tsconfig.json",
"/browser/tsup*.ts",
"/components/**",
"/styles/**",
"/registry.toml",
"/themes/**",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Local-first web applications written in Rust. Server rendering, reactive queries and optimistic writes."
readme = "README.md"
keywords = [
"web",
"framework",
"ssr",
"html",
"server",
]
categories = [
"web-programming",
"web-programming::http-server",
]
license = "MIT"
repository = "https://github.com/wbunting/hearth"
resolver = "2"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
router = [
"dep:futures-util",
"dep:pin-project-lite",
"dep:tokio",
"dep:hearth-router",
]
[lib]
name = "hearth_runtime"
path = "src/lib.rs"
[dependencies.hearth-asset]
version = "0.1.0"
[dependencies.hearth-foundation]
version = "0.1.0"
[dependencies.hearth-router]
version = "0.1.0"
optional = true
[dependencies.hearth-view]
version = "0.1.0"
[dependencies.hearth-view-macro]
version = "0.1.0"
[dependencies.inventory]
version = "0.3.24"
[dependencies.pin-project-lite]
version = "0.2"
optional = true
[dependencies.ref-cast]
version = "1.0"
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.sha2]
version = "0.11"
[dev-dependencies]
[target.'cfg(not(target_family = "wasm"))'.dependencies.futures-util]
version = "0.3"
features = ["sink"]
optional = true
[target.'cfg(not(target_family = "wasm"))'.dependencies.hearth-router]
version = "0.1.0"
features = ["websocket"]
optional = true
[target.'cfg(not(target_family = "wasm"))'.dependencies.tokio]
version = "1.51.1"
features = [
"rt",
"sync",
]
optional = true
[lints.clippy]
mod_module_files = "deny"
too_many_lines = "allow"
[lints.clippy.pedantic]
level = "warn"
priority = -1
[lints.rust]
unsafe_code = "deny"
[lints.rustdoc]
broken_intra_doc_links = "deny"