JSPM

  • Created
  • Published
  • Downloads 777348
  • Score
    100M100P100Q175794F
  • License MIT

Binary wrapper that makes your programs seamlessly available as local dependencies

Package Exports

  • bin-wrapper

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (bin-wrapper) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

bin-wrapper Build Status

Binary wrapper for Node.js that makes your programs seamlessly available as local dependencies

Getting started

Install with npm: npm install bin-wrapper

Examples

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

API

new BinWrapper(opts)

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(cmd)

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.

.build(cmd)

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.

.addPath(src)

Add a path where to check for the binary. By default dest is added to paths.

.addUrl(url, platform, arch)

Add a URL to download the binary from. Use platform and arch to target a specific system.

.addFile(url, platform, arch)

Add a file to download alongside with the binary. Use platform and arch to target a specific system.

.addSource(url)

Add a URL where to download the source code from.

Options

bin

Type: String
Default: undefined

Set the name of the binary.

dest

Type: String
Default: process.cwd()

Destination to download/build binary.

License

MIT License (c) Kevin Mårtensson