From b72fd2b3cd2fafc3c63454f027da90da7b432052 Mon Sep 17 00:00:00 2001 From: Simon H <5968653+dummdidumm@users.noreply.github.com> Date: Mon, 2 Dec 2024 21:08:01 +0100 Subject: [PATCH] fix: ignore TypeScript generics on variables (#14509) fixes #14505 --- .changeset/wild-islands-help.md | 5 +++++ .../src/compiler/phases/1-parse/remove_typescript_nodes.js | 3 +++ .../tests/runtime-runes/samples/typescript/main.svelte | 4 +++- 3 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 .changeset/wild-islands-help.md diff --git a/.changeset/wild-islands-help.md b/.changeset/wild-islands-help.md new file mode 100644 index 0000000000..5386e5d6b1 --- /dev/null +++ b/.changeset/wild-islands-help.md @@ -0,0 +1,5 @@ +--- +'svelte': patch +--- + +fix: ignore TypeScript generics on variables diff --git a/packages/svelte/src/compiler/phases/1-parse/remove_typescript_nodes.js b/packages/svelte/src/compiler/phases/1-parse/remove_typescript_nodes.js index 8db29ab067..b968e95213 100644 --- a/packages/svelte/src/compiler/phases/1-parse/remove_typescript_nodes.js +++ b/packages/svelte/src/compiler/phases/1-parse/remove_typescript_nodes.js @@ -104,6 +104,9 @@ const visitors = { } return context.visit(node.parameter); }, + TSInstantiationExpression(node, context) { + return context.visit(node.expression); + }, FunctionExpression: remove_this_param, FunctionDeclaration: remove_this_param, TSDeclareFunction() { diff --git a/packages/svelte/tests/runtime-runes/samples/typescript/main.svelte b/packages/svelte/tests/runtime-runes/samples/typescript/main.svelte index 8a3db5dead..3b98dafa05 100644 --- a/packages/svelte/tests/runtime-runes/samples/typescript/main.svelte +++ b/packages/svelte/tests/runtime-runes/samples/typescript/main.svelte @@ -8,7 +8,7 @@ console.log(this); } - class Foo { + class Foo { public name: string; x = 'x' as const; constructor(name: string) { @@ -32,6 +32,8 @@ export function overload(c: any): any {} export type { Hello }; + + const TypedFoo = Foo;