Quellcode durchsuchen

check bun pm ls before bouncing server

Masen Furer vor 4 Monaten
Ursprung
Commit
60286590c7
1 geänderte Dateien mit 28 neuen und 4 gelöschten Zeilen
  1. 28 4
      reflex/utils/exec.py

+ 28 - 4
reflex/utils/exec.py

@@ -85,6 +85,17 @@ def run_process_and_launch_url(run_command: list[str], backend_present=True):
     console.print(
         f"DETECT_PACKAGE_CHANGE init {last_hash}, {json.dumps(json.loads(json_file_path.read_text()))}"
     )
+    last_packages = (
+        processes.new_process(
+            ["bun", "pm", "ls"],
+            cwd=get_web_dir(),
+        )
+        .stdout.read()
+        .strip()
+    )
+    console.print(
+        f"DETECT_PACKAGE_CHANGE init {last_packages}",
+    )
     process = None
     first_run = True
 
@@ -129,15 +140,28 @@ def run_process_and_launch_url(run_command: list[str], backend_present=True):
                         )
                     new_hash = detect_package_change(json_file_path)
                     if new_hash != last_hash:
-                        console.print("Reloading app due to new content...")
                         new_content = json.dumps(json.loads(json_file_path.read_text()))
                         console.print(
                             f"DETECT_PACKAGE_CHANGE hit {last_hash} != {new_hash} (new), {new_content}"
                         )
                         last_hash = new_hash
-                        kill(process.pid)
-                        process = None
-                        break  # for line in process.stdout
+                        new_packages = (
+                            processes.new_process(
+                                ["bun", "pm", "ls"],
+                                cwd=get_web_dir(),
+                            )
+                            .stdout.read()
+                            .strip()
+                        )
+                        console.print(
+                            f"DETECT_PACKAGE_CHANGE init {new_packages}",
+                        )
+                        if new_packages != last_packages:
+                            last_packages = new_packages
+                            console.print("Reloading app due to new content...")
+                            kill(process.pid)
+                            process = None
+                            break  # for line in process.stdout
         if process is not None:
             break  # while True