Simple SHA-1 hash cache for tracking file changes. Cache is saved to disk.
Init the cache.
Optional arguments:
defaultKey = 'file'
; used throughout to categorize groups of filescacheFile = '.hash-cache.json'
; filename of the cache on diskcacheRoot = process.cwd()
; root where to place the cache on diskprojectRoot = process.cwd()
; root from where relative file paths are calculated
import FileHashCache from '@eklingen/file-hash-cache'
const fileHashCache = new FileHashCache()
Update a file entry in the cache (existing cache will automatically be loaded from disk):
fileHashCache.updateEntry(filename = 'readme.md', key = 'readme-files', encoding = 'utf-8')
And finally, save the cache to disk:
fileHashCache.save()
To force load the cache:
This loads the full cache. Pass a key
to initialize the group if it doesn't exist yet in the cache.
fileHashCache.load('readme-files')
To check if a file hash has changed as compared to the value in the cache: This always compares file contents since the output can differ after writing it to a file.
const hasChanged = fileHashCache.fileHasChanged(file = 'readme.md', key = 'readme-files', encoding = 'utf-8')
To compare the hash of two files, regardless of the cache: This always compares file contents since the output can differ after writing it to a file.
const isIdentical = fileHashCache.compareFiles(firstFilepath = 'somewhere/readme.md', secondFilepath = 'else/readme.md', encoding = 'utf-8')
None.
Copyright (c) 2024 Elco Klingen. MIT License.