diff --git a/EditorExtensions/Misc/RTLCss/Compilers/RtlCssCompiler.cs b/EditorExtensions/Misc/RTLCss/Compilers/RtlCssCompiler.cs index 0f34afa0c..b0d9faff8 100644 --- a/EditorExtensions/Misc/RTLCss/Compilers/RtlCssCompiler.cs +++ b/EditorExtensions/Misc/RTLCss/Compilers/RtlCssCompiler.cs @@ -26,6 +26,9 @@ protected override string GetPath(string sourceFileName, string targetFileName) parameters.UriComponentsDictionary.Add("targetFileName", targetFileName); parameters.Add("mapFileName", targetFileName + ".map"); + if (GenerateSourceMap) + parameters.Add("sourceMapURL"); + if (WESettings.Instance.Css.RtlCss) parameters.Add("rtlcss"); diff --git a/EditorExtensions/Resources/server/services/srv-autoprefixer.js b/EditorExtensions/Resources/server/services/srv-autoprefixer.js index 6030e51f9..bf4acba5d 100644 --- a/EditorExtensions/Resources/server/services/srv-autoprefixer.js +++ b/EditorExtensions/Resources/server/services/srv-autoprefixer.js @@ -27,7 +27,7 @@ var processAutoprefixer = function (cssContent, mapContent, browsers, sourceFile }; result = result.process(cssContent, { - map: { prev: mapContent }, + map: { prev: mapContent, inline: false }, from: sourceFileName, to: targetFileName }); diff --git a/EditorExtensions/Resources/server/services/srv-rtlcss.js b/EditorExtensions/Resources/server/services/srv-rtlcss.js index d2afe47a1..31676fa22 100644 --- a/EditorExtensions/Resources/server/services/srv-rtlcss.js +++ b/EditorExtensions/Resources/server/services/srv-rtlcss.js @@ -7,22 +7,26 @@ var rtlcss = require("rtlcss"), //#region Process var processRtlCSS = function (cssContent, mapContent, sourceFileName, targetFileName, autoprefixer, autoprefixerBrowsers) { - if (mapContent !== true) { - mapContent = { prev: mapContent }; - } + var result, css, map = false; + //wrap source map. + if (typeof (mapContent) === 'object') + map = { prev: mapContent, inline: false }; + else if (mapContent === true) + map = { inline: false }; - var result, css, map; try { var config = configLoader.load(null, path.dirname(sourceFileName), { options: { minify: false } }); result = rtlcss.configure(config).process(cssContent, { - map: mapContent, + map: map, from: sourceFileName, to: targetFileName }); css = result.css; - map = result.map.toJSON(); + //set map if exists + if (typeof result.map !== 'undefined') + map = result.map.toJSON(); } catch (e) { // Return same css and map back so the upstream compilers can continue. return { @@ -66,9 +70,8 @@ var handleRtlCSS = function (writer, params) { writer.end(); return; } - var output = processRtlCSS(data, - true, + typeof params.sourceMapURL !== 'undefined', params.sourceFileName, params.targetFileName, params.autoprefixer, diff --git a/EditorExtensions/Resources/server/services/srv-scss.js b/EditorExtensions/Resources/server/services/srv-scss.js index 253868ae8..844e7ffd4 100644 --- a/EditorExtensions/Resources/server/services/srv-scss.js +++ b/EditorExtensions/Resources/server/services/srv-scss.js @@ -35,8 +35,9 @@ var handleSass = function(writer, params) { writer.end(); } - var css = result.css.toString(); - var map = result.map.toString(); + var map, css = result.css.toString(); + if (!options.omitSourceMapUrl) + map = result.map.toString(); if (params.autoprefixer !== undefined) { var autoprefixedOutput = require("./srv-autoprefixer")