Prevent pipe breaking caused by errors from gulp plugins or any other stream
This 🐒-patch plugin is fixing issue with Node Streams piping. For explanations, read this small article.
Briefly it replaces pipe
method and removes standard onerror
handler on error
event, which unpipes streams on error by default.
This is a fork of gulp-plumber with modernized dependencies and works with modern Node.JS streams
First, install @onigoetz/stream-plumber
as a dependency:
npm install @onigoetz/stream-plumber
Then, add it to your gulpfile.js
:
var plumber = require('@onigoetz/stream-plumber');
var coffee = require('gulp-coffee');
gulp.src('./src/*.ext')
.pipe(plumber())
.pipe(coffee())
.pipe(gulp.dest('./dist'));
Returns Stream, that fixes pipe
methods on Streams that are next in pipeline.
Type: Object
/ Function
Default: {}
Sets options described below from its properties. If type is Function
it will be set as errorHandler
.
Type: Boolean
Default: true
Monkeypatch pipe
functions in underlying streams in pipeline.
Type: Boolean
/ Function
Default: true
Handle errors in underlying streams and output them to console.
-
function
- it will be attached to streamon('error')
. -
false
- error handler will not be attached. -
true
- default error handler will be attached.
This method will return default behaviour for pipeline after it was piped.
var plumber = require('@onigoetz/stream-plumber');
gulp.src('./src/*.scss')
.pipe(plumber())
.pipe(sass())
.pipe(uglify())
.pipe(plumber.stop())
.pipe(gulp.dest('./dist'));