Cargo.toml 4.4 KB

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