Răsfoiți Sursa

fix(tui): restore prompt reset to unblock readline, suppress warnings via emitWarning

Ma 7 luni în urmă
părinte
comite
ecc4d2f47a
1 a modificat fișierele cu 4 adăugiri și 2 ștergeri
  1. 4 2
      packages/cli/src/tui/app.ts

+ 4 - 2
packages/cli/src/tui/app.ts

@@ -207,6 +207,8 @@ export async function launchTui(
   }
   }
 
 
   // 7. Suppress noisy Node warnings (e.g. SQLite experimental)
   // 7. Suppress noisy Node warnings (e.g. SQLite experimental)
+  const origEmitWarning = process.emitWarning;
+  process.emitWarning = (() => {}) as typeof process.emitWarning;
   const origStderrWrite = process.stderr.write.bind(process.stderr);
   const origStderrWrite = process.stderr.write.bind(process.stderr);
   process.stderr.write = (chunk: string | Uint8Array, ...args: unknown[]) => {
   process.stderr.write = (chunk: string | Uint8Array, ...args: unknown[]) => {
     const s = typeof chunk === "string" ? chunk : chunk.toString();
     const s = typeof chunk === "string" ? chunk : chunk.toString();
@@ -220,10 +222,11 @@ export async function launchTui(
   const rl = readline.createInterface({
   const rl = readline.createInterface({
     input: process.stdin,
     input: process.stdin,
     output: process.stdout,
     output: process.stdout,
-    prompt: `${gray}  ❯ `,
+    prompt: `  ${c("❯", gray)} `,
   });
   });
 
 
   const cleanup = () => {
   const cleanup = () => {
+    process.emitWarning = origEmitWarning;
     process.stderr.write = origStderrWrite;
     process.stderr.write = origStderrWrite;
     process.stdout.write(showCursor);
     process.stdout.write(showCursor);
     rl.close();
     rl.close();
@@ -246,7 +249,6 @@ export async function launchTui(
   promptInput();
   promptInput();
 
 
   for await (const line of rl) {
   for await (const line of rl) {
-    process.stdout.write(reset);
     const input = line.trim();
     const input = line.trim();
 
 
     if (!input) {
     if (!input) {