123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605 |
- [workspace]
- resolver = "2"
- members = [
- "packages/dioxus",
- "packages/dioxus-lib",
- "packages/core",
- "packages/core-types",
- "packages/cli",
- "packages/cli-opt",
- "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/fullstack-hooks",
- "packages/fullstack-protocol",
- "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/const-serialize",
- "packages/const-serialize-macro",
- "packages/dx-wire-format",
- "packages/logger",
- "packages/config-macros",
- "packages/native",
- "packages/asset-resolver",
- "packages/depinfo",
- "packages/server",
- # 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-core",
- "packages/manganis/manganis-macro",
- # wasm-split
- "packages/wasm-split/wasm-split",
- "packages/wasm-split/wasm-split-macro",
- "packages/wasm-split/wasm-split-cli",
- "packages/wasm-split/wasm-used",
- # subsecond
- "packages/subsecond/subsecond",
- "packages/subsecond/subsecond-types",
- "packages/subsecond/subsecond-tests/cross-tls-crate",
- "packages/subsecond/subsecond-tests/cross-tls-crate-dylib",
- "packages/subsecond/subsecond-tests/cross-tls-test",
- # 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/fullstack-websockets",
- "examples/wgpu-texture",
- # Playwright tests
- "packages/playwright-tests/liveview",
- "packages/playwright-tests/web",
- "packages/playwright-tests/web-routing",
- "packages/playwright-tests/web-hash-routing",
- "packages/playwright-tests/barebones-template",
- "packages/playwright-tests/fullstack",
- "packages/playwright-tests/fullstack-mounted",
- "packages/playwright-tests/fullstack-routing",
- "packages/playwright-tests/suspense-carousel",
- "packages/playwright-tests/nested-suspense",
- "packages/playwright-tests/cli-optimization",
- "packages/playwright-tests/wasm-split-harness",
- "packages/playwright-tests/default-features-disabled",
- ]
- [workspace.package]
- version = "0.7.0-alpha.1"
- # dependencies that are shared across packages
- [workspace.dependencies]
- dioxus = { path = "packages/dioxus", version = "0.7.0-alpha.1" }
- dioxus-lib = { path = "packages/dioxus-lib", version = "0.7.0-alpha.1", default-features = false }
- dioxus-core = { path = "packages/core", version = "0.7.0-alpha.1" }
- dioxus-core-types = { path = "packages/core-types", version = "0.7.0-alpha.1" }
- dioxus-core-macro = { path = "packages/core-macro", version = "0.7.0-alpha.1" }
- dioxus-config-macro = { path = "packages/config-macro", version = "0.7.0-alpha.1" }
- dioxus-router = { path = "packages/router", version = "0.7.0-alpha.1" }
- dioxus-router-macro = { path = "packages/router-macro", version = "0.7.0-alpha.1" }
- dioxus-document = { path = "packages/document", version = "0.7.0-alpha.1", default-features = false }
- dioxus-history = { path = "packages/history", version = "0.7.0-alpha.1", default-features = false }
- dioxus-html = { path = "packages/html", version = "0.7.0-alpha.1", default-features = false }
- dioxus-html-internal-macro = { path = "packages/html-internal-macro", version = "0.7.0-alpha.1" }
- dioxus-hooks = { path = "packages/hooks", version = "0.7.0-alpha.1" }
- dioxus-web = { path = "packages/web", version = "0.7.0-alpha.1", default-features = false }
- dioxus-isrg = { path = "packages/isrg", version = "0.7.0-alpha.1" }
- dioxus-ssr = { path = "packages/ssr", version = "0.7.0-alpha.1", default-features = false }
- dioxus-desktop = { path = "packages/desktop", version = "0.7.0-alpha.1", default-features = false }
- dioxus-mobile = { path = "packages/mobile", version = "0.7.0-alpha.1" }
- dioxus-interpreter-js = { path = "packages/interpreter", version = "0.7.0-alpha.1" }
- dioxus-liveview = { path = "packages/liveview", version = "0.7.0-alpha.1" }
- dioxus-autofmt = { path = "packages/autofmt", version = "0.7.0-alpha.1" }
- dioxus-check = { path = "packages/check", version = "0.7.0-alpha.1" }
- dioxus-rsx = { path = "packages/rsx", version = "0.7.0-alpha.1" }
- dioxus-rsx-hotreload = { path = "packages/rsx-hotreload", version = "0.7.0-alpha.1" }
- dioxus-rsx-rosetta = { path = "packages/rsx-rosetta", version = "0.7.0-alpha.1" }
- dioxus-signals = { path = "packages/signals", version = "0.7.0-alpha.1" }
- dioxus-cli-config = { path = "packages/cli-config", version = "0.7.0-alpha.1" }
- dioxus-cli-opt = { path = "packages/cli-opt", version = "0.7.0-alpha.1" }
- dioxus-devtools = { path = "packages/devtools", version = "0.7.0-alpha.1" }
- dioxus-devtools-types = { path = "packages/devtools-types", version = "0.7.0-alpha.1" }
- dioxus-server = { path = "packages/server", version = "0.7.0-alpha.1" }
- dioxus-fullstack = { path = "packages/fullstack", version = "0.7.0-alpha.1" }
- dioxus-fullstack-hooks = { path = "packages/fullstack-hooks", version = "0.7.0-alpha.1" }
- dioxus-fullstack-protocol = { path = "packages/fullstack-protocol", version = "0.7.0-alpha.1" }
- dioxus_server_macro = { path = "packages/server-macro", version = "0.7.0-alpha.1", default-features = false }
- dioxus-dx-wire-format = { path = "packages/dx-wire-format", version = "0.7.0-alpha.1" }
- dioxus-logger = { path = "packages/logger", version = "0.7.0-alpha.1" }
- dioxus-native = { path = "packages/native", version = "0.7.0-alpha.1" }
- dioxus-asset-resolver = { path = "packages/asset-resolver", version = "0.7.0-alpha.1" }
- dioxus-config-macros = { path = "packages/config-macros", version = "0.7.0-alpha.1" }
- const-serialize = { path = "packages/const-serialize", version = "0.7.0-alpha.1" }
- const-serialize-macro = { path = "packages/const-serialize-macro", version = "0.7.0-alpha.1" }
- generational-box = { path = "packages/generational-box", version = "0.7.0-alpha.1" }
- lazy-js-bundle = { path = "packages/lazy-js-bundle", version = "0.7.0-alpha.1" }
- # subsecond
- subsecond-types = { path = "packages/subsecond/subsecond-types", version = "0.7.0-alpha.1" }
- subsecond = { path = "packages/subsecond/subsecond", version = "0.7.0-alpha.1" }
- # manganis
- manganis = { path = "packages/manganis/manganis", version = "0.7.0-alpha.1" }
- manganis-core = { path = "packages/manganis/manganis-core", version = "0.7.0-alpha.1" }
- manganis-macro = { path = "packages/manganis/manganis-macro", version = "0.7.0-alpha.1" }
- # wasm-split
- wasm-splitter = { path = "packages/wasm-split/wasm-split", version = "0.7.0-alpha.1" }
- wasm-split-macro = { path = "packages/wasm-split/wasm-split-macro", version = "0.7.0-alpha.1" }
- wasm-split-cli = { path = "packages/wasm-split/wasm-split-cli", version = "0.7.0-alpha.1" }
- wasm-split-harness = { path = "packages/playwright-tests/wasm-split-harness", version = "0.7.0-alpha.1" }
- wasm-used = { path = "packages/wasm-split/wasm-used", version = "0.7.0-alpha.1" }
- depinfo = { path = "packages/depinfo", version = "0.7.0-alpha.1" }
- 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"] }
- anyhow = "1.0.97"
- clap = { version = "4.5.31" }
- askama_escape = "0.13.0"
- tracing = "0.1.41"
- tracing-futures = "0.2.5"
- tracing-subscriber = { version = "0.3.19", default-features = false }
- toml = "0.8"
- tokio = "1.43"
- tokio-util = { version = "0.7.13" }
- tokio-stream = { version = "0.1.17" }
- slab = "0.4.9"
- slotmap = { version = "1.0.7", features = ["serde"] }
- futures = "0.3.31"
- futures-channel = "0.3.31"
- futures-util = { version = "0.3", default-features = false }
- rustc-hash = "2.1.1"
- wasm-bindgen = "0.2.100"
- wasm-bindgen-futures = "0.4.50"
- js-sys = "0.3.77"
- web-sys = { version = "0.3.77", default-features = false }
- html_parser = "0.7.0"
- thiserror = "2.0.12"
- prettyplease = { version = "0.2.30", features = ["verbatim"] }
- const_format = "0.2.34"
- cargo_toml = { version = "0.21.0" }
- tauri-utils = { version = "2.2.0" }
- tauri-bundler = { version = "2.2.4" }
- lru = "0.13.0"
- async-trait = "0.1.87"
- axum = { version = "0.8.1", default-features = false }
- axum-server = { version = "0.7.1", default-features = false }
- server_fn = { version = "0.8.2", default-features = false }
- server_fn_macro = { version = "0.8.2" }
- tower = "0.5.2"
- http = "1.2.0"
- notify = { version = "8.0.0" }
- tower-http = "0.6.2"
- hyper = "1.6.0"
- hyper-rustls = { version = "0.27.5", default-features = false, features = [
- "native-tokio",
- "http1",
- "http2",
- "tls12",
- "logging",
- "ring",
- ] }
- rustls = { version = "0.23.23", default-features = false, features = ["logging", "std", "tls12", "ring"] }
- serde_json = "1.0.140"
- serde = "1.0.218"
- syn = "2.0"
- quote = "1.0"
- proc-macro2 = "1.0"
- axum_session = "0.16.0"
- axum_session_auth = "0.16.0"
- axum_session_sqlx = "0.5.0"
- axum-extra = "0.10.0"
- reqwest = "0.12.12"
- owo-colors = "4.2.0"
- ciborium = "0.2.2"
- base64 = "0.22.1"
- uuid = "1.15.1"
- convert_case = "0.8.0"
- tungstenite = { version = "0.26.2" }
- tokio-tungstenite = { version = "0.26.2" }
- 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.6"
- chrono = { version = "0.4.40" }
- gloo = { version = "0.11.0" }
- gloo-utils = { version = "0.2.0" }
- rustversion = "1.0.20"
- rand = "0.8"
- longest-increasing-subsequence = "0.1.0"
- trybuild = "1.0"
- dirs = "6.0.0"
- cargo-config2 = "0.1.32"
- criterion = { version = "0.5" }
- cargo_metadata = "0.19.2"
- parking_lot = "0.12.3"
- tracing-wasm = "0.2.1"
- console_error_panic_hook = "0.1.7"
- base16 = "0.2.1"
- digest = "0.10.7"
- sha2 = "0.10.8"
- walrus = { version = "0.23.3", features = ["parallel"] }
- id-arena = "2.2.1"
- async-compression = { version = "0.4.20", features = ["futures-io", "gzip", "brotli"] }
- getrandom = { version = "0.2.0" }
- async-once-cell = { version = "0.5.4" }
- rayon = "1.10.0"
- wasmparser = "0.226.0"
- itertools = "0.14.0"
- object = { version = "0.36.0" }
- bincode = "1.3.3"
- inventory = { version = "0.3.5" }
- macro-string = "0.1.4"
- walkdir = "2.5.0"
- url = "2.3.1"
- separator = "0.4.1"
- pretty_assertions = "1.4.0"
- serde_repr = "0.1"
- hyper-util = "0.1.10"
- krates = { version = "0.19.0" }
- libloading = "0.8.6"
- libc = "0.2.170"
- memmap2 = "0.9.5"
- memfd = "0.6.4"
- # desktop
- wry = { version = "0.45.0", default-features = false }
- tao = { version = "0.33.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.2", default-features = false }
- muda = "0.16.1"
- cocoa = "0.26"
- core-foundation = "0.10.0"
- objc = { version = "0.2.7", features = ["exception"] }
- objc_id = "0.1.1"
- tray-icon = "0.20.0"
- open = "5.1.2"
- # web
- gloo-dialogs = "0.2.0"
- # tui stuff
- ansi-to-tui = "7.0"
- ansi-to-html = "0.2.1"
- path-absolutize = "3.1"
- crossterm = { version = "0.29.0" }
- ratatui = { version = "0.29.0" }
- shell-words = "1.1.0"
- color-eyre = "0.6.3"
- # native
- keyboard-types = { version = "0.7", default-features = false }
- winit = { version = "0.30.2", 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]
- incremental = true
- # crank up the opt level for wasm-split-cli in dev mode
- # important here that lto is on and the debug symbols are present (since they're used by wasm-opt)a
- [profile.wasm-split-release]
- inherits = "release"
- opt-level = 'z'
- lto = true
- debug = true
- # a profile for running the CLI that's also incremental
- [profile.cli-release-dev]
- inherits = "release"
- opt-level = 3
- incremental = true
- # crank up walrus since it's quite slow in dev mode
- [profile.dev.package.walrus]
- opt-level = 3
- [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
- [profile.wasm-dev]
- inherits = "dev"
- opt-level = 1
- [profile.server-dev]
- inherits = "dev"
- [profile.android-dev]
- inherits = "dev"
- # 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.80.0"
- publish = false
- version = "0.7.0-alpha.1"
- [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 }
- wgpu = { version = "0.19", optional = true }
- ouroboros = { version = "*", optional = true }
- wasm-splitter = { workspace = true, package = "wasm-split" }
- [dev-dependencies]
- dioxus = { workspace = true, features = ["router"] }
- dioxus-ssr = { workspace = true }
- futures-util = { workspace = true }
- separator = { workspace = true }
- serde = { workspace = true, features = ["derive"] }
- serde_json = { workspace = true }
- rand = { workspace = true, 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 = { workspace = true, features = ["js"] }
- tokio = { version = "1.43", default-features = false, features = ["sync", "macros", "io-util", "rt", "time"] }
- [target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies]
- tokio = { version = "1.43", 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"]
- 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"]
- 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 = "visible"
- 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 = "wgpu_child_window"
- required-features = ["desktop", "gpu"]
- [[example]]
- name = "control_focus"
- doc-scrape-examples = true
- [[example]]
- name = "eval"
- doc-scrape-examples = true
- [[example]]
- name = "logging"
- doc-scrape-examples = true
|