Cargo.toml 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366
  1. [package]
  2. authors = [ "Tauri Programme within The Commons Conservancy" ]
  3. categories = [ "gui", "web-programming" ]
  4. description = "Make tiny, secure apps for all desktop platforms with Tauri"
  5. edition = "2021"
  6. rust-version = "1.60"
  7. exclude = [ "/test", "/.scripts", "CHANGELOG.md", "/target" ]
  8. homepage = "https://tauri.app"
  9. license = "Apache-2.0 OR MIT"
  10. name = "tauri"
  11. readme = "README.md"
  12. repository = "https://github.com/tauri-apps/tauri"
  13. version = "1.7.0"
  14. [package.metadata.docs.rs]
  15. no-default-features = true
  16. features = [
  17. "wry",
  18. "custom-protocol",
  19. "windows7-compat",
  20. "cli",
  21. "updater",
  22. "fs-extract-api",
  23. "system-tray",
  24. "devtools",
  25. "http-multipart",
  26. "icon-png",
  27. "test",
  28. "dox",
  29. "dialog",
  30. "global-shortcut",
  31. "http-request",
  32. "os-api",
  33. "process-relaunch",
  34. "process-exit",
  35. "protocol-asset",
  36. "process-command-api",
  37. "shell-open"
  38. ]
  39. rustdoc-args = [ "--cfg", "doc_cfg" ]
  40. default-target = "x86_64-unknown-linux-gnu"
  41. targets = [
  42. "x86_64-pc-windows-msvc",
  43. "x86_64-unknown-linux-gnu",
  44. "x86_64-apple-darwin"
  45. ]
  46. [package.metadata.cargo-udeps.ignore]
  47. normal = [ "reqwest", "nix" ]
  48. [dependencies]
  49. serde_json = { version = "1.0", features = [ "raw_value", "preserve_order" ] }
  50. serde = { version = "1.0", features = [ "derive" ] }
  51. tokio = { version = "1", features = [ "rt", "rt-multi-thread", "sync", "fs", "io-util" ] }
  52. futures-util = "0.3"
  53. uuid = { version = "1", features = [ "v4" ] }
  54. url = { version = "2.3" }
  55. anyhow = "1.0"
  56. thiserror = "1.0"
  57. once_cell = "1"
  58. tauri-runtime = { version = "0.14.3", path = "../tauri-runtime" }
  59. tauri-macros = { version = "1.4.4", path = "../tauri-macros" }
  60. tauri-utils = { version = "1.5.4", features = [ "resources" ], path = "../tauri-utils" }
  61. tauri-runtime-wry = { version = "0.14.8", path = "../tauri-runtime-wry", optional = true }
  62. rand = "0.8"
  63. semver = { version = "1.0", features = [ "serde" ] }
  64. serde_repr = "0.1"
  65. state = "0.5"
  66. tar = "0.4.38"
  67. tempfile = "3"
  68. zip = { version = "0.6", default-features = false, optional = true }
  69. ignore = "0.4"
  70. flate2 = "1.0"
  71. http = "0.2"
  72. dirs-next = "2.0"
  73. percent-encoding = "2.2"
  74. base64 = { version = "0.21", optional = true }
  75. clap = { version = "3", optional = true }
  76. reqwest = { version = "0.11", features = [ "json", "stream" ], optional = true }
  77. bytes = { version = "1", features = [ "serde" ], optional = true }
  78. open = { version = "3.2", optional = true }
  79. shared_child = { version = "1.0", optional = true }
  80. os_pipe = { version = "1.0", optional = true }
  81. raw-window-handle = "0.5"
  82. minisign-verify = { version = "0.2", optional = true }
  83. time = { version = "0.3", features = [ "parsing", "formatting" ], optional = true }
  84. os_info = { version = "3", optional = true }
  85. regex = { version = "1", optional = true }
  86. glob = "0.3"
  87. data-url = { version = "0.2", optional = true }
  88. serialize-to-javascript = "=0.1.1"
  89. infer = { version = "0.9", optional = true }
  90. png = { version = "0.17", optional = true }
  91. ico = { version = "0.2.0", optional = true }
  92. encoding_rs = "0.8.31"
  93. sys-locale = { version = "0.2.3", optional = true }
  94. tracing = { version = "0.1", optional = true }
  95. indexmap = { version = "1", features = [ "std", "serde" ], optional = true }
  96. getrandom = { version = "0.2", features = [ "std" ] }
  97. [target."cfg(any(target_os = \"macos\", windows, target_os = \"linux\", target_os = \"dragonfly\", target_os = \"freebsd\", target_os = \"openbsd\", target_os = \"netbsd\"))".dependencies]
  98. rfd = { version = "0.10", optional = true, features = [ "gtk3", "common-controls-v6" ] }
  99. notify-rust = { version = "4.5", optional = true }
  100. [target."cfg(any(target_os = \"linux\", target_os = \"dragonfly\", target_os = \"freebsd\", target_os = \"openbsd\", target_os = \"netbsd\"))".dependencies]
  101. gtk = { version = "0.15", features = [ "v3_20" ] }
  102. glib = "0.15"
  103. webkit2gtk = { version = "0.18.2", features = [ "v2_22" ] }
  104. nix = { version = "0.26.0", default-features = false, features = [ "user", "socket", "uio" ], optional = true }
  105. [target."cfg(target_os = \"macos\")".dependencies]
  106. embed_plist = "1.2"
  107. cocoa = "0.24"
  108. objc = "0.2"
  109. [target."cfg(windows)".dependencies]
  110. dunce = "1"
  111. webview2-com = "0.19.1"
  112. win7-notifications = { version = "0.4", optional = true }
  113. [target."cfg(windows)".dependencies.windows]
  114. version = "0.39.0"
  115. features = [
  116. "Win32_Foundation",
  117. "Win32_UI_WindowsAndMessaging",
  118. "Win32_UI_Shell"
  119. ]
  120. [build-dependencies]
  121. heck = "0.5"
  122. once_cell = "1"
  123. [dev-dependencies]
  124. mockito = "0.31"
  125. proptest = "1.0.0"
  126. quickcheck = "1.0.3"
  127. quickcheck_macros = "1.0.0"
  128. serde = { version = "1.0", features = [ "derive" ] }
  129. serde_json = "1.0"
  130. tauri = { path = ".", default-features = false, features = [ "wry" ] }
  131. tokio-test = "0.4.2"
  132. tokio = { version = "1", features = [ "full" ] }
  133. cargo_toml = "0.11"
  134. [features]
  135. default = [ "wry", "compression", "objc-exception" ]
  136. tracing = [
  137. "dep:tracing",
  138. "tauri-macros/tracing",
  139. "tauri-runtime-wry/tracing"
  140. ]
  141. test = [ ]
  142. compression = [ "tauri-macros/compression", "tauri-utils/compression" ]
  143. wry = [ "tauri-runtime-wry" ]
  144. objc-exception = [ "tauri-runtime-wry/objc-exception" ]
  145. linux-protocol-headers = [ "tauri-runtime-wry/linux-headers", "webkit2gtk/v2_36" ]
  146. isolation = [ "tauri-utils/isolation", "tauri-macros/isolation" ]
  147. custom-protocol = [ "tauri-macros/custom-protocol" ]
  148. updater = [
  149. "minisign-verify",
  150. "time",
  151. "base64",
  152. "http-api",
  153. "dialog-ask",
  154. "fs-extract-api"
  155. ]
  156. http-api = [ "reqwest", "bytes", "indexmap" ]
  157. http-multipart = [ "reqwest/multipart" ]
  158. os-api = [ "sys-locale" ]
  159. shell-open-api = [ "open", "regex", "tauri-macros/shell-scope" ]
  160. fs-extract-api = [ "zip" ]
  161. reqwest-client = [ "http-api" ]
  162. reqwest-native-tls-vendored = [ "native-tls-vendored" ]
  163. native-tls-vendored = [ "reqwest/native-tls-vendored" ]
  164. process-command-api = [ "shared_child", "os_pipe" ]
  165. global-shortcut = [
  166. "tauri-runtime/global-shortcut",
  167. "tauri-runtime-wry/global-shortcut"
  168. ]
  169. clipboard = [ "tauri-runtime/clipboard", "tauri-runtime-wry/clipboard" ]
  170. dialog = [ "rfd" ]
  171. notification = [ "notify-rust", "nix" ]
  172. cli = [ "clap" ]
  173. system-tray = [ "tauri-runtime/system-tray", "tauri-runtime-wry/system-tray" ]
  174. devtools = [ "tauri-runtime/devtools", "tauri-runtime-wry/devtools" ]
  175. dox = [ "tauri-runtime-wry/dox" ]
  176. macos-private-api = [
  177. "tauri-runtime/macos-private-api",
  178. "tauri-runtime-wry/macos-private-api"
  179. ]
  180. windows7-compat = [ "win7-notifications" ]
  181. window-data-url = [ "data-url" ]
  182. api-all = [
  183. "clipboard-all",
  184. "dialog-all",
  185. "fs-all",
  186. "global-shortcut-all",
  187. "http-all",
  188. "notification-all",
  189. "os-all",
  190. "path-all",
  191. "process-all",
  192. "protocol-all",
  193. "shell-all",
  194. "window-all",
  195. "app-all"
  196. ]
  197. clipboard-all = [ "clipboard-write-text", "clipboard-read-text" ]
  198. clipboard-read-text = [ "clipboard" ]
  199. clipboard-write-text = [ "clipboard" ]
  200. dialog-all = [ "dialog-open", "dialog-save", "dialog-message", "dialog-ask" ]
  201. dialog-ask = [ "dialog" ]
  202. dialog-confirm = [ "dialog" ]
  203. dialog-message = [ "dialog" ]
  204. dialog-open = [ "dialog" ]
  205. dialog-save = [ "dialog" ]
  206. fs-all = [
  207. "fs-copy-file",
  208. "fs-create-dir",
  209. "fs-exists",
  210. "fs-read-file",
  211. "fs-read-dir",
  212. "fs-remove-dir",
  213. "fs-remove-file",
  214. "fs-rename-file",
  215. "fs-write-file"
  216. ]
  217. fs-copy-file = [ ]
  218. fs-create-dir = [ ]
  219. fs-exists = [ ]
  220. fs-read-file = [ ]
  221. fs-read-dir = [ ]
  222. fs-remove-dir = [ ]
  223. fs-remove-file = [ ]
  224. fs-rename-file = [ ]
  225. fs-write-file = [ ]
  226. global-shortcut-all = [ "global-shortcut" ]
  227. http-all = [ "http-request" ]
  228. http-request = [ "http-api" ]
  229. notification-all = [ "notification", "dialog-ask" ]
  230. os-all = [ "os_info", "os-api" ]
  231. path-all = [ ]
  232. process-all = [ "process-relaunch", "process-exit" ]
  233. process-exit = [ ]
  234. process-relaunch = [ ]
  235. process-relaunch-dangerous-allow-symlink-macos = [ "tauri-utils/process-relaunch-dangerous-allow-symlink-macos" ]
  236. protocol-all = [ "protocol-asset" ]
  237. protocol-asset = [ ]
  238. shell-all = [ "shell-execute", "shell-sidecar", "shell-open" ]
  239. shell-execute = [ "process-command-api", "regex", "tauri-macros/shell-scope" ]
  240. shell-sidecar = [ "process-command-api", "regex", "tauri-macros/shell-scope" ]
  241. shell-open = [ "shell-open-api" ]
  242. window-all = [
  243. "window-create",
  244. "window-center",
  245. "window-request-user-attention",
  246. "window-set-resizable",
  247. "window-set-maximizable",
  248. "window-set-minimizable",
  249. "window-set-closable",
  250. "window-set-title",
  251. "window-maximize",
  252. "window-unmaximize",
  253. "window-minimize",
  254. "window-unminimize",
  255. "window-show",
  256. "window-hide",
  257. "window-close",
  258. "window-set-decorations",
  259. "window-set-always-on-top",
  260. "window-set-content-protected",
  261. "window-set-size",
  262. "window-set-min-size",
  263. "window-set-max-size",
  264. "window-set-position",
  265. "window-set-fullscreen",
  266. "window-set-focus",
  267. "window-set-icon",
  268. "window-set-skip-taskbar",
  269. "window-set-cursor-grab",
  270. "window-set-cursor-visible",
  271. "window-set-cursor-icon",
  272. "window-set-cursor-position",
  273. "window-set-ignore-cursor-events",
  274. "window-start-dragging",
  275. "window-print"
  276. ]
  277. window-create = [ ]
  278. window-center = [ ]
  279. window-request-user-attention = [ ]
  280. window-set-resizable = [ ]
  281. window-set-maximizable = [ ]
  282. window-set-minimizable = [ ]
  283. window-set-closable = [ ]
  284. window-set-title = [ ]
  285. window-maximize = [ ]
  286. window-unmaximize = [ ]
  287. window-minimize = [ ]
  288. window-unminimize = [ ]
  289. window-show = [ ]
  290. window-hide = [ ]
  291. window-close = [ ]
  292. window-set-decorations = [ ]
  293. window-set-always-on-top = [ ]
  294. window-set-content-protected = [ ]
  295. window-set-size = [ ]
  296. window-set-min-size = [ ]
  297. window-set-max-size = [ ]
  298. window-set-position = [ ]
  299. window-set-fullscreen = [ ]
  300. window-set-focus = [ ]
  301. window-set-icon = [ ]
  302. window-set-skip-taskbar = [ ]
  303. window-set-cursor-grab = [ ]
  304. window-set-cursor-visible = [ ]
  305. window-set-cursor-icon = [ ]
  306. window-set-cursor-position = [ ]
  307. window-set-ignore-cursor-events = [ ]
  308. window-start-dragging = [ ]
  309. window-print = [ ]
  310. app-all = [ "app-show", "app-hide" ]
  311. app-show = [ ]
  312. app-hide = [ ]
  313. config-json5 = [ "tauri-macros/config-json5" ]
  314. config-toml = [ "tauri-macros/config-toml" ]
  315. icon-ico = [ "infer", "ico" ]
  316. icon-png = [ "infer", "png" ]
  317. [[example]]
  318. name = "commands"
  319. path = "../../examples/commands/main.rs"
  320. [[example]]
  321. name = "helloworld"
  322. path = "../../examples/helloworld/main.rs"
  323. [[example]]
  324. name = "multiwindow"
  325. path = "../../examples/multiwindow/main.rs"
  326. required-features = [ "window-create" ]
  327. [[example]]
  328. name = "parent-window"
  329. path = "../../examples/parent-window/main.rs"
  330. [[example]]
  331. name = "navigation"
  332. path = "../../examples/navigation/main.rs"
  333. required-features = [ "window-create" ]
  334. [[example]]
  335. name = "splashscreen"
  336. path = "../../examples/splashscreen/main.rs"
  337. [[example]]
  338. name = "state"
  339. path = "../../examples/state/main.rs"
  340. [[example]]
  341. name = "streaming"
  342. path = "../../examples/streaming/main.rs"
  343. [[example]]
  344. name = "isolation"
  345. path = "../../examples/isolation/main.rs"
  346. required-features = [ "isolation" ]