]> source.dussan.org Git - jquery.git/commitdiff
Fix #12757 - use jscs to check the style guide
authorOleg <markelog@gmail.com>
Thu, 12 Sep 2013 20:51:59 +0000 (00:51 +0400)
committerOleg <markelog@gmail.com>
Thu, 7 Nov 2013 19:58:27 +0000 (20:58 +0100)
Close gh-1396

.jscs.json [new file with mode: 0644]
Gruntfile.js
package.json

diff --git a/.jscs.json b/.jscs.json
new file mode 100644 (file)
index 0000000..6540c8f
--- /dev/null
@@ -0,0 +1,23 @@
+{
+    "requireCurlyBraces": [ "if", "else", "for", "while", "do" ],
+    "requireSpaceAfterKeywords": [ "if", "else", "for", "while", "do", "switch", "return" ],
+    "requireSpacesInFunctionExpression": {
+        "beforeOpeningCurlyBrace": true
+    },
+    "disallowSpacesInFunctionExpression": {
+        "beforeOpeningRoundBrace": true
+    },
+    "requireMultipleVarDecl": true,
+    "requireSpacesInsideObjectBrackets": "all",
+    "requireSpacesInsideArrayBrackets": "all",
+    "disallowLeftStickedOperators": [ "?", "-", "/", "*", "=", "==", "===", "!=", "!==", ">", ">=", "<", "<=" ],
+    "disallowRightStickedOperators": [ "?", "/", "*", ":", "=", "==", "===", "!=", "!==", ">", ">=", "<", "<="],
+    "requireRightStickedOperators": [ "!" ],
+    "requireLeftStickedOperators": [ "," ],
+    "disallowKeywords": [ "with" ],
+    "disallowMultipleLineBreaks": true,
+    "disallowKeywordsOnNewLine": [ "else" ],
+    "requireLineFeedAtFileEnd": true,
+
+    "excludeFiles": [ "src/intro.js", "src/outro.js" ]
+}
index 4e4cd06f543ce1029bcf3af1a07118c69d82351e..aee785decfa712d3f585a10ef3491427cd6da5e3 100644 (file)
@@ -2,14 +2,15 @@ module.exports = function( grunt ) {
 
        "use strict";
 
+       function readOptionalJSON( filepath ) {
+               var data = {};
+               try {
+                       data = grunt.file.readJSON( filepath );
+               } catch(e) {}
+               return data;
+       }
+
        var gzip = require( "gzip-js" ),
-               readOptionalJSON = function( filepath ) {
-                       var data = {};
-                       try {
-                               data = grunt.file.readJSON( filepath );
-                       } catch(e) {}
-                       return data;
-               },
                srcHintOptions = readOptionalJSON( "src/.jshintrc" );
 
        // The concatenated file won't pass onevar
@@ -50,19 +51,24 @@ module.exports = function( grunt ) {
                        pkg: {
                                src: [ "package.json" ]
                        },
+
+                       jscs: {
+                               src: [ ".jscs.json" ]
+                       },
+
                        bower: {
                                src: [ "bower.json" ]
                        }
                },
                jshint: {
                        src: {
-                               src: [ "src/**/*.js" ],
+                               src: "src/**/*.js",
                                options: {
                                        jshintrc: "src/.jshintrc"
                                }
                        },
                        dist: {
-                               src: [ "dist/jquery.js" ],
+                               src: "dist/jquery.js",
                                options: srcHintOptions
                        },
                        grunt: {
@@ -72,12 +78,15 @@ module.exports = function( grunt ) {
                                }
                        },
                        tests: {
-                               src: [ "test/**/*.js" ],
+                               src: "test/**/*.js",
                                options: {
                                        jshintrc: "test/.jshintrc"
                                }
                        }
                },
+               jscs: {
+                       src: "src/**/*.js"
+               },
                testswarm: {
                        tests: "ajax attributes callbacks core css data deferred dimensions effects event manipulation offset queue selector serialize support traversing Sizzle".split(" ")
                },
@@ -137,12 +146,13 @@ module.exports = function( grunt ) {
        grunt.loadNpmTasks( "grunt-contrib-jshint" );
        grunt.loadNpmTasks( "grunt-contrib-uglify" );
        grunt.loadNpmTasks( "grunt-jsonlint" );
+       grunt.loadNpmTasks( "grunt-jscs-checker" );
 
        // Integrate jQuery specific tasks
        grunt.loadTasks( "build/tasks" );
 
        // Short list as a high frequency watch task
-       grunt.registerTask( "dev", [ "build:*:*", "jshint" ] );
+       grunt.registerTask( "dev", [ "build:*:*", "jshint", "jscs" ] );
 
        // Default grunt
        grunt.registerTask( "default", [ "jsonlint", "dev", "pre-uglify", "uglify", "post-uglify", "dist:*", "compare_size" ] );
index 82ee4a6f0b17cc7f825f3d977f8e4bf448d796b2..57ab77d5935dc26cb40cbe182fb3f784b0e9fdc1 100644 (file)
@@ -35,6 +35,7 @@
     "grunt-contrib-uglify": "~0.2.4",
     "grunt-contrib-watch": "~0.5.3",
     "grunt-git-authors": "~1.2.0",
+    "grunt-jscs-checker": "~0.2.3",
     "grunt-jsonlint": "~1.0.1",
     "gzip-js": "0.3.2",
     "testswarm": "~1.1.0",