From e70a28b69f31d53fce0609eb37fa1a98a761b578 Mon Sep 17 00:00:00 2001 From: Daniel Smolsky Date: Tue, 9 Dec 2025 00:41:09 -0500 Subject: [PATCH 1/2] Use bun instead of npm for auto-update OpenCode uses bun to manage plugin dependencies in its cache directory, so the auto-update should use bun as well. This also removes the unnecessary lock file deletion code that was added as a workaround for npm issues. --- lib/version-checker.ts | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/lib/version-checker.ts b/lib/version-checker.ts index 42bfe28c..ea28ab99 100644 --- a/lib/version-checker.ts +++ b/lib/version-checker.ts @@ -58,21 +58,11 @@ export async function performUpdate(targetVersion: string, logger?: { info: (com logger?.info("version", "Starting auto-update", { targetVersion, cacheDir }) - try { - const { rmSync, existsSync } = await import('fs') - const lockFile = join(cacheDir, 'node_modules', '.package-lock.json') - if (existsSync(lockFile)) { - rmSync(lockFile, { force: true }) - logger?.info("version", "Removed package-lock.json to force fresh resolution") - } - } catch (err) { - logger?.info("version", "Could not remove lock file", { error: (err as Error).message }) - } - return new Promise((resolve) => { let resolved = false - const proc = spawn('npm', ['install', '--legacy-peer-deps', packageSpec], { + // Use bun since opencode uses bun to manage its plugin dependencies + const proc = spawn('bun', ['add', packageSpec], { cwd: cacheDir, stdio: 'pipe' }) From f3a5f7daf86b3c9c272828aa99459e685588fd26 Mon Sep 17 00:00:00 2001 From: Daniel Smolsky Date: Tue, 9 Dec 2025 00:41:28 -0500 Subject: [PATCH 2/2] v0.4.6 - Bump version --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 9954bcaf..d5f9687f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@tarquinen/opencode-dcp", - "version": "0.4.5", + "version": "0.4.6", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@tarquinen/opencode-dcp", - "version": "0.4.5", + "version": "0.4.6", "license": "MIT", "dependencies": { "@ai-sdk/openai-compatible": "^1.0.28", diff --git a/package.json b/package.json index 32ac5259..d308c6cc 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "$schema": "https://json.schemastore.org/package.json", "name": "@tarquinen/opencode-dcp", - "version": "0.4.5", + "version": "0.4.6", "type": "module", "description": "OpenCode plugin that optimizes token usage by pruning obsolete tool outputs from conversation context", "main": "./dist/index.js",