From 580815a9a566acc3c6c3c1839fccc0eda229ddc6 Mon Sep 17 00:00:00 2001 From: Markus Heiser Date: Fri, 14 Jan 2022 13:16:24 +0100 Subject: [PATCH] [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 --- searx/static/themes/simple/gruntfile.js | 27 +++++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/searx/static/themes/simple/gruntfile.js b/searx/static/themes/simple/gruntfile.js index 446c52335..abb2dc44d 100644 --- a/searx/static/themes/simple/gruntfile.js +++ b/searx/static/themes/simple/gruntfile.js @@ -4,6 +4,15 @@ module.exports = function (grunt) { 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({ _brand: '../../../../src/brand', @@ -116,10 +125,20 @@ module.exports = function (grunt) { sourceMapURL: (name) => { const s = name.split('/'); return s[s.length - 1] + '.map'; }, 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: {