Browse Source

[simple theme] activate - SearXNG JavaScript Style Guide

Add the 'SearXNG JavaScript Style Guide' as one quality gate in the build chain
of the simple theme::

    make themes.simple
    make themes.simple.test

In the github CI the `themes.all` target enforce a `themes.simple`.

BTW: Remove 'jshint' left overs from 0ee316f3d

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
Markus Heiser 3 years ago
parent
commit
f287787c44
4 changed files with 16 additions and 6 deletions
  1. 1 1
      Makefile
  2. 11 0
      manage
  3. 3 4
      searx/static/themes/simple/gruntfile.js
  4. 1 1
      searx/static/themes/simple/package.json

+ 1 - 1
Makefile

@@ -89,7 +89,7 @@ MANAGE += py.build py.clean
 MANAGE += pyenv pyenv.install pyenv.uninstall
 MANAGE += pypi.upload pypi.upload.test
 MANAGE += test.yamllint test.pylint test.pep8 test.unit test.coverage test.robot test.clean
-MANAGE += themes.all themes.oscar themes.simple pygments.less
+MANAGE += themes.all themes.oscar themes.simple themes.simple.test pygments.less
 MANAGE += static.build.commit static.build.drop static.build.restore
 MANAGE += nvm.install nvm.clean nvm.status nvm.nodejs
 

+ 11 - 0
manage

@@ -714,6 +714,17 @@ themes.simple() {
     dump_return $?
 }
 
+themes.simple.test() {
+    build_msg TEST "theme: simple"
+    if ! nvm.min_node "${NODE_MINIMUM_VERSION}"; then
+        info_msg "install Node.js by NVM"
+        nvm.nodejs
+    fi
+    npm --prefix searx/static/themes/simple install
+    npm --prefix searx/static/themes/simple run test
+    dump_return $?
+}
+
 PYLINT_FILES=()
 while IFS= read -r line; do
    PYLINT_FILES+=("$line")

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

@@ -1,4 +1,4 @@
-/* jshint esversion: 6 */
+/* SPDX-License-Identifier: AGPL-3.0-or-later */
 
 module.exports = function (grunt) {
 
@@ -27,7 +27,7 @@ module.exports = function (grunt) {
     eslint: {
       options: {
         overrideConfigFile: '.eslintrc.json',
-        failOnError: false,
+        failOnError: true,
         fix: grunt.option('fix')
       },
       target: [
@@ -268,13 +268,12 @@ module.exports = function (grunt) {
   grunt.loadNpmTasks('grunt-contrib-copy');
   grunt.loadNpmTasks('grunt-contrib-uglify');
   grunt.loadNpmTasks('grunt-image');
-  grunt.loadNpmTasks('grunt-contrib-jshint');
   grunt.loadNpmTasks('grunt-contrib-less');
   grunt.loadNpmTasks('grunt-contrib-cssmin');
   grunt.loadNpmTasks('grunt-stylelint');
   grunt.loadNpmTasks('grunt-eslint');
 
-  grunt.registerTask('test', ['jshint']);
+  grunt.registerTask('test', ['eslint']);
 
   grunt.registerTask('default', [
     'eslint',

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

@@ -4,7 +4,6 @@
     "grunt": "~1.4.1",
     "grunt-contrib-copy": "^1.0.0",
     "grunt-contrib-cssmin": "^4.0.0",
-    "grunt-contrib-jshint": "~3.1.1",
     "grunt-contrib-less": "~3.0.0",
     "grunt-contrib-uglify": "~5.0.1",
     "grunt-xmlmin": "~0.1.8",
@@ -29,6 +28,7 @@
   "scripts": {
     "all": "npm install && grunt",
     "build": "grunt",
+    "test": "grunt test",
     "eslint": "grunt eslint",
     "eslint-fix": "grunt eslint --fix",
     "watch": "grunt watch",