Skip to content

Commit e037e8f

Browse files
authored
feat!: reintroduce custom svelte/ssr resolve as vite 4 had to revert the change we needed to make that step (#532)
1 parent e1a78e0 commit e037e8f

File tree

2 files changed

+26
-0
lines changed

2 files changed

+26
-0
lines changed

.changeset/short-clouds-build.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': major
3+
---
4+
5+
reintroduce custom svelte/ssr resolve

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

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import {
1818

1919
import { ensureWatchedFile, setupWatchers } from './utils/watch';
2020
import { resolveViaPackageJsonSvelte } from './utils/resolve';
21+
import { PartialResolvedId } from 'rollup';
2122
import { toRollupError } from './utils/error';
2223
import { saveSvelteMetadata } from './utils/optimizer';
2324
import { svelteInspector } from './ui/inspector/plugin';
@@ -46,7 +47,9 @@ export function svelte(inlineOptions?: Partial<Options>): Plugin[] {
4647
let viteConfig: ResolvedConfig;
4748
/* eslint-disable no-unused-vars */
4849
let compileSvelte: CompileSvelte;
50+
/* eslint-enable no-unused-vars */
4951

52+
let resolvedSvelteSSR: Promise<PartialResolvedId | null>;
5053
const api: PluginAPI = {};
5154
const plugins: Plugin[] = [
5255
{
@@ -133,6 +136,24 @@ export function svelte(inlineOptions?: Partial<Options>): Plugin[] {
133136
}
134137
}
135138

139+
if (ssr && importee === 'svelte') {
140+
if (!resolvedSvelteSSR) {
141+
resolvedSvelteSSR = this.resolve('svelte/ssr', undefined, { skipSelf: true }).then(
142+
(svelteSSR) => {
143+
log.debug('resolved svelte to svelte/ssr');
144+
return svelteSSR;
145+
},
146+
(err) => {
147+
log.debug(
148+
'failed to resolve svelte to svelte/ssr. Update svelte to a version that exports it',
149+
err
150+
);
151+
return null; // returning null here leads to svelte getting resolved regularly
152+
}
153+
);
154+
}
155+
return resolvedSvelteSSR;
156+
}
136157
//@ts-expect-error scan
137158
const scan = !!opts?.scan; // scanner phase of optimizeDeps
138159
const isPrebundled =

0 commit comments

Comments
 (0)