Cargo.toml 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220
  1. [package]
  2. name = "dioxus-desktop"
  3. version = { workspace = true }
  4. authors = ["Jonathan Kelley"]
  5. edition = "2021"
  6. description = "WebView renderer for Dioxus"
  7. license = "MIT OR Apache-2.0"
  8. repository = "https://github.com/DioxusLabs/dioxus/"
  9. homepage = "https://dioxuslabs.com/learn/0.5/getting_started"
  10. keywords = ["dom", "ui", "gui", "react"]
  11. [dependencies]
  12. dioxus-core = { workspace = true, features = ["serialize"] }
  13. dioxus-html = { workspace = true, features = [
  14. "serialize",
  15. "native-bind",
  16. "mounted",
  17. "eval",
  18. ] }
  19. dioxus-interpreter-js = { workspace = true, features = ["binary-protocol", "eval"] }
  20. dioxus-cli-config = { workspace = true, features = ["read-config"] }
  21. generational-box = { workspace = true }
  22. serde = "1.0.136"
  23. serde_json = "1.0.79"
  24. thiserror = { workspace = true }
  25. tracing = { workspace = true }
  26. wry = { version = "0.37.0", default-features = false, features = [
  27. "os-webview",
  28. "protocol",
  29. "file-drop",
  30. ] }
  31. futures-channel = { workspace = true }
  32. tokio = { workspace = true, features = [
  33. "sync",
  34. "rt-multi-thread",
  35. "rt",
  36. "time",
  37. "macros",
  38. "fs",
  39. ], optional = true }
  40. webbrowser = "0.8.0"
  41. infer = "0.11.0"
  42. dunce = "1.0.2"
  43. slab = { workspace = true }
  44. rustc-hash = { workspace = true }
  45. dioxus-hooks = { workspace = true }
  46. futures-util = { workspace = true }
  47. urlencoding = "2.1.2"
  48. async-trait = "0.1.68"
  49. tao = { version = "0.26.1", features = ["rwh_05"] }
  50. [target.'cfg(unix)'.dependencies]
  51. signal-hook = "0.3.17"
  52. [target.'cfg(any(target_os = "windows",target_os = "macos",target_os = "linux",target_os = "dragonfly", target_os = "freebsd", target_os = "netbsd", target_os = "openbsd"))'.dependencies]
  53. global-hotkey = "0.5.0"
  54. rfd = "0.14"
  55. muda = "0.11.3"
  56. # hotreload only works on desktop platforms.... mobile is still wip
  57. dioxus-hot-reload = { workspace = true, optional = true }
  58. [target.'cfg(target_os = "ios")'.dependencies]
  59. objc = "0.2.7"
  60. objc_id = "0.1.1"
  61. [target.'cfg(target_os = "macos")'.dependencies]
  62. cocoa = "0.25"
  63. core-foundation = "0.9.3"
  64. objc = "0.2.7"
  65. [features]
  66. default = ["tokio_runtime", "wry/objc-exception", "hot-reload", "devtools"]
  67. tokio_runtime = ["dep:tokio"]
  68. fullscreen = ["wry/fullscreen"]
  69. transparent = ["wry/transparent"]
  70. devtools = ["wry/devtools"]
  71. hot-reload = ["dep:dioxus-hot-reload"]
  72. gnu = []
  73. [package.metadata.docs.rs]
  74. default-features = false
  75. features = ["tokio_runtime", "hot-reload"]
  76. cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
  77. [dev-dependencies]
  78. dioxus = { workspace = true, features = ["desktop"] }
  79. exitcode = "1.1.2"
  80. reqwest = { version = "0.11.9", features = ["json"] }
  81. http-range = { version = "0.1.5" }
  82. dioxus-ssr = { workspace = true, version = "0.5.0", default-features = false }
  83. separator = "0.4.1"
  84. rand = { version = "0.8.4", features = ["small_rng"] }
  85. # These tests need to be run on the main thread, so they cannot use rust's test harness.
  86. [[test]]
  87. name = "check_events"
  88. path = "headless_tests/events.rs"
  89. harness = false
  90. [[test]]
  91. name = "check_rendering"
  92. path = "headless_tests/rendering.rs"
  93. harness = false
  94. [[test]]
  95. name = "check_eval"
  96. path = "headless_tests/eval.rs"
  97. harness = false
  98. # Most of the examples live in the workspace. We include some here so that docs.rs can scrape our examples for better inline docs
  99. [[example]]
  100. name = "video_stream"
  101. path = "../../examples/video_stream.rs"
  102. doc-scrape-examples = true
  103. [[example]]
  104. name = "suspense"
  105. path = "../../examples/suspense.rs"
  106. doc-scrape-examples = true
  107. [[example]]
  108. name = "calculator_mutable"
  109. path = "../../examples/calculator_mutable.rs"
  110. doc-scrape-examples = true
  111. [[example]]
  112. name = "calculator"
  113. path = "../../examples/calculator.rs"
  114. doc-scrape-examples = true
  115. [[example]]
  116. name = "clock"
  117. path = "../../examples/clock.rs"
  118. doc-scrape-examples = true
  119. [[example]]
  120. name = "crm"
  121. path = "../../examples/crm.rs"
  122. doc-scrape-examples = true
  123. [[example]]
  124. name = "custom_html"
  125. path = "../../examples/custom_html.rs"
  126. doc-scrape-examples = true
  127. [[example]]
  128. name = "custom_menu"
  129. path = "../../examples/custom_menu.rs"
  130. doc-scrape-examples = true
  131. [[example]]
  132. name = "dynamic_asset"
  133. path = "../../examples/dynamic_asset.rs"
  134. doc-scrape-examples = true
  135. [[example]]
  136. name = "errors"
  137. path = "../../examples/errors.rs"
  138. doc-scrape-examples = true
  139. [[example]]
  140. name = "file_explorer"
  141. path = "../../examples/file_explorer.rs"
  142. doc-scrape-examples = true
  143. [[example]]
  144. name = "future"
  145. path = "../../examples/future.rs"
  146. doc-scrape-examples = true
  147. [[example]]
  148. name = "hydration"
  149. path = "../../examples/hydration.rs"
  150. doc-scrape-examples = true
  151. [[example]]
  152. name = "multiwindow"
  153. path = "../../examples/multiwindow.rs"
  154. doc-scrape-examples = true
  155. [[example]]
  156. name = "overlay"
  157. path = "../../examples/overlay.rs"
  158. doc-scrape-examples = true
  159. [[example]]
  160. name = "popup"
  161. path = "../../examples/popup.rs"
  162. doc-scrape-examples = true
  163. [[example]]
  164. name = "read_size"
  165. path = "../../examples/read_size.rs"
  166. doc-scrape-examples = true
  167. [[example]]
  168. name = "shortcut"
  169. path = "../../examples/shortcut.rs"
  170. doc-scrape-examples = true
  171. [[example]]
  172. name = "streams"
  173. path = "../../examples/streams.rs"
  174. doc-scrape-examples = true
  175. [[example]]
  176. name = "window_event"
  177. path = "../../examples/window_event.rs"
  178. doc-scrape-examples = true
  179. [[example]]
  180. name = "window_focus"
  181. path = "../../examples/window_focus.rs"
  182. doc-scrape-examples = true
  183. [[example]]
  184. name = "window_zoom"
  185. path = "../../examples/window_zoom.rs"
  186. doc-scrape-examples = true