Skip to content

Commit 7fb2f17

Browse files
authored
fix: ensure correct options for Svelte 3/4 (#784)
- pass dom/ssr instead of client/server for `generate` - don't pass `modernAst`, will crash the whole view with an "unknown option" error
1 parent 6bbd883 commit 7fb2f17

File tree

1 file changed

+12
-4
lines changed
  • packages/editor/src/lib/compile-worker

1 file changed

+12
-4
lines changed

packages/editor/src/lib/compile-worker/worker.ts

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -71,12 +71,20 @@ addEventListener('message', async (event) => {
7171
let result: CompileResult;
7272

7373
if (file.name.endsWith('.svelte')) {
74-
result = self.svelte.compile(file.contents, {
75-
generate: options.generate, // TODO do we need to adjust this for 3/4?
74+
const is_svelte_3_or_4 = !self.svelte.compileModule;
75+
const compilerOptions: any = {
76+
generate: is_svelte_3_or_4
77+
? options.generate === 'client'
78+
? 'dom'
79+
: 'ssr'
80+
: options.generate,
7681
dev: options.dev,
77-
modernAst: options.modernAst,
7882
filename: file.name
79-
});
83+
};
84+
if (!is_svelte_3_or_4) {
85+
compilerOptions.modernAst = options.modernAst; // else Svelte 3/4 will throw an "unknown option" error
86+
}
87+
result = self.svelte.compile(file.contents, compilerOptions);
8088
} else {
8189
result = self.svelte.compileModule(file.contents, {
8290
generate: options.generate,

0 commit comments

Comments
 (0)