@@ -99,12 +99,11 @@ class CssGenerator extends Generator {
9999 // Iterate through module.dependencies to maintain source order
100100 for ( const dep of module . dependencies ) {
101101 if ( dep instanceof CssImportDependency ) {
102- /** @type {CssModule } */
103102 const depModule = /** @type {CssModule } */ ( moduleGraph . getModule ( dep ) ) ;
104103 const importVar = generateContext . runtimeTemplate . moduleExports ( {
105104 module : depModule ,
106105 chunkGraph : generateContext . chunkGraph ,
107- request : /** @type { CssModule } */ ( depModule ) . userRequest ,
106+ request : depModule . userRequest ,
108107 weak : false ,
109108 runtimeRequirements : generateContext . runtimeRequirements
110109 } ) ;
@@ -115,16 +114,12 @@ class CssGenerator extends Generator {
115114 ) ;
116115 parts . push ( {
117116 expr : `(${ RuntimeGlobals . compatGetDefaultExport } (${ importVar } )() || "")` ,
118- type : /** @type {CssParserExportType } */ (
119- /** @type {CssModule } */ ( depModule ) . exportType
120- )
117+ type : /** @type {CssParserExportType } */ ( depModule . exportType )
121118 } ) ;
122119 } else {
123120 parts . push ( {
124121 expr : importVar ,
125- type : /** @type {CssParserExportType } */ (
126- /** @type {CssModule } */ ( depModule ) . exportType
127- )
122+ type : /** @type {CssParserExportType } */ ( depModule . exportType )
128123 } ) ;
129124 }
130125 }
@@ -353,7 +348,8 @@ class CssGenerator extends Generator {
353348 module ,
354349 generateContext
355350 ) ;
356- const jsLiteral = cssSource
351+
352+ let jsLiteral = cssSource
357353 ? this . _cssSourceToJsStringLiteral ( cssSource , module )
358354 : new RawSource ( '""' ) ;
359355
@@ -367,19 +363,33 @@ class CssGenerator extends Generator {
367363 ) ;
368364
369365 const args = importCode . map ( ( part ) => part . expr ) ;
370- return new ConcatSource (
366+
367+ jsLiteral = new ConcatSource (
371368 `${ RuntimeGlobals . cssMergeStyleSheets } ([${ args . join ( ", " ) } , ` ,
372369 jsLiteral ,
373370 "])"
374371 ) ;
372+ } else {
373+ jsLiteral = new ConcatSource (
374+ `${ generateContext . runtimeTemplate . concatenation (
375+ ...importCode
376+ ) } + `,
377+ jsLiteral
378+ ) ;
375379 }
376- return new ConcatSource (
377- `${ generateContext . runtimeTemplate . concatenation (
378- ...importCode
379- ) } + `,
380+ }
381+
382+ if (
383+ exportType === "css-style-sheet" &&
384+ typeof ( /** @type {BuildInfo } */ ( module . buildInfo ) . charset ) !==
385+ "undefined"
386+ ) {
387+ jsLiteral = new ConcatSource (
388+ `'@charset "${ /** @type {BuildInfo } */ ( module . buildInfo ) . charset } ";\\n' + ` ,
380389 jsLiteral
381390 ) ;
382391 }
392+
383393 return jsLiteral ;
384394 } ;
385395 /**
0 commit comments