gulpfile.js 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. var gulp = require('gulp');
  2. var notify = require('../');
  3. var through = require('through2');
  4. var path = require('path');
  5. var plumber = require('gulp-plumber');
  6. var nn = require('node-notifier');
  7. gulp.task("multiple", function () {
  8. gulp.src("../test/fixtures/*")
  9. .pipe(notify());
  10. });
  11. gulp.task("one", function () {
  12. return gulp.src("../test/fixtures/1.txt")
  13. .pipe(notify());
  14. });
  15. notify.on('click', function (options) {
  16. console.log('I clicked something!', options);
  17. });
  18. gulp.task("click", function () {
  19. // Click event only makes sense if wait is true...
  20. return gulp.src("../test/fixtures/1.txt")
  21. .pipe(notify({ message: 'Hello 1', wait: true }));
  22. });
  23. gulp.task("message", function () {
  24. return gulp.src("../test/fixtures/1.txt")
  25. .pipe(notify("This is a message."));
  26. });
  27. gulp.task("customReporter", function () {
  28. var custom = notify.withReporter(function (options, callback) {
  29. console.log("Title:", options.title);
  30. console.log("Message:", options.message);
  31. callback();
  32. });
  33. return gulp.src("../test/fixtures/1.txt")
  34. .pipe(custom("This is a message."));
  35. });
  36. gulp.task("template", function () {
  37. return gulp.src("../test/fixtures/1.txt")
  38. .pipe(notify("Template: <%= file.relative %>"));
  39. });
  40. gulp.task("templateadv", function () {
  41. return gulp.src("../test/fixtures/1.txt")
  42. .pipe(notify({
  43. message: "Template: <%= file.relative %>",
  44. title: function (file) {
  45. if(file.isNull()) {
  46. return "Folder:";
  47. }
  48. return "File: <%= file.relative %> <%= options.extra %>";
  49. },
  50. templateOptions: {
  51. extra: "foo"
  52. }
  53. }));
  54. });
  55. gulp.task("function", function () {
  56. return gulp.src("../test/fixtures/1.txt")
  57. .pipe(notify(function(file) {
  58. return "Some file: " + file.relative;
  59. }));
  60. });
  61. gulp.task("advanced", function () {
  62. return gulp.src("../test/fixtures/*")
  63. .pipe(notify({
  64. "title": "Open Github",
  65. "subtitle": "Project web site",
  66. "message": "Click to open project site",
  67. "sound": "Frog", // case sensitive
  68. "icon": path.join(__dirname, "gulp.png"), // case sensitive
  69. "onLast": true,
  70. "wait": true
  71. }));
  72. });
  73. gulp.task("onlast", function () {
  74. return gulp.src("../test/fixtures/*")
  75. .pipe(notify({
  76. onLast: true,
  77. message: function(file) {
  78. return "Some file: " + file.relative;
  79. }
  80. }));
  81. });
  82. gulp.task("error", function () {
  83. return gulp.src("../test/fixtures/*")
  84. .pipe(through.obj(function (file, enc, callback) {
  85. this.emit("error", new Error("Something happend: Error message!"));
  86. callback();
  87. }))
  88. .on("error", notify.onError({
  89. message: 'Error: <%= error.message %>',
  90. sound: false // deactivate sound?
  91. }))
  92. .on("error", function (err) {
  93. console.log("Error:", err);
  94. })
  95. });
  96. gulp.task("forceGrowl", function () {
  97. var custom = notify.withReporter(function (options, callback) {
  98. new nn.Growl().notify(options, callback);
  99. });
  100. return gulp.src("../test/fixtures/*")
  101. .pipe(through.obj(function (file, enc, callback) {
  102. this.emit("error", new Error("Something happend: Error message!"));
  103. callback();
  104. }))
  105. .on("error", custom.onError('Error: <%= error.message %>'));
  106. });
  107. gulp.task("customError", function () {
  108. var custom = notify.withReporter(function (options, callback) {
  109. console.log("Title:", options.title);
  110. console.log("Message:", options.message);
  111. callback();
  112. });
  113. custom.logLevel(1);
  114. return gulp.src("../test/fixtures/*")
  115. .pipe(custom('<%= file.relative %>'))
  116. .pipe(through.obj(function (file, enc, callback) {
  117. this.emit("error", new Error("Something happend: Error message!"));
  118. callback();
  119. }))
  120. .on("error", custom.onError({
  121. message: 'Error: <%= error.message %>',
  122. emitError: true
  123. }))
  124. .on("error", function (err) {
  125. console.log("Error:", err);
  126. })
  127. });