Преглед на файлове

fix(opencode): terminate help output with newline (#30992)

Aiden Cline преди 2 месеца
родител
ревизия
3bbf8c8989
променени са 2 файла, в които са добавени 6 реда и са изтрити 1 реда
  1. 1 1
      packages/opencode/src/index.ts
  2. 5 0
      packages/opencode/test/cli/help/help-snapshots.test.ts

+ 1 - 1
packages/opencode/src/index.ts

@@ -55,7 +55,7 @@ function show(out: string) {
   const text = out.trimStart()
   if (!text.startsWith("opencode ")) {
     process.stderr.write(UI.logo() + EOL + EOL)
-    process.stderr.write(text)
+    process.stderr.write(text + EOL)
     return
   }
   process.stderr.write(out)

+ 5 - 0
packages/opencode/test/cli/help/help-snapshots.test.ts

@@ -13,6 +13,7 @@
 // version (changes per release), so we'd snapshot a moving target.
 import { describe, expect } from "bun:test"
 import { Effect } from "effect"
+import { EOL } from "os"
 import { cliIt } from "../../lib/cli-process"
 import { normalizeForSnapshot, PATH_SEP } from "../../lib/snapshot"
 
@@ -98,6 +99,10 @@ describe("opencode CLI help-text snapshots", () => {
     "every documented command emits stable help text",
     ({ opencode }) =>
       Effect.gen(function* () {
+        const topLevel = yield* opencode.spawn(["--help"], { env: SNAPSHOT_ENV })
+        expect(topLevel.exitCode).toBe(0)
+        expect(topLevel.stderr.endsWith(EOL)).toBe(true)
+
         const argvs: Array<readonly string[]> = [...TOP_LEVEL.map((c) => [c] as const), ...SUBCOMMANDS]
 
         // Spawn in parallel, then assert in argv order so snapshot output is