gulp-chain v2.0.1
gulp-chain
Prepare a chain of pipes for use as a gulp plugin (or any other piped stream, there is no true dependency of gulp)
Installation
npm install --save-dev gulp-chainAs of version 2.0.0 gulp-chain requires NodeJS 4 or higher. If you are 'stuck' on NodeJS 0.10 - 0.12, you will need to specify the version (the latest in the v1 range is 1.1.0).
$ npm install --save-dev gulp-chain@^1.1.0Usage
var chain = require('gulp-chain'),
myStream = chain(function(stream) {
return stream
.pipe(pluginA())
.pipe(pluginB())
.pipe(pluginC())
;
});
// later on:
gulp.task('mytask', function() {
gulp.src('./source/**/*')
.pipe(pluginD())
// add the created myStream
.pipe(myStream())
// and pipe it towards another plugin
.pipe(pluginE())
.pipe(gulp.dest('./destination'))
;
});API
chain(function prepare [, ... ])
With gulp-chain you can prepare pretty much every chain, even provide default arguments.
The function prepare has the following signature; function(stream input [, ... ])
This means that gulp-chain always provides a stream as first argument, followed by any argument given or predefined.
The return value of gulp-chain is always a function which returns a stream that you can pipe into (like any other plugin in gulp).
Set up default arguments
In the following example, we prepare a chain which has an argument hello, which is set to the value 'hello world' by default.
var chain = require('gulp-chain'),
myStream = chain(function(stream, hello) {
return stream
.pipe(pluginA())
.pipe(pluginB(hello))
.pipe(pluginC())
;
}, 'hello world');If the myStream-'plugin' is used without any arguments, the value of hello will contain 'hello world'
gulp.task('mytask', function() {
gulp.src('./source/**/*')
// add the created myStream
// myStream will actually be invoked as: myStream('hello world')
.pipe(myStream())
.pipe(gulp.dest('./destination'))
;
});If you have no default value, or if you need to override it, you can supply another value.
gulp.task('mytask', function() {
gulp.src('./source/**/*')
// add the created myStream
.pipe(myStream('welcome stranger'))
.pipe(gulp.dest('./destination'))
;
});You can provide any number of (default) arguments, just ensure the order remains the same.
License
GPLv2 © Konfirm