@@ -20,7 +20,11 @@ export default declare(function removeApiCalls(
20
20
name : `remove-api` ,
21
21
visitor : {
22
22
Program : {
23
- exit ( path ) : void {
23
+ exit ( path , state ) : void {
24
+ if ( ! state . apiRemoved ) {
25
+ return
26
+ }
27
+
24
28
// babel doesn't remove references very well so we loop until nothing gets removed
25
29
let removed = false
26
30
@@ -90,7 +94,7 @@ export default declare(function removeApiCalls(
90
94
} ,
91
95
92
96
// Remove export statements
93
- ExportNamedDeclaration ( path ) : void {
97
+ ExportNamedDeclaration ( path , state ) : void {
94
98
const declaration = path . node . declaration
95
99
96
100
if ( t . isExportNamedDeclaration ( path . node ) ) {
@@ -126,12 +130,13 @@ export default declare(function removeApiCalls(
126
130
}
127
131
128
132
if ( apiToCheck && apisToRemove . includes ( apiToCheck ) ) {
133
+ state . apiRemoved = true
129
134
path . remove ( )
130
135
}
131
136
} ,
132
137
133
138
// remove exports
134
- ExpressionStatement ( path ) : void {
139
+ ExpressionStatement ( path , state ) : void {
135
140
if (
136
141
! t . isAssignmentExpression ( path . node . expression ) ||
137
142
! t . isMemberExpression ( path . node . expression . left ) ||
@@ -143,6 +148,7 @@ export default declare(function removeApiCalls(
143
148
const apiToCheck = ( path . node . expression . left . property as t . Identifier )
144
149
. name
145
150
if ( apiToCheck && apisToRemove . includes ( apiToCheck ) ) {
151
+ state . apiRemoved = true
146
152
path . remove ( )
147
153
}
148
154
} ,
0 commit comments