extension_host: Fix extension rebuild building in release mode (#47165)

Finn Evers created

Release Notes:

- Fixed an issue where rebuilding a dev extension would compile the
extension in release and not debug mode.

Change summary

crates/extension/src/extension_builder.rs   | 6 ++++++
crates/extension_host/src/extension_host.rs | 9 ++-------
2 files changed, 8 insertions(+), 7 deletions(-)

Detailed changes

crates/extension/src/extension_builder.rs 🔗

@@ -55,6 +55,12 @@ pub struct CompileExtensionOptions {
     pub release: bool,
 }
 
+impl CompileExtensionOptions {
+    pub const fn dev() -> Self {
+        Self { release: false }
+    }
+}
+
 #[derive(Deserialize)]
 struct CargoToml {
     package: CargoTomlPackage,

crates/extension_host/src/extension_host.rs 🔗

@@ -981,7 +981,7 @@ impl ExtensionStore {
                         .compile_extension(
                             &extension_source_path,
                             &mut extension_manifest,
-                            CompileExtensionOptions { release: false },
+                            CompileExtensionOptions::dev(),
                             fs,
                         )
                         .await
@@ -1041,12 +1041,7 @@ impl ExtensionStore {
         let compile = cx.background_spawn(async move {
             let mut manifest = ExtensionManifest::load(fs.clone(), &path).await?;
             builder
-                .compile_extension(
-                    &path,
-                    &mut manifest,
-                    CompileExtensionOptions { release: true },
-                    fs,
-                )
+                .compile_extension(&path, &mut manifest, CompileExtensionOptions::dev(), fs)
                 .await
         });