From ebe79082c39c4980129ac59a0245cf67b370b079 Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=B6rn=20Zaefferer?= Date: Sun, 30 Sep 2012 18:31:26 +0200 Subject: [PATCH] Use .jshtinrc files for linting --- addons/.jshintrc | 24 ++++++++++++++ grunt.js | 81 ++++++++++++++------------------------------- qunit/.jshintrc | 22 ++++++++++++ .jshintrc => test/.jshintrc | 0 4 files changed, 71 insertions(+), 56 deletions(-) create mode 100644 addons/.jshintrc create mode 100644 qunit/.jshintrc rename .jshintrc => test/.jshintrc (100%) diff --git a/addons/.jshintrc b/addons/.jshintrc new file mode 100644 index 0000000..9399d0f --- /dev/null +++ b/addons/.jshintrc @@ -0,0 +1,24 @@ +{ + "browser": true, + "curly": true, + "eqnull": true, + "eqeqeq": true, + "expr": true, + "evil": true, + "jquery": true, + "latedef": true, + "noarg": true, + "onevar": true, + "smarttabs": true, + "trailing": true, + "undef": true, + "predef": [ + "module", + "test", + "asyncTest", + "expect", + "start", + "stop", + "QUnit" + ] +} \ No newline at end of file diff --git a/grunt.js b/grunt.js index 448cbf2..cb5f95d 100644 --- a/grunt.js +++ b/grunt.js @@ -16,65 +16,34 @@ grunt.initConfig({ }, lint: { qunit: 'qunit/qunit.js', - // addons: 'addons/**/*.js', + addons: 'addons/**.js', grunt: 'grunt.js' - // TODO need to figure out which warnings to fix and which to disable - // tests: 'test/test.js' + // TODO fix remaining warnings + // tests: 'test/**.js' }, - jshint: { - qunit: { - options: { - onevar: true, - browser: true, - bitwise: true, - curly: true, - trailing: true, - immed: true, - latedef: false, - newcap: true, - noarg: false, - noempty: true, - nonew: true, - sub: true, - undef: true, - eqnull: true, - proto: true, - smarttabs: true - }, - globals: { - jQuery: true, - exports: true - } - }, - addons: { - options: { - browser: true, - curly: true, - eqnull: true, - eqeqeq: true, - expr: true, - evil: true, - jquery: true, - latedef: true, - noarg: true, - onevar: true, - smarttabs: true, - trailing: true, - undef: true - }, - globals: { - module: true, - test: true, - asyncTest: true, - expect: true, - start: true, - stop: true, - QUnit: true - } - }, - tests: { + // TODO rmeove this one grunt 0.4 is out, see jquery-ui for other details + jshint: (function() { + function parserc( path ) { + var rc = grunt.file.readJSON( (path || "") + ".jshintrc" ), + settings = { + options: rc, + globals: {} + }; + + (rc.predef || []).forEach(function( prop ) { + settings.globals[ prop ] = true; + }); + delete rc.predef; + + return settings; } - } + + return { + addons: parserc( "addons/" ), + qunit: parserc( "qunit/" ), + tests: parserc( "test/" ) + }; + })() }); grunt.registerTask( "build-git", function( sha ) { diff --git a/qunit/.jshintrc b/qunit/.jshintrc new file mode 100644 index 0000000..04aa9de --- /dev/null +++ b/qunit/.jshintrc @@ -0,0 +1,22 @@ +{ + "onevar": true, + "browser": true, + "bitwise": true, + "curly": true, + "trailing": true, + "immed": true, + "latedef": false, + "newcap": true, + "noarg": false, + "noempty": true, + "nonew": true, + "sub": true, + "undef": true, + "eqnull": true, + "proto": true, + "smarttabs": true, + "predef": [ + "jQuery", + "exports" + ] +} diff --git a/.jshintrc b/test/.jshintrc similarity index 100% rename from .jshintrc rename to test/.jshintrc -- 2.11.0