When I type in grunt, I get a 'jshint:all failed' error
<p>I'm trying to run jshint through grunt but I'm getting the following error.</p>

<pre><code>Warning: Task "jshint:all" failed. Use --force to continue.

Aborted due to warnings.
</code></pre>

<p>I tried forcing it, but it only does a fraction of the work.</p>

<pre><code>Execution Time (2016-07-07 20:05:33 UTC)
loading tasks                  50ms  ▇▇▇▇ 11%
loading grunt-contrib-jshint  233ms  ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ 51%
jshint:all                    172ms  ▇▇▇▇▇▇▇▇▇▇▇▇▇ 38%
Total 456ms
</code></pre>

<p>I've followed the instructions on coursera and added in a <code>'use strict';</code>to my <code>app.js</code> as it was throwing an error that use strict was missing. I even added the <code>.jshintrc</code> file which it asks for in <code>jshint:options</code>.I'm still getting the error. I am including the scripts below.</p>

<p>app.js</p>

<pre><code>var app = angular.module('confusionApp', [])

.controller('menuController', function(){
    'use strict';
    this.tab = 1;
    this.filtText = '';

    var dishes=[
                {
                name: 'Uthapizza',
                image: 'images/uthapizza.png',
                category: 'mains',
                label: 'Hot',
                price:'4.99',
                description: 'A unique combination of Indian Uthappam (pancake) and Italian pizza, topped with Cerignola olives, ripe vine cherry tomatoes, Vidalia onion, Guntur chillies and Buffalo Paneer.',
                comment: ''
                },
                {
                name: 'Zucchipakoda',
                image: 'images/Zucchipakoda.png',
                category: 'appetizer',
                label: '',
                price:'1.99',
                description: 'Deep-fried with mildly spiced Chickpea flour batter accompanied with a tamarind sauce.',
                comment: ''
                },
                {
                name: 'Vadonut',
                image: 'images/vadonut.png',
                category: 'appetizer',
                label: 'New',
                price:'1.99',
                description: 'A quintessential experience, is it a vada or is it a donut.',
                comment: ''
                },
                {
                name: 'ElaiCheese Cake',
                image: 'images/elaicheesecake.png',
                category: 'dessert',
                label: '',
                price:'2.99',
                description: 'A delectable, semi-sweet New York Style Cheese Cake with Graham cracker crust spiced with Indian cardamoms',
                comment: ''
                }
                ];
    this.dishes = dishes;

    this.select = function(setTab){
        this.tab = setTab;

        if(setTab === 2)
            this.filtText = "appetizer";
        else if(setTab === 3)
            this.filtText = "mains";
        else if(setTab === 4)
            this.filtText = "dessert";
        else
            this.filtText = "";
    };

    this.isSelected = function(checkTab) {
        return (this.tab === checkTab);
    };



});
</code></pre>

<p>Gruntfile.js</p>

<pre><code>'use strict';

module.exports = function(grunt){

//Time how long tasks take. Can help when optimizing times
require('time-grunt')(grunt);

//Automatically load grunt tasks
require('jit-grunt')(grunt, {
    default: 'default'
});


//Define the configuration of all the tasks
grunt.initConfig({

    pkg: grunt.file.readJSON('package.json'),

    //Make sure code styles are up to par and there are no obvious mistakes.
    jshint: {
        options: {
            jshintrc: '.jshintrc',
            reporter: require('jshint-stylish')
        },
        all: {
            src: [
            'Gruntfile.js',
            'app/scripts/{,*/}*.js'
            ]
        }
    }
});

grunt.registerTask('build', [
    'jshint'
]);

grunt.registerTask('default', ['build']);

};
</code></pre>