mirror of
https://gitea.toothfairyai.com/ToothFairyAI/tf_code.git
synced 2026-04-15 13:14:35 +00:00
- Rename packages/opencode → packages/tfcode (directory only) - Rename bin/opencode → bin/tfcode (CLI binary) - Rename .opencode → .tfcode (config directory) - Update package.json name and bin field - Update config directory path references (.tfcode) - Keep internal code references as 'opencode' for easy upstream sync - Keep @opencode-ai/* workspace package names This minimal branding approach allows clean merges from upstream opencode repository while providing tfcode branding for users.
22 lines
803 B
TypeScript
22 lines
803 B
TypeScript
import type { ChildProcessWithoutNullStreams } from "child_process"
|
|
import { Process } from "../util/process"
|
|
|
|
type Child = Process.Child & ChildProcessWithoutNullStreams
|
|
|
|
export function spawn(cmd: string, args: string[], opts?: Process.Options): Child
|
|
export function spawn(cmd: string, opts?: Process.Options): Child
|
|
export function spawn(cmd: string, argsOrOpts?: string[] | Process.Options, opts?: Process.Options) {
|
|
const args = Array.isArray(argsOrOpts) ? [...argsOrOpts] : []
|
|
const cfg = Array.isArray(argsOrOpts) ? opts : argsOrOpts
|
|
const proc = Process.spawn([cmd, ...args], {
|
|
...(cfg ?? {}),
|
|
stdin: "pipe",
|
|
stdout: "pipe",
|
|
stderr: "pipe",
|
|
}) as Child
|
|
|
|
if (!proc.stdin || !proc.stdout || !proc.stderr) throw new Error("Process output not available")
|
|
|
|
return proc
|
|
}
|