angularjsgruntjswebstormjshintgrunt-contrib-jshint

JSHint unable to find/interpret .jshintrc file


I am using WebStorm IDE and created my angularJS project. I am also using grunt, and am using grunt-contrib-jshint. I had some options preconfigured in my .jshintrc file which were already in the angular-seed repository I used to create the project:

{
  "strict": "global",
  "node": true,
  "globals": {
    // Angular
    "angular": false,

    // Angular mocks
    "module": false,
    "inject": false,

    // Jasmine
    "jasmine": false,
    "describe": false,
    "beforeEach": false,
    "afterEach": false,
    "it": false,
    "expect": false,

    // Protractor
    "browser": false,
    "element": false,
    "by": false
  }
}

When I run grunt jshint on terminal, I get many errors, all of them related to the errors which arise when options are not set properly. However, when I copy these options and put them in my Gruntfile, everything works like a charm.

 jshint: {
        files: ['Gruntfile.js', 'app/**/*.js'],
        options: {
            // options here to override JSHint defaults
            node: true,
            globals: {
                // Angular
                angular: false,

                // Angular mocks
                module: false,
                inject: false,

                // Jasmine
                jasmine: false,
                describe: false,
                beforeEach: false,
                afterEach: false,
                it: false,
                expect: false,

                // Protractor
                browser: false,
                element: false,
                by: false
            }
        }
    },

Basically, what I've understood is jshint is not reading options from the .jshintrc file. How do I solve this issue?


Solution

  • Set the option jshintrc for your jshint task to true.

    If set to true, no config will be sent to JSHint and JSHint will search for .jshintrc files relative to the files being linted.