gulp-cond
v2.0.0
Published
Ternary operator for Gulp.
Downloads
16,869
Maintainers
Readme
gulp-cond
Ternary operator for Gulp.
Usage
First, install gulp-cond
as a development dependency:
npm install --save-dev gulp-cond
Then, use it to conditionally pipe plugins in your gulpfile.js
:
import cond from 'gulp-cond';
var prod = gulp.env.prod;
// Images
gulp.task('build_images', function() {
gulp.src('assets/images/**/*.svg')
.pipe(cond(prod,
gSvgmin(options), // minify SVG images under production
gWatch().pipe(gLivereload(server))) // use live reload in dev mode
)
.pipe(gulp.dest('www/images'))
});
Alternatively, you can provide plugin functions instead of streams to instantiate streams only when needed :
import cond from 'gulp-cond';
var prod = gulp.env.prod;
// Images
gulp.task('build_images', function() {
gulp.src('assets/images/**/*.svg')
.pipe(cond(prod,
gSvgmin.bind(null, options), // minify SVG images under production
function () { // use live reload in dev mode
return gWatch().pipe(gLivereload(server));
})
)
.pipe(gulp.dest('www/images'))
});
API
cond(condition, expr1, expr2)
condition
Type: Boolean
or Function
Required. A value or a function providing a value. If the value is truthy, expr1 will be used, else, expr2 will be use if provided.
expr1
Type: Stream
or Function
Required. A stream or a function providing a stream.
expr2
Type: Stream
or Function
Default value: Stream.PassThrough
A stream or a function providing a stream.
Contributing / Issues
You may want to contribute to this project, pull requests are welcome if you accept to publish under the MIT license.