codify "platform" into resolution logic, server-fn/fullstack overhaul (#4596)
overhaul dioxus fullstack using a new implementation of server_fn This PR is a complete rewrite of dioxus fullstack designed to improve compatibility with axum and to fix a number of compilation errors based on feature flag unification plumbing through macros.
This commit is contained in:
1 parent
8421c3aef0
commit
f2b1c6d97f
424 files changed
+17284
-6624
No files matched your search
+447
-143
@@ -35,8 +35,9 @@ members = [
|
||||
"packages/document",
|
||||
"packages/extension",
|
||||
"packages/fullstack",
|
||||
"packages/fullstack-hooks",
|
||||
"packages/fullstack-protocol",
|
||||
"packages/fullstack-core",
|
||||
"packages/fullstack-macro",
|
||||
"packages/fullstack-server",
|
||||
"packages/generational-box",
|
||||
"packages/history",
|
||||
"packages/hooks",
|
||||
@@ -50,7 +51,6 @@ members = [
|
||||
"packages/rsx-hotreload",
|
||||
"packages/rsx-rosetta",
|
||||
"packages/rsx",
|
||||
"packages/server-macro",
|
||||
"packages/signals",
|
||||
"packages/stores",
|
||||
"packages/stores-macro",
|
||||
@@ -59,7 +59,6 @@ members = [
|
||||
"packages/cli-config",
|
||||
"packages/devtools",
|
||||
"packages/devtools-types",
|
||||
"packages/isrg",
|
||||
"packages/rsx-hotreload",
|
||||
"packages/const-serialize",
|
||||
"packages/const-serialize-macro",
|
||||
@@ -70,7 +69,9 @@ members = [
|
||||
"packages/native-dom",
|
||||
"packages/asset-resolver",
|
||||
"packages/depinfo",
|
||||
"packages/server",
|
||||
|
||||
# CLI harnesses, all included
|
||||
"packages/cli-harnesses/*",
|
||||
|
||||
# Playwright tests
|
||||
"packages/playwright-tests/liveview",
|
||||
@@ -98,25 +99,27 @@ members = [
|
||||
"packages/subsecond/subsecond-tests/cross-tls-test",
|
||||
|
||||
# Full project examples
|
||||
"examples/fullstack-hackernews",
|
||||
"examples/ecommerce-site",
|
||||
"examples/bluetooth-scanner",
|
||||
"examples/file-explorer",
|
||||
"examples/hotdog",
|
||||
"examples/01-app-demos/hackernews",
|
||||
"examples/01-app-demos/ecommerce-site",
|
||||
"examples/01-app-demos/bluetooth-scanner",
|
||||
"examples/01-app-demos/file-explorer",
|
||||
"examples/01-app-demos/hotdog",
|
||||
|
||||
# Simple examples that require a crate
|
||||
"examples/tailwind",
|
||||
"examples/pwa",
|
||||
"examples/fullstack-hello-world",
|
||||
"examples/fullstack-router",
|
||||
"examples/fullstack-streaming",
|
||||
"examples/fullstack-desktop",
|
||||
"examples/fullstack-auth",
|
||||
"examples/fullstack-websockets",
|
||||
"examples/wgpu-texture",
|
||||
"examples/native-headless",
|
||||
"examples/native-headless-in-bevy",
|
||||
"examples/bevy",
|
||||
# Fullstack examples
|
||||
"examples/07-fullstack/hello-world",
|
||||
"examples/07-fullstack/router",
|
||||
"examples/07-fullstack/desktop",
|
||||
"examples/07-fullstack/auth",
|
||||
"examples/07-fullstack/auth-with-fullstack",
|
||||
"examples/07-fullstack/ssr-only",
|
||||
|
||||
# Integrations
|
||||
"examples/10-integrations/tailwind",
|
||||
"examples/10-integrations/pwa",
|
||||
"examples/10-integrations/wgpu-texture",
|
||||
"examples/10-integrations/native-headless",
|
||||
"examples/10-integrations/native-headless-in-bevy",
|
||||
"examples/10-integrations/bevy",
|
||||
|
||||
# Playwright tests
|
||||
"packages/playwright-tests/liveview",
|
||||
@@ -141,7 +144,6 @@ version = "0.7.0-rc.0"
|
||||
# dependencies that are shared across packages
|
||||
[workspace.dependencies]
|
||||
dioxus = { path = "packages/dioxus", version = "0.7.0-rc.0" }
|
||||
dioxus-lib = { path = "packages/dioxus-lib", version = "0.7.0-rc.0" }
|
||||
dioxus-core = { path = "packages/core", version = "0.7.0-rc.0" }
|
||||
dioxus-core-types = { path = "packages/core-types", version = "0.7.0-rc.0" }
|
||||
dioxus-core-macro = { path = "packages/core-macro", version = "0.7.0-rc.0" }
|
||||
@@ -154,10 +156,8 @@ dioxus-html = { path = "packages/html", version = "0.7.0-rc.0", default-features
|
||||
dioxus-html-internal-macro = { path = "packages/html-internal-macro", version = "0.7.0-rc.0" }
|
||||
dioxus-hooks = { path = "packages/hooks", version = "0.7.0-rc.0" }
|
||||
dioxus-web = { path = "packages/web", version = "0.7.0-rc.0", default-features = false }
|
||||
dioxus-isrg = { path = "packages/isrg", version = "0.7.0-rc.0" }
|
||||
dioxus-ssr = { path = "packages/ssr", version = "0.7.0-rc.0", default-features = false }
|
||||
dioxus-desktop = { path = "packages/desktop", version = "0.7.0-rc.0", default-features = false }
|
||||
dioxus-mobile = { path = "packages/mobile", version = "0.7.0-rc.0" }
|
||||
dioxus-interpreter-js = { path = "packages/interpreter", version = "0.7.0-rc.0" }
|
||||
dioxus-liveview = { path = "packages/liveview", version = "0.7.0-rc.0" }
|
||||
dioxus-autofmt = { path = "packages/autofmt", version = "0.7.0-rc.0" }
|
||||
@@ -170,11 +170,10 @@ dioxus-stores = { path = "packages/stores", version = "0.7.0-rc.0" }
|
||||
dioxus-stores-macro = { path = "packages/stores-macro", version = "0.7.0-rc.0" }
|
||||
dioxus-devtools = { path = "packages/devtools", version = "0.7.0-rc.0" }
|
||||
dioxus-devtools-types = { path = "packages/devtools-types", version = "0.7.0-rc.0" }
|
||||
dioxus-server = { path = "packages/server", version = "0.7.0-rc.0" }
|
||||
dioxus-fullstack = { path = "packages/fullstack", version = "0.7.0-rc.0" }
|
||||
dioxus-fullstack-hooks = { path = "packages/fullstack-hooks", version = "0.7.0-rc.0" }
|
||||
dioxus-fullstack-protocol = { path = "packages/fullstack-protocol", version = "0.7.0-rc.0" }
|
||||
dioxus_server_macro = { path = "packages/server-macro", version = "0.7.0-rc.0", default-features = false }
|
||||
dioxus-fullstack = { path = "packages/fullstack", version = "0.7.0-rc.0", default-features = false}
|
||||
dioxus-fullstack-core = { path = "packages/fullstack-core", version = "0.7.0-rc.0", default-features = false}
|
||||
dioxus-fullstack-macro = { path = "packages/fullstack-macro", version = "0.7.0-rc.0", default-features = false }
|
||||
dioxus-server = { path = "packages/fullstack-server", version = "0.7.0-rc.0" }
|
||||
dioxus-dx-wire-format = { path = "packages/dx-wire-format", version = "0.7.0-rc.0" }
|
||||
dioxus-logger = { path = "packages/logger", version = "0.7.0-rc.0" }
|
||||
dioxus-native = { path = "packages/native", version = "0.7.0-rc.0" }
|
||||
@@ -207,7 +206,6 @@ manganis-macro = { path = "packages/manganis/manganis-macro", version = "0.7.0-r
|
||||
wasm-splitter = { path = "packages/wasm-split/wasm-split", version = "0.7.0-rc.0" }
|
||||
wasm-split-macro = { path = "packages/wasm-split/wasm-split-macro", version = "0.7.0-rc.0" }
|
||||
wasm-split-cli = { path = "packages/wasm-split/wasm-split-cli", version = "0.7.0-rc.0" }
|
||||
wasm-split-harness = { path = "packages/playwright-tests/wasm-split-harness", version = "0.7.0-rc.0" }
|
||||
wasm-used = { path = "packages/wasm-split/wasm-used", version = "0.7.0-rc.0" }
|
||||
|
||||
depinfo = { path = "packages/depinfo", version = "0.7.0-rc.0" }
|
||||
@@ -257,8 +255,7 @@ lru = "0.16.0"
|
||||
async-trait = "0.1.88"
|
||||
axum = { version = "0.8.4", default-features = false }
|
||||
axum-server = { version = "0.7.2", default-features = false }
|
||||
server_fn = { version = "=0.8.3", default-features = false }
|
||||
server_fn_macro = { version = "=0.8.3" }
|
||||
http-body = { version = "1.0"}
|
||||
tower = "0.5.2"
|
||||
http = "1.3.1"
|
||||
notify = { version = "8.1.0" }
|
||||
@@ -277,12 +274,13 @@ serde_json = "1.0.140"
|
||||
serde = "1.0.219"
|
||||
syn = "2.0"
|
||||
quote = "1.0"
|
||||
axum-core = "0.5"
|
||||
proc-macro2 = "1.0.101"
|
||||
axum_session = "0.16.0"
|
||||
axum_session_auth = "0.16.0"
|
||||
axum_session_sqlx = "0.5.0"
|
||||
axum-extra = "0.10.1"
|
||||
reqwest = "0.12.22"
|
||||
reqwest = { version = "0.12.23", default-features = false }
|
||||
owo-colors = "4.2.2"
|
||||
ciborium = "0.2.2"
|
||||
base64 = "0.22.1"
|
||||
@@ -291,13 +289,10 @@ convert_case = "0.8.0"
|
||||
tungstenite = { version = "0.27.0" }
|
||||
tokio-tungstenite = { version = "0.27.0" }
|
||||
gloo-timers = "0.3.0"
|
||||
fluent-uri = { version = "0.3.2", features = ["serde"] }
|
||||
internment = { version = "0.8.6" }
|
||||
proc-macro2-diagnostics = { version = "0.10", default-features = false }
|
||||
env_logger = "0.11.8"
|
||||
chrono = { version = "0.4.39" }
|
||||
gloo = { version = "0.11.0" }
|
||||
gloo-utils = { version = "0.2.0" }
|
||||
rustversion = "1.0.21"
|
||||
rand = "0.9"
|
||||
longest-increasing-subsequence = "0.1.0"
|
||||
@@ -320,7 +315,6 @@ rayon = "1.10.0"
|
||||
wasmparser = "0.235.0"
|
||||
itertools = "0.14.0"
|
||||
object = { version = "0.37.1" }
|
||||
bincode = "1.3.3"
|
||||
inventory = { version = "0.3" }
|
||||
macro-string = "0.1.4"
|
||||
walkdir = "2.5.0"
|
||||
@@ -334,6 +328,16 @@ libloading = "0.8.8"
|
||||
libc = "0.2.174"
|
||||
memmap2 = "0.9.5"
|
||||
memfd = "0.6.4"
|
||||
xxhash-rust = {version = "0.8.15", default-features = false}
|
||||
serde_qs = "0.15.0"
|
||||
multer = "3.1.0"
|
||||
const-str = "0.7.0"
|
||||
bytes = "1.10"
|
||||
send_wrapper = "0.6.0"
|
||||
pin-project = { version = "1.1.10" }
|
||||
postcard = { version = "1.1.3", default-features = false }
|
||||
serde_urlencoded = "0.7"
|
||||
form_urlencoded = "1.2.1"
|
||||
|
||||
# desktop
|
||||
wry = { version = "0.52.1", default-features = false }
|
||||
@@ -341,13 +345,7 @@ tao = { version = "0.34.0", features = ["rwh_05"] }
|
||||
infer = "0.19.0"
|
||||
dunce = "1.0.5"
|
||||
percent-encoding = "2.3.1"
|
||||
global-hotkey = "0.7.0"
|
||||
rfd = { version = "0.15.3", default-features = false }
|
||||
muda = "0.17.0"
|
||||
cocoa = "0.26"
|
||||
core-foundation = "0.10.1"
|
||||
objc = { version = "0.2.7", features = ["exception"] }
|
||||
objc_id = "0.1.1"
|
||||
tray-icon = "0.21.0"
|
||||
open = "5.3.2"
|
||||
webbrowser = "1.0"
|
||||
@@ -362,14 +360,11 @@ path-absolutize = "3.1"
|
||||
crossterm = { version = "0.29.0" }
|
||||
ratatui = { version = "0.29.0" }
|
||||
shell-words = "1.1.0"
|
||||
color-eyre = "0.6.5"
|
||||
|
||||
# native
|
||||
keyboard-types = { version = "0.7", default-features = false }
|
||||
winit = { version = "0.30.11", features = ["rwh_06"] }
|
||||
|
||||
[profile.dev]
|
||||
|
||||
# our release profile should be fast to compile and fast to run
|
||||
# when we ship our CI builds, we turn on LTO which improves perf leftover by turning on incremental
|
||||
[profile.release]
|
||||
@@ -419,28 +414,40 @@ inherits = "dev"
|
||||
[package]
|
||||
name = "dioxus-examples"
|
||||
authors = ["Jonathan Kelley"]
|
||||
edition = "2021"
|
||||
edition = "2024"
|
||||
description = "Top level crate for the Dioxus repository"
|
||||
license = "MIT OR Apache-2.0"
|
||||
repository = "https://github.com/DioxusLabs/dioxus/"
|
||||
homepage = "https://dioxuslabs.com"
|
||||
documentation = "https://dioxuslabs.com"
|
||||
keywords = ["dom", "ui", "gui", "react", "wasm"]
|
||||
rust-version = "1.80.0"
|
||||
rust-version = "1.85.0"
|
||||
publish = false
|
||||
version = "0.7.0-rc.0"
|
||||
|
||||
[dependencies]
|
||||
reqwest = { workspace = true, features = ["json"], optional = true }
|
||||
reqwest = { workspace = true, features = ["json"] }
|
||||
ciborium = { workspace = true, optional = true }
|
||||
base64 = { workspace = true, optional = true }
|
||||
http-range = { version = "0.1.5", optional = true }
|
||||
http-range = { version = "0.1.5" }
|
||||
wgpu = { workspace = true, optional = true }
|
||||
ouroboros = { version = "*", optional = true }
|
||||
wasm-splitter = { workspace = true, package = "wasm-split" }
|
||||
wasm-splitter = { workspace = true }
|
||||
|
||||
sqlx = { version = "0.8.6", features = [
|
||||
"macros",
|
||||
"migrate",
|
||||
"postgres",
|
||||
"sqlite",
|
||||
"_unstable-all-types",
|
||||
"tls-native-tls",
|
||||
"runtime-tokio",
|
||||
], optional = true }
|
||||
wasm-streams = "0.4.2"
|
||||
|
||||
[dev-dependencies]
|
||||
dioxus = { workspace = true, features = ["router"] }
|
||||
dioxus = { workspace = true, features = ["router", "fullstack"] }
|
||||
dioxus-html = { workspace = true, features = ["serialize"] }
|
||||
dioxus-stores = { workspace = true }
|
||||
dioxus-ssr = { workspace = true }
|
||||
futures-util = { workspace = true }
|
||||
@@ -451,10 +458,17 @@ rand = { workspace = true, features = ["small_rng"] }
|
||||
form_urlencoded = "1.2.1"
|
||||
async-std = "1.13.1"
|
||||
web-time = "1.1.0"
|
||||
anyhow = { workspace = true }
|
||||
thiserror = { workspace = true }
|
||||
bytes = { workspace = true }
|
||||
futures = { workspace = true }
|
||||
axum-core = { workspace = true }
|
||||
uuid = { workspace = true, features = ["v4", "serde"] }
|
||||
|
||||
[target.'cfg(target_arch = "wasm32")'.dev-dependencies]
|
||||
getrandom = { workspace = true, features = ["wasm_js"] }
|
||||
tokio = { version = "1.46", default-features = false, features = ["sync", "macros", "io-util", "rt", "time"] }
|
||||
uuid = { workspace = true, features = ["v4", "serde", "js"] }
|
||||
|
||||
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies]
|
||||
tokio = { version = "1.46", features = ["full"] }
|
||||
@@ -466,161 +480,451 @@ default = ["desktop"]
|
||||
desktop = ["dioxus/desktop"]
|
||||
native = ["dioxus/native"]
|
||||
liveview = ["dioxus/liveview"]
|
||||
fullstack = ["dioxus/fullstack"]
|
||||
server = ["dioxus/server"]
|
||||
mobile = ["dioxus/mobile"]
|
||||
web = ["dioxus/web"]
|
||||
http = ["dep:reqwest", "dep:http-range"]
|
||||
gpu = ["dep:ouroboros", "dep:wgpu"]
|
||||
|
||||
[[example]]
|
||||
name = "login_form"
|
||||
required-features = ["http"]
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "dog_app"
|
||||
required-features = ["http"]
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "video_stream"
|
||||
required-features = ["http", "desktop"]
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "suspense"
|
||||
required-features = ["http", "desktop"]
|
||||
name = "websocket_chat"
|
||||
path = "examples/01-app-demos/websocket_chat.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "weather_app"
|
||||
required-features = ["http"]
|
||||
path = "examples/01-app-demos/weather_app.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "crm"
|
||||
path = "examples/01-app-demos/crm.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "image_generator_openai"
|
||||
required-features = ["http"]
|
||||
path = "examples/01-app-demos/image_generator_openai.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "todomvc"
|
||||
path = "examples/01-app-demos/todomvc.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "calculator_mutable"
|
||||
path = "examples/01-app-demos/calculator_mutable.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "hello_world"
|
||||
path = "examples/01-app-demos/hello_world.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "counters"
|
||||
path = "examples/01-app-demos/counters.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "todomvc_store"
|
||||
path = "examples/01-app-demos/todomvc_store.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "dog_app"
|
||||
path = "examples/01-app-demos/dog_app.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "calculator"
|
||||
path = "examples/01-app-demos/calculator.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "repo_readme"
|
||||
path = "examples/01-app-demos/repo_readme.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "nested_listeners"
|
||||
path = "examples/02-building-ui/nested_listeners.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "disabled"
|
||||
path = "examples/02-building-ui/disabled.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "svg"
|
||||
path = "examples/02-building-ui/svg.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "custom_assets"
|
||||
path = "examples/03-assets-styling/custom_assets.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "dynamic_assets"
|
||||
path = "examples/03-assets-styling/dynamic_assets.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "meta"
|
||||
path = "examples/03-assets-styling/meta.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "meta_elements"
|
||||
path = "examples/03-assets-styling/meta_elements.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "reducer"
|
||||
path = "examples/04-managing-state/reducer.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "memo_chain"
|
||||
path = "examples/04-managing-state/memo_chain.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "global"
|
||||
path = "examples/04-managing-state/global.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "context_api"
|
||||
path = "examples/04-managing-state/context_api.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "signals"
|
||||
path = "examples/04-managing-state/signals.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "errors"
|
||||
path = "examples/04-managing-state/error_handling.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "backgrounded_futures"
|
||||
path = "examples/05-using-async/backgrounded_futures.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "clock"
|
||||
path = "examples/05-using-async/clock.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "streams"
|
||||
path = "examples/05-using-async/streams.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "suspense"
|
||||
path = "examples/05-using-async/suspense.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "future"
|
||||
path = "examples/05-using-async/future.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
|
||||
[[example]]
|
||||
name = "simple_router"
|
||||
path = "examples/06-routing/simple_router.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "router_restore_scroll"
|
||||
path = "examples/06-routing/router_restore_scroll.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "link"
|
||||
path = "examples/06-routing/link.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "hash_fragment_state"
|
||||
required-features = ["ciborium", "base64"]
|
||||
path = "examples/06-routing/hash_fragment_state.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "backgrounded_futures"
|
||||
required-features = ["desktop"]
|
||||
name = "router"
|
||||
path = "examples/06-routing/router.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "calculator_mutable"
|
||||
required-features = ["desktop"]
|
||||
name = "router_resource"
|
||||
path = "examples/06-routing/router_resource.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "calculator"
|
||||
required-features = ["desktop"]
|
||||
name = "query_segment_search"
|
||||
path = "examples/06-routing/query_segment_search.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "clock"
|
||||
name = "flat_router"
|
||||
path = "examples/06-routing/flat_router.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "crm"
|
||||
name = "header_map"
|
||||
path = "examples/07-fullstack/header_map.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "login_form"
|
||||
path = "examples/07-fullstack/login_form.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "handling_errors"
|
||||
path = "examples/07-fullstack/handling_errors.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "dog_app_self_hosted"
|
||||
path = "examples/07-fullstack/dog_app_self_hosted.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "through_reqwest"
|
||||
path = "examples/07-fullstack/through_reqwest.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "streaming_file_upload"
|
||||
path = "examples/07-fullstack/streaming_file_upload.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "multipart_form"
|
||||
path = "examples/07-fullstack/multipart_form.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "full_request_access"
|
||||
path = "examples/07-fullstack/full_request_access.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "fullstack_hello_world"
|
||||
path = "examples/07-fullstack/fullstack_hello_world.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "server_sent_events"
|
||||
path = "examples/07-fullstack/server_sent_events.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "server_state"
|
||||
path = "examples/07-fullstack/server_state.rs"
|
||||
doc-scrape-examples = true
|
||||
required-features = ["sqlx"]
|
||||
|
||||
[[example]]
|
||||
name = "streaming"
|
||||
path = "examples/07-fullstack/streaming.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "custom_axum_serve"
|
||||
path = "examples/07-fullstack/custom_axum_serve.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "websocket"
|
||||
path = "examples/07-fullstack/websocket.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "control_focus"
|
||||
path = "examples/08-apis/control_focus.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "window_popup"
|
||||
required-features = ["desktop"]
|
||||
path = "examples/08-apis/window_popup.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "custom_html"
|
||||
required-features = ["desktop"]
|
||||
path = "examples/08-apis/custom_html.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "custom_menu"
|
||||
name = "multiwindow_with_tray_icon"
|
||||
required-features = ["desktop"]
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "dynamic_asset"
|
||||
required-features = ["desktop"]
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "errors"
|
||||
required-features = ["desktop"]
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "future"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "hydration"
|
||||
required-features = ["desktop"]
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "multiwindow"
|
||||
required-features = ["desktop"]
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "overlay"
|
||||
required-features = ["desktop"]
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "popup"
|
||||
required-features = ["desktop"]
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "read_size"
|
||||
required-features = ["desktop"]
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "shortcut"
|
||||
required-features = ["desktop"]
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "streams"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "visible"
|
||||
path = "examples/08-apis/multiwindow_with_tray_icon.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "window_event"
|
||||
required-features = ["desktop"]
|
||||
path = "examples/08-apis/window_event.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "read_size"
|
||||
path = "examples/08-apis/read_size.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "logging"
|
||||
path = "examples/08-apis/logging.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "overlay"
|
||||
required-features = ["desktop"]
|
||||
path = "examples/08-apis/overlay.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "ssr"
|
||||
path = "examples/08-apis/ssr.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "video_stream"
|
||||
required-features = ["desktop"]
|
||||
path = "examples/08-apis/video_stream.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "title"
|
||||
path = "examples/08-apis/title.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "file_upload"
|
||||
path = "examples/08-apis/file_upload.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "window_focus"
|
||||
required-features = ["desktop"]
|
||||
path = "examples/08-apis/window_focus.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "eval"
|
||||
path = "examples/08-apis/eval.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "shortcut"
|
||||
required-features = ["desktop"]
|
||||
path = "examples/08-apis/shortcut.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "scroll_to_offset"
|
||||
path = "examples/08-apis/scroll_to_offset.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "scroll_to_top"
|
||||
path = "examples/08-apis/scroll_to_top.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "wgpu_child_window"
|
||||
path = "examples/08-apis/wgpu_child_window.rs"
|
||||
required-features = ["gpu", "desktop"]
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "multiwindow"
|
||||
required-features = ["desktop"]
|
||||
path = "examples/08-apis/multiwindow.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "window_zoom"
|
||||
required-features = ["desktop"]
|
||||
path = "examples/08-apis/window_zoom.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "wgpu_child_window"
|
||||
required-features = ["desktop", "gpu"]
|
||||
|
||||
[[example]]
|
||||
name = "control_focus"
|
||||
name = "custom_menu"
|
||||
required-features = ["desktop"]
|
||||
path = "examples/08-apis/custom_menu.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "eval"
|
||||
name = "on_resize"
|
||||
path = "examples/08-apis/on_resize.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "logging"
|
||||
name = "form"
|
||||
path = "examples/08-apis/form.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "on_visible"
|
||||
path = "examples/08-apis/on_visible.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "all_events"
|
||||
path = "examples/09-reference/all_events.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "xss_safety"
|
||||
path = "examples/09-reference/xss_safety.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "web_component"
|
||||
path = "examples/09-reference/web_component.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "generic_component"
|
||||
path = "examples/09-reference/generic_component.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "shorthand"
|
||||
path = "examples/09-reference/shorthand.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "simple_list"
|
||||
path = "examples/09-reference/simple_list.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "optional_props"
|
||||
path = "examples/09-reference/optional_props.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "rsx_usage"
|
||||
path = "examples/09-reference/rsx_usage.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "spread"
|
||||
path = "examples/09-reference/spread.rs"
|
||||
doc-scrape-examples = true
|
||||
|
||||
[[example]]
|
||||
name = "__scrape_example_list"
|
||||
path = "examples/scripts/scrape_examples.rs"
|
||||
Reference in new issue
Block a user