Fixing Node pipes
JavaScript
Latest commit 982ec11 Feb 9, 2016 @floatdrop 1.1.0
Permalink
Failed to load latest commit information.
test remove gulpfile Feb 9, 2016
.editorconfig Added test Jan 6, 2014
.gitattributes Init commit Jan 6, 2014
.gitignore Implemented 'errorHandler' option Jan 7, 2014
.npmignore Remove redundant rules Aug 25, 2014
.travis.yml refresh code a bit Feb 9, 2016
LICENSE Init commit Jan 6, 2014
README.md refresh code a bit Feb 9, 2016
index.js Remove readable handler Feb 9, 2016
package.json 1.1.0 Feb 9, 2016

README.md

πŸ’ gulp-plumber

NPM version Build Status Dependency Status

Prevent pipe breaking caused by errors from gulp plugins

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.

Usage πŸ’

First, install gulp-plumber as a development dependency:

npm install --save-dev gulp-plumber

Then, add it to your gulpfile.js:

var plumber = require('gulp-plumber');
var coffee = require('gulp-coffee');

gulp.src('./src/*.ext')
    .pipe(plumber())
    .pipe(coffee())
    .pipe(gulp.dest('./dist'));

API πŸ’

πŸ’ plumber([options])

Returns Stream, that fixes pipe methods on Streams that are next in pipeline.

options

Type: Object / Function Default: {}

Sets options described below from its properties. If type is Function it will be set as errorHandler.

options.inherit

Type: Boolean Default: true

Monkeypatch pipe functions in underlying streams in pipeline.

options.errorHandler

Type: Boolean / Function Default: true

Handle errors in underlying streams and output them to console.

  • function passed - it will be attached to stream on('error').
  • false passed - error handler will not be attached.
  • undefined - default error handler will be attached.

plumber.stop()

This method will return default behaviour for pipeline after it was piped.

var plumber = require('gulp-plumber');

gulp.src('./src/*.scss')
    .pipe(plumber())
    .pipe(sass())
    .pipe(uglify())
    .pipe(plumber.stop())
    .pipe(gulp.dest('./dist'));

License πŸ’

MIT License