Cargo.toml 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233
  1. [package]
  2. name = "tauri"
  3. version = "2.0.3"
  4. description = "Make tiny, secure apps for all desktop platforms with Tauri"
  5. exclude = ["/test", "/.scripts", "CHANGELOG.md", "/target"]
  6. readme = "README.md"
  7. links = "Tauri"
  8. authors.workspace = true
  9. homepage.workspace = true
  10. repository.workspace = true
  11. categories.workspace = true
  12. license.workspace = true
  13. edition.workspace = true
  14. rust-version.workspace = true
  15. [package.metadata.docs.rs]
  16. no-default-features = true
  17. features = [
  18. "wry",
  19. "unstable",
  20. "custom-protocol",
  21. "tray-icon",
  22. "devtools",
  23. "image-png",
  24. "protocol-asset",
  25. "test",
  26. "specta",
  27. ]
  28. rustc-args = ["--cfg", "docsrs"]
  29. rustdoc-args = ["--cfg", "docsrs"]
  30. default-target = "x86_64-unknown-linux-gnu"
  31. targets = [
  32. "x86_64-pc-windows-msvc",
  33. "x86_64-unknown-linux-gnu",
  34. "x86_64-apple-darwin",
  35. "x86_64-linux-android",
  36. "x86_64-apple-ios",
  37. ]
  38. [package.metadata.cargo-udeps.ignore]
  39. normal = ["reqwest"]
  40. build = ["tauri-build"]
  41. development = ["quickcheck_macros"]
  42. [dependencies]
  43. serde_json = { version = "1.0", features = ["raw_value"] }
  44. serde = { version = "1.0", features = ["derive", "rc"] }
  45. tokio = { version = "1", features = [
  46. "rt",
  47. "rt-multi-thread",
  48. "sync",
  49. "fs",
  50. "io-util",
  51. ] }
  52. futures-util = "0.3"
  53. uuid = { version = "1", features = ["v4"], optional = true }
  54. url = "2"
  55. anyhow = "1.0"
  56. thiserror = "1.0"
  57. tauri-runtime = { version = "2.1.0", path = "../tauri-runtime" }
  58. tauri-macros = { version = "2.0.1", path = "../tauri-macros" }
  59. tauri-utils = { version = "2.0.1", features = [
  60. "resources",
  61. ], path = "../tauri-utils" }
  62. tauri-runtime-wry = { version = "2.1.0", path = "../tauri-runtime-wry", optional = true }
  63. getrandom = "0.2"
  64. serde_repr = "0.1"
  65. http = "1.1"
  66. dirs = "5"
  67. percent-encoding = "2.3"
  68. reqwest = { version = "0.12", default-features = false, features = [
  69. "json",
  70. "stream",
  71. ] }
  72. bytes = { version = "1", features = ["serde"] }
  73. raw-window-handle = { version = "0.6", features = ["std"] }
  74. glob = "0.3"
  75. urlpattern = "0.3"
  76. mime = "0.3"
  77. data-url = { version = "0.3", optional = true }
  78. serialize-to-javascript = "=0.1.1"
  79. image = { version = "0.25", default-features = false, optional = true }
  80. http-range = { version = "0.1.5", optional = true }
  81. tracing = { version = "0.1", optional = true }
  82. heck = "0.5"
  83. log = "0.4"
  84. dunce = "1"
  85. specta = { version = "^2.0.0-rc.16", optional = true, default-features = false, features = [
  86. "function",
  87. "derive",
  88. ] }
  89. [target."cfg(any(target_os = \"linux\", target_os = \"dragonfly\", target_os = \"freebsd\", target_os = \"openbsd\", target_os = \"netbsd\", target_os = \"windows\", target_os = \"macos\"))".dependencies]
  90. muda = { version = "0.15", default-features = false, features = ["serde"] }
  91. tray-icon = { version = "0.19", default-features = false, features = [
  92. "serde",
  93. ], optional = true }
  94. [target."cfg(any(target_os = \"linux\", target_os = \"dragonfly\", target_os = \"freebsd\", target_os = \"openbsd\", target_os = \"netbsd\"))".dependencies]
  95. gtk = { version = "0.18", features = ["v3_24"] }
  96. webkit2gtk = { version = "=2.0.1", features = ["v2_40"] }
  97. # macOS
  98. [target.'cfg(target_os = "macos")'.dependencies]
  99. embed_plist = "1.2"
  100. plist = "1"
  101. objc2 = "0.5.2"
  102. objc2-foundation = { version = "0.2.2", features = ["NSData", "NSThread"] }
  103. objc2-app-kit = { version = "0.2.2", features = [
  104. "NSApplication",
  105. "NSColor",
  106. "NSResponder",
  107. "NSView",
  108. "NSWindow",
  109. "NSImage",
  110. ] }
  111. window-vibrancy = "0.5"
  112. [target."cfg(windows)".dependencies]
  113. webview2-com = "0.33"
  114. window-vibrancy = "0.5"
  115. [target."cfg(windows)".dependencies.windows]
  116. version = "0.58"
  117. features = ["Win32_Foundation"]
  118. [target."cfg(target_os = \"android\")".dependencies]
  119. jni = "0.21"
  120. # UIKit, i.e. iOS/tvOS/watchOS/visionOS
  121. [target.'cfg(all(target_vendor = "apple", not(target_os = "macos")))'.dependencies]
  122. libc = "0.2"
  123. swift-rs = "1.0.7"
  124. [build-dependencies]
  125. heck = "0.5"
  126. tauri-build = { path = "../tauri-build/", default-features = false, version = "2.0.1" }
  127. tauri-utils = { path = "../tauri-utils/", version = "2.0.1", features = [
  128. "build",
  129. ] }
  130. [dev-dependencies]
  131. proptest = "1.4.0"
  132. quickcheck = "1.0.3"
  133. quickcheck_macros = "1.0.0"
  134. serde = { version = "1.0", features = ["derive"] }
  135. serde_json = "1.0"
  136. tauri = { path = ".", default-features = false, features = ["wry"] }
  137. tokio = { version = "1", features = ["full"] }
  138. cargo_toml = "0.17"
  139. http-range = "0.1.5"
  140. # macOS
  141. [target.'cfg(target_os = "macos")'.dev-dependencies]
  142. objc2-web-kit = { version = "0.2.2", features = [
  143. "objc2-app-kit",
  144. "WKWebView",
  145. "WKUserContentController",
  146. ] }
  147. [features]
  148. default = ["wry", "compression", "objc-exception", "common-controls-v6"]
  149. unstable = ["tauri-runtime-wry/unstable"]
  150. common-controls-v6 = [
  151. "tray-icon?/common-controls-v6",
  152. "muda/common-controls-v6",
  153. ]
  154. tray-icon = ["dep:tray-icon"]
  155. tracing = ["dep:tracing", "tauri-macros/tracing", "tauri-runtime-wry/tracing"]
  156. test = []
  157. compression = ["tauri-macros/compression", "tauri-utils/compression"]
  158. wry = ["tauri-runtime-wry"]
  159. objc-exception = ["tauri-runtime-wry/objc-exception"]
  160. linux-libxdo = ["tray-icon/libxdo", "muda/libxdo"]
  161. isolation = ["tauri-utils/isolation", "tauri-macros/isolation", "uuid"]
  162. custom-protocol = ["tauri-macros/custom-protocol"]
  163. native-tls = ["reqwest/native-tls"]
  164. native-tls-vendored = ["reqwest/native-tls-vendored"]
  165. rustls-tls = ["reqwest/rustls-tls"]
  166. devtools = ["tauri-runtime/devtools", "tauri-runtime-wry/devtools"]
  167. process-relaunch-dangerous-allow-symlink-macos = [
  168. "tauri-utils/process-relaunch-dangerous-allow-symlink-macos",
  169. ]
  170. macos-private-api = [
  171. "tauri-runtime/macos-private-api",
  172. "tauri-runtime-wry/macos-private-api",
  173. ]
  174. webview-data-url = ["data-url"]
  175. protocol-asset = ["http-range"]
  176. config-json5 = ["tauri-macros/config-json5"]
  177. config-toml = ["tauri-macros/config-toml"]
  178. image-ico = ["image/ico"]
  179. image-png = ["image/png"]
  180. macos-proxy = ["tauri-runtime-wry/macos-proxy"]
  181. specta = ["dep:specta"]
  182. [[example]]
  183. name = "commands"
  184. path = "../../examples/commands/main.rs"
  185. [[example]]
  186. name = "helloworld"
  187. path = "../../examples/helloworld/main.rs"
  188. [[example]]
  189. name = "multiwebview"
  190. path = "../../examples/multiwebview/main.rs"
  191. required-features = ["unstable"]
  192. [[example]]
  193. name = "multiwindow"
  194. path = "../../examples/multiwindow/main.rs"
  195. [[example]]
  196. name = "run-iteration"
  197. path = "../../examples/run-iteration/main.rs"
  198. [[example]]
  199. name = "splashscreen"
  200. path = "../../examples/splashscreen/main.rs"
  201. [[example]]
  202. name = "state"
  203. path = "../../examples/state/main.rs"
  204. [[example]]
  205. name = "streaming"
  206. path = "../../examples/streaming/main.rs"
  207. [[example]]
  208. name = "isolation"
  209. path = "../../examples/isolation/main.rs"
  210. required-features = ["isolation"]