diff --git a/lib/loader.js b/lib/loader.js index 38469a8d7..ea4d8372a 100644 --- a/lib/loader.js +++ b/lib/loader.js @@ -19,10 +19,12 @@ module.exports = function(content, map) { var sourceMap = query.sourceMap || false; var resolve = createResolver(query.alias); - if(sourceMap && map !== null && typeof map !== "string") { - map = JSON.stringify(map); + if(sourceMap) { + if (map && typeof map !== "string") { + map = JSON.stringify(map); + } } else { - // Some loaders (example `postcss-loader: 1`) always generate source map, we should remove their + // Some loaders (example `"postcss-loader": "1.x.x"`) always generates source map, we should remove it map = null; } @@ -32,7 +34,8 @@ module.exports = function(content, map) { to: loaderUtils.getCurrentRequest(this), query: query, minimize: this.minimize, - loaderContext: this + loaderContext: this, + sourceMap: sourceMap }, function(err, result) { if(err) return callback(err); diff --git a/lib/processCss.js b/lib/processCss.js index 2c2fea6d0..34017d5e2 100644 --- a/lib/processCss.js +++ b/lib/processCss.js @@ -200,12 +200,12 @@ module.exports = function processCss(inputSource, inputMap, options, callback) { // we need a prefix to avoid path rewriting of PostCSS from: "/css-loader!" + options.from, to: options.to, - map: { + map: options.sourceMap ? { prev: inputMap, sourcesContent: true, inline: false, annotation: false - } + } : null }).then(function(result) { callback(null, { source: result.css,