From c35dd1d0c968afa8b4057792201584da312979e4 Mon Sep 17 00:00:00 2001
From: Chris Hallberg <crhallberg@gmail.com>
Date: Fri, 26 May 2017 09:30:34 -0400
Subject: [PATCH] Add lessdev Grunt task (#971)

- Creates CSS source maps
- Does not compress CSS
- Can be watched with `grunt watch:lessdev`
---
 Gruntfile.js | 44 ++++++++++++++++++++++++++++++++++++--------
 1 file changed, 36 insertions(+), 8 deletions(-)

diff --git a/Gruntfile.js b/Gruntfile.js
index 8ba8ebea800..84339d1ec5c 100644
--- a/Gruntfile.js
+++ b/Gruntfile.js
@@ -28,25 +28,31 @@ module.exports = function(grunt) {
   }
 
   var fontAwesomePath = '"../../bootstrap3/css/fonts"';
+  var lessFileSettings = [{
+    expand: true,
+    src: "themes/*/less/compiled.less",
+    rename: function (dest, src) {
+      return src.replace('/less/', '/css/').replace('.less', '.css');
+    }
+  }];
 
   grunt.initConfig({
     // LESS compilation
     less: {
       compile: {
+        files: lessFileSettings,
         options: {
           paths: getLoadPaths,
           compress: true,
           modifyVars: {
             'fa-font-path': fontAwesomePath
           }
-        },
-        files: [{
-          expand: true,
-          src: "themes/*/less/compiled.less",
-          rename: function (dest, src) {
-            return src.replace('/less/', '/css/').replace('.less', '.css');
-          }
-        }]
+        }
+      }
+    },
+    // Less with maps
+    lessdev: {
+      less: {
       }
     },
     // SASS compilation
@@ -132,12 +138,34 @@ module.exports = function(grunt) {
         files: 'themes/*/less/**/*.less',
         tasks: ['less']
       },
+      lessdev: {
+        files: 'themes/*/less/**/*.less',
+        tasks: ['lessdev']
+      },
       scss: {
         files: 'themes/*/scss/**/*.scss',
         tasks: ['scss']
       }
     }
   });
+
+  grunt.registerMultiTask('lessdev', function lessWithMaps() {
+    grunt.config.set('less', {
+      dev: {
+        files: lessFileSettings,
+        options: {
+          paths: getLoadPaths,
+          sourceMap: true,
+          sourceMapFileInline: true,
+          modifyVars: {
+            'fa-font-path': fontAwesomePath
+          }
+        }
+      }
+    });
+    grunt.task.run('less');
+  });
+
   grunt.registerMultiTask('scss', function sassScan() {
     var sassConfig = {},
       path = require('path'),
-- 
GitLab