leptos/server_fn/Cargo.toml

222 lines
4.2 KiB
TOML
Raw Normal View History

[package]
name = "server_fn"
authors = ["Greg Johnston", "Ben Wishovich"]
2024-01-17 12:55:23 +00:00
license = "MIT"
repository = "https://github.com/leptos-rs/leptos"
description = "RPC for any web framework."
readme = "../README.md"
version = { workspace = true }
2024-02-28 12:19:09 +00:00
rust-version.workspace = true
edition.workspace = true
[dependencies]
2024-04-27 15:08:10 +00:00
throw_error = { workspace = true }
2024-01-26 22:54:59 +00:00
server_fn_macro_default = { workspace = true }
# used for hashing paths in #[server] macro
2024-08-11 00:01:41 +00:00
const_format = "0.2.32"
xxhash-rust = { version = "0.8.12", features = ["const_xxh64"] }
# used across multiple features
2024-08-11 00:01:41 +00:00
serde = { version = "1.0", features = ["derive"] }
send_wrapper = { version = "0.6.0", features = ["futures"], optional = true }
thiserror = "1.0"
# registration system
2024-08-11 00:01:41 +00:00
inventory = { version = "0.3.15", optional = true }
dashmap = "6.0"
once_cell = "1.19"
## servers
# actix
2024-08-11 00:01:41 +00:00
actix-web = { version = "4.8", optional = true }
# axum
2024-08-11 00:01:41 +00:00
axum = { version = "0.7.5", optional = true, default-features = false, features = [
"multipart",
] }
2024-08-11 00:01:41 +00:00
tower = { version = "0.4.13", optional = true }
tower-layer = { version = "0.3.2", optional = true }
## input encodings
2024-08-11 00:01:41 +00:00
serde_qs = { version = "0.13.0", optional = true }
multer = { version = "3.1", optional = true }
## output encodings
# serde
2024-08-11 00:01:41 +00:00
serde_json = "1.0"
serde-lite = { version = "0.5.0", features = ["derive"], optional = true }
futures = "0.3.30"
http = { version = "1.1" }
ciborium = { version = "0.2.2", optional = true }
postcard = { version = "1", features = ["alloc"], optional = true }
2024-08-11 00:01:41 +00:00
hyper = { version = "1.4", optional = true }
bytes = "1.7"
http-body-util = { version = "0.1.2", optional = true }
rkyv = { version = "0.7.44", features = [
"validation",
"uuid",
"strict",
], optional = true }
2024-08-11 00:01:41 +00:00
rmp-serde = { version = "1.3.0", optional = true }
# client
2024-08-11 00:01:41 +00:00
gloo-net = { version = "0.6.0", optional = true }
js-sys = { version = "0.3.69", optional = true }
wasm-bindgen = { version = "0.2.93", optional = true }
2024-08-11 00:01:41 +00:00
wasm-bindgen-futures = { version = "0.4.42", optional = true }
wasm-streams = { version = "0.4.0", optional = true }
web-sys = { version = "0.3.70", optional = true, features = [
"console",
"ReadableStream",
"ReadableStreamDefaultReader",
2024-03-16 20:33:15 +00:00
"AbortController",
2024-04-27 15:04:23 +00:00
"AbortSignal",
] }
# reqwest client
2024-08-11 00:01:41 +00:00
reqwest = { version = "0.12.5", default-features = false, optional = true, features = [
"multipart",
"stream",
] }
url = "2"
2024-08-11 00:01:41 +00:00
pin-project-lite = "0.2.14"
[features]
2024-04-27 15:04:23 +00:00
default = ["json"]
axum-no-default = [
2024-01-26 22:54:59 +00:00
"ssr",
"dep:axum",
"dep:hyper",
"dep:http-body-util",
"dep:tower",
"dep:tower-layer",
]
form-redirects = []
actix = ["ssr", "dep:actix-web", "dep:send_wrapper"]
axum = ["axum/default", "axum-no-default"]
browser = [
"dep:gloo-net",
"dep:js-sys",
"dep:send_wrapper",
2024-01-10 19:08:51 +00:00
"dep:wasm-bindgen",
"dep:web-sys",
"dep:wasm-streams",
"dep:wasm-bindgen-futures",
]
json = []
serde-lite = ["dep:serde-lite"]
2024-01-19 21:52:41 +00:00
multipart = ["browser", "dep:multer"]
url = ["dep:serde_qs"]
cbor = ["dep:ciborium"]
rkyv = ["dep:rkyv"]
msgpack = ["dep:rmp-serde"]
postcard = ["dep:postcard"]
2024-01-19 16:07:17 +00:00
default-tls = ["reqwest?/default-tls"]
rustls = ["reqwest?/rustls-tls"]
reqwest = ["dep:reqwest"]
ssr = ["inventory"]
2024-01-19 17:43:45 +00:00
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--generate-link-to-definition"]
2024-01-20 17:32:51 +00:00
# disables some feature combos for testing in CI
[package.metadata.cargo-all-features]
denylist = [
"rustls",
"default-tls",
"form-redirects",
"gloo-net",
"js-sys",
"wasm-bindgen",
"web-sys",
"tower",
"tower-layer",
"send_wrapper",
"ciborium",
"hyper",
"inventory",
"rkyv",
]
2024-01-26 22:54:59 +00:00
skip_feature_sets = [
[
"actix",
"axum",
],
[
"browser",
"actix",
],
[
"browser",
"axum",
],
[
"browser",
"reqwest",
],
[
"default-tls",
"rustls",
],
[
"browser",
"ssr",
],
[
"axum-no-default",
"actix",
],
[
"axum-no-default",
"browser",
],
[
"rkyv",
"json",
],
[
"rkyv",
"cbor",
],
[
"rkyv",
"url",
],
[
"rkyv",
"serde-lite",
],
[
"url",
"json",
],
[
"url",
"cbor",
],
[
"url",
"serde-lite",
],
[
"postcard",
"json",
],
[
"postcard",
"cbor",
],
[
"postcard",
"url",
],
[
"postcard",
"serde-lite",
],
[
"postcard",
"rkyv",
],
2024-01-26 22:54:59 +00:00
]