Skip to content

Commit 7a62572

Browse files
authored
fix: configure Vite config optimizeDeps.entries option (#12182)
* add failing test * add optimizeDeps.entries * changeset * prettier * only match + prefixed route files * try to fix test for ubuntu firefox * hope this works * nicer comment...? * move test to dev-only test app * prettier * oops forgot to undo this * add tests for each routing file * prettier
1 parent 32c0acc commit 7a62572

File tree

20 files changed

+236
-2
lines changed

20 files changed

+236
-2
lines changed

.changeset/stale-otters-yell.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@sveltejs/kit": patch
3+
---
4+
5+
fix: prevent excessive Vite dependency optimizations on navigation

packages/kit/src/exports/vite/index.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -293,6 +293,7 @@ async function kit({ svelte_config }) {
293293
cors: { preflightContinue: true }
294294
},
295295
optimizeDeps: {
296+
entries: [`${kit.files.routes}/**/+*.{svelte,js,ts}`],
296297
exclude: [
297298
'@sveltejs/kit',
298299
// exclude kit features so that libraries using them work even when they are prebundled
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
module.exports = {
2+
cjs: () => 'cjs'
3+
};
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"version": "1.0.0",
3+
"private": true,
4+
"name": "e2e-test-dep-cjs-only",
5+
"main": "index.js",
6+
"files": [
7+
"index.js"
8+
],
9+
"type": "commonjs"
10+
}

packages/kit/test/apps/dev-only/package.json

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,16 @@
1313
"@sveltejs/kit": "workspace:^",
1414
"@sveltejs/vite-plugin-svelte": "^3.0.1",
1515
"cross-env": "^7.0.3",
16+
"e2e-test-dep-page-svelte": "file:./_test_dependencies/cjs-only",
17+
"e2e-test-dep-page-universal": "file:./_test_dependencies/cjs-only",
18+
"e2e-test-dep-page-server": "file:./_test_dependencies/cjs-only",
19+
"e2e-test-dep-layout-svelte": "file:./_test_dependencies/cjs-only",
20+
"e2e-test-dep-layout-universal": "file:./_test_dependencies/cjs-only",
21+
"e2e-test-dep-layout-server": "file:./_test_dependencies/cjs-only",
22+
"e2e-test-dep-server": "file:./_test_dependencies/cjs-only",
23+
"e2e-test-dep-error": "file:./_test_dependencies/cjs-only",
24+
"e2e-test-dep-hooks": "file:./_test_dependencies/cjs-only",
25+
"e2e-test-dep-hooks-client": "file:./_test_dependencies/cjs-only",
1626
"svelte": "^4.2.10",
1727
"svelte-check": "^3.6.3",
1828
"typescript": "^5.3.3",
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
import cjs from 'e2e-test-dep-hooks-client';
2+
cjs.cjs();
3+
4+
/** @type {import("@sveltejs/kit").HandleClientError} */
5+
export function handleError({ message }) {
6+
return { message };
7+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
import cjs from 'e2e-test-dep-hooks';
2+
cjs.cjs();
3+
4+
/** @type {import("@sveltejs/kit").Reroute} */
5+
export function reroute({ url }) {
6+
return url.pathname;
7+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<script>
2+
import { onMount } from 'svelte';
3+
4+
let message = '';
5+
6+
onMount(() => {
7+
message = 'hello world!';
8+
});
9+
</script>
10+
11+
<p>{message}</p>
12+
13+
<a href="/optimize-deps">Go to /optimize-deps</a>
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<script>
2+
import cjs from 'e2e-test-dep-error';
3+
cjs.cjs();
4+
</script>
5+
6+
<slot />
7+
8+
<p>this error page uses a new dependency</p>
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
import cjs from 'e2e-test-dep-layout-universal';
2+
cjs.cjs();
3+
4+
export function load() {}

0 commit comments

Comments
 (0)