@@ -354,19 +354,25 @@ function getImportCode(imports, options) {
354
354
for ( const item of imports ) {
355
355
const { importName, url, icss } = item ;
356
356
357
- code += options . esModule
358
- ? icss && options . modules . namedExport
359
- ? `import ${ importName } , * as ${ importName } _NAMED___ from ${ url } ;\n`
360
- : `import ${ importName } from ${ url } ;\n`
361
- : `var ${ importName } = require(${ url } );\n` ;
357
+ if ( options . esModule ) {
358
+ if ( icss && options . modules . namedExport ) {
359
+ code += `import ${
360
+ options . modules . exportOnlyLocals ? '' : `${ importName } , `
361
+ } * as ${ importName } _NAMED___ from ${ url } ;\n`;
362
+ } else {
363
+ code += `import ${ importName } from ${ url } ;\n` ;
364
+ }
365
+ } else {
366
+ code += `var ${ importName } = require(${ url } );\n` ;
367
+ }
362
368
}
363
369
364
370
return code ? `// Imports\n${ code } ` : '' ;
365
371
}
366
372
367
373
function getModuleCode ( result , api , replacements , options ) {
368
374
if ( options . modules . exportOnlyLocals === true ) {
369
- return 'var ___CSS_LOADER_EXPORT___ = {};\n ' ;
375
+ return '' ;
370
376
}
371
377
372
378
const { css, map } = result ;
@@ -423,7 +429,7 @@ function dashesCamelCase(str) {
423
429
}
424
430
425
431
function getExportCode ( exports , replacements , options ) {
426
- let code = '' ;
432
+ let code = '// Exports\n ' ;
427
433
let localsCode = '' ;
428
434
429
435
const addExportToLocalsCode = ( name , value ) => {
@@ -483,13 +489,17 @@ function getExportCode(exports, replacements, options) {
483
489
if ( localName ) {
484
490
const { importName } = item ;
485
491
486
- localsCode = localsCode . replace ( new RegExp ( replacementName , 'g' ) , ( ) =>
487
- options . modules . namedExport
488
- ? `" + ${ importName } _NAMED___[${ JSON . stringify (
489
- camelCase ( localName )
490
- ) } ] + "`
491
- : `" + ${ importName } .locals[${ JSON . stringify ( localName ) } ] + "`
492
- ) ;
492
+ localsCode = localsCode . replace ( new RegExp ( replacementName , 'g' ) , ( ) => {
493
+ if ( options . modules . namedExport ) {
494
+ return `" + ${ importName } _NAMED___[${ JSON . stringify (
495
+ camelCase ( localName )
496
+ ) } ] + "`;
497
+ } else if ( options . modules . exportOnlyLocals ) {
498
+ return `" + ${ importName } [${ JSON . stringify ( localName ) } ] + "` ;
499
+ }
500
+
501
+ return `" + ${ importName } .locals[${ JSON . stringify ( localName ) } ] + "` ;
502
+ } ) ;
493
503
} else {
494
504
localsCode = localsCode . replace (
495
505
new RegExp ( replacementName , 'g' ) ,
@@ -498,17 +508,27 @@ function getExportCode(exports, replacements, options) {
498
508
}
499
509
}
500
510
511
+ if ( options . modules . exportOnlyLocals ) {
512
+ code += options . modules . namedExport
513
+ ? localsCode
514
+ : `${
515
+ options . esModule ? 'export default' : 'module.exports ='
516
+ } {\n${ localsCode } \n};\n`;
517
+
518
+ return code ;
519
+ }
520
+
501
521
if ( localsCode ) {
502
522
code += options . modules . namedExport
503
- ? ` ${ localsCode } `
523
+ ? localsCode
504
524
: `___CSS_LOADER_EXPORT___.locals = {\n${ localsCode } \n};\n` ;
505
525
}
506
526
507
527
code += `${
508
528
options . esModule ? 'export default' : 'module.exports ='
509
529
} ___CSS_LOADER_EXPORT___;\n`;
510
530
511
- return `// Exports\n ${ code } ` ;
531
+ return code ;
512
532
}
513
533
514
534
async function resolveRequests ( resolve , context , possibleRequests ) {
0 commit comments