diff --git a/lib/version-checker.ts b/lib/version-checker.ts index 42bfe28..ea28ab9 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' }) diff --git a/package-lock.json b/package-lock.json index 9954bca..d5f9687 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 32ac525..d308c6c 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",