Binary wrapper for Node.js that makes your programs seamlessly available as local dependencies
Install with npm: npm install bin-wrapper
var BinWrapper = require('bin-wrapper');
var bin = new BinWrapper({ bin: 'gifsicle', dest: 'vendor' });
bin
.addUrl('https://raw.github.com/yeoman/node-gifsicle/0.1.4/vendor/osx/gifsicle', 'darwin')
.addUrl('https://raw.github.com/yeoman/node-gifsicle/0.1.4/vendor/linux/x64/gifsicle', 'linux', 'x64')
.addFile('https://raw.github.com/yeoman/node-jpegtran-bin/master/vendor/win/x64/libjpeg-62.dll', 'windows', 'x64')
.addSource('http://www.lcdf.org/gifsicle/gifsicle-1.71.tar.gz')
.check()
.on('error', function (err) {
console.log(err);
});
.on('fail', function () {
this.build('./configure && make && make install')
})
.on('success', function () {
console.log('gifsicle is working');
})
.on('finish', function () {
console.log('gifsicle rebuilt successfully!')
})
Get the path to your binary with bin.path
.
console.log(bin.path); // => path/to/vendor/gifsicle
Creates a new BinWrapper
. Available options are bin
which is the name of the
binary and dest
which is where to download/build the binary to.
Check if a binary is present and working. If it isn't, download and test it by
running the binary with cmd
and see if it exits correctly.
Emits success
if the binary is working and fail
if the binary failed to exit with
status code 0
.
Download the source archive defined in the src
property and build it using the
build script defined in the cmd
argument.
Emits finish
when build is finished successfully.
Add a path where to check for the binary. By default dest
is added to paths.
Add a URL to download the binary from. Use platform
and arch
to target a
specific system.
Add a file to download alongside with the binary. Use platform
and arch
to
target a specific system.
Add a URL where to download the source code from.
Type: String
Default: undefined
Set the name of the binary.
Type: String
Default: process.cwd()
Destination to download/build binary.