diff options
Diffstat (limited to 'packages')
| -rw-r--r-- | packages/opencode/package.json | 4 | ||||
| -rw-r--r-- | packages/opencode/test/cli/tui/slot-replace.test.tsx | 47 | ||||
| -rw-r--r-- | packages/plugin/package.json | 8 |
3 files changed, 53 insertions, 6 deletions
diff --git a/packages/opencode/package.json b/packages/opencode/package.json index 69c4fbe54..30f26e5b7 100644 --- a/packages/opencode/package.json +++ b/packages/opencode/package.json @@ -102,8 +102,8 @@ "@opencode-ai/sdk": "workspace:*", "@opencode-ai/util": "workspace:*", "@openrouter/ai-sdk-provider": "2.3.3", - "@opentui/core": "0.1.93", - "@opentui/solid": "0.1.93", + "@opentui/core": "0.1.94", + "@opentui/solid": "0.1.94", "@parcel/watcher": "2.5.1", "@pierre/diffs": "catalog:", "@solid-primitives/event-bus": "1.1.2", diff --git a/packages/opencode/test/cli/tui/slot-replace.test.tsx b/packages/opencode/test/cli/tui/slot-replace.test.tsx new file mode 100644 index 000000000..45cd6309b --- /dev/null +++ b/packages/opencode/test/cli/tui/slot-replace.test.tsx @@ -0,0 +1,47 @@ +/** @jsxImportSource @opentui/solid */ +import { expect, test } from "bun:test" +import { createSlot, createSolidSlotRegistry, testRender, useRenderer } from "@opentui/solid" +import { onMount } from "solid-js" + +type Slots = { + prompt: {} +} + +test("replace slot mounts plugin content once", async () => { + let mounts = 0 + + const Probe = () => { + onMount(() => { + mounts += 1 + }) + + return <box /> + } + + const App = () => { + const renderer = useRenderer() + const reg = createSolidSlotRegistry<Slots>(renderer, {}) + const Slot = createSlot(reg) + + reg.register({ + id: "plugin", + slots: { + prompt() { + return <Probe /> + }, + }, + }) + + return ( + <box> + <Slot name="prompt" mode="replace"> + <box /> + </Slot> + </box> + ) + } + + await testRender(() => <App />) + + expect(mounts).toBe(1) +}) diff --git a/packages/plugin/package.json b/packages/plugin/package.json index 578e9760e..5ffb24a18 100644 --- a/packages/plugin/package.json +++ b/packages/plugin/package.json @@ -21,8 +21,8 @@ "zod": "catalog:" }, "peerDependencies": { - "@opentui/core": ">=0.1.93", - "@opentui/solid": ">=0.1.93" + "@opentui/core": ">=0.1.94", + "@opentui/solid": ">=0.1.94" }, "peerDependenciesMeta": { "@opentui/core": { @@ -33,8 +33,8 @@ } }, "devDependencies": { - "@opentui/core": "0.1.93", - "@opentui/solid": "0.1.93", + "@opentui/core": "0.1.94", + "@opentui/solid": "0.1.94", "@tsconfig/node22": "catalog:", "@types/node": "catalog:", "typescript": "catalog:", |
