Busta
Util to fingerprint asset filenames.
Installation
$ npm install busta
or install CLI util globally
$ npm install -g busta
API
busta(filename, [options,] callback)
Arguments
- filename
String
File to fingerprint/bust. - options
Object
optional
- outdir
String
: Directory to create new file in. Default is same as the original file. - prefix
String
: String to prepend filename with. Default is base of original file. - noprefix
Boolean
: If true filename will not be prepended with prefix. Default is false
. - encoding
String
: Used with hasher. Default is "utf8"
. - hash
String|Function
: Used with hasher. Default is "md5"
. If value is a function,
the function will be passed the file contents and it must return a string.
- callback(err, newfile)
Function
Where newfile
has the following properties:
name
Fingerprinted filename.absolute
Absolute path.dir
Directory of file.fingerprint
var busta = require('busta');
busta('assets/js/example.js', function(err, fileinfo) {
if (err) throw err;
console.log('File %j created', fileinfo.name);
});
busta('assets/js/example.js', {noprefix: true}, function(err, fileinfo) {
if (err) throw err;
console.log('File %j created', fileinfo.name);
});
Command Line Usage
$ busta --file <file-to-bust> [options]
Options:
-h, --help output usage information
-V, --version output the version number
-f, --file <file> file to bust - required
-o, --outdir <outdir> directory to write new file to
-p, --prefix <prefix> filename prefix - default is base name of file
-n, --noprefix do not use a file prefix
-e, --encoding <encoding> encoding used by hasher - default is utf8
-H, --hash <hash> hash algorithm - default is md5
Examples
$ busta --file assets/js/example.js
$ busta --file assets/js/example.js --noprefix
$ busta --file assets/js/example.js --prefix super-duper
$ busta --file assets/js/example.js --outdir deploy/app