grunt-contrib-jshint

grunt-contrib-jshint not show message


i have created a ne node project, i have installed a lot of modules and create the first index.js file

package.json

{
  "name": "parser-test",
  "version": "1.0.0",
  "description": "parser test",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "luca bottoni",
  "license": "ISC",
  "dependencies": {
    "node-cmd": "^3.0.0"
  },
  "devDependencies": {
    "grunt": "^1.0.1",
    "grunt-contrib-jshint": "^1.1.0",
    "grunt-contrib-watch": "^1.0.0",
    "grunt-exec": "^3.0.0"
  }
}

index.js (it's failed, because i want see jshint message!)

console.log("test");
a={a=6};

if i send the cmd jshint index.js from project folder i see (work fine):

index.js: line 3, col 5, Expected ':' and instead saw '='.
1 error

now i want use the grunt task to check my file

Gruntfile.js

module.exports = function(grunt) {
    // Project configuration.
    grunt.initConfig({
                     pkg:  grunt.file.readJSON('package.json'),
                     watch:{
                         scripts:{
                             files:["./*.js"],
                             tasks:['jshint']
                         }
                     },
                     jshint: {
                         files: ['Gruntfile.js',"index.js"]
                     }
                 });
// Load the plugin that provides the "uglify" task.
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-contrib-jshint');
// Default task(s).
grunt.registerTask('default', ['watch:scripts']);
grunt.registerTask('jshint', ['jshint']);
};

now i try use single task jshint with command grunt jshint, but the don't see any message. if i use the watch, watch task only the first time and after not check any change on file index.js.

i can not understand why the direct command jshint work, but the task grunt stay freezed


Solution

  • i have resolved after many test

    i have turn-on verbose information on grunt command

    grunt jshint --verbose and i have see infinite:

    Running "jshint" task

    Running "jshint" task

    Running "jshint" task

    Running "jshint" task

    Running "jshint" task

    Running "jshint" task

    The register task and task in definition have the same name "jshint" and i have modified the name in grunt.registerTask('jshints', ['jshint']);

    now work fine