UNPKG

1.1 kBJavaScriptView Raw
1'use strict';
2const TaskKitTask = require('taskkit-task');
3
4class HelpTask extends TaskKitTask {
5 get description() {
6 return 'Prints various help info about your tasks';
7 }
8
9 // prints out a hierarchical set of tasks:
10 printTaskList(taskList, level) {
11 let buffer = ' ';
12 for (let i = 0; i < level; i++) {
13 buffer = ` ${buffer}`;
14 }
15 if (!taskList.forEach) {
16 this.log(`${buffer} - ${taskList}`);
17 } else {
18 taskList.forEach((subtask) => {
19 this.printTaskList(subtask, level + 1);
20 });
21 }
22 }
23
24 execute() {
25 this.log('Registered tasks: ');
26 Object.keys(this.fullConfig.tasks).forEach((taskName) => {
27 this.log(` ${taskName}`);
28 });
29 this.log('Named Task Sets:');
30 Object.keys(this.fullConfig.tasks).forEach((taskName) => {
31 const task = this.fullConfig.tasks[taskName];
32 if (!task.forEach) {
33 return;
34 }
35 this.log(` Task Set "${taskName}" has the following sub-tasks:`);
36 this.printTaskList(task, 0);
37 this.log(''); // <-- blank line for clarity
38 });
39 }
40}
41module.exports = HelpTask;