diff options
Diffstat (limited to 'packages/sdk/js/src/server.ts')
| -rw-r--r-- | packages/sdk/js/src/server.ts | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/packages/sdk/js/src/server.ts b/packages/sdk/js/src/server.ts new file mode 100644 index 000000000..edaa4cf63 --- /dev/null +++ b/packages/sdk/js/src/server.ts @@ -0,0 +1,26 @@ +import { spawn } from "node:child_process" + +export type ServerConfig = { + host?: string + port?: number +} + +export async function createOpencodeServer(config?: ServerConfig) { + config = Object.assign( + { + host: "127.0.0.1", + port: 4096, + }, + config ?? {}, + ) + + const proc = spawn(`opencode`, [`serve`, `--host=${config.host}`, `--port=${config.port}`]) + const url = `http://${config.host}:${config.port}` + + return { + url, + close() { + proc.kill() + }, + } +} |
