1.0.1 • Published 8 years ago

gulp-task-metadata v1.0.1

Weekly downloads
1
License
ISC
Repository
github
Last release
8 years ago

gulp-task-metadata

This plugin provides metadata to your gulp tasks. This way you can hand over specific configuration to all tasks, which enables you to re-use and run those tasks in parallel with different sets of configuration for each task instance.

Please note that this plugin is compatible with Gulp 4, not 3.x.

Usage

First, install gulp-task-metadata as a development dependency:

npm install --save-dev gulp-task-metadata

Then, add it to your gulpfile.js and replace all calls (or only the ones needed) to gulp.series and gulp.parallel with calls to this plugin. Make sure you prepend the metadata you want to provide as the first argument.

var gulpTaskMetadata = require('gulp-task-metadata');

gulpTaskMetadata.series(['metadata'], ...); //instead of gulp.series(...)
gulpTaskMetadata.parallel(['metadata'], ...); //instead of gulp.parallel(...)

Basic example:

var gulp = require('gulp');
    gulpTaskMetadata = require('gulp-task-metadata'),
    config1 = [{ 'foo': 'bar' }],
    config2 = ['otherConf'];

gulp.task('default', gulpTaskMetadata.series(config1, 'task1', 'task2', gulpTaskMetadata.parallel(config2, 'task1')));

gulp.task('task1', function(done, conf) {
    console.log('task1 conf:', conf);
    done();
});

gulp.task('task2', function(done, conf) {
    console.log('task2 conf:', conf);
    done();
});

API

gulp-task-metadata is used the same way as the default series and parallel methods from Undertaker which Gulp uses, except that the first argument holds the metadata which should be provided to the following tasks.

series(metadata, taskName || fn...)

metadata

Type: Array

The metadata to provide to all the given tasks.

taskName || fn...

Type: String or Function

Takes a variable amount of strings (taskName) and/or functions (fn) and returns a function of the composed tasks or functions. Any taskNames are retrieved from the registry using the get method.

When the returned function is executed, the tasks or functions will be executed in series, each waiting for the prior to finish. If an error occurs, execution will stop.

parallel(metadata, taskName || fn...)

metadata

Type: Array

The metadata to provide to all the given tasks.

taskName || fn...

Type: String or Function

Takes a variable amount of strings (taskName) and/or functions (fn) and returns a function of the composed tasks or functions. Any taskNames are retrieved from the registry using the get method.

When the returned function is executed, the tasks or functions will be executed in parallel, all being executed at the same time. If an error occurs, all execution will complete.