grunt-contrib-jshint ignores has no effect

Cheng Ping Onn picture Cheng Ping Onn · Dec 20, 2013 · Viewed 10.6k times · Source

I would like to exclude libs directory from being lint'ed. However, ignores in options and planted .jshintignore file in project directory won't make libs to be excluded.

 jshint: {
  options: {
    smarttabs: true,
    ignores: ['public/js/libs/**/*.js']
  },

  all: [
        'Gruntfile.js', 
        'public/js/**/*.js'
      ]

},

grunt version:

 grunt-cli v0.1.11
 grunt v0.4.2
 [email protected]

What did I miss out?

Answer

Kyle Robinson Young picture Kyle Robinson Young · Dec 20, 2013

ignores is a jshint option and expects specific files. It's better to use the idiomatic Grunt negate ! to exclude files:

jshint: {
  options: {
    smarttabs: true
  },
  all: [
    'Gruntfile.js', 
    'public/js/**/*.js',
    '!public/js/libs/**/*.js'
  ],
},

See http://gruntjs.com/configuring-tasks#globbing-patterns