Skip to content

Commit 5d6dc49

Browse files
authored
fix(lib): only resolve css bundle name if have styles (#18530)
1 parent a50ff60 commit 5d6dc49

File tree

1 file changed

+17
-11
lines changed
  • packages/vite/src/node/plugins

1 file changed

+17
-11
lines changed

packages/vite/src/node/plugins/css.ts

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -435,7 +435,6 @@ export function cssPostPlugin(config: ResolvedConfig): Plugin {
435435
// since output formats have no effect on the generated CSS.
436436
let hasEmitted = false
437437
let chunkCSSMap: Map<string, string>
438-
let cssBundleName: string
439438

440439
const rollupOptionsOutput = config.build.rollupOptions.output
441440
const assetFileNames = (
@@ -463,6 +462,21 @@ export function cssPostPlugin(config: ResolvedConfig): Plugin {
463462
}
464463
}
465464

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+
466480
return {
467481
name: 'vite:css-post',
468482

@@ -472,14 +486,6 @@ export function cssPostPlugin(config: ResolvedConfig): Plugin {
472486
hasEmitted = false
473487
chunkCSSMap = new Map()
474488
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)
483489
},
484490

485491
async transform(css, id) {
@@ -844,7 +850,7 @@ export function cssPostPlugin(config: ResolvedConfig): Plugin {
844850
}
845851
} else {
846852
// resolve public URL from CSS paths, we need to use absolute paths
847-
chunkCSS = resolveAssetUrlsInCss(chunkCSS, cssBundleName)
853+
chunkCSS = resolveAssetUrlsInCss(chunkCSS, getCssBundleName())
848854
// finalizeCss is called for the aggregated chunk in generateBundle
849855

850856
chunkCSSMap.set(chunk.fileName, chunkCSS)
@@ -918,7 +924,7 @@ export function cssPostPlugin(config: ResolvedConfig): Plugin {
918924
hasEmitted = true
919925
extractedCss = await finalizeCss(extractedCss, true, config)
920926
this.emitFile({
921-
name: cssBundleName,
927+
name: getCssBundleName(),
922928
type: 'asset',
923929
source: extractedCss,
924930
})

0 commit comments

Comments
 (0)