[workspace] resolver = "2" members = [ "packages/dioxus", "packages/dioxus-lib", "packages/core", "packages/core-types", "packages/cli", "packages/core-types", "packages/core-macro", "packages/config-macro", "packages/router-macro", "packages/extension", "packages/router", "packages/html", "packages/html-internal-macro", "packages/hooks", "packages/web", "packages/ssr", "packages/desktop", "packages/mobile", "packages/interpreter", "packages/liveview", "packages/autofmt", "packages/check", "packages/cli-config", "packages/cli", "packages/config-macro", "packages/core-macro", "packages/core-types", "packages/core", "packages/desktop", "packages/devtools-types", "packages/devtools", "packages/dioxus-lib", "packages/dioxus", "packages/document", "packages/extension", "packages/fullstack", "packages/generational-box", "packages/history", "packages/hooks", "packages/html-internal-macro", "packages/html", "packages/interpreter", "packages/lazy-js-bundle", "packages/liveview", "packages/mobile", "packages/router-macro", "packages/router", "packages/rsx-hotreload", "packages/rsx-rosetta", "packages/rsx", "packages/server-macro", "packages/signals", "packages/ssr", "packages/lazy-js-bundle", "packages/cli-config", "packages/devtools", "packages/devtools-types", "packages/isrg", "packages/rsx-hotreload", "packages/dx-wire-format", # Playwright tests "packages/playwright-tests/liveview", "packages/playwright-tests/web", "packages/playwright-tests/fullstack", "packages/playwright-tests/suspense-carousel", "packages/playwright-tests/nested-suspense", # manganis "packages/manganis/manganis", "packages/manganis/manganis-macro", "packages/manganis/manganis-core", # Full project examples "example-projects/fullstack-hackernews", "example-projects/ecommerce-site", "example-projects/wifi-scanner", "example-projects/file-explorer", # 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", # Playwright tests "packages/playwright-tests/liveview", "packages/playwright-tests/web", "packages/playwright-tests/fullstack", "packages/playwright-tests/suspense-carousel", "packages/playwright-tests/nested-suspense", ] [workspace.package] version = "0.6.0-alpha.5" # dependencies that are shared across packages [workspace.dependencies] dioxus = { path = "packages/dioxus", version = "0.6.0-alpha.5" } dioxus-lib = { path = "packages/dioxus-lib", version = "0.6.0-alpha.5" } dioxus-core = { path = "packages/core", version = "0.6.0-alpha.5" } dioxus-core-types = { path = "packages/core-types", version = "0.6.0-alpha.5" } dioxus-core-macro = { path = "packages/core-macro", version = "0.6.0-alpha.5" } dioxus-config-macro = { path = "packages/config-macro", version = "0.6.0-alpha.5" } dioxus-router = { path = "packages/router", version = "0.6.0-alpha.5" } dioxus-router-macro = { path = "packages/router-macro", version = "0.6.0-alpha.5" } dioxus-document = { path = "packages/document", version = "0.6.0-alpha.5", default-features = false } dioxus-history = { path = "packages/history", version = "0.6.0-alpha.5", default-features = false } dioxus-html = { path = "packages/html", version = "0.6.0-alpha.5", default-features = false } dioxus-html-internal-macro = { path = "packages/html-internal-macro", version = "0.6.0-alpha.5" } dioxus-hooks = { path = "packages/hooks", version = "0.6.0-alpha.5" } dioxus-web = { path = "packages/web", version = "0.6.0-alpha.5", default-features = false } dioxus-isrg = { path = "packages/isrg", version = "0.6.0-alpha.5" } dioxus-ssr = { path = "packages/ssr", version = "0.6.0-alpha.5", default-features = false } dioxus-desktop = { path = "packages/desktop", version = "0.6.0-alpha.5", default-features = false } dioxus-mobile = { path = "packages/mobile", version = "0.6.0-alpha.5" } dioxus-interpreter-js = { path = "packages/interpreter", version = "0.6.0-alpha.5" } dioxus-liveview = { path = "packages/liveview", version = "0.6.0-alpha.5" } dioxus-autofmt = { path = "packages/autofmt", version = "0.6.0-alpha.5" } dioxus-check = { path = "packages/check", version = "0.6.0-alpha.5" } dioxus-rsx = { path = "packages/rsx", version = "0.6.0-alpha.5" } dioxus-rsx-hotreload = { path = "packages/rsx-hotreload", version = "0.6.0-alpha.5" } dioxus-rsx-rosetta = { path = "packages/rsx-rosetta", version = "0.6.0-alpha.5" } dioxus-signals = { path = "packages/signals", version = "0.6.0-alpha.5" } dioxus-cli-config = { path = "packages/cli-config", version = "0.6.0-alpha.5" } generational-box = { path = "packages/generational-box", version = "0.6.0-alpha.5" } dioxus-devtools = { path = "packages/devtools", version = "0.6.0-alpha.5" } dioxus-devtools-types = { path = "packages/devtools-types", version = "0.6.0-alpha.5" } dioxus-fullstack = { path = "packages/fullstack", version = "0.6.0-alpha.5" } dioxus_server_macro = { path = "packages/server-macro", version = "0.6.0-alpha.5", default-features = false } dioxus-dx-wire-format = { path = "packages/dx-wire-format", version = "0.6.0-alpha.5" } lazy-js-bundle = { path = "packages/lazy-js-bundle", version = "0.6.0-alpha.5" } manganis = { path = "packages/manganis/manganis", version = "0.6.0-alpha.5" } manganis-core = { path = "packages/manganis/manganis-core", version = "0.6.0-alpha.5" } manganis-macro = { path = "packages/manganis/manganis-macro", version = "0.6.0-alpha.5" } warnings = { version = "0.2.1" } # a fork of pretty please for tests - let's get off of this if we can! prettier-please = { version = "0.3.0", features = ["verbatim"]} clap = { version = "4.5.7" } askama_escape = "0.10.3" tracing = "0.1.37" tracing-futures = "0.2.5" toml = "0.8" tokio = "1.40" slab = "0.4.2" slotmap = { version = "1.0.7", features = ["serde"] } futures-channel = "0.3.21" futures-util = { version = "0.3", default-features = false } rustc-hash = "1.1.0" wasm-bindgen = "0.2.95" wasm-bindgen-cli-support = "0.2.95" wasm-bindgen-shared = "0.2.95" wasm-bindgen-futures = "0.4.42" html_parser = "0.7.0" thiserror = "1.0.40" prettyplease = { version = "0.2.20", features = ["verbatim"] } const_format = "0.2.32" cargo_toml = { version = "0.20.3" } tauri-utils = { version = "=2.0.2" } tauri-bundler = { version = "=2.0.4" } lru = "0.12.2" async-trait = "0.1.77" axum = "0.7.0" axum-server = { version = "0.7.1", default-features = false } tower = "0.4.13" http = "1.0.0" notify = { version = "6.1.1" } tower-http = "0.5.2" hyper = "1.0.0" hyper-rustls = { version= "0.27.2", default-features = false , features=["native-tokio","http1","http2","tls12","logging","ring"]} rustls = { version="0.23.12", default-features=false, features =["logging","std","tls12","ring"] } serde_json = "1.0.61" serde = "1.0.61" syn = "2.0" quote = "1.0" proc-macro2 = "1.0" axum_session = "0.12.1" axum_session_auth = "0.12.1" axum-extra = "0.9.2" reqwest = "0.12.5" owo-colors = "4.0.0" ciborium = "0.2.1" base64 = "0.22.1" once_cell = "1.17.1" uuid = "1.9.1" convert_case = "0.6.0" tokio-tungstenite = { version = "0.23.1" } gloo-timers = "0.3.0" fluent-uri = { version = "0.2.0", features = ["serde"] } internment = { version = "0.7.0" } proc-macro2-diagnostics = { version = "0.10", default-features = false } env_logger = "0.11.0" tracing-subscriber = "0.3.17" chrono = { version = "0.4.34" } gloo = { version = "0.8.0" } gloo-utils = { version = "0.1.6" } rustversion = "1.0.17" rand = "0.8.5" longest-increasing-subsequence = "0.1.0" trybuild = "1.0" js-sys = "0.3.56" web-sys = { version = "0.3.56", default-features = false } dirs = "5.0.1" cargo-config2 = "0.1.26" criterion = { version = "0.5" } walrus = "0.22.0" cargo_metadata = "0.18.1" # desktop wry = { version = "0.45.0", default-features = false } tao = { version = "=0.30.0", features = ["rwh_05"] } webbrowser = "1.0.1" infer = "0.16.0" dunce = "1.0.2" urlencoding = "2.1.2" global-hotkey = "0.6.0" rfd = { version = "0.14", default-features = false } muda = "0.14.0" cocoa = "0.26" core-foundation = "0.10.0" objc = { version = "0.2.7", features = ["exception"] } objc_id = "0.1.1" tray-icon = "0.19" # 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] incremental = true debug = 0 [profile.release-max-opt] inherits = "release" lto = true codegen-units = 1 # Disable debug assertions to check the released path of core and other packages, but build without optimizations to keep build times quick [profile.release-unoptimized] inherits = "dev" debug-assertions = false incremental = true # This is a "virtual package" # It is not meant to be published, but is used so "cargo run --example XYZ" works properly [package] name = "dioxus-examples" authors = ["Jonathan Kelley"] edition = "2021" 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.79.0" publish = false version = "0.6.0-alpha.5" [dependencies] reqwest = { workspace = true, features = ["json"], optional = true } ciborium = { workspace = true, optional = true } base64 = { workspace = true, optional = true } http-range = { version = "0.1.5", optional = true } [dev-dependencies] dioxus = { workspace = true, features = ["router"] } dioxus-ssr = { workspace = true } futures-util = "0.3.21" separator = "0.4.1" serde = { version = "1.0.136", features = ["derive"] } serde_json = "1.0.79" rand = { version = "0.8.4", features = ["small_rng"] } form_urlencoded = "1.2.0" async-std = "1.12.0" web-time = "1.1.0" [target.'cfg(target_arch = "wasm32")'.dev-dependencies] getrandom = { version = "0.2.12", features = ["js"] } tokio = { version = "1.40", default-features = false, features = [ "sync", "macros", "io-util", "rt", "time" ] } [target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies] tokio = { version = "1.40", features = ["full"] } # force vendored openssl on android [target.'cfg(target_os = "android")'.dev-dependencies] openssl = { version = "0.10", features = ["vendored"] } # To make most examples faster to compile, we split out assets and http-related stuff # This trims off like 270 dependencies, leading to a significant speedup in compilation time [features] default = ["desktop"] desktop = ["dioxus/desktop"] liveview = ["dioxus/liveview"] fullstack = ["dioxus/fullstack"] server = ["dioxus/server"] mobile = ["dioxus/mobile"] web = ["dioxus/web"] http = ["dep:reqwest", "dep:http-range"] [[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"] doc-scrape-examples = true [[example]] name = "weather_app" required-features = ["http"] doc-scrape-examples = true [[example]] name = "image_generator_openai" required-features = ["http"] doc-scrape-examples = true [[example]] name = "hash_fragment_state" required-features = ["ciborium", "base64"] doc-scrape-examples = true [[example]] name = "backgrounded_futures" required-features = ["desktop"] doc-scrape-examples = true [[example]] name = "calculator_mutable" required-features = ["desktop"] doc-scrape-examples = true [[example]] name = "calculator" required-features = ["desktop"] doc-scrape-examples = true [[example]] name = "clock" doc-scrape-examples = true [[example]] name = "crm" required-features = ["desktop"] doc-scrape-examples = true [[example]] name = "custom_html" required-features = ["desktop"] doc-scrape-examples = true [[example]] name = "custom_menu" 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 = "window_event" required-features = ["desktop"] doc-scrape-examples = true [[example]] name = "window_focus" required-features = ["desktop"] doc-scrape-examples = true [[example]] name = "window_zoom" required-features = ["desktop"] doc-scrape-examples = true [[example]] name = "control_focus" doc-scrape-examples = true [[example]] name = "eval" doc-scrape-examples = true