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/gifsicleCreates 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.
