Cargo.toml 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226
  1. [package]
  2. name = "dioxus-cli"
  3. version = { workspace = true }
  4. authors = ["Jonathan Kelley"]
  5. edition = "2021"
  6. description = "CLI tool for developing, testing, and publishing Dioxus apps"
  7. repository = "https://github.com/DioxusLabs/dioxus/"
  8. license = "MIT OR Apache-2.0"
  9. keywords = ["react", "gui", "cli", "dioxus", "wasm"]
  10. rust-version = "1.79.0"
  11. [dependencies]
  12. dioxus-autofmt = { workspace = true }
  13. dioxus-check = { workspace = true }
  14. dioxus-rsx-rosetta = { workspace = true }
  15. dioxus-rsx = { workspace = true }
  16. dioxus-rsx-hotreload = { workspace = true }
  17. dioxus-html = { workspace = true, features = ["hot-reload-context"] }
  18. dioxus-core = { workspace = true, features = ["serialize"] }
  19. dioxus-core-types = { workspace = true }
  20. dioxus-devtools-types = { workspace = true }
  21. dioxus-cli-config = { workspace = true }
  22. dioxus-fullstack = { workspace = true }
  23. dioxus-dx-wire-format = { workspace = true }
  24. clap = { workspace = true, features = ["derive", "cargo"] }
  25. convert_case = { workspace = true }
  26. thiserror = { workspace = true }
  27. wasm-bindgen-cli-support = { workspace = true }
  28. wasm-bindgen-shared = { workspace = true }
  29. uuid = { version = "1.3.0", features = ["v4"] }
  30. serde = { workspace = true, features = ["derive"] }
  31. serde_json = { workspace = true }
  32. toml = { workspace = true }
  33. cargo_toml = { workspace = true }
  34. futures-util = { workspace = true, features = ["async-await-macro"] }
  35. notify = { workspace = true, features = ["serde"] }
  36. html_parser = { workspace = true }
  37. cargo_metadata = { workspace = true }
  38. tokio = { workspace = true, features = ["full"] }
  39. tokio-stream = "0.1.15"
  40. chrono = "0.4.19"
  41. anyhow = "1"
  42. hyper = { workspace = true }
  43. hyper-util = "0.1.3"
  44. hyper-rustls = { workspace = true }
  45. rustls = { workspace = true }
  46. rayon = "1.8.0"
  47. console = "0.15.8"
  48. ctrlc = "3.2.3"
  49. futures-channel = { workspace = true }
  50. krates = { version = "0.17.0" }
  51. cargo-config2 = { workspace = true, optional = true }
  52. regex = "1.10.6"
  53. axum = { workspace = true, features = ["ws"] }
  54. axum-server = { workspace = true, features = ["tls-rustls"] }
  55. axum-extra = { workspace = true, features = ["typed-header"] }
  56. tower-http = { workspace = true, features = ["full"] }
  57. proc-macro2 = { workspace = true, features = ["span-locations"] }
  58. syn = { workspace = true, features = ["full", "extra-traits", "visit", "visit-mut"] }
  59. headers = "0.4.0"
  60. walkdir = "2"
  61. walrus = { workspace = true, features = ["parallel"] }
  62. # tools download
  63. dirs = { workspace = true }
  64. reqwest = { workspace = true, features = [
  65. "rustls-tls",
  66. "stream",
  67. "trust-dns",
  68. "blocking",
  69. ] }
  70. tower = { workspace = true }
  71. once_cell = "1.19.0"
  72. # plugin packages
  73. open = "5.0.1"
  74. cargo-generate = "=0.21.3"
  75. toml_edit = "0.22.20"
  76. # formatting
  77. # syn = { workspace = true }
  78. prettyplease = { workspace = true }
  79. # Assets
  80. brotli = "6.0.0"
  81. ignore = "0.4.22"
  82. env_logger = { workspace = true }
  83. const-serialize = { workspace = true, features = ["serde"] }
  84. # Image compression/conversion
  85. # - JPEG
  86. mozjpeg = { version = "0.10.7", default-features = false, features = [
  87. "parallel",
  88. ] }
  89. # - PNG
  90. imagequant = "4.2.0"
  91. png = "0.17.9"
  92. # Image format/conversion
  93. image = { version = "0.25", features = ["avif"] }
  94. # CSS Minification
  95. lightningcss = "1.0.0-alpha.60"
  96. # Js minification - swc has introduces minor versions with breaking changes in the past so we pin all of their crates
  97. swc = "=0.283.0"
  98. swc_allocator = { version = "=0.1.8", default-features = false }
  99. swc_atoms = { version = "=0.6.7", default-features = false }
  100. swc_cached = { version = "=0.3.20", default-features = false }
  101. swc_common = { version = "=0.37.5", default-features = false }
  102. swc_compiler_base = { version = "=0.19.0", default-features = false }
  103. swc_config = { version = "=0.1.15", default-features = false }
  104. swc_config_macro = { version = "=0.1.4", default-features = false }
  105. swc_ecma_ast = { version = "=0.118.2", default-features = false }
  106. swc_ecma_codegen = { version = "=0.155.1", default-features = false }
  107. swc_ecma_codegen_macros = { version = "=0.7.7", default-features = false }
  108. swc_ecma_compat_bugfixes = { version = "=0.12.0", default-features = false }
  109. swc_ecma_compat_common = { version = "=0.11.0", default-features = false }
  110. swc_ecma_compat_es2015 = { version = "=0.12.0", default-features = false }
  111. swc_ecma_compat_es2016 = { version = "=0.12.0", default-features = false }
  112. swc_ecma_compat_es2017 = { version = "=0.12.0", default-features = false }
  113. swc_ecma_compat_es2018 = { version = "=0.12.0", default-features = false }
  114. swc_ecma_compat_es2019 = { version = "=0.12.0", default-features = false }
  115. swc_ecma_compat_es2020 = { version = "=0.12.0", default-features = false }
  116. swc_ecma_compat_es2021 = { version = "=0.12.0", default-features = false }
  117. swc_ecma_compat_es2022 = { version = "=0.12.0", default-features = false }
  118. swc_ecma_compat_es3 = { version = "=0.12.0", default-features = false }
  119. swc_ecma_ext_transforms = { version = "=0.120.0", default-features = false }
  120. swc_ecma_lints = { version = "=0.100.0", default-features = false }
  121. swc_ecma_loader = { version = "=0.49.1", default-features = false }
  122. swc_ecma_minifier = { version = "=0.204.0", default-features = false }
  123. swc_ecma_parser = { version = "=0.149.1", default-features = false }
  124. swc_ecma_preset_env = { version = "=0.217.0", default-features = false, features = [
  125. "serde",
  126. ] }
  127. swc_ecma_transforms = { version = "=0.239.0", default-features = false }
  128. swc_ecma_transforms_base = { version = "=0.145.0", default-features = false }
  129. swc_ecma_transforms_classes = { version = "=0.134.0", default-features = false }
  130. swc_ecma_transforms_compat = { version = "=0.171.0", default-features = false }
  131. swc_ecma_transforms_macros = { version = "=0.5.5", default-features = false }
  132. swc_ecma_transforms_module = { version = "=0.190.0", default-features = false }
  133. swc_ecma_transforms_optimization = { version = "=0.208.0", default-features = false }
  134. swc_ecma_transforms_proposal = { version = "=0.178.0", default-features = false }
  135. swc_ecma_transforms_react = { version = "=0.191.0", default-features = false }
  136. swc_ecma_transforms_typescript = { version = "=0.198.1", default-features = false }
  137. swc_ecma_usage_analyzer = { version = "=0.30.3", default-features = false }
  138. swc_ecma_utils = { version = "=0.134.2", default-features = false }
  139. swc_ecma_visit = { version = "=0.104.8", default-features = false }
  140. swc_eq_ignore_macros = { version = "=0.1.4", default-features = false }
  141. swc_error_reporters = { version = "=0.21.0", default-features = false }
  142. swc_fast_graph = { version = "=0.25.0", default-features = false }
  143. swc_macros_common = { version = "=0.3.13", default-features = false }
  144. swc_node_comments = { version = "=0.24.0", default-features = false }
  145. swc_timer = { version = "=0.25.0", default-features = false }
  146. swc_trace_macro = { version = "=0.1.3", default-features = false }
  147. swc_transform_common = { version = "=0.1.1", default-features = false }
  148. swc_typescript = { version = "=0.5.0", default-features = false }
  149. swc_visit = { version = "=0.6.2", default-features = false }
  150. browserslist-rs = { version = "=0.16.0" }
  151. tracing-subscriber = { version = "0.3.18", features = ["std", "env-filter", "json"] }
  152. console-subscriber = { version = "0.3.0", optional = true }
  153. tracing = { workspace = true }
  154. wasm-opt = { version = "0.116.1", optional = true }
  155. crossterm = { version = "0.28.0", features = ["event-stream"] }
  156. ansi-to-tui = "6.0"
  157. ansi-to-html = "0.2.1"
  158. path-absolutize = "3.1"
  159. ratatui = { version = "0.28.0", features = ["crossterm", "unstable"] }
  160. # disable `log` entirely since `walrus` uses it and is *much* slower with it enableda
  161. log = { version = "0.4", features = ["max_level_off", "release_max_level_off"] }
  162. # link intercept
  163. tempfile = "3.3"
  164. manganis-core = { workspace = true }
  165. # Extracting data from an executable
  166. object = {version="0.36.0", features=["wasm"]}
  167. tokio-util = { version = "0.7.11", features = ["full"] }
  168. itertools = "0.13.0"
  169. throbber-widgets-tui = "=0.7.0"
  170. unicode-segmentation = "1.12.0"
  171. handlebars = "6.1.0"
  172. strum = { version = "0.26.3", features = ["derive"] }
  173. tauri-utils = { workspace = true }
  174. tauri-bundler = { workspace = true }
  175. include_dir = "0.7.4"
  176. [build-dependencies]
  177. built = { version = "=0.7.4", features = ["git2"] }
  178. [features]
  179. default = []
  180. plugin = []
  181. tokio-console = ["dep:console-subscriber"]
  182. bundle = []
  183. # when releasing dioxus, we want to enable wasm-opt
  184. # and then also maybe developing it too.
  185. # making this optional cuts workspace deps down from 1000 to 500, so it's very nice for workspace adev
  186. optimizations = ["wasm-opt", "asset-opt"]
  187. asset-opt = []
  188. wasm-opt = ["dep:wasm-opt"]
  189. [[bin]]
  190. path = "src/main.rs"
  191. name = "dx"
  192. [dev-dependencies]
  193. escargot = "0.5"
  194. [package.metadata.binstall]
  195. pkg-url = "{ repo }/releases/download/v{ version }/dx-{ target }-v{ version }{ archive-suffix }"
  196. pkg-fmt = "tgz"
  197. [package.metadata.binstall.overrides.x86_64-pc-windows-msvc]
  198. pkg-fmt = "zip"
  199. [package.metadata.docs.rs]
  200. all-features = false
  201. rustc-args = [ "--cfg", "docsrs" ]
  202. rustdoc-args = [ "--cfg", "docsrs" ]