Cargo.toml 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. [package]
  2. name = "dioxus-fullstack"
  3. authors = ["Jonathan Kelley", "Evan Almloff"]
  4. version = { workspace = true }
  5. edition = "2021"
  6. description = "Fullstack utilities for Dioxus: 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", "server"]
  11. resolver = "2"
  12. [dependencies]
  13. # server functions
  14. server_fn = { version = "0.6.5", features = ["json", "url", "browser"], default-features = false }
  15. dioxus_server_macro = { workspace = true }
  16. # axum
  17. axum = { workspace = true, features = ["ws", "macros"], optional = true }
  18. tower-http = { workspace = true, optional = true, features = ["fs"] }
  19. dioxus-lib = { workspace = true }
  20. generational-box = { workspace = true }
  21. # Dioxus + SSR
  22. dioxus-ssr = { workspace = true, optional = true }
  23. dioxus-isrg = { workspace = true, optional = true }
  24. hyper = { workspace = true, optional = true }
  25. http = { workspace = true, optional = true }
  26. # Web Integration
  27. dioxus-web = { workspace = true, features = ["hydrate"], default-features = false, optional = true }
  28. dioxus-interpreter-js = { workspace = true, optional = true }
  29. # Desktop Integration
  30. dioxus-desktop = { workspace = true, optional = true }
  31. # Mobile Integration
  32. dioxus-mobile = { workspace = true, optional = true }
  33. tracing = { workspace = true }
  34. tracing-futures = { workspace = true, optional = true }
  35. once_cell = { workspace = true }
  36. tokio-util = { version = "0.7.8", features = ["rt"], optional = true }
  37. async-trait = { version = "0.1.58", optional = true }
  38. serde = "1.0.159"
  39. tokio-stream = { version = "0.1.12", features = ["sync"], optional = true }
  40. futures-util = { workspace = true }
  41. futures-channel = { workspace = true }
  42. ciborium = { workspace = true }
  43. base64 = { workspace = true }
  44. rustls = { workspace = true, optional = true }
  45. hyper-rustls = { workspace = true, optional = true }
  46. pin-project = { version = "1.1.2", optional = true }
  47. thiserror = { workspace = true, optional = true }
  48. bytes = "1.4.0"
  49. tower = { workspace = true, features = ["util"], optional = true }
  50. tower-layer = { version = "0.3.2", optional = true }
  51. parking_lot = { workspace = true, features = ["send_guard"], optional = true }
  52. web-sys = { version = "0.3.61", optional = true, features = ["Window", "Document", "Element", "HtmlDocument", "Storage", "console"] }
  53. dioxus-cli-config = { workspace = true, optional = true }
  54. dioxus-devtools = { workspace = true, optional = true }
  55. aws-lc-rs = { version = "1.8.1", optional = true }
  56. dioxus-history.workspace = true
  57. [target.'cfg(target_arch = "wasm32")'.dependencies]
  58. tokio = { workspace = true, features = ["rt", "sync"], optional = true }
  59. [target.'cfg(not(target_arch = "wasm32"))'.dependencies]
  60. tokio = { workspace = true, features = ["rt", "sync", "rt-multi-thread"], optional = true }
  61. [dev-dependencies]
  62. dioxus = { workspace = true, features = ["fullstack"] }
  63. [features]
  64. default = ["devtools", "document", "file_engine", "mounted"]
  65. devtools = ["dioxus-web?/devtools", "dep:dioxus-devtools"]
  66. mounted = ["dioxus-web?/mounted"]
  67. file_engine = ["dioxus-web?/file_engine"]
  68. document = ["dioxus-web?/document"]
  69. web = ["dep:dioxus-web", "dep:web-sys"]
  70. desktop = ["dep:dioxus-desktop", "server_fn/reqwest", "dioxus_server_macro/reqwest"]
  71. mobile = ["dep:dioxus-mobile", "server_fn/reqwest", "dioxus_server_macro/reqwest"]
  72. default-tls = ["server_fn/default-tls"]
  73. rustls = ["server_fn/rustls", "dep:rustls", "dep:hyper-rustls"]
  74. axum = ["dep:axum", "dep:tower-http", "server", "server_fn/axum", "dioxus_server_macro/axum", "default-tls"]
  75. server = [
  76. "server_fn/ssr",
  77. "dioxus_server_macro/server",
  78. "dep:tokio",
  79. "dep:tokio-util",
  80. "dep:tokio-stream",
  81. "dep:dioxus-ssr",
  82. "dep:dioxus-isrg",
  83. "dep:tower",
  84. "dep:hyper",
  85. "dep:http",
  86. "dep:tower-layer",
  87. "dep:tracing-futures",
  88. "dep:pin-project",
  89. "dep:thiserror",
  90. "dep:dioxus-cli-config",
  91. "dep:async-trait",
  92. "dep:parking_lot",
  93. "dioxus-interpreter-js",
  94. ]
  95. aws-lc-rs = ["dep:aws-lc-rs"]
  96. [package.metadata.docs.rs]
  97. cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
  98. features = ["axum", "web", "aws-lc-rs"]