Skip to content

Commit 7f13bf9

Browse files
authored
fix: do not initialize abstract property / accessor (#15344)
1 parent f7e231f commit 7f13bf9

10 files changed

Lines changed: 16 additions & 7 deletions

File tree

packages/babel-plugin-transform-typescript/src/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,8 @@ export default declare((api, opts: Options) => {
160160
path.remove();
161161
}
162162
}
163+
} else if (node.abstract) {
164+
path.remove();
163165
} else if (!process.env.BABEL_8_BREAKING) {
164166
if (
165167
!allowDeclareFields &&
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
abstract class A {
2+
abstract prop: string;
3+
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"plugins": [["transform-typescript", { "allowDeclareFields": false }]]
3+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
class A {}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
abstract class A {
2+
abstract prop: string;
3+
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"plugins": [["transform-typescript", { "allowDeclareFields": true }]]
3+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
class A {}

packages/babel-plugin-transform-typescript/test/fixtures/class/accessor-allowDeclareFields-false/output.js

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,8 @@ class Foo {
44
accessor #prop3 = 1;
55
accessor [prop4] = 1;
66
accessor prop5 = 1;
7-
accessor prop6;
87
accessor #p;
98
accessor a;
109
accessor aa;
11-
accessor #s;
12-
accessor f = 1;
1310
accessor g;
1411
}

packages/babel-plugin-transform-typescript/test/fixtures/class/accessor-allowDeclareFields-true-babel-7/output.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,4 @@ class Foo {
44
accessor #prop3 = 1;
55
accessor [prop4] = 1;
66
accessor prop5 = 1;
7-
accessor f = 1;
87
}

packages/babel-plugin-transform-typescript/test/fixtures/class/accessor-allowDeclareFields-true/output.js

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,8 @@ class Foo {
44
accessor #prop3 = 1;
55
accessor [prop4] = 1;
66
accessor prop5 = 1;
7-
accessor prop6;
87
accessor #p;
98
accessor a;
109
accessor aa;
11-
accessor #s;
12-
accessor f = 1;
1310
accessor g;
1411
}

0 commit comments

Comments
 (0)