diff --git a/src/hooks/auto-update-checker/cache.ts b/src/hooks/auto-update-checker/cache.ts index e5df33df7..9cf312a36 100644 --- a/src/hooks/auto-update-checker/cache.ts +++ b/src/hooks/auto-update-checker/cache.ts @@ -1,6 +1,6 @@ import * as fs from "node:fs" import * as path from "node:path" -import { PACKAGE_NAME, USER_CONFIG_DIR } from "./constants" +import { CACHE_DIR, PACKAGE_NAME, USER_CONFIG_DIR } from "./constants" import { log } from "../../shared/logger" interface BunLockfile { @@ -48,17 +48,22 @@ function removeFromBunLock(packageName: string): boolean { export function invalidatePackage(packageName: string = PACKAGE_NAME): boolean { try { - const pkgDir = path.join(USER_CONFIG_DIR, "node_modules", packageName) + const pkgDirs = [ + path.join(USER_CONFIG_DIR, "node_modules", packageName), + path.join(CACHE_DIR, "node_modules", packageName), + ] const pkgJsonPath = path.join(USER_CONFIG_DIR, "package.json") let packageRemoved = false let dependencyRemoved = false let lockRemoved = false - if (fs.existsSync(pkgDir)) { - fs.rmSync(pkgDir, { recursive: true, force: true }) - log(`[auto-update-checker] Package removed: ${pkgDir}`) - packageRemoved = true + for (const pkgDir of pkgDirs) { + if (fs.existsSync(pkgDir)) { + fs.rmSync(pkgDir, { recursive: true, force: true }) + log(`[auto-update-checker] Package removed: ${pkgDir}`) + packageRemoved = true + } } if (fs.existsSync(pkgJsonPath)) {