gulp-count

1.0.0 • Public • Published

gulp-count npm CircleCI

Count files in vinyl streams. Log pretty messages.

gulp-count in action

This plugin solves a similar problem to gulp-debug but is designed as an actual permanent part of your workflow, not just a debug tool (though it still makes a great debug tool!). As such, it provides more control over logging to customize as needed.

Usage

First, install gulp-count as a development dependency:

> npm install --save-dev gulp-count

Then, add it to your gulpfile.js:

var count = require('gulp-count');
 
gulp.task('copy', function() {
    gulp.src('assets/**.*')
        .pipe(gulp.dest('build'))
        .pipe(count('## assets copied'));
});

API

gulp-count can be called with a string message template, an options object, or both.

gulp.src('*.html')
    .pipe(count()) // logs "36 files"
    .pipe(count('<%= counter %> HTML files'))  // logs "36 HTML files"
    .pipe(count('found ## pages', {logFiles: true})) // logs each path and "found 36 pages"
    .pipe(count({
        message: '<%= files %>? That\'s ## too many!'
        logger: (msg) -> alert(msg) // alerts "36 files? That's 36 too many!"
    });

count(options?)

count(message, options?)

options.message: boolean | string = "<%= files %>"

Template string for total count message, passed through gutil.template.

Template can use two variables:

  1. counter - the number of files encountered in this stream,
  2. files - a correctly pluralized string of the format "X file[s]" where X is counter.

The template also expands the shorthand "##" to "<%= counter %>".

An explicit false value will disable the message (use logFiles or logEmpty instead).

options.logFiles: boolean | string = false

Whether to log each file path as it is encountered. options.cwd determines base path for logging.

If a string is provided then it is used as the message template. Template receives two variables:

  1. file - the current Vinyl file instance
  2. path - file path resolved relative to options.cwd and colored yellow.
options.logEmpty: boolean | string = false

Whether to log the message when the stream is empty.

If a string is provided then it is used as the message template and receives the same variables as options.message.

Setting { message: false, logEmpty: true } will log if and only if the stream is empty.

options.title: string

String prepended to every message to distinguish the output of multiple instances logging at once. A falsy value will print nothing.

options.cwd: string = ""

Current working directory against which file paths are resolved in template strings.

options.logger: (message) => any = gutil.log

Logger function, called with each formatted message. Defaults to gulp-util's log(msg...) function.

License

MIT © Palantir Technologies

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 1.0.0
    1,972
    • latest

Version History

  • Version
    Downloads (Last 7 Days)
    • Published
  • 1.0.0
    1,972
  • 0.3.0
    299
  • 0.2.0
    183
  • 0.1.0
    34
  • 0.0.2
    1
  • 0.0.1
    1

Package Sidebar

Install

npm i gulp-count

Weekly Downloads

2,082

Version

1.0.0

License

MIT

Last publish

Collaborators

  • giladgray