treediff

0.2.5 • Public • Published

TreeDiff Logo

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 to
    • type (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 from
    • type (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 complete
    • err (Error) - Any error that may occur during comparison
    • difference (Object) - Holds information about which files were added, modified and deleted
      • added (Array) - Files that are to be added to source
      • modified (Array) - Files that are to be modified on source
      • deleted (Array) - Files that are to be deleted on source
      • total (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 to
    • type (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 from
    • type (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 complete
    • err (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');

Package Sidebar

Install

npm i treediff

Weekly Downloads

3

Version

0.2.5

License

MIT

Last publish

Collaborators

  • anifacted