title: Gruntfile.js - Throwing error 'Recursive process.nextTick detected"
body: <p>I have defined a simple Gruntfile.js per the official <a href="http://gruntjs.com/sample-gruntfile" rel="nofollow noreferrer">instructions</a> and yet I am getting a warning when I run the grunt watch ('$ grunt watch') or grunt default task ('$ grunt '). </p>
  
  <p>The error is: </p>
  
  <blockquote>
    <p>(node) warning: Recursive process.nextTick detected. This will break
    in the next version of node. Please use setImmediate for recursive
    deferral.</p>
  </blockquote>
  
  <p>I have read the related StackOverflow question and answer here: <a href="https://stackoverflow.com/questions/22285942/grunt-throw-recursive-process-nexttick-detected">grunt throw &quot;Recursive process.nextTick detected&quot;</a>, but that didn't resolve my issue. </p>
  
  <p>My Gruntfile.js is:</p>
  
  <pre><code>module.exports = function(grunt) {
    grunt.initConfig({
      pkg: grunt.file.readJSON('package.json'),
      concat: {
        options: {
          separator: ';'
        },
        dist: {
          src: ['client/app/**/*.js'],
          dest: 'client/dist/&lt;%= pkg.name %&gt;.js'
        }
      },
      uglify: {
        options: {
          banner: '/*! &lt;%= pkg.name %&gt; &lt;%= grunt.template.today("dd-mm-yyyy") %&gt; */\n'
        },
        dist: {
          files: {
            'dist/&lt;%= pkg.name %&gt;.min.js': ['&lt;%= concat.dist.dest %&gt;']
          }
        }
      },
      jshint: {
        files: ['client/app/**/*.js', 'server/**/*.js'],
        options: {
          // options here to override JSHint defaults
          globals: {
            jQuery: true,
            console: true,
            module: true, 
            document: true
          }
        }
      },
      watch: {
        files: ['&lt;% jshint.files %&gt;'],
        tasks: ['jshint']
      }
    });
  
    grunt.loadNpmTasks('grunt-contrib-uglify');
    grunt.loadNpmTasks('grunt-contrib-jshint');
    grunt.loadNpmTasks('grunt-contrib-watch');
    grunt.loadNpmTasks('grunt-contrib-concat');
  
    grunt.registerTask('default', ['watch']);
    grunt.registerTask('test', ['jshint']);
    grunt.registerTask('build-dev', ['jshint', 'concat']);
    grunt.registerTask('build', ['jshint', 'concat', 'uglify']);
  </code></pre>
  
  <p>};</p>