fix: avoid duplicate chunk emission

This commit is contained in:
alex8088 2025-10-29 21:22:12 +08:00
parent ae57b2489a
commit 7c7f31b2a3
2 changed files with 4 additions and 8 deletions

View File

@ -48,7 +48,7 @@ export default function isolateEntriesPlugin(userConfig: InlineConfig): Plugin {
const re = await bundleEntryFile(entry, userConfig, this.meta.watchMode) const re = await bundleEntryFile(entry, userConfig, this.meta.watchMode)
const outputChunks = re.bundles.output const outputChunks = re.bundles.output
for (const chunk of outputChunks) { for (const chunk of outputChunks) {
if (chunk.type === 'asset' && assetCache.has(chunk.fileName)) { if (assetCache.has(chunk.fileName)) {
continue continue
} }
this.emitFile({ this.emitFile({
@ -56,10 +56,8 @@ export default function isolateEntriesPlugin(userConfig: InlineConfig): Plugin {
fileName: chunk.fileName, fileName: chunk.fileName,
source: chunk.type === 'chunk' ? chunk.code : chunk.source source: chunk.type === 'chunk' ? chunk.code : chunk.source
}) })
if (chunk.type === 'asset') {
assetCache.add(chunk.fileName) assetCache.add(chunk.fileName)
} }
}
for (const id of re.watchFiles) { for (const id of re.watchFiles) {
watchFiles.add(id) watchFiles.add(id)
} }

View File

@ -31,7 +31,7 @@ export default function modulePathPlugin(config: InlineConfig): Plugin {
source: outputChunk.code source: outputChunk.code
}) })
for (const chunk of outputChunks) { for (const chunk of outputChunks) {
if (chunk.type === 'asset' && assetCache.has(chunk.fileName)) { if (assetCache.has(chunk.fileName)) {
continue continue
} }
this.emitFile({ this.emitFile({
@ -39,10 +39,8 @@ export default function modulePathPlugin(config: InlineConfig): Plugin {
fileName: chunk.fileName, fileName: chunk.fileName,
source: chunk.type === 'chunk' ? chunk.code : chunk.source source: chunk.type === 'chunk' ? chunk.code : chunk.source
}) })
if (chunk.type === 'asset') {
assetCache.add(chunk.fileName) assetCache.add(chunk.fileName)
} }
}
for (const id of re.watchFiles) { for (const id of re.watchFiles) {
this.addWatchFile(id) this.addWatchFile(id)
} }