Skip to content

Commit 9509066

Browse files
generate: 'client' | 'server' (#785)
* generate client/server * changeset * chore: ignore type error for now * chore: fix audit check --------- Co-authored-by: Rich Harris <[email protected]> Co-authored-by: dominikg <[email protected]>
1 parent cda2e30 commit 9509066

File tree

6 files changed

+61
-54
lines changed

6 files changed

+61
-54
lines changed

.changeset/eleven-hats-search.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@sveltejs/vite-plugin-svelte': patch
3+
---
4+
5+
feat: support Svelte 5 compiler API

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
"devDependencies": {
1414
"@sveltejs/vite-plugin-svelte": "workspace:^",
1515
"autoprefixer": "^10.4.15",
16-
"postcss": "^8.4.29",
16+
"postcss": "^8.4.31",
1717
"postcss-load-config": "^4.0.1",
1818
"svelte": "^4.2.0",
1919
"svelte-preprocess": "^5.0.4",

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -298,7 +298,7 @@ export function svelte(inlineOptions) {
298298
try {
299299
// @ts-ignore doesn't exist in Svelte 4
300300
const compileResult = await svelteCompiler.compileModule(code, {
301-
generate: ssr ? 'ssr' : 'dom',
301+
generate: isSvelte5 ? (ssr ? 'server' : 'client') : ssr ? 'ssr' : 'dom',
302302
filename: moduleRequest.filename
303303
});
304304
logCompilerWarnings(moduleRequest, compileResult.warnings, options);

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

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import { mapToRelative } from './sourcemaps.js';
99

1010
const scriptLangRE = /<script [^>]*lang=["']?([^"' >]+)["']?[^>]*>/;
1111

12-
import { isSvelte3 } from './svelte-version.js';
12+
import { isSvelte3, isSvelte5 } from './svelte-version.js';
1313

1414
/**
1515
* @param {Function} [makeHot]
@@ -53,7 +53,8 @@ export const _createCompileSvelte = (makeHot) => {
5353
const compileOptions = {
5454
...options.compilerOptions,
5555
filename,
56-
generate: ssr ? 'ssr' : 'dom'
56+
// @ts-expect-error generate type is different for svelte5
57+
generate: isSvelte5 ? (ssr ? 'server' : 'client') : ssr ? 'ssr' : 'dom'
5758
};
5859
if (isSvelte3) {
5960
// @ts-ignore

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

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ async function compileSvelte(options, { filename, code }, statsCollection) {
6565
// @ts-ignore doesn't exist in Svelte 4
6666
const compiled = svelte.compileModule(code, {
6767
filename,
68-
generate: 'dom',
68+
generate: isSvelte5 ? 'client' : 'dom',
6969
runes: true
7070
});
7171
if (endStat) {
@@ -86,7 +86,8 @@ async function compileSvelte(options, { filename, code }, statsCollection) {
8686
...options.compilerOptions,
8787
css,
8888
filename,
89-
generate: 'dom'
89+
// @ts-expect-error generate type is different for svelte5
90+
generate: isSvelte5 ? 'client' : 'dom'
9091
};
9192
if (isSvelte3) {
9293
// @ts-ignore

0 commit comments

Comments
 (0)