      (current_toolchain == v8_snapshot_toolchain &&
       v8_toolset_for_shell == "host") ||
      (current_toolchain != host_toolchain && v8_toolset_for_shell == "target")
-
+ 
 +if (!muon_build) {
  group("gn_all") {
    testonly = true
-
-@@ -2653,6 +2687,7 @@ v8_executable("v8_parser_shell") {
+ 
+@@ -2653,6 +2691,7 @@ v8_executable("v8_parser_shell") {
      deps += [ "//third_party/icu" ]
    }
  }
 +}
-
+ 
  if (want_v8_shell) {
    v8_executable("v8_shell") {
-@@ -2681,6 +2716,7 @@ if (want_v8_shell) {
+@@ -2681,6 +2720,7 @@ if (want_v8_shell) {
    }
  }
-
+ 
 +if (!muon_build) {
  template("v8_fuzzer") {
    name = target_name
    forward_variables_from(invoker, "*")
-@@ -3001,3 +3037,4 @@ v8_source_set("wasm_data_section_fuzzer") {
-
+@@ -3001,3 +3041,4 @@ v8_source_set("wasm_data_section_fuzzer") {
+ 
  v8_fuzzer("wasm_data_section_fuzzer") {
  }
 +}

 }
-
+#endif

 int main(int argc, char** argv) {
+#ifndef SUPPRESS_V8_SNAPSHOT
   // Make mksnapshot runs predictable to create reproducible snapshots.
   i::FLAG_predictable = true;

@@ -180,5 +180,6 @@ int main(int argc, char** argv) {
   V8::Dispose();
   V8::ShutdownPlatform();

   if (is_component_build) {
     defines = [ "USING_V8_SHARED" ]
   }
@@ -386,6 +398,31 @@ config("toolchain") {
   }
 }
 
+if (muon_build) {
+  group("v8") {
+    public_deps = [ "//electron/build/node:build_node" ]
+    public_configs = [ ":external_config" ]
+    if (v8_enable_inspector_override) {
+      deps = [ "src/inspector:inspector" ]
+    }
+  }
+  group("v8_snapshot") {
+    public_deps = [ "//electron/build/node:build_node" ]
