1.1.0 • Published 9 years ago

checkcommand v1.1.0

Weekly downloads
4
License
MIT
Repository
github
Last release
9 years ago

checkcommand

npm version dependencies Build Status Build status

Check that a command exists, throw an error message of your choice otherwise.

Installation

Install checkcommand by running:

$ npm install --save checkcommand

Documentation

checkcommand.ensure(String command, String message, Function callback)

Ensure that a command exists. Throw an error with message otherwise.

This function supports promises.

Example:

checkcommand = require('checkcommand')

message = '''
	Wget is missing from your system. Install it from brew:
		
		$ brew install wget
'''

checkcommand.ensure('wget', message).then ->
	console.log('It seems that wget is installed!')
.catch (error) ->
	console.error(error)

checkcommand = require('checkcommand')

message = '''
	Wget is missing from your system. Install it from brew:
		
		$ brew install wget
'''

checkcommand.ensure 'wget', message, (error) ->
	if error?
		console.error(error.message)
	else
		console.log('It seems that wget is installed!')

checkcommand.ensureMultiple(Object commands, Function callback)

Ensure multiple commands. A utility function to prevent calling checkcommand.ensure() multiple times.

The commands object contains command names as property keys, and error messages as values.

Example:

checkcommand = require('checkcommand')

checkcommand.ensureMultiple
	'wget': 'Missing wget'
	'curl': 'Missing curl'
.then ->
	console.log('It seems that wget and curl are installed!')
.catch (error) ->
	console.error(error)

checkcommand = require('checkcommand')

checkcommand.ensureMultiple
	'wget': 'Missing wget'
	'curl': 'Missing curl'
, (error) ->
	if error?
		console.error(error.message)
	else
		console.log('It seems that wget and curl are installed!')

Tests

Run the test suite by doing:

$ gulp test

Contribute

Before submitting a PR, please make sure that you include tests, and that coffeelint runs without any warning:

$ gulp lint

Support

If you're having any problem, please raise an issue on GitHub.

License

The project is licensed under the MIT license.