[package]
edition = "2024"
name = "ev_lib"
version = "0.17.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "EV-invest shared Rust libraries, one per feature"
readme = "README.md"
license = "BlueOak-1.0.0"
repository = "https://github.com/EV-invest/lib"
[features]
analytics = [
"dep:serde",
"dep:serde_json",
"dep:reqwest",
"dep:dioxus",
"dep:js-sys",
"dep:web-sys",
"dep:wasm-bindgen",
"dep:wasm-bindgen-futures",
]
architecture = [
"dep:async-trait",
"dep:serde",
"dep:uuid",
"dep:jiff",
]
default = []
error_monitoring = [
"dep:serde",
"dep:serde_json",
"dep:sentry",
"dep:reqwest",
"dep:js-sys",
"dep:web-sys",
"dep:wasm-bindgen",
"dep:wasm-bindgen-futures",
]
experiments = [
"dep:dioxus",
"dep:js-sys",
"dep:web-sys",
"dep:wasm-bindgen",
]
i18n = ["dep:inventory"]
mfe = [
"dep:dioxus",
"dep:wasm-bindgen",
"dep:js-sys",
"dioxus?/document",
"dioxus?/launch",
"i18n",
"wasm",
]
modern = []
otel = [
"dep:opentelemetry",
"dep:opentelemetry_sdk",
"dep:opentelemetry-otlp",
"dep:opentelemetry-appender-tracing",
"dep:opentelemetry-semantic-conventions",
"dep:tracing-opentelemetry",
"dep:tracing",
"dep:tracing-subscriber",
"dep:tonic",
]
settings = []
types = []
uikit = [
"dep:dioxus",
"dep:ev_lib_classes",
"dep:tailwind_fuse",
"tailwind_fuse?/variant",
"dep:strum",
"dioxus?/asset",
"dioxus?/document",
]
wasm = [
"uuid?/js",
"dioxus?/web",
"dep:web-sys",
]
[lib]
name = "ev_lib"
path = "src/lib.rs"
[[example]]
name = "all_primitives"
path = "examples/all_primitives.rs"
required-features = ["uikit"]
[[test]]
name = "architecture"
path = "tests/architecture.rs"
[[test]]
name = "gallery"
path = "tests/gallery.rs"
[[test]]
name = "slider_reference"
path = "tests/slider_reference.rs"
[dependencies.async-trait]
version = "0.1.89"
optional = true
[dependencies.dioxus]
version = "0.7"
features = [
"macro",
"html",
"signals",
"hooks",
]
optional = true
default-features = false
[dependencies.ev_lib_classes]
version = "0.8.0"
optional = true
[dependencies.jiff]
version = "0.2"
features = ["serde"]
optional = true
[dependencies.serde]
version = "1"
features = ["derive"]
optional = true
[dependencies.serde_json]
version = "1"
optional = true
[dependencies.strum]
version = "0.28"
features = ["derive"]
optional = true
[dependencies.tailwind_fuse]
version = "0.3"
optional = true
[dependencies.uuid]
version = "1"
features = [
"serde",
"v4",
]
optional = true
[dev-dependencies.async-trait]
version = "0.1.89"
[dev-dependencies.axum]
version = "0.8"
features = ["ws"]
[dev-dependencies.dioxus]
version = "0.7"
features = [
"signals",
"hooks",
]
default-features = false
[dev-dependencies.dioxus-liveview]
version = "0.7"
features = ["axum"]
[dev-dependencies.dioxus-ssr]
version = "0.7"
[dev-dependencies.jiff]
version = "0.2"
features = ["serde"]
[dev-dependencies.serde]
version = "1"
features = ["derive"]
[dev-dependencies.serde_json]
version = "1"
[dev-dependencies.tokio]
version = "1"
features = [
"macros",
"rt",
"net",
"io-util",
"time",
]
[dev-dependencies.uuid]
version = "1"
features = [
"serde",
"v4",
]
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.inventory]
version = "0.3"
optional = true
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.opentelemetry]
version = "0.31"
features = [
"trace",
"logs",
]
optional = true
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.opentelemetry-appender-tracing]
version = "0.31"
optional = true
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.opentelemetry-otlp]
version = "0.31"
features = [
"trace",
"logs",
"http-proto",
"reqwest-blocking-client",
]
optional = true
default-features = false
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.opentelemetry-semantic-conventions]
version = "0.31"
optional = true
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.opentelemetry_sdk]
version = "0.31"
features = [
"trace",
"logs",
]
optional = true
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.reqwest]
version = "0.13"
features = [
"rustls",
"json",
]
optional = true
default-features = false
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.sentry]
version = "0.48.2"
features = [
"tower-axum-matched-path",
"tracing",
]
optional = true
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.tonic]
version = "0.13"
optional = true
default-features = false
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.tracing]
version = "0.1"
optional = true
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.tracing-opentelemetry]
version = "0.32"
optional = true
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.tracing-subscriber]
version = "0.3"
features = [
"registry",
"std",
]
optional = true
default-features = false
[target.'cfg(target_arch = "wasm32")'.dependencies.js-sys]
version = "0.3"
optional = true
[target.'cfg(target_arch = "wasm32")'.dependencies.reqwest]
version = "0.13"
features = ["json"]
optional = true
default-features = false
[target.'cfg(target_arch = "wasm32")'.dependencies.wasm-bindgen]
version = "0.2"
optional = true
[target.'cfg(target_arch = "wasm32")'.dependencies.wasm-bindgen-futures]
version = "0.4"
optional = true
[target.'cfg(target_arch = "wasm32")'.dependencies.web-sys]
version = "0.3"
features = [
"Document",
"Window",
"HtmlDocument",
"Storage",
"Navigator",
"Element",
"TransitionEvent",
"Location",
]
optional = true