diff --git a/lib/loader.js b/lib/loader.js index f43e005e..24527736 100644 --- a/lib/loader.js +++ b/lib/loader.js @@ -91,6 +91,7 @@ module.exports = function(content, map) { var moduleJs; if(query.sourceMap && result.map) { // add a SourceMap + var suffixRE = /\.[^.\/\\]*$/; // replace suffix to css for .sass or .less files map = result.map; if(map.sources) { map.sources = map.sources.map(function(source) { @@ -98,11 +99,11 @@ module.exports = function(content, map) { var p = path.relative(query.context || this.options.context, source).replace(/\\/g, "/"); if(p.indexOf("../") !== 0) p = "./" + p; - return "/" + p; + return "/" + p.replace(suffixRE,'.css'); }, this); map.sourceRoot = "webpack://"; } - map.file = map.file.split("!").pop(); + map.file = map.file.split("!").pop().replace(suffixRE,'.css'); map = JSON.stringify(map); moduleJs = "exports.push([module.id, " + cssAsString + ", \"\", " + map + "]);"; } else { diff --git a/test/sourceMapTest.js b/test/sourceMapTest.js index 9c29729a..c4660318 100644 --- a/test/sourceMapTest.js +++ b/test/sourceMapTest.js @@ -52,11 +52,11 @@ describe("source maps", function() { query: "?sourceMap" }, [ [1, ".class { a: b c d; }", "", { - file: 'test.scss', + file: 'test.css', mappings: 'AAAA,SAAS,SAAS,EAAE', names: [], sourceRoot: 'webpack://', - sources: [ '/./folder/test.scss' ], + sources: [ '/./folder/test.css' ], sourcesContent: [ '.class { a: b c d; }' ], version: 3 }]