diff --git a/.changeset/wet-lamps-dress.md b/.changeset/wet-lamps-dress.md new file mode 100644 index 000000000..7bcb03fc7 --- /dev/null +++ b/.changeset/wet-lamps-dress.md @@ -0,0 +1,5 @@ +--- +'svelte-language-server': patch +--- + +fix: support experimental feature in "Show compiled Code" diff --git a/packages/language-server/src/plugins/svelte/SveltePlugin.ts b/packages/language-server/src/plugins/svelte/SveltePlugin.ts index 70e00e9a0..3ac797f4d 100644 --- a/packages/language-server/src/plugins/svelte/SveltePlugin.ts +++ b/packages/language-server/src/plugins/svelte/SveltePlugin.ts @@ -110,8 +110,13 @@ export class SveltePlugin async getCompiledResult(document: Document): Promise { try { const svelteDoc = await this.getSvelteDoc(document); - // @ts-ignore is 'client' in Svelte 5 - return svelteDoc.getCompiledWith({ generate: 'dom' }); + const options: any = { generate: 'dom' }; // 'client' in Svelte 5 + // @ts-ignore Svelte 5 only; we gotta write it like this else Svelte 4 fails on unknown key + if (document.config?.compilerOptions?.experimental) { + // @ts-ignore Svelte 5 only + options.experimental = document.config.compilerOptions.experimental; + } + return await svelteDoc.getCompiledWith(options); } catch (error) { return null; }