[workspace] resolver = "2" members = [ "packages/dioxus", "packages/dioxus-lib", "packages/core", "packages/core-types", "packages/cli", "packages/cli-config", "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/rsx", "packages/rsx-hotreload", "packages/rsx-rosetta", "packages/generational-box", "packages/signals", "packages/hot-reload", "packages/fullstack", "packages/server-macro", "packages/static-generation", "packages/lazy-js-bundle", # 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", "examples/ssg-simple", "examples/ssg-router", "examples/ssg-github-pages", # Playwright tests "packages/playwright-tests/liveview", "packages/playwright-tests/web", "packages/playwright-tests/static-generation", "packages/playwright-tests/fullstack", "packages/playwright-tests/suspense-carousel", "packages/playwright-tests/nested-suspense", ] exclude = ["examples/mobile_demo", "examples/openid_connect_demo"] [workspace.package] version = "0.6.0-alpha.2" # dependencies that are shared across packages [workspace.dependencies] dioxus = { path = "packages/dioxus", version = "0.6.0-alpha.0" } dioxus-lib = { path = "packages/dioxus-lib", version = "0.6.0-alpha.0" } dioxus-core = { path = "packages/core", version = "0.6.0-alpha.0" } dioxus-core-types = { path = "packages/core-types", version = "0.6.0-alpha.0" } dioxus-core-macro = { path = "packages/core-macro", version = "0.6.0-alpha.0" } dioxus-config-macro = { path = "packages/config-macro", version = "0.6.0-alpha.0" } dioxus-router = { path = "packages/router", version = "0.6.0-alpha.0" } dioxus-router-macro = { path = "packages/router-macro", version = "0.6.0-alpha.0" } dioxus-html = { path = "packages/html", version = "0.6.0-alpha.0", default-features = false } dioxus-html-internal-macro = { path = "packages/html-internal-macro", version = "0.6.0-alpha.0" } dioxus-hooks = { path = "packages/hooks", version = "0.6.0-alpha.0" } dioxus-web = { path = "packages/web", version = "0.6.0-alpha.0", default-features = false } dioxus-isrg = { path = "packages/isrg", version = "0.6.0-alpha.0" } dioxus-ssr = { path = "packages/ssr", version = "0.6.0-alpha.0", default-features = false } dioxus-desktop = { path = "packages/desktop", version = "0.6.0-alpha.0", default-features = false } dioxus-mobile = { path = "packages/mobile", version = "0.6.0-alpha.0" } dioxus-interpreter-js = { path = "packages/interpreter", version = "0.6.0-alpha.0" } dioxus-liveview = { path = "packages/liveview", version = "0.6.0-alpha.0" } dioxus-autofmt = { path = "packages/autofmt", version = "0.6.0-alpha.0" } dioxus-check = { path = "packages/check", version = "0.6.0-alpha.0" } dioxus-rsx = { path = "packages/rsx", version = "0.6.0-alpha.0" } dioxus-rsx-hotreload = { path = "packages/rsx-hotreload", version = "0.6.0-alpha.0" } dioxus-rsx-rosetta = { path = "packages/rsx-rosetta", version = "0.6.0-alpha.0" } dioxus-signals = { path = "packages/signals", version = "0.6.0-alpha.0" } dioxus-cli-config = { path = "packages/cli-config", version = "0.6.0-alpha.0", default-features = false} generational-box = { path = "packages/generational-box", version = "0.6.0-alpha.0" } dioxus-hot-reload = { path = "packages/hot-reload", version = "0.6.0-alpha.0" } dioxus-fullstack = { path = "packages/fullstack", version = "0.6.0-alpha.1" } dioxus-static-site-generation = { path = "packages/static-generation", version = "0.6.0-alpha.0" } dioxus_server_macro = { path = "packages/server-macro", version = "0.6.0-alpha.0", default-features = false } lazy-js-bundle = { path = "packages/lazy-js-bundle", version = "0.6.0-alpha.0" } manganis-cli-support = { version = "0.3.0-alpha.1", features = ["html"] } manganis = { version = "0.3.0-alpha.1", default-features = false, features = ["html", "macro"]} warnings = { version = "0.2.0" } # a fork of pretty please for tests prettier-please = { version = "0.3.0", features = ["verbatim"]} askama_escape = "0.10.3" tracing = "0.1.37" tracing-futures = "0.2.5" toml = "0.8" tokio = "1.28" 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.92" 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 = "=1.5.*" } tauri-bundler = { version = "=1.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" } # desktop wry = { version = "0.43.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" [profile.dev.package.dioxus-core-macro] opt-level = 3 # Enable a small amount of optimization in debug mode [profile.cli-dev] inherits = "dev" opt-level = 1 # Enable high optimizations for dependencies (incl. Bevy), but not for our code: [profile.cli-dev.package."*"] opt-level = 3 # 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 # 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.2" [dependencies] manganis = { workspace = true, optional = true } reqwest = { workspace = true, features = ["json"], optional = true } http-range = { version = "0.1.5", optional = true } ciborium = { version = "0.2.1", optional = true } base64 = { version = "0.21.0", optional = true } tracing-subscriber = "0.3.17" [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.16.1", default-features = false, features = [ "sync", "macros", "io-util", "rt", "time" ] } [target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies] tokio = { version = "1.16.1", features = ["full"] } # 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"] axum = ["dioxus/axum"] server = ["dioxus/axum"] web = ["dioxus/web"] collect-assets = ["dep:manganis"] 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