Skip to content

Commit e81aa39

Browse files
committed
Revert "fix(update): prevent updateRemoveDir from deleting non-wrapper directories"
This reverts commit fe61437.
1 parent fe61437 commit e81aa39

2 files changed

Lines changed: 2 additions & 18 deletions

File tree

lib/update.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,8 @@ export async function updateRemoveDir(packageDir: string, name: string) {
8787
if (basename(nodeModulesDir) !== "node_modules") return undefined
8888

8989
const wrapperDir = dirname(nodeModulesDir)
90-
const spec = wrapperSpec(wrapperDir, name)
90+
const wrapperPkg = await readPackageJson(join(wrapperDir, "package.json"))
91+
const spec = wrapperSpec(wrapperDir, name) ?? wrapperPkg?.dependencies?.[name]
9192
if (!spec || !isAutoUpdatableSpec(spec)) return undefined
9293

9394
return wrapperDir

tests/update.test.ts

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -40,23 +40,6 @@ test("updateRemoveDir removes opencode npm wrapper for latest installs", async (
4040
assert.equal(await updateRemoveDir(packageDir, "@tarquinen/opencode-dcp"), wrapperDir)
4141
})
4242

43-
test("updateRemoveDir rejects directories not matching opencode wrapper naming", async () => {
44-
const rootDir = await mkdtemp(join(tmpdir(), "dcp-update-"))
45-
// Simulate .config/opencode-like setup: plugin lives in node_modules but
46-
// the parent dir is NOT an @scope/pkg@spec wrapper — updateRemoveDir
47-
// must NOT return the parent dir even if its package.json lists the dep.
48-
const packageDir = join(rootDir, "node_modules", "@tarquinen", "opencode-dcp")
49-
await writePackageJson(rootDir, {
50-
dependencies: { "@tarquinen/opencode-dcp": "latest" },
51-
})
52-
await writePackageJson(packageDir, {
53-
name: "@tarquinen/opencode-dcp",
54-
version: "3.1.9",
55-
})
56-
57-
assert.equal(await updateRemoveDir(packageDir, "@tarquinen/opencode-dcp"), undefined)
58-
})
59-
6043
test("updateRemoveDir skips version-locked opencode installs", async () => {
6144
const rootDir = await mkdtemp(join(tmpdir(), "dcp-update-"))
6245
const wrapperDir = join(rootDir, "@tarquinen", "opencode-dcp@3.1.9")

0 commit comments

Comments
 (0)