cranpose-services 0.9.21

Multiplatform service contracts and platform integrations for Cranpose apps
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
name = "cranpose-services"
version = "0.9.21"
authors = ["Dmitry Samoylenko"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Multiplatform service contracts and platform integrations for Cranpose apps"
homepage = "https://samoylenkodmitry.github.io/cranpose/"
readme = "README.md"
keywords = [
    "gui",
    "ui",
    "compose",
    "declarative",
    "framework",
]
categories = ["gui"]
license = "Apache-2.0 OR MIT"
repository = "https://github.com/samoylenkodmitry/cranpose"
resolver = "2"

[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
    "--cfg",
    "docsrs",
]

[features]
default = []
file-picker-native = ["dep:rfd"]
file-picker-web = [
    "dep:rfd",
    "dep:js-sys",
    "dep:wasm-bindgen",
    "dep:wasm-bindgen-futures",
    "dep:web-sys",
]
http-native = [
    "dep:reqwest",
    "dep:webpki-root-certs",
]
localization = []
notifier-native = []
preferences-web = [
    "dep:wasm-bindgen",
    "dep:web-sys",
]
system-theme = []
system-theme-web = ["dep:web-sys"]
uri-android = ["dep:webbrowser"]
uri-native = ["dep:open"]
uri-web = ["dep:web-sys"]
web-http = [
    "dep:futures-util",
    "dep:js-sys",
    "dep:wasm-bindgen",
    "dep:wasm-bindgen-futures",
    "dep:web-sys",
]

[lib]
name = "cranpose_services"
path = "src/lib.rs"

[[test]]
name = "integration"
path = "tests/integration.rs"

[dependencies.cranpose-core]
version = "0.9.21"

[dependencies.cranpose-macros]
version = "0.9.21"

[dependencies.cranpose-ui-graphics]
version = "0.9.21"

[dependencies.directories]
version = "6.0.0"

[dependencies.log]
version = "0.4"

[dependencies.parking_lot]
version = "0.12.5"

[dependencies.sha2]
version = "0.11.0"

[dependencies.thiserror]
version = "2.0.21"

[dependencies.web-time]
version = "1.1"

[dev-dependencies.webpki-root-certs]
version = "1.0.9"

[target.'cfg(all(not(target_arch = "wasm32"), not(target_os = "android")))'.dependencies.open]
version = "5.4.4"
optional = true

[target.'cfg(all(not(target_arch = "wasm32"), not(target_os = "android"), not(target_os = "ios")))'.dependencies.rfd]
version = "0.17.2"
features = ["xdg-portal"]
optional = true
default-features = false

[target.'cfg(all(not(target_arch = "wasm32"), not(target_os = "ios")))'.dependencies.reqwest]
version = "0.13.5"
features = [
    "blocking",
    "rustls",
]
optional = true
default-features = false

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.pollster]
version = "0.4.0"

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.serde_json]
version = "1.0.151"

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.tempfile]
version = "3.27.0"

[target.'cfg(target_arch = "wasm32")'.dependencies.futures-util]
version = "0.3.34"
optional = true

[target.'cfg(target_arch = "wasm32")'.dependencies.js-sys]
version = "0.3.106"
optional = true

[target.'cfg(target_arch = "wasm32")'.dependencies.rfd]
version = "0.17.2"
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.79"
optional = true

[target.'cfg(target_arch = "wasm32")'.dependencies.web-sys]
version = "0.3"
features = [
    "Blob",
    "BlobPropertyBag",
    "Document",
    "Element",
    "File",
    "FileList",
    "HtmlElement",
    "Headers",
    "MediaQueryList",
    "ReadableStream",
    "ReadableStreamDefaultReader",
    "Request",
    "RequestInit",
    "RequestMode",
    "Response",
    "Storage",
    "Url",
    "Window",
]
optional = true

[target.'cfg(target_os = "android")'.dependencies.webbrowser]
version = "1.2.4"
optional = true

[target.'cfg(target_os = "android")'.dependencies.webpki-root-certs]
version = "1.0.9"
optional = true

[target.'cfg(target_os = "ios")'.dependencies.reqwest]
version = "0.13.5"
features = [
    "blocking",
    "native-tls",
]
optional = true
default-features = false

[lints.clippy]
assigning_clones = "warn"
clone_on_copy = "deny"
cloned_instead_of_copied = "warn"
dbg_macro = "deny"
elidable_lifetime_names = "warn"
explicit_iter_loop = "warn"
ignored_unit_patterns = "warn"
manual_assert = "warn"
manual_let_else = "warn"
map_unwrap_or = "warn"
needless_raw_string_hashes = "warn"
or_fun_call = "warn"
redundant_clone = "warn"
redundant_closure_for_method_calls = "warn"
redundant_locals = "deny"
semicolon_if_nothing_returned = "warn"
todo = "deny"
uninlined_format_args = "warn"
unnested_or_patterns = "warn"

[lints.rust]
linker_messages = "deny"
unsafe_code = "deny"