diff --git a/packages/playground/legacy/__tests__/legacy.spec.ts b/packages/playground/legacy/__tests__/legacy.spec.ts index 7263174e84b074..f1e317246ee852 100644 --- a/packages/playground/legacy/__tests__/legacy.spec.ts +++ b/packages/playground/legacy/__tests__/legacy.spec.ts @@ -1,4 +1,4 @@ -import { isBuild, untilUpdated } from '../../testUtils' +import { isBuild, readManifest, untilUpdated } from '../../testUtils' test('should work', async () => { expect(await page.textContent('#app')).toMatch('Hello') @@ -44,3 +44,13 @@ test('generates assets', async () => { true ) }) + +if (isBuild) { + test('should generate correct manifest', async () => { + const manifest = readManifest() + expect(manifest['../../../vite/legacy-polyfills']).toBeDefined() + expect(manifest['../../../vite/legacy-polyfills'].src).toBe( + '../../../vite/legacy-polyfills' + ) + }) +} diff --git a/packages/playground/legacy/vite.config.js b/packages/playground/legacy/vite.config.js index 3d7d6b37d11451..da8addec974673 100644 --- a/packages/playground/legacy/vite.config.js +++ b/packages/playground/legacy/vite.config.js @@ -10,6 +10,7 @@ module.exports = { ], build: { + manifest: true, rollupOptions: { output: { chunkFileNames(chunkInfo) { diff --git a/packages/vite/src/node/plugins/manifest.ts b/packages/vite/src/node/plugins/manifest.ts index 782bc317a2c5af..2ce4869e67d98d 100644 --- a/packages/vite/src/node/plugins/manifest.ts +++ b/packages/vite/src/node/plugins/manifest.ts @@ -41,7 +41,7 @@ export function manifestPlugin(config: ResolvedConfig): Plugin { const ext = path.extname(name) name = name.slice(0, -ext.length) + `-legacy` + ext } - return name + return name.replace(/\0/g, '') } else { return `_` + path.basename(chunk.fileName) }