Browse Source

Merge pull request #244 from return42/eslint-simple-client

[mod] simple theme - add ESLint
Alexandre Flament 3 years ago
parent
commit
66a27757fd

+ 3 - 3
.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)
                ))))
 

+ 12 - 0
searx/static/themes/simple/.eslintrc.json

@@ -0,0 +1,12 @@
+{
+    "env": {
+        "browser": true,
+        "es2021": true
+    },
+    "extends": "eslint:recommended",
+    "parserOptions": {
+        "ecmaVersion": 12
+    },
+    "rules": {
+    }
+}

+ 13 - 4
searx/static/themes/simple/gruntfile.js

@@ -9,11 +9,19 @@ 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',
+        failOnError: false
+      },
+      target: [
+        'src/js/main/*.js',
+        'src/js/head/*.js',
+        '../__common__/js/*.js'
+      ],
     },
     stylelint: {
       options: {
@@ -189,11 +197,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', [
-    'jshint',
+    'eslint',
     'stylelint',
     'copy',
     'concat',

+ 3 - 1
searx/static/themes/simple/package.json

@@ -10,9 +10,10 @@
     "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",
+    "eslint": "^7.32.0",
     "less": "^4.1.1",
     "less-plugin-clean-css": "^1.5.1",
     "stylelint": "^13.13.1",
@@ -26,6 +27,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",