diff --git a/.changeset/young-wolves-sing.md b/.changeset/young-wolves-sing.md new file mode 100644 index 000000000000..1abfbd3e2ea8 --- /dev/null +++ b/.changeset/young-wolves-sing.md @@ -0,0 +1,5 @@ +--- +'@sveltejs/kit': patch +--- + +fix: only remove Vite manifest when copying files diff --git a/packages/kit/src/core/adapt/builder.js b/packages/kit/src/core/adapt/builder.js index eae0bd8b7ecf..c7e57bd9ab29 100644 --- a/packages/kit/src/core/adapt/builder.js +++ b/packages/kit/src/core/adapt/builder.js @@ -181,7 +181,10 @@ export function create_builder({ }, writeClient(dest) { - return copy(`${config.kit.outDir}/output/client`, dest); + return copy(`${config.kit.outDir}/output/client`, dest, { + // avoid making vite build artefacts public + filter: (basename) => basename !== '.vite' + }); }, writePrerendered(dest) { diff --git a/packages/kit/src/core/adapt/builder.spec.js b/packages/kit/src/core/adapt/builder.spec.js index 0b69433d8951..d61fe4c70860 100644 --- a/packages/kit/src/core/adapt/builder.spec.js +++ b/packages/kit/src/core/adapt/builder.spec.js @@ -47,7 +47,9 @@ test('copy files', () => { rmSync(dest, { recursive: true, force: true }); expect(builder.writeClient(dest)).toEqual(list_files(dest).map(posixify)); - expect(list_files(`${outDir}/output/client`)).toEqual(list_files(dest)); + expect( + list_files(`${outDir}/output/client`).filter((file) => !file.startsWith('.vite/')) + ).toEqual(list_files(dest)); rmSync(dest, { recursive: true, force: true }); diff --git a/packages/kit/src/exports/vite/index.js b/packages/kit/src/exports/vite/index.js index 94f242a1e468..e1a5053f9719 100644 --- a/packages/kit/src/exports/vite/index.js +++ b/packages/kit/src/exports/vite/index.js @@ -555,7 +555,7 @@ function kit({ svelte_config }) { cssCodeSplit: true, cssMinify: initial_config.build?.minify == null ? true : !!initial_config.build.minify, // don't use the default name to avoid collisions with 'static/manifest.json' - manifest: 'vite-manifest.json', + manifest: '.vite/manifest.json', // TODO: remove this after bumping peer dep to vite 5 outDir: `${out}/${ssr ? 'server' : 'client'}`, rollupOptions: { input, @@ -805,10 +805,6 @@ function kit({ svelte_config }) { .cyan('npm run preview')} to preview your production build locally.` ); - // avoid making the manifest available to users - fs.unlinkSync(`${out}/client/${vite_config.build.manifest}`); - fs.unlinkSync(`${out}/server/${vite_config.build.manifest}`); - if (kit.adapter) { const { adapt } = await import('../../core/adapt/index.js'); await adapt(svelte_config, build_data, metadata, prerendered, prerender_map, log);