From cfe7c372d3d7038d066183d73105151e448bd653 Mon Sep 17 00:00:00 2001 From: Nick O'Leary Date: Sat, 28 Jun 2014 21:40:46 +0100 Subject: [PATCH] Add jshint to grunt file --- Gruntfile.js | 52 +++++++++++++++++++++++++++++++++++++++++++++++++--- package.json | 1 + 2 files changed, 50 insertions(+), 3 deletions(-) diff --git a/Gruntfile.js b/Gruntfile.js index 608972049..8165d8b37 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -1,3 +1,19 @@ +/** + * Copyright 2013, 2014 IBM Corp. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + **/ + module.exports = function(grunt) { // Project configuration. @@ -12,13 +28,43 @@ module.exports = function(grunt) { reporter: 'tap' }, all: { src: ['test/*.js'] } + }, + jshint: { + options: { + // http://www.jshint.com/docs/options/ + "asi": true, // allow missing semicolons + "curly": true, // require braces + "eqnull": true, // ignore ==null + "forin": true, // require property filtering in "for in" loops + "immed": true, // require immediate functions to be wrapped in ( ) + "nonbsp": true, // warn on unexpected whitespace breaking chars + //"strict": true, // commented out for now as it causes 100s of warnings, but want to get there eventually + "loopfunc": true, // allow functions to be defined in loops + "sub": true // don't warn that foo['bar'] should be written as foo.bar + }, + all: [ + 'Gruntfile.js', + 'public/red/**/*.js', + 'red.js', + 'red/**/*.js', + 'nodes/**/*.js', + ], + tests: { + files: { + src: ['test/*.js'] + }, + options: { + "expr": true + } + } + } }); - // Load the plugin that provides the "uglify" task. grunt.loadNpmTasks('grunt-simple-mocha'); + grunt.loadNpmTasks('grunt-contrib-jshint'); - // Default task(s). - grunt.registerTask('default', ['simplemocha']); + grunt.registerTask('default', ['jshint:tests','simplemocha']); + grunt.registerTask('all', ['jshint:all','default']); }; diff --git a/package.json b/package.json index 08637cbdd..85971416e 100644 --- a/package.json +++ b/package.json @@ -46,6 +46,7 @@ "grunt": "0.4.4", "grunt-cli": "0.1.13", "grunt-simple-mocha": "0.4.0", + "grunt-contrib-jshint": "0.10.0", "mocha": "1.18.2", "should": "3.3.1", "sinon": "1.9.1"