[package] name = "dioxus-cli" version = { workspace = true } authors = ["Jonathan Kelley"] edition = "2021" description = "CLI for building fullstack web, desktop, and mobile apps with a single codebase." repository = "https://github.com/DioxusLabs/dioxus/" license = "MIT OR Apache-2.0" keywords = ["mobile", "gui", "cli", "dioxus", "wasm"] rust-version = "1.81.0" [dependencies] dioxus-autofmt = { workspace = true } dioxus-check = { workspace = true } dioxus-rsx-rosetta = { workspace = true } dioxus-rsx = { workspace = true } dioxus-rsx-hotreload = { workspace = true } dioxus-html = { workspace = true, features = ["hot-reload-context"] } dioxus-core = { workspace = true, features = ["serialize"] } dioxus-core-types = { workspace = true } dioxus-devtools-types = { workspace = true } dioxus-cli-config = { workspace = true } dioxus-cli-opt = { workspace = true } dioxus-fullstack = { workspace = true } dioxus-dx-wire-format = { workspace = true } wasm-split-cli = { workspace = true } depinfo = { workspace = true } subsecond-types = { workspace = true } clap = { workspace = true, features = ["derive", "cargo"] } convert_case = { workspace = true } thiserror = { workspace = true } uuid = { workspace = true, features = ["v4"] } serde = { workspace = true, features = ["derive"] } serde_json = { workspace = true } toml = { workspace = true } cargo_toml = { workspace = true, features = ["features"] } futures-util = { workspace = true, features = ["async-await-macro"] } notify = { workspace = true, features = ["serde"] } html_parser = { workspace = true } cargo_metadata = { workspace = true } tokio = { workspace = true, features = ["full"] } tokio-stream = { workspace = true } tokio-tungstenite = { workspace = true } chrono = { workspace = true } anyhow = { workspace = true } hyper = { workspace = true } hyper-util = { workspace = true } hyper-rustls = { workspace = true } rustls = { workspace = true } rayon = { workspace = true } futures-channel = { workspace = true } target-lexicon = { version = "0.13.2", features = ["serde", "serde_support"] } krates = { workspace = true } regex = "1.11.1" console = "0.15.11" ctrlc = "3.4.5" axum = { workspace = true, default-features = true, features = ["ws"] } axum-server = { workspace = true, features = ["tls-rustls"] } axum-extra = { workspace = true, features = ["typed-header"] } tower-http = { workspace = true, features = ["full"] } proc-macro2 = { workspace = true, features = ["span-locations"] } syn = { workspace = true, features = ["full", "extra-traits", "visit", "visit-mut"] } headers = "0.4.0" walkdir = "2" dunce = { workspace = true } # tools download dirs = { workspace = true } reqwest = { workspace = true, features = ["rustls-tls", "trust-dns", "json"] } tower = { workspace = true } once_cell = { workspace = true } # path lookup which = { version = "7.0.2" } # plugin packages open = { workspace = true } cargo-generate = "0.23.3" toml_edit = "0.22.24" # formatting # syn = { workspace = true } prettyplease = { workspace = true } # Assets brotli = "7.0.0" ignore = "0.4.23" env_logger = { workspace = true } const-serialize = { workspace = true, features = ["serde"] } tracing-subscriber = { version = "0.3.19", features = ["std", "env-filter", "json", "registry", "fmt"] } console-subscriber = { version = "0.4.1", optional = true } tracing = { workspace = true } wasm-opt = { version = "0.116.1", optional = true } ansi-to-tui = { workspace = true } ansi-to-html = { workspace = true } path-absolutize = { workspace = true } crossterm = { workspace = true, features = ["event-stream"] } ratatui = { workspace = true, features = ["crossterm", "unstable"] } shell-words = { workspace = true } # disable `log` entirely since `walrus` uses it and is *much* slower with it enableda log = { version = "0.4", features = ["max_level_off", "release_max_level_off"] } # link intercept tempfile = "3.13" manganis = { workspace = true } manganis-core = { workspace = true } # Extracting data from an executable object = { workspace = true, features = ["all"] } tokio-util = { workspace = true, features = ["full"] } itertools = { workspace = true } throbber-widgets-tui = "0.8.0" unicode-segmentation = "1.12.0" handlebars = "6.3.1" strum = { version = "0.27.1", features = ["derive"] } memmap = "0.7.0" walrus = { workspace = true, features = ["parallel"]} wasmparser = { workspace = true } tauri-utils = { workspace = true } tauri-bundler = { workspace = true } include_dir = "0.7.4" flate2 = "1.1.0" tar = "0.4.44" local-ip-address = "0.6.3" dircpy = "0.3.19" plist = "1.7.0" memoize = "0.5.1" wasm-encoder = "0.228.0" backtrace = "0.3.74" ar = "0.9.0" wasm-bindgen-externref-xform = "0.2.100" pdb = "0.8.0" self_update = { version = "0.42.0", features = ["archive-tar", "archive-zip", "compression-flate2", "compression-zip-deflate"] } self-replace = "1.5.0" [build-dependencies] built = { version = "0.7.5", features = ["git2"] } [features] default = [] plugin = [] tokio-console = ["dep:console-subscriber"] bundle = [] no-downloads = [] # when releasing dioxus, we want to enable wasm-opt # and then also maybe developing it too. # making this optional cuts workspace deps down from 1000 to 500, so it's very nice for workspace adev optimizations = ["wasm-opt", "asset-opt"] asset-opt = [] wasm-opt = ["dep:wasm-opt"] [[bin]] path = "src/main.rs" name = "dx" [dev-dependencies] escargot = "0.5" [package.metadata.binstall] pkg-url = "{ repo }/releases/download/v{ version }/dx-{ target }{ archive-suffix }" pkg-fmt = "zip" [package.metadata.docs.rs] all-features = false rustc-args = ["--cfg", "docsrs"] rustdoc-args = ["--cfg", "docsrs"]