Skip to content

Commit e3344b4

Browse files
authored
feat!: vite 6 support (#1020)
1 parent e262266 commit e3344b4

File tree

38 files changed

+413
-402
lines changed

38 files changed

+413
-402
lines changed

.changeset/itchy-lions-whisper.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@sveltejs/vite-plugin-svelte': minor
3+
---
4+
5+
Add `esm-env` to `ssr.noExternal` by default to resolve its conditions with Vite

.changeset/light-phones-happen.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@sveltejs/vite-plugin-svelte': major
3+
---
4+
5+
Handle Vite 6 breaking change and remove Vite 5 handling

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@
5353
"svelte-eslint-parser": "^0.43.0",
5454
"typescript": "^5.6.3",
5555
"typescript-eslint": "^8.15.0",
56-
"vite": "^5.4.11",
56+
"vite": "^6.0.0-beta.10",
5757
"vitest": "^2.1.5"
5858
},
5959
"lint-staged": {

packages/e2e-tests/autoprefixer-browerslist/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
"postcss-load-config": "^6.0.1",
1818
"svelte": "^5.2.4",
1919
"svelte-preprocess": "^6.0.3",
20-
"vite": "^5.4.11"
20+
"vite": "^6.0.0-beta.10"
2121
},
2222
"type": "module"
2323
}

packages/e2e-tests/configfile-custom/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
"devDependencies": {
1414
"@sveltejs/vite-plugin-svelte": "workspace:^",
1515
"svelte": "^5.2.4",
16-
"vite": "^5.4.11"
16+
"vite": "^6.0.0-beta.10"
1717
},
1818
"type": "module"
1919
}

packages/e2e-tests/configfile-esm/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
"@sveltejs/vite-plugin-svelte": "workspace:^",
1515
"svelte": "^5.2.4",
1616
"svelte-preprocess": "^6.0.3",
17-
"vite": "^5.4.11"
17+
"vite": "^6.0.0-beta.10"
1818
},
1919
"type": "module"
2020
}

packages/e2e-tests/css-dev-sourcemap/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,6 @@
1212
"@sveltejs/vite-plugin-svelte": "workspace:^",
1313
"sass": "^1.81.0",
1414
"svelte": "^5.2.4",
15-
"vite": "^5.4.11"
15+
"vite": "^6.0.0-beta.10"
1616
}
1717
}

packages/e2e-tests/custom-extensions/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
"devDependencies": {
1111
"@sveltejs/vite-plugin-svelte": "workspace:^",
1212
"svelte": "^5.2.4",
13-
"vite": "^5.4.11"
13+
"vite": "^6.0.0-beta.10"
1414
},
1515
"type": "module"
1616
}

packages/e2e-tests/dynamic-compile-options/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
"devDependencies": {
1111
"@sveltejs/vite-plugin-svelte": "workspace:^",
1212
"svelte": "^5.2.4",
13-
"vite": "^5.4.11"
13+
"vite": "^6.0.0-beta.10"
1414
},
1515
"type": "module"
1616
}

packages/e2e-tests/env/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
"devDependencies": {
1111
"@sveltejs/vite-plugin-svelte": "workspace:^",
1212
"svelte": "^5.2.4",
13-
"vite": "^5.4.11"
13+
"vite": "^6.0.0-beta.10"
1414
},
1515
"type": "module"
1616
}

packages/e2e-tests/hmr/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
"e2e-test-dep-vite-plugins": "file:../_test_dependencies/vite-plugins",
1616
"node-fetch": "^3.3.2",
1717
"svelte": "^5.2.4",
18-
"vite": "^5.4.11"
18+
"vite": "^6.0.0-beta.10"
1919
},
2020
"type": "module"
2121
}

packages/e2e-tests/import-queries/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,6 @@
1212
"@sveltejs/vite-plugin-svelte": "workspace:^",
1313
"sass": "^1.81.0",
1414
"svelte": "^5.2.4",
15-
"vite": "^5.4.11"
15+
"vite": "^6.0.0-beta.10"
1616
}
1717
}

packages/e2e-tests/inspector-kit/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
"@sveltejs/kit": "^2.8.1",
1212
"@sveltejs/vite-plugin-svelte": "workspace:^",
1313
"svelte": "^5.2.4",
14-
"vite": "^5.4.11"
14+
"vite": "^6.0.0-beta.10"
1515
},
1616
"type": "module"
1717
}

packages/e2e-tests/inspector-vite/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,6 @@
1111
"devDependencies": {
1212
"@sveltejs/vite-plugin-svelte": "workspace:^",
1313
"svelte": "^5.2.4",
14-
"vite": "^5.4.11"
14+
"vite": "^6.0.0-beta.10"
1515
}
1616
}

packages/e2e-tests/kit-node/__tests__/kit.spec.ts

+5-3
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import {
1616

1717
import glob from 'tiny-glob';
1818
import path from 'node:path';
19+
import { defaultClientConditions, defaultClientMainFields } from 'vite';
1920
import { describe, expect, it } from 'vitest';
2021

2122
describe('kit-node', () => {
@@ -285,7 +286,8 @@ describe('kit-node', () => {
285286
'/^svelte\\//', // serialized with toString
286287
'e2e-test-dep-svelte-api-only',
287288
'svelte-i18n',
288-
'esm-env',
289+
'esm-env', // first added by svelte-kit
290+
'esm-env', // second added by vite-plugin-svelte
289291
'@sveltejs/kit'
290292
],
291293
`ssr.noExternal in ${filename}`
@@ -346,12 +348,12 @@ describe('kit-node', () => {
346348
expectArrayEqual(config.resolve.dedupe, expectedDedupe, `resolve.dedupe in ${filename}`);
347349
expectArrayEqual(
348350
config.resolve.mainFields,
349-
['svelte', 'browser', 'module', 'jsnext:main', 'jsnext'],
351+
['svelte', ...defaultClientMainFields],
350352
`resolve.mainFields in ${filename}`
351353
);
352354
expectArrayEqual(
353355
config.resolve.conditions,
354-
['svelte'],
356+
[...defaultClientConditions, 'svelte'],
355357
`resolve.conditions in ${filename}`
356358
);
357359
}

packages/e2e-tests/kit-node/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
"svelte-i18n": "^4.0.1",
2323
"tiny-glob": "^0.2.9",
2424
"typescript": "^5.6.3",
25-
"vite": "^5.4.11"
25+
"vite": "^6.0.0-beta.10"
2626
},
2727
"type": "module"
2828
}

packages/e2e-tests/package-json-svelte-field/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
"@sveltejs/vite-plugin-svelte": "workspace:^",
1616
"sass": "^1.81.0",
1717
"svelte": "^5.2.4",
18-
"vite": "^5.4.11"
18+
"vite": "^6.0.0-beta.10"
1919
},
2020
"type": "module"
2121
}

packages/e2e-tests/prebundle-svelte-deps/package.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,15 @@
1212
"e2e-test-dep-svelte-api-only": "file:../_test_dependencies/svelte-api-only",
1313
"e2e-test-dep-svelte-exports-simple": "file:../_test_dependencies/svelte-exports-simple",
1414
"e2e-test-dep-svelte-hybrid": "file:../_test_dependencies/svelte-hybrid",
15+
"e2e-test-dep-svelte-module": "file:../_test_dependencies/svelte-module",
1516
"e2e-test-dep-svelte-nested": "file:../_test_dependencies/svelte-nested",
16-
"e2e-test-dep-svelte-simple": "file:../_test_dependencies/svelte-simple",
17-
"e2e-test-dep-svelte-module": "file:../_test_dependencies/svelte-module"
17+
"e2e-test-dep-svelte-simple": "file:../_test_dependencies/svelte-simple"
1818
},
1919
"devDependencies": {
2020
"@sveltejs/vite-plugin-svelte": "workspace:^",
2121
"sass": "^1.81.0",
2222
"svelte": "^5.2.4",
2323
"svelte-preprocess": "^6.0.3",
24-
"vite": "^5.4.11"
24+
"vite": "^6.0.0-beta.10"
2525
}
2626
}

packages/e2e-tests/preprocess-with-vite/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
"sass": "^1.81.0",
1313
"stylus": "^0.64.0",
1414
"svelte": "^5.2.4",
15-
"vite": "^5.4.11"
15+
"vite": "^6.0.0-beta.10"
1616
},
1717
"type": "module"
1818
}

packages/e2e-tests/resolve-exports-svelte/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,6 @@
1414
"devDependencies": {
1515
"@sveltejs/vite-plugin-svelte": "workspace:^",
1616
"svelte": "^5.2.4",
17-
"vite": "^5.4.11"
17+
"vite": "^6.0.0-beta.10"
1818
}
1919
}

packages/e2e-tests/scan-deps/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,6 @@
1111
"devDependencies": {
1212
"@sveltejs/vite-plugin-svelte": "workspace:^",
1313
"svelte": "^5.2.4",
14-
"vite": "^5.4.11"
14+
"vite": "^6.0.0-beta.10"
1515
}
1616
}

packages/e2e-tests/svelte-preprocess/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
"svelte": "^5.2.4",
1414
"svelte-preprocess": "^6.0.3",
1515
"typescript": "^5.6.3",
16-
"vite": "^5.4.11"
16+
"vite": "^6.0.0-beta.10"
1717
},
1818
"type": "module"
1919
}

packages/e2e-tests/ts-type-import/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
"@types/node": "^22.9.1",
1414
"svelte": "^5.2.4",
1515
"svelte-preprocess": "^6.0.3",
16-
"vite": "^5.4.11"
16+
"vite": "^6.0.0-beta.10"
1717
},
1818
"type": "module"
1919
}

packages/e2e-tests/vite-ssr-esm/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,6 @@
2121
"npm-run-all2": "^7.0.1",
2222
"serve-static": "^1.16.2",
2323
"svelte": "^5.2.4",
24-
"vite": "^5.4.11"
24+
"vite": "^6.0.0-beta.10"
2525
}
2626
}

packages/playground/basic/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,6 @@
1212
"@sveltejs/vite-plugin-svelte": "workspace:^",
1313
"e2e-test-dep-svelte-module": "workspace:^",
1414
"svelte": "^5.2.4",
15-
"vite": "^5.4.11"
15+
"vite": "^6.0.0-beta.10"
1616
}
1717
}

packages/playground/big-component-library-kit/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
"svelte-check": "^4.0.9",
2222
"svelte-preprocess": "^6.0.3",
2323
"typescript": "^5.6.3",
24-
"vite": "^5.4.11"
24+
"vite": "^6.0.0-beta.10"
2525
},
2626
"type": "module"
2727
}

packages/playground/big-component-library-vite-ssr/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,6 @@
2424
"lodash-es": "^4.17.21",
2525
"svelte": "^5.2.4",
2626
"svelte-preprocess": "^6.0.3",
27-
"vite": "^5.4.11"
27+
"vite": "^6.0.0-beta.10"
2828
}
2929
}

packages/playground/big-component-library/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
"carbon-preprocess-svelte": "^0.11.7",
1616
"svelte": "^5.2.4",
1717
"svelte-preprocess": "^6.0.3",
18-
"vite": "^5.4.11"
18+
"vite": "^6.0.0-beta.10"
1919
},
2020
"dependencies": {
2121
"lodash-es": "^4.17.21"

packages/playground/big/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,6 @@
1111
"devDependencies": {
1212
"@sveltejs/vite-plugin-svelte": "workspace:^",
1313
"svelte": "^5.2.4",
14-
"vite": "^5.4.11"
14+
"vite": "^6.0.0-beta.10"
1515
}
1616
}

packages/playground/kit-demo-app/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
"svelte": "^5.2.4",
1919
"svelte-check": "^4.0.9",
2020
"typescript": "^5.6.3",
21-
"vite": "^5.4.11"
21+
"vite": "^6.0.0-beta.10"
2222
},
2323
"type": "module"
2424
}

packages/playground/optimizedeps-include/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,6 @@
1212
"@sveltejs/vite-plugin-svelte": "workspace:^",
1313
"svelte": "^5.2.4",
1414
"tinro": "^0.6.12",
15-
"vite": "^5.4.11"
15+
"vite": "^6.0.0-beta.10"
1616
}
1717
}

packages/vite-plugin-svelte-inspector/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,6 @@
5151
"devDependencies": {
5252
"@types/debug": "^4.1.12",
5353
"svelte": "^5.2.4",
54-
"vite": "^5.4.11"
54+
"vite": "^6.0.0-beta.10"
5555
}
5656
}

packages/vite-plugin-svelte/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,6 @@
5757
"esbuild": "^0.24.0",
5858
"sass": "^1.81.0",
5959
"svelte": "^5.2.4",
60-
"vite": "^5.4.11"
60+
"vite": "^6.0.0-beta.10"
6161
}
6262
}

packages/vite-plugin-svelte/src/index.js

+13-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,9 @@ import {
1010
validateInlineOptions,
1111
resolveOptions,
1212
patchResolvedViteConfig,
13-
preResolveOptions
13+
preResolveOptions,
14+
ensureConfigEnvironmentMainFields,
15+
ensureConfigEnvironmentConditions
1416
} from './utils/options.js';
1517
import { ensureWatchedFile, setupWatchers } from './utils/watch.js';
1618
import { toRollupError } from './utils/error.js';
@@ -64,6 +66,16 @@ export function svelte(inlineOptions) {
6466
return extraViteConfig;
6567
},
6668

69+
configEnvironment(name, config, opts) {
70+
ensureConfigEnvironmentMainFields(name, config, opts);
71+
// @ts-expect-error the function above should make `resolve.mainFields` non-nullable
72+
config.resolve.mainFields.unshift('svelte');
73+
74+
ensureConfigEnvironmentConditions(name, config, opts);
75+
// @ts-expect-error the function above should make `resolve.conditions` non-nullable
76+
config.resolve.conditions.push('svelte');
77+
},
78+
6779
async configResolved(config) {
6880
options = resolveOptions(options, config, cache);
6981
patchResolvedViteConfig(config, options);

packages/vite-plugin-svelte/src/utils/constants.js

-4
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,5 @@
11
import { createRequire } from 'node:module';
22

3-
export const VITE_RESOLVE_MAIN_FIELDS = ['browser', 'module', 'jsnext:main', 'jsnext'];
4-
5-
export const SVELTE_RESOLVE_MAIN_FIELDS = ['svelte'];
6-
73
export const SVELTE_IMPORTS = Object.entries(
84
createRequire(import.meta.url)('svelte/package.json').exports
95
)

0 commit comments

Comments
 (0)