diff --git a/ets2panda/driver/build_system/src/build/base_mode.ts b/ets2panda/driver/build_system/src/build/base_mode.ts index 216a80d91938c27d97d50a34df1825e8b1ad0eec..1bdc2196902b4b2b47ffeea704e1da92f57be8e5 100644 --- a/ets2panda/driver/build_system/src/build/base_mode.ts +++ b/ets2panda/driver/build_system/src/build/base_mode.ts @@ -455,10 +455,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( @@ -468,8 +474,8 @@ export abstract class BaseMode { ); this.logger.printError(logData); } + return {}; } - return {}; } private saveHashCache(): void {