Task to generate static analysis reports via plato
For more information on plato, see the docs and some example reports
If you haven't used grunt before, be sure to check out the Getting Started guide.
From the same directory as your project's Gruntfile and package.json, install this plugin with the following command:
npm install grunt-plato --save-dev
Once that's done, add this line to your project's Gruntfile:
grunt.loadNpmTasks('grunt-plato');
In your project's Gruntfile, add a section named plato
to the data object passed into grunt.initConfig()
.
grunt.initConfig({
plato: {
options: {
// Task-specific options go here.
},
your_target: {
// Target-specific file lists and/or options go here.
}
}
})
Type: Object
Default value: unset
A jshintrc style object specifying jshint options, see JSHint docs
Type: Object
Default value: unset
A series of options passed to complexity-report, see Phil Booth's complexity-report
grunt.initConfig({
plato: {
your_task: {
files: {
'report/output/directory': ['src/**/*.js', 'test/**/*.js']
}
}
}
})
plato: {
your_task: {
options : {
complexity : {
logicalor : false,
switchcase : false,
forin : true,
trycatch : true
}
},
files: {
'reports': ['src/**/*.js']
}
}
}
plato: {
your_task: {
options : {
jshint : grunt.file.readJSON('.jshintrc')
},
files: {
'reports': ['src/**/*.js']
}
}
}
plato: {
your_task: {
options : {
jshint : false
},
files: {
'reports': ['src/**/*.js']
}
}
}
plato: {
your_task: {
options : {
exclude: /\.min\.js$/ // excludes source files finishing with ".min.js"
},
files: {
'reports': ['src/**/*.js']
}
}
}
plato: {
your_task: {
options : {
excludeFromFile: '.jshintignore' # excludes source files placed in .jshintignore
},
files: {
'reports': ['src/**/*.js'],
},
},
}