c5fd23b54f | ||
---|---|---|
.. | ||
lib | ||
node_modules/async | ||
test/unit | ||
.editorconfig | ||
.jscsrc | ||
.jshintignore | ||
.jshintrc | ||
.npmignore | ||
.travis.yml | ||
CHANGELOG.md | ||
LICENSE | ||
Makefile | ||
README.md | ||
package.json |
README.md
HasBin
Check whether a binary exists in the PATH
environment variable.
var hasbin = require('hasbin');
// Check if a binary exists
hasbin('node', function (result) {
// result === true
});
hasbin('wtf', function (result) {
// result === false
});
// Check if all binaries exist
hasbin.all(['node', 'npm'], function (result) {
// result === true
});
// Check if at least one binary exists
hasbin.some(['node', 'wtf'], function (result) {
// result === true
});
// Find the first available binary
hasbin.first(['node', 'npm'], function (result) {
// result === 'node'
});
Table Of Contents
Install
Install HasBin with npm:
npm install hasbin
Usage
hasbin(binaryName, callback)
Check whether a binary exists on one of the paths in process.env.PATH
. Calls back with true
if it does.
// Arguments
binaryName = String
callback = Function(Boolean)
// Example
hasbin('node', function (result) {
// result === true
});
hasbin.sync(binaryName)
Synchronous hasbin
.
// Arguments
binaryName = String
return Boolean
// Example
result = hasbin.sync('node');
hasbin.all(binaryNames, callback)
Check whether all of a set of binaries exist on one of the paths in process.env.PATH
. Calls back with true
if all of the binaries do. Aliased as hasbin.every
.
// Arguments
binaryNames = Array(String)
callback = Function(Boolean)
// Example
hasbin.all(['node', 'npm'], function (result) {
// result === true
});
hasbin.all.sync(binaryNames)
Synchronous hasbin.all
. Aliased as hasbin.every.sync
.
// Arguments
binaryNames = Array(String)
return Boolean
// Example
result = hasbin.all.sync(['node', 'npm']);
hasbin.some(binaryNames, callback)
Check whether at least one of a set of binaries exists on one of the paths in process.env.PATH
. Calls back with true
if at least one of the binaries does. Aliased as hasbin.any
.
// Arguments
binaryNames = Array(String)
callback = Function(Boolean)
// Example
hasbin.some(['node', 'npm'], function (result) {
// result === true
});
hasbin.some.sync(binaryNames)
Synchronous hasbin.some
. Aliased as hasbin.any.sync
.
// Arguments
binaryNames = Array(String)
return Boolean
// Example
result = hasbin.some.sync(['node', 'npm']);
hasbin.first(binaryNames, callback)
Checks the list of binaryNames
to find the first binary that exists on one of the paths in process.env.PATH
. Calls back with the name of the first matched binary if one exists and false
otherwise.
// Arguments
binaryNames = Array(String)
callback = Function(String|false)
// Example
hasbin.first(['node', 'npm'], function (result) {
// result === 'node'
});
hasbin.first.sync(binaryNames)
Synchronous hasbin.first
.
// Arguments
binaryNames = Array(String)
return String|false
// Example
result = hasbin.first.sync(['node', 'npm']);
Contributing
To contribute to HasBin, clone this repo locally and commit your code on a separate branch.
Please write unit tests for your code, and check that everything works by running the following before opening a pull-request:
make ci
License
HasBin is licensed under the MIT license.
Copyright © 2015, Springer Nature