diff --git a/packages/opencode/script/build.ts b/packages/opencode/script/build.ts index 4ff610862d..33717fda92 100755 --- a/packages/opencode/script/build.ts +++ b/packages/opencode/script/build.ts @@ -4,7 +4,7 @@ import { $ } from "bun" import fs from "fs" import path from "path" import { fileURLToPath } from "url" -import solidPlugin from "@opentui/solid/bun-plugin" +import { createSolidTransformPlugin } from "@opentui/solid/bun-plugin" const __filename = fileURLToPath(import.meta.url) const __dirname = path.dirname(__filename) @@ -59,6 +59,7 @@ console.log(`Loaded ${migrations.length} migrations`) const singleFlag = process.argv.includes("--single") const baselineFlag = process.argv.includes("--baseline") const skipInstall = process.argv.includes("--skip-install") +const plugin = createSolidTransformPlugin({ mode: "build" }) const allTargets: { os: string @@ -173,7 +174,7 @@ for (const item of targets) { await Bun.build({ conditions: ["browser"], tsconfig: "./tsconfig.json", - plugins: [solidPlugin], + plugins: [plugin], sourcemap: "external", compile: { autoloadBunfig: false, diff --git a/packages/opencode/src/cli/cmd/tui/component/dialog-status.tsx b/packages/opencode/src/cli/cmd/tui/component/dialog-status.tsx index 3b6b5ef218..ebc65a45b7 100644 --- a/packages/opencode/src/cli/cmd/tui/component/dialog-status.tsx +++ b/packages/opencode/src/cli/cmd/tui/component/dialog-status.tsx @@ -16,7 +16,8 @@ export function DialogStatus() { const plugins = createMemo(() => { const list = sync.data.config.plugin ?? [] - const result = list.map((value) => { + const result = list.map((item) => { + const value = typeof item === "string" ? item : item[0] if (value.startsWith("file://")) { const path = fileURLToPath(value) const parts = path.split("/") diff --git a/packages/opencode/test/config/config.test.ts b/packages/opencode/test/config/config.test.ts index 96fac8cca2..17c37efde7 100644 --- a/packages/opencode/test/config/config.test.ts +++ b/packages/opencode/test/config/config.test.ts @@ -1727,7 +1727,7 @@ describe("deduplicatePlugins", () => { const myPlugins = plugins.filter((p) => Config.getPluginName(p) === "my-plugin") expect(myPlugins.length).toBe(1) - expect(myPlugins[0].startsWith("file://")).toBe(true) + expect(Config.pluginSpecifier(myPlugins[0]).startsWith("file://")).toBe(true) }, }) })