Fix #12757 - use jscs to check the style guide

Cherry picked from ab63e568f50b5b9823490eda9c184e48cc6440c4 commit
This commit is contained in:
Oleg 2013-09-13 00:51:59 +04:00
parent 9e3d0f3109
commit bcae427015
3 changed files with 46 additions and 11 deletions

23
.jscs.json Normal file
View File

@ -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" ]
}

View File

@ -2,14 +2,15 @@ module.exports = function( grunt ) {
"use strict"; "use strict";
function readOptionalJSON( filepath ) {
var data = {};
try {
data = grunt.file.readJSON( filepath );
} catch(e) {}
return data;
}
var gzip = require( "gzip-js" ), var gzip = require( "gzip-js" ),
readOptionalJSON = function( filepath ) {
var data = {};
try {
data = grunt.file.readJSON( filepath );
} catch(e) {}
return data;
},
srcHintOptions = readOptionalJSON( "src/.jshintrc" ); srcHintOptions = readOptionalJSON( "src/.jshintrc" );
// The concatenated file won't pass onevar // The concatenated file won't pass onevar
@ -48,19 +49,24 @@ module.exports = function( grunt ) {
pkg: { pkg: {
src: [ "package.json" ] src: [ "package.json" ]
}, },
jscs: {
src: [ ".jscs.json" ]
},
bower: { bower: {
src: [ "bower.json" ] src: [ "bower.json" ]
} }
}, },
jshint: { jshint: {
src: { src: {
src: [ "src/**/*.js" ], src: "src/**/*.js",
options: { options: {
jshintrc: "src/.jshintrc" jshintrc: "src/.jshintrc"
} }
}, },
dist: { dist: {
src: [ "dist/jquery.js" ], src: "dist/jquery.js",
options: srcHintOptions options: srcHintOptions
}, },
grunt: { grunt: {
@ -70,12 +76,15 @@ module.exports = function( grunt ) {
} }
}, },
tests: { tests: {
src: [ "test/**/*.js" ], src: "test/**/*.js",
options: { options: {
jshintrc: "test/.jshintrc" jshintrc: "test/.jshintrc"
} }
} }
}, },
jscs: {
src: "src/**/*.js"
},
testswarm: { testswarm: {
tests: "ajax attributes callbacks core css data deferred dimensions effects event manipulation offset queue selector serialize support traversing Sizzle".split(" ") tests: "ajax attributes callbacks core css data deferred dimensions effects event manipulation offset queue selector serialize support traversing Sizzle".split(" ")
}, },
@ -135,12 +144,13 @@ module.exports = function( grunt ) {
grunt.loadNpmTasks( "grunt-contrib-jshint" ); grunt.loadNpmTasks( "grunt-contrib-jshint" );
grunt.loadNpmTasks( "grunt-contrib-uglify" ); grunt.loadNpmTasks( "grunt-contrib-uglify" );
grunt.loadNpmTasks( "grunt-jsonlint" ); grunt.loadNpmTasks( "grunt-jsonlint" );
grunt.loadNpmTasks( "grunt-jscs-checker" );
// Integrate jQuery specific tasks // Integrate jQuery specific tasks
grunt.loadTasks( "build/tasks" ); grunt.loadTasks( "build/tasks" );
// Short list as a high frequency watch task // Short list as a high frequency watch task
grunt.registerTask( "dev", [ "build:*:*", "jshint" ] ); grunt.registerTask( "dev", [ "build:*:*", "jshint", "jscs" ] );
// Default grunt // Default grunt
grunt.registerTask( "default", [ "jsonlint", "dev", "pre-uglify", "uglify", "post-uglify", "dist:*", "compare_size" ] ); grunt.registerTask( "default", [ "jsonlint", "dev", "pre-uglify", "uglify", "post-uglify", "dist:*", "compare_size" ] );

View File

@ -1,3 +1,4 @@
{ {
"name": "jquery", "name": "jquery",
"title": "jQuery", "title": "jQuery",
@ -35,6 +36,7 @@
"grunt-contrib-uglify": "~0.2.4", "grunt-contrib-uglify": "~0.2.4",
"grunt-contrib-watch": "~0.5.3", "grunt-contrib-watch": "~0.5.3",
"grunt-git-authors": "~1.2.0", "grunt-git-authors": "~1.2.0",
"grunt-jscs-checker": "~0.2.3",
"grunt-jsonlint": "~1.0.1", "grunt-jsonlint": "~1.0.1",
"gzip-js": "0.3.2", "gzip-js": "0.3.2",
"testswarm": "~1.1.0", "testswarm": "~1.1.0",