Skip to content

Commit 982f374

Browse files
committed
Use SourceMap from chained loader
fixes webpack-contrib#22
1 parent c1b5447 commit 982f374

File tree

1 file changed

+23
-18
lines changed

1 file changed

+23
-18
lines changed

index.js

+23-18
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ var csso = require("csso");
66
var SourceMapGenerator = require("source-map").SourceMapGenerator;
77
var loaderUtils = require("loader-utils");
88

9-
module.exports = function(content) {
9+
module.exports = function(content, map) {
1010
this.cacheable && this.cacheable();
1111
var result = [];
1212
var queryString = this.query || "";
@@ -61,25 +61,30 @@ module.exports = function(content) {
6161
if(query.sourceMap && !minimize) {
6262
var cssRequest = loaderUtils.getRemainingRequest(this);
6363
var request = loaderUtils.getCurrentRequest(this);
64-
var sourceMap = new SourceMapGenerator({
65-
file: request
66-
});
67-
var lines = content.split("\n").length;
68-
for(var i = 0; i < lines; i++) {
69-
sourceMap.addMapping({
70-
generated: {
71-
line: i+1,
72-
column: 0
73-
},
74-
source: cssRequest,
75-
original: {
76-
line: i+1,
77-
column: 0
78-
},
64+
if(!map) {
65+
var sourceMap = new SourceMapGenerator({
66+
file: request
7967
});
68+
var lines = content.split("\n").length;
69+
for(var i = 0; i < lines; i++) {
70+
sourceMap.addMapping({
71+
generated: {
72+
line: i+1,
73+
column: 0
74+
},
75+
source: cssRequest,
76+
original: {
77+
line: i+1,
78+
column: 0
79+
},
80+
});
81+
}
82+
sourceMap.setSourceContent(cssRequest, content);
83+
map = JSON.stringify(sourceMap.toJSON());
84+
} else if(typeof map !== "string") {
85+
map = JSON.stringify(map);
8086
}
81-
sourceMap.setSourceContent(cssRequest, content);
82-
result.push("exports.push([module.id, " + css + ", \"\", " + JSON.stringify(sourceMap.toJSON()) + "]);");
87+
result.push("exports.push([module.id, " + css + ", \"\", " + map + "]);");
8388
} else {
8489
result.push("exports.push([module.id, " + css + ", \"\"]);");
8590
}

0 commit comments

Comments
 (0)