From 04d158f414f9c86f93f36b90528a933a345ec8b8 Mon Sep 17 00:00:00 2001 From: Eric Ferraiuolo Date: Fri, 7 Jun 2013 13:00:35 -0400 Subject: [PATCH] Change `grunt watch` task for first run a build --- Gruntfile.js | 38 +++++++++++++++++++++++++++++++------- 1 file changed, 31 insertions(+), 7 deletions(-) diff --git a/Gruntfile.js b/Gruntfile.js index 9ef7ec8..6754ff5 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -229,12 +229,12 @@ grunt.initConfig({ } }, - // -- Watch Config --------------------------------------------------------- + // -- Watch/Observe Config ------------------------------------------------- - watch: { + observe: { src: { files: 'src/**/css/*.css', - tasks: ['test', 'default'], + tasks: ['test', 'suppress', 'default'], options: { interrupt: true @@ -263,15 +263,19 @@ grunt.registerTask('default', [ 'license' ]); +grunt.registerTask('test', [ + 'csslint' +]); + +// Makes the `watch` task run a build first. +grunt.renameTask('watch', 'observe'); +grunt.registerTask('watch', ['default', 'observe']); + grunt.registerTask('import', [ 'bower-install', 'import-normalize' ]); -grunt.registerTask('test', [ - 'csslint' -]); - grunt.registerTask('release', [ 'test', 'default', @@ -279,6 +283,26 @@ grunt.registerTask('release', [ 'compress:release' ]); +// -- Suppress Task ------------------------------------------------------------ + +grunt.registerTask('suppress', function () { + var allowed = ['success', 'fail', 'warn', 'error']; + + grunt.util.hooker.hook(grunt.log, { + passName: true, + + pre: function (name) { + if (allowed.indexOf(name) === -1) { + grunt.log.muted = true; + } + }, + + post: function () { + grunt.log.muted = false; + } + }); +}); + // -- Import Tasks ------------------------------------------------------------- grunt.registerTask('import-normalize', [