Cargo.toml 9.9 KB

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