@@ -21,7 +21,6 @@ import {
2121 getModulesPlugins ,
2222 normalizeSourceMap ,
2323 shouldUseModulesPlugins ,
24- sortByName ,
2524} from './utils' ;
2625
2726export default function loader ( content , map , meta ) {
@@ -110,7 +109,13 @@ export default function loader(content, map, meta) {
110109 this . emitWarning ( new Warning ( warning ) ) ;
111110 }
112111
113- const imports = [ ] ;
112+ const imports = {
113+ CSS_LOADER_ICSS_IMPORT : [ ] ,
114+ CSS_LOADER_AT_RULE_IMPORT : [ ] ,
115+ CSS_LOADER_GET_URL_IMPORT : [ ] ,
116+ CSS_LOADER_URL_IMPORT : [ ] ,
117+ CSS_LOADER_URL_REPLACEMENT : [ ] ,
118+ } ;
114119 const apiImports = [ ] ;
115120 const urlReplacements = [ ] ;
116121 const icssReplacements = [ ] ;
@@ -120,7 +125,7 @@ export default function loader(content, map, meta) {
120125 // eslint-disable-next-line default-case
121126 switch ( message . type ) {
122127 case 'import' :
123- imports . push ( message . value ) ;
128+ imports [ message . value . key ] . push ( message . value ) ;
124129 break ;
125130 case 'api-import' :
126131 apiImports . push ( message . value ) ;
@@ -137,16 +142,13 @@ export default function loader(content, map, meta) {
137142 }
138143 }
139144
140- imports . sort ( ( a , b ) => a . index - b . index ) ;
141145 apiImports . sort ( ( a , b ) => a . index - b . index ) ;
142146
143- const sortedImports = sortByName ( imports , [
144- 'CSS_LOADER_ICSS_IMPORT' ,
145- 'CSS_LOADER_AT_RULE_IMPORT' ,
146- 'CSS_LOADER_GET_URL_IMPORT' ,
147- 'CSS_LOADER_URL_IMPORT' ,
148- 'CSS_LOADER_URL_REPLACEMENT' ,
149- ] ) ;
147+ const sortedImports = Object . keys ( imports ) . reduce ( ( accumulator , key ) => {
148+ return accumulator . concat (
149+ imports [ key ] . sort ( ( a , b ) => a . index - b . index )
150+ ) ;
151+ } , [ ] ) ;
150152
151153 const { localsConvention } = options ;
152154 const esModule =
0 commit comments