npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

gulp-beer

v1.0.2

Published

Gulp (Be)tter (E)rror (R)eporting

Readme

gulp-beer

gulp-beer: better error reporting.

gulp-beer is a simple error handler function that provides some extra features:

  • Interactive System Notification (thanks to node-notifier)
  • Custom Server for Errors (opened on notification click) that display all your errors in a more pleasent and straightforward way.

Interactive System Notification system notification

Custom Server for Errors error server

Installation

$ npm install --save-dev gulp-beer

Usage

Require gulp-beer in your gulpfile.js:

var gulpBeer = require('gulp-beer');

than simply pass required function as error handler function wherever you like:

gulp.src('*')
  // stream error
  .on('error', gulpBeer)
  // Plumber
  .pipe(plumber({errorHandler: gulpBeer}))
  // Other error listener
  .pipe(sass().on('error', gulpBeer))

You can also call it manually if an error object must be handled

var customFunction(err, result) {
  if (err) gulpBeer(err);
}

(!!) Start error server (!!)

Since error server prevents the gulp process to finish, it has to be started manually when needed (usually when performing a watching task).

Error Handler function expose the server object, so you can do:

gulpBeer.server.start() // to start the error server
gulpBeer.server.stop() // to stop the error server

A simple usage example:

var gulp = require('gulp');
var gulpBeer = require('gulp-beer');
var plumber = require('gulp-plumber');
var sass = require('gulp-sass');

function build() {
	return gulp.src('./src/css/*.scss')
  		.pipe(plumber({errorHandler: gulpBeer}))
        .pipe(sass())
        .pipe(gulp.dest('./dist/css'));
}

gulp.task('build', build);
gulp.task('watch', function() {
    gulpBeer.server.start();
    gulp.watch('./src/css/*.scss', ['build']);
});

Otherwise, if you prefer start it automatically, take a look at the option server.autostart in the "customize handler" section.

Customize Handler

If you like, you can customize the error handler function and the error server.

First of all require the custom module:

var gulpBeerFactory = require('gulp-beer/custom');

This will return a factory for the error handler function, which accepts some options as first parameter.

var errorHandler = gulpBeerFactory(options);

Options


consoleError [function] : the function that will be used to print the error in the console.

It receives the error object as first argument, decorated with a custom property:

  • serverUrl [string | false]: the link to the custom error server related to this specific error

title [string] Title of the system notification


sound [boolean | string] Notification sound as described here


icon [boolean | string] Notification sound as described here


server [object | false] Server configuration object. If false the server start will be prevented also if started manually.

Server configuration object accepts the following properties:

  • port [number] : Port on which the server will listen
  • autostart [boolean] : If true, the server will be started automatically
  • silent [boolean] : Silents server console output