bin-wrapper
Binary wrapper that makes your programs seamlessly available as local dependencies
Last updated 6 years ago by sindresorhus .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ gnpm install bin-wrapper 
SYNC missed versions from official npm registry.

bin-wrapper Build Status

Binary wrapper that makes your programs seamlessly available as local dependencies

Install

$ npm install bin-wrapper

Usage

const BinWrapper = require('bin-wrapper');

const base = 'https://github.com/imagemin/gifsicle-bin/raw/master/vendor';
const bin = new BinWrapper()
	.src(`${base}/macos/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');

(async () => {
	await bin.run(['--version']);
	console.log('gifsicle is working');
})();

Get the path to your binary with bin.path():

console.log(bin.path());
//=> 'path/to/vendor/gifsicle'

API

new BinWrapper(options)

Creates a new BinWrapper instance.

options

Type: Object

skipCheck

Type: boolean
Default: false

Whether to skip the binary check or not.

strip

Type: number
Default: 1

Strip a number of leading paths from file names on extraction.

.src(url, [os], [arch])

Adds a source to download.

url

Type: string

Accepts a URL pointing to a file to download.

os

Type: string

Tie the source to a specific OS.

arch

Type: string

Tie the source to a specific arch.

.dest(destination)

destination

Type: string

Accepts a path which the files will be downloaded to.

.use(binary)

binary

Type: string

Define which file to use as the binary.

.path()

Returns the full path to your binary.

.version(range)

range

Type: string

Define a semver range to check the binary against.

.run([arguments])

Runs the search for the binary. If no binary is found it will download the file using the URL provided in .src().

arguments

Type: Array
Default: ['--version']

Command to run the binary with. If it exits with code 0 it means that the binary is working.

License

MIT © Kevin Mårtensson

Current Tags

  • 4.1.0                                ...           latest (6 years ago)

39 Versions

  • 4.1.0                                ...           6 years ago
  • 4.0.1                                ...           6 years ago
  • 4.0.0                                ...           6 years ago
  • 3.0.1                                ...           10 years ago
  • 3.0.2                                ...           9 years ago
  • 3.0.0                                ...           10 years ago
  • 2.1.3                                ...           10 years ago
  • 2.1.2                                ...           10 years ago
  • 2.1.1                                ...           10 years ago
  • 2.1.0                                ...           10 years ago
  • 2.0.2                                ...           10 years ago
  • 2.0.1                                ...           10 years ago
  • 2.0.0                                ...           10 years ago
  • 1.0.5                                ...           10 years ago
  • 1.0.4                                ...           10 years ago
  • 1.0.2                                ...           10 years ago
  • 1.0.3                                ...           10 years ago
  • 1.0.1                                ...           10 years ago
  • 1.0.0                                ...           10 years ago
  • 0.4.0                                ...           10 years ago
  • 0.3.4                                ...           11 years ago
  • 0.3.3                                ...           11 years ago
  • 0.3.2                                ...           11 years ago
  • 0.3.1                                ...           11 years ago
  • 0.3.0                                ...           11 years ago
  • 0.2.4                                ...           11 years ago
  • 0.2.3                                ...           11 years ago
  • 0.2.2                                ...           11 years ago
  • 0.2.1                                ...           11 years ago
  • 0.2.0                                ...           11 years ago
  • 0.1.9                                ...           11 years ago
  • 0.1.8                                ...           11 years ago
  • 0.1.7                                ...           11 years ago
  • 0.1.6                                ...           11 years ago
  • 0.1.5                                ...           11 years ago
  • 0.1.4                                ...           11 years ago
  • 0.1.3                                ...           11 years ago
  • 0.1.2                                ...           11 years ago
  • 0.1.1                                ...           11 years ago
Maintainers (2)
Downloads
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 0
Dependencies (6)
Dev Dependencies (7)

Copyright 2013 - present © cnpmjs.org | Home |