From 60286590c745351eff25ea5d08975122dc6fb4d9 Mon Sep 17 00:00:00 2001 From: Masen Furer Date: Thu, 9 Jan 2025 10:17:36 -0800 Subject: [PATCH] check bun pm ls before bouncing server --- reflex/utils/exec.py | 32 ++++++++++++++++++++++++++++---- 1 file changed, 28 insertions(+), 4 deletions(-) diff --git a/reflex/utils/exec.py b/reflex/utils/exec.py index 2f853e4ac..72e615ce5 100644 --- a/reflex/utils/exec.py +++ b/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