task()
Reminder: This API isn't the recommended pattern anymore - export your tasks.
Defines a task within the task system. The task can then be accessed from the command line and the series(), parallel(), and lastRun() APIs.
Usage
Register a named function as a task:
const { task } = require('gulp');
function build(cb) {
// body omitted
cb();
}
task(build);
Register an anonymous function as a task:
const { task } = require('gulp');
task('build', function(cb) {
// body omitted
cb();
});
Retrieve a task that has been registered previously:
const { task } = require('gulp');
task('build', function(cb) {
// body omitted
cb();
});
const build = task('build');
Signature
task([taskName], taskFunction)
Parameters
If the taskName is not provided, the task will be referenced by the name property of a named function or a user-defined displayName property. The taskName parameter must be used for anonymous functions missing a displayName property.
Since any registered task can be run from the command line, avoid using spaces in task names.
| parameter | type | note |
|---|---|---|
| taskName | string | An alias for the task function within the task system. Not needed when using named functions for taskFunction. |
| taskFunction (required) | function | A task function or composed task - generated by series() and parallel(). Ideally a named function. Task metadata can be attached to provide extra information to the command line. |
Returns
When registering a task, nothing is returned.
When retrieving a task, a wrapped task (not the original function) registered as taskName will be returned. The wrapped task has an unwrap() method that will return the original function.
Errors
When registering a task where taskName is missing and taskFunction is anonymous, will throw an error with the message, "Task name must be specified".
Task metadata
| property | type | note |
|---|---|---|
| name | string | A special property of named functions. Used to register the task. Note: name is not writable; it cannot be set or changed. |
| displayName | string | When attached to a taskFunction creates an alias for the task. If using characters that aren't allowed in function names, use this property. |
| description | string | When attached to a taskFunction provides a description to be printed by the command line when listing tasks. |
| flags | object | When attached to a taskFunction provides flags to be printed by the command line when listing tasks. The keys of the object represent the flags and the values are their descriptions. |
const { task } = require('gulp');
const clean = function(cb) {
// body omitted
cb();
};
clean.displayName = 'clean:all';
task(clean);
function build(cb) {
// body omitted
cb();
}
build.description = 'Build the project';
build.flags = { '-e': 'An example flag' };
task(build);