1.3.0 • Published 10 years ago

gulp-add-tasks v1.3.0

Weekly downloads
1
License
MIT
Repository
github
Last release
10 years ago

gulp-add-tasks

npm Travis

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

NameDescription
tasksAn array of tasks, passed directly to run-sequence
descriptionA task description, used by gulp-help
optionsProgrammatic options to be utlized by the tasks, used by gulp-help
aliasesAn 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.

1.3.0

10 years ago

1.2.3

10 years ago

1.2.2

10 years ago

1.2.1

10 years ago

1.2.0

10 years ago

1.1.0

10 years ago

1.0.1

10 years ago

1.0.0

10 years ago