finally, a task runner designed for insect people


License
BSD-2-Clause
Install
npm install qo@1.3.0

Documentation

qo npm version npm Build Status

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.