Merge pull request #2291 from SeeYouCowboi/fix/cache-dir-invalidation-stale-version

fix: also invalidate plugin from CACHE_DIR in invalidatePackage
This commit is contained in:
acamq
2026-03-07 13:10:15 -07:00
committed by GitHub
+7 -2
View File
@@ -1,6 +1,6 @@
import * as fs from "node:fs" import * as fs from "node:fs"
import * as path from "node:path" 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" import { log } from "../../shared/logger"
interface BunLockfile { interface BunLockfile {
@@ -48,18 +48,23 @@ function removeFromBunLock(packageName: string): boolean {
export function invalidatePackage(packageName: string = PACKAGE_NAME): boolean { export function invalidatePackage(packageName: string = PACKAGE_NAME): boolean {
try { 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") const pkgJsonPath = path.join(USER_CONFIG_DIR, "package.json")
let packageRemoved = false let packageRemoved = false
let dependencyRemoved = false let dependencyRemoved = false
let lockRemoved = false let lockRemoved = false
for (const pkgDir of pkgDirs) {
if (fs.existsSync(pkgDir)) { if (fs.existsSync(pkgDir)) {
fs.rmSync(pkgDir, { recursive: true, force: true }) fs.rmSync(pkgDir, { recursive: true, force: true })
log(`[auto-update-checker] Package removed: ${pkgDir}`) log(`[auto-update-checker] Package removed: ${pkgDir}`)
packageRemoved = true packageRemoved = true
} }
}
if (fs.existsSync(pkgJsonPath)) { if (fs.existsSync(pkgJsonPath)) {
const content = fs.readFileSync(pkgJsonPath, "utf-8") const content = fs.readFileSync(pkgJsonPath, "utf-8")