diff --git a/ets2panda/driver/build_system/src/build/base_mode.ts b/ets2panda/driver/build_system/src/build/base_mode.ts index 99fad43361e17410ff39ad8d33eea57178f1010c..e25ef54615f67659acaa1be3ee9813548376f3ee 100644 --- a/ets2panda/driver/build_system/src/build/base_mode.ts +++ b/ets2panda/driver/build_system/src/build/base_mode.ts @@ -402,10 +402,16 @@ export abstract class BaseMode { private loadHashCache(): Record { try { - if (fs.existsSync(this.hashCacheFile)) { - const cacheContent = fs.readFileSync(this.hashCacheFile, 'utf-8'); - return JSON.parse(cacheContent); + if (!fs.existsSync(this.hashCacheFile)) { + return {}; } + + const cacheContent: string = fs.readFileSync(this.hashCacheFile, 'utf-8'); + const cacheData: Record = JSON.parse(cacheContent); + const filteredCache: Record = Object.fromEntries( + Object.entries(cacheData).filter(([file]) => this.entryFiles.has(file)) + ); + return filteredCache; } catch (error) { if (error instanceof Error) { const logData: LogData = LogDataFactory.newInstance( @@ -415,8 +421,8 @@ export abstract class BaseMode { ); this.logger.printError(logData); } + return {}; } - return {}; } private saveHashCache(): void {