wishthis/node_modules/gulp-notify/examples/gulpfile.js
2022-01-21 09:28:41 +01:00

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);
})
});