55var loaderUtils = require ( "loader-utils" ) ;
66var processCss = require ( "./processCss" ) ;
77var getImportPrefix = require ( "./getImportPrefix" ) ;
8+ var compileExports = require ( "./compile-exports" ) ;
89
910
1011module . exports = function ( content ) {
1112if ( this . cacheable ) this . cacheable ( ) ;
1213var callback = this . async ( ) ;
1314var query = loaderUtils . parseQuery ( this . query ) ;
1415var moduleMode = query . modules || query . module ;
16+ var camelCaseKeys = query . camelCase || query . camelcase ;
1517
1618processCss ( content , null , {
1719mode : moduleMode ? "local" : "global" ,
@@ -33,16 +35,12 @@ module.exports = function(content) {
3335"[" + JSON . stringify ( importItem . export ) + "] + \"" ;
3436}
3537
36- var exportJs = "" ;
37- if ( Object . keys ( result . exports ) . length > 0 ) {
38- exportJs = Object . keys ( result . exports ) . map ( function ( key ) {
39- var valueAsString = JSON . stringify ( result . exports [ key ] ) ;
40- valueAsString = valueAsString . replace ( result . importItemRegExpG , importItemMatcher . bind ( this ) ) ;
41- return "\t" + JSON . stringify ( key ) + ": " + valueAsString ;
42- } . bind ( this ) ) . join ( ",\n" ) ;
43- exportJs = "module.exports = {\n" + exportJs + "\n};" ;
38+ var exportJs = compileExports ( result , importItemMatcher . bind ( this ) , camelCaseKeys ) ;
39+ if ( exportJs ) {
40+ exportJs = "module.exports = " + exportJs ;
4441}
4542
43+
4644callback ( null , exportJs ) ;
4745} . bind ( this ) ) ;
4846} ;
0 commit comments