From 079f88b9c80e9945ea91c28cae014fd8cea022d6 Mon Sep 17 00:00:00 2001 From: Simon Holthausen Date: Sun, 3 Nov 2024 13:13:37 +0100 Subject: [PATCH] fix: ensure correct options for Svelte 3/4 - pass dom/ssr instead of client/server for `generate` - don't pass `modernAst`, will crash the whole view with an "unknown option" error --- packages/editor/src/lib/compile-worker/worker.ts | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/packages/editor/src/lib/compile-worker/worker.ts b/packages/editor/src/lib/compile-worker/worker.ts index 06d79f314d..6a82a0a3ea 100644 --- a/packages/editor/src/lib/compile-worker/worker.ts +++ b/packages/editor/src/lib/compile-worker/worker.ts @@ -71,12 +71,20 @@ addEventListener('message', async (event) => { let result: CompileResult; if (file.name.endsWith('.svelte')) { - result = self.svelte.compile(file.contents, { - generate: options.generate, // TODO do we need to adjust this for 3/4? + const is_svelte_3_or_4 = !self.svelte.compileModule; + const compilerOptions: any = { + generate: is_svelte_3_or_4 + ? options.generate === 'client' + ? 'dom' + : 'ssr' + : options.generate, dev: options.dev, - modernAst: options.modernAst, filename: file.name - }); + }; + if (!is_svelte_3_or_4) { + compilerOptions.modernAst = options.modernAst; // else Svelte 3/4 will throw an "unknown option" error + } + result = self.svelte.compile(file.contents, compilerOptions); } else { result = self.svelte.compileModule(file.contents, { generate: options.generate,