gulp-sniff
v3.2.1
Published
Register every filename that has passed through
Downloads
2
Maintainers
Readme
gulp-sniff
Filename gathering plugin for gulp. You can sniff through the gulp pipes
and collect all filenames that marshaled through them.
It is an extension of the JohnyDays's gulp-filenames plugin, but migrated (back) to JS, fixed some bugs, and added some features.
Usage
First, install gulp-sniff
as a development dependency:
npm install --save-dev gulp-sniff
Then, add it to your gulpfile.js
:
var gulp = require('gulp');
var sniff = require('gulp-sniff');
var stream = gulp.src("src/*.js")
.pipe(sniff("js")) // prints all files matched with gulp.src("src/*.js")
.pipe(gulp.dest("dest"));
or
var gulp = require('gulp');
var sniff = require('gulp-sniff');
var stream = gulp.src("src/*.js")
.pipe(sniff("js", {noDirectReport: true})) // doesn't print anymore
.pipe(gulp.dest("dest"));
stream.on('end', function() {
console.log("JS files:", sniff.get("js")); // prints all captured filenames
});
or more condensed :) (used for testing in interactive node):
var gulp = require('gulp');
var sniff = require('gulp-sniff');
var stream = gulp.src("*.js").pipe(sniff("js")).pipe(gulp.dest("./dest"));
var e = stream.on('end', function() {console.log("js files:", sniff.get("js"));});
More advanced version with parallel streams:
var gulp = require('gulp');
var sniff = require('gulp-sniff');
var es = require('event-stream');
var stream1 = gulp.src("*.js")
.pipe(sniff("js"))
.pipe(gulp.dest("dest"));
var stream2 = gulp.src("*.json")
.pipe(sniff("json"))
.pipe(gulp.dest("dest"));
var stream = es.merge(stream1, stream2);
var e = stream.on('end', function() {
console.log("JS files:", sniff.get("js"));
});
or more condensed :) (used for testing in interactive node):
var gulp = require('gulp');
var sniff = require('gulp-sniff');
var es = require('event-stream');
var stream1 = gulp.src("*.js").pipe(sniff("js")).pipe(gulp.dest("dest"));
var stream2 = gulp.src("*.json").pipe(sniff("json")).pipe(gulp.dest("dest"));
var stream = es.merge(stream1, stream2);
var e = stream.on('end', function() {console.log("JS files:", sniff.get("js"));});
API
sniff([name], [options])
name
Namespace the filenames
options
overrideMode (default: false)
override previous files when a new one passes through
captureFolders (default: false)
capture foldernames (in addition to default of capturing filenames)
captureFilenames (default: true)
capture filenames
noDirectReport (default: false)
avoids internal / direct printing of file names
detailed (default: false)
Reports detailed logs
debug (default: false)
Reports internal debug messages
sniff.get([name], [what])
name
Get only these filenames ("all" to get everything)
what
"relative" or "full" or "path" for an array of filenames
"all" for an array of objects
License
Versions
Release History
- 2.1.0 Fixed bugs with original plugin, added additional features of (non)sniffing folder/file names
- previous: branched from: gulp-filenames