gulp-cond

v2.0.0
Ternary operator for Gulp.
gulpplugin gulp gulp-plugin condition operator ternary

gulp-cond

Ternary operator for Gulp.

GitHub license

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.

Authors

License

MIT

npm i gulp-cond

Metadata

  • MIT
  • >=20.11.1
  • Nicolas Froidure
  • released 8/11/2024

Downloads

Maintainers