1
0

Cargo.toml 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. [package]
  2. name = "dioxus"
  3. version = { workspace = true }
  4. authors = ["Jonathan Kelley", "Dioxus Labs", "ealmloff"]
  5. edition = "2021"
  6. description = "Build fullstack web, desktop, and mobile apps with a single codebase."
  7. license = "MIT OR Apache-2.0"
  8. repository = "https://github.com/DioxusLabs/dioxus/"
  9. homepage = "https://dioxuslabs.com"
  10. keywords = ["web", "desktop", "mobile", "gui", "wasm"]
  11. rust-version = "1.79.0"
  12. [dependencies]
  13. dioxus-core = { workspace = true }
  14. dioxus-config-macros = { workspace = true }
  15. dioxus-html = { workspace = true, default-features = false, optional = true }
  16. dioxus-document = { workspace = true, optional = true }
  17. dioxus-history = { workspace = true, optional = true }
  18. dioxus-core-macro = { workspace = true, optional = true }
  19. dioxus-config-macro = { workspace = true, optional = true }
  20. dioxus-hooks = { workspace = true, optional = true }
  21. dioxus-signals = { workspace = true, optional = true }
  22. dioxus-router = { workspace = true, optional = true }
  23. dioxus-web = { workspace = true, default-features = false, optional = true }
  24. dioxus-mobile = { workspace = true, optional = true }
  25. dioxus-desktop = { workspace = true, default-features = true, optional = true }
  26. dioxus-fullstack = { workspace = true, default-features = true, optional = true }
  27. dioxus-liveview = { workspace = true, optional = true }
  28. dioxus-ssr = { workspace = true, optional = true }
  29. dioxus-native = { workspace = true, optional = true }
  30. manganis = { workspace = true, features = ["dioxus"], optional = true }
  31. dioxus-logger = { workspace = true, optional = true }
  32. warnings = { workspace = true, optional = true }
  33. wasm-split = { workspace = true, optional = true }
  34. serde = { workspace = true, optional = true }
  35. dioxus-cli-config = { workspace = true, optional = true }
  36. [target.'cfg(not(any(target_arch = "wasm32", target_os = "ios", target_os = "android")))'.dependencies]
  37. dioxus-devtools = { workspace = true, optional = true }
  38. [features]
  39. default = ["macro", "html", "signals", "hooks", "launch", "mounted", "file_engine", "document", "asset", "devtools", "logger", "warnings", "cli-config"]
  40. minimal = ["macro", "html", "signals", "hooks", "launch"]
  41. signals = ["dep:dioxus-signals"]
  42. macro = ["dep:dioxus-core-macro"]
  43. html = ["dep:dioxus-html"]
  44. hooks = ["dep:dioxus-hooks"]
  45. devtools = ["dep:dioxus-devtools", "dioxus-web?/devtools", "dioxus-fullstack?/devtools"]
  46. mounted = ["dioxus-web?/mounted"]
  47. file_engine = ["dioxus-web?/file_engine"]
  48. asset = ["dep:manganis"]
  49. document = ["dioxus-web?/document", "dep:dioxus-document", "dep:dioxus-history"]
  50. logger = ["dep:dioxus-logger"]
  51. cli-config = ["dep:dioxus-cli-config"]
  52. warnings = ["dep:warnings"]
  53. wasm-split = ["dep:wasm-split", "dioxus-config-macros/wasm-split"] # note: to turn on the router splitter, you need to manually enable wasm-split on the router
  54. launch = ["dep:dioxus-config-macro"]
  55. router = ["dep:dioxus-router"]
  56. # Platforms
  57. fullstack = ["dep:dioxus-fullstack", "dioxus-config-macro/fullstack", "dep:serde"]
  58. desktop = ["dep:dioxus-desktop", "dioxus-fullstack?/desktop", "dioxus-config-macro/desktop"]
  59. mobile = ["dep:dioxus-mobile", "dioxus-fullstack?/mobile", "dioxus-config-macro/mobile"]
  60. web = ["dep:dioxus-web", "dioxus-fullstack?/web", "dioxus-config-macro/web", "dep:dioxus-cli-config", "dioxus-cli-config?/web"]
  61. ssr = ["dep:dioxus-ssr", "dioxus-config-macro/ssr"]
  62. liveview = ["dep:dioxus-liveview", "dioxus-config-macro/liveview"]
  63. server = ["dioxus-fullstack?/axum", "dioxus-fullstack?/server", "ssr", "dioxus-liveview?/axum"]
  64. native = ["dep:dioxus-native"] # todo(jon): decompose the desktop crate such that "webview" is the default and native is opt-in
  65. # This feature just disables the no-renderer-enabled warning
  66. third-party-renderer = []
  67. [dev-dependencies]
  68. futures-util = { workspace = true }
  69. tracing = { workspace = true }
  70. rand = { version = "0.8.4", features = ["small_rng"] }
  71. criterion = { workspace = true }
  72. thiserror = { workspace = true }
  73. env_logger = "0.10.0"
  74. tokio = { workspace = true, features = ["full"] }
  75. dioxus = { workspace = true }
  76. [[bench]]
  77. name = "jsframework"
  78. harness = false
  79. [package.metadata.docs.rs]
  80. cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
  81. features = [
  82. "router",
  83. "ssr",
  84. "web",
  85. "fullstack",
  86. "signals",
  87. "hooks",
  88. "html",
  89. "liveview",
  90. "server",
  91. "warnings"
  92. ]