From 164bb62246d5811570a23dec6c2add1f0bc34409 Mon Sep 17 00:00:00 2001 From: "James D. Forrester" Date: Mon, 6 May 2019 16:18:42 -0700 Subject: [PATCH] build: Install eslint Change-Id: I3d2aed1e6cd8935e151e0ae2175b1283b4a408b0 --- .eslintrc.json | 7 +++++++ .gitignore | 1 + Gruntfile.js | 22 +++++++++++++--------- package.json | 5 +++-- 4 files changed, 24 insertions(+), 11 deletions(-) create mode 100644 .eslintrc.json diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 0000000..1a97f6e --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,7 @@ +{ + "root": true, + "extends": [ + "wikimedia/client", + "wikimedia/jquery" + ] +} diff --git a/.gitignore b/.gitignore index bee951e..98aae7b 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ node_modules/ vendor/ composer.lock +.eslintcache diff --git a/Gruntfile.js b/Gruntfile.js index 26ca0c1..9f2ade9 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -1,17 +1,21 @@ -/*jshint node:true */ +/* eslint-env node, es6 */ module.exports = function ( grunt ) { - grunt.loadNpmTasks( 'grunt-banana-checker' ); - grunt.loadNpmTasks( 'grunt-jsonlint' ); - grunt.loadNpmTasks( 'grunt-contrib-jshint' ); - var conf = grunt.file.readJSON( 'extension.json' ); + + grunt.loadNpmTasks( 'grunt-banana-checker' ); + grunt.loadNpmTasks( 'grunt-eslint' ); + grunt.loadNpmTasks( 'grunt-jsonlint' ); + grunt.initConfig( { banana: conf.MessagesDirs, - jshint: { + eslint: { + options: { + reportUnusedDisableDirectives: true, + cache: true + }, all: [ '**/*.js', - '!node_modules/**', - '!vendor/**' + '!{vendor,node_modules}/**' ] }, jsonlint: { @@ -23,6 +27,6 @@ module.exports = function ( grunt ) { } } ); - grunt.registerTask( 'test', [ 'jsonlint', 'banana', 'jshint' ] ); + grunt.registerTask( 'test', [ 'eslint', 'jsonlint', 'banana' ] ); grunt.registerTask( 'default', 'test' ); }; diff --git a/package.json b/package.json index c22649f..7a9ded6 100644 --- a/package.json +++ b/package.json @@ -4,9 +4,10 @@ "test": "grunt test" }, "devDependencies": { - "grunt": "1.0.3", + "eslint-config-wikimedia": "0.11.0", + "grunt": "1.0.4", "grunt-banana-checker": "0.6.0", - "grunt-contrib-jshint": "1.1.0", + "grunt-eslint": "21.0.0", "grunt-jsonlint": "1.1.0" } }