From c9c72cf211fd6a688f4368ccc5c546e93def2805 Mon Sep 17 00:00:00 2001 From: dbpolito Date: Fri, 27 Mar 2026 20:05:01 -0300 Subject: [PATCH] fix: point opencode package to plugin entry - publish as the package entry so consumers load the plugin-only surface - update the build to emit instead of bundling from - add a regression test that verifies the plugin entry only exports the plugin factories --- packages/opencode/package.json | 4 ++-- packages/opencode/plugin.ts | 1 + packages/opencode/scripts/build.ts | 2 +- packages/opencode/test/plugin-entry.test.ts | 14 ++++++++++++++ 4 files changed, 18 insertions(+), 3 deletions(-) create mode 100644 packages/opencode/plugin.ts create mode 100644 packages/opencode/test/plugin-entry.test.ts diff --git a/packages/opencode/package.json b/packages/opencode/package.json index 1563c57..761112c 100644 --- a/packages/opencode/package.json +++ b/packages/opencode/package.json @@ -3,9 +3,9 @@ "version": "0.9.0", "description": "OpenCode plugin for navigating repos with fewer wrong turns", "type": "module", - "main": "./dist/index.js", + "main": "./dist/plugin.js", "exports": { - ".": "./dist/index.js" + ".": "./dist/plugin.js" }, "files": [ "agents", diff --git a/packages/opencode/plugin.ts b/packages/opencode/plugin.ts new file mode 100644 index 0000000..74c8790 --- /dev/null +++ b/packages/opencode/plugin.ts @@ -0,0 +1 @@ +export { OpenCodeCompassPlugin, OpenCodeCompassPlugin as default } from "./index.ts"; diff --git a/packages/opencode/scripts/build.ts b/packages/opencode/scripts/build.ts index e2bbc56..9bf3661 100644 --- a/packages/opencode/scripts/build.ts +++ b/packages/opencode/scripts/build.ts @@ -16,7 +16,7 @@ const runtimeDirs = ["agents", "commands", "components"] as const; const bundleExternals = ["@opencode-ai/plugin", "@opencode-ai/plugin/tool"] as const; const bundleArgs = [ "build", - "./index.ts", + "./plugin.ts", "--outdir", "./dist", "--target", diff --git a/packages/opencode/test/plugin-entry.test.ts b/packages/opencode/test/plugin-entry.test.ts new file mode 100644 index 0000000..8682437 --- /dev/null +++ b/packages/opencode/test/plugin-entry.test.ts @@ -0,0 +1,14 @@ +import { describe, test } from "node:test"; +import assert from "node:assert/strict"; + +describe("plugin entry", () => { + test("only exposes plugin factories", async () => { + const mod = await import("../plugin.ts"); + + assert.deepEqual( + Object.keys(mod).sort(), + ["OpenCodeCompassPlugin", "default"], + ); + assert.equal(mod.default, mod.OpenCodeCompassPlugin); + }); +});