diff --git a/packages/cli/src/server/fullstack/mod.rs b/packages/cli/src/server/fullstack/mod.rs index 62bc4ea88..abe4fe82d 100644 --- a/packages/cli/src/server/fullstack/mod.rs +++ b/packages/cli/src/server/fullstack/mod.rs @@ -66,7 +66,7 @@ impl Platform for FullstackPlatform { } None => desktop_config.features = Some(vec![desktop_feature]), }; - let _gaurd = FullstackServerEnvGuard::new(self.serve.debug); + let _gaurd = FullstackServerEnvGuard::new(&self.serve); self.desktop.rebuild(&desktop_config) }; thread_handle @@ -88,7 +88,7 @@ fn build_web(serve: ConfigOptsServe, target_directory: &std::path::Path) -> Resu }; web_config.platform = Some(crate::cfg::Platform::Web); - let _gaurd = FullstackWebEnvGuard::new(web_config.debug); + let _gaurd = FullstackWebEnvGuard::new(&web_config); crate::cli::build::Build { build: web_config }.build(None, Some(target_directory)) } @@ -99,14 +99,21 @@ pub(crate) struct FullstackWebEnvGuard { } impl FullstackWebEnvGuard { - pub fn new(debug_mode: bool) -> Self { + pub fn new(serve: &ConfigOptsBuild) -> Self { Self { - old_rustflags: (!debug_mode).then(|| { + old_rustflags: (!serve.debug).then(|| { let old_rustflags = std::env::var("RUSTFLAGS").unwrap_or_default(); + let debug_assertions = if serve.release { + "" + } else { + " -C debug-assertions" + }; std::env::set_var( "RUSTFLAGS", - format!("{old_rustflags} -C debuginfo=none -C strip=debuginfo"), + format!( + "{old_rustflags} -C debuginfo=none -C strip=debuginfo{debug_assertions}" + ), ); old_rustflags }), @@ -129,12 +136,20 @@ pub(crate) struct FullstackServerEnvGuard { } impl FullstackServerEnvGuard { - pub fn new(debug_mode: bool) -> Self { + pub fn new(debug_mode: bool, release_mode: bool) -> Self { Self { old_rustflags: (!debug_mode).then(|| { let old_rustflags = std::env::var("RUSTFLAGS").unwrap_or_default(); + let debug_assertions = if serve.release { + "" + } else { + " -C debug-assertions" + }; - std::env::set_var("RUSTFLAGS", format!("{old_rustflags} -C opt-level=2")); + std::env::set_var( + "RUSTFLAGS", + format!("{old_rustflags} -C opt-level=2 {debug_assertions}"), + ); old_rustflags }), }