From 9ae6b46e20d894e6070004f6c8e0ccb1ba0cd29f Mon Sep 17 00:00:00 2001 From: Evan Almloff Date: Thu, 31 Aug 2023 15:43:26 -0500 Subject: [PATCH 1/7] Forward Wry's devtools, and dox flags --- packages/desktop/Cargo.toml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/desktop/Cargo.toml b/packages/desktop/Cargo.toml index a85c2e045..4b2b6df9f 100644 --- a/packages/desktop/Cargo.toml +++ b/packages/desktop/Cargo.toml @@ -55,7 +55,8 @@ default = ["tokio_runtime", "hot-reload"] tokio_runtime = ["tokio"] fullscreen = ["wry/fullscreen"] transparent = ["wry/transparent"] -tray = ["wry/tray"] +devtools = ["wry/devtools"] +dox = ["wry/dox"] hot-reload = ["dioxus-hot-reload"] [dev-dependencies] From d94e2c104cbea56730469de66ff755f4c6c8eeeb Mon Sep 17 00:00:00 2001 From: Evan Almloff Date: Fri, 1 Sep 2023 10:27:28 -0500 Subject: [PATCH 2/7] pin Tauri dependencies to a minor version --- packages/cli/Cargo.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/cli/Cargo.toml b/packages/cli/Cargo.toml index a37798eee..65a05488d 100644 --- a/packages/cli/Cargo.toml +++ b/packages/cli/Cargo.toml @@ -78,8 +78,8 @@ toml_edit = "0.19.11" # dioxus-rsx = "0.0.1" # bundling -tauri-bundler = { version = "1.2", features = ["native-tls-vendored"] } -tauri-utils = "1.3" +tauri-bundler = { version = "=1.2.*", features = ["native-tls-vendored"] } +tauri-utils = "1.3.*" dioxus-autofmt = { workspace = true } dioxus-check = { workspace = true } From f818d27fa6a5d4fd4192a4e38676ce630053ecdc Mon Sep 17 00:00:00 2001 From: Evan Almloff Date: Sat, 2 Sep 2023 07:09:02 -0500 Subject: [PATCH 3/7] only collect the rsx and render macros when formatting --- packages/autofmt/src/collect_macros.rs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/autofmt/src/collect_macros.rs b/packages/autofmt/src/collect_macros.rs index 10e0d185c..841af1316 100644 --- a/packages/autofmt/src/collect_macros.rs +++ b/packages/autofmt/src/collect_macros.rs @@ -17,7 +17,15 @@ struct MacroCollector<'a, 'b> { impl<'a, 'b> Visit<'b> for MacroCollector<'a, 'b> { fn visit_macro(&mut self, i: &'b Macro) { - self.macros.push(i); + if let Some("rsx" | "render") = i + .path + .segments + .last() + .map(|i| i.ident.to_string()) + .as_deref() + { + self.macros.push(i) + } } } From 71264b1ee3d0949e4d709b62ab02f522b2ed04ec Mon Sep 17 00:00:00 2001 From: Evan Almloff Date: Sat, 2 Sep 2023 18:28:44 -0500 Subject: [PATCH 4/7] bump bundler to "=1.3.*" --- packages/cli/Cargo.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/cli/Cargo.toml b/packages/cli/Cargo.toml index 65a05488d..b2beb2781 100644 --- a/packages/cli/Cargo.toml +++ b/packages/cli/Cargo.toml @@ -78,8 +78,8 @@ toml_edit = "0.19.11" # dioxus-rsx = "0.0.1" # bundling -tauri-bundler = { version = "=1.2.*", features = ["native-tls-vendored"] } -tauri-utils = "1.3.*" +tauri-bundler = { version = "=1.3.*", features = ["native-tls-vendored"] } +tauri-utils = "=1.4.*" dioxus-autofmt = { workspace = true } dioxus-check = { workspace = true } From bc94f36934a4444f4b19f283dfeae7ca4b171d82 Mon Sep 17 00:00:00 2001 From: Evan Almloff Date: Sun, 3 Sep 2023 13:36:56 -0500 Subject: [PATCH 5/7] restrict tauri bundler version to 1.3.0 only --- packages/cli/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/cli/Cargo.toml b/packages/cli/Cargo.toml index b2beb2781..29bc880f3 100644 --- a/packages/cli/Cargo.toml +++ b/packages/cli/Cargo.toml @@ -78,7 +78,7 @@ toml_edit = "0.19.11" # dioxus-rsx = "0.0.1" # bundling -tauri-bundler = { version = "=1.3.*", features = ["native-tls-vendored"] } +tauri-bundler = { version = "1.3.0", features = ["native-tls-vendored"] } tauri-utils = "=1.4.*" dioxus-autofmt = { workspace = true } From d5d974d5a3714e561b215fc19c1acbe2994ee325 Mon Sep 17 00:00:00 2001 From: ealmloff Date: Mon, 4 Sep 2023 15:10:27 -0500 Subject: [PATCH 6/7] Bump the dioxus-cli to 0.4.1 (#1424) * bump the dioxus-cli version * bump DIOXUS_CLI_VERSION constant * Merge branch 'master' into bump-cli --- packages/cli/Cargo.toml | 4 ++-- packages/cli/src/builder.rs | 3 ++- packages/cli/src/cli/build.rs | 2 +- packages/cli/src/lib.rs | 2 +- packages/cli/src/server/web/mod.rs | 6 +++--- 5 files changed, 9 insertions(+), 8 deletions(-) diff --git a/packages/cli/Cargo.toml b/packages/cli/Cargo.toml index dcb4b8f68..f325430aa 100644 --- a/packages/cli/Cargo.toml +++ b/packages/cli/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "dioxus-cli" -version = { workspace = true } +version = "0.4.1" authors = ["Jonathan Kelley"] edition = "2021" description = "CLI tool for developing, testing, and publishing Dioxus apps" @@ -77,7 +77,7 @@ cargo-generate = "0.18" toml_edit = "0.19.11" # bundling -tauri-bundler = { version = "1.3.0", features = ["native-tls-vendored"] } +tauri-bundler = { version = "=1.3.0", features = ["native-tls-vendored"] } tauri-utils = "=1.4.*" dioxus-autofmt = { workspace = true } diff --git a/packages/cli/src/builder.rs b/packages/cli/src/builder.rs index 7f1b49ace..c4d1bde6f 100644 --- a/packages/cli/src/builder.rs +++ b/packages/cli/src/builder.rs @@ -22,7 +22,8 @@ pub struct BuildResult { pub elapsed_time: u128, } -pub fn build(config: &CrateConfig) -> Result { +#[allow(unused)] +pub fn build(config: &CrateConfig, quiet: bool) -> Result { // [1] Build the project with cargo, generating a wasm32-unknown-unknown target (is there a more specific, better target to leverage?) // [2] Generate the appropriate build folders // [3] Wasm-bindgen the .wasm fiile, and move it into the {builddir}/modules/xxxx/xxxx_bg.wasm diff --git a/packages/cli/src/cli/build.rs b/packages/cli/src/cli/build.rs index d701d2ee8..7fe29f8ce 100644 --- a/packages/cli/src/cli/build.rs +++ b/packages/cli/src/cli/build.rs @@ -42,7 +42,7 @@ impl Build { match platform { Platform::Web => { - crate::builder::build(&crate_config)?; + crate::builder::build(&crate_config, true)?; } Platform::Desktop => { crate::builder::build_desktop(&crate_config, false)?; diff --git a/packages/cli/src/lib.rs b/packages/cli/src/lib.rs index 2d5f6dfcb..c067ab148 100644 --- a/packages/cli/src/lib.rs +++ b/packages/cli/src/lib.rs @@ -1,4 +1,4 @@ -pub const DIOXUS_CLI_VERSION: &str = "0.1.5"; +pub const DIOXUS_CLI_VERSION: &str = "0.4.1"; pub mod builder; pub mod server; diff --git a/packages/cli/src/server/web/mod.rs b/packages/cli/src/server/web/mod.rs index a780598e0..bb1c00c99 100644 --- a/packages/cli/src/server/web/mod.rs +++ b/packages/cli/src/server/web/mod.rs @@ -73,7 +73,7 @@ pub async fn serve_default( config: CrateConfig, start_browser: bool, ) -> Result<()> { - let first_build_result = crate::builder::build(&config)?; + let first_build_result = crate::builder::build(&config, true)?; log::info!("🚀 Starting development server..."); @@ -134,7 +134,7 @@ pub async fn serve_hot_reload( config: CrateConfig, start_browser: bool, ) -> Result<()> { - let first_build_result = crate::builder::build(&config)?; + let first_build_result = crate::builder::build(&config, true)?; log::info!("🚀 Starting development server..."); @@ -474,7 +474,7 @@ async fn ws_handler( } fn build(config: &CrateConfig, reload_tx: &Sender<()>) -> Result { - let result = builder::build(config)?; + let result = builder::build(config, true)?; // change the websocket reload state to true; // the page will auto-reload. if config From 6662892c10f97ca5fc50c5c40fd3b95dc9c93e47 Mon Sep 17 00:00:00 2001 From: ealmloff Date: Tue, 5 Sep 2023 13:43:42 -0500 Subject: [PATCH 7/7] find attributes and components to drop in lazy nodes (#1376) --- packages/core/src/nodes.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/core/src/nodes.rs b/packages/core/src/nodes.rs index 2399c16b8..c83b1059a 100644 --- a/packages/core/src/nodes.rs +++ b/packages/core/src/nodes.rs @@ -691,7 +691,7 @@ impl<'a> IntoDynNode<'a> for &Element<'a> { impl<'a, 'b> IntoDynNode<'a> for LazyNodes<'a, 'b> { fn into_vnode(self, cx: &'a ScopeState) -> DynamicNode<'a> { - DynamicNode::Fragment(cx.bump().alloc([self.call(cx)])) + DynamicNode::Fragment(cx.bump().alloc([cx.render(self).unwrap()])) } } @@ -750,7 +750,7 @@ impl<'a> IntoTemplate<'a> for Element<'a> { } impl<'a, 'b> IntoTemplate<'a> for LazyNodes<'a, 'b> { fn into_template(self, cx: &'a ScopeState) -> VNode<'a> { - self.call(cx) + cx.render(self).unwrap() } }