From eda586920036e4b19dd781bee4467e70f8c78001 Mon Sep 17 00:00:00 2001
From: Owen Leonard <oleonard@myacpl.org>
Date: Mon, 23 Nov 2020 14:15:14 +0000
Subject: [PATCH] Bug 27072: Don't process staff interface CSS with rtlcss

This patch changes Koha's gulpfile to add a check for the "OPAC" context
before using rtlcss to automatically build right-to-left versions of
CSS.

To test, apply the patch and test the process of building CSS for both
the OPAC and staff client:

- "yarn css --view opac" : This should build unminified CSS for the
    OPAC, including map files in bootstrap/css/maps

- "yarn build --view opac" : This should build minified CSS for the
  OPAC and generate the RTL versions.

- "yarn css" : This should build unminified CSS for the staff
  interface, including map files in prog/css/maps.

- "yarn build" : This should build minified CSS for the
   staff interface, with no creation of RTL versions.
---
 gulpfile.js | 32 ++++++++++++++++++++++----------
 1 file changed, 22 insertions(+), 10 deletions(-)

diff --git a/gulpfile.js b/gulpfile.js
index 1a37a15e3c..cc3ba2ee17 100644
--- a/gulpfile.js
+++ b/gulpfile.js
@@ -42,35 +42,47 @@ var sassOptions = {
 
 // CSS processing for development
 function css() {
-    return src(css_base + "/src/**/*.scss")
+    var stream = src(css_base + "/src/**/*.scss")
         .pipe(sourcemaps.init())
         .pipe(sass(sassOptions).on('error', sass.logError))
         .pipe(autoprefixer())
-        .pipe(sourcemaps.write('./maps'))
-        .pipe(dest(css_base))
+        .pipe(dest(css_base));
 
-        .pipe(rtlcss())
-        .pipe(rename({
-            suffix: '-rtl'
-        })) // Append "-rtl" to the filename.
+    if (args.view == "opac") {
+        stream = stream
+            .pipe(rtlcss())
+            .pipe(rename({
+                suffix: '-rtl'
+            })) // Append "-rtl" to the filename.
+            .pipe(dest(css_base));
+    }
+
+    stream = stream.pipe(sourcemaps.write('./maps'))
         .pipe(dest(css_base));
+
+    return stream;
+
 }
 
 // CSS processing for production
 function build() {
-    return src(css_base + "/src/**/*.scss")
+    var stream = src(css_base + "/src/**/*.scss")
         .pipe(sass(sassOptions).on('error', sass.logError))
         .pipe(autoprefixer())
         .pipe(cssnano({
             zindex: false
         }))
-        .pipe(dest(css_base))
+        .pipe(dest(css_base));
 
-        .pipe(rtlcss())
+    if( args.view == "opac" ){
+        stream = stream.pipe(rtlcss())
         .pipe(rename({
             suffix: '-rtl'
         })) // Append "-rtl" to the filename.
         .pipe(dest(css_base));
+    }
+
+    return stream;
 }
 
 const poTasks = {
-- 
2.11.0