deft 0.14.0

Cross platform ui framework
[package]
name = "deft"
readme = "README.md"
license = "MIT"
description = "Cross platform ui framework"
repository = "https://github.com/deft-ui/deft"

version = "0.14.0"
authors = ["KasonYang <me@kason.fun>"]
edition = "2021"


[dependencies]
deft-macros = { path = "packages/deft-macros", version = "0.3.1" }

quick-js = { package = "deft-quick-js", version = "0.7.0"}
yoga = { package = "deft-yoga", version = "0.7.0" }
winit = { package = "deft-winit", version = "0.35.0", features = ["android-native-activity", "rwh_06"] }
skia-window = { path = "skia-window", version = "0.10.0"}
deft-tray = { path = "packages/deft-tray", version = "0.3.0", optional = true }

base64 = { version = "0.22.0" }
ordered-float = "3.9.2"
serde = { version = "1.0.203", features = ["derive"] }
anyhow = { version = "1.0.75" }
tokio = { version = "1.38.0", features = ["rt", "macros", "io-util", "sync"], default-features = false }
tokio-tungstenite = { version = "0.23.1", features = ["tokio-rustls"], optional = true }
futures-util = "0.3.30"
clipboard = { version = "0.5.1", package="deft-clipboard", optional = true }
image = { version = "0.25.2", default-features = false, features = ["bmp", "jpeg", "png", "gif", "ico"] }
libc = "0.2.155"
sled = "0.34.7"
rodio = { version = "0.19.0", optional = true }
measure_time = "0.8.3"
backtrace = "0.3.73"
sha1 = "0.10.6"
base16ct = { version = "0.2.0", features = ["alloc"] }
tokio-util = { version = "0.7.12", features = ["codec"] }
rusqlite = { version = "0.32.0", features = ["bundled"], optional = true }
bezier-rs = "0.4.0"
raw-window-handle = "0.6.2"
log = "0.4.25"
skia-safe = {package = "deft-skia-safe", version = "0.83.0", features = ["binary-cache"], default-features = false}
env_logger = "0.11.6"
bitflags = "2.6.0"
cssparser = "0.27"
selectors = "0.22"
font-kit = { version = "0.15.0", package = "deft-font-kit" }
swash = "0.2.2"
memmap2 = "0.9.5"
simplecss = { version = "0.3.1", package = "deft-simplecss" }
resvg = { version = "0.46.0", default-features = false, package = "deft-resvg" }
deft-emscripten-sys = "0.1.0"
tiny-skia = "0.11.4"

[features]
default = ["websocket", "http", "tray", "clipboard"]
tray = ["deft-tray"]
sqlite = ["rusqlite"]
http = ["reqwest"]
websocket = ["tokio-tungstenite"]
audio = ["rodio"]
gl = ["skia-window/gl"]
clipboard = ["dep:clipboard"]
dialog = ["native-dialog"]

[target.'cfg(not(target_os = "android"))'.dependencies]
native-dialog = { version = "0.7.0", optional = true }
reqwest = { version = "0.11.27",default-features = false, features = ["blocking", "multipart", "stream"], optional = true }

[target.'cfg(target_os = "android")'.dependencies]
android_logger = "0.11.0"
jni = "0.21.1"
reqwest = { version = "0.11.27",default-features = false, features = ["blocking", "native-tls-vendored", "multipart", "stream"], optional = true }
skia-safe = { package = "deft-skia-safe", version = "0.83.0", features = ["binary-cache", "x11", "svg"], default-features = false }

[target.'cfg(all(target_os = "linux", not(target_env = "ohos")))'.dependencies]
skia-safe = { package = "deft-skia-safe", version = "0.83.0", features = ["binary-cache", "x11", "wayland", "svg"], default-features = false }
skia-window = { path = "skia-window", version = "0.10.0", features = ["x11", "wayland"] }

[target.'cfg(target_env = "ohos")'.dependencies]
skia-safe = { package = "deft-skia-safe", version = "0.83.0", features = ["binary-cache", "egl", "svg"], default-features = false }
skia-window = { path = "skia-window", version = "0.10.0", features = ["gl"] }
napi-ohos = "1.1.3"
napi-derive-ohos = "1.1.3"
ohos-hilog-binding = "0.1.0"
openharmony-ability = { version = "0.2.2" }
openharmony-ability-derive = { version = "0.2.2" }
ohos-ime-binding = "0.1.0"
deft-ohos-logger = {version = "0.1.0", path = "packages/deft-ohos-logger" }

[target.'cfg(target_os = "windows")'.dependencies]
windows = { version = "0.61.1", features = ["Win32_System_Console"] }

[target.'cfg(target_os = "emscripten")'.dependencies]
skia-window = { path = "skia-window", version = "0.10.0", features = ["webgl"] }
[target.'cfg(not(target_os = "emscripten"))'.dependencies]
tokio = { version = "1.38.0", features = ["rt-multi-thread", "fs", "macros", "io-std", "io-util", "sync"] }

[build-dependencies]
cfg_aliases = "0.2.1"

[target.'cfg(target_env = "ohos")'.build-dependencies]
napi-build-ohos = "1.1.3"

#[profile.release]
#lto = true
#opt-level = "z"

#[lib]
#name = "deft"
#path = "src/lib.rs"
#crate_type=["cdylib", "lib"]
#proc-macro = true
#
#[[bin]]
#path="src/lib.rs"
#name="deft_demo"

[[example]]
name = "hello"
crate-type=["cdylib", "lib"]

[[example]]
name = "mobile_demo"
crate-type=["cdylib", "lib"]