diff --git a/src/.eslintrc b/src/.eslintrc new file mode 100644 index 00000000..ab1fa90c --- /dev/null +++ b/src/.eslintrc @@ -0,0 +1,26 @@ +{ + "extends": "eslint:recommended", + "rules": { + "indent": ["error", 4, {"SwitchCase": 1}], + "no-trailing-spaces": "error", + "semi": ["error", "always"], + "guard-for-in": "error" + }, + "globals": { + "Mibew": true, + "MibewAPI": true, + "MibewAPIInteraction": true, + "MibewAPIChatInteraction": true, + "MibewAPIUsersInteraction": true, + "MibewAPIExecutionContext": true, + "Handlebars": true, + "_": true, + "Backbone": true, + "jQuery": true, + "vex": true, + "validator": true + }, + "env":{ + "browser": true + } +} diff --git a/src/gulpfile.js b/src/gulpfile.js index 0984e455..1773c906 100644 --- a/src/gulpfile.js +++ b/src/gulpfile.js @@ -24,7 +24,8 @@ var fs = require('fs'), chmod = require('gulp-chmod'), xgettext = require('gulp-xgettext'), concatPo = require('gulp-concat-po'), - rename = require('gulp-rename'); + rename = require('gulp-rename'), + eslint = require('gulp-eslint'); // Set global configs. var config = { @@ -83,6 +84,14 @@ gulp.task('phpcs', ['composer-install-dev'], function() { .pipe(phpcs.reporter('fail')); }); +// Checks all JavaScript Source files with ESLint. +gulp.task('eslint', function() { + return gulp.src(config.jsPath + '/source/**/*.js') + .pipe(eslint()) + .pipe(eslint.format()) + .pipe(eslint.failAfterError()); +}); + // Get and install PHP Composer gulp.task('get-composer', function(callback) { // Check if Composer already in place diff --git a/src/package.json b/src/package.json index 87882227..584c1db3 100644 --- a/src/package.json +++ b/src/package.json @@ -23,6 +23,8 @@ "lodash": "~3.9.3", "strftime": "~0.9.2", "del": "~1.2.0", - "event-stream": "~3.3.1" + "event-stream": "~3.3.1", + "eslint": "~2.11.0", + "gulp-eslint": "~2.0.0" } }