Skip to content

Commit 7ddad47

Browse files
authored
fix: TS plugin shouldn't remove #privateField! (#14890)
1 parent 2626f18 commit 7ddad47

5 files changed

Lines changed: 13 additions & 2 deletions

File tree

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

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,11 @@ export default declare((api, opts: Options) => {
124124
if (!process.env.BABEL_8_BREAKING) {
125125
// keep the definitely assigned fields only when `allowDeclareFields` (equivalent of
126126
// Typescript's `useDefineForClassFields`) is true
127-
if (!allowDeclareFields && !node.decorators) {
127+
if (
128+
!allowDeclareFields &&
129+
!node.decorators &&
130+
!t.isClassPrivateProperty(node)
131+
) {
128132
path.remove();
129133
}
130134
}
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
11
class A {
22
x!;
3+
4+
#y!;
35
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
class A {
22
x;
3+
#y;
34
}
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
11
class A {
22
x!;
3+
4+
#y!;
35
}
Original file line numberDiff line numberDiff line change
@@ -1 +1,3 @@
1-
class A {}
1+
class A {
2+
#y;
3+
}

0 commit comments

Comments
 (0)