From 7652e62d47d2789e4a8350f943e39c4ffed82e00 Mon Sep 17 00:00:00 2001 From: mitchell Date: Wed, 17 Jun 2026 12:22:32 -0400 Subject: [PATCH] refactor(entries): simplify stdin reading with node:stream/consumers --- src/index.ts | 5 ++++- src/tts.ts | 10 ++-------- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/src/index.ts b/src/index.ts index 4f7b4b4..1fb0c4f 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,4 +1,5 @@ #!/usr/bin/env node +import consumers from "node:stream/consumers"; import util from "node:util"; import { createOpenAICompatible } from "@ai-sdk/openai-compatible"; import { streamText } from "ai"; @@ -72,8 +73,10 @@ async function main() { if (modelFlag) convo.model = modelFlag; } + let input = positionals.join(" ").trim(); + if (input === "-") input = await consumers.text(process.stdin); + let prompt = "Introduce yourself."; - const input = positionals.join(" ").trim(); if (messageFlag) prompt = Prompts.commit(input); else if (reviewFlag) prompt = Prompts.review(input); else if (input) prompt = input; diff --git a/src/tts.ts b/src/tts.ts index 4ac3da5..56981d7 100644 --- a/src/tts.ts +++ b/src/tts.ts @@ -1,10 +1,10 @@ #!/usr/bin/env node -import events from "node:events"; import fs from "node:fs/promises"; import os from "node:os"; import path from "node:path"; import process from "node:process"; import readline from "node:readline"; +import consumers from "node:stream/consumers"; import util from "node:util"; import { Readability } from "@mozilla/readability"; import chalk from "chalk"; @@ -36,13 +36,7 @@ async function main() { let input = positionals.join(" ").trim(); - if (!input) { - process.stdin.setEncoding("utf8"); - process.stdin.on("data", (data) => { - input += data; - }); - await events.once(process.stdin, "end"); - } + if (!input) input = await consumers.text(process.stdin); if (!input) { throw new Error("No input was given. Use positional arguments or stdin.");