Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions packages/vite/src/node/plugins/asset.ts
Original file line number Diff line number Diff line change
Expand Up @@ -230,6 +230,7 @@ export function assetPlugin(config: ResolvedConfig): Plugin {
generateBundle(_, bundle) {
// Remove empty entry point file
let importedFiles: Set<string> | undefined
const importedCssAssets = new Set<string>()
for (const file in bundle) {
const chunk = bundle[file]
if (
Expand Down Expand Up @@ -257,6 +258,24 @@ export function assetPlugin(config: ResolvedConfig): Plugin {
delete bundle[file]
}
}
if (chunk.type === 'chunk' && chunk.viteMetadata) {
for (const importedAsset of chunk.viteMetadata.importedAssets) {
importedCssAssets.add(importedAsset)
}
for (const importedCss of chunk.viteMetadata.importedCss) {
importedCssAssets.add(importedCss)
}
}
}

// Remove CSS and assets that were not imported by any chunk
for (const file in bundle) {
const chunk = bundle[file]
if (chunk.type === 'asset' && importedCssAssets.size > 0) {
if (!importedCssAssets.has(cleanUrl(chunk.fileName))) {
delete bundle[file]
}
}
}

// do not emit assets for SSR build
Expand Down
Loading