diff options
| author | Igor Minar | 2014-01-30 10:51:10 -0800 | 
|---|---|---|
| committer | Igor Minar | 2014-01-30 11:39:53 -0800 | 
| commit | 7f4edaff6e50bdfc524e7dc70ed96663fd7dcea2 (patch) | |
| tree | fe2be224551a6554c18a7f496a9e348ad983de70 | |
| parent | 6dcfccb32c79019f16a2c97ad50cbcc81f61095c (diff) | |
| download | angular.js-7f4edaff6e50bdfc524e7dc70ed96663fd7dcea2.tar.bz2 | |
chore(build): add jscs code style check to our build
Closes #6062
| -rw-r--r-- | .jscs.json | 3 | ||||
| -rw-r--r-- | .jscs.json.todo | 22 | ||||
| -rw-r--r-- | Gruntfile.js | 10 | ||||
| -rw-r--r-- | package.json | 5 | 
4 files changed, 37 insertions, 3 deletions
| diff --git a/.jscs.json b/.jscs.json new file mode 100644 index 00000000..e2307d16 --- /dev/null +++ b/.jscs.json @@ -0,0 +1,3 @@ +{ +  "disallowKeywords": ["with"] +} diff --git a/.jscs.json.todo b/.jscs.json.todo new file mode 100644 index 00000000..6f6f0416 --- /dev/null +++ b/.jscs.json.todo @@ -0,0 +1,22 @@ +// This is an incomplete TODO list of checks we want to start enforcing +// +// The goal is to enable these checks one by one by moving them to .jscs.json along with commits +// that correct the existing code base issues and make the new check pass. + +{ +  "requireCurlyBraces": ["if", "else", "for", "while", "do", "try", "catch"], +  "requireSpaceAfterKeywords": ["if", "else", "for", "while", "do", "switch", "return", "try", "catch"], +  "disallowLeftStickedOperators": ["?", "+", "-", "/", "*", "=", "==", "===", "!=", "!==", ">", ">=", "<", "<="], +  "disallowRightStickedOperators": ["?", "+", "/", "*", ":", "=", "==", "===", "!=", "!==", ">", ">=", "<", "<="], +  "requireRightStickedOperators": ["!"], +  "requireLeftStickedOperators": [","], +  "disallowImplicitTypeConversion": ["string"], +  "disallowMultipleLineBreaks": true, +  "disallowKeywordsOnNewLine": ["else"], +  "disallowTrailingWhitespace": true, +  "requireLineFeedAtFileEnd": true, +  "validateJSDoc": { +    "checkParamNames": true, +    "requireParamTypes": true +  } +} diff --git a/Gruntfile.js b/Gruntfile.js index 721bc16e..d66f6620 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -12,6 +12,7 @@ module.exports = function(grunt) {    grunt.loadNpmTasks('grunt-contrib-jshint');    grunt.loadNpmTasks('grunt-ddescribe-iit');    grunt.loadNpmTasks('grunt-jasmine-node'); +  grunt.loadNpmTasks("grunt-jscs-checker");    grunt.loadNpmTasks('grunt-merge-conflict');    grunt.loadNpmTasks('grunt-parallel');    grunt.loadNpmTasks('grunt-shell'); @@ -145,6 +146,13 @@ module.exports = function(grunt) {        }      }, +    jscs: { +      src: ['src/**/*.js', 'test/**/*.js'], +      options: { +        config: ".jscs.json" +      } +    }, +      build: {        scenario: {          dest: 'build/angular-scenario.js', @@ -301,6 +309,6 @@ module.exports = function(grunt) {    grunt.registerTask('webserver', ['connect:devserver']);    grunt.registerTask('package', ['bower','clean', 'buildall', 'minall', 'collect-errors', 'docs', 'copy', 'write', 'compress']);    grunt.registerTask('package-without-bower', ['clean', 'buildall', 'minall', 'collect-errors', 'docs', 'copy', 'write', 'compress']); -  grunt.registerTask('ci-checks', ['ddescribe-iit', 'merge-conflict', 'jshint']); +  grunt.registerTask('ci-checks', ['ddescribe-iit', 'merge-conflict', 'jshint', 'jscs']);    grunt.registerTask('default', ['package']);  }; diff --git a/package.json b/package.json index eeec930e..7a505c81 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,7 @@      "url": "https://github.com/angular/angular.js.git"    },    "devDependencies": { -    "grunt": "~0.4.1", +    "grunt": "~0.4.2",      "bower": "~1.2.2",      "grunt-bump": "~0.0.13",      "grunt-contrib-clean": "~0.5.0", @@ -41,7 +41,8 @@      "grunt-shell": "~0.4.0",      "semver": "~2.1.0",      "lodash": "~2.1.0", -    "browserstacktunnel-wrapper": "~1.1.1" +    "browserstacktunnel-wrapper": "~1.1.1", +    "grunt-jscs-checker": "~0.3.2"    },    "licenses": [      { | 
