bin-wrapper

Binary wrapper that makes your programs seamlessly available as local dependencies

bin-wrapper

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 BinWrapper()
    .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:

  • skipCheck: Whether to skip checking if the binary works or not. Defaults to false.
  • strip: Strip a number of leading paths from file names on extraction. Defaults to 1.

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