It appears that `fileHashes` can grow indefinitely, and also becomes incorrect when the content of a file is used for hashing and the content changes. Perhaps there should be maximum TTL value for the cache.