diff --git a/packages/vite/src/node/plugins/asset.ts b/packages/vite/src/node/plugins/asset.ts index 622abc6f17c370..15a55a36336869 100644 --- a/packages/vite/src/node/plugins/asset.ts +++ b/packages/vite/src/node/plugins/asset.ts @@ -90,7 +90,7 @@ export function renderAssetUrlInJS( s ||= new MagicString(code) const [full, referenceId, postfix = ''] = match const file = ctx.getFileName(referenceId) - getChunkMetadata(chunk.fileName)!.importedAssets.add(cleanUrl(file)) + getChunkMetadata(chunk.name)!.importedAssets.add(cleanUrl(file)) const filename = file + postfix const replacement = toOutputFilePathInJS( filename, diff --git a/packages/vite/src/node/plugins/css.ts b/packages/vite/src/node/plugins/css.ts index c9a0f576fb981e..a70de15f9bfd52 100644 --- a/packages/vite/src/node/plugins/css.ts +++ b/packages/vite/src/node/plugins/css.ts @@ -599,7 +599,7 @@ export function cssPostPlugin(config: ResolvedConfig): Plugin { // replace asset url references with resolved url. chunkCSS = chunkCSS.replace(assetUrlRE, (_, fileHash, postfix = '') => { const filename = this.getFileName(fileHash) + postfix - getChunkMetadata(chunk.fileName)!.importedAssets.add(cleanUrl(filename)) + getChunkMetadata(chunk.name)!.importedAssets.add(cleanUrl(filename)) return encodeURIPath( toOutputFilePathInCss( filename, @@ -768,7 +768,7 @@ export function cssPostPlugin(config: ResolvedConfig): Plugin { generatedAssets .get(config)! .set(referenceId, { originalName: originalFilename, isEntry }) - getChunkMetadata(chunk.fileName)!.importedCss.add(this.getFileName(referenceId)) + getChunkMetadata(chunk.name)!.importedCss.add(this.getFileName(referenceId)) } else if (!config.build.ssr) { // legacy build and inline css @@ -828,9 +828,9 @@ export function cssPostPlugin(config: ResolvedConfig): Plugin { }, augmentChunkHash(chunk) { - if (getChunkMetadata(chunk.fileName)?.importedCss.size) { + if (getChunkMetadata(chunk.name)?.importedCss.size) { let hash = '' - for (const id of getChunkMetadata(chunk.fileName)!.importedCss) { + for (const id of getChunkMetadata(chunk.name)!.importedCss) { hash += id } return hash @@ -923,10 +923,10 @@ export function cssPostPlugin(config: ResolvedConfig): Plugin { if (pureCssChunkNames.includes(file)) { const { importedCss, importedAssets } = getChunkMetadata((bundle[file] as OutputChunk).fileName)! importedCss.forEach((file) => - getChunkMetadata(chunk.fileName)!.importedCss.add(file), + getChunkMetadata(chunk.name)!.importedCss.add(file), ) importedAssets.forEach((file) => - getChunkMetadata(chunk.fileName)!.importedAssets.add(file), + getChunkMetadata(chunk.name)!.importedAssets.add(file), ) chunkImportsPureCssChunk = true return false diff --git a/packages/vite/src/node/plugins/html.ts b/packages/vite/src/node/plugins/html.ts index bd4d55f9555db6..ac3431b6c6704c 100644 --- a/packages/vite/src/node/plugins/html.ts +++ b/packages/vite/src/node/plugins/html.ts @@ -759,7 +759,7 @@ export function buildHtmlPlugin(config: ResolvedConfig): Plugin { }) } - getChunkMetadata(chunk.fileName)!.importedCss.forEach((file) => { + getChunkMetadata(chunk.name)!.importedCss.forEach((file) => { if (!seen.has(file)) { seen.add(file) tags.push({ @@ -907,7 +907,7 @@ export function buildHtmlPlugin(config: ResolvedConfig): Plugin { result = result.replace(assetUrlRE, (_, fileHash, postfix = '') => { const file = this.getFileName(fileHash) if (chunk) { - getChunkMetadata(chunk.fileName)!.importedAssets.add(cleanUrl(file)) + getChunkMetadata(chunk.name)!.importedAssets.add(cleanUrl(file)) } return encodeURIPath(toOutputAssetFilePath(file)) + postfix }) diff --git a/packages/vite/src/node/plugins/importAnalysisBuild.ts b/packages/vite/src/node/plugins/importAnalysisBuild.ts index 9c4c31b6387973..d6c2fd4bebf0a0 100644 --- a/packages/vite/src/node/plugins/importAnalysisBuild.ts +++ b/packages/vite/src/node/plugins/importAnalysisBuild.ts @@ -543,7 +543,7 @@ export function buildImportAnalysisPlugin(config: ResolvedConfig): Plugin { chunk.imports.forEach(addDeps) // Ensure that the css imported by current chunk is loaded after the dependencies. // So the style of current chunk won't be overwritten unexpectedly. - getChunkMetadata(chunk.fileName)!.importedCss.forEach((file) => { + getChunkMetadata(chunk.name)!.importedCss.forEach((file) => { deps.add(file) }) } @@ -552,8 +552,8 @@ export function buildImportAnalysisPlugin(config: ResolvedConfig): Plugin { removedPureCssFilesCache.get(config)! const chunk = removedPureCssFiles.get(filename) if (chunk) { - if (getChunkMetadata(chunk.fileName)!.importedCss.size) { - getChunkMetadata(chunk.fileName)!.importedCss.forEach((file) => { + if (getChunkMetadata(chunk.name)!.importedCss.size) { + getChunkMetadata(chunk.name)!.importedCss.forEach((file) => { deps.add(file) }) hasRemovedPureCssChunk = true diff --git a/packages/vite/src/node/plugins/manifest.ts b/packages/vite/src/node/plugins/manifest.ts index c2f28383371cc9..8a88fcca6333e4 100644 --- a/packages/vite/src/node/plugins/manifest.ts +++ b/packages/vite/src/node/plugins/manifest.ts @@ -89,11 +89,11 @@ export function manifestPlugin(config: ResolvedConfig): Plugin { } } - if (getChunkMetadata(chunk.fileName)?.importedCss.size) { - manifestChunk.css = [...getChunkMetadata(chunk.fileName)!.importedCss] + if (getChunkMetadata(chunk.name)?.importedCss.size) { + manifestChunk.css = [...getChunkMetadata(chunk.name)!.importedCss] } - if (getChunkMetadata(chunk.fileName)?.importedAssets.size) { - manifestChunk.assets = [...getChunkMetadata(chunk.fileName)!.importedAssets] + if (getChunkMetadata(chunk.name)?.importedAssets.size) { + manifestChunk.assets = [...getChunkMetadata(chunk.name)!.importedAssets] } return manifestChunk diff --git a/packages/vite/src/node/plugins/metadata.ts b/packages/vite/src/node/plugins/metadata.ts index 758fa356c562d1..a32acb01a1d3df 100644 --- a/packages/vite/src/node/plugins/metadata.ts +++ b/packages/vite/src/node/plugins/metadata.ts @@ -17,7 +17,7 @@ export function metadataPlugin(): Plugin { async renderChunk(_code, chunk) { // Since the chunk come from rust side, mutate it directly will not sync back to rust side. // The next usage will lost the metadata - chunkMetadataMap.set(chunk.fileName, { + chunkMetadataMap.set(chunk.name, { importedAssets: new Set(), importedCss: new Set(), }) @@ -26,6 +26,6 @@ export function metadataPlugin(): Plugin { } } -export function getChunkMetadata(fileName: string): ChunkMetadata | undefined { - return chunkMetadataMap.get(fileName) +export function getChunkMetadata(name: string): ChunkMetadata | undefined { + return chunkMetadataMap.get(name) } \ No newline at end of file diff --git a/packages/vite/src/node/ssr/ssrManifestPlugin.ts b/packages/vite/src/node/ssr/ssrManifestPlugin.ts index 362a600982d82c..152dc46f607576 100644 --- a/packages/vite/src/node/ssr/ssrManifestPlugin.ts +++ b/packages/vite/src/node/ssr/ssrManifestPlugin.ts @@ -36,11 +36,11 @@ export function ssrManifestPlugin(config: ResolvedConfig): Plugin { mappedChunks.push(joinUrlSegments(base, chunk.fileName)) // tags for entry chunks are already generated in static HTML, // so we only need to record info for non-entry chunks. - getChunkMetadata(chunk.fileName)!.importedCss.forEach((file) => { + getChunkMetadata(chunk.name)!.importedCss.forEach((file) => { mappedChunks.push(joinUrlSegments(base, file)) }) } - getChunkMetadata(chunk.fileName)!.importedAssets.forEach((file) => { + getChunkMetadata(chunk.name)!.importedAssets.forEach((file) => { mappedChunks.push(joinUrlSegments(base, file)) }) } @@ -78,7 +78,7 @@ export function ssrManifestPlugin(config: ResolvedConfig): Plugin { analyzed.add(filename) const chunk = bundle[filename] as OutputChunk | undefined if (chunk) { - getChunkMetadata(chunk.fileName)!.importedCss.forEach((file) => { + getChunkMetadata(chunk.name)!.importedCss.forEach((file) => { deps.push(joinUrlSegments(base, file)) // TODO:base }) chunk.imports.forEach(addDeps)