Validates JavaScript files with JSLint as a grunt task.
Install this grunt plugin next to your project's grunt.js gruntfile with: npm install grunt-jslint
Then add this line to your project's grunt.js
gruntfile:
grunt.loadNpmTasks('grunt-jslint');
A single-task to validate your JavaScript files with JSLint.
Supports the following options:
- files - An array of files or wildcards which you want to be validated with JSLint.
<li>
<b>exclude</b> - A String/filepath/wildcard option which, when provided, tells the plugin which files should be ignored (not scanned).
</li>
<li>
<b>directives</b> - Configuration options/settings to pre-define in JSLint. Pre-defined globals are included within this object as <code>predef: ['myglobal']</code>
</li>
<li>
<b>Options</b> - Configuration options/settings for the plugin itself. Currently supports the following:
<ul>
<li>
<b>errorsOnly</b> - A Boolean option which tells the plugin to only display errors when set to <code>true</code>.
</li>
<li>
<b>log</b> - A String/filepath option which, when provided, tells the plugin where to write a verbose log to.
</li>
<li>
<b>junit</b> - A String/filepath option which, when provided, tells the plugin where to write a JUnit-style XML file to.
</li>
<li>
<b>jslintXml</b> - A String/filepath option which, when provided, tells the plugin where to write a JSLint-style XML file to.
</li>
</ul>
</li>
/*jslint node:true*/
module.exports = function (grunt) {
'use strict';
grunt.loadNpmTasks('grunt-jslint'); // load the task
grunt.initConfig({
watch: {
files: '<config:jslint.files>',
tasks: 'jslint'
},
// TAKE NOTE - this has changed since 0.1.8
jslint: { // configure the task
files: [ // some example files
'grunt.js',
'src/**/*.js'
],
exclude: [
'**/ignore-*.js',
'bananas.js'
],
directives: { // example directives
browser: true,
unparam: true,
todo: true,
predef: [ // array of pre-defined globals
'jQuery'
]
},
options: {
junit: 'out/junit.xml', // write the output to a JUnit XML
log: 'out/lint.log',
jslintXml: 'out/jslint_xml.xml',
errorsOnly: true // only display errors
}
}
});
grunt.registerTask('default', 'watch');
};
- 0.2.0 - Cleaned up your
grunt.js
file for you - moved all options into thejslint
object - 0.1.8 - Updating README.md to contain more verbose documentation, adding keywords to package.json
- 0.1.7 - Added an option to only report on errors
- 0.1.6 - Added an exclude option and added number of files in violation to standard output.
Copyright (c) 2012 Stephen Mathieson Licensed under the WTFPL license.