From 0cbe741a4d668a0d7ca7cd99b4132d9d97f5fb5d Mon Sep 17 00:00:00 2001 From: Amit Bansil Date: Tue, 2 Aug 2016 19:01:34 -0400 Subject: [PATCH] chore(lint): implement linting in gulpfile --- .jscs => .jscsrc | 2 -- gulpfile.js | 43 +++++++++++++++++++++++++++++++++++++++---- package.json | 3 +++ 3 files changed, 42 insertions(+), 6 deletions(-) rename .jscs => .jscsrc (99%) diff --git a/.jscs b/.jscsrc similarity index 99% rename from .jscs rename to .jscsrc index 8385caae..d2e9477e 100644 --- a/.jscs +++ b/.jscsrc @@ -1,7 +1,5 @@ { "fileExtensions": [".js", ".jsx"], - "esnext": true, - "requireCurlyBraces": [ "if", "else", "for", "while", "do", "try", "catch" ], "requireSpaceAfterKeywords": [ "if", "else", "for", "while", "do", "switch", "return", "try", "catch" ], "requireSpaceBeforeBlockStatements": true, diff --git a/gulpfile.js b/gulpfile.js index 656fb8f4..c333bf75 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -1,7 +1,9 @@ -var gulp = require('gulp'); -var fs = require('fs'); +var gulp = require('gulp'); +var fs = require('fs'); var sourcemaps = require('gulp-sourcemaps'); -var babel = require('gulp-babel'); +var babel = require('gulp-babel'); +var eslint = require('gulp-eslint'); +var jscs = require('gulp-jscs'); gulp.task('build-npm', ['setupNpm', 'babel', 'lint']); @@ -106,4 +108,37 @@ babelize('hooks'); babelize('www'); babelize('tests'); babelize('testbed', 'testbed/www/js'); -gulp.task('babel', babelTasks); \ No newline at end of file +gulp.task('babel', babelTasks); + +//------------------------------------------------------------------------------ +//linting + +gulp.task('lint', ['eslint', 'jscs-lint']); + +var srcs = [ + '**/*.js', + '!node_modules/**', + '!testbed/platforms/ios/cordova/node_modules/**' +]; + +gulp.task('lint', () => { + return gulp.src(srcs) + .pipe(eslint()) + .pipe(eslint.format()) + .pipe(eslint.failAfterError()); +}); + +function jscsTask(fix){ + var ret = gulp.src(srcs) + .pipe(jscs({fix: fix})) + .pipe(jscs.reporter()) + .pipe(jscs.reporter('fail')); + + if(fix){ + ret.pipe(gulp.dest('.')); + } + return ret; +} + +gulp.task('jscs-fix', jscsTask.bind(null, true)); +gulp.task('jscs-lint', jscsTask.bind(null, false)); \ No newline at end of file diff --git a/package.json b/package.json index 7790bdb2..7ace4acc 100644 --- a/package.json +++ b/package.json @@ -41,6 +41,7 @@ "xml2js": "^0.4.16" }, "devDependencies": { + "babel-eslint": "^6.1.2", "babel-plugin-transform-runtime": "^6.12.0", "babel-preset-es2015": "^6.9.0", "babel-preset-stage-2": "^6.11.0", @@ -48,6 +49,8 @@ "cz-conventional-changelog": "^1.1.6", "gulp": "^3.9.1", "gulp-babel": "^6.1.2", + "gulp-eslint": "^3.0.1", + "gulp-jscs": "^4.0.0", "gulp-sourcemaps": "^1.6.0", "mkpath": "^1.0.0", "node-version-compare": "^1.0.1",