qo
A task runner for insect people.
install
npm install qo
how to use
Write a file qo.js
:
task('hi', function () {
console.log('hi!');
});
Then
# qo hi
hi!
named arguments
task('hi', function (args, options) {
console.log("hi " + options.name);
});
Then
# qo hi --name jack
hi jack
lists of arguments
task('hi', function (args) {
console.log("hi " + args.join(', '));
});
Then
# qo hi jack jill jesse
hi jack, jill, jesse
promises
If you return a promise, and it's rejected, then qo
will print the error exit with 1
.
var fs = require('fs-promise');
task('print', function (args) {
return fs.readFile(args[0], 'utf-8').then(function (contents) {
console.log(contents);
});
});
Then
# qo print some-file.txt
Error: ENOENT, open 'some-file.txt'
at Error (native)
task descriptions
task('hi', {desc: 'says hi'}, function () {
console.log('hi');
});
Then
# qo
tasks:
hi, says hi
You can also put descriptive arguments into the task name:
task('hi <name>', {desc: 'says hi to <name>'}, function (args) {
console.log('hi ' + args[0]);
});
Then
# qo
tasks:
hi <name>, says hi to <name>
pogoscript
you can write a qo.pogo
file too. Pogoscript happens to be very useful for writing heavily asynchronous code, and great for little scripts that get things done.