Skip to content

Commit 9f45c06

Browse files
authored
Merge pull request #93 from Tarquinen/fix/auto-update-lock-file-removal
Fix auto-update by removing stale npm lock file
2 parents 066f510 + 6714c2e commit 9f45c06

File tree

3 files changed

+16
-3
lines changed

3 files changed

+16
-3
lines changed

lib/version-checker.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,10 +55,23 @@ export function isOutdated(local: string, remote: string): boolean {
5555
export async function performUpdate(targetVersion: string, logger?: { info: (component: string, message: string, data?: any) => void }): Promise<boolean> {
5656
// OpenCode installs packages to ~/.cache/opencode/node_modules/
5757
const cacheDir = join(homedir(), '.cache', 'opencode')
58+
const packageDir = join(cacheDir, 'node_modules', '@tarquinen', 'opencode-dcp')
5859
const packageSpec = `${PACKAGE_NAME}@${targetVersion}`
5960

6061
logger?.info("version", "Starting auto-update", { targetVersion, cacheDir })
6162

63+
try {
64+
const { rmSync, existsSync } = await import('fs')
65+
const lockFile = join(cacheDir, 'node_modules', '.package-lock.json')
66+
if (existsSync(lockFile)) {
67+
// Remove the lock file to force npm to re-resolve the package
68+
rmSync(lockFile, { force: true })
69+
logger?.info("version", "Removed package-lock.json to force fresh resolution")
70+
}
71+
} catch (err) {
72+
logger?.info("version", "Could not remove lock file", { error: (err as Error).message })
73+
}
74+
6275
return new Promise((resolve) => {
6376
let resolved = false
6477

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"$schema": "https://json.schemastore.org/package.json",
33
"name": "@tarquinen/opencode-dcp",
4-
"version": "0.4.3",
4+
"version": "0.4.4",
55
"type": "module",
66
"description": "OpenCode plugin that optimizes token usage by pruning obsolete tool outputs from conversation context",
77
"main": "./dist/index.js",

0 commit comments

Comments
 (0)