From bb2d7f39a1b67813b8b613fbf3b0ebef46227d37 Mon Sep 17 00:00:00 2001 From: Craigory Coppola Date: Fri, 26 Apr 2024 18:56:03 -0400 Subject: [PATCH] fix(core): prevent device status report from being printed during pty execution (#23039) --- .../src/native/pseudo_terminal/pseudo_terminal.rs | 14 +++++++++++++- packages/nx/src/utils/command-line-utils.ts | 2 +- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/packages/nx/src/native/pseudo_terminal/pseudo_terminal.rs b/packages/nx/src/native/pseudo_terminal/pseudo_terminal.rs index 4a998865cdad5..f21a38eab310e 100644 --- a/packages/nx/src/native/pseudo_terminal/pseudo_terminal.rs +++ b/packages/nx/src/native/pseudo_terminal/pseudo_terminal.rs @@ -82,7 +82,12 @@ pub fn create_pseudo_terminal() -> napi::Result { let quiet = quiet_clone.load(Ordering::Relaxed); trace!("Quiet: {}", quiet); if !quiet { - if stdout.write_all(&buf[0..len]).is_err() { + let mut content = String::from_utf8_lossy(&buf[0..len]).to_string(); + if content.contains("\x1B[6n") { + trace!("Prevented terminal escape sequence ESC[6n from being printed."); + content = content.replace("\x1B[6n", ""); + } + if stdout.write_all(content.as_bytes()).is_err() { break; } else { let _ = stdout.flush(); @@ -144,8 +149,12 @@ pub fn run_command( } let process_killer = child.clone_killer(); + trace!("Getting running clone"); let running_clone = pseudo_terminal.running.clone(); + trace!("Getting printing_rx clone"); let printing_rx = pseudo_terminal.printing_rx.clone(); + + trace!("spawning thread to wait for command"); std::thread::spawn(move || { trace!("Waiting for {}", command); @@ -173,9 +182,12 @@ pub fn run_command( disable_raw_mode().expect("Failed to restore non-raw terminal"); } exit_to_process_tx.send(exit.to_string()).ok(); + } else { + trace!("Error waiting for {}", command); }; }); + trace!("Returning ChildProcess"); Ok(ChildProcess::new( process_killer, pseudo_terminal.message_rx.clone(), diff --git a/packages/nx/src/utils/command-line-utils.ts b/packages/nx/src/utils/command-line-utils.ts index 1208c6c51b1d5..c6241de5f809b 100644 --- a/packages/nx/src/utils/command-line-utils.ts +++ b/packages/nx/src/utils/command-line-utils.ts @@ -39,7 +39,7 @@ export interface NxArgs { } export function createOverrides(__overrides_unparsed__: string[] = []) { - let overrides = + let overrides: Record = yargsParser(__overrides_unparsed__, { configuration: { 'camel-case-expansion': false,