Cargo.toml 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  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.7.3", features = ["json", "url", "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 = { version = "0.7.8", features = ["rt"], optional = true }
  40. async-trait = { version = "0.1.58", optional = true }
  41. serde = "1.0.159"
  42. tokio-stream = { version = "0.1.12", 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.2", optional = true }
  50. thiserror = { workspace = true, optional = true }
  51. bytes = "1.4.0"
  52. tower = { workspace = true, features = ["util"], optional = true }
  53. tower-layer = { version = "0.3.2", optional = true }
  54. parking_lot = { workspace = true, features = ["send_guard"], optional = true }
  55. web-sys = { version = "0.3.61", optional = true, features = ["Window", "Document", "Element", "HtmlDocument", "Storage", "console"] }
  56. dioxus-cli-config = { workspace = true, optional = true }
  57. dioxus-devtools = { workspace = true, optional = true }
  58. aws-lc-rs = { version = "1.8.1", optional = true }
  59. dioxus-history.workspace = true
  60. [target.'cfg(target_arch = "wasm32")'.dependencies]
  61. tokio = { workspace = true, features = ["rt", "sync"], optional = true }
  62. [target.'cfg(not(target_arch = "wasm32"))'.dependencies]
  63. tokio = { workspace = true, features = ["rt", "sync", "rt-multi-thread"], optional = true }
  64. [dev-dependencies]
  65. dioxus = { workspace = true, features = ["fullstack"] }
  66. [features]
  67. default = ["devtools", "document", "file_engine", "mounted"]
  68. devtools = ["dioxus-web?/devtools", "dep:dioxus-devtools"]
  69. mounted = ["dioxus-web?/mounted"]
  70. file_engine = ["dioxus-web?/file_engine"]
  71. document = ["dioxus-web?/document"]
  72. web = ["dep:dioxus-web", "dep:web-sys", "dioxus-fullstack-hooks/web"]
  73. desktop = ["dep:dioxus-desktop", "server_fn/reqwest", "dioxus_server_macro/reqwest"]
  74. mobile = ["dep:dioxus-mobile", "server_fn/reqwest", "dioxus_server_macro/reqwest"]
  75. default-tls = ["server_fn/default-tls"]
  76. rustls = ["server_fn/rustls", "dep:rustls", "dep:hyper-rustls"]
  77. axum_core = [
  78. "dep:axum",
  79. "server_fn/axum-no-default",
  80. "dioxus_server_macro/axum",
  81. "default-tls",
  82. "server",
  83. ]
  84. axum = [
  85. "dep:tower-http",
  86. "server_fn/axum",
  87. "axum_core",
  88. ]
  89. server = [
  90. "server_fn/ssr",
  91. "dioxus_server_macro/server",
  92. "dioxus-fullstack-hooks/server",
  93. "dep:tokio",
  94. "dep:tokio-util",
  95. "dep:tokio-stream",
  96. "dep:dioxus-ssr",
  97. "dep:dioxus-isrg",
  98. "dep:dioxus-router",
  99. "dep:tower",
  100. "dep:hyper",
  101. "dep:http",
  102. "dep:tower-layer",
  103. "dep:tracing-futures",
  104. "dep:pin-project",
  105. "dep:thiserror",
  106. "dep:dioxus-cli-config",
  107. "dep:async-trait",
  108. "dep:parking_lot",
  109. "dioxus-interpreter-js",
  110. ]
  111. aws-lc-rs = ["dep:aws-lc-rs"]
  112. [package.metadata.docs.rs]
  113. cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
  114. features = ["axum", "web", "aws-lc-rs"]