Cargo.toml 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  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.80.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 = [
  40. "macro",
  41. "html",
  42. "signals",
  43. "hooks",
  44. "launch",
  45. "mounted",
  46. "file_engine",
  47. "document",
  48. "asset",
  49. "devtools",
  50. "logger",
  51. "warnings",
  52. "cli-config",
  53. ]
  54. minimal = ["macro", "html", "signals", "hooks", "launch"]
  55. signals = ["dep:dioxus-signals"]
  56. macro = ["dep:dioxus-core-macro"]
  57. html = ["dep:dioxus-html"]
  58. hooks = ["dep:dioxus-hooks"]
  59. devtools = ["dep:dioxus-devtools", "dioxus-web?/devtools", "dioxus-fullstack?/devtools"]
  60. mounted = ["dioxus-web?/mounted"]
  61. file_engine = ["dioxus-web?/file_engine"]
  62. asset = ["dep:manganis"]
  63. document = ["dioxus-web?/document", "dep:dioxus-document", "dep:dioxus-history"]
  64. logger = ["dep:dioxus-logger"]
  65. cli-config = ["dep:dioxus-cli-config"]
  66. warnings = ["dep:warnings"]
  67. wasm-split = [
  68. "dep:wasm-split",
  69. "dioxus-config-macros/wasm-split",
  70. ] # note: to turn on the router splitter, you need to manually enable wasm-split on the router
  71. launch = ["dep:dioxus-config-macro"]
  72. router = ["dep:dioxus-router"]
  73. # Platforms
  74. fullstack = ["dep:dioxus-fullstack", "dioxus-config-macro/fullstack", "dep:serde"]
  75. desktop = ["dep:dioxus-desktop", "dioxus-fullstack?/desktop", "dioxus-config-macro/desktop"]
  76. mobile = ["dep:dioxus-mobile", "dioxus-fullstack?/mobile", "dioxus-config-macro/mobile"]
  77. web = [
  78. "dep:dioxus-web",
  79. "dioxus-fullstack?/web",
  80. "dioxus-config-macro/web",
  81. "dep:dioxus-cli-config",
  82. "dioxus-cli-config?/web",
  83. ]
  84. ssr = ["dep:dioxus-ssr", "dioxus-config-macro/ssr"]
  85. liveview = ["dep:dioxus-liveview", "dioxus-config-macro/liveview"]
  86. server = ["dioxus-fullstack?/axum", "dioxus-fullstack?/server", "ssr", "dioxus-liveview?/axum"]
  87. native = ["dep:dioxus-native"] # todo(jon): decompose the desktop crate such that "webview" is the default and native is opt-in
  88. # This feature just disables the no-renderer-enabled warning
  89. third-party-renderer = []
  90. [dev-dependencies]
  91. futures-util = { workspace = true }
  92. tracing = { workspace = true }
  93. rand = { workspace = true, features = ["small_rng"] }
  94. criterion = { workspace = true }
  95. thiserror = { workspace = true }
  96. env_logger = { workspace = true }
  97. tokio = { workspace = true, features = ["full"] }
  98. dioxus = { workspace = true }
  99. [[bench]]
  100. name = "jsframework"
  101. harness = false
  102. [package.metadata.docs.rs]
  103. cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
  104. features = ["router", "ssr", "web", "fullstack", "signals", "hooks", "html", "liveview", "server", "warnings"]