Cargo.toml 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  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. manganis = { workspace = true, features = ["dioxus"], optional = true }
  30. dioxus-logger = { workspace = true, optional = true }
  31. warnings = { workspace = true, optional = true }
  32. wasm-split = { workspace = true, optional = true }
  33. serde = { workspace = true, optional = true }
  34. dioxus-cli-config = { workspace = true, optional = true }
  35. [target.'cfg(not(any(target_arch = "wasm32", target_os = "ios", target_os = "android")))'.dependencies]
  36. dioxus-devtools = { workspace = true, optional = true }
  37. [features]
  38. default = ["macro", "html", "signals", "hooks", "launch", "mounted", "file_engine", "document", "asset", "devtools", "logger", "warnings", "cli-config"]
  39. minimal = ["macro", "html", "signals", "hooks", "launch"]
  40. signals = ["dep:dioxus-signals"]
  41. macro = ["dep:dioxus-core-macro"]
  42. html = ["dep:dioxus-html"]
  43. hooks = ["dep:dioxus-hooks"]
  44. devtools = ["dep:dioxus-devtools", "dioxus-web?/devtools", "dioxus-fullstack?/devtools"]
  45. mounted = ["dioxus-web?/mounted"]
  46. file_engine = ["dioxus-web?/file_engine"]
  47. asset = ["dep:manganis"]
  48. document = ["dioxus-web?/document", "dep:dioxus-document", "dep:dioxus-history"]
  49. logger = ["dep:dioxus-logger"]
  50. cli-config = ["dep:dioxus-cli-config"]
  51. warnings = ["dep:warnings"]
  52. 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
  53. launch = ["dep:dioxus-config-macro"]
  54. router = ["dep:dioxus-router"]
  55. # Platforms
  56. fullstack = ["dep:dioxus-fullstack", "dioxus-config-macro/fullstack", "dep:serde"]
  57. desktop = ["dep:dioxus-desktop", "dioxus-fullstack?/desktop", "dioxus-config-macro/desktop"]
  58. mobile = ["dep:dioxus-mobile", "dioxus-fullstack?/mobile", "dioxus-config-macro/mobile"]
  59. web = ["dep:dioxus-web", "dioxus-fullstack?/web", "dioxus-config-macro/web", "dep:dioxus-cli-config", "dioxus-cli-config?/web"]
  60. ssr = ["dep:dioxus-ssr", "dioxus-config-macro/ssr"]
  61. liveview = ["dep:dioxus-liveview", "dioxus-config-macro/liveview"]
  62. server = ["dioxus-fullstack?/axum", "dioxus-fullstack?/server", "ssr", "dioxus-liveview?/axum"]
  63. # This feature just disables the no-renderer-enabled warning
  64. third-party-renderer = []
  65. [dev-dependencies]
  66. futures-util = { workspace = true }
  67. tracing = { workspace = true }
  68. rand = { version = "0.8.4", features = ["small_rng"] }
  69. criterion = { workspace = true }
  70. thiserror = { workspace = true }
  71. env_logger = "0.10.0"
  72. tokio = { workspace = true, features = ["full"] }
  73. dioxus = { workspace = true }
  74. [[bench]]
  75. name = "jsframework"
  76. harness = false
  77. [package.metadata.docs.rs]
  78. cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
  79. features = [
  80. "router",
  81. "ssr",
  82. "web",
  83. "fullstack",
  84. "signals",
  85. "hooks",
  86. "html",
  87. "liveview",
  88. "server",
  89. "warnings"
  90. ]