hashonym

cp files using the content hash as the filename

hashonym

cp files using the content hash as the filename. Calculates the minimum hash length required to avoid hash-collisions for files with different content, but this can be overriden via configuration.

example

var Hashonym = require('hashonym');
 
var hasher = new Hashonym(outputDirectory, {
    ext: true,      // preserve the file extension of the source file
    minHashLen: 3   // the minimum hash length to use for the file name
});
 
hasher.add('./some/file.js');
hasher.add(['./some/other/file.js']);
 
hasher.hashonymize(function (err, map) {
    if (err) {
        return console.error(err);
    }
    console.log(JSON.stringify(map));
});
{
  './some/file.js': 'a16.js',
  './some/other/file.js': '2hs.js'
}

methods

Adds a file to the set of files that should be evaluated at a later time.

Adding a new file after a call to hashonymize() will require a recalcuation due to the fact that the minimum hash length may change.

Copies all added files to the specified directory using the content hash as the file name.

Returns a mapping of the source files and the hash files.

install

npm install hashonym

license

BSD