From 2948a99b6e51c42039025b049d8f92e92b1b7d2c Mon Sep 17 00:00:00 2001 From: Markus Heiser Date: Sun, 1 Aug 2021 16:04:19 +0200 Subject: [PATCH 1/2] [mod] simple theme - add ESLint [1] https://eslint.org/ [2] https://eslint.org/docs/user-guide/configuring/ [3] https://eslint.org/docs/user-guide/command-line-interface Signed-off-by: Markus Heiser --- .dir-locals.el | 6 +++--- manage | 2 ++ searx/static/themes/simple/.eslintrc.json | 13 +++++++++++++ searx/static/themes/simple/gruntfile.js | 12 ++++++++++++ searx/static/themes/simple/package.json | 3 +++ 5 files changed, 33 insertions(+), 3 deletions(-) create mode 100644 searx/static/themes/simple/.eslintrc.json diff --git a/.dir-locals.el b/.dir-locals.el index 92ff6788b..b8f7ecc76 100644 --- a/.dir-locals.el +++ b/.dir-locals.el @@ -91,9 +91,9 @@ (js-mode . ((eval . (progn (setq-local js-indent-level 2) - ;; flycheck should use the jshint checker from simple theme - (setq-local flycheck-javascript-jshint-executable - (expand-file-name "searx/static/themes/simple/node_modules/.bin/jshint" prj-root)) + ;; flycheck should use the eslint checker from simple theme + (setq-local flycheck-javascript-eslint-executable + (expand-file-name "searx/static/themes/simple/node_modules/.bin/eslint" prj-root)) (flycheck-mode) )))) diff --git a/manage b/manage index a855512f5..31abd8a3e 100755 --- a/manage +++ b/manage @@ -665,6 +665,8 @@ themes.oscar() { themes.simple() { build_msg GRUNT "theme: simple" npm --prefix searx/static/themes/simple run build + # just report eslint issues but do not break the build (--force) + npm --prefix searx/static/themes/simple run eslint --force dump_return $? } diff --git a/searx/static/themes/simple/.eslintrc.json b/searx/static/themes/simple/.eslintrc.json new file mode 100644 index 000000000..cfe1e0b3a --- /dev/null +++ b/searx/static/themes/simple/.eslintrc.json @@ -0,0 +1,13 @@ +{ + "env": { + "browser": true, + "es2021": true + }, + "extends": "eslint:recommended", + "parserOptions": { + "ecmaVersion": 12, + "sourceType": "module" + }, + "rules": { + } +} diff --git a/searx/static/themes/simple/gruntfile.js b/searx/static/themes/simple/gruntfile.js index 7e5ad5466..049e21fca 100644 --- a/searx/static/themes/simple/gruntfile.js +++ b/searx/static/themes/simple/gruntfile.js @@ -15,6 +15,16 @@ module.exports = function(grunt) { jshint: { files: ['src/js/main/*.js', 'src/js/head/*.js', '../__common__/js/*.js'], }, + eslint: { + options: { + configFile: '.eslintrc.json' + }, + target: [ + 'src/js/main/*.js', + 'src/js/head/*.js', + '../__common__/js/*.js' + ], + }, stylelint: { options: { formatter: 'unix', @@ -189,10 +199,12 @@ module.exports = function(grunt) { grunt.loadNpmTasks('grunt-contrib-cssmin'); grunt.loadNpmTasks('grunt-webfont'); grunt.loadNpmTasks('grunt-stylelint'); + grunt.loadNpmTasks('grunt-eslint'); grunt.registerTask('test', ['jshint']); grunt.registerTask('default', [ + // 'eslint', 'jshint', 'stylelint', 'copy', diff --git a/searx/static/themes/simple/package.json b/searx/static/themes/simple/package.json index 89e9008be..e36181001 100644 --- a/searx/static/themes/simple/package.json +++ b/searx/static/themes/simple/package.json @@ -1,5 +1,6 @@ { "devDependencies": { + "eslint": "^7.32.0", "grunt-cli": "^1.4.3", "grunt": "~1.4.1", "grunt-contrib-copy": "^1.0.0", @@ -10,6 +11,7 @@ "grunt-contrib-uglify": "~5.0.1", "grunt-contrib-watch": "~1.1.0", "grunt-stylelint": "^0.16.0", + "grunt-eslint": "^23.0.0", "grunt-webfont": "^1.7.2", "ionicons-npm": "^2.0.1", "jslint": "^0.12.1", @@ -26,6 +28,7 @@ "scripts": { "all": "npm install && grunt", "build": "grunt", + "eslint": "grunt eslint", "watch": "grunt watch", "webfont": "grunt webfont", "clean": "rm -Rf node_modules package-lock.json ion.less", From 0ee316f3d1561853ceb26fc3cf4ec673f575168d Mon Sep 17 00:00:00 2001 From: Alexandre Flament Date: Tue, 24 Aug 2021 09:52:40 +0200 Subject: [PATCH 2/2] eslint: grunt integration --- manage | 2 -- searx/static/themes/simple/.eslintrc.json | 3 +-- searx/static/themes/simple/gruntfile.js | 11 ++++------- searx/static/themes/simple/package.json | 3 +-- 4 files changed, 6 insertions(+), 13 deletions(-) diff --git a/manage b/manage index 31abd8a3e..a855512f5 100755 --- a/manage +++ b/manage @@ -665,8 +665,6 @@ themes.oscar() { themes.simple() { build_msg GRUNT "theme: simple" npm --prefix searx/static/themes/simple run build - # just report eslint issues but do not break the build (--force) - npm --prefix searx/static/themes/simple run eslint --force dump_return $? } diff --git a/searx/static/themes/simple/.eslintrc.json b/searx/static/themes/simple/.eslintrc.json index cfe1e0b3a..f6aed7584 100644 --- a/searx/static/themes/simple/.eslintrc.json +++ b/searx/static/themes/simple/.eslintrc.json @@ -5,8 +5,7 @@ }, "extends": "eslint:recommended", "parserOptions": { - "ecmaVersion": 12, - "sourceType": "module" + "ecmaVersion": 12 }, "rules": { } diff --git a/searx/static/themes/simple/gruntfile.js b/searx/static/themes/simple/gruntfile.js index 049e21fca..47e5a962e 100644 --- a/searx/static/themes/simple/gruntfile.js +++ b/searx/static/themes/simple/gruntfile.js @@ -9,15 +9,13 @@ module.exports = function(grunt) { watch: { scripts: { files: ['src/**'], - tasks: ['jshint', 'copy', 'concat', 'uglify', 'less:development', 'less:production'] + tasks: ['eslint', 'copy', 'concat', 'uglify', 'less:development', 'less:production'] } }, - jshint: { - files: ['src/js/main/*.js', 'src/js/head/*.js', '../__common__/js/*.js'], - }, eslint: { options: { - configFile: '.eslintrc.json' + configFile: '.eslintrc.json', + failOnError: false }, target: [ 'src/js/main/*.js', @@ -204,8 +202,7 @@ module.exports = function(grunt) { grunt.registerTask('test', ['jshint']); grunt.registerTask('default', [ - // 'eslint', - 'jshint', + 'eslint', 'stylelint', 'copy', 'concat', diff --git a/searx/static/themes/simple/package.json b/searx/static/themes/simple/package.json index e36181001..9ddc66d39 100644 --- a/searx/static/themes/simple/package.json +++ b/searx/static/themes/simple/package.json @@ -1,6 +1,5 @@ { "devDependencies": { - "eslint": "^7.32.0", "grunt-cli": "^1.4.3", "grunt": "~1.4.1", "grunt-contrib-copy": "^1.0.0", @@ -14,7 +13,7 @@ "grunt-eslint": "^23.0.0", "grunt-webfont": "^1.7.2", "ionicons-npm": "^2.0.1", - "jslint": "^0.12.1", + "eslint": "^7.32.0", "less": "^4.1.1", "less-plugin-clean-css": "^1.5.1", "stylelint": "^13.13.1",