Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

bin-manager

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

bin-manager

Binary wrapper that makes your programs seamlessly available as local dependencies

  • 1.3.1
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

NodeJS Binary Manager Travis CI Codecov npm npm version

🌀 Binaries available as local nodeJS dependencies

Install

$ npm install --save bin-manager

Usage

const bmanager = require('bin-manager');

const base = 'https://github.com/imagemin/gifsicle-bin/raw/master/vendor';
const bin = bmanager('bin', 'gifsicle')
  .src(base + '/macos/gifsicle', 'darwin')
  .src(base + '/linux/x64/gifsicle', 'linux', 'x64')
  .src(base + '/win/x64/gifsicle.exe', 'win32', 'x64')
  .use(process.platform === 'win32' ? 'gifsicle.exe' : 'gifsicle');

bin.run(['--version'], (err, out) => {
  if (err) {
    console.log(error);
    return;
  }
  console.log(out.stdout);
});

API

bmanager(dist, slug)

Creates a new bmanager instance.

dist

Type: string
Default: ''

Accepts a path where the binaries will be stored to.

slug

Type: string
Default: ''

Accepts an unique slug for the binary.
The binary will be downloaded inside the path: dist/slug

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

Adds a source to download. If 0 arguments are passed, the array of current setted sources is returned.

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)

Adds a destination folder.

destination

Type: string

The path which the files will be downloaded to.

.use([binary])

Get or set the binary path of the extracted file.

binary

Type: string

Define which file to use as executable. If undefined the current setted value is returned.

.path()

Returns the full path where the binary will downloaded to.

.bin()

Returns the full path to your binary.

.remote()

Returns the URLs that will be used/was used to download the binaries for your platform.

.load([options], callback)

Runs the search for the binary. If no binary is found it will download it using the URL provided in .src().
It usese download under the hood.
See here all available options.

options

Type: Object
Default: {extract: true}

callback(err)

Type: Function

.unload([options], callback)

Removes downloaded binaries, if presents.
It usese del under the hood.
See here all available options.

options

Type: Object
Default: {}

callback(err)

Type: Function

.run([arguments], [options], callback)

Runs the binary. If the binary is not loaded it will also load it.
It usese execa under the hood.
See here all available options.

arguments

Type: Array
Default: []

options

Type: Object
Default: {}

callback(err, out)

Type: Function

Returns a possible error and the output object.

Authors

  • Simone Primarosa - simonepri

See also the list of contributors who participated in this project.

Heavily inspired from bin-wrapper

License

This project is licensed under the MIT License - see the LICENSE file for details.

Keywords

FAQs

Package last updated on 25 Jul 2017

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc