link-common 0.5.2-rc.2

Shared Rust implementation for KalamDB link crates
Documentation
[package]
name = "link-common"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
description = "Shared Rust implementation for KalamDB link crates"
keywords = ["kalamdb", "database", "client", "websocket"]
categories = ["database", "web-programming::websocket"]
readme = "README.md"

[dependencies]
kalamdb-commons = { path = "../../backend/crates/kalamdb-commons", version = "0.5.2-rc.2", default-features = false, features = ["serde", "websocket-auth"] }
tokio = { workspace = true, optional = true }
reqwest = { workspace = true, default-features = false, features = ["json", "rustls"], optional = true }
tokio-tungstenite = { workspace = true, optional = true }
serde = { workspace = true }
serde_json = { workspace = true }
rmp-serde = { workspace = true, optional = true }
bytes = { workspace = true, optional = true }
http-body = { workspace = true, optional = true }
http-body-util = { workspace = true, optional = true }
base64 = { workspace = true }
futures-util = { workspace = true, default-features = false, optional = true }
log = { workspace = true, optional = true }
miniz_oxide = { workspace = true, optional = true }
wasm-bindgen = { workspace = true, optional = true }
wasm-bindgen-futures = { workspace = true, optional = true }
js-sys = { workspace = true, optional = true }
web-sys = { workspace = true, features = [
	"console",
	"WebSocket",
	"BinaryType",
	"MessageEvent",
	"CloseEvent",
	"ErrorEvent",
	"Event",
	"EventTarget",
	"Blob",
	"FileReader",
	"Window",
	"Request",
	"RequestInit",
	"RequestMode",
	"Response",
	"Headers",
	"FormData",
	"BlobPropertyBag",
], optional = true }

[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
aws-lc-rs = { workspace = true, optional = true }
rustls = { workspace = true, features = ["aws_lc_rs"], optional = true }
quinn-proto = { workspace = true, optional = true }
rustls-webpki = { workspace = true, optional = true }

[features]
default = []
client-core = ["dep:futures-util", "dep:log", "dep:miniz_oxide", "dep:rmp-serde"]
tokio-runtime = ["client-core", "tokio", "reqwest", "tokio-tungstenite", "bytes", "dep:aws-lc-rs", "dep:rustls", "dep:quinn-proto", "dep:rustls-webpki"]
auth-flows = []
setup = []
healthcheck = []
cluster = []
consumer = []
file-uploads = ["bytes", "http-body", "http-body-util", "reqwest/multipart", "reqwest/stream"]
http2 = ["reqwest/http2"]
wasm = ["client-core", "wasm-bindgen", "wasm-bindgen-futures", "js-sys", "web-sys"]
e2e-tests = []

[lib]
crate-type = ["rlib"]

[package.metadata.wasm-pack.profile.release]
wasm-opt = false