From 4818acbaf037b7c2976b4e699e73adf20966c545 Mon Sep 17 00:00:00 2001 From: Daniel Panero Date: Mon, 14 May 2018 20:01:59 +0200 Subject: [PATCH] Removed .jshintrc and added eslint instead of jshint I added the same jshint configuration/rules in package.json and I replaced some old function with arrow function to improve legibility --- .jshintrc | 22 ---------------------- gulpfile.js | 36 +++++++++++++++--------------------- package.json | 35 ++++++++++++++++++++++++++++++++++- 3 files changed, 49 insertions(+), 44 deletions(-) delete mode 100644 .jshintrc diff --git a/.jshintrc b/.jshintrc deleted file mode 100644 index fe809487..00000000 --- a/.jshintrc +++ /dev/null @@ -1,22 +0,0 @@ -{ - "curly": false, - "eqeqeq": true, - "immed": true, - "esnext": true, - "latedef": "nofunc", - "newcap": true, - "noarg": true, - "sub": true, - "undef": true, - "eqnull": true, - "browser": true, - "expr": true, - "globals": { - "head": false, - "module": false, - "console": false, - "unescape": false, - "define": false, - "exports": false - } -} \ No newline at end of file diff --git a/gulpfile.js b/gulpfile.js index 3326a686..0989303f 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -1,5 +1,5 @@ const gulp = require('gulp') -const jshint = require('gulp-jshint') +const eslint = require('gulp-eslint') const uglify = require('gulp-uglify') const rename = require('gulp-rename') const sass = require('gulp-sass') @@ -9,34 +9,28 @@ const qunit = require('gulp-qunit') const zip = require('gulp-zip') const connect = require('gulp-connect') -gulp.task('js', function () { - return gulp.src(['./js/reveal.js']).pipe(uglify()).pipe(rename('reveal.min.js')).pipe(gulp.dest('./js')) -}) +gulp.task('js', () => gulp.src(['./js/reveal.js']).pipe(uglify()).pipe(rename('reveal.min.js')).pipe(gulp.dest('./js'))) -gulp.task('css-themes', function () { - return gulp.src(['./css/theme/source/*.{sass,scss}']).pipe(sass()).pipe(gulp.dest('./css/theme')) -}) +gulp.task('css-themes', () => gulp.src(['./css/theme/source/*.{sass,scss}']).pipe(sass()).pipe(gulp.dest('./css/theme'))) -gulp.task('css-core', gulp.series(function () { - return gulp.src(['css/reveal.scss']).pipe(sass()).pipe(autoprefixer()).pipe(gulp.dest('./css')) -}, function () { - return gulp.src(['css/reveal.css']).pipe(minify({ +gulp.task('css-core', gulp.series( + () => gulp.src(['css/reveal.scss']).pipe(sass()).pipe(autoprefixer()).pipe(gulp.dest('./css')), + () => gulp.src(['css/reveal.css']).pipe(minify({ compatibility: 'ie9' })).pipe(rename('reveal.min.css')).pipe(gulp.dest('./css')) -})) +)) gulp.task('css', gulp.parallel('css-themes', 'css-core')) -gulp.task('test', gulp.parallel(function () { - return gulp.src(['./js/reveal.js']).pipe(jshint()).pipe(jshint.reporter('default')).pipe(jshint.reporter('fail')); -}, function () { - return gulp.src(['./test/*.html']).pipe(qunit()) -})) +gulp.task('test', gulp.series( + () => gulp.src(['./js/reveal.js']).pipe(eslint({useEslintrc: true})).pipe(eslint.format()), + () => gulp.src(['./test/*.html']).pipe(qunit()) +)) gulp.task('default', gulp.series(gulp.parallel('js', 'css'), 'test')) -gulp.task('package', gulp.series('default', function () { - return gulp.src([ +gulp.task('package', gulp.series('default', () => + gulp.src([ './index.html', './css/**', './js/**', @@ -45,9 +39,9 @@ gulp.task('package', gulp.series('default', function () { './plugin/**', './**.md' ]).pipe(zip('reveal-js-presentation.zip')).pipe(gulp.dest('./')) -})) +)) -gulp.task('serve', function () { +gulp.task('serve', () => { connect.server({ root: '.', livereload: true, diff --git a/package.json b/package.json index c4efa30e..9e96d0d7 100644 --- a/package.json +++ b/package.json @@ -40,7 +40,7 @@ "gulp-autoprefixer": "^5.0.0", "gulp-clean-css": "^3.9.3", "gulp-connect": "^5.5.0", - "gulp-jshint": "^2.1.0", + "gulp-eslint": "^4.0.2", "gulp-qunit": "^2.0.1", "gulp-rename": "^1.2.2", "gulp-sass": "^3.1.0", @@ -53,5 +53,38 @@ "license": "MIT", "dependencies": { "npm": "^5.7.1" + }, + "eslintConfig": { + "env": { + "browser": true + }, + "globals": { + "head": false, + "module": false, + "console": false, + "unescape": false, + "define": false, + "exports": false + }, + "rules": { + "curly": 0, + "eqeqeq": 2, + "wrap-iife": [ + 2, + "any" + ], + "no-use-before-define": [ + 2, + { + "functions": false + } + ], + "new-cap": 2, + "no-caller": 2, + "dot-notation": 0, + "no-undef": 2, + "no-eq-null": 2, + "no-unused-expressions": 2 + } } }