Skip to content

Latest commit

 

History

History
110 lines (79 loc) · 3.41 KB

task.md

File metadata and controls

110 lines (79 loc) · 3.41 KB

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 the task system. Not needed when using named functions for taskFunction.
taskFunction
(required)
function A [task function][tasks-concepts] 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);