3

I'm trying to run jshint using grunt. This works, but now I would like the output to be HTML. Here is my grunt file

module.exports = function(grunt) {

    // Project configuration.
    grunt.initConfig({
        jshint: {
            all: ['Gruntfile.js', 'src/*.js']
            , options: {
                //reporter: 'jslint'
                reporter:'checkstyle'
                , reporterOutput: 'jshint.html'
            }
         }
    });

    grunt.loadNpmTasks('grunt-contrib-jshint');
};

Running this grunt taks, the output is in XML. Any suggestion how to turn this into something that outputs HTML ?

Thanks a lot

Jeanluca Scaljeri
  • 26,343
  • 56
  • 205
  • 333

2 Answers2

4

You would need to write a custom reporter. Check the jshint docs on writing custom reporters: http://jshint.com/docs/reporters/ Then you can specify the path to the reporter with:

options: {
  reporter: '/path/to/custom/html/reporter',
  reporterOutput: 'jshint.html'
}
dcodesmith
  • 9,590
  • 4
  • 36
  • 40
Kyle Robinson Young
  • 13,732
  • 1
  • 47
  • 38
4

You can use jshint reporter from nodejs

This generates output in HTML

https://www.npmjs.com/package/jshint-html-reporter

Include this in your GruntFile.js

grunt.initConfig({
    jshint: {
        options: {
            reporter: require('jshint-html-reporter'),
            reporterOutput: 'jshint-report.html'
        },
        target: ['file.js']
    }
});

grunt.loadNpmTasks('grunt-contrib-jshint');
grunt.registerTask('default', ['jshint']);
Pranjal jaju
  • 416
  • 3
  • 13