file-changed
v1.4.1
Published
A node module to check and store file changed.
Downloads
1,763
Maintainers
Readme
file-changed
A node module to check and store file changed.
Install
By npm:
npm i file-changed --save
By yarn:
yarn add file-changed
Class
This package export a class since version 1.0.0 which means you could have multiple instances and save the information where you like.
constructor([dbPath])
Arguments
dbPath {string}
- Default:
./\_timestamp.json
Path to save collection informations on disk.
Return
Collection instance.
Instance Methods
get(file[, type])
Access to a file last modified information.
Arguments
- file {string}: The target file path
- type {string}: The information type
ts
: timestamp (default)md5
: md5 hash
Return
false
{boolean}: no such file in collection- timestamp or md5 {string}: depends on
type
list()
Get all file paths in collection.
Return
- file paths {array}
addFile(path[, path2 ... pathN])
Add files to collection.
Arguments
- path {string}: the target file path or glob
Return
this
{object}: for chain operation
rmFile(path[, path2 ... pathN])
Remove files from collection.
Arguments
- path {string}: the target file path or glob
Return
this
{object}: for chain operation
check([path1 ... pathN])
Check collection files changed or not.
Arguments
- no arguments: check all files.
- path {string}: the target file path or glob
Return
- changed files {array}
update([path1 ... pathN])
Update files last modified information.
Arguments
- no arguments: update all files
- path {string}: the target file path or glob
Return
this
{object}: for chain operation
clean()
Clean files in collection which could not found.
Return
this
{object}: for chain operation
save()
Save collection information onto disk.
Return
this
{object}: for chain operation
Usage Examples
const Fc = require('file-changed');
const collectionA = new Fc('./path/to/save/info'); // Create collection instance whill will load modified info from that path if that path exists
collectionA.addFile('test/files/file1', 'test/files/file2'); // Add 2 files in collectionA
const fileList = collectionA.list(); // Get file list in collectionA
collectionA.rmFile('test/files/file1'); // Remove 1 file from collectionA
collectionA.addFile('test/files/*'); // Add file by glob
const modifiedList1 = collectionA.check('test/files/file1'); // Check 1 file modified or not
const modifiedList2 = collectionA.check()); // Check all files in collectionA modified or not
collectionA.update('test/files/file1'); // Update last modified info for 1 file
collectionA.update(); // Update last modified info for all files in collectionA
const lastModifiedTS = collectionA.get('test/files/file1'); // Get last modified timestamp for that file
const lastModifiedMD5 = collectionA.get('test/files/file1', 'md5'); // Get last modified md5 for that file
collectionA.save(); // Save collectionA modified info to disk
Test
npm test