finally, a task runner for insect people
PogoScript JavaScript
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bin
test
.gitignore
.travis.yml
README.md badges Aug 4, 2016
index.js
package.json
qo.pogo

README.md

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.