forked from enviPath/enviPy
86 lines
2.5 KiB
Markdown
86 lines
2.5 KiB
Markdown
# gulp-cond
|
|
> A ternary operator for [Gulp](http://gulpjs.com/).
|
|
|
|
[](https://npmjs.org/package/gulp-cond)
|
|
[](https://travis-ci.org/nfroidure/gulp-cond)
|
|
[](https://david-dm.org/nfroidure/gulp-cond)
|
|
[](https://david-dm.org/nfroidure/gulp-cond#info=devDependencies)
|
|
[](https://coveralls.io/r/nfroidure/gulp-cond?branch=master)
|
|
|
|
## Usage
|
|
|
|
First, install `gulp-cond` as a development dependency:
|
|
|
|
```shell
|
|
npm install --save-dev gulp-cond
|
|
```
|
|
|
|
Then, use it to conditionnaly pipe plugins in your `gulpfile.js`:
|
|
|
|
```js
|
|
var cond = require('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
|
|
instanciate streams only when needed :
|
|
|
|
```js
|
|
var cond = require('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.
|
|
|
|
## Stats
|
|
|
|
[](https://nodei.co/npm/gulp-iconfont/)
|
|
[](https://nodei.co/npm/gulp-iconfont/)
|
|
|
|
### Contributing / Issues
|
|
|
|
You may want to contribute to this project, pull requests are welcome if you
|
|
accept to publish under the MIT licence.
|
|
|