Merge pull request #990 from ilanbiala/eslint

Add ESLint
Fixes #763
This commit is contained in:
Ilan Biala
2015-10-17 13:48:57 -04:00
4 changed files with 61 additions and 2 deletions

37
.eslintrc Normal file
View File

@@ -0,0 +1,37 @@
{
rules: {
indent: [2, 2, {"SwitchCase": 1}],
no-multi-spaces: 2,
no-underscore-dangle: 0,
no-use-before-define: [1, "nofunc"],
no-unused-expressions: 0,
no-empty-class: 0,
object-curly-spacing: [2, "always"],
quotes: [1, "single"],
space-in-parens: [2, "never"]
},
env: {
node: true
},
globals: {
angular: true,
$: true,
jQuery: true,
moment: true,
window: true,
document: true,
Modernizr: true,
__TESTING__: true,
beforeEach: true,
expect: true,
describe: true,
it: true,
element: true,
by: true,
browser: true,
inject: true,
register: true,
sinon: true,
_: false
}
}

View File

@@ -102,6 +102,10 @@ module.exports = function (grunt) {
}
}
},
eslint: {
options: {},
target: _.union(defaultAssets.server.gruntConfig, defaultAssets.server.allJS, defaultAssets.client.js, testAssets.tests.server, testAssets.tests.client, testAssets.tests.e2e)
},
csslint: {
options: {
csslintrc: '.csslintrc'
@@ -293,7 +297,7 @@ module.exports = function (grunt) {
});
// Lint CSS and JavaScript files.
grunt.registerTask('lint', ['sass', 'less', 'jshint', 'csslint']);
grunt.registerTask('lint', ['sass', 'less', 'jshint', 'eslint', 'csslint']);
// Lint project files and minify them into two production files.
grunt.registerTask('build', ['env:dev', 'lint', 'ngAnnotate', 'uglify', 'cssmin']);

View File

@@ -96,6 +96,22 @@ gulp.task('jshint', function () {
.pipe(plugins.jshint.reporter('fail'));
});
// ESLint JS linting task
gulp.task('eslint', function () {
var assets = _.union(
defaultAssets.server.gulpConfig,
defaultAssets.server.allJS,
defaultAssets.client.js,
testAssets.tests.server,
testAssets.tests.client,
testAssets.tests.e2e
);
return gulp.src(assets)
.pipe(plugins.eslint())
.pipe(plugins.eslint.format());
});
// JS minifying task
gulp.task('uglify', function () {
var assets = _.union(
@@ -243,7 +259,7 @@ gulp.task('protractor', ['webdriver_update'], function () {
// Lint CSS and JavaScript files.
gulp.task('lint', function (done) {
runSequence('less', 'sass', ['csslint', 'jshint'], done);
runSequence('less', 'sass', ['csslint', 'eslint', 'jshint'], done);
});
// Lint project files and minify them into two production files.

View File

@@ -75,6 +75,7 @@
"grunt-contrib-uglify": "~0.9.1",
"grunt-contrib-watch": "~0.6.1",
"grunt-env": "~0.4.4",
"grunt-eslint": "~17.3.1",
"grunt-karma": "~0.11.2",
"grunt-mocha-istanbul": "^2.4.0",
"grunt-mocha-test": "~0.12.7",
@@ -89,6 +90,7 @@
"gulp-concat": "^2.6.0",
"gulp-csslint": "~0.1.5",
"gulp-cssmin": "~0.1.7",
"gulp-eslint": "~1.0.0",
"gulp-jshint": "^1.11.2",
"gulp-karma": "~0.0.4",
"gulp-less": "^3.0.3",