Cargo.toml 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  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.8.0-rc1", features = ["browser"], default-features = false }
  15. dioxus_server_macro = { workspace = true }
  16. # axum
  17. axum = { workspace = true, 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. dioxus-router = { workspace = true, features = ["streaming"], optional = true }
  25. dioxus-fullstack-hooks = { workspace = true }
  26. dioxus-fullstack-protocol = { workspace = true }
  27. hyper = { workspace = true, optional = true }
  28. http = { workspace = true, optional = true }
  29. # Web Integration
  30. dioxus-web = { workspace = true, features = ["hydrate"], default-features = false, optional = true }
  31. dioxus-interpreter-js = { workspace = true, optional = true }
  32. # Desktop Integration
  33. dioxus-desktop = { workspace = true, optional = true }
  34. # Mobile Integration
  35. dioxus-mobile = { workspace = true, optional = true }
  36. tracing = { workspace = true }
  37. tracing-futures = { workspace = true, optional = true }
  38. once_cell = { workspace = true }
  39. tokio-util = { workspace = true, features = ["rt"], optional = true }
  40. async-trait = { workspace = true, optional = true }
  41. serde = { workspace = true }
  42. tokio-stream = { workspace = true, features = ["sync"], optional = true }
  43. futures-util = { workspace = true }
  44. futures-channel = { workspace = true }
  45. ciborium = { workspace = true }
  46. base64 = { workspace = true }
  47. rustls = { workspace = true, optional = true }
  48. hyper-rustls = { workspace = true, optional = true }
  49. pin-project = { version = "1.1.10", optional = true }
  50. thiserror = { workspace = true, optional = true }
  51. bytes = "1.10.0"
  52. tower = { workspace = true, features = ["util"], optional = true }
  53. tower-layer = { version = "0.3.3", optional = true }
  54. parking_lot = { workspace = true, features = ["send_guard"], optional = true }
  55. web-sys = { version = "0.3.77", optional = true, features = [
  56. "Window",
  57. "Document",
  58. "Element",
  59. "HtmlDocument",
  60. "Storage",
  61. "console",
  62. ] }
  63. dioxus-cli-config = { workspace = true, optional = true }
  64. dioxus-devtools = { workspace = true, optional = true }
  65. aws-lc-rs = { version = "1.12.5", optional = true }
  66. dioxus-history = { workspace = true }
  67. [target.'cfg(target_arch = "wasm32")'.dependencies]
  68. tokio = { workspace = true, features = ["rt", "sync"], optional = true }
  69. [target.'cfg(not(target_arch = "wasm32"))'.dependencies]
  70. tokio = { workspace = true, features = ["rt", "sync", "rt-multi-thread"], optional = true }
  71. [dev-dependencies]
  72. dioxus = { workspace = true, features = ["fullstack"] }
  73. [features]
  74. default = ["devtools", "document", "file_engine", "mounted"]
  75. devtools = ["dioxus-web?/devtools", "dep:dioxus-devtools"]
  76. mounted = ["dioxus-web?/mounted"]
  77. file_engine = ["dioxus-web?/file_engine"]
  78. document = ["dioxus-web?/document"]
  79. web = ["dep:dioxus-web", "dep:web-sys", "dioxus-fullstack-hooks/web"]
  80. desktop = ["dep:dioxus-desktop", "server_fn/reqwest", "dioxus_server_macro/reqwest"]
  81. mobile = ["dep:dioxus-mobile", "server_fn/reqwest", "dioxus_server_macro/reqwest"]
  82. default-tls = ["server_fn/default-tls"]
  83. rustls = ["server_fn/rustls", "dep:rustls", "dep:hyper-rustls"]
  84. axum_core = [
  85. "dep:axum",
  86. "server_fn/axum-no-default",
  87. "dioxus_server_macro/axum",
  88. "default-tls",
  89. "server",
  90. ]
  91. axum = [
  92. "dep:tower-http",
  93. "server_fn/axum",
  94. "axum_core",
  95. ]
  96. server = [
  97. "server_fn/ssr",
  98. "dioxus_server_macro/server",
  99. "dioxus-fullstack-hooks/server",
  100. "dep:tokio",
  101. "dep:tokio-util",
  102. "dep:tokio-stream",
  103. "dep:dioxus-ssr",
  104. "dep:dioxus-isrg",
  105. "dep:dioxus-router",
  106. "dep:tower",
  107. "dep:hyper",
  108. "dep:http",
  109. "dep:tower-layer",
  110. "dep:tracing-futures",
  111. "dep:pin-project",
  112. "dep:thiserror",
  113. "dep:dioxus-cli-config",
  114. "dep:async-trait",
  115. "dep:parking_lot",
  116. "dioxus-interpreter-js",
  117. ]
  118. aws-lc-rs = ["dep:aws-lc-rs"]
  119. [package.metadata.docs.rs]
  120. cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
  121. features = ["axum", "web", "aws-lc-rs"]