[package]
edition = "2024"
rust-version = "1.92"
name = "plushie"
version = "0.7.1"
authors = ["Daniel Hedlund <daniel@digitree.org>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Desktop GUI framework for Rust"
readme = "README.md"
keywords = [
"gui",
"desktop",
"ui",
"framework",
"elm",
]
categories = [
"gui",
"rendering",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/plushie-ui/plushie-rust"
resolver = "2"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
default = ["direct"]
dev = [
"dep:notify",
"dep:cargo_metadata",
]
direct = [
"dep:plushie-renderer-lib",
"dep:plushie-renderer-engine",
"dep:plushie-widget-sdk",
"plushie-widget-sdk?/tokio",
]
wire = [
"dep:rmp-serde",
"dep:rmpv",
"dep:base64",
]
[lib]
name = "plushie"
path = "src/lib.rs"
[[example]]
name = "async_fetch"
path = "examples/async_fetch.rs"
[[example]]
name = "clock"
path = "examples/clock.rs"
[[example]]
name = "color_picker"
path = "examples/color_picker.rs"
[[example]]
name = "counter"
path = "examples/counter.rs"
[[example]]
name = "gallery"
path = "examples/gallery.rs"
[[example]]
name = "notes"
path = "examples/notes.rs"
[[example]]
name = "rate_plushie"
path = "examples/rate_plushie.rs"
[[example]]
name = "shortcuts"
path = "examples/shortcuts.rs"
[[example]]
name = "todo"
path = "examples/todo.rs"
[[test]]
name = "a11y_test"
path = "tests/a11y_test.rs"
[[test]]
name = "app_test"
path = "tests/app_test.rs"
[[test]]
name = "async_contract_test"
path = "tests/async_contract_test.rs"
[[test]]
name = "automation_replay_windowed"
path = "tests/automation_replay_windowed.rs"
[[test]]
name = "automation_test"
path = "tests/automation_test.rs"
[[test]]
name = "command_test"
path = "tests/command_test.rs"
[[test]]
name = "derive_event_test"
path = "tests/derive_event_test.rs"
[[test]]
name = "derive_widget_test"
path = "tests/derive_widget_test.rs"
[[test]]
name = "doc_examples"
path = "tests/doc_examples.rs"
[[test]]
name = "event_test"
path = "tests/event_test.rs"
[[test]]
name = "golden_test"
path = "tests/golden_test.rs"
[[test]]
name = "multi_window_test"
path = "tests/multi_window_test.rs"
[[test]]
name = "no_runner_features"
path = "tests/no_runner_features.rs"
[[test]]
name = "subscription_test"
path = "tests/subscription_test.rs"
[[test]]
name = "touch_test"
path = "tests/touch_test.rs"
[[test]]
name = "tree_diff_proptest"
path = "tests/tree_diff_proptest.rs"
[[test]]
name = "types_test"
path = "tests/types_test.rs"
[[test]]
name = "ui_test"
path = "tests/ui_test.rs"
[[test]]
name = "util_test"
path = "tests/util_test.rs"
[[test]]
name = "widget_intercept_test"
path = "tests/widget_intercept_test.rs"
[[test]]
name = "widget_test"
path = "tests/widget_test.rs"
[[test]]
name = "wire_connect"
path = "tests/wire_connect.rs"
[[test]]
name = "wire_hot_reload"
path = "tests/wire_hot_reload.rs"
[[test]]
name = "wire_image_ops"
path = "tests/wire_image_ops.rs"
[[test]]
name = "wire_load_font"
path = "tests/wire_load_font.rs"
[[test]]
name = "wire_mode"
path = "tests/wire_mode.rs"
[dependencies.base64]
version = "0.22"
optional = true
[dependencies.cargo_metadata]
version = "0.19"
optional = true
[dependencies.futures]
version = "0.3"
features = [
"std",
"async-await",
]
default-features = false
[dependencies.log]
version = "0.4"
[dependencies.notify]
version = "8"
optional = true
[dependencies.parking_lot]
version = "0.12"
[dependencies.plushie-core]
version = "0.7.1"
[dependencies.plushie-core-macros]
version = "0.7.1"
[dependencies.plushie-renderer-engine]
version = "0.7.1"
optional = true
[dependencies.plushie-renderer-lib]
version = "0.7.1"
optional = true
[dependencies.plushie-widget-sdk]
version = "0.7.1"
optional = true
[dependencies.rmp-serde]
version = "1"
optional = true
[dependencies.rmpv]
version = "1"
features = ["with-serde"]
optional = true
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.thiserror]
version = "2"
[dependencies.tokio]
version = "1"
features = [
"rt",
"rt-multi-thread",
"process",
"io-util",
"time",
]
[dev-dependencies.proptest]
version = "1"
[lints.clippy]
missing_errors_doc = "warn"
missing_panics_doc = "warn"
[lints.rust]
unreachable_patterns = "deny"
unsafe_code = "deny"
unused_must_use = "deny"