Something went wrong. Try again.
opencode v2 mirror
Something went wrong. Try again.
1234567891011121314151617181920212223242526272829303132333435import { createRequire } from "node:module"import { isSea } from "node:sea"import type { spawn } from "@lydell/node-pty"import type { Opts, Proc } from "./pty.js"
export type { Disp, Exit, Opts, Proc } from "./pty.js"
const pty = createRequire(import.meta.url)(process.env.OPENCODE_NODE_PTY_PATH ?? "@lydell/node-pty") as { spawn: typeof spawn}
function spawnPty(file: string, args: string[], opts: Opts): Proc { const proc = pty.spawn(file, args, process.platform === "win32" && isSea() ? { ...opts, useConptyDll: true } : opts) return { pid: proc.pid, onData(listener) { return proc.onData(listener) }, onExit(listener) { return proc.onExit(listener) }, write(data) { proc.write(data) }, resize(cols, rows) { proc.resize(cols, rows) }, kill(signal) { proc.kill(signal) }, }}
export { spawnPty as spawn }