[package] name = "dioxus-cli" version = { workspace = true } authors = ["Jonathan Kelley"] edition = "2021" description = "CLI tool for developing, testing, and publishing Dioxus apps" repository = "https://github.com/DioxusLabs/dioxus/" license = "MIT OR Apache-2.0" keywords = ["react", "gui", "cli", "dioxus", "wasm"] rust-version = "1.79.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-fullstack = { workspace = true } dioxus-dx-wire-format = { workspace = true } clap = { workspace = true, features = ["derive", "cargo"] } convert_case = { workspace = true } thiserror = { workspace = true } wasm-bindgen-cli-support = { workspace = true } wasm-bindgen-shared = { workspace = true } uuid = { version = "1.3.0", features = ["v4"] } serde = { workspace = true, features = ["derive"] } serde_json = { workspace = true } toml = { workspace = true } cargo_toml = { workspace = true } 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 = "0.1.15" chrono = "0.4.19" anyhow = "1" hyper = { workspace = true } hyper-util = "0.1.3" hyper-rustls = { workspace = true } rustls = { workspace = true } rayon = "1.8.0" console = "0.15.8" ctrlc = "3.2.3" futures-channel = { workspace = true } krates = { version = "0.17.0" } cargo-config2 = { workspace = true, optional = true } regex = "1.10.6" axum = { workspace = 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" walrus = { workspace = true, features = ["parallel"] } # tools download dirs = { workspace = true } reqwest = { workspace = true, features = [ "rustls-tls", "stream", "trust-dns", "blocking", ] } tower = { workspace = true } once_cell = "1.19.0" # plugin packages open = "5.0.1" cargo-generate = "=0.21.3" toml_edit = "0.22.20" # formatting # syn = { workspace = true } prettyplease = { workspace = true } # Assets brotli = "6.0.0" ignore = "0.4.22" env_logger = { workspace = true } const-serialize = { workspace = true, features = ["serde"] } # Image compression/conversion # - JPEG mozjpeg = { version = "0.10.7", default-features = false, features = [ "parallel", ] } # - PNG imagequant = "4.2.0" png = "0.17.9" # Image format/conversion image = { version = "0.25", features = ["avif"] } # CSS Minification lightningcss = "1.0.0-alpha.60" # Js minification - swc has introduces minor versions with breaking changes in the past so we pin all of their crates swc = "=0.283.0" swc_allocator = { version = "=0.1.8", default-features = false } swc_atoms = { version = "=0.6.7", default-features = false } swc_cached = { version = "=0.3.20", default-features = false } swc_common = { version = "=0.37.5", default-features = false } swc_compiler_base = { version = "=0.19.0", default-features = false } swc_config = { version = "=0.1.15", default-features = false } swc_config_macro = { version = "=0.1.4", default-features = false } swc_ecma_ast = { version = "=0.118.2", default-features = false } swc_ecma_codegen = { version = "=0.155.1", default-features = false } swc_ecma_codegen_macros = { version = "=0.7.7", default-features = false } swc_ecma_compat_bugfixes = { version = "=0.12.0", default-features = false } swc_ecma_compat_common = { version = "=0.11.0", default-features = false } swc_ecma_compat_es2015 = { version = "=0.12.0", default-features = false } swc_ecma_compat_es2016 = { version = "=0.12.0", default-features = false } swc_ecma_compat_es2017 = { version = "=0.12.0", default-features = false } swc_ecma_compat_es2018 = { version = "=0.12.0", default-features = false } swc_ecma_compat_es2019 = { version = "=0.12.0", default-features = false } swc_ecma_compat_es2020 = { version = "=0.12.0", default-features = false } swc_ecma_compat_es2021 = { version = "=0.12.0", default-features = false } swc_ecma_compat_es2022 = { version = "=0.12.0", default-features = false } swc_ecma_compat_es3 = { version = "=0.12.0", default-features = false } swc_ecma_ext_transforms = { version = "=0.120.0", default-features = false } swc_ecma_lints = { version = "=0.100.0", default-features = false } swc_ecma_loader = { version = "=0.49.1", default-features = false } swc_ecma_minifier = { version = "=0.204.0", default-features = false } swc_ecma_parser = { version = "=0.149.1", default-features = false } swc_ecma_preset_env = { version = "=0.217.0", default-features = false, features = [ "serde", ] } swc_ecma_transforms = { version = "=0.239.0", default-features = false } swc_ecma_transforms_base = { version = "=0.145.0", default-features = false } swc_ecma_transforms_classes = { version = "=0.134.0", default-features = false } swc_ecma_transforms_compat = { version = "=0.171.0", default-features = false } swc_ecma_transforms_macros = { version = "=0.5.5", default-features = false } swc_ecma_transforms_module = { version = "=0.190.0", default-features = false } swc_ecma_transforms_optimization = { version = "=0.208.0", default-features = false } swc_ecma_transforms_proposal = { version = "=0.178.0", default-features = false } swc_ecma_transforms_react = { version = "=0.191.0", default-features = false } swc_ecma_transforms_typescript = { version = "=0.198.1", default-features = false } swc_ecma_usage_analyzer = { version = "=0.30.3", default-features = false } swc_ecma_utils = { version = "=0.134.2", default-features = false } swc_ecma_visit = { version = "=0.104.8", default-features = false } swc_eq_ignore_macros = { version = "=0.1.4", default-features = false } swc_error_reporters = { version = "=0.21.0", default-features = false } swc_fast_graph = { version = "=0.25.0", default-features = false } swc_macros_common = { version = "=0.3.13", default-features = false } swc_node_comments = { version = "=0.24.0", default-features = false } swc_timer = { version = "=0.25.0", default-features = false } swc_trace_macro = { version = "=0.1.3", default-features = false } swc_transform_common = { version = "=0.1.1", default-features = false } swc_typescript = { version = "=0.5.0", default-features = false } swc_visit = { version = "=0.6.2", default-features = false } tracing-subscriber = { version = "0.3.18", features = ["std", "env-filter", "json"] } console-subscriber = { version = "0.3.0", optional = true } tracing = { workspace = true } wasm-opt = { version = "0.116.1", optional = true } crossterm = { version = "0.28.0", features = ["event-stream"] } ansi-to-tui = "6.0" ansi-to-html = "0.2.1" path-absolutize = "3.1" ratatui = { version = "0.28.0", features = ["crossterm", "unstable"] } # 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.3" manganis-core = { workspace = true } # Extracting data from an executable object = {version="0.36.0", features=["wasm"]} tokio-util = { version = "0.7.11", features = ["full"] } itertools = "0.13.0" throbber-widgets-tui = "=0.7.0" unicode-segmentation = "1.12.0" handlebars = "6.1.0" strum = { version = "0.26.3", features = ["derive"] } tauri-utils = { workspace = true } tauri-bundler = { workspace = true } include_dir = "0.7.4" [build-dependencies] built = { version = "=0.7.4", features = ["git2"] } [features] default = [] plugin = [] tokio-console = ["dep:console-subscriber"] bundle = [] # 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 }-v{ version }{ archive-suffix }" pkg-fmt = "tgz" [package.metadata.binstall.overrides.x86_64-pc-windows-msvc] pkg-fmt = "zip" [package.metadata.docs.rs] all-features = false rustc-args = [ "--cfg", "docsrs" ] rustdoc-args = [ "--cfg", "docsrs" ]