DEV Community

Raphaël Huchet
Raphaël Huchet

Posted on

Introducing taskz

Taskz is a library for Node.js, a simple sequential and parallel task list runner for terminal.

Getting started

Install it via npm i taskz. Create your task sequence in any script file then run it.

const taskz = require("taskz");

taskz([
  {
    text: "first task - sleeps for 200ms",
    task: async () => await new Promise(resolve => setTimeout(resolve, 200));
  },
  {
    text: "this task will fail",
    task: async () => {
      throw new Error("this task failed");
    }
  }
]).run();

So in other word, you have to create a array of tasks:

const myTasks = [
  { text: "task 1", task: () => { /* ... */ } },
  { text: "task 2", task: () => { /* ... */ } }
];

Then pass it to the taskz function and call run to start the process:

taskz(myTasks).run();

You can also run task in parallel:

taskz(myTasks, { parallel: true }).run();

Other features: subtasks, stop on fail, pass context from task to task,
change text within a task during execution.

Have fun with it: link to github repository

Top comments (0)