Skip to content

Commit 21dadfc

Browse files
authored
fix: ignore typescript abstract methods during code transformation (#15267)
1 parent 23ecc36 commit 21dadfc

File tree

3 files changed

+16
-0
lines changed

3 files changed

+16
-0
lines changed

.changeset/short-fireants-talk.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'svelte': patch
3+
---
4+
5+
fix: ignore typescript abstract methods

packages/svelte/src/compiler/phases/1-parse/remove_typescript_nodes.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,12 @@ const visitors = {
118118
delete node.implements;
119119
return context.next();
120120
},
121+
MethodDefinition(node, context) {
122+
if (node.abstract) {
123+
return b.empty;
124+
}
125+
return context.next();
126+
},
121127
VariableDeclaration(node, context) {
122128
if (node.declare) {
123129
return b.empty;

packages/svelte/tests/runtime-runes/samples/typescript/main.svelte

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,11 @@
2222
2323
class MyClass implements Hello {}
2424
25+
abstract class MyAbstractClass {
26+
abstract x(): void;
27+
y() {}
28+
}
29+
2530
declare const declared_const: number;
2631
declare function declared_fn(): void;
2732
declare class declared_class {

0 commit comments

Comments
 (0)