Input type accepted by the task's run
function.
Promise type returned by the run
function.
Dependency map type this task requires.
Arbitrary metadata type carried by the task.
The task definition config.
A branded task definition usable by the runner.
Define a task. Generates a strongly-typed task object with id, dependencies, middleware, and metadata.