treediff
v0.2.5
Published
Compare and find/sync differences in file trees
Downloads
29
Maintainers
Readme
File tree comparison and synchronization for Node.js!
Installation
$ npm install treediff
Instantiate like so:
var TreeDiff = require('treediff');
var treediff = new TreeDiff();
Features
- Map: Turn a file tree into universal a JSON structure regardless of its origin
- Compare: Reveal modifications, addtions and deletions between two file trees
- Synchronize: Transfer modifications, additions and deletions between two file trees
Methods
.compare(mapA, mapB, callback)
Will compare one file location with another one.
Arguments
mapA
(Object) - The source to apply changes totype
(String) - The type of the map. Default is "local"path
(String) - The path to the root folder of the source
mapB
(Object) - The target to apply changes fromtype
(String) - The type of the map. Default is "local"path
(String) - The path to the root folder of the source
callback(err, difference)
(Function) - The callback that is called when comparison is completeerr
(Error) - Any error that may occur during comparisondifference
(Object) - Holds information about which files were added, modified and deletedadded
(Array) - Files that are to be added to sourcemodified
(Array) - Files that are to be modified on sourcedeleted
(Array) - Files that are to be deleted on sourcetotal
(Number) - The total amount of differences
Example
var folderA = {
type: 'local',
path: 'path/to/folder-a'
};
var folderB = {
type: 'local',
path: 'path/to/folder-b'
};
treediff.compare(folderA, folderB, function(err, differences){
// ...
});
.sync(mapA, mapB, callback)
Will apply the differences from mapB to mapA.
Arguments
mapA
(Object) - The source to apply changes totype
(String) - The type of the map. Default is "local"path
(String) - The path to the root folder of the source
mapB
(Object) - The target to apply changes fromtype
(String) - The type of the map. Default is "local"path
(String) - The path to the root folder of the source
callback(err)
(Function) - The callback that is called when synchronization is completeerr
(Error) - Any error that may occur during synchronization
Example
var folderA = {
type: 'local',
path: 'path/to/folder-a'
};
var folderB = {
type: 'local',
path: 'path/to/folder-b'
};
treediff.sync(folderA, folderB, function(err){
// ...
});
.registerFilter(filter)
Adds a filter to exlude entries from the comparison process. The filter will be evaluated for each entry as a glob expression. As an example, **/.DS_Store
is applied by default.
Arguments
filter
(String) - The glob expression string to exclude entries by.
Example
// Exclude entire folder
treediff.registerFilter('**/Folder-to-exclude/**');
// Exclude all MS Word documents
treediff.registerFilter('**/*.docx');