@@ -77,31 +77,39 @@ var parserPlugin = postcss.plugin("css-loader-parser", function(options) {
77
77
exports [ exportName ] = replaceImportsInString ( exports [ exportName ] ) ;
78
78
} ) ;
79
79
80
+ function processNode ( item ) {
81
+ switch ( item . type ) {
82
+ case "value" :
83
+ item . nodes . forEach ( processNode ) ;
84
+ break ;
85
+ case "nested-item" :
86
+ item . nodes . forEach ( processNode ) ;
87
+ break ;
88
+ case "item" :
89
+ var importIndex = imports [ "$" + item . name ] ;
90
+ if ( typeof importIndex === "number" ) {
91
+ item . name = "___CSS_LOADER_IMPORT___" + importIndex + "___" ;
92
+ }
93
+ break ;
94
+ case "url" :
95
+ if ( ! / ^ # / . test ( item . url ) && loaderUtils . isUrlRequest ( item . url , options . root ) ) {
96
+ item . stringType = "" ;
97
+ delete item . innerSpacingBefore ;
98
+ delete item . innerSpacingAfter ;
99
+ var url = item . url ;
100
+ item . url = "___CSS_LOADER_URL___" + urlItems . length + "___" ;
101
+ urlItems . push ( {
102
+ url : url
103
+ } ) ;
104
+ }
105
+ break ;
106
+ }
107
+ }
108
+
80
109
css . walkDecls ( function ( decl ) {
81
110
var values = Tokenizer . parseValues ( decl . value ) ;
82
111
values . nodes . forEach ( function ( value ) {
83
- value . nodes . forEach ( function ( item ) {
84
- switch ( item . type ) {
85
- case "item" :
86
- var importIndex = imports [ "$" + item . name ] ;
87
- if ( typeof importIndex === "number" ) {
88
- item . name = "___CSS_LOADER_IMPORT___" + importIndex + "___" ;
89
- }
90
- break ;
91
- case "url" :
92
- if ( ! / ^ # / . test ( item . url ) && loaderUtils . isUrlRequest ( item . url , options . root ) ) {
93
- item . stringType = "" ;
94
- delete item . innerSpacingBefore ;
95
- delete item . innerSpacingAfter ;
96
- var url = item . url ;
97
- item . url = "___CSS_LOADER_URL___" + urlItems . length + "___" ;
98
- urlItems . push ( {
99
- url : url
100
- } ) ;
101
- }
102
- break ;
103
- }
104
- } ) ;
112
+ value . nodes . forEach ( processNode ) ;
105
113
} ) ;
106
114
decl . value = Tokenizer . stringifyValues ( values ) ;
107
115
} ) ;
0 commit comments