gulp-add-tasks
v1.3.0
Published
A tool to add tasks to a passed-in gulp instance, as a task list, or as a map of functions
Downloads
5
Readme
gulp-add-tasks
A utility to dynamically add tasks based on a specified task structure to a passed-in instance of gulp
.
Integrates with gulp-help
and run-sequence
to provide a more robust user experience, as well as the ability to run tasks synchronously
Install
npm i gulp-add-tasks --save-dev
Usage
const gulp = require('gulp');
const addTasks = require('gulp-add-tasks')(gulp);
addTasks(...taskLists)
Task list structure
Task list accepts two object structures, one for "multi-tasks" and one for simple task and function pairs, both of which assume each key in the map as the gulp task name.
multi-task structure
|Name|Description|
|:--:|-----------|
|tasks
|An array of tasks, passed directly to run-sequence
|
|description
|A task description, used by gulp-help
|
|options
|Programmatic options to be utlized by the tasks, used by gulp-help
|
|aliases
|An array of aliases that the task can be called with, used by gulp-help
|
Example
const gulp = require('gulp');
const addTasks = require('gulp-add-tasks')(gulp);
addTasks({
build: {
description: 'Build application for distribution',
tasks: [
['sass', 'babel']
],
options: {
production: 'Minify assets with this flag'
}
}
});
gulp build
will now be a runnable task via the CLI, which will, in turn, call gulp sass & gulp babel
(async) via run-sequence
.
single task structure
A simple key/value pair, with the key representing the task name, and the value a reference to a function, can be used to create a simple task. This is particularly useful when used in conjunction with require-tasks
, which generates a structure that can be directly passed to gulp-add-tasks
.
Example
const gulp = require('gulp');
const addTasks = require('gulp-add-tasks')(gulp);
addTasks({
babel() {
const babel = require('gulp-babel');
return gulp.src('src/**/*.js')
.pipe(babel({
presets: ['es2015']
}))
.pipe(gulp.dest('dist'));
}
});
gulp babel
will now be a runnable task via the CLI.
Advanced Usage
gulp-add-tasks
supports multi-tasks, separating a nested structure via colons (:
), e.g.
const gulp = require('gulp');
const addTasks = require('gulp-add-tasks')(gulp);
addTasks({
copy: {
css() {
return gulp.src('src/**/*.css')
.pipe(gulp.dest('dist/css'));
},
js() {
return gulp.src('src/**/*.js')
.pipe(gulp.dest('dist/js'));
}
}
})
gulp will now have the tasks copy:css
and copy:js
available for usage from the command line.