@@ -435,7 +435,6 @@ export function cssPostPlugin(config: ResolvedConfig): Plugin {
435
435
// since output formats have no effect on the generated CSS.
436
436
let hasEmitted = false
437
437
let chunkCSSMap : Map < string , string >
438
- let cssBundleName : string
439
438
440
439
const rollupOptionsOutput = config . build . rollupOptions . output
441
440
const assetFileNames = (
@@ -463,6 +462,21 @@ export function cssPostPlugin(config: ResolvedConfig): Plugin {
463
462
}
464
463
}
465
464
465
+ function getCssBundleName ( ) {
466
+ const cached = cssBundleNameCache . get ( config )
467
+ if ( cached ) return cached
468
+
469
+ const cssBundleName = config . build . lib
470
+ ? resolveLibCssFilename (
471
+ config . build . lib ,
472
+ config . root ,
473
+ config . packageCache ,
474
+ )
475
+ : defaultCssBundleName
476
+ cssBundleNameCache . set ( config , cssBundleName )
477
+ return cssBundleName
478
+ }
479
+
466
480
return {
467
481
name : 'vite:css-post' ,
468
482
@@ -472,14 +486,6 @@ export function cssPostPlugin(config: ResolvedConfig): Plugin {
472
486
hasEmitted = false
473
487
chunkCSSMap = new Map ( )
474
488
codeSplitEmitQueue = createSerialPromiseQueue ( )
475
- cssBundleName = config . build . lib
476
- ? resolveLibCssFilename (
477
- config . build . lib ,
478
- config . root ,
479
- config . packageCache ,
480
- )
481
- : defaultCssBundleName
482
- cssBundleNameCache . set ( config , cssBundleName )
483
489
} ,
484
490
485
491
async transform ( css , id ) {
@@ -844,7 +850,7 @@ export function cssPostPlugin(config: ResolvedConfig): Plugin {
844
850
}
845
851
} else {
846
852
// resolve public URL from CSS paths, we need to use absolute paths
847
- chunkCSS = resolveAssetUrlsInCss ( chunkCSS , cssBundleName )
853
+ chunkCSS = resolveAssetUrlsInCss ( chunkCSS , getCssBundleName ( ) )
848
854
// finalizeCss is called for the aggregated chunk in generateBundle
849
855
850
856
chunkCSSMap . set ( chunk . fileName , chunkCSS )
@@ -918,7 +924,7 @@ export function cssPostPlugin(config: ResolvedConfig): Plugin {
918
924
hasEmitted = true
919
925
extractedCss = await finalizeCss ( extractedCss , true , config )
920
926
this . emitFile ( {
921
- name : cssBundleName ,
927
+ name : getCssBundleName ( ) ,
922
928
type : 'asset' ,
923
929
source : extractedCss ,
924
930
} )
0 commit comments