@@ -6,7 +6,7 @@ var csso = require("csso");
66var SourceMapGenerator = require ( "source-map" ) . SourceMapGenerator ;
77var 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