Browse Source

[fix] stop less grunt runner on missing files

The less grunt runner silently ignore missing files and continue with the build[1]::

    Running "less:production" (less) task
    >> Destination css/searxng.min.css not written because no source files were found.
    >> 1 stylesheet created.
    >> 1 sourcemap created.

Add filter function that calls grunt.fail() if the scr file does not exists.

[1] https://github.com/searxng/searxng/pull/750#discussion_r784357031
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
Markus Heiser 3 years ago
parent
commit
580815a9a5
1 changed files with 23 additions and 4 deletions
  1. 23 4
      searx/static/themes/simple/gruntfile.js

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

@@ -4,6 +4,15 @@ module.exports = function (grunt) {
 
 
   const eachAsync = require('each-async');
   const eachAsync = require('each-async');
 
 
+  function file_exists (filepath) {
+    // filter function to exit grunt task with error if a (src) file not exists
+    if (!grunt.file.exists(filepath)) {
+      grunt.fail.fatal('Could not find: ' + filepath, 42);
+    } else {
+      return true;
+    }
+  }
+
   grunt.initConfig({
   grunt.initConfig({
 
 
     _brand: '../../../../src/brand',
     _brand: '../../../../src/brand',
@@ -116,10 +125,20 @@ module.exports = function (grunt) {
           sourceMapURL: (name) => { const s = name.split('/'); return s[s.length - 1] + '.map'; },
           sourceMapURL: (name) => { const s = name.split('/'); return s[s.length - 1] + '.map'; },
           outputSourceFiles: true,
           outputSourceFiles: true,
         },
         },
-        files: {
-          "css/searxng.min.css": "src/less/style.less",
-          "css/searxng-rtl.min.css": "src/less/style-rtl.less"
-        }
+        files: [
+          {
+            src: ['src/less/style.less'],
+            dest: 'css/searxng.min.css',
+            nonull: true,
+            filter: file_exists,
+          },
+          {
+            src: ['src/less/style-rtl.less'],
+            dest: 'css/searxng-rtl.min.css',
+            nonull: true,
+            filter: file_exists,
+          },
+        ],
       },
       },
     },
     },
     image: {
     image: {