I have some JavaScript files that should be linted assuming a Node environment and others that should be linted assuming a browser environment. How do I lint these files with different JSHint options? Here's my starting point:
module.exports = function (grunt) {
grunt.initConfig({
lint: {
files: [
"grunt.js", // Node environment
"lib/**/*.js", // browser environment
],
},
jshint: {
options: {
browser: true, // define globals exposed by modern browsers?
es5: true, // code uses ECMAScript 5 features?
node: false, // define globals in Node runtime?
},
globals: {},
},
});
grunt.registerTask("default", "lint");
};
Actually, it's pretty easy: https://github.com/gruntjs/grunt/blob/master/docs/task_lint.md#per-target-jshint-options-and-globals
// Project configuration.
grunt.initConfig({
lint: {
src: 'src/*.js',
grunt: 'grunt.js',
tests: 'tests/unit/**/*.js'
},
jshint: {
// Defaults.
options: {curly: true},
globals: {},
// Just for the lint:grunt target.
grunt: {
options: {node: true},
globals: {task: true, config: true, file: true, log: true, template: true}
},
// Just for the lint:src target.
src: {
options: {browser: true},
globals: {jQuery: true}
},
// Just for the lint:tests target.
tests: {
options: {jquery: true},
globals: {module: true, test: true, ok: true, equal: true, deepEqual: true, QUnit: true}
}
}
});
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With