150 lines
4 KiB
JavaScript
150 lines
4 KiB
JavaScript
|
|
var gulp = require('gulp');
|
|
var notify = require('../');
|
|
var through = require('through2');
|
|
var path = require('path');
|
|
var plumber = require('gulp-plumber');
|
|
var nn = require('node-notifier');
|
|
|
|
gulp.task("multiple", function () {
|
|
gulp.src("../test/fixtures/*")
|
|
.pipe(notify());
|
|
});
|
|
|
|
gulp.task("one", function () {
|
|
return gulp.src("../test/fixtures/1.txt")
|
|
.pipe(notify());
|
|
});
|
|
|
|
notify.on('click', function (options) {
|
|
console.log('I clicked something!', options);
|
|
});
|
|
|
|
gulp.task("click", function () {
|
|
// Click event only makes sense if wait is true...
|
|
return gulp.src("../test/fixtures/1.txt")
|
|
.pipe(notify({ message: 'Hello 1', wait: true }));
|
|
});
|
|
|
|
gulp.task("message", function () {
|
|
return gulp.src("../test/fixtures/1.txt")
|
|
.pipe(notify("This is a message."));
|
|
});
|
|
|
|
|
|
gulp.task("customReporter", function () {
|
|
var custom = notify.withReporter(function (options, callback) {
|
|
console.log("Title:", options.title);
|
|
console.log("Message:", options.message);
|
|
callback();
|
|
});
|
|
|
|
return gulp.src("../test/fixtures/1.txt")
|
|
.pipe(custom("This is a message."));
|
|
});
|
|
|
|
gulp.task("template", function () {
|
|
return gulp.src("../test/fixtures/1.txt")
|
|
.pipe(notify("Template: <%= file.relative %>"));
|
|
});
|
|
|
|
|
|
gulp.task("templateadv", function () {
|
|
return gulp.src("../test/fixtures/1.txt")
|
|
.pipe(notify({
|
|
message: "Template: <%= file.relative %>",
|
|
title: function (file) {
|
|
if(file.isNull()) {
|
|
return "Folder:";
|
|
}
|
|
return "File: <%= file.relative %> <%= options.extra %>";
|
|
},
|
|
templateOptions: {
|
|
extra: "foo"
|
|
}
|
|
}));
|
|
});
|
|
|
|
gulp.task("function", function () {
|
|
return gulp.src("../test/fixtures/1.txt")
|
|
.pipe(notify(function(file) {
|
|
return "Some file: " + file.relative;
|
|
}));
|
|
});
|
|
|
|
gulp.task("advanced", function () {
|
|
return gulp.src("../test/fixtures/*")
|
|
.pipe(notify({
|
|
"title": "Open Github",
|
|
"subtitle": "Project web site",
|
|
"message": "Click to open project site",
|
|
"sound": "Frog", // case sensitive
|
|
"icon": path.join(__dirname, "gulp.png"), // case sensitive
|
|
"onLast": true,
|
|
"wait": true
|
|
}));
|
|
});
|
|
|
|
|
|
gulp.task("onlast", function () {
|
|
return gulp.src("../test/fixtures/*")
|
|
.pipe(notify({
|
|
onLast: true,
|
|
message: function(file) {
|
|
return "Some file: " + file.relative;
|
|
}
|
|
}));
|
|
});
|
|
|
|
gulp.task("error", function () {
|
|
return gulp.src("../test/fixtures/*")
|
|
.pipe(through.obj(function (file, enc, callback) {
|
|
this.emit("error", new Error("Something happend: Error message!"));
|
|
callback();
|
|
}))
|
|
.on("error", notify.onError({
|
|
message: 'Error: <%= error.message %>',
|
|
sound: false // deactivate sound?
|
|
}))
|
|
.on("error", function (err) {
|
|
console.log("Error:", err);
|
|
})
|
|
});
|
|
|
|
gulp.task("forceGrowl", function () {
|
|
var custom = notify.withReporter(function (options, callback) {
|
|
new nn.Growl().notify(options, callback);
|
|
});
|
|
|
|
return gulp.src("../test/fixtures/*")
|
|
.pipe(through.obj(function (file, enc, callback) {
|
|
this.emit("error", new Error("Something happend: Error message!"));
|
|
callback();
|
|
}))
|
|
.on("error", custom.onError('Error: <%= error.message %>'));
|
|
});
|
|
|
|
gulp.task("customError", function () {
|
|
|
|
var custom = notify.withReporter(function (options, callback) {
|
|
console.log("Title:", options.title);
|
|
console.log("Message:", options.message);
|
|
callback();
|
|
});
|
|
|
|
custom.logLevel(1);
|
|
|
|
return gulp.src("../test/fixtures/*")
|
|
.pipe(custom('<%= file.relative %>'))
|
|
.pipe(through.obj(function (file, enc, callback) {
|
|
this.emit("error", new Error("Something happend: Error message!"));
|
|
callback();
|
|
}))
|
|
.on("error", custom.onError({
|
|
message: 'Error: <%= error.message %>',
|
|
emitError: true
|
|
}))
|
|
.on("error", function (err) {
|
|
console.log("Error:", err);
|
|
})
|
|
});
|