98

Hi Previously I used the grunt in that I want to know the available tasks use grunt --help. But same as in gulp use gulp --help it doesn't show. What is the command to know the available tasks list in gulp

vamsikrishnamannem
  • 4,817
  • 5
  • 23
  • 34

8 Answers8

177

Yes I got it use the gulp --tasks in command then it display the tasks list.

vamsikrishnamannem
  • 4,817
  • 5
  • 23
  • 34
54
gulp --tasks-simple

This command print a plaintext list of tasks. My local project:

~ gulp --tasks-simple
clean
default

From gulp CLI documentation:

~ gulp --version
[03:00:05] CLI version 1.2.1
[03:00:05] Local version 4.0.0-alpha.2
~ gulp --help | grep 'tasks-simple'
  --tasks-simple   Print a plaintext list of tasks for the loaded gulpfile. [boolean]
Vladimir Korshunov
  • 3,090
  • 3
  • 20
  • 25
3

Another possibility is to use gulp-help-doc module, which provides possibility to print usage information based on jsDoc-like comments in a gulpfile. Currently it also supports TypeScript as well. The benefit is that you simply commenting your code without changing gulp API and you have usage info in command-line as well.

2

you can also use this plugin gulp-task-listing. It gives the main-tasks and sub-tasks list

harishr
  • 17,807
  • 9
  • 78
  • 125
  • 1
    I couldn't get this to work w/ Gulp 3.9. Kept getting this error: __**TypeError:** Cannot convert undefined or null to object.__ because `gulp.tasks` was null. – Oak Jun 29 '16 at 23:10
  • 1
    yah @VinegarStrokes I have the same issue with Gulp 4. Did you solve this? – mtpultz Jul 19 '16 at 08:46
2

As an alternative you can write detailed documentation to your tasks in js comments using gulp-task-doc

Alexey Prokhorov
  • 3,431
  • 1
  • 22
  • 25
1

If you are using Gulp 4 you can do the following:

const tasks = gulp.registry().tasks();

// Outputs a JS object: { <task name>: <function>, ...}
console.log(tasks);

const taskNames = Object.Keys(tasks);

// Outputs a JS array: ['<task name>', ...]
console.log(taskNames);
Matt Gaunt
  • 9,434
  • 3
  • 36
  • 57
0

There is no native command that does that but i use this plugin with the following code:

module.exports.help = require('gulp-help')(gulp, {description : false});

I can then just run the default gulp task in the console and it'll display a list of tasks and definitions.

marblewraith
  • 768
  • 5
  • 16
0

inspired by @matt-gaunt https://stackoverflow.com/a/65571474/1347601

// gulp task
const list = () => {
    
    const tasks = gulp.registry().tasks();

    for (const [key, value] of Object.entries(tasks)) {
        console.log(key);
    }

}
gulp.task('list', list);

// gulp process default
gulp.task('list', gulp.series(
    list
));
Bruno
  • 6,623
  • 5
  • 41
  • 47