Binary wrapper that makes your programs seamlessly available as local dependencies
$ npm install --save bin-wrapper
var BinWrapper = require('bin-wrapper');
var base = 'https://github.com/imagemin/gifsicle-bin/raw/master/vendor';
var bin = new Bin()
.src(base + '/osx/gifsicle', 'darwin')
.src(base + '/linux/x64/gifsicle', 'linux', 'x64')
.src(base + '/win/x64/gifsicle.exe', 'win32', 'x64')
.dest(path.join('vendor'))
.use(process.platform === 'win32' ? 'gifsicle.exe' : 'gifsicle')
.version('>=1.71');
bin.run(['--version'], function (err) {
if (err) {
throw err;
}
console.log('gifsicle is working');
});
Get the path to your binary with bin.path()
:
console.log(bin.path()); // => path/to/vendor/gifsicle
Creates a new BinWrapper
instance. The available options are:
global
: Whether to check for global binaries or not. Defaults tofalse
.progress
: Show a progress bar when downloading files. Defaults totrue
.skip
: Whether to skip checking if the binary works or not. Defaults tofalse
.strip
: Strip a number of leading paths from file names on extraction. Defaults to1
.
Adds a source to download.
Type: String
Accepts a URL pointing to a file to download.
Type: String
Tie the source to a specific OS.
Type: String
Tie the source to a specific arch.
Type: String
Accepts a path which the files will be downloaded to.
Type: String
Define which file to use as the binary.
Get the full path to your binary.
Type: String
Define a semver range to check the binary against.
Runs the search for the binary. If no binary is found it will download the file
using the URL provided in .src()
.
Type: Array
Command to run the binary with. If it exits with code 0
it means that the
binary is working.
Type: Function
Returns nothing but a possible error.
MIT © Kevin Mårtensson