Skip to content

Commit

Permalink
Merge pull request #2010 from rtretter/main
Browse files Browse the repository at this point in the history
added automatic platform detection to cli if none is passed
  • Loading branch information
jkelleyrtp authored Mar 6, 2024
2 parents 912885b + 3ffb1fa commit e6b7f70
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 6 deletions.
2 changes: 1 addition & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion packages/cli-config/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ clap = { version = "4.2", features = ["derive"], optional = true }
serde = { version = "1.0.136", features = ["derive"] }
serde_json = "1.0.79"
toml = { workspace = true, optional = true }
cargo_toml = { version = "0.16.0", optional = true }
cargo_toml = { version = "0.18.0", optional = true }
once_cell = "1.18.0"
tracing = { workspace = true }

Expand Down
22 changes: 18 additions & 4 deletions packages/cli/src/cli/serve.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ use dioxus_cli_config::Platform;
use manganis_cli_support::AssetManifest;

use super::*;
use cargo_toml::Dependency::{Detailed, Inherited, Simple};
use std::{fs::create_dir_all, io::Write, path::PathBuf};

/// Run the WASM project on dev-server
Expand Down Expand Up @@ -41,10 +42,23 @@ impl Serve {

crate_config.set_cargo_args(self.serve.cargo_args);

let platform = self
.serve
.platform
.unwrap_or(crate_config.dioxus_config.application.default_platform);
let mut platform = self.serve.platform;

if platform.is_none() {
if let Some(dependency) = &crate_config.manifest.dependencies.get("dioxus") {
let features = match dependency {
Inherited(detail) => detail.features.to_vec(),
Detailed(detail) => detail.features.to_vec(),
Simple(_) => vec![],
};

platform = features
.iter()
.find_map(|platform| serde_json::from_str(&format!(r#""{}""#, platform)).ok());
}
}

let platform = platform.unwrap_or(crate_config.dioxus_config.application.default_platform);

match platform {
Platform::Web => {
Expand Down

0 comments on commit e6b7f70

Please sign in to comment.